Issue 15272: MOF 2.0 9.1 Confusing instance superclass statement (mof2core-rtf) Source: Model Driven Solutions (Dr. Edward Willink, ed(at)willink.me.uk) Nature: Uncategorized Issue Severity: Summary: The statement in clause 9.1 semantics "Class Element is the superclass of all model elements in MOF, and is the superclass of all instances of MOF model elements." is confusing since instances do not normally have superclasses. The statement could be interpreted to mean that every class always has Element as a superclass including user-defined classes. But this would then make it impossible to model lightweight application classes supporting solely the required functionality. Surely it is every M2 (and M3 and ...) class that has Element as a superclass? At M1 the superclasses are as modelled by the user. This is significant for OCL since OCL inserts at least OclAny as the top type at M1 in order to support some reflective behaviour. If Element really is an M1 superclass, then OCL should align. If Element is not an M1 superclass, OCL should provide its reflection in OclAny. Resolution: closed no change Revised Text: Actions taken: June 2, 2010: received issue April 6, 2015: closed issue Discussion: The offending sentence is no longer in the specification document, the current text describes the role of Element much clearer. The concerns expressed by the issue author are possibly no longer current. Since version 2.4, MOF and UML share a common metamodel, in which Element is on top of the hierarchy for both. The only difference is, that MOF::Reflection::Element adds reflection capability to Element via extra operations and a derived association to the Element’s metaclass. End of Annotations:===== m: "Willink, Ed" To: "'issues@omg.org'" Subject: MOF 2.0 9.1 Confusing instance superclass statement Date: Wed, 2 Jun 2010 11:03:13 +0100 X-Mailer: Internet Mail Service (5.5.2657.72) Hi The statement in clause 9.1 semantics "Class Element is the superclass of all model elements in MOF, and is the superclass of all instances of MOF model elements." is confusing since instances do not normally have superclasses. The statement could be interpreted to mean that every class always has Element as a superclass including user-defined classes. But this would then make it impossible to model lightweight application classes supporting solely the required functionality. Surely it is every M2 (and M3 and ...) class that has Element as a superclass? At M1 the superclasses are as modelled by the user. This is significant for OCL since OCL inserts at least OclAny as the top type at M1 in order to support some reflective behaviour. If Element really is an M1 superclass, then OCL should align. If Element is not an M1 superclass, OCL should provide its reflection in OclAny. Regards Ed Willink Please consider the environment before printing a hard copy of this e-mail. The information contained in this e-mail is confidential. It is intended only for the stated addressee(s) and access to it by any other person is unauthorised. If you are not an addressee, you must not disclose, copy, circulate or in any other way use or rely on the information contained in this e-mail. Such unauthorised use may be unlawful. If you have received this e-mail in error, please inform us immediately on +44 (0)118 986 8601 and delete it and all copies from your system. Thales Research and Technology (UK) Limited. A company registered in England and Wales. Registered Office: 2 Dashwood Lang Road, The Bourne Business Park, Addlestone, Weybridge, Surrey KT15 2NX. Registered Number: 774298 Thales UK Limited. A company registered in England and Wales. Registered Office: 2 Dashwood Lang Road, The Bourne Business Park, Addlestone, Weybridge, Surrey KT15 2NX. Registered Number: 868273