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

38
Fastpilot, inc 2015, some rights reserved. UCS101 Technical Overview – 9/10/2015 UAS Control Segment (UCS) Architecture Release 3.4 UCS101 Technical Overview Jim Albers Fastpilot, Inc. [email protected] Some diagrams and examples from UCS Architecture Release 3.4, Distribution A, 15 AS1859. Except where otherwise noted, you may use and redistribute this content as you wish according to the Creative Commons Attribution 4.0 International license.

Upload: leduong

Post on 31-Jan-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

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

Technical$Overview

Jim$AlbersFastpilot,$Inc.

[email protected]%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.

Page 2: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 3: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 4: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.

Page 5: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.

Page 6: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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).

Page 7: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.

Page 8: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.)

Page 9: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

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

Page 10: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 11: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

UCSNSPECNMODEL$vs.$UCSNINFNICDN*

Page 12: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 13: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

UCS$Service$ExampleUCS&Service&Model

Page 14: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 15: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 16: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

UCS&Logical&Message&Model

Page 17: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 18: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

UCS$ConstrainedTypes

SAE%ASA4%UCS%A UCS101

UCS&Logical&Data&Model

Page 19: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 20: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

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

Page 21: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

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

Page 22: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

UCS$Measurement$Example

Conceptual%Model

Logical%Data%Model

UCS&Logical&Data&Model

Page 23: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.

Page 24: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.

Page 25: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.

Page 26: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.

Page 27: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.

Page 28: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 29: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Page 30: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Measurement$and$CoordinateTuples

Page 31: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.)

Page 32: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

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

Page 33: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Interpreting$UCS$ServiceInterface$Receptions

Page 34: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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)?

Page 35: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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.)

Page 36: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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++,…

Page 37: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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).

Page 38: UAS$Control$Segment$(UCS )$ Architecture …openautonomy.org/pdfs/UCS101_Technical_Overview.pdf · UAS$Control$Segment$(UCS )$ Architecture Release$3.4 UCS101 Technical$Overview Jim$Albers

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

Implementing$Service$Interfaces$in$Components