im Wintersemester 2014/15

Größe: px
Ab Seite anzeigen:

Download "im Wintersemester 2014/15"

Transkript

1 WS 24/5 Vorlesung im Wintersemester 24/5 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV Teil.4: Petrinetze v Petrinetze

2 Einordnung.4 Petrinetze WS 24/5 Modellgetriebene SW-Entwicklung Einführung Modellbasierte Softwareentwicklung OCL Ereignisgesteuerte Prozesskette (EPK) Petrinetze Eclipse Modeling Framework (EMF) Qualitätsmanagement Testen Inkl. Beiträgen von Prof. Volker Gruhn, Jutta Mülle und Dr. Silvia von Stackelberg. Literatur (s. Vorlesungswebseite): [Rei]. Vieweg, 2. Teil I 2.4 Petrinetze

3 Einleitung Petrinetze WS 24/5 Vorheriger Abschnitt: GP-Modellierungsnotationen EPK. Intendiertes Modellverhalten informell diskutiert. Automatische Verarbeitung (z.b. Analyse, Simulation) der GP-Modelle benötigt präzise Definition des Ausführungsverhaltens. Verschiedene Ansätze: Abstract State Machines, Petrinetze,... Z.B.: Ausführungssemantik von UML 2-Aktivitätsdiagrammen mit Petrinetzen definiert. => Dieser Abschnitt: Einführung in Petrinetze 3.4 Petrinetze

4 .4 Petrinetze }.4 Petrinetze WS 24/5 Petrinetz Syntax Ausführung Analyse von Systemen 4.4 Petrinetze

5 WS 24/5 Petrinetze Modellierung, Analyse, Simulation von dynamischen Systemen mit nebenläufigen und nichtdeterministischen Merkmalen. Erlauben die Beschreibung von Kontroll- und Datenfluss. Benannt nach Carl Adam Petri (Dissertation "Kommunikation mit Automaten", 962). Vorsicht: Es existieren heute viele Varianten. 5.4 Petrinetze Kapitel 2

6 Petrinetz (informell) WS 24/5 Statische Komponente: Bipartiter gerichteter Graph, bestehend aus: zwei Sorten von Knoten: Stelle: Zwischenablage von Informationen Transition: Verarbeitung von Informationen Kanten: verbinden Stellen mit Transitionen oder umgekehrt (nie Stellen mit Stellen oder Transitionen mit Transitionen!). Dynamische Komponente: Marken ( Token ): Stellen werden mit Objekten Eingabestelle der Transition Ausgabestellen der Transition belegt. Durchlauf der Marken durch Petrinetz beschreibt dynamisches Verhalten des Systems. Stelle mit Marke 6.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S Hier: nur ungetypte, nicht unterscheidbare Marken ( Stellen/Transitions-Netz ).

7 Petrinetz: Beispiel Nachrichten-Queue Bereit Queue zu füllen Bereit zur Verarbeitung Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit WS 24/5 Queue leer Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 7.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S dazu auch Kap. (weiteres einführendes Beispiel), S. 9-8

8 Petrinetz-Syntax: Stelle WS 24/5 Bereit Queue zu füllen Nachricht annehmen Bereit zur Stelle: Verarbeitung Möglicher lokaler Zustand (passiv). Beispiele: Bedingungen, Medien, Materialbehälter, Datenträger, Puffer, Nachrichtenkanäle,... Queue gefüllt Nachricht Nachricht Queue entnehmen Verarbeiten füllen empfangsbereit Queue leer Bereit zur Nachrichtenentnahme 8.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S dazu auch Kap. (weiteres einführendes Beispiel), S. 9-8

9 Petrinetz-Syntax: Transition WS 24/5 Bereit Queue zu füllen Nachricht annehmen Bereit zur Transition: Verarbeitung Lokaler Übergang (aktiv). Beispiele: Aktionen, Handlungen, Transporte, Transformationen, Anweisungen, Programme,... Queue gefüllt Nachricht Nachricht Queue entnehmen Verarbeiten füllen empfangsbereit Queue leer Bereit zur Nachrichtenentnahme 9.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S dazu auch Kap. (weiteres einführendes Beispiel), S. 9-8

10 Petrinetz-Syntax: Kanten Bereit Queue zu füllen Kanten: Fluss (automatisch). Beispiele: Vor- und Nachbedingungen von Aktivitäten, Start und Ziel von Transporten, Eingabe und Ausgabe von Programmen,... Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit WS 24/5 Queue leer Bereit zur Verarbeitung Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S dazu auch Kap. (weiteres einführendes Beispiel), S. 9-8

11 Petrinetz-Syntax: Marken WS 24/5 Marken: Bereit zur Beispiel: Zustände einer Bedingung, Verarbeitung Gültigkeit von Bedingungen, Füllungsgrad von Speichern, Daten auf Datenträgern, Nachrichten in Puffern,... Queue gefüllt Nachricht Nachricht Queue entnehmen Verarbeiten füllen Bereit Queue zu füllen Nachricht annehmen empfangsbereit Queue leer Bereit zur Nachrichtenentnahme.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S. 24 Weiteres Beispiel Kap. 3.3, S.37-38, Abb. 3.2

12 Petrinetz-Syntax: Kantenvielfachheit Bereit Queue zu füllen Kantenvielfachheit: Gibt an, wieviele Marken beim Folgen des Flusses erzeugt oder konsumiert werden ( als default wird weggelassen). Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit WS 24/5 Queue leer Bereit zur Verarbeitung Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 2.4 Petrinetze Weiteres Beispiel Kap. 3.3, S.37-38, Abb. 3.2

13 Syntaxdefinition Petrinetz WS 24/5 K= Gegeben: S: endliche Menge von Stellen T: endliche Menge von Transitionen s t t2 mit: S, T und 2 s3 S T= t3 s4 S = {s,, s3, s4} F: Menge von Kanten mit: F (S x T) (T x S) T = {t, t2, t3} (binäre Relation). F = {(s,t), (s,t2), (t,), (t2,), (,t3), (s3,t3), (t3,s4)} 3.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S Kanten auch genannt Flüsse

14 Syntaxdefinition Petrinetz WS 24/5 K= Gegeben: K: Kapazität ( Fassungsvermögen der Stellen ) s t t2 mit: K : S ℕ { } Default-Kapazität 2 s3 W: Kantenvielfachheit t3 s4 K(s)=; K()=K(s3)=K(s4)= mit: W : F ℕ W(s,t)= W(s,t2)= W(,t)= W(,t2)= W(,t3)= W(t3,s4)=, Default-Kantengewicht W(s3,t3)= Petrinetze Kap. 2.2 (Komponenten eines Netzes), S Kantenvielfachheit auch genannt Gewicht der Kanten

15 Syntaxdefinition Petrinetz WS 24/5 K= Gegeben: s M : Globaler Startzustand t ( Anfangsmarkierung ) t2 mit: M : S ℕ 2 Dann: (S, T, F, W, K, M) ist Petrinetz s3 t3 s4 M(s)=, M()=, M(s3)= 2, M(s4)= 5.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S Diese Petrinetz-Variante wird auch S/T-Netz genannt.

16 .4 Petrinetze }.4 Petrinetze WS 24/5 Petrinetz Syntax Ausführung Analyse von Systemen 6.4 Petrinetze

17 Petrinetz-Ausführung: Zustand (lokal) Bereit Queue zu füllen Nachricht annehmen Zustand (lokal): (Stelle, Marke(n)) Interpretation je nach Bedeutung der Stelle Beispiel: Mempfangsbereit= (empfangsbereit,) Queue gefüllt Queue füllen empfangsbereit Queue leer WS 24/5 Bereit zur Verarbeitung Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 7.4 Petrinetze Weiteres Beispiel Kap. 3.3, S.37-38, Abb. 3.2

18 Petrinetz-Ausführung: Zustand (global) Bereit Queue zu füllen Zustand (global) = Markierung: Bereit zur Alle (lokalen) Zustände. Verarbeitung (Kann Stellen ohne Marken auslassen.) M = {(empfangsbereit, ), (Queue leer, ), (Bereit zur Nachrichtenentnahme, )} Queue gefüllt Nachricht annehmen WS 24/5 Queue füllen empfangsbereit Queue leer Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 8.4 Petrinetze Weiteres Beispiel Kap. 3.3, S.37-38, Abb. 3.2

19 Petrinetz: Markierung WS 24/5 Markierung: Verteilung Marken auf Stellen (aktueller Systemzustand). Markierung M: mit: M : S ℕ Markierungen müssen Kapazitäten respektieren, d.h. für jede Stelle s S gilt: M(s) K (s). Initiale Markierung: Anfangszustand eines Netzes. 9.4 Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

20 Petrinetz: Ausführung WS 24/5 Verhaltenssimulation: evolvierende Anzahl Marken pro Stelle beobachten. Basierend auf aktueller Markierung: aktivierte Transitionen ermitteln. Schalten führt zu Folgemarkierung. Unter Folgemarkierung sind (möglicherweise) andere Transitionen aktiviert. Solange iterieren, bis keine Transition mehr aktiviert ist. (=> tote Markierung ). 2.4 Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

21 Petrinetz-Syntax: Kanten (konsumierend) Bereit Queue zu füllen Kanten (konsumierend): Von Stelle zu Transition. Marken werden aus Stellen entnommen. Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit Queue leer WS 24/5 Bereit zur Verarbeitung Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 2.4 Petrinetze Weiteres Beispiel Kap. 3.3, S.37-38, Abb. 3.2

22 Petrinetz-Syntax: Kanten (erzeugend) Bereit Queue zu füllen Kanten (erzeugend): Von Transition zu Stelle. Marken werden Stellen hinzugefügt. Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit WS 24/5 Queue leer Bereit zur Verarbeitung Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 22.4 Petrinetze Weiteres Beispiel Kap. 3.3, S.37-38, Abb. 3.2

23 Vor- und Nachbereich einer Transition Vorbereich einer Transition: Menge der Stellen, die über ausgehende Kante mit Transition verbunden sind. WS 24/5 s t t2 Vorbereich von t: t={s S (s, t) F} 2 Nachbereich einer Transition: Menge der Stellen, die über eingehende Kante mit Transition verbunden sind. s3 t3 s4 t = t2 = {s}, t3 = {,s3} t = t2 = {}, t3 = {s4} Nachbereich von t: t ={s S (t., s) F} 23.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S

24 Aktivierte Transition: Definition WS 24/5 Informell: Transition ist aktiviert, wenn sie die geforderte Anzahl Marken erhalten kann und wenn die Folgemarkierung die freigesetzten Marken aufnehmen kann, d.h. wenn alle Stellen im Vorbereich der Transition ausreichend Marken besitzen (gemäß Kantengewicht der konsumierenden Kante) und Kapazitäten aller Stellen im Nachbereich der Transition groß genug sind (gemäß Kantengewicht der erzeugenden Kante) Formal: Transition t ist aktiviert genau dann, wenn: s t :M(s) W(s, t) s ' t : M(s ')+W (t, s ') K (s') 24.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S

25 Aktivierte Transition: Beispiel WS 24/5 Transition ist aktiviert, wenn sie die geforderte Anzahl Marken erhalten kann und wenn die Folgemarkierung die freigesetzten Marken aufnehmen kann. (default) s t t2 (default) K()= s 2 (default) 2 s3 t3 s4 t2= {s} und t2 = {} Sei M (s )= und M (s3 )=2 und M ( )=M (s 4 )=. Die Transition t 2 ist aktiviert, da t 2 die benötigte Marke der Kante ( t 2, s 2 ) von s erhalten kann und die Kapazität von s 2 ausreicht, um die Marke der Kante ( t 2, ) aufzunehmen. s t 2 : M(s) W(s, t 2 ) s ' t 2 : M(s ')+ W (t 2, s ') K (s ') 25.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S

26 Ausführung eines Petrinetzes: Schalten einer Transition WS 24/5 Bei Ausführung eines Petrinetzes wird jeweils eine der aktivierten Transitionen von Zustand Mx nach Zustand Mx+ geschaltet: Benötigte Marken auf Vorgänger-Stellen werden konsumiert. Produzierte Marken auf Nachfolger-Stellen abgelegt. Anzahl konsumierter / produzierter Marken jeweils gemäß Kantenvielfachheit: Gesamtanzahl Marken im Netz kann sich verändern. Folgemarkierung (= Folgezustand): Erhältlich durch Schalten jeweils genau einer Transition (nicht-deterministische Auswahl) Petrinetze Kap. 6., S

27 Schalten einer Transition: Beispiel WS 24/5 Schalten einer aktivierten Transitionen: Benötigte Marken auf Vorgänger-Stellen werden konsumiert. Produzierte Marken auf Nachfolger-Stellen abgelegt. s t2 t 2 s3 t3 s4 M(s)=,, M()=,, M(s3)= 2, M(s4)= 27.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S

28 Schalten einer Transition: Beispiel WS 24/5 Schalten einer aktivierten Transitionen: Benötigte Marken auf Vorgänger-Stellen werden konsumiert. Produzierte Marken auf Nachfolger-Stellen abgelegt. s s t2 t t2 kann schalten zu 2 s3 t2 t t3 s4 M(s)=, M()=, M(s3)= 2, M(s4)= [Alternativ kann t schalten, mit demselben Ergebnis (in diesem Fall).] 2 s3 t3 s4 M(s)=, M()=, M(s3)= 2, M(s4)= 28.4 Petrinetze Kap. 2.2 (Komponenten eines Netzes), S

29 Aktiviertheit von Transitionen: Weiteres Beispiel WS 24/5 Transition t ist aktiviert, wenn: s t :M(s) W(s, t) s ' t : M(s ')+W (t, s ') K (s') s W(s,t): Gewicht des Bogens von s nach t M(s): Anzahl Marken in s K(s): Kapazität von s K(s')= t Aktiv? W(t,s'): Gewicht des Bogens von t nach s' M(s'): Anzahl Marken in s' K(s'): Kapazität von s' K(s')= s 3 s' t Aktiv? s s' K(s')= t Aktiv? s' 29.4 Petrinetze Kap. 6., S

30 Aktiviertheit von Transitionen: Weiteres Beispiel WS 24/5 Transition t ist aktiviert, wenn: s t :M(s) W(s, t) s ' t : M(s ')+W (t, s ') K (s') s W(s,t): Gewicht des Bogens von s nach t M(s): Anzahl Marken in s K(s): Kapazität von s K(s')= t Ja! W(t,s'): Gewicht des Bogens von t nach s' M(s'): Anzahl Marken in s' K(s'): Kapazität von s' K(s')= s 3 s' t Aktiv? s s' K(s')= t Aktiv? s' 3.4 Petrinetze Kap. 6., S

31 Aktiviertheit von Transitionen: Weiteres Beispiel WS 24/5 Transition t ist aktiviert, wenn: s t :M(s) W(s, t) s ' t : M(s ')+W (t, s ') K (s') s W(s,t): Gewicht des Bogens von s nach t M(s): Anzahl Marken in s K(s): Kapazität von s K(s')= t Ja! 3 W(t,s'): Gewicht des Bogens von t nach s' M(s'): Anzahl Marken in s' K(s'): Kapazität von s' K(s')= s s' t Nein! [M()<3] s s' K(s')= t Aktiv? s' 3.4 Petrinetze Kap. 6., S

32 Aktiviertheit von Transitionen: Weiteres Beispiel WS 24/5 Transition t ist aktiviert, wenn: s t :M(s) W(s, t) s ' t : M(s ')+W (t, s ') K (s') s W(s,t): Gewicht des Bogens von s nach t M(s): Anzahl Marken in s K(s): Kapazität von s K(s')= t Ja! 3 W(t,s'): Gewicht des Bogens von t nach s' M(s'): Anzahl Marken in s' K(s'): Kapazität von s' K(s')= s s' t Nein! [M()<3] s s' K(s')= t Nein! s' [K(s')<2] 32.4 Petrinetze Kap. 6., S

33 Schalten von Transition: Zur Diskussion WS 24/5 Eine der aktivierten Transitionen wird von Zustand Mx nach Zustand Mx+ geschaltet (nicht-deterministische Auswahl): Benötigte Marken auf Vorgänger-Stellen werden konsumiert. Produzierte Marken auf Nachfolger-Stellen abgelegt. Anzahl konsumierter / produzierter Marken jeweils gemäß Bogenvielfalt: Gesamtanzahl Marken im Netz kann sich verändern. Folgemarkierung (= -zustand): Schalten jeweils genau einer Transition. Marken? Mx s K(s')= s t aktiv K(s')= t s' s' Mx Petrinetze Kap. 6., S

34 Schalten von Transition: Zur Diskussion WS 24/5 Eine der aktivierten Transitionen wird von Zustand Mx nach Zustand Mx+ geschaltet (nicht-deterministische Auswahl): Benötigte Marken auf Vorgänger-Stellen werden konsumiert. Produzierte Marken auf Nachfolger-Stellen abgelegt. Anzahl konsumierter / produzierter Marken jeweils gemäß Bogenvielfalt: Gesamtanzahl Marken im Netz kann sich verändern. Folgemarkierung (= -zustand): Schalten jeweils genau einer Transition. Mx s K(s')= s t aktiv s' K(s')= t aktiv? s' Mx Petrinetze Kap. 6., S

35 Schalten von Transition: Zur Diskussion WS 24/5 Eine der aktivierten Transitionen wird von Zustand Mx nach Zustand Mx+ geschaltet (nicht-deterministische Auswahl): Benötigte Marken auf Vorgänger-Stellen werden konsumiert. Produzierte Marken auf Nachfolger-Stellen abgelegt. Anzahl konsumierter / produzierter Marken jeweils gemäß Bogenvielfalt: Gesamtanzahl Marken im Netz kann sich verändern. Folgemarkierung (= -zustand): Schalten jeweils genau einer Transition. Mx s K(s')= s t aktiv s' K(s')= t nicht aktiv s' Mx Petrinetze Kap. 6., S

36 Petrinetz Ablauf: Beispiel Nachrichten-Queue (M) WS 24/5 Welche Transition(en) aktiviert? Bereit Queue zu füllen Bereit zur Verarbeitung Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit Queue leer Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 36.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

37 Ablauf: Beispiel (M => M) WS 24/5 Nächster Zustand? Bereit Queue zu füllen Bereit zur Verarbeitung Queue gefüllt Aktiv Nachricht annehmen Queue füllen empfangsbereit Queue leer Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 37.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

38 Ablauf: Beispiel (M) WS 24/5 Welche Transition(en) aktiviert? Bereit Queue zu füllen Bereit zur Verarbeitung Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit Queue leer Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 38.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

39 Ablauf: Beispiel (M => M2) WS 24/5 Nächster Zustand? Bereit Queue zu füllen Bereit zur Verarbeitung Aktiv Nachricht annehmen Queue gefüllt Queue füllen empfangsbereit Queue leer Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 39.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

40 Ablauf: Beispiel (M2) WS 24/5 Welche Transition(en) aktiviert? Bereit Queue zu füllen Bereit zur Verarbeitung Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit Queue leer Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 4.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

41 Ablauf: Beispiel (M2 => M3) WS 24/5 Nächster Zustand? Bereit Queue zu füllen Bereit zur Verarbeitung Queue gefüllt Aktiv Nachricht annehmen Queue füllen empfangsbereit Queue leer Aktiv Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme (Transition Nachricht entnehmen ausgeführt, ergibt M 3; alternativ: Nachricht annehmen ausführbar, ergibt anderen Zustand M 3'.) 4.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

42 Ablauf: Beispiel (M3) Bereit Queue zu füllen Bereit zur Verarbeitung Queue gefüllt Nachricht annehmen Queue füllen empfangsbereit WS 24/5 Queue leer Nachricht Nachricht entnehmen Verarbeiten Bereit zur Nachrichtenentnahme 42.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

43 Frage: Größe der Queue WS 24/5 Gibt es eine obere Grenze, wie viele Nachrichten gleichzeitig in dieser Queue enthalten sein können? 43.4 Petrinetze

44 Frage: Größe der Queue WS 24/5 Gibt es eine obere Grenze, wie viele Nachrichten gleichzeitig in dieser Queue enthalten sein können? Antwort: In der Queue kann höchstens eine Nachricht enthalten sein: Transition Queue füllen kann nur ausgeführt werden, wenn Stelle Queue leer eine Marke hat Petrinetze

45 Erreichbarkeit: Notation und Definition () WS 24/5 M [t> : bei Markierung M ist Transition t aktiviert ( [> symbolisiert Pfeil) Beispiel: (default) M [t2> s t t2 (default) K()= s 2 (default) 2 s3 t3 s Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

46 Erreichbarkeit: Notation und Definition WS 24/5 M [t> : bei Markierung M ist Transition t aktiviert ( [> symbolisiert Pfeil) M [t> M' : M' ist direkte Folgemarkierung zur Markierung M nach Schaltung von Transition t Beispiel: M [t2> M M M s t2 t s t2 t t2 kann schalten zu 2 s3 2 t3 s4 s3 t3 s Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

47 Erreichbarkeit: Notation und Definition WS 24/5 M [t> : bei Markierung M ist Transition t aktiviert ( [> symbolisiert Pfeil) M [t> M' : M' ist direkte Folgemarkierung zur Markierung M nach Schaltung von Transition t M [w> : Liste von Transitionen w=[t,t2,...,tn] ist iterativ aktiviert unter Markierung M, d.h.: M [t> M [t2> M2 [tn> Mn Queue-Beispiel: M [Nachricht annehmen> M [Queue füllen> M2 [Nachricht entnehmen> M3 w=[nachricht annehmen, Queue füllen, Nachricht entnehmen] damit: M [w> 47.4 Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

48 Erreichbarkeit: Notation und Definition WS 24/5 M [t> : bei Markierung M ist Transition t aktiviert ( [> symbolisiert Pfeil) M [t> M' : M' ist direkte Folgemarkierung zur Markierung M nach Schaltung von Transition t M [w> : Liste von Transitionen w=[t,t2,...,tn] ist iterativ aktiviert unter Markierung M, d.h.: M [t> M [t2> M2 [tn> Mn M [{t, t2,..., tn}> : Liste von Transitionen [t,t2,...,tn] ist in beliebiger Schaltungsreihenfolge iterativ aktiviert unter Markierung M (= alle Permutationen als Schaltfolgen aktiviert; genannt "nebenläufig aktiviert") Queue-Beispiel: M2 [{Nachricht entnehmen, Nachricht annehmen}> 48.4 Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

49 Erreichbarkeit: Notation und Definition WS 24/5 M [t> : bei Markierung M ist Transition t aktiviert ( [> symbolisiert Pfeil) M [t> M' : M' ist direkte Folgemarkierung zur Markierung M nach Schaltung von Transition t M [w> : Liste von Transitionen w=[t,t2,...,tn] ist iterativ aktiviert unter Markierung M, d.h.: M [t> M [t2> M2 [tn> Mn M [{t, t2,..., tn}> : Liste von Transitionen [t,t2,...,tn] ist in beliebiger Schaltungsreihenfolge iterativ aktiviert unter Markierung M (= alle Permutationen als Schaltfolgen aktiviert; genannt "nebenläufig aktiviert") [M> := {M w T* mit M [w> M} (Erreichbarkeitsmenge des Systems; die Markierungen M [M> heißen erreichbar) Queue-Beispiel: Erreichbarkeitsmenge: [M> = {M,M2,M3,M3',M4,...} 49.4 Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

50 Petrinetz Ablauf: Erreichbarkeitstabelle WS 24/5 Nr. s s3 s4 s5 s6 Schaltungen M t --> M t2 --> M2 t3 t t t4 t2 t3 M M2 M3 M3' --> M3 --> M3' --> M4 --> M --> M5 --> M6 M: s6 s3 t t2 s t4 t3 s4 s5 5.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

51 Petrinetz Ablauf: Erreichbarkeitstabelle WS 24/5 Nr. s s3 s4 s5 s6 Schaltungen M t --> M t2 --> M2 t3 t t t4 t2 t3 M M2 M3 M3' M [t> M: --> M3 --> M3' --> M4 --> M --> M5 --> M6 s6 s3 t t2 s t4 t3 s4 s5 5.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

52 Petrinetz Ablauf: Erreichbarkeitstabelle WS 24/5 Nr. s s3 s4 s5 s6 Schaltungen M t --> M t2 --> M2 t3 t t t4 t2 t3 M M2 M3 M3' M [t2> M2: --> M3 --> M3' --> M4 --> M --> M5 --> M6 s6 s3 t t2 s t4 t3 s4 s Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

53 Petrinetz Ablauf: Erreichbarkeitstabelle WS 24/5 Nr. s s3 s4 s5 s6 Schaltungen M t --> M t2 --> M2 M M2 t3 --> M3 M3 M3' t t4 t2 t3 M2 [t3> M3: --> M4 --> M --> M5 --> M6 s6 s3 t t2 s t4 t3 s4 s Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

54 Petrinetz Ablauf: Erreichbarkeitstabelle WS 24/5 Nr. s s3 s4 s5 s6 Schaltungen M t --> M t2 --> M2 t3 --> M3 t --> M3' t --> M4 t2 --> M4 M5 t3 t3 --> M6... M M2 M3 M3' M2 [t> M3': s6 s3 t t2 s t4 t3 s4 s Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

55 Erreichbarkeitsalgorithmus (breadth-first; vgl. obiges Beispiel) WS 24/5 Eingabe: Petrinetz. Ausgabe: Erreichbarkeitstabelle (vgl. vorletzte Folie).. Trage in ein Schema mit Spalten Markierungsnummer, Markierung und Schaltungen Anfangsmarkierung M ein. 2. In aktueller Markierung Mi für jede Transition t: aktiviert? Falls t aktiviert: Berechne Folgemarkierung. Folgemarkierung bereits eine Markierung M? j Wenn nicht: Benenne Folgemarkierung Mj (für ein neues j>i) und lege neue Zeile in der Tabelle für Mj an. In beiden Fällen: Trage Mi [t>mj in Zeile Mi, Spalte Schaltungen ein. 3. Mi erledigt, falls alle Transitionen überprüft. 4. Alle eingetragenen Markierungen erledigt? Ja: Erreichbarkeitsanalyse abgeschlossen Nein: Überprüfe die nächste Markierung und fahre bei 2 fort Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

56 WS 24/5 Erreichbarkeit: Tabelle als Graph Nr. s s3 s4 s5 s6 Schaltungen M t --> M M t2 --> M2 M2 t3 --> M3 t --> M3' M3 M3' t2 --> M5 t3 --> M6 Erreichbarkeitstabelle oft als Graph dargestellt: Knoten: Zustände (linke Spalte; ggf. inkl. Markierungsbelegungen) Kanten: Schaltungen (rechte Spalte) Obiges Beispiel (nur Ausschnitt!): t t Start M t2 M M3' t3 M2 M Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

57 WS 24/5 Erreichbarkeit: Tabelle als Graph Nr. s s3 s4 s5 s6 Schaltungen M t --> M M t2 --> M2 M2 t3 --> M3 t --> M3' M3 M3' t2 --> M5 t3 --> M6 t t Start M t2 M M3' t3 M2 M3 Erzeugtes Event-Log (= Menge der Folgen der ausgeführten Transitionen): {[t,t2,t3],[t,t2,t]} 57.4 Petrinetze Kap. 2.5 (Schritt), S Kap. 2.8 (Erreichbarkeit), S. 3 Kap. 3. (Erreichbarkeit), S

58 Erreichbarkeitsgraph: Weiteres Beispiel WS 24/5 NB: Bezeichnungen der Zustände im Erreichbarkeitsgraph (z.b. [c,c2]) spiegeln globalen Zustand wieder mit Markern belegte Stellen im Petrinetz Petrinetze Wil van der Aalst: Process Mining: Discovery, Conformance and Enhancement of Business Processes Kap. 2.2: S. 32 Fig. 2.

59 WS 24/5.4 Petrinetze }.4 Petrinetze Petrinetz Syntax Ausführung Analyse von Systemen 59.4 Petrinetze

60 Analyse von Petrinetzen: Animation WS 24/5 6.4 Petrinetze

61 Analyse von Systemen: Simulationsanalyse WS 24/5 6.4 Petrinetze

62 Analyse von Systemen: Simulation WS 24/5 Simulation: Kann zeigen, dass bestimmte Situationen auftreten können. Kann nicht zeigen, dass bestimmte Situationen nicht auftreten. Ausschnitt aus Menge aller möglichen Verhalten Petrinetze

63 Analyse von Systemen: Verifikation WS 24/5 Verifikation: Beweis von Eigenschaften: Statische Eigenschaften: Unabhängig von Markierungen, nur von Netztopologie abhängig. z.b. Verklemmungen / Deadlocks Dynamische Eigenschaften: Abhängig von der Menge erreichbarer Markierungen. Standardhilfsmittel: Erreichbarkeitsgraphen (s.o.) 63.4 Petrinetze

64 Analyse von Systemen: Sicherheit WS 24/5 Sei P=(S,T,F,K,W,M) Petrinetz. Abbildung B :S ℕ { } ordnet jeder Stelle eine kritische Markenzahl zu. Petrinetz P heißt: B-sicher (oder B-beschränkt), wenn für alle erreichbaren Markierungen Anzahl der Markierungen pro Stelle durch B begrenzt, d.h.: für alle M [M> und s S gilt: M(s) B(s). Beispiel: B-sicher für jedes B mit B(s)>= für alle s: t Start M s t t2 M M2 t Petrinetze Abschnitt 6. (n-beschränkt), S elchecking/node.html Abschnitt:: Definition 2383 (Petrinetz,Markierung)

65 Analyse von Systemen: Sicherheit WS 24/5 Sei P=(S,T,F,K,W,M) Petrinetz. Abbildung B :S ℕ { } ordnet jeder Stelle eine kritische Markenzahl zu. Petrinetz P heißt: [...] -sicher, 2-sicher usw., wenn B=, B=2 usw. (konstante Funktionen) Beispiel: B-sicher für B>= M2':M: M': M: M2: M: M3: M4: M3': M4: B-sicher für B>=2, aber nicht B= Start M M M2 M3 M' M2' M3' M Petrinetze Abschnitt 6. (n-beschränkt), S Abschnitt 3.5 (-beschränkt), S elchecking/node.html Abschnitt:: Definition 2383 (Petrinetz,Markierung)

66 Analyse von Systemen: Sicherheit WS 24/5 Sei P=(S,T,F,K,W,M) Petrinetz. Abbildung B :S ℕ { } ordnet jeder Stelle eine kritische Markenzahl zu. Petrinetz P heißt: B-sicher (oder B-beschränkt), wenn für alle erreichbaren Markierungen Anzahl der Markierungen pro Stelle durch B begrenzt, d.h.: für alle M [M> und s S gilt: M(s) B(s). -sicher, 2-sicher usw., wenn B=, B=2 usw. beschränkt, wenn es natürliche Zahl b gibt, für die P b-sicher. Beispiel: Beschränkt, weil B-sicher für B>= Petrinetze Abschnitt 6. (n-beschränkt), S Abschnitt 4. (beschränkt), S.52 elchecking/node.html Abschnitt:: Definition 2383 (Petrinetz,Markierung)

67 Analyse von Systemen: Sicherheit WS 24/5 Sei P=(S,T,F,K,W,M) Petrinetz. Abbildung B :S ℕ { } ordnet jeder Stelle eine kritische Markenzahl zu. Petrinetz P heißt: B-sicher (oder B-beschränkt), wenn für alle erreichbaren Markierungen Anzahl der Markierungen pro Stelle durch B begrenzt, d.h.: für alle M [M> und s S gilt: M(s) B(s). -sicher, 2-sicher usw., wenn B=, B=2 usw. beschränkt, wenn es natürliche Zahl b gibt, für die P b-sicher. Stelle s heißt b-sicher, wenn P B-sicher mit B(s)=b, und B(s )= für s' s. Beispiel: Beide Stellen sind b-sicher für b>= Petrinetze Abschnitt 6. (n-beschränkt), S Abschnitt 4. (beschränkt), S.52 elchecking/node.html Abschnitt:: Definition 2383 (Petrinetz,Markierung)

68 Analyse von Systemen: Sicherheit WS 24/5 Sei P=(S,T,F,K,W,M) Petrinetz. Abbildung B :S ℕ { } ordnet jeder Stelle eine kritische Markenzahl zu. Stelle s heißt b-sicher, wenn P B-sicher mit B(s)=b, und B(s )= für s' s. Unterschied zwischen Kapazität und Sicherheit: Kapazität begrenzt Stellenmarkierung (a priori-begrenzung). Beispiel: t ist nicht aktiviert wegen K(s)=M(s)=2. K=2 s t 68.4 Petrinetze Abschnitt 6. (Platzkapazität), S Abschnitt 3.5 (-beschränkt), S Abschnitt 4. (beschränkt), S.52 elchecking/node.html Abschnitt:: Definition 2383 (Petrinetz,Markierung)

69 Analyse von Systemen: Sicherheit WS 24/5 Sei P=(S,T,F,K,W,M) Petrinetz. Abbildung B :S ℕ { } ordnet jeder Stelle eine kritische Markenzahl zu. Stelle s heißt b-sicher, wenn P B-sicher mit B(s)=b, und B(s )= für s' s. Unterschied zwischen Kapazität und Sicherheit: Kapazität begrenzt Stellenmarkierung (a priori-begrenzung). Sicherheit beobachtet Stellenmarkierung (a posteriori-begrenzung). Beispiel: s ist nicht 2-sicher. s s ist 2-sicher. K=2 s t t 69.4 Petrinetze Abschnitt 6. (Platzkapazität), S Abschnitt 3.5 (-beschränkt), S Abschnitt 4. (beschränkt), S.52 elchecking/node.html Abschnitt:: Definition 2383 (Petrinetz,Markierung)

70 WS 24/5 Sicherheit: Beispiele Beispiel: Verkehrsplaner modelliert Ampelsystem. An bestimmter Stelle s darf sich nur ein Auto aufhalten. K(s)=: Keine Aussage über Korrektheit der Modellierung. K(s)= In Analyse prüfbar, ob B-sicher für B(s)=. Beispiel: Transition t soll nie schalten dürfen. Sicherheitseigenschaft: Beobachtungsstelle s und Bedingung B(s)= hinzufügen. t s 7.4 Petrinetze Abschnitt 6. (Platzkapazität), S Abschnitt 3.5 (-beschränkt), S Abschnitt 4. (beschränkt), S.52 elchecking/node.html Abschnitt:: Definition 2383 (Petrinetz,Markierung)

71 Analyse von Systemen: Lebendigkeit von Transitionen WS 24/5 Transition t eines Petrinetz P=(S,T,F,K,W,M) heißt: aktivierbar: In mindestens einer erreichbaren Markierung aktiviert: existiert M [M> mit: M[t> lebendig: In allen erreichbaren Markierung aktivierbar: für alle M [M> gilt: existiert M2 [M> mit: M2[t> tot: In keiner erreichbaren Markierung aktiviert: für alle M [M> gilt: M[t> Tot ist nicht logische Negation von lebendig sondern von aktivierbar! Transition ist? Transition ist? Transition ist? 7.4 Petrinetze Abschnitt 4., S.5-53 Abschnitt 4.8 (Tote Transitionen), S.59 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

72 Analyse von Systemen: Lebendigkeit von Transitionen WS 24/5 Transition t eines Petrinetz P=(S,T,F,K,W,M) heißt: aktivierbar: In mindestens einer erreichbaren Markierung aktiviert: existiert M [M> mit: M[t> lebendig: In allen erreichbaren Markierung aktivierbar: für alle M [M> gilt: existiert M2 [M> mit: M2[t> tot: In keiner erreichbaren Markierung aktiviert: für alle M [M> gilt: M[t> Tot ist nicht logische Negation von lebendig sondern von aktivierbar! Erreichbarkeitsgraph: Tote Transition t2 t t3 M Gibt in jedem Zustand nur eine Marke, Transition t3 braucht aber zwei! t M t Petrinetze Abschnitt 4., S.5-53 Abschnitt 4.8 (Tote Transitionen), S.59 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

73 Analyse von Systemen: Lebendigkeit von Transitionen WS 24/5 Transition t eines Petrinetz P=(S,T,F,K,W,M) heißt: aktivierbar: In mindestens einer erreichbaren Markierung aktiviert: existiert M [M> mit: M[t> lebendig: In allen erreichbaren Markierung aktivierbar: für alle M [M> gilt: existiert M2 [M> mit: M2[t> tot: In keiner erreichbaren Markierung aktiviert: für alle M [M> gilt: M[t> Tot ist nicht logische Negation von lebendig sondern von aktivierbar! Tote Transition Gibt in jedem Zustand nur eine Marke, Transition t3 braucht aber zwei! Transition ist? Transition ist? 73.4 Petrinetze Abschnitt 4., S.5-53 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

74 Analyse von Systemen: Lebendigkeit von Transitionen WS 24/5 Transition t eines Petrinetz P=(S,T,F,K,W,M) heißt: aktivierbar: In mindestens einer erreichbaren Markierung aktiviert: existiert M [M> mit: M[t> lebendig: In allen erreichbaren Markierung aktivierbar: für alle M [M> gilt: existiert M2 [M> mit: M2[t> Erreichbarkeitsgraph: M3 t... t2 t M t2 M... t2... t t3 M2 t t3 Lebendige Transition t 74.4 Petrinetze Abschnitt 4., S.5-53 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

75 Analyse von Systemen: Lebendigkeit von Transitionen WS 24/5 Transition t eines Petrinetz P=(S,T,F,K,W,M) heißt: aktivierbar: In mindestens einer erreichbaren Markierung aktiviert: existiert M [M> mit: M[t> lebendig: In allen erreichbaren Markierung aktivierbar: für alle M [M> gilt: existiert M2 [M> mit: M2[t> tot: In keiner erreichbaren Markierung aktiviert: für alle M [M> gilt: M[t> Tot ist nicht logische Negation von lebendig sondern von aktivierbar! Tote Transition Gibt in jedem Zustand nur eine Marke, Transition t3 braucht aber zwei! Lebendige Transition Transition ist? 75.4 Petrinetze Abschnitt 4., S.5-53 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

76 Analyse von Systemen: Lebendigkeit von Transitionen WS 24/5 Transition t eines Petrinetz P=(S,T,F,K,W,M) heißt: aktivierbar: In mindestens einer erreichbaren Markierung aktiviert: existiert M [M> mit: M[t> lebendig: In allen erreichbaren Markierung aktivierbar: für alle M [M> gilt: existiert M2 [M> mit: M2[t> tot: In keiner erreichbaren Markierung aktiviert: für alle M [M> gilt: M[t> Tot ist nicht logische Negation von lebendig sondern von aktivierbar! Erreichbarkeitsgraph: M t M t2 t M2 t2 Aktivierbare Transition 76.4 Petrinetze Abschnitt 4., S.5-53 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

77 Analyse von Systemen: Lebendigkeit von Petrinetzen WS 24/5 Petrinetz P=(S,T,F,K,W,M) heißt: lebendig: In jeder erreichbaren Markierung ist jede Transition aktivierbar: M [M> und t T gilt: M2 [M> mit: M2[t> deadlockfrei: In jeder erreichbaren Markierung ist mindestens eine Transition aktiviert: M [M> gilt: t T mit: M[t> tot: Keine Transition aktiviert: t T: M [t> System ist? System ist? System ist? 77.4 Petrinetze Abschnitt 4., S.5-53 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

78 Analyse von Systemen: Lebendigkeit von Petrinetzen WS 24/5 Petrinetz P=(S,T,F,K,W,M) heißt: lebendig: In jeder erreichbaren Markierung ist jede Transition aktivierbar: M [M> und t T gilt: M2 [M> mit: M2[t> deadlockfrei: In jeder erreichbaren Markierung ist mindestens eine Transition aktiviert: M [M> gilt: t T mit: M[t> tot: Keine Transition aktiviert: t T: M [t> Deadlockfreies System System ist? System ist? 78.4 Petrinetze Abschnitt 4., S.5-53 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

79 Analyse von Systemen: Lebendigkeit von Petrinetzen WS 24/5 Petrinetz P=(S,T,F,K,W,M) heißt: lebendig: In jeder erreichbaren Markierung ist jede Transition aktivierbar: M [M> und t T gilt: M2 [M> mit: M2[t> deadlockfrei: In jeder erreichbaren Markierung ist mindestens eine Transition aktiviert: M [M> gilt: t T mit: M[t> tot: Keine Transition aktiviert: t T: M [t> Deadlockfreies System Lebendiges System System ist? 79.4 Petrinetze Abschnitt 4., S.5-53 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

80 Analyse von Systemen: Lebendigkeit von Petrinetzen WS 24/5 Petrinetz P=(S,T,F,K,W,M) heißt: lebendig: In jeder erreichbaren Markierung ist jede Transition aktivierbar: M [M> und t T gilt: M2 [M> mit: M2[t> deadlockfrei: In jeder erreichbaren Markierung ist mindestens eine Transition aktiviert: M [M> gilt: t T mit: M[t> tot: Keine Transition aktiviert: t T: M [t> Deadlockfreies System Lebendiges System Totes System 8.4 Petrinetze Abschnitt 4., S.5-53 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

81 Analyse von Systemen: Beispiel WS 24/5 Deadlockfrei / lebendig / tot? K=2 8.4 Petrinetze

82 Analyse von Systemen: Beispiel WS 24/5 Deadlockfrei / lebendig / tot? K=2 Deadlock Antwort: Nach 2. Durchlauf entsteht Deadlock: Transition kann nicht geschaltet werden, da Kapazität der nachfolgenden Stelle erschöpft. Auch sonst dann keine Transition aktiviert. Petrinetz somit nicht deadlockfrei Petrinetze

83 Lebendigkeit von Petrinetzen: Anmerkungen WS 24/5 tot: keine Transition aktivierbar, d.h. alle Transitionen tot. (Achtung: Nicht aktivierte Transition kann trotzdem aktivierbar sein, aber wenn keine Transition im Petrinetz aktiviert ist, ist auch keine aktivierbar!) 83.4 Petrinetze Abschnitt 4., S.5-53 Abschnitt 4.8 (Tote Transitionen), S.59 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

84 Lebendigkeit von Petrinetzen: Anmerkungen WS 24/5 tot: keine Transition aktivierbar, d.h. alle Transitionen tot. (Achtung: Nicht aktivierte Transition kann trotzdem aktivierbar sein, aber wenn keine Transition im Petrinetz aktiviert ist, ist auch keine aktivierbar!) D.h. im Erreichbarkeitsgraph geht von der initialen Markierung keine Kante aus. Bedeutet häufig einen Deadlock 84.4 Petrinetze Abschnitt 4., S.5-53 Abschnitt 4.8 (Tote Transitionen), S.59 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

85 Lebendigkeit von Petrinetzen: Anmerkungen WS 24/5 tot: keine Transition aktivierbar, d.h. alle Transitionen tot. (Achtung: Nicht aktivierte Transition kann trotzdem aktivierbar sein, aber wenn keine Transition im Petrinetz aktiviert ist, ist auch keine aktivierbar!) D.h. im Erreichbarkeitsgraph geht von der initialen Markierung keine Kante aus. Bedeutet häufig einen Deadlock deadlockfrei: keine erreichbare Markierung tot. Berücksichtigung partieller Ausfälle ( graceful degradation ) Petrinetze Abschnitt 4., S.5-53 Abschnitt 4.8 (Tote Transitionen), S.59 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

86 Lebendigkeit von Petrinetzen: Anmerkungen WS 24/5 tot: keine Transition aktivierbar, d.h. alle Transitionen tot. (Achtung: Nicht aktivierte Transition kann trotzdem aktivierbar sein, aber wenn keine Transition im Petrinetz aktiviert ist, ist auch keine aktivierbar!) D.h. im Erreichbarkeitsgraph geht von der initialen Markierung keine Kante aus. Bedeutet häufig einen Deadlock deadlockfrei: keine erreichbare Markierung tot. Berücksichtigung partieller Ausfälle ( graceful degradation ). lebendig: alle Transitionen lebendig. D.h.: in Erreichbarkeitsgraph existiert von jedem Knoten ausgehend für jedes t aus T einen Pfad, in dem t als Label vorkommt Petrinetze Abschnitt 4., S.5-53 Abschnitt 4.8 (Tote Transitionen), S.59 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

87 Lebendigkeit von Petrinetzen: Anmerkungen WS 24/5 tot: keine Transition aktivierbar, d.h. alle Transitionen tot. (Achtung: Nicht aktivierte Transition kann trotzdem aktivierbar sein, aber wenn keine Transition im Petrinetz aktiviert ist, ist auch keine aktivierbar!) D.h. im Erreichbarkeitsgraph geht von der initialen Markierung keine Kante aus. Bedeutet häufig einen Deadlock deadlockfrei: keine erreichbare Markierung tot. Berücksichtigung partieller Ausfälle ( graceful degradation ). lebendig: alle Transitionen lebendig. D.h.: in Erreichbarkeitsgraph existiert von jedem Knoten ausgehend für jedes t aus T einen Pfad, in dem t als Label vorkommt. Lebendig ist nicht logische Negation von tot (sondern stärker). Gibt viele Varianten dieser Definitionen Petrinetze Abschnitt 4., S.5-53 Abschnitt 4.8 (Tote Transitionen), S.59 Anmerkung: Erreichbarkeitsgraph wird in Reisig als Markierungsgraph bezeichnet

88 Bewertung: Petrinetze WS 24/5 + Einfache und wenige Sprachelemente. + Graphisch gut darstellbar. + Marken: übersichtliche Visualisierung des Systemzustands. + Syntax und Semantik formal definiert. + Werkzeuge zur Erstellung, Analyse, Simulation, Code-Generierung vorhanden (z.b. Process Mining). + Gut geeignet für kooperierende Prozesse. - Zunächst keine Datenmodellierung (kann aber dahin erweitern) Petrinetze

89 Zusammenfassung WS 24/5 In diesem Abschnitt: Petrinetze als Grundlage für Geschäftsprozessmodellierung und für Process-Mining. Petrinetz-Syntax Ausführung Analyse von Systemen Workflow-Netze Im nächsten Abschnitt: Eclipse Modeling Framework (EMF): Standard zur Modellierung Petrinetze

90 Anhang (zum selbständigen Nacharbeiten) WS 24/5 9.4 Petrinetze

91 Petrinetz Ablauf: Erreichbarkeitstabelle WS 24/5 Nr. s s3 s4 s5 s6 Schaltungen M t --> M t2 --> M2 t3 t t t4 t2 t3 M M2 M3 M3' --> M3 --> M3' --> M4 --> M --> M5 --> M6 M3': s6 s3 t t2 s t4 t3 s4 s5 9.4 Petrinetze Weiteres Beispiel Kap. 3.4, S.4, Abb. 3.5,3.6

92 Nichtdeterministische Auswahl von Transition: Beispiel Nr. s s3 s4 s5 Schaltungen M M t2->m t4->m2 t4->m3 M2 t2->m4 t5->m5 M3 M4 M: s M4 M6... t5->m6 t3->m7 t5->m8 t2->m9 t6->m Nächster Zustand? M5 t WS 24/5 t2 2 t4 2 s3 s4 t3 t5 t6->m 5 s Petrinetze Weiteres Beispiel Kap. 3.3, S.39, Abb. 3.3

93 Nichtdeterministische Auswahl von Transition: Beispiel Nr. s s3 s4 s5 Schaltungen M t->m M t4->m3 t2->m2 M3 t2->m4 t2->m4 t5->m5 t5->m5 M4 t5->m6 M2 M4 WS 24/5 t3->m7 t5->m8 t2->m9 t6->m M: s Nächster Zustand? M5 M6... t t2 2 t4 2 s3 s4 t3 t5 t6->m 5 s Petrinetze Weiteres Beispiel Kap. 3.3, S.39, Abb. 3.3

94 Nichtdeterministische Auswahl von Transition: Beispiel Nr. s s3 s4 s5 Schaltungen M t->m M t3->m2 M2 M3 t2->m4 t5->m5 M4 M4 WS 24/5 t5->m6 t3->m7 t5->m8 t2->m9 t6->m M2: s Nächster Zustand? M5 M6... t t2 2 t4 2 s3 s4 t3 t5 t6->m 5 s Petrinetze Weiteres Beispiel Kap. 3.3, S.39, Abb. 3.3

95 Nichtdeterministische Auswahl von Transition: Beispiel Nr. s s3 s4 s5 Schaltungen M t->m M t3->m2 M2 M3 t2->m3 t5->m5 M4 M4 WS 24/5 t5->m6 t3->m7 t5->m8 t2->m9 t6->m M3: s Nächster Zustand? M5 M6... t t2 2 t4 2 s3 s4 t3 t5 t6->m 5 s Petrinetze Weiteres Beispiel Kap. 3.3, S.39, Abb. 3.3

96 Nichtdeterministische Auswahl von Transition: Beispiel Nr. s s3 s4 s5 Schaltungen M t->m M t2->m2 M2 t3->m3 M3 t4->m4 M4 t5->m5 t->m M4 M5 M6 WS 24/5 Was fällt bzgl. der Ausführung von t2 t2->m9 und t3 auf? t6->m t3->m7 t5->m8 2 M4: s... t t2 t4 2 s3 s4 t3 t5 t6->m 5 s Petrinetze Weiteres Beispiel Kap. 3.3, S.39, Abb. 3.3

97 Nichtdeterministische Auswahl von Transition: Beispiel Nr. s s3 s4 s5 Schaltungen M t->m M t2->m2 M2 t3->m3 M3 t4->m4 M4 t5->m5 t->m M4 M5 M6 2 WS 24/5 M4: s... t t2 t4 2 s3 s4 t3 t5 t2 und t4 können in beliebiger Reihenfolge ausgeführt werden und resultieren t3->m7in denselben t5->m8zustand! t2->m9( nebenläufige t6->m Aktivierung ) t6->m 5 s Petrinetze Weiteres Beispiel Kap. 3.3, S.39, Abb. 3.3

98 Beispiel: Bestückungsroboter WS 24/5 Zwei Roboter bestücken Leiterplatten mit elektronischen Bauelementen: Leiterplatten auf Fließband antransportiert (). Freier Roboter nimmt Leiterplatte vom Fließband (2). Beide Roboter frei: nichtdeterministisch entschieden, wer Leiterplatte nimmt. Jeweils ein Roboter darf auf Bauelemente-Magazin zugreifen (3), um Leiterplatte mit Bauelementen zu bestücken. Jeweils eine Leiterplatte zu einem Zeitpunkt abtransportierbar (4). (3) (4) (2) () 98.4 Petrinetze

99 Beispiel: Bestückungsroboter (M) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet Unbestückte Leiterplatte eingetroffen t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Welche Transition(en) aktiviert? 99.4 Petrinetze

100 WS 24/5 Beispiel: Bestückungsroboter (M) Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte antransportieren t s t2 Magazin ist besetzt t3 Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bestückte Leiterplatte Bauelemente bereit zum Abtransport sind abgeholt s7 Leiterplatte ist vorbereitet Unbestückte Leiterplatte eingetroffen s3 t4 s4 t5 s5 t6 bezeichnet aktivierte Transitionen. Möglicher nächster Zustand?.4 Petrinetze

101 Beispiel: Bestückungsroboter (M) WS 24/5 Roboter ist frei s6 K=2 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Welche Transition(en) aktiviert?.4 Petrinetze

102 Beispiel: Bestückungsroboter (M) WS 24/5 Roboter ist frei s6 K=2 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Möglicher nächster Zustand? 2.4 Petrinetze

103 Beispiel: Bestückungsroboter (M2) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Welche Transition(en) aktiviert? 3.4 Petrinetze

104 Beispiel: Bestückungsroboter (M2) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Möglicher nächster Zustand? 4.4 Petrinetze

105 Beispiel: Bestückungsroboter (M3) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Welche Transition(en) aktiviert? 5.4 Petrinetze

106 Beispiel: Bestückungsroboter (M3) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Möglicher nächster Zustand? 6.4 Petrinetze

107 Beispiel: Bestückungsroboter (M4) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Welche Transition(en) aktiviert? 7.4 Petrinetze

108 Beispiel: Bestückungsroboter (M4) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Möglicher nächster Zustand? 8.4 Petrinetze

109 Beispiel: Bestückungsroboter (M5) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Welche Transition(en) aktiviert? 9.4 Petrinetze

110 Beispiel: Bestückungsroboter (M5) WS 24/5 Roboter ist frei s6 Magazin ist frei Unbestückte Leiterplatte eingetroffen Unbestückte Leiterplatte antransportieren t s s7 Leiterplatte ist vorbereitet t2 t3 s3 t4 Bestückte Leiterplatte bereit zum Abtransport Roboter legt Leiterplatte ab Roboter gibt Magazin frei Roboter belegt Magazin Roboter ergreift die Leiterplatte Bauelemente sind abgeholt Magazin ist besetzt s4 t5 s5 t6 Usw Petrinetze

111 WS 24/5 Kapazitäten K: S { } erklärt eine (möglicherweise unbeschränkte) Kapazität für jede Stelle. Markierungen M: S müssen Kapazitäten respektieren, d.h. für jede Stelle s S gilt: M(s) K(s). Transitionen sind bei Verwendung von Kapazitäten nur dann aktiviert, wenn Folgemarkierung Kapazitäten respektiert..4 Petrinetze Kap. 6. (Platzkapazität, Platz=Stelle), S

112 Definition Netz: Beispiel WS 24/5 Nachrichten-Queue: Netz (S,T,F) mit S = {empfangsbereit, Bereit Queue zu füllen, Queue gefüllt, Queue leer, Bereit zur Verarbeitung, Bereit zur Nachrichtenentnahme} T = {Nachricht annehmen, Queue füllen, Nachricht entnehmen, Nachricht verarbeiten} F = {(empfangsbereit, Nachricht annehmen), (Nachricht annehmen, Bereit Queue zu füllen), (Bereit Queue zu füllen, Queue füllen), (Queue füllen, empfangsbereit), (Queue füllen, Queue gefüllt), (Queue gefüllt, Nachricht entnehmen), (Nachricht entnehmen, Queue leer), (Queue leer, Queue füllen), (Bereit zur Nachrichtenentnahme, Nachricht entnehmen), (Nachricht entnehmen, Bereit zur Verarbeitung), (Bereit zur Verarbeitung, Nachricht verarbeiten), (Nachricht verarbeiten, Bereit zur Nachrichtenentnahme)} 2.4 Petrinetze

113 Beispiel: Ampelschaltung WS 24/5 Wir wollen eine Ampelschaltung modellieren. Zwei Ampeln an einer Kreuzung Nord-Süd-Ampel und Ost-West-Ampel Abbieger-Ampel vernachlässigen wir Folgende Stellen gibt es: Rot Rot/Gelb Gelb Grün 3.4 Petrinetze

114 WS 24/5 Beispiel: Ampelschaltung Wir wollen eine Ampelschaltung modellieren. Zwei Ampeln an einer Kreuzung Nord-Süd-Ampel und Ost-West-Ampel Abbieger-Ampel vernachlässigen wir Folgende Stellen gibt es: Rot Rot/Gelb Gelb Rot Rot/Gelb Gelb Grün Grün Nord-West Ampel 4.4 Petrinetze

115 WS 24/5 Beispiel: Ampelschaltung Wir wollen eine Ampelschaltung modellieren. Zwei Ampeln an einer Kreuzung Nord-Süd-Ampel und Ost-West-Ampel Abbieger-Ampel vernachlässigen wir Folgende Stellen gibt es: Rot Rot/Gelb Gelb Rot Rot/Gelb Gelb Grün Grün Nord-West Ampel 5.4 Petrinetze

116 WS 24/5 Beispiel: Ampelschaltung Wir wollen eine Ampelschaltung modellieren. Zwei Ampeln an einer Kreuzung Nord-Süd-Ampel und Ost-West-Ampel Abbieger-Ampel vernachlässigen wir Folgende Stellen gibt es: Rot Rot/Gelb Gelb Rot Rot/Gelb Gelb Grün Grün Nord-West Ampel 6.4 Petrinetze

117 WS 24/5 Beispiel: Ampelschaltung Wir wollen eine Ampelschaltung modellieren. Zwei Ampeln an einer Kreuzung Nord-Süd-Ampel und Ost-West-Ampel Abbieger-Ampel vernachlässigen wir Folgende Stellen gibt es: Rot Rot/Gelb Gelb Rot Rot/Gelb Rot Rot/Gelb Gelb Gelb Grün Grün Grün Nord-West Ampel.4 Petrinetze Ost-West Ampel 7

118 WS 24/5 Beispiel: Ampelschaltung Wir wollen eine Ampelschaltung modellieren. Zwei Ampeln an einer Kreuzung Nord-Süd-Ampel und Ost-West-Ampel Abbieger-Ampel vernachlässigen wir Folgende Stellen gibt es: Rot Rot/Gelb Gelb Rot Rot/Gelb Rot Rot/Gelb Gelb Gelb Grün Grün Grün Nord-West Ampel.4 Petrinetze Ost-West Ampel 8

119 WS 24/5 Zweites Beispiel Was könnte folgendes Petri-Netz modellieren? Was könnten die einzelnen Token repräsentieren? Münze einwerfen Münze zurück Einwurfschlitz Einwurf möglich a Signal Kasse b Entnahmefach Entnehmen Speicher 9.4 Petrinetze

120 WS 24/5 Zweites Beispiel Was könnte folgendes Petri-Netz modellieren? Was könnten die einzelnen Token repräsentieren? Münze einwerfen Münze zurück Einwurfschlitz Einwurf möglich a Signal Kasse b Entnahmefach Entnehmen Speicher Antwort: Es könnte sich z.b. um einen Getränkeautomaten handeln. Dabei können die Token einerseits Münzen oder auch Getränkeflaschen repräsentieren. 2.4 Petrinetze

121 WS 24/5 Methodik Kein Standard zu Erstellung von Petri-Netzen vorhanden. Vorgeschlagenes Vorgehen (aus [Bal]):. Stellen und Transitionen auf hohem Abstraktionsniveau identifizieren. 2. Beziehungen ermitteln. 3. Verfeinerung und Ergänzung. 4. Festlegung der Objekte. 5. Schaltregeln identifizieren. 6. Netztyp festlegen. 7. Anfangsmarkierung festlegen. 8. Analyse, Simulation. 2.4 Petrinetze

122 Performanzanalyse, z.b.: Simulation in BPM one WS 24/ Petrinetze Wil van der Aalst: Process Mining: Discovery, Conformance and Enhancement of Business Processes Kap. 2.3: S. 56 Fig. 2.9

Warum Modellierung? OE-Vorlesung 2016 Einführung in Petrinetze. Was ist ein Modell? Und warum Petrinetze? Petrinetze sind ein Modellierungswerkzeug.

Warum Modellierung? OE-Vorlesung 2016 Einführung in Petrinetze. Was ist ein Modell? Und warum Petrinetze? Petrinetze sind ein Modellierungswerkzeug. Warum Modellierung? OE-Vorlesung 016 Einführung in Petrinetze Dr. Lawrence Cabac cabac@informatik.uni-hamburg.de Folien: Dr. Frank Heitmann Fachbereich Informatik Universität Hamburg Petrinetze sind ein

Mehr

Aufgaben Petrinetze Aufgabe 1

Aufgaben Petrinetze Aufgabe 1 Task C läuft an, wenn A und B abgelaufen sind. Aufgabe 1 A B Task A REL S1 Task B REL S2 REQ S1 REQ S2 S1 S2 Task C C Aufgabe: Task C läuft an, wenn A oder B abgelaufen sind. Zeichne das Petrinetz und

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Überblick Aufgaben Lernziele bei der Objektorientierten Analyse Abgrenzung der Analyse zum Design als Lernprozeß UML Verhaltensdiagramme

Mehr

Petri-Netze / Eine Einführung (Teil 2)

Petri-Netze / Eine Einführung (Teil 2) Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung Wiederholung (1) Petri-Netz = bipartiter, gerichteter Graph Aufbau: Plätze (passive Komponenten) Transitionen (aktive Komponenten)

Mehr

Kapitel 4: Analyse von Petrinetzen

Kapitel 4: Analyse von Petrinetzen Kapitel 4: Analyse von Petrinetzen 1. Beispiele 2. Analyseansatz 3. Markierungsgraph 4. Beschränktheit 5. State Space Explosion: Beispiel 6. Komplementbildung 7. Zusammenhängend 8. Tot, lebendig, verklemmungsfrei

Mehr

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 2016 1 Inhalt 0. Überblick 1. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik

Mehr

Modellierungsmethoden der Informatik

Modellierungsmethoden der Informatik smethoden der Informatik Petrinetze (Teil III) 05.12.2007 Überblick Überblick Organisatorisches Wiederholung S/T-System: Grundbegriffe - Grundsituationen Nebenläufigkeit Invarianten B/E-Systeme Prädikat-Transitions-Netze

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

SYNTHESE ELEMENTARER PETRINETZE

SYNTHESE ELEMENTARER PETRINETZE SYNTHESE ELEMENTARER PETRINETZE OBERSEMINARVORTRAG VON MARTIN CANDROWICZ 27. MAI 2016 GLIEDERUNG 1. PETRINETZE 2. TRANSITIONSSYSTEME 3. MOTIVATION 4. ALGORITHMUS ZUR SYNTHESE ELEMENTARER PETRINETZE 1.

Mehr

Petri-Netze / Eine Einführung

Petri-Netze / Eine Einführung Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung Carl Adam Petri am 12. Juli 1926 in Leipzig geboren Studium der Mathematik 1962 Promotion zum Doktor der Naturwissenschaft Titel

Mehr

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze Einführung in Petri-Netze Modellierung von Abläufen und Prozessen () Motivation Abhängigkeitsgraphen: A B 6 C 5 D Petri-Netze Markierungen Invarianten Credits: L. Priese, H. Wimmel: Petri-Netze, Theoretische

Mehr

Kapitel 4: Analyse von Petrinetzen

Kapitel 4: Analyse von Petrinetzen Kapitel 4: Analyse von Petrinetzen 1. Beispiele 2. Analyseansatz 3. Markierungsgraph 4. Beschränktheit 5. State Space Explosion: Beispiel 6. Komplementbildung 7. Zusammenhängend 8. Tot, lebendig, verklemmungsfrei

Mehr

Kapitel 3: Workflow-Modellierungssprachen Einführung in High-Level Petrinetze

Kapitel 3: Workflow-Modellierungssprachen Einführung in High-Level Petrinetze Kapitel 3: Workflow-Modellierungssprachen Einführung in High-Level Petrinetze 1. Überblick über Modellierungssprachen 1. Ziel: Analyse 2. Modellierungssprachen: Perspektiven und Anforderungen 2. Petrinetze

Mehr

Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze

Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze FHTW Berlin FB4, Wirtschaftsmathematik Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze Dr. Irina Stobbe, 2005-2008 Thema - Überblick Petri-Netze Petri-Netze Einführung Funktionsweise Definition

Mehr

Software-Engineering SS03. Zustandsautomat

Software-Engineering SS03. Zustandsautomat Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die

Mehr

Einführung - Systeme

Einführung - Systeme Systeme Petri-Netze Gliederung Einführung - Systeme System Zustand Arten von Systemen Petri-Netze Low-Level Petri-Netze High-Level Petri-Netze 2 System griechisch: σύστηµα = das Gebilde, Zusammengestellte,

Mehr

Prozessmodellierung mit Petri-Netzen

Prozessmodellierung mit Petri-Netzen Prozessmodellierung mit Petri-Netzen Ingo Frommholz Universität Duisburg-Essen Vorlesung "Information Engineering" SS 2007 UNIVERSITÄT D U I S B U R G E S S E N Inhaltsverzeichnis 1 Prozesse im Information

Mehr

Gemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen

Gemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen Gemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen Gliederung Geschäftsprozess Einführung der Modellierungskonzepte PetriNetz und EPK Transformation von EPK in PN

Mehr

1. Einführung in Temporallogik CTL

1. Einführung in Temporallogik CTL 1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen

Mehr

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2013

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2013 Vorlesung des Software-Engineering im Sommersemester 2013 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV v. 05.06.2013 1 2.10: Analysiere Lasagne-Prozesse [mit freundlicher Genehmigung

Mehr

Modellierung. Prof.Dr. Hans Kleine Büning, Prof.Dr. Johannes Blömer. Paderborn, 6. Februar Universität Paderborn Institut für Informatik

Modellierung. Prof.Dr. Hans Kleine Büning, Prof.Dr. Johannes Blömer. Paderborn, 6. Februar Universität Paderborn Institut für Informatik Modellierung Prof.Dr. Hans Kleine Büning, Prof.Dr. Johannes Blömer Universität Paderborn Institut für Informatik Paderborn, 6. Februar 2015 J. Blömer 1/19 Vorbereitung auf die Klausur 1 Vorlesungsinhalte

Mehr

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale

Mehr

Einführung in Petri-Netze

Einführung in Petri-Netze Einführung in Petri-Netze Modellierung und Analysen von Workflows Vertretung: Stephan Mennicke, Reaktive Systeme SS 2012 Organisatorisches In der 24. KW (11.06. 17.06.): Vorlesung am Dienstag, 15:00 Uhr

Mehr

Petri-Netze. Renate Klempien-Hinrichs und Caro von Totth. Wer sind wir?

Petri-Netze.  Renate Klempien-Hinrichs und Caro von Totth. Wer sind wir? Petri-Netze http://www.informatik.uni-bremen.de/theorie/teach/petri Renate Klempien-Hinrichs und Caro von Totth Wer sind wir? Wie ist der Kurs organisiert? Worum geht es? Wer sind wir? 1.1 Renate Klempien-Hinrichs

Mehr

Kapitel 3: Petrinetze und Workflow Modellierung

Kapitel 3: Petrinetze und Workflow Modellierung Kapitel 3: Petrinetze und Workflow Modellierung 1. Modellierung 1. Ziel: Analyse 2. Modellierungssprachen: Perspektiven und Anforderungen 2. Petrinetze 1. Geschichtliches 2. Gründe und Bestandteile 3.

Mehr

Projektdokumentation

Projektdokumentation Beschränkte Petrinetze Projektdokumentation Autoren: Michael Große Arne Brutschy 19. Februar 2003 Beschränkte Petrinetze - Dokumentation Version 0.01 2 3 Copyright c 2002 Michael Große, Arne Brutschy This

Mehr

Vorlesung Methoden des Software Engineering. Martin Wirsing. Einheit C.3, 9.12.2004

Vorlesung Methoden des Software Engineering. Martin Wirsing. Einheit C.3, 9.12.2004 Block C (Formale Methoden): Petrinetze 9.12.04 1 Vorlesung Methoden des Software Engineering Block C Formale Methoden Petrinetze Martin Wirsing Einheit C.3, 9.12.2004 Block C (Formale Methoden): Petrinetze

Mehr

Analyse von Petri-Netzen

Analyse von Petri-Netzen Universität Stuttgart Institut für Technische Informatik Hauptseminar: Architektur und Entwurfsmethoden eingebetteter Systeme Analyse von Petri-Netzen Manuela Antonovic 8. Semester Betreuer: Dominik Lücke

Mehr

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Vorlesung des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV v. 16.06.2014 1 [mit freundlicher Genehmigung basierend auf einem englischen

Mehr

4. Petri-Netze. Modellierungsaspekte bei Petri-Netzen:

4. Petri-Netze. Modellierungsaspekte bei Petri-Netzen: 4. Petri-Netze Bei Petri-Netzen handelt es sich um formale Konstrukte, die graphisch ausgestaltet sind und sich für die Modellierung und Analyse von Systemen und Prozessen eignen. Besonders gut eignen

Mehr

Kapitel 6. Konsistenz. 6.1 Ablaufkonsistenz: Workflow. 6.2 Datenkonsistenz: Serialisierbarkeit

Kapitel 6. Konsistenz. 6.1 Ablaufkonsistenz: Workflow. 6.2 Datenkonsistenz: Serialisierbarkeit Kapitel 6 Konsistenz 6.1 Ablaufkonsistenz: Workflow 6.2 Datenkonsistenz: Serialisierbarkeit 6.1 Ablaufkonsistenz: Workflow nden Informationssysteme aus (application systems, APPL), rating system, OS) aufsetzten

Mehr

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten Diskrete Ereignissysteme 4.4 Spezialisierungen von Petri Netzen Spezielle Netzstrukturen- Übersicht Ein S-T-Netz heisst Zustands-System gdw. gilt:. W(f) = für alle Kanten f F. 2. t = t = für alle Transitionen

Mehr

Motivation: Petrinetze. Vorlesung Modellierung Wintersemester 2014/15. Petri-Netze (Folien teilw. von Prof. B. König) Motivation: Petrinetze

Motivation: Petrinetze. Vorlesung Modellierung Wintersemester 2014/15. Petri-Netze (Folien teilw. von Prof. B. König) Motivation: Petrinetze Motivation: Petrinetze Vorlesung Modellierung Wintersemester 2014/15 Petri-Netze (Folien teilw. von Prof. B. König) Prof. Norbert Fuhr Petrinetze sind ein Formalismus zur Modellierung von nebenläufigen

Mehr

Modellierungsmethoden - Kapitel 3

Modellierungsmethoden - Kapitel 3 3. Petri-Netze Bei Petri-Netzen handelt es sich um formale Konstrukte, die graphisch ausgestaltet sind und sich für die Modellierung und Analyse von Systemen und Prozessen eignen. Besonders gut eignen

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Petri-Netze. Petri-Netze. Nico Bühler. Albert-Ludwigs-Universität Freiburg. 14. Januar 2016

Petri-Netze. Petri-Netze. Nico Bühler. Albert-Ludwigs-Universität Freiburg. 14. Januar 2016 Petri-Netze Nico Bühler Albert-Ludwigs-Universität Freiburg 14. Januar 016 Inhaltsverzeichnis Petri Netze allgemein Einführendes Beispiel: Vier Jahreszeiten Wechselseitiger Ausschluss Kapazität und Gewichtung

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

26.01.2009. Gliederung. Nebenläufigkeit und Fairness. 1. Nebenläufigkeit Lokalitätsprinzip. 2. Betrachtungsweisen von Nebenläufigkeit. 3.

26.01.2009. Gliederung. Nebenläufigkeit und Fairness. 1. Nebenläufigkeit Lokalitätsprinzip. 2. Betrachtungsweisen von Nebenläufigkeit. 3. Gliederung Lokalitätsprinzip Nebenläufigkeit und Fairness Seminar Model lchecking WS 08/09 Interleaving Halbordnung. Fairness Jan Engelsberg engelsbe@informatik.hu berlin.de Was ist Nebenläufigkeit? In

Mehr

Inhalt 12 Petri-Netze. 12.1 Grundlagen

Inhalt 12 Petri-Netze. 12.1 Grundlagen 1 Inhalt 1 Petri-Netze 1.1 Grundlagen 1. Bedingungs/Ereignis-Netze 1.3 Stellen/Transitions-Netze 1.4 Prädikat/Transitions-Netze 1.5 Hierarchische Petri-Netze 1.6 Zeitbehaftete Petri-Netze 1.7 Strukturelemente

Mehr

Einführung Low-Level-Netze High-Level-Netze Referenzen. Petrinetze. Benjamin Daeumlich 30.10.2006

Einführung Low-Level-Netze High-Level-Netze Referenzen. Petrinetze. Benjamin Daeumlich 30.10.2006 30.10.2006 Gliederung 1 2 3 4 . Geschichte Was sind? Petrinetz-Typen Geschichte Geschichte Was sind? Petrinetz-Typen 1962 eingeführt von Carl Adam Petri zuerst nur aber: oft zu einfach für Spezifikationszwecke

Mehr

Interleaving-Semantik: Parallelausführung wird auf Hintereinanderausführung in beliebiger Reihenfolge zurückgeführt.

Interleaving-Semantik: Parallelausführung wird auf Hintereinanderausführung in beliebiger Reihenfolge zurückgeführt. Einführung Interleaving-Semantik: Parallelausführung wird auf Hintereinanderausführung in beliebiger Reihenfolge zurückgeführt. P 1 = (a.stop) (b.stop) und P 2 = (a.b.stop) + (b.a.stop) werden nicht unterschieden.

Mehr

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009 Theoretische Informatik Rainer Schrader nichtdeterministische Turingmaschinen Zentrum für Angewandte Informatik Köln 29. April 2009 1 / 33 2 / 33 Turingmaschinen das Konzept des Nichtdeterminismus nahm

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/42 Graphische Darstellung von Zusammenhängen schon an vielen Stellen

Mehr

9. Petrinetze und Workflows 1

9. Petrinetze und Workflows 1 9. Petrinetze und Workflows Ein anschauliches Beispiel GBIS-Rahmen: Einordnung Petrinetz Anwendung Daten Steuerung Funktionen SW-Architektur Elemente der Petrinetz-Theorie - statische und dynamische Elemente

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

Petrinetze. Vorversion eines Skripts zur Vorlesung Petrinetze im SS 2002 an der Universität Paderborn. Ekkart Kindler

Petrinetze. Vorversion eines Skripts zur Vorlesung Petrinetze im SS 2002 an der Universität Paderborn. Ekkart Kindler Petrinetze Vorversion eines Skripts zur Vorlesung Petrinetze im SS 2002 an der Universität Paderborn Ekkart Kindler Version: 0.0.1 vom 10. Mai 2002 ii Vorwort Dies ist eine Vorversion eines Skripts zur

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Kapitel 2: Formale Grundlagen von Prozessbeschreibungssprachen

Kapitel 2: Formale Grundlagen von Prozessbeschreibungssprachen Informationssysteme Wintersemester 2010/11 Kapitel 2: Formale Grundlagen von Prozessbeschreibungssprachen Prof. Dr. Peter Dadam Universität Ulm Institut für Datenbanken und Informationssysteme www.uni-ulm.de/dbis

Mehr

OE-Vorlesung Einführung in Petrinetze. Dr. Köhler-Bußmeier. Department für Informatik Universität Hamburg OE 2008

OE-Vorlesung Einführung in Petrinetze. Dr. Köhler-Bußmeier. Department für Informatik Universität Hamburg OE 2008 OE-Vorlesung 2008 Einführung in Petrinetze Dr. Köhler-Bußmeier Department für Informatik Universität Hamburg OE 2008 Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 1 / 32 Übersicht 1 Informatik 2 Der Liebling

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering Vorlesung 6 Fundamentals of Software Engineering Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung 3. Strukturierte Analyse (SE) 5. Benutzersschnittstellen 6. Softwaretest 2 1 Inhaltsverzeichnis

Mehr

Willkommen zur Vorlesung. im Sommersemester 2011 Prof. Dr. Jan Jürjens

Willkommen zur Vorlesung. im Sommersemester 2011 Prof. Dr. Jan Jürjens Willkommen zur Vorlesung im Sommersemester 2011 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV 1 22. Kryptographische Protokolle: Sicherheitsanalyse 2 Einordnung Protokolle mit UMLsec

Mehr

Computergestützte Modellierung und Verifikation

Computergestützte Modellierung und Verifikation Computergestützte Modellierung und Verifikation Vorlesung mit Übungen SS 2007 Prof. F. von Henke mit Dr. H. Pfeifer Inst. für Künstliche Intelligenz Organisatorisches Vorlesung: Mi 14 16 Raum 3211 Do 14

Mehr

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie. Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit

Mehr

Untersuchung zur Verständlichkeit von Prozessmodellen

Untersuchung zur Verständlichkeit von Prozessmodellen Untersuchung zur Verständlichkeit von Prozessmodellen Sehr geehrte Teilnehmer, Auf den folgenden Seiten finden Sie einen Fragebogen zum Thema Verständlichkeit von Prozessmodellen, der an der Wirtschaftsuniversität

Mehr

Anwendungen von Graphen

Anwendungen von Graphen Anwendungen von Graphen Strassen- und Verkehrsnetze Computernetzwerke elektrische Schaltpläne Entity-Relationship Diagramme Beweisbäume endliche Automaten Syntaxbäume für Programmiersprachen Entscheidungsbäume

Mehr

Elementare Definitionen. Anwendungen von Graphen. Formalisierung von Graphen. Formalisierung von Digraphen. Strassen- und Verkehrsnetze

Elementare Definitionen. Anwendungen von Graphen. Formalisierung von Graphen. Formalisierung von Digraphen. Strassen- und Verkehrsnetze Anwendungen von Graphen Strassen- und Verkehrsnetze Computernetzwerke Elementare Definitionen Ein Graph besteht aus Knoten und Kanten, die die Knoten verbinden. elektrische Schaltpläne Entity-Relationship

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8

Mehr

Übungsblatt 3. Grundlagen der computergestützten Produktion und Logistik W1332. Fakultät für Wirtschaftswissenschaften

Übungsblatt 3. Grundlagen der computergestützten Produktion und Logistik W1332. Fakultät für Wirtschaftswissenschaften Übungsblatt 3 Grundlagen der computergestützten Produktion und Logistik W1332 Fakultät für Wirtschaftswissenschaften Sebastian Lauck, M.Sc. Wirtschaftsinformatik, -insb. CIM CIM Richtig oder Falsch? Reale

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Das Business im Process: Warum Anwender nicht BPMN sprechen

Das Business im Process: Warum Anwender nicht BPMN sprechen Das Business im Process: Warum Anwender nicht BPMN sprechen Andreas Wußler, PROMATIS software GmbH Ettlingen, 15. November 2011 1 Agenda Einleitung Petri-Netze XML-Netze BPMN 2.0 Warum Projekte scheitern

Mehr

1) Gegeben Sei der auf der rechten Seite beschriebene Prozess mit folgenden globalen Deklarationen. const int N := 4; chan c[n]; int wert := 0;

1) Gegeben Sei der auf der rechten Seite beschriebene Prozess mit folgenden globalen Deklarationen. const int N := 4; chan c[n]; int wert := 0; 1) Gegeben Sei der auf der rechten Seite beschriebene Prozess mit folgenden globalen Deklarationen. const int N := 4; chan c[n]; int wert := 0; Weiterhin hat der Prozess folgende lokale Deklaration. void

Mehr

Geschäftsprozessmodellierung Einführung, Analyse und Simulation

Geschäftsprozessmodellierung Einführung, Analyse und Simulation Geschäftsprozessmodellierung Einführung, Analyse und Simulation Johannes Michler, PROMATIS software GmbH Berlin, 05.05.2011 1 Inhalt Grundlagen Modellierungsmethode Petri-Netze Modellierung von Geschäftsprozessen

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Marc Spisländer Josef Adersberger Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 10. November 2008 Inhalt Nachlese

Mehr

Technische Applikationen von Petri-Netzen Petri-Netze in Technik und Wirtschaft

Technische Applikationen von Petri-Netzen Petri-Netze in Technik und Wirtschaft Technische Alikationen von Petri-Netzen Arbeitsblätter zur Vorlesung Fakultät für Informatik und Automatisierung Institut für Theoretische und Technische Informatik FG Rechnerarchitektur Inhalt Beisiel

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung Kapitel : Fallstudie Bipartite Graphen Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und. Minimal spannende Bäume. Kürzeste Wege 6. Traveling Salesman

Mehr

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Lexikalische Programmanalyse der Scanner

Lexikalische Programmanalyse der Scanner Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

Mehr

8. Petrinetze und Workflows 1

8. Petrinetze und Workflows 1 8. Petrinetze und Workflows Ein anschauliches Beispiel GBIS-Rahmen: Einordnung Petrinetz Anwendung Daten Steuerung Funktionen SW-Architektur Elemente der Petrinetz-Theorie - statische und dynamische Elemente

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing Algorithmen. Begriffe, Definitionen Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

5.2 Entity-Relationship-Modell

5.2 Entity-Relationship-Modell 5.2 Entity-Relationship-Modell Mod-5.8 Entity-Relationship-Modell, ER-Modell (P. Chen 1976): Kalkül zur Modellierung von Aufgabenbereichen mit ihren Objekten, Eigenschaften und Beziehungen. Weitergehende

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Vorlesung 6 Fundamentals of Software Engineering 1 Sommersemester 2016 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung 3. Strukturierte Analyse (SE) 5. Benutzersschnittstellen 6. Softwaretest

Mehr

Grenzen der Regularität

Grenzen der Regularität Grenzen der Regularität Um die Mächtigkeit von endlichen Automaten zu verstehen, muss man auch ihre Grenzen kennen. Sei z.b. B = {0 n 1 n n 0} Gibt es einen DEA für B? Es sieht so aus, als müsste sich

Mehr

Graphentheoretische Beschreibung der Petrinetze

Graphentheoretische Beschreibung der Petrinetze Graphentheoretische Beschreibung der Petrinetze Eldar Sultanow eldarsultanow @hpiuni-potsdamde Hasso-Plattner-Institut an der Universität Potsdam Zusammenfassung Abläufe lassen sich durch Graphen darstellen

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

Mehr

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

Notationen zur Prozessmodellierung

Notationen zur Prozessmodellierung Notationen zur Prozessmodellierung August 2014 Inhalt (erweiterte) ereignisgesteuerte Prozesskette (eepk) 3 Wertschöpfungskettendiagramm (WKD) 5 Business Process Model and Notation (BPMN) 7 Unified Modeling

Mehr

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if

Mehr

Bayes-Netze (2) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Bayes-Netze (2) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg Bayes-Netze (2) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl KI) Bayes-Netze (2) 1 / 23 Gliederung 1 Zusammenhang zwischen Graphenstruktur

Mehr

Generierung von Steuerungsprogrammcode für SPS und μc aus Petri-Netz-Modellen

Generierung von Steuerungsprogrammcode für SPS und μc aus Petri-Netz-Modellen Fachhochschule Köln Cologne University of Applied Sciences Fakultät für Informations-, Medien- und Elektrotechnik Institut für Automatisierungstechnik Labor für Informations- und Automatisierungstechnik

Mehr

Massive Parallelität : Neuronale Netze

Massive Parallelität : Neuronale Netze Massive Parallelität : Neuronale Netze PI2 Sommer-Semester 2005 Hans-Dieter Burkhard Massive Parallelität : Neuronale Netze Knoten: Neuronen Neuronen können erregt ( aktiviert ) sein Kanten: Übertragung

Mehr

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr