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

Hollow World: a GML application schema template


Related pages

What is the HollowWorld?

Hollow World is a environment to enable specialists in a domain that utilizes geospatial information (GI) to develop an information model for their application domain, which conforms to international standards for interoperable GI. A model developed in this framework can be easily transformed into a GML-conformant XML Schema, which specifies the document format for transfer of domain data as a standard XML document, compatible with OGC-WFS.

The framework is that provided by the ISO 19100 series of standards. This is augmented by some additional components useful for natural science and environmental monitoring applications.

Standards context

See GeospatialStandardsContext

Hollow World template


HollowWorld provides a UML template which includes the components described in GeospatialStandardsContext, pre-loaded in a consistent manner.

The ISO 19100 components are primarily from the ISO/TC 211 "Harmonized Model". These are augmented with UML representations of components provided in ISO 19136 (GML) but which do not implement elements of the Harmonized Model, and some minor extensions to the Coverages model described in OGC 06-188r1.

The SWE components are taken from the OGC documents detailed in GeospatialStandardsContext.

In addition, for users of Sparx Systems Enterprise Architect tool, a "UML Profile" containing the standard stereotypes and tagged values from ISO 19136 is provided.

Rule-based processing requires strict conformance to modelling profile

The XML Schema implementation of the model can be generated automatically, providing enough detail is recorded in the model to
  1. fully specify the information model required for the domain
  2. accommodate the idiosyncracies of XML Schema, and the GML-based patterns for the use of XML to encode UML-designed models.
The former consideration is the responsibility of the domain experts.

To ensure the latter, the UML model must follow the profile described in Annex E. of ISO 19136, in particular concerning
  • association navigability and roleNames
  • use of only the standard stereotypes
  • assignment of all the necessary tagged values.
The FullMoon UML processing environment can verify conformance to the ISO 19136 UML profile as a precursor to generating the implementation.

Technology - using HollowWorld

To configure your tool see ConfiguringUMLToolForHollowWorld.

HollowWorld Contents

The Hollow World template model includes the following basic components.

Package and Class stereotypes

A set of stereotypes for packages, classes and other elements.

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»
Package Complete application schema An XML Schema in a single XML namespace
Class Feature-type XML element whose XML Schema-type is derived from gml:AbstractFeatureType
noStereotype «Type»
Class Referenceable objects other than features XML element whose XML Schema-type is derived from gml:AbstractGMLType
Class Structured data type XML element with a complex content model; does not have identity and must appear inline
Class Arbitrary set of alternative classes Choice group whose members are GML Objects or Features, or objects corresponding to DataTypes
Class Extensible enumeration Union of an enumeration of string values and a pattern
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.

To find these stereotypes in Enterprise Architect
  1. ensure that the Resources pane is visible ( Main menus: View→Resources)
  2. open Resources→UML Profiles→UML Profile for GML Application Schemas

Standard classes

Base classes

Some classes included in the template serve primarily as base classes for specialization within domain models, and are therefore abstract (non-instantiable). Some important ones are listed in the following table.

Base class Package Use
Definition, Dictionary ISO TC211/ISO 19136 GML Base class for definitions and collections of definitions.
SF_SamplingFeature, SF_SpatialSamplingFeature ISO TC211/ISO 19156/Sampling Core Base class for sampling artefacts, including station, swath, section, specimen, traverse, etc.

To find these classes in Enterprise Architect

  1. ensure that the Project Browser pane is visible ( View→Project Browser) and open the Package indicated in the table, or
  2. search for the class using the Main menus: Edit→Find in Model dialogue

Utility classes

Some classes included in the template are likely to be found useful as-is within domain models, as attribute types or association targets.

Note that, while the template includes the entire ISO/TC 211 'Harmonized Model', canonical XML implementations are only available for a subset of this. For example, the FullMoon encoder uses this register and the linked mapping tables to find XML Schema implementations of classes in HollowWorld.

Some of the more important utility classes are listed in the following table.

Utility class Package Use
Classes representing "primitive" or simple data-types that may be used as attribute types (see note P below)
ClockTime, Date, DateTime, Decimal, Integer, Number, Real, CharacterString, Boolean ISO TC211/ISO 19103 Schema Language/
Simple data types
LocalName, ScopedName, GenericName ISO TC211/ISO 19103/
Unqualified and qualified names and terms
Measure ISO TC211/ISO 19103/
Amount with units
Record, RecordType, RecordSchema ISO TC211/ISO 19103/
Structured values
GM_Position ISO TC211/ISO 19107/
Geometry/Coordinate Geometry
Spatial position by coordinates
TM_Position ISO TC211/ISO 19108 Temporal schema Temporal position
Classes representing structured data-types that may appear in the context of an identifiable object (see note S below)
SI_Location ISO TC211/ISO 19111 Spatial position by identifier (geocode or name)
CI_Citation ISO TC211/ISO 19115 Citation for published document
CI_ResponsibleParty, CI_Address ISO TC211/ISO 19115 People and places
DQ_Element, LI_Lineage ISO TC211/ISO 19115 Data quality and lineage
EX_Extent, EX_BoundingPolygon, EX_GeographicBoundingBox, EX_GeographicDescription ISO TC211/ISO 19115 Spatial-temporal extent, described either numerically or using words
CV_GeometryValuePair, CV_PointValuePair, CV_CurveValuePair, CV_SurfaceValuePair, CV_SolidValuePair ISO TC211/ISO 19123 Map of a single value to a single geometry element (data atom within a coverage)
CV_TimeInstantValuePair, CV_ElementValuePair CommonUsagePackages/
Map of a single value to a single time-instant or element-reference (data atom within a coverage)
Classes representing things with identity, that may be the target of external references
GM_Object and its concrete specializations, in particular GM_Point, GM_Curve, GM_Surface, GM_Solid ISO TC211/ISO 19107 Spatial Schema Basic geometry types
LineString, Polygon, LinearRing, MultiGeometry ISO TC211/ISO 19136 GML Simple geometry types
SC_CRS, CD_Datum, CD_Ellipsoid ISO TC 211/ISO 19111 Referencing by Coordinates Coordinate reference systems, etc
TM_Instant, TM_Period ISO TC211/ISO 19108 Basic temporal primitives
CV_Coverage and its concrete specializations CV_DiscreteCoverage, CV_DiscretePointCoverage, CV_GridPointCoverage ISO TC211/ISO 19123 Coverages Spatial functions.
N.B. Since a temporal axis may be included in a spatial reference system, CV_Coverage may describe temporal as well as spatial property variation
CV_DiscreteTimeInstantCoverage, CV_DiscreteElementCoverage CommonUsagePackages/
Temporal function, function over a discrete element set
OM_Observation ISO TC211/ISO 19156/Observation Core Act of observation, whose result is a property-value estimate
SF_SamplingPoint, SF_SamplingCurve, SF_SamplingSurface, SF_SamplingSolid, SF_Specimen ISO TC211/ISO 19156/Sampling Concrete sampling artefacts
ProcessModel, ProcessSystem ISO TC211/OGC SWE/SensorML Simple and complex sensors/algorithms used in property-value estimation

To find these classes in Enterprise Architect

  1. ensure that the Project Browser pane is visible ( View→Project Browser) and open the Package indicated in the table, or
  2. search for the class using the Main menus: Edit→Find in Model dialogue

Note P:

These classes represent types that are not directly instantiatable. In the XML implementation they have a canonical representation as an XML Schema type definition, but there is no corresponding global XML element declaration. These types may appear as the type of a class attribute, but not as the target of an association.

Note S:

These classes are directly instantiatable, but instances do not exist independent of the «FeatureType» or «Type» that owns them. Every inbound association to a «DataType» is implicitly a composition. In GML-pattern XML instance documents they must appear "inline" and may not be the target of a reference.

For more details on the ISO standards referred to, see IsoTc211Standards.

Developing a Domain Model

See ModelingUsingHollowWorld

Generate the GML Application Schema

Go to FullMoon

Topic attachments
I Attachment Action Size Date Who Comment
OMCookbook.ppspps OMCookbook.pps manage 946.5 K 09 Jan 2006 - 13:57 SimonCox Presentation - mostly screenshots
Topic revision: r75 - 06 Sep 2011, SimonCox

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