"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"

Formalization of Application Schemas

Contents

Related pages



Overview

Application schemas may be formalized using a variety of notations. The ISO 19100 series of standards provide profiles of UML and XML, with rules for transformation between them.

ISO/TC 211 Profile of UML

UML is the canonical notation used in the ISO 19100 series of standards for Geographic Information developed by ISO/TC 211.

However, UML provides a rich palette, and even within class-diagrams UML elements may be combined in a variety of ways to represent similar functions. In order to restrict the variability, a strict "profile" of UML is used. This is defined primarily in ISO 19103, with some contextual clarification in ISO 19109, 19118 and 19136.

The key constraints for our purposes are:
  1. a rolename is required on every navigable association end
  2. standard stereotypes are used for packages and classes, according to the following table (adapted from ISO 19136/GML 3.2 Annex E)

The first set of stereotypes corresponds primarily the set described in Table E.1 of ISO 19136:2007 (GML 3.2.1), and are suitable for a domain model that is ready for direct conversion to XML as a GML Application Schema.

Stereotype name Scope Use XML Implementation
«Application Schema»
«applicationSchema»
Package Complete application schema An XML Schema in a single XML namespace
«FeatureType»
«featureType»
Class Feature-type XML element whose XML Schema-type is derived from gml:AbstractFeatureType
noStereotype «Type»
«type»
Class Referenceable objects other than features XML element whose XML Schema-type is derived from gml:AbstractGMLType
«DataType»
«dataType»
Class Structured data type XML element with a complex content model; does not have identity and must appear inline
«Union»
«union»
Class Arbitrary set of alternative classes Choice group whose members are GML Objects or Features, or objects corresponding to DataTypes
«CodeList»
«codeList»
Class Extensible enumeration Union of an enumeration of string values and a pattern
«Enumeration»
«enumeration»
Class Fixed enumeration Enumeration of string values

Some additional stereotypes have been found useful in domain modelling. These are packaged as a separate "UML Profile" for use in the HollowWorld environment.

Stereotype name Scope Use XML Implementation
«Leaf» Package Convenient group of elements within an application schema Single XML Schema document
«PrimitiveType» Class Structured data type Class which has a "canonical" pre-defined XML encoding
«property» attribute, associationRole property local element (a) having a simple type (b) containing a complex type, or (c) using the GML in-line or by-reference pattern

A set of tagged-values is prescribed for each stereotype, to specify information required for the XML implementation derived from the model. See GML stereotypes and associated tagged values for more detail.

Geography Markup Language

GML is a W3C XML Schema that provides a set of standard components for the representation of geospatial information.

The GML meta-model is described in sub-clause 7.4 of GML 3.2 "GML Model and Syntax".

Two top-level classifications are distinguished, both realised in data instances as XML elements:
  1. Objects, including Features and other objects with identity (such as Geometries, Temporal Objects, Definitions) and without identity
    • the names of Objects are normally given in UpperCamelCase
  2. Properties, which have names indicating their semantic role, and values
    • the names of properties are normally given in lowerCamelCase

Note that a property value may be simple - i.e. a literal - or may be an Object. If the value is an Object, then it may be represented locally, or (if it has identity) may be indicated by reference to a remote value.

In the GML implementation, the properties of an Object are encoded as sub-elements, and the value of a property may itself be an Object encoded as a sub-element. The resulting XML document is "striped" with alternating Upper-case and lower-case elements representing Objects and properties.

The path from a parent through its descendent elements in the GML/XML representation maps to the traversal of a path through alternating classes and associations in the corresponding UML class diagram.

For more information see GmlImplementation.

Mapping between formalizations

For a more extended discussion see SchemaMapping.

Designing an Application Schema

A step-by-step guide to developing a domain-specific GML Application schema using Enterprise Architect is provided at HollowWorld.

Outline of UML modelling and notation

See UmlOutline

More on UML modelling principles

See UmlDiscussion
Topic revision: r58 - 28 Oct 2013, SimonCox
 

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