uas$control$segment$(ucs )$ architecture …openautonomy.org/pdfs/ucs101_technical_overview.pdf ·...

Post on 31-Jan-2018

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UAS$Control$Segment$(UCS)$ArchitectureRelease$3.4UCS101

Technical$Overview

Jim$AlbersFastpilot,$Inc.

jalbers@fastpilot.comSome%diagrams%and%examples%from%UCS%Architecture%Release%3.4,%Distribution%A,%15AS1859.

Except%where%otherwise%noted,%you%may%use%and%redistribute%this%content%as%you%wish%according%to%the%Creative%Commons%Attribution%4.0%International%license.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$101$Technical$Overview• Downloading*UCS*Architecture*Release*3.4• UCS*Service*Oriented*Architecture*(SOA)• UCS*Conceptual*and*Logical*Model*(PIM)• Walkthrough*of*the*UCS*ICD*Logical*Model• Service*Model• Message*Model• Data*Model• PrimitiveTypesand*Constrained*PrimitiveTypes• Measurements*and*CoordinateTuples

• UCS*Product*examples:• UCS*Component*–VehicleFlightStatusservice*provider• UCS*Component*–VehicleFlightStatusservice*consumer• Backup*material

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Downloading$UCS$Architecture$Release$3.4

https://www.sae.org/servlets/works/committeeHome.do?comtID=TEAAS4UCS

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Service$Oriented$Architecture$(SOA)• As$a$Service$Oriented$Architecture$(SOA),$defines$services$as$points$

of$conformance,$where$services:• are*capabilities* provided*or*required*by*a*UCS*product• that*effect*the*realVworld,*and*• are*accessed* via*service* interfaces*through*which*messages* are*

exchanged*according*to*an*information*model*and*message* exchange*protocol

• The$UCS$SOA$consists$of:• Service$Model:$specifies* ServiceInterfaces that*indentify a*set*of*

Interfaces required*by*Participants,*defining*how*messages* are*exchanged.

• Message$Model:$specifies*Messages exchanged*across*interfaces*between* providers*and*consumers*of*a*service.

• Data$Model$that*specifies* the*content*and*logical*structure*of*data*elements* exchanged*by*value*or*referenced*by*messages.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

The$UCS$SOA:• Avoids*constraints*on*component*architecture,• Complements*component*and*deployment*architectures*like*those*

specified*by*FACE.• Allows*integration*of*legacy*systems*and*new*systems*based*strictly*on*

exposing*capabilities*(services)*via*wellVdefined*service*interfaces.• Conforms*to*established*OASIS*Reference*Model*via*a*subset*of*the*

OMG*SOA*Modeling*Language*(SoaML)*profile*for*UML.• See*UCSVSPECVTECHGOV*for*details*on*UCS*use*of*SoaMLconcepts*

and*metamodel.• See*Appendix*A*in*the*OMG*SoaMLspecification*for*detailed*

mapping*of*SoaMLv1.0.1*to*the*OASIS*Reference*Model.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Conceptual$and$Logical$Models• UCSVSPECVPIM*contains*both*a*Conceptual*Model*and*a*Logical*Model.

• The*Conceptual*Model*has*high*level*data*abstractions* like*“observables”:*Time*and*Mass,*and*service*and*message*models* that*reference*these*highVlevel*abstractions.

• The*Logical*Model* is*the*Platform*Independent* Model*(PIM)*that* ‘realizes’*the*abstract*data*concepts* to*a*level*at*which*conformant*interfaces*can*be*designed* and*implemented.* **For*example,* logical*realization* involves*setting*data*units*and*precision.

• The*Conceptual*Model* is*transformed*into*the*Logical*Model*to*produce*the*UCS*Interface*Control*Document*(ICD)*in*its*text*and*ICD*logical*model*forms.

• UCS*Architecture*Conformance* is*assessed* at*the* ICD*Logical*Level.

• Conformance*claims*may*reference*the*traditional*text*/*tabular*ICD*document*or*the* ICD*Logical*Models* (EA,*Rhapsody,*RSA).

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Use$the$UCSNINFNICDN*$models.Use$the$UCSNINFNICDN*$models$to$design$and$build$UCS$Architecture$conformant$products.• Use UCSVSPECVMODEL*if*you*are*working*on*the*next*release* of*the*UCS*

Architecture,*or*using*the*UCS*Architecture*for*some*nonVUCS*purpose.• UCSVSPECVMODEL*is*the*factory:*with*complex*assembly* jigs,*scaffolding,*

wiring,*and*production*processes.• The*UCS*Logical/ICD*Model* in*UCSVSPECVMODEL*is*an*intermediate* form*of*the*

UCS*Logical/ICD*model*that*contains*nonVUCS*service*content*and*inherits*some*UML2*issues* from*upstream*models.

• The*UCSVINFVICDVEA,*UCSVINFVICDVRPY*(Rhapsody),*and*UCSVINFVICDVRSA*(Rational* Software*Architect)*models* are*all*equivalent** and*referentially*complete.

The$UCSNINFNICD$document$and$the$UCSNINFNICDN*$models$form$the$basis$for$UCS$Compliance.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Conceptual$and$Logical$Model$Relationships

(UCS%Conceptual%and%Logical%Services%Model%differ%only%by%message%type,%so%are%not%shown%here.)

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Conceptual$/$Logical$relationships.$$It’s$Complicated.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

The$UCS$ICD$Model:$Breaking$it$down.$$• Services$Model$(a.k.a.*Domain*Participant*Model)

• Participants– roles*relevant*to*service:**client,*server,*mediator,*proxy,*etc.

• Interfaces V interfaces*by*which*Participants*interact• ServiceInterfaces– set*of*interfaces*required*to*employ*a*service*

plus*protocol

• Message$Model$– definition*of*messages*exchanged*over*ServiceInterfaceInterfaces

• Data$Model$– data*referenced*in*Interface*messages

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCSNSPECNMODEL$vs.$UCSNINFNICDN*

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Service$Model$Overview• For*historical*reasons*the*Service*Model* is*labeled* “Domain*Participant*Model”

• Defines*UCS*SOA*ServiceInterfaces* and*(some*of)*the*roles*participants* must*play*as*clients,*servers,*proxies,*mediators,*etc.

• All*bidirectional* interaction*requires*two*service* interfaces.* *One*is*the*‘conjugate’*and*is*noted*with*a*tilde* ‘~’*prefix.

• All*interactions* are*via*asynchronous*messages.* *This*allows*support*for*many*kinds*of*message* exchange*patterns*(MEPs).***Request/Response*,*Command/Status*,* Publish/Subscribe,* etc.

• Therefore,*interpret*all UCS*service* interface*operations*as*’receptions'* for*asynchronous*messages.* (Early*UCS*modeling* used*UML*synchronous*operations,*and*that*stuck.)

• UCS*uses*the*OMG*SOA*Modeling* Language*(SoaML),*which*realizes*the*OASIS*SOA*Reference*Architecture.

UCS&Service&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Service$ExampleUCS&Service&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Service$Protocol$Example

• In%UCS%R3.4%protocols%are%specified%using%UML%Activity%diagrams.• This%example%shows%that%VehicleFlightControl%service%supports%familiar%‘call%semantics’%using%a%pair%of%request/response%interfaces.

• In%R3.3%a%sessionID%attribute%was%added%to%all%messages%to%support%stateful%protocols.%%Use%it.

UCS&Service&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Logical$Message$Model$Overview• Each*UCS*Service*‘operation’*is*an*event*reception*for*a*UCS*

MessageTypeelement.• UCS*Messages*have*explicit*derivations*from*the*domain*data*model,*

given*by*Projection*and*refinement*in*the*UCSVSPECVMODEL,*and*captured*in*the*Logical*Message*Model*‘projection’*constraints.

• UCS$Messages$are$NOT$persistent,$they*exist*only*for*the*duration*of*a*data*exchange.

• UCS*Messages*can*not*be*referenced*by*any*other*messages*or*data.• Persistent*‘messages’*are*really*domain*entities*like*Commands,*

Requests,*Statuses*and*must*be*represented*by*persistent*domain*data*elements*so*they*can*be*queued,*referenced,*etc.

• Note*the*abstract*type*UCSPersistentViewand*its*specializations*in*the*Data*Model.

UCS&Logical&Message&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS&Logical&Message&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Logical$Data$Model$Overview• PrimitiveTypes• PlatformVindependent*Real,*Integer,*String,*Boolean.*(UML*PrimitiveTypes*plus*Real)

• UCS$ConstrainedTypes• PrimitiveTypes*with*metadata:*precision,*units,*etc.*(extended*UML*PrimitiveType)• Stereotyped*by*base*PrimitiveType*<<Real>>,* <<String>>,* etc.• <<Coordinate>>* is*a*special*Real*PrimitiveType*used*in*CoordinateTuples.

• DataTypes• Composite*types*that*don’t*have*identity*(UML*DataType)• Have*attributes,*but*no*Associations.

• UCS <<Measurement>>$and$<<CoordinateTuple>>$DataTypes• Entities• Composite*types*with*identity*(UML*Class)• Have*Attributes*and*Associations.

SAE%ASA4%UCS%A UCS101

UCS&Logical&Data&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$ConstrainedTypes

SAE%ASA4%UCS%A UCS101

UCS&Logical&Data&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Measurements$and$CoordinateTuple$DataTypes

SAE%ASA4%UCS%A UCS101

UCS%logical%data%model%elements%have%data%that%specifies%all%instances%of%a%type.%%This%data%is%also%called%‘type%invariant’%data%since%the%data%is%invariant%for%all%instances.

UCS*Measurements*are%data%elements%used%to%store%the%observed%state%of%a%conceptual%Observable.

UCS*CoordinateTuples*are%data%elements%that%provide%“spatial%referencing%via%coordinates”%per%the%Open%Geospatial%Abstract%Specification%2.1.

Structurally,%Measurements%and%CoordinateTuples%are%similar%and%likely%to%be%merged%per%XDAF.

UCS&Logical&Data&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$CoordinateTuple$with$CRSUCS&Logical&Data&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Compound$CRS$ExampleUCS&Logical&Data&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Measurement$Example

Conceptual%Model

Logical%Data%Model

UCS&Logical&Data&Model

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Products:$Components$and$Configurations$of$ComponentsA*UCS*Component:

• Implements*and*exposes*at*least*one*UCS*ServiceInterface* in*at*least*one*role:**producer,*consumer,*mediator,*proxy,*etc.

• Provides*or*requires*all*of*the*interfaces*specified*by*each*ServiceInterface.

• Publishes*a*UCS*Product*Service*Description*that*includes*an*ICD*for*each*implemented*interface.

A*UCS*Configuration:

• Contains*one*or*more*UCS*Components.

• Publishes*a*UCS*Product*Service*Description*that*includes*the*UCS*Produce*Service*Description*for*each*UCS*Component*and*a*Configuration*description*describing*how*the*UCS*Components*are*used*together.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Product$Example$N FlightStatus• Imagine*a*new*reconnaissance*UAV*with*project*name*FarSee.

• The*FarSee*project*commits*to*providing*a*UCS*R3.4*VehicleFlightStatus*provider*service*interface*in*the*delivered*UAV*that*will*interoperate*with*an*UCS*R3.4*VehicleFlightStatus*consumer.

• The*system*integrator*commits*to*implementing*a*UCS*R3.4*~VehicleFlightStatus*consumer*service*interface*in*the*Ground*Control*Station*(GCS)*that*will*interoperate*with*any*UCS*R3.4*VehicleFlightStatus*proviers.

• In*the*operational*system,*there*will*be*at*least*two*UCS*Products,*either*UCS*Components*or*UCS*Configurations,*that:

• Implement*the*~VehicleFlightStatus*consumer*service*interface*on*the*GCS*side.

• Implement*the*VehicleFlightStatus*provider*service*interface*on*the*UAV*side.

• These*UCS*Products*will*provide*UCS*Service*Descriptions*(perhaps*as*an*ICD)*that*allow*the*UAV*provider*and*GCS*integrator*to*use*a*UCS*standard*Flight*Status*capability.

• UCS*Products*may*have*nonVUCS,*proprietary,*or*programVspecific*capabilities*and*interfaces.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

FarSee$Vehicle$Flight$Status$Overview• The%VehicleFlightStatus%provider%service%interfaces%are%exposed%by%system%components%that%may%provide%other%nonAUCS%capabilities.

• Internal%implementation%of%UCS%service%interfaces%is%not%relevant.%%Standard%practices%apply.%%(See%example%in%Backup%Content.)

• This%example%assumes:

• standalone%VehicleFlightStatus%consumer%component%that%supports%a%legacy%interface%on%a%GCS.

• embedded%VehicleFlightStatus%provider%component%within%an%airborne%aircraft%component.

• All%UCS%service%interfaces%must%be%exposed%and%documented%to%for%verification.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

ArgusAirVehicleMonitor%and%FarSeeAirVehicle%components%are%both%UCS%Products,%each%consisting%of%a%single%UCS%Component.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Services$and$InteroperabilityComponents* that*correctly*implement*UCS*Service* Interfaces*on*a*common*operating*platform*(like*FACE),*are*more*likely*to*integrate*at*low*cost*and*interoperate*with*minimal*modifications.

Conformance* is*not*a*guarantee*of*interoperability,* but*the*more*strict*the*conformance*specifications,* and*the*better*the*verification*process,*the*greater*the* likelihood* of*‘plug*and*play.’

In*the*example:

•The*ArgusAirVehicleMonitor can*monitor*any*UAV*that*exposes* a*UCS*Release*3.4*VehicleFlightStatus Service*port*in*the*same*operating*environment.

•The*FarSeeAirVehicle can*be*monitored*by*any*Control*System*component*that*implements* a*UCS*Release* 3.4*VehicleFlightStatus Request* port*in*the*same*operating*environment.

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Backup$Content

• Measurement*and*CoordinateTuple• Measurement*(nonVspatial)*and*CoordinateTuple (spatial)*metatypes• UCS*DataModelUML*Profile*fragment• UCS*Caveats*for*UML*Modelers• UCS*Receptions*Modeled*as*Operations• Interpreting*UCS*ServiceInterfaceReceptions• Protocols:*Activity*Diagrams*vs.*State*Machines.• FACE*Technical*Edition*2.1*versus*UCS*Release*3.4*Data*Model*

Comparison

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Comparison$of$Spatial$and$NonNSpatial$Metatypes.Category$of$data UCS$Metatype$for$spatial$and$

spatiotemporal$quantitiesUCS$Metatypes$for$nonNspatial$quantities

Basic$data Coordinate – a*real*number*with*axis*specifications

UML*PrimitiveType,*or*one*of*Real,$Integer,$String,$Time,$DateTime,$or*Duration, with*constraints.

Composite$data (Every*composite*spatiotemporal*quantity*has*a*reference*frame,*hence*is*modeled*as*a*CoordinateTuple.)

UML$DataTypewith*multiple*attributes,*where*attributes*can*be*Coordinates*or*DataTypes*or*other*constrained*primitive*types.

Composite$value$with$a$reference$frame

CoordinateTuple$ (which*represents*both*an*OGC*CoordinateTuple*and*CoordinateTupleSet).

Measurement

Reference$frame ReferenceFrame – defining*a*CoordinateReferenceSystem

ReferenceFrame

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Measurement$and$CoordinateTuples

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$Caveats$for$UML$ModelersThe*UCS*WG*explicitly* decided* against*establishing* UML2*as*a*requirement.* The*team*tried*to*stay*compliant*as*much*as*possible,* but*there*are*a*few*cases*where*the*UCS*model* cannot*be*interpreted* per*strict*UML2.•There* is*widespread*use*of*attributes*typed*by*Classes.* **However,*the*semantics*of*these* cases*are*NOT*strict*Composition.* **Treat*these*cases* as*oneVway*navigable*associations.•UML2*does*not*recognize*ByVValue*vs.*ByVReference*containment.* **The*EA*and*Rhapsody*models*use*ByVValue*and*ByVReference*containment,*but*this*information* is*lost* in*the*RSA*model.* **[ISSUE:*record*this* in*RSA*stereotype*properties* (tagged*values)].•ServiceInterface Operations should*be*interpreted*as*Receptions.***All*UCS*interfaces*use*asynchronous*signaling* semantics,* NOT*call*semantics.* ***(Protocol*Activity*diagrams*define*the*Message* Exchange*Pattern*(MEP)*for*each*interface,*so*call*semantics* can*be*defined*where*required.)•At*the*Conceptual* level,* the*<<Projection>>* connector*extends*UML*Association,*but*it*does*not*have*UML*Association* semantics.* *(At*the*Logical/ICD* level,* the*<<Projection>>* connector* is*a*UML*Association.)

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

UCS$R3.4$Receptions$Modeled$as$Operations

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Interpreting$UCS$ServiceInterface$Receptions

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Protocols:$$Activity$Diagrams$vs.$State$Machines.

• Protocol%indicates%that%a%getUCSOperationProcedure%signal%arrives%on%the%Operational%Procedure%Request%interface,

• Then,%sequentially/consequentially,%a%sendUCSOperationalProcedure%signal%arrives%on%the%Operational%Procedure%Response%interface.

• This%protocol%provides%simple%“call%semantics”%using%asynch%signals.• What%are%specifics%for%each%role:%requester%(client)%and%responder%(server)?

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Protocols:$$State$Machines

State*machines*allow*for*more*precision* re:*protocol.In*this*example,*we*show*that*the*client*role* is*expected* to*retry*if*a*request*times*out.Timeout*and*retry*are*important*mechanisms* to*prevent*deadlock*or*nonVprogress*on*protocols.(In*R3.2*Release*cycle,* the*UCS*WG*determined* to*use*State*Machines* in*some*future*release.)

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Current$FACE$/$UCS$Conceptual$Data$Model$Alignment• Since*UCS*Release*3.2,*the*UCS*Architecture*aligns*with*the*FACE*Technical*Edition*2.1*Conceptual*

Data*Metamodel.• The*UCS*/*FACE*Alignment*Team*is*collaborating*on*Logical*Data*Metamodel*alignment* for*FACE*

Technical*Edition*3.0*and*next*UCS*release.• FACE*3.0*Logical* level*alignment*has*a*lot*to*do*with*Measurement*and*Coordinate*Reference*

System*discussion*later* in*this*presentation.

SAE%ASA4%UCS%A UCS101

UCS*ICDLogical*

Data*Model

UCSConceptual*Data*Model

Model%TransformsCode%Generation

Model%Export Rhapsody,* RSA

XSD*UML*Profile

IDL,Java,*C++,…

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

FACE$and$UCS$are$complementary• FACE*defines*Common*Operating*Environment*(COE)*for*portable*

applications.

• UCS*defines*common*services*/*capabilities*for*interoperable*applications.

• UCS*does*not*specify*operating*environment,*FACE*is*a*natural*choice.

• FACE*does*not*specify*application*capabilities,*UCS*is*a*natural*choice.

• Key*stakeholders*are*requiring*both*FACE*and*UCS*conformance.

• FACE*and*UCS*align*on*common*data*metamodel (conceptual*now,*logical*future).

• FACE*and*UCS*may*adopt*standards*for*common*content*(e.g.*XDAF*Data*Dictionary).

Fastpilot,*inc 2015,*some*rights*reserved. UCS101&Technical&Overview&– 9/10/2015

Implementing$Service$Interfaces$in$Components

top related