From: http://www.steptools.com/mail-archive/wg10/bin00002.bin See: http://www.steptools.com/mail-archive/wg10/msg00032.html (* Annex C (informative) EXPRESS representation of the UML Physical Metamodel Following is an EXPRESS schema that represents the relevant portions of the UML Physical Metamodel as specified in UML 1.3 Section 6.2. This is the metamodel upon which the UML DTD for XMI is based. *) (* An EXPRESS representation of portions of the UML Physical Metamodel *) (* specified in UML 1.3 Section 6.2 *) (* Note that several EXPRESS identifiers are prefixed with the string uml. Those identifiers required a change in name as the name in the UML meta-model is an EXPRESS reserved word. *) SCHEMA part25_representation_of_uml_physical_metamodel; TYPE AggregationKind = ENUMERATION OF ( none, uml_aggregate, composite ); END_TYPE; TYPE CallConcurrencyKind = ENUMERATION OF ( sequential, quarded, concurrent); END_TYPE; TYPE ChangeableKind = ENUMERATION OF ( changeable, frozen, addOnly); END_TYPE; TYPE Name = STRING; END_TYPE; TYPE OrderingKind = ENUMERATION OF ( unordered, ordered, sorted ); END_TYPE; TYPE ParameterDirectionKind = ENUMERATION OF ( out ); END_TYPE; TYPE ScopeKind = ENUMERATION OF ( instance, uml_classifier); END_TYPE; TYPE VisibilityKind = ENUMERATION OF ( public, protected, private); END_TYPE; ENTITY Association SUPERTYPE OF ( ONEOF ( AssociationClass) ) SUBTYPE OF ( Relationship, GeneralizableElement ); connection : LIST[2:?] OF AssociationEnd; END_ENTITY; ENTITY AssociationEnd SUBTYPE OF ( ModelElement ); isNavigable : BOOLEAN; ordering : OrderingKind; aggregation : AggregationKind; targeScope : ScopeKind; multiplicity : Multiplicity; changeability : ChangeableKind; uml_type : Classifier; (* specification association omitted for Part 25 use *) END_ENTITY; ENTITY AssociationClass SUBTYPE OF ( Association, Class) ; END_ENTITY; ENTITY Attribute SUBTYPE OF (StructuralFeature); (* initialValue attribute omitted for Part 25 use *) END_ENTITY; ENTITY BehavioralFeature ABSTRACT SUPERTYPE OF (ONEOF(Operation) ) SUBTYPE OF (Feature); isQuery : BOOLEAN; END_ENTITY; ENTITY Class SUPERTYPE OF ( ONEOF ( AssociationClass) ) SUBTYPE OF ( Classifier ); isActive : BOOLEAN; END_ENTITY; ENTITY Classifier ABSTRACT SUPERTYPE OF (ONEOF ( Class, DataType )) SUBTYPE OF (GeneralizableElement, Namespace); END_ENTITY; ENTITY DataType SUBTYPE OF ( Classifier ); END_ENTITY; ENTITY Element ABSTRACT SUPERTYPE OF (ONEOF(ModelElement)); END_ENTITY; ENTITY ElementImport; visibility : VisibilityKind; uml_alias : Name; modelElement : ModelElement; package : Package; END_ENTITY; ENTITY ElementOwnership; visibility : VisibilityKind; isSpecification : BOOLEAN; ownedElement : ModelElement; namespace : Namespace; END_ENTITY; ENTITY Feature ABSTRACT SUPERTYPE OF (ONEOF (StructuralFeature, BehavioralFeature)) SUBTYPE OF (ModelElement); ownerScope : ScopeKind; owner : Classifier; END_ENTITY; ENTITY GeneralizableElement ABSTRACT SUPERTYPE OF (ONEOF ( Classifier, Association) ) SUBTYPE OF (ModelElement); isRoot : BOOLEAN; isLeaf : BOOLEAN; isAbstract : BOOLEAN; END_ENTITY; ENTITY Generalization SUBTYPE OF ( Relationship ); discriminator : Name; parent : GeneralizableElement; child : GeneralizableElement; (* powertype association omitted for Part 25 use *) END_ENTITY; ENTITY ModelElement ABSTRACT SUPERTYPE OF (ONEOF(Feature, Namespace, GeneralizableElement, Parameter, AssociationEnd, Relationship)) SUBTYPE OF (Element); name : Name; visibility : VisibilityKind; isSpecification : BOOLEAN; namespace : Namespace; END_ENTITY; ENTITY Multiplicity; range : MultiplicityRange; END_ENTITY; ENTITY MultiplicityRange; lower : INTEGER; upper : INTEGER; END_ENTITY; ENTITY Namespace ABSTRACT SUPERTYPE OF ( ONEOF( Classifier , Package) ) SUBTYPE OF (ModelElement); END_ENTITY; ENTITY Operation SUBTYPE OF (BehavioralFeature); concurrency : CallConcurrencyKind; isRoot : BOOLEAN; isLeaf : BOOLEAN; isAbstract : BOOLEAN; specification : STRING; (* method association omitted for Part 25 use *) END_ENTITY; ENTITY Package SUPERTYPE OF ( ONEOF ( uml_Model )) SUBTYPE OF ( Namespace, GeneralizableElement ); END_ENTITY; ENTITY Parameter SUBTYPE OF (ModelElement); uml_type : Classifier; kind : ParameterDirectionKind; (* defaultValue attribute omitted in Part 25 use *) behavioralFeature : BehavioralFeature; END_ENTITY; ENTITY Relationship ABSTRACT SUPERTYPE OF ( ONEOF (Generalization, Association)) SUBTYPE OF ( ModelElement ); END_ENTITY; ENTITY StructuralFeature ABSTRACT SUPERTYPE OF (ONEOF (Attribute)) SUBTYPE OF (Feature); multiplicity : Multiplicity; changeability : ChangeableKind; targetScope : ScopeKind; uml_type : Classifier; END_ENTITY; ENTITY uml_Model SUBTYPE OF ( Package ); END_ENTITY; END_SCHEMA;