This wiki has undergone a migration to Confluence found Here

XUM

From HL7Wiki
Jump to navigation Jump to search

A XUM is a XML-UML artefact defined as part of the newly proposed UML ITS.

It expresses a RIM-Based Model (RBM) both in terms of a XML schema as well as a UML model. The UML model is the equivalent (or as closely as possible) of the schema and vice versa.

UML

Each XUM is represented by a single UML class diagram with a single UML package. The UML representation of the XUM may use the following UML constructs:

  • Classes with Attributes. Operations are not supported since these are representations of wire formats with no behavior.
  • Parameterized classes with one class parameter. All parameterized classes are collections
  • Constraints using OCL in notations attached to the class.
  • Constraints must include the context <class name>
  • Generalization associations
  • Named composition associations (represented as by value in XML)
  • Named associations (represented as by reference in XML)
  • The {xor} notation (? For discussion. this is a neat construct for us, but not very well supported. However it may not matter, we can encode as an {xor} constraint and an OCL constraint)
  • The stereotype <<enumeration>> for enumerations
  • The stereotype <<io>> for marking entry points.
  • The inbuilt types from the OCL 2 kernel, or any types found in other XUMs which must be explicity accessed as UML packages
  • Comments in attached Notations.

The UML representation will be published as a GIF image, and SVG picture, and an XMI file.

XML

Each XUM is represented by a single schema. The XML schema representation of the XUM may use the following schema constructs:

  • Complex Types
  • Element and attribute definitions
  • Global elements for entry points
  • Simple Types for enumerations
  • Sequences
  • Choices for choices
  • Schematron rules for constraints
  • The inbuilt types from the schema standard, or any types found in other XUMs which must be explicity imported as schemas
  • Comments in AppInfo annotations

The schema representation will be published as an xsd file. All the schemas will be in the same namespace.

Relationship between XML and UML

The UML diagram and the schema will be as isomorphic as possible. Other than in the constraints, the two representations will be identical. There will be simple rule for describing which UML attributes are represented as XML attributes, and which UML attributes are represented as XML elements

Elements vs Attributes

It's still not decided whether to use XML elements or XML attributes in the new ITS.