aixm 5 uml modelling conventions. aixm is gml aixm is an xml exchange standard based on a subset of...

15
AIXM 5 UML Modelling Conventions

Upload: matthew-hardy

Post on 19-Jan-2016

227 views

Category:

Documents


1 download

TRANSCRIPT

AIXM 5 UML Modelling Conventions

AIXM 5 UML Modelling Conventions

AIXM is GMLAIXM is GML

• AIXM is an XML exchange standard based on a subset of GML. Essentially: – AIXM Features are GML features – AIXM Objects are GML objects – AIXM follows the GML object-property

concept

• AIXM is an XML exchange standard based on a subset of GML. Essentially: – AIXM Features are GML features – AIXM Objects are GML objects – AIXM follows the GML object-property

concept

DiagramsDiagrams

• Model uses: – Class diagrams

• features, properties, relationships and inheritance between features

– Package diagrams • split the model into modules and identify

dependencies among sets of classes.

• Model uses: – Class diagrams

• features, properties, relationships and inheritance between features

– Package diagrams • split the model into modules and identify

dependencies among sets of classes.

StereotypesStereotypes

• Stereotypes are used to further define and extend standard UML concepts. – <<feature>>– <<object>>– <<choice>>– <<datatype>>– <<enumeration>> – <<codelist>>

• Stereotypes are used to further define and extend standard UML concepts. – <<feature>>– <<object>>– <<choice>>– <<datatype>>– <<enumeration>> – <<codelist>>

Abstract ClassesAbstract Classes

• Abstract classes are designated by putting the class name in italics.

• An abstract class cannot be realised in an implementation such as an XML document

• Abstract classes are used as base classes in an inheritance hierarchy.

• Abstract classes are designated by putting the class name in italics.

• An abstract class cannot be realised in an implementation such as an XML document

• Abstract classes are used as base classes in an inheritance hierarchy.

AirportHeliport

designator : CodeAirportHeliportDesignatorTypename : TextNameTypelocationIndicatorICAO : CodeICAOTypedesignatorIATA : CodeIATATypetype : CodeAirportHeliportTypeprivate : CodeYesNoTypecontrolType : CodeMilitaryOperationsTypereferencePointDescription : TextDescriptionTypefieldElevation : ValDistanceVerticalTypefieldElevationAccuracy : ValDistanceVerticalTypeverticalDatum : CodeVerticalDatumTypelocationDescription : TextDescriptionTypemagneticVariation : ValMagneticVariationTypedateMagneticVariation : DateYearTypemagneticVariationChange : ValMagneticVariationChangeTypereferenceTemperature : ValTemperatureTypealtimeterCheckLocation : TextDescriptionTypesecondaryPowerSupply : TextDescriptionTypewindDirectionIndicator : TextDescriptionTypelandingDirectionIndicator : TextDescriptionTypetransitionAltitude : ValDistanceVerticalTypetransitionLevel : ValFLTypelowestTemperature : ValTemperatureTypeabandoned : CodeYesNoType

<<feature>>

FeaturesFeatures

• Real World• Fundamental objects• Change in time

• Real World• Fundamental objects• Change in time

 

 

stereotype

ObjectsObjects

• The object has its own attributes that are reused throughout the model

• A property has a multiplicity greater than one

• The object has its own attributes that are reused throughout the model

• A property has a multiplicity greater than one

AirportHeliport

designator : CodeAirportHeliportDesignatorTypename : TextNameTypelocationIndicatorICAO : CodeICAOTypedesignatorIATA : CodeIATATypetype : CodeAirportHeliportTypeprivate : CodeYesNoTypecontrolType : CodeMilitaryOperationsTypereferencePointDescription : TextDescriptionTypefieldElevation : ValDistanceVerticalTypefieldElevationAccuracy : ValDistanceVerticalTypeverticalDatum : CodeVerticalDatumTypelocationDescription : TextDescriptionTypemagneticVariation : ValMagneticVariationTypedateMagneticVariation : DateYearTypemagneticVariationChange : ValMagneticVariationChangeTypereferenceTemperature : ValTemperatureTypealtimeterCheckLocation : TextDescriptionTypesecondaryPowerSupply : TextDescriptionTypewindDirectionIndicator : TextDescriptionTypelandingDirectionIndicator : TextDescriptionTypetransitionAltitude : ValDistanceVerticalTypetransitionLevel : ValFLTypelowestTemperature : ValTemperatureTypeabandoned : CodeYesNoType

<<feature>>

  

ElevatedPoint

elevation : ValDistanceVerticalTypegeoidUndulation : ValDistanceSignedTypeverticalDatum : CodeVerticalDatumTypeverticalAccuracy : ValDistanceType

(f rom Geometry )

<<object>>

1

+ARP

1hasReferencePoint

City

name : TextNameType

<<object>>

0..*0..* serves

ChoiceChoice

• Used to model XOR relationships

• Used to model XOR relationships

Navaid<<feature>>

DesignatedPoint<<feature>>

Point(from Geometry)

<<object>>

SignificantPoint<<choice>>

0..1+location 0..1

0..1

+location

0..1

0..10..1

Position

DataTypesDataTypes

• Datatypes are used throughout the model– <<datatype>> – basic data type that specifies

a pattern to use – <<enumeration>> – a fixed list of values – <<codelist>> – similar to an enumeration but

the list can be expanded

• Datatypes are used throughout the model– <<datatype>> – basic data type that specifies

a pattern to use – <<enumeration>> – a fixed list of values – <<codelist>> – similar to an enumeration but

the list can be expanded

Properties - AttributesProperties - Attributes

• Attributes are used to describe simple properties of a feature or object

• Attributes are used to describe simple properties of a feature or object

  

Runway

designator : TextDesignatorTypetype : CodeRunwayTypelength : ValDistanceTypewidth : ValDistanceTypewidthShoulder : ValDistanceTypelengthStrip : ValDistanceTypewidthStrip : ValDistanceTypelengthOffset : ValDistanceSignedTypewidthOffset : ValDistanceSignedTypeprofile : TextDescriptionType

<<feature>>

Simple Properties

Properties - RelationshipsProperties - Relationships

AirportHeliport

<<feature>>Runway

(f rom Runway )

<<feature>>0..*1 0..*1 isSituatedAt

• Uni-directional association used when the relationship refers to a feature

• Relationships are used to describe associations to features or objects

SurfaceCharacteristics

<<object>>Runway

(f rom Runway )

<<feature>>0..10..1hasSurfaceDescribedBy

• Relationships to objects are depicted by the standard UML composition

Properties - RelationshipsProperties - Relationships

• Standard UML association class is used to describe attributes about the relationship

• Standard UML association class is used to describe attributes about the relationship

NavaidComponent

collocationGroup : NoSequenceTypemarkerPosition : CodePositionInILSTypeprovidesNavigableLocation : CodeYesNoType

<<object>>

Navaid

type : CodeNavaidServiceTypedesignator : CodeNavaidDesignatorTypelandingCategory : CodeLandingAidCategoryTypeoperationalStatus : CodeStatusNavaidTypeflightChecked : CodeYesNoType

<<feature>>

NavaidEquipment

designator : CodeNavaidDesignatorTypename : TextNameTypeemissionClass : CodeRadioEmissionTypemobile : CodeYesNoTypemagneticVariation : ValMagneticVariationTypedateMagneticVariation : DateYearTypeoperationalStatus : CodeStatusNavaidTypeflightChecked : CodeYesNoType

<<feature>>

0..*

0..*

0..*

0..*

isComposedOf

Properties - InheritanceProperties - Inheritance

• Inheritance - The specialized feature inherits all of the properties of the more general feature

VOR

type : CodeVORTypefrequency : ValFrequencyTypezeroBearingDirection : CodeNorthReferenceTypedeclination : ValMagneticVariationType

<<feature>>

NavaidEquipment

designator : CodeNavaidDesignatorTypename : TextNameTypeemissionClass : CodeRadioEmissionTypemobile : CodeYesNoTypemagneticVariation : ValMagneticVariationTypedateMagneticVariation : DateYearTypeoperationalStatus : CodeStatusNavaidTypefl ightChecked : CodeYesNoType

<<feature>>

Naming ConventionsNaming Conventions

• Feature, Object and Choice names are written in UpperCamelCase e.g. NavaidEquipment

• Simple property names (i.e. attributes) are written in lowerCamelCase e.g. widthShoulder

• Relationship names are written in lowerCamelCase but as present tense verbs e.g. isSituatedAt

• Datatype names are written in UpperCamelCase and end with ‘Type’ e.g. CodeAircraftType

• Feature, Object and Choice names are written in UpperCamelCase e.g. NavaidEquipment

• Simple property names (i.e. attributes) are written in lowerCamelCase e.g. widthShoulder

• Relationship names are written in lowerCamelCase but as present tense verbs e.g. isSituatedAt

• Datatype names are written in UpperCamelCase and end with ‘Type’ e.g. CodeAircraftType

Thank you