Where is UML Core in UML 2.5?

779 views Asked by At

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”?

1

There are 1 answers

4
Gangnus On BEST ANSWER

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.