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

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

Software Engineering in der Praxis

Modellierungsmethoden der Informatik

3.0 VU Formale Modellierung

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

Kapitel 4: Analyse von Petrinetzen

Petri-Netze / Eine Einführung

Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze

Kapitel 4: Analyse von Petrinetzen

SYNTHESE ELEMENTARER PETRINETZE

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

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

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

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

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

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

Software-Engineering SS03. Zustandsautomat

Projektdokumentation

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

Analyse von Petri-Netzen

Musterlösung zur Klausur Prozess- und Daten-Modellierung. Termin: , 8:00 09:30 Uhr

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

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

Einführung - Systeme

WS 2009/10. Diskrete Strukturen

Prozessmodellierung mit Petri-Netzen

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Modellierung Zusammenfassung WS2000

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}}

Modellbildung und Analyse eingebetteter Systeme für mechatronische Anwendungen mit höheren Petri-Netze unter Verwendung verschiedener Erweiterungen

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

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

Anwendungen von Graphen

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

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

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

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

Software Engineering Ergänzung zur Vorlesung

Analyse von Petrinetz-Modellen: Invarianten

Graphentheoretische Beschreibung der Petrinetze

Theoretische Informatik

Übersicht Tutorium 3: Funktionsmodellierung und Prozessmodellierung

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Modellierungsmethoden - Kapitel 3

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

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Algorithmische Graphentheorie

Einführung in Petri-Netze

Theoretische Grundlagen des Software Engineering

Für unseren Gebrauch ist eine Menge bestimmt durch die in ihr enthaltenen Elemente. Ist M eine Menge, so ist ein beliebiges Objekt m wieder so ein

Logik für Informatiker

Einführung in die Informatik 2

Bericht 240. Untersuchung der Beziehungen zwischen Eigenschaften von Petrinetzen. Simon Kohl

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

1. Einführung in Temporallogik CTL

Algorithmen und Datenstrukturen Kapitel 10

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir?

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik

9. Petrinetze und Workflows 1

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

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

Motivation. Motivation

B Grundbegriffe zu Mengen und Abbildungen

Technische Universität München. Ferienkurs Lineare Algebra 1. Mengenlehre, Aussagen, Relationen und Funktionen. 21. März 2011.

Das Business im Process: Warum Anwender nicht BPMN sprechen

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Übungsblatt 5 Lösungsvorschläge

Abschnitt 3: Mathematische Grundlagen

Analyse von Informationssicherheit anhand von Geschäftsprozessmodellen 1

Informatik I Tutorium WS 07/08

Grundbegriffe der Informatik

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

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

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

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

Vorlesung Modellierung. Wintersemester 2013/14. (Folien von Prof. B. König)

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16

Mengenlehre - KurzVersion

Eine Transition t 2 T ist im Modus μ 2 M bzgl. der Markierung m 0 2 IR L 0 aktiviert, wenn gilt: Pre t;μ» m 0 : Schaltet eine bzgl. m 0 im Modus μ akv

Lineare Algebra I (WS 12/13)

Bachelorarbeit. Florian Reiter. Modellierung und Analyse von Szenarien des Living Place mit rekonfigurierbaren Petrinetzen

MODEL CHECKING 2 - AUTOMATEN

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Vorsemesterkurs Informatik

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

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Mengenlehre. Mengenlehre. Vorkurs Informatik WS 2013/ September Vorkurs Informatik - WS2013/14

Einführung in die Informatik Turing Machines

Algorithmentheorie 1. Vorlesung

Formale Verifikation von Software. 10. Juli 2013

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich

4. Mathematische und notationelle Grundlagen. Beispiel Mengen. Bezeichnungen:

Wiederholung: lineare Abbildungen

Stellwerk Hamburg Altona

Analysis III, WS 2011/2012 Montag $Id: masse.tex,v /10/31 15:48:07 hk Exp $

Einführung in die Informatik Turing Machines

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Vektorräume. Stefan Ruzika. 24. April Mathematisches Institut Universität Koblenz-Landau Campus Koblenz

Elektronik und Informatik. Petri Netze. Sommersemester Christina Chlebisz Marcel Geirhos Tobias Maas. Prof. Dr. habil.

Transkript:

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 Modellierungswerkzeug. Frage Warum modellieren wir überhaupt? Gedanken machen, Dinge konkretisieren Kommunikation Schon am Modell Eigenschaften überprüfen Informatik-OE 016 Was ist ein Modell? Lawrence Cabac 1/8 Lawrence Cabac /8 Und warum Petrinetze? Frage Und warum mit Petrinetzen? Stachowiak (1973): Allgemeine Modelltheorie Ein Modell hat drei Hauptmerkmale: Abbildungsmerkmal Analogie Verkürzungsmerkmal Abstraktion Pragmatisches Merkmal Nützlichkeit Mit Petrinetzen ist Nebenläufigkeit modellierbar Petrinetze sind graphisch Gut zu verstehen Petrinetze haben einen formalen Unterbau Exaktheit Eigenschaften formal (und automatisch) überprüfbar Anmerkung Im letzten Punkt steckt, warum eine (mathematische) Theorie sinnvoll ist/sein kann. Dinge sind exakt und eindeutig ausdrückbar. Dinge können exakt nachgewiesen oder widerlegt werden. Lawrence Cabac 3/8 Lawrence Cabac 4/8

Petrinetze - Grundlagen Petrinetze: Dynamik Marken auf den Stellen ermöglichen den Transitionen zu schalten: Stellen (Plätze) als passive Komponenten Transitionen als aktive Komponenten gerichtete Kanten zwischen Stellen und Transitionen (und andersherum) Stelle Kante Transition Marken Kapazitäten s/4 Kantengewichte t Kante von Stelle s zu Transition t: s ist Eingangsstelle von t. Kante von Transition t zu Stelle s: s ist Ausgangsstelle von t. Lawrence Cabac 5/8 Petrinetze: Dynamik Lawrence Cabac 6/8 Petrinetze: Dynamik Marken auf den Stellen ermöglichen den Transitionen zu schalten: Definition (Aktiviertheit) Eine Transition ist genau dann aktiviert, wenn 1 alle Eingangsstellen ausreichend Marken beinhalten und die Kapazität jeder Ausgangsstellen ausreicht, um entsprechend viele zusätzliche Marken aufzunehmen. Definition (Schalten) Ist eine Transition aktiviert, so kann sie schalten. Dabei 1 werden von allen Eingangsstellen Marken entfernt und zu allen Ausgangsstellen Marken gelegt dies geschieht entsprechend der Kantengewichtung. Lawrence Cabac 7/8 Lawrence Cabac 8/8

Zwischenfazit Problemstellung: Producer-Consumer Statische Struktur: Stellen (Kreise) Transitionen (Vierecke) Kanten - gerichteter Pfeil von Stelle zu Transition oder von Transition zu Stelle Kantengewichte Kapazitäten Marken auf den Stellen Dynamik: Transitionen können aktiviert sein aktivierte Transitionen können schalten Ein Prozess produziert eine Ressource. Ein (anderer) Prozess konsumiert eine Ressource. Lawrence Cabac 9/8 Problemstellung: Wechselseitiger Ausschluss Lawrence Cabac 10/8 Grundlagen: Mengenlehre Zwei Prozesse, die in einem kritischen Bereich eine Ressource (alleine!) nutzen wollen. Notation Eine Menge ist eine Ansammlung von Elementen z.b. M 1 = {1,, 3} und M = {, } Enthaltensein eines Elementes: 1 M 1, 1 M Teilmenge: {1, } M 1, M 1 M, M M 1 Vereinigung: M 1 M = {1,, 3, } Schnitt: M 1 M = {} Kartesisches Produkt: M 1 M = {(1, ), (1, ), (, ), (, ), (3, ), (3, )} Lawrence Cabac 11/8 Lawrence Cabac 1/8

Grundlagen: Abbildungen P/T-Netz: Definition Notation Eine Abbildung, notiert als f : A B weist einem Element a A ein Element f (a) B zu. Beispiele: f : N N mit n n. g : Z N mit x x. h : {, } {1, } mit h( ) = h( ) = 1. Definition (P/T-Netz) Ein P/T-Netz ist ein Tupel N = (P, T, F, W, m 0 ) mit: Einer endlichen Menge P von Plätzen (Stellen) Einer endlichen Menge T von Transitionen mit P T = Einer Flussrelation F (P T ) (T P) Einer Kantenbewertung W : (P T ) (T P) N mit W (x, y) = 0 (x, y) F Einer Anfangsmarkierung m 0 : P N Lawrence Cabac 13/8 P/T-Netz: Kapazitäten Ein Beispiel Lawrence Cabac 14/8 Erweiterung um Kapazitäten: Definition (P/T-Netz mit Kapazitäten) Ein P/T-Netz mit Kapazitäten ist ein Tupel N = (P, T, F, W, K, m 0 ) mit: Einem P/T-Netz N = (P, T, F, W, m 0 ). Einer Kapazitätsfunktion K : P N {ω} Zusätzlich gilt: m 0 (p) K(p) für alle p P. Anmerkung Ist K(p) = ω, so ist die Markenzahl auf Platz p nicht beschränkt. P = {s 1, s, s 3, s 4, s 5 } T = {lagern, produzieren, kaufen, verbrauchen} F = {(lagern, s 1 ), (s 1, produzieren),...} W ist gegeben durch W (x, y) = 1 für alle (x, y) F und W (x, y) = 0 sonst. m 0 ist gegeben durch m(s 1 ) = m(s 4 ) = 1 und m(s ) = m(s 3 ) = m(s 5 ) = 0. Lawrence Cabac 15/8 K ist gegeben Lawrencedurch Cabac K(s 3 ) = 3 und 16/8

Exkurs: Simulation von Kapazitäten Definition: Aktivierung Gegeben: ein P/T-Netz N = (P, T, F, W, m 0 ), eine Transition t T und eine Markierung m 1. s s5 Definition (Aktivierung) produzieren Lager kaufen Die Transition t ist aktiviert in m 1, falls für alle p P lagern s3 verbrauchen m 1 (p) W (p, t) s1 s6 s4 gilt. Notation: m 1 t P/T-Netze mit und ohne Kapazitäten sind äquivalent! Lawrence Cabac 17/8 Definition: Aktivierung Definition: Schalten Lawrence Cabac 18/8 Gegeben: ein P/T-Netz mit Kapazitäten N = (P, T, F, W, K, m 0 ), eine Transition t T und eine Markierung m 1. Definition (Aktivierung ()) Die Transition t ist aktiviert in m 1, falls für alle p P m 1 (p) W (p, t) gilt und für alle p P m 1 (p) W (p, t) + W (t, p) K(p) Definition (Schalten) Sei N 1 = (P, T, F, W, K, m 0 ) ein P/T-Netz, t T eine Transition und m 1, m Markierungen. Die Transition t schaltet m 1 zu m, falls 1 t in m 1 aktiviert ist und p P : m (p) = m 1 (p) W (p, t) + W (t, p) gilt. Notation: m 1 Anmerkung t m. m heißt auch Folgemarkierung. Kapazitäten werden nicht besonders behandelt. Dies geschieht schon in der Definition der Aktivierbarkeit. gilt. Notation: m 1 t Lawrence Cabac 19/8 Lawrence Cabac 0/8

Definition: Schaltfolge P/T-Netze: Eigenschaften Eine Schaltfolge ist ein endliches Wort w = t 1 t t 3... t n mit t i T für alle i {1,..., n} und n N. Definition (Schaltfolge) Schaltfolge w schaltet m zu m, falls 1 entweder w = λ (leeres Wort mit n = 0) und m = m oder w = (u t) für u T und t T, so dass m u m 1 und t m für eine Markierung m 1 gilt. m 1 Notation: m w m. Ist nur die Existenz der Schaltfolge wichtig, so notieren wir auch: m m. Definition (Wichtige Eigenschaften) 1 m ist erreichbar, wenn es eine Schaltfolge w gibt mit w m. Die Menge aller erreichbaren Markierungen wird mit m 0 R(N) bezeichnet. t T ist aktivierbar, wenn es eine erreichbare Markierung m gibt mit m. t 3 t T ist tot, wenn t nicht (mehr) aktivierbar ist. 4 t T ist lebendig, wenn t immer wieder aktiviert werden kann, d.h. wenn es in jeder erreichbaren Markierung m eine Schaltfolge w gibt mit m. wt Ein Netz ist lebendig, wenn alle Transitionen lebendig sind. Lawrence Cabac 1/8 Der Crosstalk-Algortihmus Lawrence Cabac /8 Lösungs(ansatz): Crosstalk-Algorithmus Der Crosstalk-Algorithmus. Das Setting: Zwei Agenten kommunizieren über einen Kanal. Der Kanal ist nur bei einer Nachricht zuverlässig. Sonst kommt es zu crosstalk und die Nachrichten überschreiben sich. Der Algorithmus soll crosstalk nicht verhindern, aber für die Agenten erkennbar machen. Der Algorithmus arbeitet in Runden: In einer Runde sendet entweder ein Agent eine Nachricht, die der andere korrekt empfängt, oder beide Agenten erkennen crosstalk. Senden mit Bestätigung. Lawrence Cabac 3/8 Lawrence Cabac 4/8

Lösungs(ansatz): Crosstalk-Algorithmus Lösungs(ansatz): Crosstalk-Algorithmus Wechselseitiges Senden mit Bestätigung. Crosstalk kann erkannt werden. Lawrence Cabac 4/8 Lösungs(ansatz): Crosstalk-Algorithmus Lawrence Cabac 4/8 P/T-Netze: Eigenschaften prüfen Der Sinn der Formalisierung: Eigenschaften sind exakt ausdrückbar und können formal (!) nachgewiesen werden. Fehler sind weiterhin möglich! Aber die Zuversicht wächst! Einführen einer zweiten Bestätigung. Versehentliches Detektieren von Crosstalk durch nicht abgeholte Bestätigungen wird vermieden. Lawrence Cabac 4/8 Lawrence Cabac 5/8

Wiederholung und Zusammenfassung Außerdem Petrinetze als graphisches Modell Petrinetze als mathematischer Formalismus Begriffe: P/T-Netz, Platz, Transition, Kante, Kantengewicht, Kapazität, Startmarkierung Aktiviert, Schalten, Schaltfolge, (Nach-)Folgemarkierung Erreichbar, Aktivierbar, Tot, Lebendig Beispiele: Producer-Consumer Wechselseitiger Ausschluss (Crosstalk-Algorithmus) Literaturhinweis Mehr zu Petrinetzen in: Wolfgang Reisig. Petrinetze. Modellierungstechnik, Analysemethoden, Fallstudien. Vieweg+Teubner Verlag, Wiesbaden, 010. Lawrence Cabac 6/8 Werkzeug-Unterstützung Renew (http://www.renew.de) Entwickelt am Fachbereich (Open Source) Modellierung (Petrinetze, UML,... ) Simulation (Ausführen von Modellen) Verifikation Vorlesung: FGI Formale Grundlagen der Informatik II (3. Semester) Petrinetze Verifikation Geschäftsprozesse (Workflows) Prozessalgebra Lawrence Cabac 7/8 Viel Spaß im Studium! Lawrence Cabac 8/8