UML Stereotypen und Profile
-
Upload
oliver-stadie -
Category
Technology
-
view
254 -
download
4
Embed Size (px)
Transcript of UML Stereotypen und Profile

Systemmodellierung mit SysML - Stereotypen und Profile
Oliver Stadie
15. Juni 2010

Systemmodellierung mit SysML - Stereotypen und Profile 2
Gliederung● Vorwissen:
– Metamodell● Profile & Stereotypen:
– Motivation– Definition & Benutzung– Zusammenfassung
● Diskussionen & Erweiterte Konzepte

Systemmodellierung mit SysML - Stereotypen und Profile 3
Gliederung● Vorwissen:
– Metamodell● Profile & Stereotypen:
– Motivation– Definition & Benutzung– Zusammenfassung
● Diskussionen & Erweiterte Konzepte

Systemmodellierung mit SysML - Stereotypen und Profile 4
Objekte als Instanzen von Klassen
waldi
rex
Hund Instanz von

Systemmodellierung mit SysML - Stereotypen und Profile 5
Links als Instanzen von Assoziationen
waldi:Hund
Hund
Schaf
sven:Schaf
emilia:Schaf
Instanz von

Systemmodellierung mit SysML - Stereotypen und Profile 6
UML-Elemente als Instanzen des Metamodells (1)
wartend
arbeitendState
FinalState
Transition
Instanz von

Systemmodellierung mit SysML - Stereotypen und Profile 7
Metamodell UML UML Modell
UML-Elemente als Instanzen des Metamodells (2)
wartend
arbeitendState
FinalState
Transition
Instanzen von

Systemmodellierung mit SysML - Stereotypen und Profile 8
Metamodell UML UML Modell
UML-Elemente als Instanzen des Metamodells (3)
Association
Operation
Class
Actor
Hund...
wau()Schaf
...mää()
Instanzen von

Systemmodellierung mit SysML - Stereotypen und Profile 9
Gliederung● Vorwissen:
– Metamodell● Profile & Stereotypen:
– Motivation– Definition & Benutzung– Zusammenfassung
● Diskussionen & Erweiterte Konzepte

Systemmodellierung mit SysML - Stereotypen und Profile 10
unified vs. spezialisiert● Allgemein: möglichst jede OO-SW soll
beschrieben werden können.● Speziell: die Beschreibung soll möglichst
aussagekräftig sein.● Lösung: Allgemeine Sprache, welcher
spezielle Sprachelemente hinzugefügt werden können.
● Vergleichbar: Wortdefinitionen in natürlicher Sprache

Systemmodellierung mit SysML - Stereotypen und Profile 11
schwer- vs. leichtgewichtig
Class
Metamodell UML UML Modell
Instanzen von
ActorHund wartendState
NeuesSprachelement
Schwergewichtige Erweiterung(Ändern des Metamodells)
Leichtgewichtige Erweiterung
(ohne Ändern des Metamodells)

Systemmodellierung mit SysML - Stereotypen und Profile 12
Gliederung● Vorwissen:
– Metamodell● Profile & Stereotypen:
– Motivation– Definition & Benutzung– Zusammenfassung
● Diskussionen & Erweiterte Konzepte

Systemmodellierung mit SysML - Stereotypen und Profile 13
Benutzung eines Stereotypen (1)
Hund
Tier Vierbeiner

Systemmodellierung mit SysML - Stereotypen und Profile 14
Benutzung eines Stereotypen (2)
Hund«JavaClass»
Tier Vierbeiner
● Stereotypen in „Guilleme(n)ts“ angeben

Systemmodellierung mit SysML - Stereotypen und Profile 15
Benutzung eines Stereotypen (3)
Hund«JavaClass»
Tier Vierbeiner
«JavaClass»author=“oli“version=1.0
● Eigenschaften des Stereotyps in Kommentarsymbol

Systemmodellierung mit SysML - Stereotypen und Profile 16
Definition eines Stereotypen (1)● Erweiterungsbeziehung (engl. extension):
«metaclass»Class
«stereotype»JavaClass

Systemmodellierung mit SysML - Stereotypen und Profile 17
Definition eines Stereotypen (2)● Eigenschaften des Stereotyps (engl. tagged
values) als Attribute:
«metaclass»Class
«stereotype»JavaClass
+author:String +version:double

Systemmodellierung mit SysML - Stereotypen und Profile 18
Definition eines Stereotypen (3)● Semantik z.B. über OCL definieren:
«metaclass»Class
«stereotype»JavaClass
+author:String +version:double
«metaclass»Generalization
*generalization->size() <= 1

Systemmodellierung mit SysML - Stereotypen und Profile 19
myJavaProfile
Definition eines Profils
«metaclass»Class
«stereotype»JavaClass
● Profil: Menge von Stereotypen (als Paket):
+author:String +version:double
«metaclass»Generalization
*generalization->size() <= 1

Systemmodellierung mit SysML - Stereotypen und Profile 20
Benutzung eines Profils● Profil muss mittels «apply» verknüpft werden,
um Stereotypen benutzen zu dürfen:
myApplication myJavaProfile«apply»

Systemmodellierung mit SysML - Stereotypen und Profile 21
Gliederung● Vorwissen:
– Metamodell● Profile & Stereotypen:
– Motivation– Definition & Benutzung– Zusammenfassung
● Diskussionen & Erweiterte Konzepte

Systemmodellierung mit SysML - Stereotypen und Profile 22
Zusammenfassung● Definition:
– Stereotyp:● Klasse als Erweiterung ( ) einer Metaklasse● Schlüsselwort «stereotype» in der Klasse
– Profil: Als Paket welches Stereotyp-Definitionen enthält● Benutzung:
– Stereotyp: UML-Element mit Name des Stereotypen in Guillemets («,») beschriften
– Profil: Paket welches Stereotypen benutzt bindet Profil-Paket mittels «apply» ein.

Systemmodellierung mit SysML - Stereotypen und Profile 23
Quellen● Weilkiens, Tim: System Engineering mit SysML/UML.
Modellierung, Analyse, Design. 2. Auflage. Heidelberg: dpunkt.verlag GmbH, 2008.
● Born, Marc / Holz, Eckhardt / Kath, Olaf: Softwareentwicklung mit UML 2. Die neuen Entwurfstechniken UML 2, MOF 2 und MDA. München: Addison-Wesley Verlag, 2004.
● Hausding, Peer: Systemmodellierung mit SysML. Studienarbeit. Berlin: 9. März 2010.
● UML Profile Diagrams, Internet: http://uml.kirfa.com/profile-diagrams.html [12.06.2010]

Systemmodellierung mit SysML - Stereotypen und Profile 24
Gliederung● Vorwissen:
– Metamodell● Profile & Stereotypen:
– Motivation– Definition & Benutzung– Zusammenfassung
● Diskussionen & Erweiterte Konzepte

Systemmodellierung mit SysML - Stereotypen und Profile 25
Gliederung● Diskussionen & Erweiterte Konzepte
– Warnung!– Hinweis– Was können Stereotypen?– Leichtgewichtig oder nicht?– Required extensions– Mehrere Stereotypen– Icons

Systemmodellierung mit SysML - Stereotypen und Profile 26
Warnung!● Achtung: Guillemets heißt nicht immer Stereotyp!● Beispiele aus bisherigen Vorträgen:
– Klassendiagramm: «active», «datatype», «enumeration», «interface», «primitive», «signal»
– Aktivitätsdiagramm: «precondition», «postcondition», «subsystem», «Transformation»
– Anwendungsfalldiagramm: «include», «extend»● Nur ein Stereotyp dabei («subsystem»)● Unklarheit in der Sprache UML

Systemmodellierung mit SysML - Stereotypen und Profile 27
Hinweis● „die drei großen Tugenden eines Programmierers
[...]: Faulheit, Ungeduld und Hybris.“ - Larry Wall in Programmieren mit Perl
● Es gibt fertige standardisierte Profile● Bsp:
– StandardProfileL2– UML Testing Profile– SysML

Systemmodellierung mit SysML - Stereotypen und Profile 28
Was können Stereotypen?● Stereotypen haben keine eigene Semantik, auch nicht
mit tagged values● Semantik wird erst durch Tools hinzugefügt, z.B.:
– tagged value „author“ in Code-Kommentare einfügen
– Auswertung der OCL-Constraints● Erinnerung aus „unified vs. spezialisiert“:
– Speziell heißt die Beschreibung soll möglichst aussagekräftig sein. ← Ziel erreicht?

Systemmodellierung mit SysML - Stereotypen und Profile 29
Leichtgewichtig oder nicht? (1)● Leichtgewichtig := keine Erweiterung im Metamodell● Metamodell in Blau, UML-Modell in Orange:
myApplication myProfile«apply»
«metaclass»Class
«stereotype»myStereo01
«metaclass»State
«stereotype»myStereo02
MetaModellReferenzieren

Systemmodellierung mit SysML - Stereotypen und Profile 30
Leichtgewichtig oder nicht? (2)● Nachteil schwergewichtiger Erweiterung:
– UML Metamodell ist in UML definiert– → UML Metamodell kann als SW implementiert
werden, z.B. von Tools wie MagicDraw– → Änderung des Metamodells würde Änderung
des Tools erfordern● Nachteil leichtgewichtiger Erweiterung:
– Nicht alles möglich– z.B. grafische Notation:
MyButton«GUI»
……
Farb
e

Systemmodellierung mit SysML - Stereotypen und Profile 31
Required extensions● {requires} sagt, dass eine UML-Komponente einem
Stereotyp angehören muss:myProfile
«apply»
«metaclass»State
«stereotype»myStereo01
{requires}
myStateMachine
wartend Arbeitend«myStereo01»
Fehler, wenn „wartend“ nicht dem Stereotyp myStereo01 angehört

Systemmodellierung mit SysML - Stereotypen und Profile 32
Mehrere Stereotypen● Stereotypen durch Komma abtrennen● Im Kommentar nacheinander auflisten
myProfile
«apply»
«metaclass»State
«stereotype»myStereo01
myStateMachine
Arbeitend«myStereo01, myStereo02»
+author:String
«stereotype»myStereo02+date:Date
«myStereo01»author=“hugo“«myStereo02»date=15.06.2010

Systemmodellierung mit SysML - Stereotypen und Profile 33
Icons● Definition von Icons:
● Alternative Notationen:
● Nicht möglich: Strukturierte Icons (z.B. mit Attributen an definierten Positionen)