0

Background

Prior to UML 2.5, UML was defined by two documents: UML Infrastructure and UML Superstructure. MOF 2, a closely related OMG standard, refers to UML Core, and is defined so that MOF 2 and UML 2 shares some specifications. UML 2.4 Infrastructure, defined this UML Core explicitly. UML 2.5, which is a complete rewriting of UML 2, now comes as a single document, and additionally, does not any more explicitly defines an UML Core, or else, not naming it the same.

Question

I don't believe MOF 2 and UML 2 became out of sync with just the introduction of UML 2.5, as UML 2.5 is considered a minor revision of UML 2.4, so I believe MOF 2 is still defined in parts by specifications imported from 2.5, and just wonder what is the equivalent of UML Core in UML 2.5. Is this chapter 7 which is titled  “Common Structure”?

Hibou57
  • 6,870
  • 6
  • 52
  • 56

1 Answers1

1

The difference between UML 2.4.1 (current) and 2.5 is a shorter and restructured documentation and maybe some cosmetic differences in the subject. (Until now I haven't found any). It is merely an attempt to create a more understandable documentation.

So, the MOF 2, version 2.4.1 (current), where is said:

This MOF 2 Core specification provides the basis for metamodel definition in OMG’s family of MDA languages and is based on a simplification of UML2’s class modeling capabilities.

doesn't need to change and remains the same.

It is NOT included directly in the UML 2.5 documentation. That part that is "is based on a simplification of UML2’s class modeling capabilities", is close to the chapter 7 of the 2.5 standard. But the meta problems (reflection, for example) remain in the MOF only. And they are the most important part of MOF.

It seems, that now, when OMG tries to make a more simple standard, these complex meta problems won't appear in the UML standard at all. Standard - for users, MOF - for "superusers".

IMHO, they should less base on their own metamodel and more on the real problems of contemporary languages. For example, the anonymous classes representation in the contemporary UML is plainly disgustful.

Gangnus
  • 24,044
  • 16
  • 90
  • 149
  • What would be your suggested recommendation to approach the UML and MOF references? Start with MOF or with UML? More complex path? (saying UML, I mean the UML 2.5 kind of reference, the one coming as a single document, and saying MOF, I mean MOF 2). – Hibou57 Feb 18 '14 at 17:14
  • @Hibou57 sorry, you forgot to tell your final target. – Gangnus Feb 18 '14 at 19:05
  • I kept the topic's question narrow to fit the Q&A style and because I had this precise question in mind at the time I posted it; however, my final target is at understanding MOF and the core of UML, from the OMG's specifications. – Hibou57 Feb 18 '14 at 19:23
  • I don't think you can understand it without practice. I would start from UML, making diagrams for different non-standard tasks. After that - move to MOF, practicing in modelling alternate UML diagrams. I think, if you'll be able to model a new UML diagram, you understand MOF well. – Gangnus Feb 18 '14 at 20:10