- Tips and Tricks
Release date: Monday, 10.12.12 - Due date: Sunday, 16.12.12, 23:59
Describe in your own words, with at least a sentence for each, the meta levels M0, M1, M2 and M3. If it helps you in your explanation, you can also give a concrete example and explain it.
In Task 5 (Assignment 2) you have create a DOM for a UML class diagram editor. Here is the diagram from the sample solution:
a.) Define a meta model for the DOM of the UML class diagram.
b.) Present a different model example that still conforms to your meta model defined in a.).
c.) With your newly gained knowledge about meta-levels, explain on which level your models are (3-6 sentences).
In the lecture we suggested that there is an analogy between the meta levels of UML and meta levels for regular expressions.
<RE> ::= <Terminal> | <RE><RE> | <RE>"|"<RE> | <RE>"*" | "("<RE>")"
a.) What is the corresponding level for this grammar? Explain your decision.
b.) Are there levels above and below? Name them all and give for each an example.
c.) In UML the top level conforms to itself, what is the equivalent for the Backus-Naur Form?
a.) Define a UML profile for Requirement Management. The profile should contain the concepts Stakeholder and Requirement, where the later has the properties: description and version.
Furthermore, the profiles should offer means to declare that a requirement is derived from another requirement and to link a stakeholder with a requirement.
The profile should be generic in the sense that it is applicable to arbitrary UML diagrams.
Hint: Read the task carefully and make sure that you represent the expectations as complete as possible. For the constraints on the start/endpoints of the relations it is sufficient to describe them with a note. (But you are free to use OCL instead )
b.) Instantiate your profile in a concrete class and use case diagram using in each all stereotypes defined in a.).
This lecture is named “Advanced Topics in Software Construction 2012” and has the identification number “MA-INF 3212”. Use this information as starting point (M0) and derive M1 from it with the help of a UML class diagram. After you have created M1, how do M2 and M3 look like?