6.4 Klassendiagramme in UML Übersicht

Größe: px
Ab Seite anzeigen:

Download "6.4 Klassendiagramme in UML Übersicht"

Transkript

1 6.4 Klssendigrmme in UML Übersicht Mod UML (Unified Modelling Lnguge): die derzeit wichtigste Sprche zur Modellierung von Systemen 2. Als Zusmmenfssung mehrerer Modellierungssprchen 1997 in der Version 1.1 definiert; Version 2.0 von 2005 ist Grundlge ktueller UML-Versionen. 3. Object Mngement Group mcht ktuelle Dokumente zu UML verfügbr: Object Mngement Group: UML Resource Pge. (2010) 4. UML umfsst 13 Teilsprchen (Digrmmtypen), um unterschiedliche Aspekte von Systemen zu beschreiben, z. B. Klssendigrmme für Systemstruktur, sttische Eigenschften und Beziehungen, Sttechrts für Abläufe von Opertionen. 5. Für den Gebruch durch Menschen ht UML grphische Nottionen (visuelle Sprchen); Softwre-Werkzeuge verwendendie XML Sprche XMI (XML Metdt Interchnge) 2011 bei Prof. Dr. Uwe Kstens 6. Einführendes Buch: Chris Rupp, Stefn Queins, Brbr Zengler: UML 2 glsklr. 3. Auflge; Crl Hnser Verlg (2007) Zweck und Entwicklung von UML Die ngegebenen Aspekte werden erläutert. Vorlesung Modellierung WS 2010/11 / Folie 619

2 Bezug zum ER-Modell Klssendigrmme dienen zur Modellierung von Systemstruktur, sttischen Eigenschften und Beziehungen. Mod-6.20 Sie bsieren uf den gleichen Grundkonzepten wir ds Entity-Reltionship-Modell: ER-Modell UML Klssendigrmm Entity-Menge Attribut Reltion Klsse Attribut Assozition ER-Modell Angestellte ArbeitetIn Abteilung Leitet Mnger Nme Telefon Gehlt : int Nme Ort Nme UML Klssendigrmm 2011 bei Prof. Dr. Uwe Kstens Angestellte Nme Telefon Gehlt: int ArbeitetIn Abteilung Nme Ort Leitet Mnger Nme Gegenüberstellung: ER - UML Klssendigrmm Der Vergleich wird erläutert. Vorlesung Modellierung WS 2010/11 / Folie 620

3 Assozitionen Mod-6.22 Abteilung Ehefru Person Ehemnn Leitet VerheirtetMit Mnger zweistellig gibt die Leserichtung n zweistellig mit Angbe der Rollen BelegtMit mehrstellig Rum Termin Vernstltung 2011 bei Prof. Dr. Uwe Kstens Pssgier GebuchtFür GebuchtFür Preis: Integer Flug Assozition mit Attributen Nottionen für Assozitionen Die Konstrukte werden erläutert. Vorlesung Modellierung WS 2010/11 / Folie 622

4 ER: Krdinlität von Assozitionen Mod-6.23 [m, n] A R B Auto [1, 1] ht [0, *] Typ Automrke Jedes Objekt us A kommt in den Tupeln der Reltion R mindestens m und höchstens n ml vor. UML: A R [m, n] B Auto 0..* HtTyp 1..1 Automrke 2011 bei Prof. Dr. Uwe Kstens Jedem Objekt us A ordnet die Reltion R mindestens m und höchstens n verschiedene Objekte us B zu. Vorlesung Modellierung WS 2010/11 / Folie 623 Krdinlität von 2-stelligen Assozitionen Vergleich zwischen ER und UML: Bei gleicher Bedeutung wird die Krdinlitätsngbe n der nderen Klsse der Assozition ngebrcht.

5 Krdinlität von k-stelligen Assozitionen Mod-6.24 Jedes Objekt us E1 kommt in den Tupeln der Reltion S mindestens m und höchstens n ml vor. Jeder Kombintion von Objekten us E2,..., En ordnet die Reltion S mindestens m und höchstens n Objekte us E1 zu. ER: [m, n] UML: m..n E 1 E 2... E k S BelegtMit ER: [0, 3] UML: 0..1 Für jede Vernstltung sind zwischen 0 und 3 Rum-Termin-Kombintionen vorgesehen. (nicht in UML formulierbr) 2011 bei Prof. Dr. Uwe Kstens Rum Termin Vernstltung Für jede Rum-Termin-Kombintion ist höchstens eine Vernstltung vorgesehen. (nicht in ER formulierbr) Vorlesung Modellierung WS 2010/11 / Folie 624 Krdinlität von k-stelligen Assozitionen Vergleich zwischen ER und UML: Krdinlitätsngben n derselben Klsse hbe in ER und in UML unterschiedliche Bedeutung.

6 Aggregtion und Komposition Mod-6.25 Aggregtion: Objekte werden zu einem größeren Objekt zusmmengefsst. sie können prinzipiell uch llein existieren. Mnnschft Umfsst 0..* 6 Spieler Eine Mnnschft umfsst immer 6 Spieler Ein Spieler knn einer, mehreren oder uch keiner Mnnschft ngehören Komposition: Jedes Teilobjekt gehört unverzichtbr zu genu einem gnzen Objekt. 1 Foliennummer Vorlesungsfolie 1 1 Überschrift 2011 bei Prof. Dr. Uwe Kstens BestehtAus 1 Inhlt Eine Vorlesungsfolie besteht immer us einer Foliennummer, einer Überschrift und dem Folieninhlt. Vorlesung Modellierung WS 2010/11 / Folie 625 Aggregtion und Komposition unterscheiden Zwei verschiedene Assozitionen, die "enthlten" usdrücken: Unterschiedliche Bedeutungen werden erläutert.

7 Generlisierung, Spezilisierung Mod-6.26 Die Generlisierung (Spezilisierung) dient zur Modellierung von Abstrktionshierrchien (wie die IST-Reltion in ER): SK1 und SK2 sind speziellere Arten der llgemeineren GK. GK heißt uch Oberklsse der Unterklssen SK1 und SK2. Die Assozition knn bennnt werden, hier Arten. SK1 GK Arten {complete, disjoint} SK2 Hinsichtlich der Objekte gilt SK1 und SK2 sind Teilmengen von GK. Ds Verhältnis der Unterklssen knn weiter chrkterisiert werden: disjoint: Die Teilmengen sind prweise disjunkt. GeoFigur x-koord y-koord Arten {incomplete, disjoint} 2011 bei Prof. Dr. Uwe Kstens complete: Es gibt in dem Modell keine weiteren Unterklssen von GK Rechteck Länge Breite Kreis Rdius Vorlesung Modellierung WS 2010/11 / Folie 626 Generlisierung verstehen Vergleich mit IST in ER; Betrchtungsrichtung Generlisierung oder Spezilisierung Beispiel für nicht-disjunkte Unterklssen: XK ls gemeinsme Unterklsse von SK1 und SK2 definieren mcht SK1 und SK2 potenziell nicht-disjunkt. Unterklssen zu GK können n verschiedenen Stellen ngegeben werden.

8 Modell einer Fluggesellschft Mod-6.27 GebuchtFür vergl. Folie 6.17 Pssgier Preis Nme GebuchtFür Adresse Telnr. Abflug Dtum Flug Flugnr. Abflugort Abflugzeit Ankunftsort Ankunftszeit ExemplrVon 1..1 EingesetztFür Angestellte Nme Personlnr. Adresse Gehlt Pilot Flugstunden KnnFliegen 2011 bei Prof. Dr. Uwe Kstens Flugzeug Seriennr. Typ * Flugzeugtyp Modellnr. Hersteller Ein Beispiel im Zusmmenhng Erläuterungen und Vergleich mit ER Folie 6.17 Vorlesung Modellierung WS 2010/11 / Folie 627

9 7 Modellierung von Abläufen 7.1 Endliche Automten Mod-7.1 Endlicher Automt: Formler Klkül zur Spezifiktion von relen oder bstrkten Mschinen. Sie regieren uf äußere Ereignisse, ändern ihren inneren Zustnd, produzieren ggf. Ausgbe. Endliche Automten werden eingesetzt, um ds Verhlten reler Mschinen zu spezifizieren, z. B. Getränkeutomt, ds Verhlten von Softwre-Komponenten zu spezifizieren, z. B. Rektionen von Benutzungsoberflächen uf Bedienereignisse, Sprchen zu spezifizieren: Menge der Ereignis- oder Symbolfolgen, die der Automt kzeptiert, z. B. Schreibweise von Bezeichnern und Zhlwerten in Progrmmen Zunächst definieren wir nur die Eingbeverrbeitung der Automten; ds Erzeugen von Ausgbe fügen wir später hinzu. Chrkterisierung endlicher Automten Erläuterungen dzu Kstens, Kleine Büning: Modellierung, Abschnitt 7.1 Vorlesung Modellierung WS 2010/11 / Folie 701

10 Zwei einführende Beispiele Mod-7.2 Endlicher Automt definiert eine Sprche, d. h. eine Menge von Wörtern. Ein Wort ist eine Folge von Zeichen. Hier: Bezeichner in Pscl-Progrmmen: Buchstbe 0 1 Buchstbe Ziffer Endlicher Automt spezifiziert ds Verhlten einer Mschine. Hier: einfcher Getränkeutomt: 0 GetränkNehmen GeldRück 2EUR 1EUR 1 1EUR 2 GeldRück Akzeptiert Folgen von Buchstben und Ziffern beginnend mit einem Buchstben. Akzeptiert Folgen von Ereignissen zur Bedienung eines Getränkeutomten Endliche Automten können durch gerichtete, mrkierte Grphen drgestellt werden, Ablufgrphen. Eindruck von Automten und ihrer Drstellung Informelle Erläuterungen zu Zuständen, Übergängen, äußeren Ereignissen Kstens, Kleine Büning: Modellierung, Abschnitt 7.1 Vorlesung Modellierung WS 2010/11 / Folie 702

11 Alphbete Mod-7.3 Alphbet: Eine Menge von Zeichen zur Bildung von Zeichenfolgen, häufig mit Σ bezeichnet. Wir betrchten hier nur endliche Alphbete, z. B. {0, 1} {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} {, b,..., z} Ein Wort über einem Alphbet Σ ist eine Zeichenfolge us Σ* sttt ( 1, 2,..., n ) Σ* schreiben wir n, z. B {0, 1}* für die leere Folge schreiben wir uch ε (epsilon) Vorlesung Modellierung WS 2010/11 / Folie 703 Wörter über Alphbeten Erläuterungen und Beispiele dzu Kstens, Kleine Büning: Modellierung, Abschnitt 7.1

12 Reguläre Ausdrücke Mod-7.4 Reguläre Ausdrücke beschreiben Mengen von Worten, die nch bestimmten Regeln ufgebut sind. Seien F und G reguläre Ausdrücke, dnn gilt regulärer Menge von Worten Erklärung Ausdruck { } Zeichen ls Wort ε { ε } ds leere Wort F G { f f F } { g g G } Alterntiven F G { f g f F, g G } Zusmmenfügen von Worten F n { f 1 f 2... f n i {1,..n}: f i F } n Worte us F F* { f 1 f 2... f n n 0 und i {1,..n}: f i F } Folgen von Worten us F F + { f 1 f 2... f n n 1 und i {1,..n}: f i F } nicht-leere Folgen von Worten us F ( F ) F Klmmerung Beispiele: 1 3 ( 1 0 )* 0 3 Bezeichner = B ( B D )* mit B = b... z und D = Vorlesung Modellierung WS 2010/11 / Folie 704 Einfche Beschreibung von Wortmengen kennenlernen Erläuterungen zu rekursiver Definition von regulären Ausdrücken, Hintereinnderschreibung von Zeichen und Teilworten, Folgen von Worten, Alterntiven, Nmen für reguläre Ausdrücke Kstens, Kleine Büning: Modellierung, Abschnitt 7.1 Verständnisfrgen: Unterscheiden Sie: ds leere Wort, die leere Menge, die Menge, die nur ds leere Wort enthält.

13 Deterministischer endlicher Automt Mod-7.5 Deterministischer endlicher Automt (engl.: deterministic finite utomton, DFA): Quintupel A = (Σ, Q, δ, q 0, F) mit Σ Q δ q 0 Q F Q endliches Eingbelphbet endliche Menge von Zuständen Übergngsfunktion us Q Σ -> Q Anfngszustnd Menge der Endzustände (kzeptierend) Wir nennen r = δ(q, ) Nchfolgezustnd von q unter. A heißt deterministisch, weil es zu jedem Pr (q, ), mit q Q, Σ, höchstens einen Nchfolgezustnd δ(q, ) gibt, d. h. δ ist eine Funktion in Q. A heißt vollständig, wenn die Übergngsfunktion δ eine totle Funktion ist. Formle Definition verstehen Erläuterungen zu den Komponenten des 5-Tupels, dem Begriff "deterministisch", der Eigenschft "vollständig" Kstens, Kleine Büning: Modellierung, Abschnitt 7.1 Vorlesung Modellierung WS 2010/11 / Folie 705

14 Gerichteter Grph zu endlichem Automten Mod-7.6 Knoten: Zustände des Automten; Anfngszustnd und Endzustände werden speziell mrkiert Knten: Übergngsfunktion, q -> r mrkiert mit, genu dnn wenn δ(q, ) = r Es gibt Knten, die sich nur durch ihre Mrkierung unterscheiden, deshlb: Multigrph Beispiele von Mod-7.2: Σ := Menge der ASCII-Zeichen Q := {0, 1} δ := q 0 = 0 F = {1}...zA...Z sonstige Buchstbe 0 1 Buchstbe, Ziffer sind Nmen reg. Ausdrücke Buchstbe Ziffer Σ := {1EUR, 2EUR, GeldRück, GetränkNehmen} Q := {0, 1, 2} δ := q 0 = 0 F = {0} 1EUR 2EUR GeldRück GetränkNehmen GetränkNehmen 2EUR 2 0 1EUR 1EUR 1 GeldRück GeldRück Vorlesung Modellierung WS 2010/11 / Folie 706 Grphdrstellung verstehen Übergngsfunktion ist ls Tbelle ngegeben Mrkierung von Anfngs- und Endzuständen Zusmmenfssung von Zeichen mit gleichen Übergängen zu Zeichenklssen Kstens, Kleine Büning: Modellierung, Abschnitt 7.1

15 Akzeptierte Sprche Mod Die Zeichen einer Zeichenfolge bewirken ncheinnder Zustndsübergänge in Automten. Zustndsübergngsfunktion erweitert für Zeichenfolgen: Sei δ : Q x Σ -> Q eine Übergngsfunktion für Zeichen, ^ dnn ist δ : Q x Σ > Q eine Übergngsfunktion für Wörter, rekursiv definiert: Übergng mit dem leeren Wort: (q, ε) = q für lle q Q Übergng mit dem Wort w: (q, w) = δ ( (q, w), ) für lle q Q, w Σ, Σ Sttt schreiben wir meist uch δ. δ^ δ^ ^ δ δ^ Sei A = (Σ, Q, δ, q 0, F) ein deterministischer endlicher Automt und w Σ. A kzeptiert ds Wort w genu dnn, wenn δ (q 0, w) F. Die Menge L(A) : = { w Σ δ (q 0, w) F } heißt die von A kzeptierte Sprche. Beispiele für Sprchen, die von endlichen Automten kzeptiert werden können: L 1 = + b + = n b m L 2 = Σ n, m ΙN Es gibt keinen endlichen Automten, der L 3 = n b n kzeptiert. n ΙN Sprche eines endlichen Automten verstehen Erläuterungen Vorlesung Modellierung WS 2010/11 / Folie 707 zur Übergngsfunktion für Wörter, zur Sprche des Automten, zu Beispielen In der Prxis werden Automten meist nicht vollständig (siehe Mod-7.5) ngegeben. Sie rbeiten dnn nch der Regel des längsten Musters, d. h.: Der Automt mcht Übergänge, solnge sie für die Eingbe definiert sind. Der zuletzt durchlufene Endzustnd bestimmt ds kzeptierte Wort. Kstens, Kleine Büning: Modellierung, Abschnitt 7.1

16 Beispiele: Endliche Automten und ihre Sprchen Mod * 4. b b + b + 2. Σ Σ* b b b 3 b 3 S 6. / * * / 2011 bei Prof. Dr. Uwe Kstens X * X = Σ \ { * }, S = Σ \ { /, *} Sprche: /* Σ */ Sprchen endlicher Automten verstehen Erläuterungen zur Sprche der Automten Kstens, Kleine Büning: Modellierung, Abschnitt 7.1 Vorlesung Modellierung WS 2010/11 / Folie 708

17 Nicht-deterministischer Automt Mod Nicht-deterministisch (llgemein) : Es gibt mehrere Möglichkeiten der Entscheidung bzw. der Fortsetzung, es ist ber nicht festgelegt, welche gewählt wird. Nicht-deterministischer endlicher Automt: Die Übergngsfunktion δ knn einen Zustnd q und ein Eingbezeichen uf mehrere Nchfolgezustände bbilden δ : Q Σ -> Pow (Q). Welcher gewählt wird, ist nicht festgelegt. Σ, Q, q 0, F sind wie für deterministische endliche Automten definiert. Erweiterung von δ uf Zeichenfolgen: Sei A = ( Σ,Q, δ,q 0, F) ein nicht-deterministischer endlicher Automt; dnn ist ^ definiert: - Übergng mit dem leeren Wort: δ (q, ε) = { q } für lle q Q - Übergng mit dem Wort w: ^ δ (q, w) = {q Q p ^ δ (q, w): q δ (p, )} für lle q Q, w Σ, Σ, d. h. die Menge ller Zustände, die mn von q mit w erreichen knn δ^ Wir schreiben meist δ für δ^ Ein nicht-deterministischer endlicher Automt A kzeptiert ein Wort w gdw. δ (q 0, w) F L(A) = {w Σ δ (q 0, w) F } ist die von A kzeptierte Sprche. Vorlesung Modellierung WS 2010/11 / Folie 709 Nicht-Determiniertheit verstehen Erläuterungen zur Übergngsfunktion n Beispielen, zur Erweiterung der Übergngsfunktion, zur Nicht-Determiniertheit im Automten und im llgemeinen. Kstens, Kleine Büning: Modellierung, Abschnitt 7.1

18 Nicht-deterministische und deterministische Automten Mod Stz: Sei L(A) die Sprche eines nicht-deterministischen Automten. Dnn gibt es einen deterministischen Automten, der L(A) kzeptiert. Mn knn us einem nicht-deterministischen Automten A = (Σ,Q, δ, q 0, F) einen deterministischen A = (Σ, Q, δ, q 0, F ) systemtisch konstruieren: Jeder Zustnd us Q repräsentiert eine Menge von Zuständen us Q, d. h. Q Pow(Q) Beispiel: nicht-deterministisch A deterministisch A {0} b b b b Die Zhl der Zustände knn sich dbei exponentiell vergrößern. {0,1} b {0,2} b {0,1,2} Vorlesung Modellierung WS 2010/11 / Folie 710 Zusmmenhng der Automten verstehen (Zusmmen mit Mod-7.11) Zusmmenhng: Zustnd - Menge von Zuständen, Beispiel erläutern. L(A): Wörter über {, b}*, deren zweitletztes Zeichen ein ist. Bei n-letztem Zeichen benötigt der deterministische Automt 2 hoch n Zustände. Kstens, Kleine Büning: Modellierung, Abschnitt 7.1

19 Konstruktion deterministischer Automten Mod Sei A ein nicht-deterministischer Automte A = (Σ,Q, δ, q 0, F) drus wird ein deterministischer Automt A = (Σ, Q, δ, q 0, F ) systemtisch konstruiert: Jeder Zustnd us Q repräsentiert eine Menge von Zuständen us Q, d. h. Q Pow(Q) Konstruktionsschritte: 1. Anfngszustnd: q 0 = {q 0 } 2. Wähle einen schon konstruierten Zustnd q Q wähle ein Zeichen Σ berechne r = δ (q, ) = q q δ (q, ) d. h. r repräsentiert die Vereinigung ller Zustände, die in A von q unter erreicht werden. r wird Zustnd in Q und δ (q, ) = r wird Übergng in δ. 3. Wiederhole (2) bis keine neuen Zustände oder Übergänge mehr konstruiert werden können. 4. Endzustände: F = {q Q q F } d. h. q ist Endzustnd, wenn seine Zustndsmenge einen Endzustnd von A enthält. Vorlesung Modellierung WS 2010/11 / Folie 711 Konstruktionsprinzip verstehen (Zusmmen mit Mod-7.10) Erläuterungen zur Konstruktion, Konstruktion m Beispiel, Dies ist ein Beispiel für ein wichtiges, induktives Konstruktionsschem: Gegeben eine Regel und ein Anfngswert. Wende die Regel n, solnge sich noch etws Neues ergibt. Kstens, Kleine Büning: Modellierung, Abschnitt 7.1

20 Endliche Automten mit Ausgbe Mn knn mit endlichen Automten uch Rektionen der modellierten Mschine spezifizieren: Automten mit Ausgbe. Mod Wir erweitern den Automten um ein endliches Ausgbelphbet T und um eine Ausgbefunktion. Es gibt 2 Vrinten für die Ausgbefunktion: Mely-Automt: Eine Ausgbefunktion λ : Q x Σ -> T* ordnet den Zustndsübergängen jeweils ein Wort über dem Ausgbelphbet zu. Grphische Nottion: Moore-Automt: Eine Ausgbefunktion µ : Q -> T* ordnet den Zuständen jeweils ein Wort über dem Ausgbelphbet zu. Es wird bei Erreichen des Zustnds usgegeben. T := {x, y} 0 / x b / y 2 1 / x T := {x, y} Ein Mely-Automt knn die Ausgbe feiner differenzieren ls ein Moore-Automt. 0 b 2 x 1 y Vorlesung Modellierung WS 2010/11 / Folie 712 Zwei Ausgbevrinten Erläuterungen dzu; Wenn keine Ausgbe ngegeben ist, wird ds leere Wort ls Ausgbe ngenommen. Mely- und Moore-Automten werden uch so definiert, dss jeweils ein Zeichen sttt ein Wort usgegeben werden. Kstens, Kleine Büning: Modellierung, Abschnitt 7.1

21 Beispiele für endliche Automten mit Ausgbe Mod-7.13 Die Spezifiktion des Getränkeutomten us Mod-7.2 wird mit Ausgbe versehen: Mely-Automt Moore-Automt GetränkNehmen / Getränk GetränkNehmen 3 Getränk KlppeÖffnen 0 2EUR 1EUR GeldRück / 1EUR 1 1EUR GeldRück / 2EUR 2 0 2EUR 1EUR 1EUR 1 GeldRück GeldNehmen GeldRück 4 1EUR 5 2EUR GeldNehmen 2 Vorlesung Modellierung WS 2010/11 / Folie 713 Ausgbe zuordnen Erläuterungen dzu Mely-Automt erläutern An einigen Positionen bleibt die Ausgbe leer. Moore-Automt erläutern Zusätzliche Zustände begründen Kstens, Kleine Büning: Modellierung, Abschnitt 7.1

22 Endlicher Automt zur Telefonbedienung on-hook on-hook Idle Mod on-hook off hook Dil tone time-out do: sound dil tone time-out digit(n) Time-out do: sound loud beep on-hook Busy tone do: slow busy tone digit(n) Diling invlid number number busy vlid number Recorded messge do: ply messge on-hook Connecting do: find connection Fst busy tone do: fst busy tone on-hook / disconnect line trunk busy on-hook on-hook routed Ringing do: ring bell clled phone nswers / connect line Connected clled phone hngs up / disconnect line Disconnected messge done us: Rumbugh, Blh, Premerlni, Eddy, Lorensen: Object-oriented Modeling nd Design, Prentice-Hll, 1991 Prktisches Modellierungsbeispiel sehen Vorlesung Modellierung WS 2010/11 / Folie 714 Erläuterungen dzu Eingbe sind Ereignisse beim Telefonieren Ausgbe sind usgelöste Aktionen Ausgbe ist sowohl einigen Zuständen (do:...) ls uch einigen Übergängen (/...) zugeordnet. Kstens, Kleine Büning: Modellierung, Abschnitt 7.1 Übungsufgben: Modellieren Sie die Bedienung des Getränkeutomten durch endliche Automten. Modellieren Sie Ds Betätigen der Tsten, die Geldeingbe, Geldrückgbe und Getränkeusgbe.

23 Endliche Automten in UML: Modell einer Uhr Mod UML Digrmmtyp Sttechrts: Modellierung von Abläufen Bedienung einer Uhr Einstellen von Zeit, Wecker, Stoppuhr Konzeptuelle Grundlge: Endliche Automten Zustände können hierrchisch zu Teilutomten verfeinert werden. Mehrere Teilutomten können qusi-gleichzeitig Übergänge usführen - zur Modellierung von Nebenläufigkeit. sm Uhr-Einstellung + Zeit b b Stunde b Minute x Anfngszustnd x x 2011 bei Prof. Dr. Uwe Kstens Stunde Endzustnd elementrer Zustnd Teilutomt Stoppuhr Wecker Vorlesung Modellierung WS 2010/11 / Folie 714 UML Sttechrt m Beispiel kennenlernen Erläuterungen dzu Wiederholtes betätigen der Tste "" schltet zwischen der Einstellung von Zeit, Wecker und Stoppuhr um. Tste "x" beendet ds Einstellen. Der Teilutomt "Zeit" ist weiter verfeinert: Von jedem seiner 3 Zustände wird er mit "" oder "x" verlssen. Jedes Sttechrt knn systemtisch in einen endlichen Automten mit gleichem Verhlten trnsformiert werden. Kstens, Kleine Büning: Modellierung, Abschnitt 7.1.5

24 Mod b Modellierung von Nebenläufigkeit: Beginn eines Tennisspieles UML Sttechrt Det. endlicher Automt Aufruf S A B S A B A B S B A S B S A SpielLäuft SpielLäuft 2011 bei Prof. Dr. Uwe Kstens... Mit dem Aufruf des werden die 3 Teilutomten des mittleren Zustndes gleichzeitig ktiviert. Sie führen jeweils einen Übergng us (Ankunft von Schiedsrichter, Spieler A, Spieler B). Wenn sie ihre Endzustände erreicht hben, wird der zusmmengesetzte Zustnd verlssen.... Der gleichbedeutende endliche Automt modelliert lle Reihenfolgen der Übergänge S, A, B. Ds Sttechrt bstrhiert dvon. Vorlesung Modellierung WS 2010/11 / Folie 714b Modellierung von Nebenläufigkeit Erläuterungen dzu Es ist nicht relevnt, in welcher Reihenfolge die Übergänge in den Teilutomten des Sttechrt usgeführt werden. Deshlb ist ds Sttechrt übersichtlicher ls der endliche Automt. Kstens, Kleine Büning: Modellierung, Abschnitt 7.1.5

25 6.2 Petri-Netze Mod-7.15 Petri-Netz (uch Stellen-/Trnsitions-Netz): Formler Klkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kuslen Beziehungen Bsiert uf biprtiten gerichteten Grphen: Knoten repräsentieren Bedingungen, Zustände bzw. Aktivitäten. Knten verbinden Aktivitäten mit ihren Vor- und Nchbedingungen. Knotenmrkierung repräsentiert den veränderlichen Zustnd des Systems. grphische Nottion. C. A. Petri ht sie 1962 eingeführt. Es gibt zhlreiche Vrinten und Verfeinerungen von Petri-Netzen. Hier nur die Grundform. Anwendungen von Petri-Netzen zur Modellierung von relen oder bstrkten Automten und Mschinen kommunizierenden Prozessen in der Relität oder in Rechnern Verhlten von Hrdwre-Komponenten Geschäftsbläufe Spielpläne Einführung zu Petri-Netzen Erläuterungen dzu Kstens, Kleine Büning: Modellierung, Abschnitt 7.2 Vorlesung Modellierung WS 2010/11 / Folie 715

26 Einführendes Beispiel Mod-7.16 Ds Petri-Netz modelliert zwei zyklisch blufende Prozesse. Die mittlere Stelle synchronisiert die beiden Prozesse, so dss sie sich nicht zugleich in den Zuständen A und B befinden können. Prinzip: gegenseitiger Ausschluss durch Semphor S A B Vorlesung Modellierung WS 2010/11 / Folie 716 Eindruck von Petri-Netzen informelle Erläuterungen zu prllelen Prozessen gegenseitigem Ausschluss Mrkierung und Schlten in Petri-Netzen Kstens, Kleine Büning: Modellierung, Abschnitt 7.2

27 Definition von Petri-Netzen Mod-7.17 Ein Petri-Netz ist ein Tripel P = (S, T, F) mit S T F Menge von Stellen, repräsentieren Bedingungen, Zustände; grphisch Kreise Menge von Trnsitionen oder Übergänge, repräsentieren Aktivitäten; grphisch Rechtecke Reltion mit F S T T S repräsentieren kusle oder zeitliche Vor-, Nchbedingungen von Aktivitäten us T P bildet einen biprtiten, gerichteten Grphen mit den Knoten S T und den Knten F. Zu einer Trnsition t in einem Petri-Netz P sind folgende Stellenmengen definiert Vorbereich (t) := { s (s, t) F} 1 Nchbereich (t) := { s (t, s) F} 4 Der Zustnd des Petri-Netzes wird durch eine Mrkierungsfunktion ngegeben, die jeder Stelle eine Anzhl von Mrken zuordnet: M P : S ΙN 0 Sind die Stellen von 1 bis n nummeriert, so knn mn M P ls Folge ngeben, z. B. (1, 2, 1, 0, 1) 2 3 Vorbereich t 5 Nchbereich Vorlesung Modellierung WS 2010/11 / Folie 717 Petri-Netz forml verstehen Erläuterungen zu den Begriffen Kstens, Kleine Büning: Modellierung, Abschnitt 7.2 Verständnisfrgen: Welche Arten von Knten knn es in einem Petri-Netz nicht geben?

28 Schltregel für Petri-Netze Mod-7.18 Ds Schlten einer Trnsition t überführt eine Mrkierung M in eine Mrkierung M. Eine Trnsition t knn schlten, wenn für lle Stellen s Vorbereich (t) gilt M(s) 1. Wenn eine Trnsition t schltet, gilt für die Nchfolgemrkierung M : M (v) = M(v) - 1 für lle v Vorbereich(t) \ Nchbereich(t) M (n) = M(n) + 1 für lle n Nchbereich(t) \ Vorbereich(t) vorher t M (s) = M(s) sonst Wenn in einem Schritt mehrere Trnsitionen schlten können, wird eine dvon nicht-deterministisch usgewählt. In jedem Schritt schltet genu eine Trnsition - uch wenn ds Petri-Netz prllele Abläufe modelliert! Zwei Trnsitionen mit gemeinsmen Stellen im Vorbereich können (bei pssender Mrkierung) im Konflikt stehen: Jede knn schlten, ber nicht beide ncheinnder. nchher t Vorlesung Modellierung WS 2010/11 / Folie 718 Schltregel verstehen Schltregel erläutern nicht-deterministische Auswhl zeigen, Konflikt zwischen mehreren Trnsitionen, die Schlten können zeigen. Kstens, Kleine Büning: Modellierung, Abschnitt 7.2

29 Mrkierungen Mod-7.19 Zu jedem Petri-Netz wird eine Anfngsmrkierung M 0 ngeben. z. B. M 0 = (1, 0, 1, 0, 1) Wir sgen, eine Mrkierung M 2 ist von einer Mrkierung M 1 us erreichbr, wenn es usgehend von M 1 eine Folge von Trnsitionen gibt, die ncheinnder schlten und M 1 in M 2 überführen können b c d Die Mrkierungen eines Petri-Netzes knn mn ls gerichteten Mrkierungsgrphen drstellen: Knoten: erreichbre Mrkierung Knte x->y: Die Mrkierung x knn durch Schlten einer Trnsition in y übergehen. Mrkierungsgrph M 0 (1, 0, 1, 0, 1) c b d (0, 1, 0, 0, 1) (1, 0, 0, 1, 0) Drstellung von Mrkierungen verstehen Mrkierung ls Funktion, Tupel, Knoten im Mrkierungsgrph; Zusmmenhng zu endlichen Automten. Kstens, Kleine Büning: Modellierung, Abschnitt 7.2 Vorlesung Modellierung WS 2010/11 / Folie 719

30 Schltfolgen knn mn ngeben ls Folge von Mrkierungen Folge der geschlteten Trnsitionen Schltfolgen Mod-7.20 Beispiel für eine Schltfolge zum Petri-Netz uf Mod-6.15: (1, 0, 1, 0, 1) (0, 1, 0, 0, 1) b (1, 0, 1, 0, 1) c (1, 0, 0, 1, 0) d (1, 0, 1, 0, 1) Schltfolgen können ls Wörter einer Sprche ufgefsst werden. 1 b 3 lle Schltfolgen ohne Nchfolgemrkierung hben die Form: n b c n c 2 Petri-Netze können unbegrenzt zählen: Anzhl der Mrken uf einer Stelle. Vorlesung Modellierung WS 2010/11 / Folie 720 Mit Schltfolgen modellieren Nottion von Schltfolgen, Zusmmenhng zu Sprchen von endlichen Automten. Kstens, Kleine Büning: Modellierung, Abschnitt 7.2

31 Modellierung lternierender zyklischer Prozesse Mod-7.21 Beispiel: Einfche Modellierung einer Ampelkreuzung: 2 sich zyklisch wiederholende Prozesse Die beiden Stellen Wechselschlter koppeln die Prozesse, sodss sie lternierend fortschreiten. Nord-Süd-Richtung rot grün_n Wechselschlter Ost-West-Richtung rot grün_n Alle Stellen repräsentieren Bedingungen: 1 oder 0 Mrken Beobchtungsstelle B modelliert, wieviele Richtungen grün hben grün B grün rot_n rot_n Modellieren von Bedingungen lernen Erläuterung der zyklischen Prozesse, der Bedingungen, der Rolle der Beobchtungsstelle. Kstens, Kleine Büning: Modellierung, Abschnitt 7.2 Vorlesung Modellierung WS 2010/11 / Folie 721

32 Beispiel für ein binäres Netz Mod-7.22 Ein Petri-Netz heißt binär (sicher), wenn für lle us M 0 erreichbren Mrkierungen M und für lle Stellen s gilt M(s) 1. Petri-Netze, deren Stellen Bedingungen repräsentieren müssen binär sein. Beispiel: Modellierung einer Sensor-gesteuerten Ampelkreuzung: Wunsch rot rot Wunsch Sensor grün grün Sensor frei grün rot wieviele grün? us: B. Bumgrten: Petri-Netze, Bibliogrphisches Institut & F. A. Brockhus AG, 1990 rot grün frei Vorlesung Modellierung WS 2010/11 / Folie 722 Stellen ls Bedingungen verstehen Erläuterungen zu dem Beispiel, Vor- und Nchbedingungen diskutieren, Eigenschften diese Modells diskutieren Kstens, Kleine Büning: Modellierung, Abschnitt 7.2

33 Lebendige Petri-Netze Mod Petri-Netze modellieren häufig Systeme, die nicht nhlten sollen. Ein Petri-Netz heißt schwch lebendig, wenn es zu jeder von M 0 erreichbren Mrkierung eine Nchfolgemrkierung gibt. Eine Trnsition t heißt lebendig, wenn es zu jeder von M 0 erreichbren Mrkierung M eine Mrkierung M gibt, die von M erreichbr ist, und in der t schlten knn. Ein Petri-Netz heißt lebendig, wenn lle seine Trnsitionen lebendig sind. Verklemmung: Ein System knn unerwünscht nhlten, weil ds Schlten einiger Trnsitionen zyklisch voneinnder bhängt. Sei: σ S eine Teilmenge der Stellen eines Petri-Netzes und Vorbereich (σ) := {t s σ : (t, s) F}, d. h. die Trnsitionen, die uf Stellen in σ wirken Nchbereich (σ) := {t s σ :(s, t) F}, d. h. die Trnsitionen, die Stellen in σ ls Vorbedingung hben Dnn ist σ eine Verklemmung, wenn Vorbereich (σ) Nchbereich (σ). Wenn für lle s σ gilt M (s) = 0, dnn knn es keine Mrken uf Stellen in σ in einer Nchfolgemrkierung von M geben. Begriffe zur Lebendigkeit von Netzen verstehen Erläuterungen zu nicht-terminierenden Systemen, Lebendigkeitsbegriffen, Verklemmungen m Beispiel von Mod-7.24 Kstens, Kleine Büning: Modellierung, Abschnitt 7.2 Vorlesung Modellierung WS 2010/11 / Folie 723

34 Verklemmung beim Lesen von Dteien Mod Dtei 1 lesen Prozess 1 Dtei 1 Dtei d Dtei 2 lesen Prozess s = {1, 2, 4, 5, 7, 8} 5 Dtei 2 lesen 4 b e 7 Dtei 1 lesen 8 Vorbereich (s) = {b, c, e, f} Nchbereich (s) = {, b, c, d, e, f} c f M (s) = bei Prof. Dr. Uwe Kstens Dteien freigeben Dteien freigeben Anfngsmrkierung: (1, 1, 0, 0, 1, 0, 0, 1) Vorlesung Modellierung WS 2010/11 / Folie 724 Beispiel für eine Verklemmung Erläuterung: Jeder der Prozesse fordert ncheinnder zwei Dteien n und gibt sie dnn beide wieder frei. Die Verklemmung tritt ein, wenn jeder Prozess eine Dtei belegt und uf die ndere wrtet. Sigm chrkterisiert diese Sitution. Es gibt verschiedene Techniken, die Verklemmung zu vermeiden, z. B. Bei einem Prozess die Reihenfolge der Dteien vertuschen. Beide Dteien zugleich nfordern. Kstens, Kleine Büning: Modellierung, Abschnitt 7.2

35 Mn knn Stellen eine begrenzte Kpzität von k ΙN Mrken zuordnen. Kpzitäten und Gewichte Die Bedingung, dss eine Trnsition t schlten knn, wird erweitert um: Die Kpzität keiner der Stellen im Nchbereich von t drf überschritten werden. t k=3 k=2 Mod Knten knn ein Gewicht n ΙN zugeordnet werden: sie bewegen beim Schlten n Mrken. Beispiel: Beschränkter Puffer t knn nicht schlten 2 3 Produzent 2 Konsument k=6 Vorlesung Modellierung WS 2010/11 / Folie 725 Konzepte verstehen Erläuterung der beiden Konzepte m Beispiel. Schltregel wird ergänzt. Produzent liefert immer 2 Einheiten zugleich (Kntengewicht 2). Produzent knn nur liefern (schlten), wenn die Pufferstelle noch freie Kpzität. Kstens, Kleine Büning: Modellierung, Abschnitt 7.2

36 Beispiel: Leser-Schreiber-System Mod n Leser-Prozesse und m Schreiber-Prozesse operieren uf derselben Dtei. Mehrere Leser können zugleich lesen. Ein Schreiber drf nur dnn schreiben, wenn kein nderer Leser oder Schreiber ktiv ist. Modellierung: ein Schreiber entzieht der Synchronistionsstelle lle n Mrken. wrten Dtei lesen Dtei schreiben wrten n lesen Schreiber- Prozesse n n schreiben m Leser- Prozesse keine Aktivität Dtei freigeben n n Dtei freigeben keine Aktivität Beispiel für Kpzitäten und Gewichte Vorlesung Modellierung WS 2010/11 / Folie 726 Erläuterung des Leser-Schreiber-Systems. Allerdings können wechselnde Leser die Schreiber uf Duer blockieren. Ds Petri-Netz ist nicht fir. Kstens, Kleine Büning: Modellierung, Abschnitt 7.2 Übungsufgben: Modellieren Sie die Bedienung des Getränkeutomten durch Petri-Netze. Modellieren Sie Ds Betätigen der Tsten, die Geldeingbe, Geldrückgbe und Getränkeusgbe.