Presentation is loading. Please wait.

Presentation is loading. Please wait.

UML to XSD.

Similar presentations


Presentation on theme: "UML to XSD."— Presentation transcript:

1 UML to XSD

2 Assumptions Basic Understanding of UML Basic Understanding of XML
Basic Understanding of XSD schemas

3 Discussion Points AIXM Features, Objects and Properties
AIXM UML modelling concepts GML concepts Dynamic Features GML Object-Property concept Feature identification Aeronautical Information Exchange Model (AIXM) is an XML exchange standard based on a subset of GML.

4 Features Real World Fundamental objects Change in time UML Class
stereotype In AIXM features describe real world entities and are the fundamental objects used in GML. GML features can be concrete and tangible, or abstract and conceptual and can change in time. Features are represented as classes with a stereotype <<feature>>. Features and Objects are described using the “class” structure in an UML class diagram. The class structure is broken in two parts; the attribute list used to define more specifics about the Feature/Object and the Operations list which is not used in AIXM. Feature/Objects are written in UpperCamelCase.

5 Objects Do not exist alone 0…M UML class
In AIXM objects are abstractions of real world entities that do not exist outside of a feature. Whenever a property has a multiplicity greater than one and cannot exist outside the feature these properties are represented as an object with the proper UML composite relationship

6 Properties Attributes and Relationships about the Feature or Object.
Properties are the attributes and relationships of a feature or object that are used to characterize the object. In UML attributes are used to describe simple properties with a cardinality of one. Attributes are written in lowerCamelCase. Simple Properties

7 Properties Uni-directional association used when the relationship refers to a feature. Relationships are used to describe associations to features, objects and groups. Whenever a property has a multiplicity greater than one it is described using a UML relationship with cardinality. AIXM uses only 4 of the UML modelling techniques provided for class diagrams. Uni-directional association shows that two classes are related but only one class knows that the relationship exists. In our first example the PointReference features knows about the DesignatedPoint feature. designatedPoint knows nothing about the PointReference. Composition Aggregation. Basic aggregation is an association indicating that one class is a subordinate (or part of) another class, however, the child class can outlive the parent class. A composition Aggregation indicates the same parent-child relationship but the child’s lifecycle is dependent on the parent. In other words the child can not exist without the parent. In our example an Obstacle might be a lift bridge and is only considered effective during the times the bridge is lifted. The Timetable that captures the schedule of the bidge is not applicable by itself. Composition Aggregation used when the property describes an attribute(s) with cardinality = many.

8 Properties The third modelling technique is the standard UML association class. In modeling an association, there are times when we need to include valuable information about the relationship. For this we would use an association class that you tie to the primary association. An association class is represented like a normal class. The difference is that the association line between the primary classes intersects a dotted line connected to the association class.. The uni-directional arrow is important when mapping to the XSD. One important attribute shown is the collocationGroup describing how the navaid is composed of different equipment. In this case, what equipment is located together. Standard UML association class is used to describe attributes about the relationship.

9 Properties The last technique used is inheritance. Inheritance refers to the ability of one class (specialized or child class) to inherit the identical functionality of another class (generalized or super class), and then add new functionality of its own. Within our XML schema, specialization implies two characteristics: Substitutability. The more general feature or object can be substituted by a specialization. In the XML schema this is supported using substitution groups. Property inheritance. The specialized feature inherits all of the properties of the more general feature. In the XML schema including the properties of the general class into the specialized class supports this. NavaidEquipment is shown as abstract and not implemented in the XML schema. The VOR feature is implemented inheriting the attributes of NavaidEquipment. Inheritance - The specialized feature inherits all of the properties of the more general feature.

10 Discussion Points GML concepts Dynamic Features
AIXM Features, Objects and Properties AIXM UML modelling concepts GML concepts Dynamic Features GML Object-Property concept Feature identification

11 Dynamic Feature Change over time Timeslice
Features change over time. This concept is called “dynamic features” and is captured as timeslices in GML. In AIXM all attributes and relationships are said to change over time and therefore are captured in the Feature timeslice object. GML timeslices were extended in AIXM to include interpretation, sequence number, correction number and metadata (compliance with metadata standards).

12 GML Object – Property Concept
The AIXM UML to XSD translator applies the GML concepts automatically during the XSD creation. Before we discuss the translation we should understand a little about the GML Object / Property concept. The object/property model is encoded in GML by declaring a type and then assigning properties to that type. Properties are attributes and relationships about the feature or object. Buiding on the dynamic feature concept, in this example we created the ObstacleTimesliceType and all the attributes and relationships about the obstacle are assigned to it. Create Type Define attributes and relationships

13 Object - Type Create object Assign type to object
Now we assign the timeslice type to the object. Create object Assign type to object

14 Discussion Points Feature identification
AIXM Features, Objects and Properties AIXM UML modelling concepts GML concepts Dynamic Features GML Object-Property concept Feature identification Aeronautical Information Exchange Model (AIXM) is an XML exchange standard based on a subset of GML.

15 Feature Identification
AIXM Feature Identification requirements Identification provided by GML AIXM Identification

16 AIXM Identification Requirements
System independent Globally unique Need not be understood Remain the same over time Repeatable within a GML document identifiers (IDs) should be globally unique, such that each distinct real world object has a distinct ID. IDs could be mappable to a real world description that can be understood by humans, but the ID value itself need not be understood by humans. In other words, the IDs need NOT be meaningful. IDs should be invariant over time even when properties of the associated real world object change. An ID should be repeatable within a GML document but must always identify the same real world object. As each ID is related to only a single object, this can only occur if the object itself is repeated within the document. This supports the ability to serialize content inline within a GML document, should this be required by some AIXM systems.

17 GML Identification gml:id a local ID gml:identifier
<aixm:PointReference gml:id="IDPR1"> <aixm:PointReference gml:id=“_001"> gml:identifier <gml:identifier codeSpace=”urn:UUID”>d6cd9be0-15d4-11da-8cd c9a66</gml:identifier> <aixm:identifier codeSpace=" <aixm:identifier codeSpace=" With GML v3.2 feature identification is planned to evolve as follows: gml:id attribute will be mandatory. gml:id will still be of XSD type ID. gml:id will act as a local identifier within a specific context (typically an XML document). Where copies of a feature (expressed as an XML fragment) exist within multiple contexts (e.g. disparate databases), the combination of context and gml:id will be different. To assert that these different XML fragments (copies) represent the same conceptual feature, an optional feature <gml:identifier/> child element can be used to provide a globally unique identifier. <gml:identifier/> has a mandatory codeSpace attribute to identify the identification scheme. <gml:identifier/> is of XSD type String, which imposes less lexical constraints than type ID. This means that <gml:identifier/> can support schemes like UUID, as opposed to gml:id. It also allows a single value to be repeated within a document (should the same object be repeated). UUID is an open, published standard, available at or ISO ISO/IEC FDIS There are many implementations of UUID, including Java and .NET code for use within applications. In addition, it is likely that specific web services will soon offer ID generation on request within a web service architecture. An existing UUID generator is available at A sample UUID value looks like: 840d39c0-15c9-11da-8cd c9a66. A UUID itself is not resolvable; rather, some form of registry or system (Web Registry Server, Web Feature Server) is required to return an object representation or description upon request.

18 Property Type Created property type to define the relationship.
If the relationship points to an object, include object in the property type If the relationship points to a feature, include attribute xlink:href. We need to discuss one more concept applied during XSD translation. This conecpt will lead us to Feature Identification. Object relationships in GML are expressed using properties. A property associates two objects. It is defined as the child of one object and points to the associated object either by including it as its own child or through an xlink:href (this is the more likely case). Object identifiers can be used to identify the target object in the relationship when used within the value of the xlink:href. When generating the AIXM schema definition we use xlink:href when the relationship points to a feature. When the relationship points to an object, we include the object inside the parent. In this example the relationship “isEffective” points to the object Timetable so when creating the TimetablePropertyType the object was included. (Objects can not exist without the parent.) The relationship “isMarkedBy_MarkerBeacon” points to a feature MarkerBeacon therefore it is not included and the xlink:href attribute is assigned.

19 XLINK:HREF Within the Document:
<aixm:uses_PointReference xlink:href="#IDPR1" /> External to the Document: <aixm:usedOn_Procedure xlink:href =" or (timeSlice/InstrumentDepartureProcedureTimeSlice/interpretation='BASELINE' and timeSlice/InstrumentDepartureProcedureTimeSlice/designator='BODINE RNAV') and /substring(gml:beginPosition,1,10) >= ' ' and (substring(gml:endPosition,1,10) <= ' ' )" "/>

20 Summary AIXM Features, Objects and Properties
AIXM UML modelling concepts GML concepts Dynamic Features GML Object-Property concept Feature identification We discussed Features, Objects and Properties and how we applied the UML modelling techniques from the Class diagram to describe them. We discussed some GML concepts and how those concepts were applied to the AIXM XSD. Now I would like to turn it over to Howard Shank to further discuss the translator. He will get into more detailed examples about how the object/property model was applied in the schema, arrays, etc.

21 Questions?


Download ppt "UML to XSD."

Similar presentations


Ads by Google