Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.