All Presentation Material Copyright Eurostep Group AB ® A Meta-model of EXPRESS in UML for MOF and UML to EXPRESS David Price April 2002
® All Presentation Material Copyright Eurostep Group AB Purpose This model is not a standard, just an example An introduction to EXPRESS –Shows the major EXPRESS constructs Uses a style similar to that of the meta-model of UML Serves as sample model for UML/XMI to EXPRESS stylesheets (tested on ArgoUML XMI files) At some point, a model like this built in MOF would enable direct use of XMI by EXPRESS –Currently, EXPRESS must be translated into UML via the ISO EXPRESS to XMI Bindings standard that is out for ballot in ISO TC 184/SC4 Industrial Data
® All Presentation Material Copyright Eurostep Group AB Schemas define a Namespace
® All Presentation Material Copyright Eurostep Group AB Schemas can share declarations
® All Presentation Material Copyright Eurostep Group AB Instances are of Entity Types
® All Presentation Material Copyright Eurostep Group AB Entity and Attribute may be Specialized
® All Presentation Material Copyright Eurostep Group AB Types are domains
® All Presentation Material Copyright Eurostep Group AB Aggregate and Primitive Types
® All Presentation Material Copyright Eurostep Group AB Rules and Constants
® All Presentation Material Copyright Eurostep Group AB Algorithms and Expressions
® All Presentation Material Copyright Eurostep Group AB Next Steps Testing –Convert this UML model to a MOF model MOF uses a subset of UML –I think this model only uses that subset but this needs to be confirmed Using MOF, a better analysis comparing UML and EXPRESS can be done Enables MOF repository access to EXPRESS schemas –MOF is a standard for access to models/schemas –There are implementations of this Using XMI four layer architecture, Entity Instances can be exchanged in a very late bound XML document Standardization in ISO? OMG? Develop two-way EXPRESS/UML mapping
® All Presentation Material Copyright Eurostep Group AB A Bit on UML to EXPRESS Testing a mapping via XSLT –Not a standard yet, ISO only does EXPRESS to UML Small subset of UML is supported – mapping summary: –UML Class -> ENTITY –UML Abstract Class -> ABSTRACT SUPERTYPE no other SUPERTYPE constraint created –UML Generalization -> SUBTYPE OF, Multiple inheritance is supported –UML Attribute (single valued) -> explicit attribute –UML string and UML Class string -> STRING simple type –UML boolean and UML Class boolean -> BOOLEAN simple type –UML int and UML Class integer -> INTEGER simple type –UML Class real -> REAL simple type
® All Presentation Material Copyright Eurostep Group AB A Bit on UML to EXPRESS(2) The mapping summary continued –UML Association between Classes -> explicit attribute in two cases 1 - one end name = association name > explicit attribute at end with no, or different name 2 - existence dependence -> explicit attribute at end with dependency (i.e. lower bound is 0) –Assoc End 1 lower bound zero and Assoc End 2 lower bound not zero means Class 1 depends on Class 2 SET is created for upper bound > 1 if multiplicity is 0..1 then OPTIONAL is included if both association end lower bounds are 0 nothing is created except as in 1 above –this is because cannot tell which entity should own the attribute if both association end lower bounds are not zero nothing is created except as in 1 above no inverses are created