Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Semantik von UML Sequenzdiagrammen

Ähnliche Präsentationen


Präsentation zum Thema: "Semantik von UML Sequenzdiagrammen"—  Präsentation transkript:

1 Semantik von UML Sequenzdiagrammen
Christopher Lie (227249) Betreuer: Dr. Erika Abraham

2 Gliederung Einleitung Grundlagen Semantik von UML Sequenzdiagrammen
Refinement Zusammenfassung

3 Einleitung Wir formulieren die Semantik von UML Sequenzdiagrammen mit Hilfe von Büchi Automaten. Wir zeigen die Kompositionalität der Verfeinerung.

4 Gliederung Einleitung Grundlagen Semantik von UML Sequenzdiagrammen
Refinement Zusammenfassung

5 Grundlagen NFA Hi-level NFA Büchi Automat Safety Eigenschaft
Liveness Eigenschaft

6 NFA NFA = Nichtdeterministischer endlicher Automat
‹Σ,S,δ,S0,F› - 5 Tupel Σ : Eingabealphabet S : Zustandsmenge δ : S × Σ × S : Übergangsrelation S0 ⊆ S : Startzustände F ⊆ S : Endzustände Akzeptiert endliche Wörter.

7 High-level NFA Ein Hi-Level NFA ist ein NFA, dessen Zustände Basic-NFAs oder andere nicht rekursive Hi-Level NFAs sind. Transitionen von Hi-Level NFAs werden mit ℇ beschriftet.

8 Büchi Automat Ein Büchi Automat ist ein endlicher Automat der unendliche Wörter akzeptiert. Akzeptanzbedingung: Unendlich viele Endzustände besuchen

9 Liveness Eigenschaft P
Safety Eigenschaft P P ist eine Eigenschaft, die besagt, dass etwas Schlechtes nicht passiert. ∀α∈Σωτ.α⊨P ↔ ∀i >0. ∃β∈ Σωτ. α[1..i]β ⊨P Liveness Eigenschaft P P ist eine Eigenschaft, die besagt, dass irgendwann etwas Gutes passiert. ∀α∈Σ*τ. ∃β ∈ Σωτ. αβ ⊨P

10 Gliederung Einleitung Grundlagen Semantik von UML Sequenzdiagrammen
Refinement Zusammenfassung

11 Semantik v. UML Sequenzdiagrammen
High SD High NFA Positive NFA Negative NFA „Liveness“ Büchi „Safety“ Büchi x Semantik

12 Sequenzdiagramme

13 Partielle Ordnung →NFA

14 Partielle Ordnung →NFA
Sei P := Potenzmenge der Aktionen A, Dann definiert man P' := {p ∈ P|∀i, j. i ∈ P ∧ j < i ⇒ j ∈ P}. Schließlich definieren wir die Transitionen: T := {t ∈ P' × A × P' | b = a ∪ {e} ∧ t = (a, l(e), b) }. Endzustand ist A.

15 High SD zu High NFA

16 Negativer & positiver NFA
Negativer NFA Positiver NFA

17 Flattening vom negativen NFA

18 Flattening vom positiven NFA

19 Negativer NFA → Safety Büchi
N = Negativer Büchi Automat Sei B = ¬N Reduziere B Mache alle Zustände akzeptierend →Safe(B)

20 Negativer NFA → Safety Büchi

21 Positiver NFA → Liveness Büchi
P = Positiver Automat NFA P → Büchi Automat A Reduziere A Live(A) = A ∪ ¬Safe(A)

22 Positiver NFA → Liveness Büchi

23 Semantik von SD Definition:
Sei S SD, Sl = Live(pos(S)), Ss = Safe(¬neg(S)) dann L(S) = L(Sl × Ss). Theorem: L(S) = L(Sl) ∩ L(Ss)

24 Gliederung Einleitung Grundlagen Semantik von Sequenzdiagrammen
Refinement Zusammenfassung

25 Refinement Definition : Seien S1 und S2 Sequenzdiagramme.
S1 verfeinert S2 wenn L(S1) ⊆ L(S2) Satz : Seien S1 und S2 Sequenzdiagramme. Für i = 1,2 seien Pi = pos(Si) und Ni = neg(Si). Dann S1≼S2 wenn gilt: L(N2) ⊆ L(N1) und Rej(L(P2)) ⊆ Rej(L(P1)), wobei Rej(L(A)) = Safe(L(A)) – L(A)

26 Refinement SD1SD2 ≼ SD1 SD2SD3 ≼ SD2 ⇒ SD1(SD2SD3) ≼ SD1(SD2)

27 Refinement Korollar : Sei S,T,U Sequenzdiagramm,
L(pos(S)) ∩ Rej(L(pos(T))) = L(pos(T)) ∩ Rej(L(pos(S))) = Ø, dann SU ≼ S; S+ ≼ S; S+T ≼ S und S+T ≼ T; S||T ≼ S und S||T ≼ T. T ≼U ⇒ST ≼ SU; S ≼T ⇒ (S)* ≼ (T)*; T ≼U ⇒S+T ≼ S+U und T+S ≼ U+S; T ≼U ⇒S||T ≼ S||U und T||S ≼ U||S.

28 Gliederung Einleitung Grundlagen Semantik von Sequenzdiagrammen
Refinement Zusammenfassung

29 Zusammenfassung Wir haben die Semantik von SDs mit Hilfe von Safety und Lifeness Eigenschaften bestimmt. Wenn man ein SD verfeinert, dann verfeinert man auch dessen Semantik.

30 Refinement

31 NFA → Büchi Automat


Herunterladen ppt "Semantik von UML Sequenzdiagrammen"

Ähnliche Präsentationen


Google-Anzeigen