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