"Seegrid will be due for a migration to confluence on the 1st of August. Any update on or after the 1st of August will NOT be migrated"

Possible extensions to UML profile and UML-GML Encoding rule

Contents

Related pages



A list of issues, that might point towards some extensions to the UML profile, and thus to the UML-XML encoding rule ("GML Annex E"). The following have all arisen in real modelling exercises (as a starting point)

A. Some "generic" capabilities

  1. OCL constraints (subset thereof, Schematron implementation thereof)
  2. New stereotypes:
    For example, see the estimatedProperty pattern
    1. turn strict Annex E conformance on or off b. formalize the process for establishing a new stereotype and its effects.
  3. Multiple inheritance: The "mixin" pattern, maybe implemented with named XML Schema Groups in parallel with the existing XML Schema "PropertyType" complex types. Use a tag to indicate which is the "substitution group" parent (e.g. sequenceNumber="0").
  4. Association classes - there is a relatively simple rule for converting association-classes to intermediate-classes which should be utilized in the encoding rule.

B. Profiling existing patterns and models

B.1 Type-overrides

  1. binding restricted value-spaces (vocabularies, ranges) to properties with "literal" (scalar) types (CharacterString, ScopedName, GenericName, Measure, etc)
  2. attribute/association-role overrides, where the profile selects a subset of the potential specializations of a generalized class (i.e. restrict membership of XML Schema substitution group (implicit choice-group)) or selects a subset from a Union class (i.e. restrict membership of an explicit choice group)

B.2 Cardinality-overrides

  1. making optional things mandatory, or prohibited, fixing the multiplicity of "*" things
  2. making cardinality conditional on something else (e.g. on the presence of another property)(requires a constraint expression) (see 1.)

B.1 and B.2.1 can probably use the UML override pattern, where properties that are re-declared on the specialized classes, with modified type bindings or cardinality, override the properties from the generalized class.

In the XML, however, since these usually involve restrictions across XML namespace boundaries, a "constraint" mechanism is probably required.

There may also be some new tagged values required, to direct implementation one way or another.

-- SimonCox - 14 May 2007

C. XML Implementation patterns

C.1 Ubiquitous named groups

  1. Implement all classes as named XML Schema groups first. Then the XML Schema types can be constructed by ref'ing the group.

Allows for more flexibility in class composition.

-- SimonCox - 01 Nov 200

 
Topic revision: r10 - 15 Oct 2010, UnknownUser
 

Current license: All material on this collaboration platform is licensed under a Creative Commons Attribution 3.0 Australia Licence (CC BY 3.0).