Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
DataDefinition<br />
Component<br />
Constructor<br />
Port<br />
State<br />
Selector<br />
Transition<br />
Input / Output<br />
Abbildung 4.2: Abhängigkeitsgraph der Metamodellelemente<br />
gehören zur Metamodellklasse Port. Dies hat aber keine sinnvolle Bedeutung,<br />
da AutoFocus 2-Modelle keine bidirektionalen Schnittstellen an Komponenten<br />
haben.<br />
Das Beispiel setzen wir direkt in ODL um. Wir erhalten folgenden Teilausdruck:<br />
forall pme:portMap .<br />
pme.one.Direction.IsEntry = pme.two.Direction.IsEntry<br />
Mit portMap ist hier die Unifikationsrelation bezüglich Port bezeichnet; im<br />
ODL Typsystem hat portMap den Typ set (Port, Port). Direction ist lediglich<br />
das Kapselobjekt, das den boolschen Wert IsEntry umschließt. Letzterer zeigt<br />
die Richtung, also Ein- oder Ausgabe, an.<br />
4.3.2 Externe Abhängigkeiten<br />
Im Gegensatz zu internen Abhängigkeiten stellen die externen Abhängigkeiten<br />
Bedingungen zwischen verschiedenen Modellelementklassen dar (nicht-reflexive<br />
Kanten des Abhängigkeitsgraphen). Diese Prädikate sind Bedingungen zwischen<br />
zwei Unifikationsrelationen mit folgender Struktur:<br />
∀u 1 ∈ UnifRel 1 : ∃u 2 ∈ UnifRel 2 :<br />
u 1 .one.AssociatedEntity = u 2 .one ∧ u 1 .two.AssociatedEntity = u 2 .two<br />
Die gerichteten Kanten des Graphen in Abbildung 4.2 sind so zulesen, dass<br />
der Startknoten der allquantifizierten Tupelmenge UnifRel 1 und der Zielknoten<br />
der existenzquantifizierten Tupelmenge UnifRel 2 entspricht.<br />
36