Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools

Assignment 9: Model Driven Engineering - Layers, Profiles

Release date: Monday, 10.12.12 - Due date: Sunday, 16.12.12, 23:59

Task 36: Warm-Up for Meta-Models

4 Points

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.

Task 37: UML Class Diagram Editor revised

10=4+4+2 Points

In Task 5 (Assignment 2) you have create a DOM for a UML class diagram editor. Here is the diagram from the sample solution:

Domain Object Model of the Class Diagram Editor

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).

Task 38: Regular Expressions

6=2+3+1 Points

In the lecture we suggested that there is an analogy between the meta levels of UML and meta levels for regular expressions.

Given the following grammar for regular expressions in Backus-Naur Form:

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

Task 39: UML Profiles

9=5+4 Points

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.

Simplified Excerpt of the UML meta model

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.).

Task 40: Advanced Topics in Software Construction (Optional)

[6 Points]

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?

teaching/lectures/atsc/2012/assignment_9.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020