Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Petri-Netze mathematisch fundierte Theorie zur formalen Beschreibung von (Informations-) Transformationsprozessen Entwicklung einer allgemeinen Theorie,

Ähnliche Präsentationen


Präsentation zum Thema: "Petri-Netze mathematisch fundierte Theorie zur formalen Beschreibung von (Informations-) Transformationsprozessen Entwicklung einer allgemeinen Theorie,"—  Präsentation transkript:

1 Petri-Netze mathematisch fundierte Theorie zur formalen Beschreibung von (Informations-) Transformationsprozessen Entwicklung einer allgemeinen Theorie, die auf den Konzepten der Nebenläufigkeit, der Verteiltheit und der asynchronen Kommunikation aufbaut Ursprung: Dissertationsschrift „Kommunikation mit Automaten“ von Carl Adam Petri (1962) Seit Mitte der 80er Jahre vermehrter Einsatz in praktischen Anwendungen

2 Petri-Netz Ein Petri-Netz ist ein gerichteter bipartiter Graph, bestehend aus zwei disjunkten Mengen von Knoten Stellen Transitionen sowie Kanten Marken (engl. „token“)

3 Petrinetze: Formale Definition
Ein Petri-Netz ist ein Tripel N = (S,T,F) mit S (Stellen), T (Transitionen) sind endliche Mengen S Ç T = Æ S È T ¹ Æ F Í (S x T) È (T x S) ist eine binäre Relation über S È T In einem Petri-Netz folgen Stellen und Transitionen jeweils abwechselnd Eine Stelle kann mehrere Transitionen als Nachfolger haben und umgekehrt

4 Grundlagen von Petri-Netzen: Knoten
Stelle (Platz, Zustand) entspricht einer Zwischenablage Transition (Hürde, Zustandsübergang) beschreibt die Verarbeitung Bedeutung im Modellierungskontext: Datenspeicher Bedeutung im Modellierungskontext: Aktivität

5 Grundlagen von Petri-Netzen: Kanten
Die Kanten dürfen jeweils nur von einer Sorte zur anderen führen Stellen, von denen Kanten zu einer Transition t laufen, heißen Eingabestellen von t. Stellen, zu denen – von einer Transition t aus – Kanten führen, heißen Ausgabestellen von t Bedeutung im Modellierungskontext: Kontroll- und Datenfluss

6 Grundlagen von Petri-Netzen: Marken
Objekte werden als Marken (Token) bezeichnet und als kleine schwarze Kreise in die Stellen des Petri-Netzes eingetragen Bedeutung im Modellierungskontext: Informationsträger, Datenobjekt

7 Interpretation von Petrinetzen: Prozesse
Bestellung eingetroffen Waren zusammenstellen verschicken Rechnung schreiben Ware versandfertig verschickt bearbeitet Beispiel: Bestellprozess (vereinfacht) Transitionen Aktionen, Handlungen Stellen Bedingungen bzw. Zustände Verbindungen Vor- und Nachbedingungen von Aktivitäten Marken Zustände einer Bedingung oder zu bearbeitende Objekte Markierungen lokale Zustände

8 Interpretationen von Petrinetzen
Logistik Transitionen Transporte, Transformationen Stellen Materialbehälter, Lager Verbindungen Start und Ziel von Transporten Marken Güter Datenverarbeitung Transitionen Anweisungen, Programme Stellen Speicher, Register, Puffer Verbindungen Ein- Ausgabe von Programmen Marken Informationsobjekte

9 Grundlagen von Petri-Netzen: Schalten von Transitionen
Schaltregel: Eine Transition t kann schalten oder »feuern«, wenn jede Eingabestelle von t mindestens eine Marke enthält Schaltet eine Transition, dann wird aus jeder Eingabestelle eine Marke entfernt und zu jeder Ausgabestelle eine Marke hinzugefügt. Anschauliche Vorstellung der Schaltregel:

10 Synchronisation: Beispiele: Schalten
aktiviert t2 schalten t2 Synchronisation: Die Transition schaltet nur, wenn beide Stellen markiert sind. Nicht aktiviert t1

11 Petri-Netze modellieren Zustände und Zustandsübergänge
Beispiel: Verkehrsampel rot rot-gelb grün gelb

12 Beispiel: Schaltfolge

13 Verschiedene Arten von Petri-Netzen
In Abhängigkeit von der Art der Objekte unterscheidet man: Bedingungs/Ereignis-Netze (B/E-Netz) Stellen/Transitions-Netze (S/T-Netz) Höhere Petri-Netze

14 Bedingungs/Ereignis-Netze
B/E-Netz Wenn die Objekte bzw. Marken vom Datentyp boolean sind Die Transitionen werden als Ereignisse interpretiert Die Stellen werden als Bedingungen bezeichnet Jede Stelle kann entweder genau eine oder keine Marke enthalten Zusätzliche Schaltbedingung: Eine Transition t kann schalten, wenn jede Eingabestelle von t eine Marke enthält und wenn jede Ausgabestelle von t leer ist.

15 Bedingungs/Ereignis-Netze
Beispiel Zwei Roboter bestücken Leiterplatten mit elektronischen Bauelementen, die auf einem Fließband A antransportiert werden

16 Bedingungs/Ereignis-Netze: Beispiel
B/E-Netz des Bestückungsroboters Nach dem Schalten

17 Stellen/Transitions-Netze
S/T-Netze (P/T Net, Place/Transition Net) Stellen können mehr als eine Marke enthalten (in B/E-Netzen nur eine Marke) Transitionen müssen so viele Marken beim Schalten wegnehmen oder hinzufügen, wie die Gewichte an den Pfeilen angeben (in B/E-Netzen nur eine Marke) Soll eine Stelle eine Kapazität größer 1 erhalten, dann wird dies durch »K = ...« an der Stelle notiert Die Kapazität definiert die maximale Anzahl von Marken, die auf einer Stelle liegen dürfen

18 Schaltbedingungen bei Stellen/Transitions-Netzen
T1 kann schalten: Anschl. sind in S1 eine Marke, in S2 4 Marken und in S3 2 Marken 1 1 T2 kann nicht schalten, da in S3 dann 3 Marken liegen würden. Dies ist wegen K = 2 von S3 nicht erlaubt. 2

19 Strukturelemente & Strukturen

20 Strukturelemente & Strukturen

21 Typisches Anwendungsmuster: Sequentielles Routing
B „Erst A dann B“

22 Typische Anwendungsmuster: Parallelität und Verzweigung
Paralleles Routing: AND-split AND-join „t2 und t3 nebenläufig und in beliebiger Reihenfolge“ Verzweigung / Alternativen: OR-split OR-join „t2 oder t3“: Implizite Auswahl, es ist nicht definiert, ob t2 oder t3 schaltet. (d.h. die genaue Verzweigung steckt implizit in den Transitionen)

23 Nicht-Determinismus Ein Konflikt tritt auf, wenn zwei Transitionen die gleiche Marke benötigen t1 t2 OR-split Wir benötigen eine Erweiterung der Petri-Netze für expliziten OR-split!

24 Iteration OR-join C OR-split A B B A Wiederholung von A
Wiederholung von C und A OR-split OR-join Beachte: Implizite Auswahl bei OR-split (vgl. Modellierung von Alternativen / Auswahl)

25 Strukturelemente & Strukturen

26 Analyse von Petri-Netzen: Erreichbarkeit
Eine Stelle heisst markiert, wenn sie mit einer Marke belegt ist Die Markierung m eines Netzes N ist die Menge aller markierten Stellen Falls eine Transition t aus T unter einer Markierung m aktiviert ist, kann t schalten. Das führt zu einer Folgemarkierung m‘ Schreibweise: m -t-> m‘ Falls m -t1-> m1, m1 -t2-> m2, ..., mn-1 -tn-> mn Schaltvorgänge sind, dann ist t = t1t2 ... tn eine Schaltfolge Wir sagen m‘ ist von m erreichbar (geschrieben m -*-> m‘), falls es eine Schaltfolge t gibt so dass m -t-> m‘ Eine Markierung heisst Endzustand, wenn keine Transition aktiviert ist.

27 Beispiel: Erreichbarkeit
Übergangsgraph: 7 erreichbare Markierungen, 1 Endzustand rr: aus zwei roten ein schwarzes bb: verbrauche schwarz rot br: rot verbraucht Anzahl der Marken in Stelle rot Anzazhl der Marken in Stelle schwarz (3,2) (1,3) (3,1) (1,2) (3,0) (1,1) (1,0) bb, br rr br Die Anzahl der Kanten zwischen zwei Objekten entspricht der Anzahl der Marken, die verbraucht/produziert werden So können Verarbeitungsprozesse modelliert werden.

28 High-level Petrinetze
High-level Petrinetze sind erweiterte Petrinetze: Unterscheidbare Marken (colored tokens) zur Modellierung von Attributen expliziter OR-split Zeit zur Performance Analyse verschiedene Zeitkonzepte Hierarchie zur Strukturierung der Modelle Modellierung auf verschiedenen Abstraktionsebenen

29 High-Level Petri-Netze: Unterscheidbare Marken
Eine unterscheidbare Marke: stellt ein Objekt mit einer Menge von Attributen dar beinhaltet Werte für alle Attribute Frei Beschäftigt Wartend Start Beenden Beraten Name: Müller Funktion: Berater Erfahrung: 2 Name: Meyer Wohnort: Olten

30 High-level Petrinetze: Explizite Routing-Erweiterungen
AND-split AND-join OR-split OR-join Split und Join sind speziell dargestellte Transitionen Der explizite OR-split ist eine spezielle Transition, die die Folgestelle auswählt auf Grund von Attributwerten der Eingangsmarke

31 Beispiel für expliziten OR-split
Prozess: Kreditbearbeitung Kreditantrag Name: Müller Betrag: Genehmigung durch Abteilungsleiter Kreditwürdig- keitsprüfung If Betrag > then Genehmigung durch Abteilungsleiter else Kreditwürdigkeitprüfung Benötigt Attribute als Entscheidungskriterium

32 Prädikat/Transitions-Netze
Pr/T-Netze Verwenden individuelle, »gefärbte« Marken B/E- und S/T-Netze verwenden nur »schwarze« Marken, die alle gleich sind

33 Zeitbehaftete Petri-Netze
Verschiedene Notationsmöglichkeiten Eine Marke wird erst nach einer Verzögerung von 4 Zeiteinheiten wirksam Die Transition kann erst 4 Zeiteinheiten nach dem Eintreffen der Marke in der Eingangsstelle feuern

34 Zeitbehaftete Petri-Netze
Beispiel

35 High-level Petrinetze: Hierarchische Modellierung
Mechanismus, um komplexe Petrinetze zu strukturieren (vgl. Prozeduren, Unterprogramme) Wiederverwendung von Teilnetzen Pause Start Beenden Wartend Beraten Pause Start Beenden Frei Beschäftigt Start Beenden

36 FUNSOFT-Netze Vertreter eines workflow-orientierten Petri-Netz-Typs
entwickelt von der Fraunhofer­Gesellschaft (Institut für Software­ und Systemtechnik, Deiters et al.) Token­Typisierung möglich Unterschiedliche Zugriffsstrategien auf Stellen (Kanäle) Unterschiedliches Schaltverhalten von Transitionen spezifizierbar Aktivitäten (modelliert durch Transitionen) können Attribute haben wie z.B. Zeitverbrauch Ausführungsmodus (manuell, automatisch) Anzahl simultaner Ausführungen Verfeinerungsmodus Formale Semantik durch definierte Abbildung auf Pr/T­Netze

37 Beispiel eines FUNSOFT-Netzes

38 Petri-Netze: Wertung Vorteile Nachteile
bestehen aus wenigen und einfachen Elementen sind grafisch gut darstellbar Marken erlauben eine gute Visualisierung des jeweiligen Systemzustands besitzen ein solides theoretisches Fundament können – im beschränkten Rahmen – analysiert und simuliert werden einziges weit verbreitetes Basiskonzept zur Modellierung kooperierender Prozesse Nachteile Für die Praxis sind höhere Petri-Netze nötig, aber keine einheitliche Notation Petri-Netze sind mit anderen Basiskonzepten bisher nicht kombiniert worden, d.h. es ist ein vollständig für sich stehendes Konzept

39 Petri-Netze: Wertung Petri-Netze eignen sich besonders gut zur Modellierung von Systemen mit kooperierenden Prozessen Synchronisationen zwischen nebenläufigen Systemen können durch eine geeignete Netzstruktur erzwungen werden Sie werden auch für die Vorgangsmodellierung von Bürovorgängen eingesetzt (workflow). Produkte, z.B. LEU (Lion Entwicklungsumgebung) INCOME (Promatis) COSA (Software Ley) Nucleus (Baan)

40 Übersetzungsregeln EPK - High-level Petrinetze
Ereignisgesteuerte Prozessketten Stelle Ereignis Transition Funktion UND-Split,UND-Join AND-Split, AND-Join ODER-Split, ODER-Join OR-Split, OR-Join XOR XOR-Split, XOR-Join Marke Nicht vorhanden Schaltungsregel Nicht vorhanden


Herunterladen ppt "Petri-Netze mathematisch fundierte Theorie zur formalen Beschreibung von (Informations-) Transformationsprozessen Entwicklung einer allgemeinen Theorie,"

Ähnliche Präsentationen


Google-Anzeigen