开发者

UML Specification - Without Change Bars vs With Change Bars & Superstructure vs Infrastructure

Regarding the specifications here: http://www.omg.org/technology/documents/formal/uml.htm

What is the difference between without and with change bars?

As for "superstructure and infrastructure", I found out the following:

The UML infrastructure specification defines the foundational language constructs required for UML 2.1.2. It is complemented by UML Superstructure, which defines the user level constructs required for UML 2.1.2. The two complementary specifications constitute a complete specification for the UML 2 modeling language.

Where do I look into if I want to know 开发者_如何学编程the UML metamodel in order to know how to map a language construct into a UML model?


Change Bars: On the left hand margin you can see black bars wherever there has been a change since last version, that is why even the footer has changed as the version has. In section 7.3.32 you can see a change bar in the constraints section where something clearly changed.

Superstructure vs Infrastructure: Use the superstructure for learning more about the UML model to map like constructs to help create correct stereotypes, domain specific models using UML constructs, and creating UML profiles. This is 90% of the typical need. In fact section 18 in the superstructure covers profiles. Infrastructure is for how UML hangs together internally and is packaged up into different functional areas. It also defines parts that are not even "exposed" to the user of UML. Not typically needed unless you are going to mess with UML at the MOF level, just normally not needed and more difficult.


Regarding "Superstructure vs Infrastructure".

  1. UML Infrastructure defines the basic constructs of the language on which UML is based. This section is not directly relevant to the users of UML, but more towards the developers of modeling tools. It is used to provide mechanisms of adjustment the language and a reusable meta-language core to define UML itself in terms of metamodeling. And as we know a metamodel is "a precise definition of the constructs and rules needed for creating semantic models.". That's why it is rather complicated and highly "abstract".
  2. UML Superstructure defines the user constructs of UML 2.0. It means those elements of UML that users will use at the immediate level: artifacts, diagrams (class, sequence, etc.). So if you use UML as a modeling language to formalise software requirements, architecture, functionality, flow of control, then UML superstructure is what you actually need to study and is the main focus for the user community of UML.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜