Issue 15398: Use UML models ‘as is’ for metamodels (mof2core-rtf) Source: Adaptive (Mr. Pete Rivett, pete.rivett(at)adaptive.com) Nature: Revision Severity: Summary: Requiring a format conversion to make a UML model into a MOF metamodel has proved a significant impediment and time-waster: especially since no UML tools directly support Infrastructure as originally envisioned. There is no reason why MOF could not use suitably constrained UML models directly, especially as UML 2.4 has now added Property::isId and Package::uri – the only structural differences in MOF. Proposed resolution (outline): General: Change section 3 introduction and reference to refer to UML 2.4 Superstructure instead of Infrastructure Update Annex A to use UML 2.4 URIs For CMOF: Update section 14 to explain the above Update Figure 14.1 to show CMOF merging UML Kernel instead of Constructs Update Figure 14.2 to show the same elements but as defined in UML Kernel Update section 14.3 CMOF Constraints with the following constraints, and include OCL for these and the original constraints: - A CMOF metamodel may not include instances of the following UML metaclasses: o InstanceValue o InstanceSpecification o Slot o Interface o AssociationClass o GeneralizationSet - The following properties must be empty o Class::nestedClassifier o Property::qualifier - The value of Property::defaultValue and Parameter::defaultValue must be of kind LiteralSpecification - The value of MultiplicityElement::lowerValue and upperValue must be of kind LiteralInteger and LiteralUnlimitedNatural respectively - Dependencies (and subclasses) will be ignored For EMOF: Update section 12 to explain the above Update Figure 12.1 to show CMOF merging UML Kernel instead of Basic Update Figure 12.2 to show the same elements but as defined in UML Kernel Update section 12.4 EMOF Constraints with the following additional constraints (to those listed for CMOF above), and include OCL for these and the original constraints: - An EMOF metamodel may not include instances of the following UML metaclasses: o Association o Constraint o DataType (only instances of PrimitiveType and Enumeration) o Expression o OpaqueExpression o ElementImport o PackageImport o PackageMerge - The following properties must be empty o Parameter::defaultValue o Parameter::direction o Property::subsettedProperty o Property::redefinedProperty Resolution: As per the proposed resolution. In addition, for CMOF, Feature::isStatic must be ‘false’ Revised Text: see pages 35 - 42 of OMG document ptc/2010-12-07 (word format) Actions taken: August 7, 2010: received issue April 25, 2011: closed issue Discussion: End of Annotations:===== ubject: MOF2 Core Issues Date: Sat, 7 Aug 2010 12:52:14 -0700 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: MOF2 Core Issues Thread-Index: Acs2aghR8Ug/TLz8R4CMgZxEMdshjg== From: "Pete Rivett" To: , "Manfred R. Koethe" , "Jim Amsden" Cc: "Steve Cook" , "Maged Elaasar" , "Nicolas Rouquette" 2. Use UML models .as is. for metamodels Requiring a format conversion to make a UML model into a MOF metamodel has proved a significant impediment and time-waster: especially since no UML tools directly support Infrastructure as originally envisioned. There is no reason why MOF could not use suitably constrained UML models directly, especially as UML 2.4 has now added Property::isId and Package::uri . the only structural differences in MOF. Proposed resolution (outline): General: Change section 3 introduction and reference to refer to UML 2.4 Superstructure instead of Infrastructure Update Annex A to use UML 2.4 URIs For CMOF: Update section 14 to explain the above Update Figure 14.1 to show CMOF merging UML Kernel instead of Constructs Update Figure 14.2 to show the same elements but as defined in UML Kernel Update section 14.3 CMOF Constraints with the following constraints, and include OCL for these and the original constraints: - A CMOF metamodel may not include instances of the following UML metaclasses: o InstanceValue o InstanceSpecification o Slot o Interface o AssociationClass o GeneralizationSet - The following properties must be empty o Class::nestedClassifier o Property::qualifier - The value of Property::defaultValue and Parameter::defaultValue must be of kind LiteralSpecification - The value of MultiplicityElement::lowerValue and upperValue must be of kind LiteralInteger and LiteralUnlimitedNatural respectively - Dependencies (and subclasses) will be ignored For EMOF: Update section 12 to explain the above Update Figure 12.1 to show CMOF merging UML Kernel instead of Basic Update Figure 12.2 to show the same elements but as defined in UML Kernel Update section 12.4 EMOF Constraints with the following additional constraints (to those listed for CMOF above), and include OCL for these and the original constraints: - An EMOF metamodel may not include instances of the following UML metaclasses: o Association o Constraint o DataType (only instances of PrimitiveType and Enumeration) o Expression o OpaqueExpression o ElementImport o PackageImport o PackageMerge - The following properties must be empty o Parameter::defaultValue o Parameter::direction o Property::subsettedProperty o Property::redefinedProperty -- Pete Rivett (pete.rivett@adaptive.com) CTO, Adaptive Inc 65 Enterprise, Aliso Viejo, CA 92656 cell: +1 949 338 3794 Follow me on Twitter @rivettp or http://twitter.com/rivettp