The EXPRESS Metamodels

This document explains the EXPRESS Metamodels input to and defined as part of the project.

EXPRESS Metamodel in UML for OMG Standardization

As has been described at various ISO STEP and OMG meetings in the first half of 2005, a yet-to-be-formalized project is underway to create a metamodel of the ISO EXPRESS language in UML (or more precisely, an OMG MOF Metamodel of EXPRESS is being developed). The purpose of this EXPRESS Metamodel is to enable the use of MOF- and UML-based tooling as well as related OMG MDA languages such as OMG's QVT (see the OMG Web site for more details).

The second purpose of the EXPRESS Metamodel in UML is as the basis for standardized mappings between EXPRESS, UML and OWL. The OMG Ontology Definition Metamodel (ODM) specification will contain metamodels for OWL and other ontology languages. UML 2 specifies a metamodel for UML itself.

To support the development of the EXPRESS Metamodel, the current draft and one previous draft will be published on this Web site. Previous drafts will be available upon request.

EXPRESS Metamodel in UML Draft 2005-06

The initial complete public draft of the EXPRESS Metamodel was presented in June 2005 at the ISO STEP Valencia and OMG Boston meetings. The following documents and presentations are available.

STEPMod DTD

One initial EXPRESS metamodel is the DTD used in the STEP Modules Repository. This DTD supports all of EXPRESS Edition 2 and is used as part of the ongoing STEP development process. Only the structure of EXPRESS schemas is supported, algorithms are simply represented as text (i.e. #PCDATA).

SDAI Dictionary Schema

ISO 10303-22 Standard data access interface (SDAI) specified requirements for programming interfaces that interacted with EXPRESS schemas and EXPRESS-driven data. As part of that standard, a dictionary providing runtime access to schema-related information was defined. The SDAI Dictionary Schema was published in 1997 and so only supports EXPRESS Edition 1. Additionally, the EXPRESS CONSTANT declarations were not seen as useful in a programming environment and so were not included. The following diagrams show the basic concepts contained in that schema using one possible UML class diagram representation.

The following figure shows the schema, named type, and global rule concepts.

Schema, Named Type and Global Rule

The following figure shows the attribute concepts.

Attributes

The following figure shows the attribute base type concepts.

Base Types

The following figure shows the aggregation type concepts.

Aggregation Types

The following figure shows the constraint concepts.

Constraints

The following figure shows the interface specification concepts.

Interface Specification