Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. ·...

82
Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Transcript of Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. ·...

Page 1: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Prozessmodellierung

Skript zur Vorlesung

von

Prof. Dr. Siegmar Gerber

Februar 2005

Page 2: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Inhaltsverzeichnis - I -

Inhaltsverzeichnis

Literaturverzeichnis 2

1. Einführung 3

2. Prozessmodell 11

2.1 Netze ............................................................................................................. 11

2.2 Bedingungen, Ereignisse und Systeme........................................................ 16

2.3 Prozesse ....................................................................................................... 23

Übungsaufgaben .................................................................................................... 28

3. Netzeigenschaften 29

3.1 Protokolle und Invarianten ............................................................................ 29

3.2 Lebendigkeit, Deadlocks und Fallen ............................................................. 34

3.3 Verbotskanten, Prioritäten, Abräumkanten, Markensteuerung..................... 41

Übungsaufgaben .................................................................................................... 47

4. Modellerweiterungen 48

4.1 Gefärbte Netze.............................................................................................. 48

4.2 Prädikaten/Transitions-Netze........................................................................ 54

4.3 Zeitbewertung ............................................................................................... 56

4.4 Hierarchische Netze...................................................................................... 64

Übungsaufgaben .................................................................................................... 69

5. Anwendungen 70

5.1 Produktionssysteme...................................................................................... 70

5.2 Kommunikationsnetze................................................................................... 74

Übungsaufgaben .................................................................................................... 81

Page 3: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 2 -

Literaturverzeichnis

[1] Baumgarten, B.: Petri-Netze, BI-Mannheim, 1990 [2] Kiencke, U.: Ereignisdiskrete Systeme, Oldenbourg, München, 1997

[3] Kindler, E.: Modularer Entwurf verteilter Systeme mit Petrinetzen, Bertz, Berlin, 1995

[4] Lehner, : Prozessmodellierung und Prozessmanagement, 1994 [5] Martens, A.: Verteilte Geschäftsprozesse, Humboldt-Uni, Berlin, 2004 [6] Oberweis, A.: Modellierung und Ausführung von Workflows mit Petri Netzen, Teubner, Stuttgart, 1996 [7] Seidlmeier, : Prozessmodellierung mit ARIS, 2002 [8] Starke, G.: Sprachen zur Software-Prozessmodellierung, Shaker, 1994 [9] Starke, P.H.: Analyse von Petri-Netz Modellen, Teubner, Stuttgart,1990 [10] Zimmer, T.: Petri-Netze Konzepte, 2001

Page 4: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 3 -

1. Einführung

Prozess:

- Gesamtheit von auf ein Ziel gerichteten Aktionsfolgen - Unabhängig voneinander ablaufende Teilprogramme - Vorgang algorithmisch ablaufender Informationsverarbeitung - Ablauf eines Systems oder einer Systemkomponente in Zeit und Raum - Folge von Aktionen in einem Zustandsraum - Folge von Systemzuständen, von einem Anfangszustand ausgehend - Satz von in Wechselbeziehungen stehenden Mitteln und Tätigkeiten

Bestandteile: Zustand – Gesamtheit von Bedingungen (Eigenschaften) vor bzw. nach der Ausführung von Aktionen (Ereignissen). Transition (Aktion, Ereignis) - bewirkt bei Erfülltsein von Vorbedingungen die Ausführung einer Zustandsänderung, die bestimmte (lokale) Nachbedingungen herstellen. Ablauf - Folge von aufeinanderfolgenden Zuständen, ausgehend von einem Anfangszustand. Protokoll – Folge von ausgeführten Aktionen oder Schritten (Schaltfolge). Begriffe: System – Gesamtheit von Objekten und deren Beziehungen zueinander, die ein als Einheit anzusehendes und gegliedertes Ganzes bilden. Komponente – Funktional oder konstruktiv zusammengehöriger abgeschlos- sener Teil eines Systems mit Wechselwirkung zum Gesamtsystem. Modell – Darstellung bzw. Beschreibung eines Systems zur Erfassung seiner Eigenschaften und/oder seines Verhalten. Netz – Beschreibung des Zusammenhangs und der Abhängigkeiten zwischen Objekten eines Systems. Simulation – Nachbildung des dynamischen Verhaltens (Abläufe, Zustandsän- derungen) von Prozessen in einem Modell.

Page 5: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 4 -

Eigenschaften: Sequentiell - Eigenschaft von Abläufen (Prozessen), deren Aktionen in zeit- licher oder logischer Kausalbeziehung zueinander stehen (früher /später, vor/nach, Voraussetzung/Folgerung) Nebenläufig – Eigenschaft von Aktionen (Ereignisse, Prozesse), die unabhän- gig voneinander eintreten können und zwischen denen keine kausalen Abhängigkeiten bestehen. Synchron – Eigenschaft von Abläufen, deren Aktionen zeitlich gleichförmig bzw. aufeinander abgestimmt ablaufen. Parallel – Eigenschaft von Prozessen (Abläufen) die gemeinsam ablaufen und deren Ausführungsintervalle sich im Zeitintervall überlappen. Endlich – Eigenschaft von Prozessen bzw. Strukturen, bei denen jeder Ablauf bzw. jede Objektmenge endlich viele Zustände bzw. Elemente hat. Zyklisch – Eigenschaft von Prozessen bzw. Abläufen mit sich periodisch wie- derholenden gleichartigen Zuständen bzw. Ereignissen. Nichtdeterministisch – Eigenschaft von Prozessen (Modellen) bei denen in einem Zustand unterschiedliche Aktionen (Verhaltensweisen) zulässig sind bzw. eintreten können. Modellklassen: Zustandsbasiert – Systembeschreibung durch vorgegebene feste Struktur. Regelbasiert – Systembeschreibung durch vorgegebene (logische) Regeln, die die Abhängigkeiten zwischen den Objekten (Aktionen) bestimmen. Sprachbasiert – Systembeschreibung durch Ausdrucksmittel (Sprache), deren Interpretation (Semantik) das Systemverhalten charakterisiert. Modellierungsziele: - Modellierung kausaler Abhängigkeiten. - Beschreibung von Nebenläufigkeiten. - Modellierung von Synchronisation und Nichtdeterminismus. - Simulation des Systemverhaltens (Prozessprotokolle). - Überprüfung von Systemeigenschaften (Korrektheit, Fehler).

Page 6: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 5 -

Eigenschaften von Netz-Modellen: - Modellierung nichtsequentieller Systeme, deren Aufbau, Arbeitsweise und

Eigenschaften, - Darstellung kausaler Abhängigkeiten, wobei unabhängige Ereignisse nicht auf eine

Zeitachse projiziert werden, - Einheitliche und anschauliche graphische Beschreibung auf verschiedenen Ab-

straktionsebenen, - Nachweis von Systemeigenschaften und Korrektheit möglich. Bestandteile von Netzen: Plätze (Stellen) - Repräsentieren Zustandsparameter (Speicherzustände) für Daten (eventuell mit Kapazitätsangabe), statische passive Elemente, graphisch durch Kreise dargestellt. Transitionen (Ereignisse) - Repräsentieren Verarbeitungsschritte, bilden dynamisches Systemverhalten ab, beim Schalten (Eintreten) der Transition (des Ereignisses) werden Systemzustände lokal verändert (Zeitpunkt dafür nicht festgelegt), dynamische aktive Elemente, graphisch durch Rechtecke dargestellt. Marken (Token) - auf Plätzen repräsentieren Systemzustände, das Vorliegen von Daten bzw. Erfülltsein von Bedingungen. Kanten (Pfeile) - verbinden Plätze mit Transitionen oder umgekehrt, beschrei- ben kausale Abhängigkeiten zwischen Speicherzuständen (Plätzen) und Ereignissen (Transitionen), eventuell durch Gewichte bewertet und graphisch als Pfeile dargestellt. Die Gesamtheit aller Kanten wird als (zweistellige) Fluss- relation bezeichnet. Markierung - Belegung der Plätze mit Marken (Tokens), Festlegung des Ge- samtzustands des Systems, werden durch das Schalten von Transitionen verändert (Änderung des Systemzustandes). Schaltregel – Regel für das Aktivieren von Transitionen, die danach ausge- führt (eintreten) werden können. allgemein: Eine Transition ist aktiv, wenn je nach Kantengewicht ausreichend viele Marken (Token) auf allen Plätzen (Vorplätzen) liegen, von denen Kanten zu dieser Transition führen. sicher: Hier wird zusätzlich gefordert, dass die Plätze (Nach plätze) zu denen ausgehend von dieser Transition Kanten hin- führen, keine Marken enthalten (die Plätze sauber sind).

Page 7: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 6 -

Schaltverhalten von Netzen: Durch das Schalten einer aktivierten Transition werden je nach Kantengewicht den Vorplätzen Marken entnommen und den Nachplätzen Marken hinzugefügt, dabei darf die Kapazität der Plätze nicht überschritten werden. Nach dem Schalten stellt sich eine neue Markierung (Folgemarkierung) ein, die den Gesamtzustand nach Ausführung dieser Aktion (Transition) beschreibt. Da sich beim diesem Übergang zur Folgemarkierung immer nur die Markierung der unmittelbaren Vor- und Nachstellen der schaltenden Transition verändert, gilt für die Netze das Lokalitätsprinzip. Natürlich könnten gleichzeitig mehrere Transitionen im Netz aktiviert sein. Wenn diese Transitionen keine gemeinsamen Vor- und Nachplätze besitzen, können sie unabhängig voneinander (nebenläufig) schalten. Bei gemeinsamen Vor- oder Nachplätzen können durch das Schalten einer Transition andere Transitionen inaktiv werden, weil nicht genügend Marken auf deren Vorplätzen liegen oder deren Nachplätze nicht mehr ausreichend viele Marken aufnehmen können bzw. bereits besetzt sind. Bei der Nachbildung des Gesamtverhaltens werden vielfach immer maximal viele nebenläufigen Transitionen geschaltet. Beispiel: Ausgangsmarkierung Folgemarkierung

Abb. 1.1 Aktivieren und Schalten von Transitionen

1

2

2

3

1

1

2

2

3

1

2

3

2

2 P1 P1

P2 P2

P3 P3

k = 2

k = 2

k = 3

k = 3

k = 3

k = 4

Schalten

Kapazität des Nachplatzes p2 nicht ausreichend

unzureichende Markierung des Vorplatzes p1

aktiv

inaktiv inaktiv

inaktiv

1

1

Page 8: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 7 -

Anwendungsbeispiele: Erzeuger-Verbraucher System

Abb. 1.2

Ein Erzeuger produziert durch t1 Marken und legt diese durch t2 auf den Speicher S ab. Die Verbraucher holen mit t3 bzw. t´3 Marken aus dem Speicher S. Die Transitionen t2 bzw. t4 und t´4 erzeugen bzw. verbrauchen Marken.

Synchronisierter Nachrichtenaustausch

Abb. 1.3

Page 9: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 8 -

P1 - Sender sendebereit, P2 - Nachricht auf dem Bus, P3 - Empfänger arbeitsbereit; P4 - Empfänger empfangsbereit, P5 - Antwort auf dem Bus, P6 - Sender wartet; t1 - Nachricht senden, t2 - Nachricht empfangen, t3 - Antwort senden, t4- Antwort empfangen

Benutzung gemeinsamer Betriebsmittel

Abb. 1.4

Zwei Prozesse benutzen die Betriebsmittel A und B gemeinsam. Der Prozeß 1 benutzt A durch t1 und danach B durch t2. Erst durch t2 werden beide Betriebs-mittel wieder zurückgegeben. Der Prozeß 2 benutzt zuerst B durch t3 und später A durch t4 bevor beide Betriebsmittel wieder freigegeben werden. Die Abschnitte zwischen den Transitionen t1 bzw. t3 und t2 bzw. t4 werden kritische Abschnitte genannt. Immer nur ein Prozeß sollte in seinem kritischen Abschnitt sein. Ansonsten blockieren sich beide Prozesse, indem sie sich bei Eintritt in ihren kritischen Abschnitt gegenseitig ein Betriebsmittel entziehen, ohne das sie diesen Abschnitt nicht verlassen können.

Page 10: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 9 -

Netzmodelle: Bedingungs- /Ereignis-Netze Plätze werden als Bedingungen aufgefasst, die erfüllt oder unerfüllt sein können. Transitionen werden als Ereignisse aufgefasst. Das Ereignis e kann eintreten, wenn alle seine Vorbedingungen (Vorplätze) erfüllt sind. Durch den Eintritt des Ereignisses e werden die Nachbedingungen (Nachplätze) b (Kante e -> b von e nach b) erfüllt und die Vorbedingungen (Vorplätze) b (Kante b-> e von b nach e) unerfüllt. Stellen-/Transitions-Netze Stellen können mehrere Marken (ununterscheidbaren Objekte) tragen. Beim Schalten einer Transition werden jeder Vorstelle (Platz) eine dem Gewicht der Kante entsprechende Anzahl von Marke entnommen und jeder Nachstelle (Platz) eine dem Gewicht dieser Kante entsprechende Anzahl von Marken hinzugefügt, vorausgesetzt, dass dabei die Kapazität der Nachstelle nicht überschritten wird. Hierarchische Netze Plätze und Transitionen können selbst durch Netze beschrieben sein (Verfeinerung). Umgekehrt können (Vater) Knoten durch Abstraktion (Vergröberung) von Unternetzen entstehen. Dabei ist die Umgebung (Kanten zu anderen Teilnetzen) zu beachten. Gefärbte Netze Verwendung verschiedener Sorten (Farben) von Marken in Plätzen bzw. Schaltmodi von Transitionen. Jeder Transitionsfarbe wird eine Menge von Platzfarben zugeordnet. Prädikaten/Transitions-Netze Plätze werden als Prädikate (Eigenschaften von Objektmengen) aufgefasst. Marken durch Relationen (Datenstrukturen) beschrieben. Transitionen entsprechen Operationen auf Relationen. Zeitbewertete Netze Zeit in Plätzen entspricht der Verweildauer (Festkleben) von Marken. Zeit in Transitionen entspricht deren Schaltdauer (Schaltintervall). Dynamisches Verhalten wird durch den Markenfluss abgebildet. Bei Timer-Netzen werden Plätze und Transitionen feste Zeitintervalle zugeordnet (lokale oder zentrale Uhr).

Page 11: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 10 -

Kontrollfragen:

1. Was verstehen Sie unter Nebenläufigkeit?

2. Was unterscheidet Stellen von Transitionen?

3. Wodurch wird der Gesamtzustand des durch ein Netz beschriebenen Systems bestimmt?

4. Unter welchen Bedingungen sind Transitionen aktiviert?

5. Unter welchen Bedingungen ist eine Transition schaltbar und was wird durch das Schalten der Transition bewirkt?

6. Um welche Art von Netzen handelt es sich bei den angegebenen Anwendungsbeispielen?

Page 12: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 11 -

2. Prozessmodell

2.1 Netze

Netze beschreiben die statischen Aspekte der zu modellierenden Systeme mit fester Grundstruktur. Die dynamischen Systemeigenschaften werden durch das Schalten von Transitionen charakterisiert, die Markierungs(Zustands)änderungen bewirken. Dieses Netzverhalten wird durch das Netz selbst, einer Anfangsmarkierung und einer Transitionsregel (Schaltregel) festgelegt. Bei den Netzobjekten unterscheiden wir zwischen (passiven) S-Elemente (Stellen, Plätze, Bedingungen) und (aktiven) T-Elemente (Transitionen, Ereignisse). S-Elemente können als Vor- oder Nachstellen von T-Elementen bzw. T-Elemente als Vor- oder Nachtransitionen von S-Elementen auftreten. Die Gesamtheit dieser Beziehungen zwischen S- und T-Elementen wird als Flussrelation F bezeichnet. Netze können graphisch dargestellt werden, wobei S-Elemente durch Kreise, T-Elemente durch Rechtecke und die Beziehung zwischen ihnen durch Pfeile (gerichtete Kanten) charakterisiert werden. Da die durch die Flussrelation festgelegten Pfeile (Kanten) immer nur Elemente unterschiedlicher Sorte ver-binden, handelt es sich um einen sogenannten bipartiten Graph ( Abb.2.1). Netz Ein Netz N = (S, T, F) besteht aus zwei durchschnittsfremden (disjunkten) Mengen S und T sowie einer Flussrelation S) x (T T) x (SF ∪⊆ .

Die Elemente von S bzw. T bzw. F bezeichnen wir als Stellen bzw. Transitionen bzw. Kanten (Pfeile) von N. Die Flussrelation F enthält alle Kanten (Pfeile) (s, t) bzw. (t, s) mit s Vorstelle von t (t Nachtransition von s) bzw. s Nachstelle von t (t Vortransition von s). Die Gesamtheit aller Vorstellen von t bzw. aller Vortransitionen von s wird durch •s bzw. •t notiert und Vorbereich von s bzw. t genannt. Entsprechend wird mit s• bzw. t• die Gesamtheit aller Nachtransitionen von s bzw. Nachstellen von t bezeichnet und Nachbereich von s bzw. t genannt. Für Stellen- und Transitionsmengen X fassen wir die Vor- bzw. Nachbereiche der Stellen und Transitionen zu den Gesamtheiten •X = ∪x∈X •x bzw. X• = ∪x∈X x• zusammen. (Das Zeichen ∪ steht für Mengenvereinigung.)

Page 13: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 12 -

S1

Dynamisches Verhalten: Zur Beschreibung des dynamischen Verhaltens eines Netzes werden Stellen mit endlich vielen Marken (nat. Zahlen) belegt. Die Verteilung der Marken auf die Stellen eines Netzes wird Markierung genannt und beschreibt einen globalen Zustand des Netzes. Wir lassen dabei nur endliche Markierungen zu, bei denen auf höchstens endlich vielen Stellen Marken liegen. Das Netz selbst kann unendlich viele Stellen bzw. Transitionen besitzen. Durch das Schalten von Transitionen werden die Markierungen verändert (Zustands-änderung). Welche Transitionen schalten können wird durch eine Transitionsregel festgelegt. Wir unterscheiden zwischen allgemeiner und sicherer Transitionsregel. Allgemeine Transitionsregel: Die Transition t kann schalten (auch als „ist aktiviert“ oder „hat Konzession“ bezeichnet), wenn

a) auf allen Vorstellen von t ausreichend viele Marken vorhanden sind und b) auf alle Nachstellen von t ausreichend viele Marken zugefügt werden können.

Unsicherheit: Wenn Nachstellen bereits markiert sind, könnte die Wirkung der Transition verfälscht werden und es kann zur Überladung der Nachstellen kommen. Sichere Transitionsregel: Die Transition t kann nur dann schalten (ist aktiviert), wenn keine Nachstelle von t markiert ist. Netze, bei denen die Forderung für die sichere Transitionsregel immer erfüllt ist, werden selbst als sicher bezeichnet. Die durch das Schalten einer Transition bewirkte Markierungs(Zustands)-änderung hängt auch davon ab, wieviele Marken auf eine Stelle abgelegt und wieviele Marken über eine Kante transportiert werden können. Wir führen deshalb für die Netze zusätzlich Stellenkapazitäten k und Kantengewichte w ein. Die Kapazität k(s) einer Stelle s bezeichnet die Anzahl der Marken, die auf dieser Stelle abgelegt (gespeichert) werden können. Das Gewicht w (s, t) bzw. w (t, s) einer Kante (s, t) bzw. (t, s) bezeichnet die Anzahl der Marken, die beim Schalten der Transition über diese Kante fließen. Das Netz notieren wir dann durch

S = {s1, ..., s5}, T = {t1, ..., t5} F = {(s1,t1),(t1,s2),(t1,s3),(t1,s4),(s3,t2),(t2, s3),(s2, t2),

(s2,t3),(s4, t2),(s4,t4),(t3, s4),(t3,s5),(t4,s5),(s5,t5)}

Abb. 2.1

Beispiel:

s1

s2

s3

s4

s5

t1

t2

t3

t4

t5

Page 14: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 13 -

N = (S, T, F, k, w) , wo k bzw. w die entsprechende Kapazitäts- bzw. Gewichtsfunktion angibt. (In der graphischen Darstellung sind die Kapazitäten bzw. Gewichte an den Stellen bzw. Kanten angegeben.) Die Aktivierung einer Transition t eines derartigen Netzes ist wie folgt erklärt: Aktivierung:

a) Bei der allgemeine Transitionsregel ist t bei m aktiviert, wenn auf jeder Vorstelle s von t mindestens w (s, t) Marken liegen und auf jede Nachstelle s von t mindestens w (t, s) Marken abgelegt werden können.

b) Bei der sicheren Transitionsregel wird zusätzlich verlangt, das auf keiner Nachstelle von t Marken liegen (diese Stellen sauber sind).

Ausgehend von einer gegebenen Markierung m wird durch das Schalten einer aktivierten Transition t die Markierung des Netzes N wie folgt verändert:

Folgemarkierung: Wenn die aktivierte Transition t schaltet, wird aus der Markierung m die (Folge)Markierung f (m, t) = m’ erzeugt. Dadurch werden jeder Vorstelle von t soviele Marken entzogen, wie das Gewicht der Kante von dieser Vorstelle zu t angibt, und jeder Nachstelle von t soviele Marken hinzugefügt, wie das Gewicht der Kante von t zu dieser Nachstelle ausmacht. Den Übergang von der Markierung m zur Folgemarkierung m’ durch das Schalten der Transition t notieren wir auch durch m ->t m’ . Bezogen auf einzelne Stellen ergibt sich diese Folgemarkierung zu: m(s) – w(s, t) s ∈ •t \ t• s nur Vorstelle von t f(m, t)(s) = m(s) + w(t, s) falls s ∈ t• \ •t s nur Nachstelle von t m(s) – w(s, t) + w(t, s) s ∈ •t ∩ t• s Vor- und Nachstelle von t m(s) sonst Wenn wir durch t- (s) = w (s, t) bzw. t+ (s) = w (t, s) die Anzahl der Marken notieren, die der Stelle s beim Schalten von t zugefügt bzw. entnommen werden, dann kann die Folgemarkierung durch m’ = m – t- + t+ bestimmt werden. Die Aktivierungsbedingung lautet damit t- ≤ m und m’ ≤ k . Bemerkung: Bei Netzen mit endlichen Stellenmengen können die Markierungen m und Kapazitäten k bei vorgegebener Stellenordnung s1, ... , sn als Tupel (Vektoren) m = (m(s1), ... , m(sn)) und k = (k(s1), ... , k(sn)) notiert werden (bei Stellen ohne Kapazitätsbeschränkung wird ∝ angegeben). Beispiel: 1.) m = (4, 1, 1), k = (4, 4, 4), w(s1, t) = 3, w(s2, t) = 1, w(t, s3) = 2, t m-aktiviert , f(m, t) = m' = (1, 0, 3). 2.) m = (2, 2, 0) , k = (3, 3, 3,), w(s1, t) = 1, w(t, s2) = 2, w(t, s3) = 2, m(s2) + w(t, s2) > k(s2), t nicht m-aktiviert. 3.) m = (2, 1, 2) , k = (3, 3, 3,), w(s1, t) = 3, w(t, s2) = 2, w(t, s3) = 1,

m(s1) < w(s1, t), t nicht m-aktiviert.

Page 15: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 14 -

Abb. 2.2 Schalten einer Transition t Inzidenzmatrix Wenn die Stellen- und Transitionsmengen endlich sind, dann kann das gesamte Netz N = (S, T, F, k ,w) durch eine Matrix WN (Inzidenzmatrix

von N) mit den Matrixelementen WN (s, t) = t+ (s) - t- (s) = ∆t (s)

beschrieben werden. Beispiel: Erzeuger-Verbraucher System

1.)

2.)

3.)

Kontaktsituation, Kapazität von s2 unzureichend.

Unzureichende Markierung von s1.

Erzeuger

Abb. 2.3

Speicher

Verbraucher

Page 16: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 15 -

,0)(0,0,0,0,15t,1),(0,0,0,0,05t

,0),(0,0,0,1,04t,0),(0,0,0,0,14t

,1),(0,0,2,0,03t,0),(0,0,0,1,03t

,0),(1,0,0,0,02t,0),(0,1,3,0,02t

,0),(0,1,0,0,01t,0),(1,0,0,0,01t

,0),(1,0,3,0,20m

=−=+

=−=+

=−=+

=−=+=−=+

=

−−

−−

−−

=

101001100001100002300001100011

NW

Bemerkung: 1) WN legt N eindeutig fest, falls N rein ist.

2) WN , m0 beschreibt das Verhalten von N vollständig,

falls N rein und kontaktfrei ist. 3) Wenn N rein ist, dann gilt t m-aktiviert gdw. 0 ≤ m + ∆ t ≤ k . Kontrollfragen:

7. Bestimmen Sie die Mengen •X und X• für X = {s1, s3, t3} im Beispielnetz von Abb. 2.1!

8. Erklären Sie den Unterschied zwischen allgemeiner und sicherer Tran- sitionsregel!

9. Weshalb spricht man bei der graphischen Netzdarstellung von einen bipartiten Graphen? 10. Weshalb repräsentiert die Inzidenzmatrix nur reine Netze eindeutig?

t1 t2 t3 t4 t5

S1

S2

S3

S4

S5

S6

Page 17: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 16 -

2.2 Bedingungen, Ereignisse und Systeme

Vielfach werden die Transitionen als Ereignisse interpretiert, die eintreten können, und die Stellen als Bedingungen aufgefasst, die erfüllt (markiert) sein können. Die Stellen sind dann Vor- bzw. Nachbedingungen von Ereignissen, was wieder durch eine Flussrelation ausgedrückt werden kann. Die Markierung des Netzes wird durch die Menge der markierten (erfüllten) Bedingungen beschrieben, was auch als Fall bezeichnet wird. Die Transitionsregeln werden entsprechend übertragen.

Sei N = (B, E, F) ein Netz mit der Bedingungsmenge B, der Ereignismenge E (nichtleere durchschnittsfremde Mengen) und der Flussrelation (Kantenmenge) F zwischen Bedingungen und Ereignissen (F ⊆ (B × E) ∪ (E × B)). Dann heißt

a) eine Teilmenge c von Bedingungen aus B ein Fall . b) ein Ereignis e aus E aktiviert unter c (c-aktiviert) gdw. alle Vorbedingungen von e zu c gehören und keine Nachbedingung von e in c liegt ( •e ⊆ c und e• ⊆ B \ c).

c) der Fall c’ Folgefall von Fall c unter dem Ereignis e (c ->e c’) gdw.

c' entsteht durch Eintritt des Ereignises e im Fall c (c’ = (c\ •e) ∪ e•).

Ein Ereignis e kann im Fall c eintreten, wenn alle Vorbedingungen von e erfüllt, d.h., zu c gehören, und alle Nachbedingungen von e nicht erfüllt (unerfüllt) sind, d.h., nicht zu c gehören. Wenn Ereignis e eintritt, werden alle Vorbedingungen von e unerfüllt und alle Nachbedingungen von e erfüllt. Der Eintritt von Ereignissen führt einen Fall in einen neuen Fall (Folgefall) über, womit das dynamische Verhalten dieser Netze beschrieben wird. Zu beachten sind sogenannte Kontaktsituationen in einem Fall c, wo das Ereignis e nicht eintreten kann, weil Nachbedingungen von e bereits erfüllt sind, d.h. •e ⊆ c und e• ∩ c ≠ ∅.

Abb. 2.4 Eintreten eines Ereignisses

Page 18: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 17 -

Nebenläufigkeit, Schritt a) Eine Menge G von Ereignissen heißt unabhängig (nebenläufig), falls keine paarweise verschiedenen Ereignisse aus G gemeinsame Vor- und Nach- bedingungen besitzen, d.h. für G2e1e ∈≠ gilt: •e1 ∩ •e2 = ∅ = e1

• ∩ e2• und •e1 ∩ e2

• = ∅ = e1

• ∩ •e2 .

b) Eine unabhängige Menge G von Ereignissen heißt Schritt von c nach c', falls alle Ereignisse e aus G c-aktiviert sind und der Fall c’ alle Bedingungen von c, die nicht Vorbedingungen von Ereignissen aus G sind, und zusätzlich alle Nachbedingungen von Ereignissen aus G umfaßt. D.h., der Schritt G überführt Fall c in den Fall c' = (c \ •G) ∪ G• (in Zeichen: c ->G c’).

Bemerkungen: 1. Für unabhängige (nebenläufige) Mengen G von Ereignissen und Fälle c, c’ aus B gilt: G ist Schritt von c nach c’ gdw. alle Vorbedingungen zu c aber nicht zu c’ und alle Nachbedingungen von G zu c’ aber nicht zu c gehören, d.h., c ->G c’ gdw. c \ c’ = •G und c‘\ c = G•.

2. Für jeden endlichen Schritt G = {e1, ..., en} von c nach c‘ existieren Fälle

c0, ..., cn , die den Fall c durch sukzessives Eintreten der Ereignisse aus G

über n-1 Zwischenfälle c1, ..., cn-1 in den Fall c’ überführen, d.h., c = c0 ->e1 c1 ->e2 ...cn = c’.

3. Zwei Ereignisse e1 und e2 stehen im Konflikt, wenn sie gemeinsame Vor-

oder Nachbedingungen besitzen ((•e1 ∩ •e2 ) ∪ (e1• ∩ e2

•) ≠ ∅).

Bei Eintritt des einen Ereignisses wird das andere inaktiv.

{e1, e2} Schritt von {b1, b2} nach {b3, b5} ; {e1, e3} Schritt von {b2, b3} nach {b4, b5} Abb. 2.5 Schritte

Page 19: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 18 -

Beispiel: Wenn e1 vor e2 eintritt, dann stören sich e1 und e3 nicht. Wenn aber e2

vor e1 eintritt, dann besteht zwischen e1 und e3 eine Konfliktsituation.

Abb. 2.6

Beispiel: Vorwärts- und Rückwärtskonflikte 2e 1e3b •∩•∈ 2e 1e1b •∩•∈

Abb. 2.7 Beispiel: Konfliktlösungen

Priorisierung von b1 durch eine Wechselseitige Aktivierung Verbotskante von b1 nach e2 von e1 und e2 durch zusätzliche (e2 kann nur dann eintreten, Bedingungen b4 und b5. wenn b1 nicht erfüllt ist).

Abb. 2.8 Erreichbarkeit Ein Fall c' heißt direkt erreichbar von Fall c (in Zeichen: c -> c’), falls ein Schritt G existiert, der c in c‘ überführt. Ein Fall c' heißt erreichbar von Fall c (in Zeichen: c ->* c’), falls Schritte Gi existieren, die c in c’ über Zwischenfällen ci überführen,

d.h., c = c0 ->G1 c1 ->G2 ... ->Gn cn = c’ .

b1

b2

b3 b1

b3

b2 e1 e1

e2 e2

Vorwärtskonflikt Rückwärtskonflikt

b1

b2

b3 b1

b3

b2 e1 e1

e2 e2

b5 b4

Page 20: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 19 -

Bemerkung: Wenn durch R die obige Erreichbarkeitsbeziehung ->* bezeichnet wird, dann verstehen wir unter [c]R die Menge der von c aus erreichbaren Fälle (auch die durch c erzeugte Restklasse

bzgl. R genannt). Eigenschaften:

a) Bedingungen b bzw. Ereignisse e heißen isoliert, wenn sie keine Vor- und Nach-

ereignisse (d.h., •b ∪ b• = ∅) bzw. Vor- und Nachbedingungen (d.h., •e ∪ e• = ∅) besitzen.

b) Die Flussrelation F heißt schlingenfrei, wenn keine Vorbedingung eines Ereignisses

e zugleich Nachbedingung von e ist (d.h., für alle e aus E gilt: •e ∩ e• = ∅). c) Ein Netz N = (B, E, F) heißt rein, wenn F schlingenfrei ist.

d) Ein Netz N = (B, E, F) heißt schlicht, wenn es keine ununterscheid- baren Bedingungen und keine ununterscheidbaren Ereignisse gibt

(d.h., wenn •b1 = •b2 und b1• = b2

•, dann b1 = b2 und wenn •e1 = •e2 und e1

• = e2• ,

dann e1 = e2 für alle Bedingungen bi aus B und alle Ereignisse ei aus E).

B/E-System Σ = (B, E, F, C) heißt B/E-System (oder einfach System) , falls 1. (B, E, F) schlichtes Netz ohne isolierte Bedingungen und Ereignisse, 2. C eine Fallmenge von Σ, die durch eines ihrer Elemente c eindeutig bestimmt ist (C = [c]R , Restklasse bzgl. R) und 3. jedes Ereignis aus E in einem Fall aus C aktiviert ist.

Abb. 2.9.

C = {{b2};{b3};{b1,b2};{b2,b4};{b1,b3};{b3,b4};{b1,b2,b4};{b1,b3,b4}} = [b2]R

b2

b1

b3

b4

e2 e1

Page 21: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 20 -

Eigenschaften von Systemen: a) Es gibt mindestens einen Fall ( B ≠ ∅, E ≠ ∅ , F ≠ ∅, |C| ≥ 1).

b) Alle Fälle, die von Fällen aus C erreichbar sind oder zu Fällen aus C führen, gehören

ebenfalls zu C (d.h., wenn c∈C, c’ ⊆ B, G ⊆ E: c ->G c’ oder c’->G c, dann c’∈C ).

c) Jede Bedingung b aus B ist in einem Fall aus C erfüllt und in einem anderen Fall aus C

unerfüllt (d.h., für alle b ∈ B existieren c, c’∈ C mit b ∈ c und b ∉ c’).

d) Σ ist rein (d.h., F ist schlingenfrei).

e) Jeder Schritt kann durch ein Ereignis aus E ausgeführt werden (d.h., c1 -> c2 gdw. existiert ein e ∈ E mit c1 ->e c2 ).

f) Aufeinanderfolgende Schritte sind durchschnittsfremd

(d.h., aus c1 ->G1 c2 ->G2 c3 folgt G1 ∩ G2 = ∅ ).

g) Direkte Überführungen durch Vereinigungen durchschnittsfremder Schritte können durch Hintereinanderausführung der Einzelschritte mit einem Zwischenfall hergestellt werden .

Zyklische, lebendige, äquivalente Systeme a) Ein System Σ heißt zyklisch gdw. alle Fälle von Σ reproduzierbar sind

(d.h., (c, c’) ∈->* für alle c, c’∈ C ). b) Ein System Σ heißt lebendig gdw. jedes Ereignis von Σ immer wieder eintreten kann (d.h., für alle c∈C, e∈E existiert ein c‘∈C mit

(c, c’)∈->* und e ist c'-aktiviert). c) Systeme Σ und Σ’ heißen äquivalent gdw. ihre Fälle und Ereignisse bis auf die Bezeichnung übereinstimmen (d.h., ihre Fall- und Ereignismengen ein- eindeutig so aufeinander abgebildet werden können, dass die Flussrelation und das dynamische Verhalten erhalten bleiben). Eigenschaften:

1.) Wenn Σ zyklisch, dann gilt mit c ->* c’ auch c’ ->* c (d.h., wenn Fall c’ von Fall c aus erreichbar ist, dann ist auch c von c’ aus erreichbar).

2.) Wenn Σ äquivalent zu Σ’, dann ist Σ zyklisch (lebendig) gdw. Σ’ zyklisch (lebendig) ist.

3.) Wenn Σ zyklisch, dann ist Σ lebendig.

Bemerkung: Aus Σ lebendig folgt nicht Σ zyklisch. Im Beispiel tritt der Fall {b1,b2} nicht wieder ein. Das Ereignis e kann aber immer

wieder aktiviert werden.

Page 22: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 21 -

Fallgraph Sei Σ = (B, E, F, C) ein System und Γ die Schrittmenge von Σ . Der Graph ΦΣ = (C, K) mit den Fällen aus C als Knoten und der Kantenmenge K = {(c, G, c’) | c ->G c’ mit c, c’∈ C und G ∈ Γ}. heißt Fallgraph von Σ . Bemerkung: Jede Kante von c nach c’ entspricht einem Schritt G aus Γ.

Abb. 2.10

Lebendiges und nicht zyklisches System

Abb. 2.11 System

{ }}b,{b};b,{b};b,{b};b,b{};{bC 544352321=

Page 23: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 22 -

Eigenschaften: 1.) Ein System Σ ist zyklisch gdw. sein Fallgraph stark zusammenhängend ist, d.h., jeder Fall ist von jedem Fall aus C erreichbar. 2.) Ein System Σ ist lebendig gdw. für alle paarweise verschiedenen Fälle aus C sukzessive Übergänge mit einelementigen Schritten existieren. 3.) Die Fallgraphen äquivalenter Systeme unterscheiden sich nur in der Be- zeichnung ihrer Knoten und Kanten. Kontrollfragen: 11. Was bewirkt das Eintreten von nebenläufigen Ereignissen?

12. Wie können Vorwärts- und Rückwärtskonflikte aufgelöst werden?

13. Weshalb sind Systeme reine Netze?

14. Erklären Sie den Zusammenhang zwischen Fallgraphen und Erreichbarkeit!

15. Welche Eigenschaft von Systemen sichert deren Lebendigkeit?

Abb. 2. 12 Fallgraph

1

4

4

Page 24: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 23 -

2.3 Prozesse

Prozesse können in Systemen ablaufen. Protokolle beschreiben Aktionsfolgen, die in Prozessen eintreten können. Ein Prozess kann auch als Gesamtheit von möglichen Protokolle aufgefasst werden. Diese werden durch Fallgraphen ungenügend beschrieben, weil Neben-läufigkeit dort nicht explizit angegeben werden kann. Zur Darstellung der kausalen Abhängigkeiten von Ereignissen in den Prozessabläufen werden Halbordnungen verwendet. Dabei hat jedes Ereignis eine Ursache und eine Wirkung, wobei Wiederholungen von Ereignissen und Bedingungen möglich sind. Da Protokolle eindeutig sind, müssen Bedingungen unverzweigt sein. Diese kausalen Abhängigkeiten werden durch ein Kausalnetz erfasst. Kausalnetz Ein Netz (S, T, F) heißt Kausalnetz, falls es

1.) kreisfrei ist (d.h., wenn (a,b)∈ F+ dann (b,a) ∉ F+ für alle a,b ∈ S ∪ T) und

2.) seine Stellen unverzweigt sind (d.h., |•s | ≤ 1 und | s•| ≤ 1 für alle s∈S). Bemerkung:

F+ (Erweiterung von F auf Folgen) ist eine antisymmetrische Ordnungsrelation < (auch vor

oder kleiner genannt) auf S ∪ T (a < b =def (a,b) ∈F+ ). Kausalnetze sind azyklisch, d.h., wenn ein Weg von a nach b existiert, dann kann es keinen Weg von b nach a geben. In einem Kausalnetz hat jede Stelle höchstens eine Vorgängertransition und höchstens eine Nachfolgertransition. Vergleichbarkeit , Nebenläufigkeit, Linien, Schnitte, Scheiben Vergleichbarkeit ◊: a ◊ b gdw. a < b oder b < a oder a = b (d.h., a und b stehen in einer kausalen Beziehung oder sind gleich) Nebenläufigkeit θ: a θ b gdw. a ◊ b (unvergleichbar) oder a = b (d.h., a und b stehen nicht in kausaler Beziehung oder sind gleich) Linien: Maximale Mengen paarweise vergleichbarer Stellen oder Transitionen (Linienmenge L = (S ∪T)|◊ ) Schnitte: Maximale Mengen paarweise nebenläufiger Stellen oder Transitionen (Schnittmenge D = (S ∪T)|θ ) Scheiben: Maximale Mengen paarweise nebenläufiger Stellen (Scheibenmenge I = D ∩ S )

Page 25: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 24 -

Beispiel:

Abb. 2.13

Linien: {s1, t1, s2, t3, s6}, {s3, t2, s4 , t3, s6}, {s3, t2, s5 , t3, s6} Schnitte: {s1, t2}, {s1, s3}, {t1, t2}, {t1, s3}, {s1, s4, s5}, {t1, s4, s5}, {s2, s3}, {s2, s4, s5}, {t2, s2}, {t3}, {s6} Scheiben: {s1, s3}, {s1, s4, s5}, {s2, s3}, {s2, s4, s5}, {s6} Beschränktes, dichtes Kausalnetz a) Ein Kausalnetz heißt beschränkt, wenn alle Linien endlich sind. b) Ein Kausalnetz heißt dicht, wenn jede Linie in jedem Schnitt vertreten ist (d.h., ihr Durchschnitt nicht leer ist). Kontaktfreies System Σ = (B, E, F, C) heißt kontaktfrei, wenn keines der Ereignisse aus E bei einem Fall aus C erfüllte Vor- und Nachbedingungen besitzt. (Das Ereignis kann trotz erfüllter Vorbedingungen nicht eintreten.). Prozess Sei K beschränktes, dichtes Kausalnetz und Σ ein kontaktfreies System. Eine Zuordnung (Beschriftung) π : K -> Σ der Stellen bzw. Transitionen von K zu den Bedingungen bzw. Ereignissen von Σ heißt Prozess auf Σ , falls dabei Scheiben von K Fällen von Σ zugeordnet werden, gleiche Fälle zu gleichen Scheiben führen und die Zuordnung π selbst vor- und nachbe- dingungstreu ist (d.h., π(•t) = •π(t) und π(t•) = π(t)• ).

Scheibe

Schnitt

........ Linie

.......

.......

Page 26: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 25 -

Beispiel:

Abb. 2.14 Prozess zum System aus Abb. 2.11 Bemerkung: Durch den Prozess werden die Knoten des Kausalnetzes mit Bedingungen bzw. Ereignissen des Systems flusstreu beschriftet. Die Beschränktheit von K garantiert, dass die Linien des Kausalnetzes Kausalketten entsprechen. Die Dichtheit von K garantiert, dass jede Kausalkette in jeder Momentaufnahme (Schnitt) vertreten ist. Die Kausalketten (Linien im Kausalnetz) beschreiben die möglichen Prozessabläufe im System. Durch die Kontaktfreiheit des Systems wird gesichert, das diese Abläufe auch stattfinden können. Die in den Abläufen eintretenden Ereignisse stellen die möglichen Prozessprotokolle dar. Ein Schnitt ist eine Momentaufnahme (Gesamtheit von erfüllten Systembedingungen) des Prozesses durch einen äußeren Beobachter. Eigenschaften:

a) Kontaktfreie Systeme sind durch ihre Prozessmengen eindeutig bestimmt. b) Ereignisse und Bedingungen in Prozessen sind zu sich selbst nicht nebenläufig.

c) Jedes Ereignis hat eine Ursache und eine Wirkung, d.h., die Linien des Kausalnetzes

beginnen und enden mit Stellen, die die Scheiben ohne Ursache (Min K) bzw. ohne Wirkung (Max K) beschreiben. Ein Prozess π mit dem Kausalnetz K besitzt den Anfangsfall (minimale Elemente) π (Min K) und den Endfall (maximale Elemente) π (Max K).

Komposition (Verkettung) von Prozessen Prozesse π1 und π2 mit disjunkten (durchschnittsfremden) Kausalnetzen K1 und K2 können verkettet (hintereinander ausgeführt) werden (in Zeichen: π1 ° π2 ), wenn der Prozeß π1 mit dem Fall endet, mit dem der Prozeß π2

beginnt, d.h., π1(Max K1) = π2 (Min K2) ).

π = π1 ° π2 heißt der durch Komposition (Verkettung) der Prozesse π1

und π2 entstandene Prozess π mit dem Kausalnetz K1 ∪ K2 .

Page 27: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 26 -

Beispiel:

Abb. 2.15 Verkettung von Prozessen (zu System Abb. 2.11) Eigenschaften: a) Die Prozessverkettung ist assoziativ (d.h., π1 ° (π2 ° π3) = (π1 ° π2) ° π3 ). b) Wenn π = π1 ° π2 dann existiert eine Scheibe I (Trennscheibe), die den

Anfangsfall des Kausalnetzes von π2 und gleichzeitig Endfall des Kausal-

netzes von π1 beschreibt (d.h., π1 (Max K1) = I = π2 (Min K2) ). Elementarer Prozess (Einschrittprozess) Ein Prozess π auf dem System Σ mit dem Kausalnetz K heißt elementar, wenn im Fallgraph ϕ von Σ genau eine Kante (c, G, c’) existiert, mit π (Min K) = c und π (Max K) = c’. Bemerkung: Elementare Prozesse entsprechen Kanten im Fallgraphen des zugehörigen Systems. Jeder Prozess mit beschränkten Kausalnetz kann durch Verkettung von Elementarprozessen erzeugt werden. Zu jedem Weg im Fallgraphen eines Systems Σ gibt es genau einen Prozess auf Σ, der durch Verkettung der den Kanten dieses Weges zugeordneten Elementarprozessen entsteht.

Page 28: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 27 -

Kontrollfragen: 16. Wodurch wird in einem Prozess die Ursache/Wirkungs-

Beziehung beschrieben?

17. Warum verlangt man die Kontaktfreiheit des dem Prozess zugeordneten Systems?

18. Was bedeutet die Beschränktheit und Dichtheit des Kausal- netzes für einen damit erzeugten Prozess?

19. Welche Eigenschaft zeichnet die Trennscheiben bei der Prozessverkettung aus?

20. Welcher Zusammenhang besteht zwischen Prozessen und Fallgraphen?

Page 29: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 28 -

Übungsaufgaben

2.1 Geben Sie eine Netzbeschreibung zur gemeinsamen Nutzung von drei Betriebsmitteln

A, B, C durch zwei Prozesse P1 und P2 an, wobei keiner der beiden Prozesse mehr als

zwei Betriebsmittel gleichzeitig benutzen darf! 2.2 Geben Sie ein Erzeuger-Verbraucher-System mit einem Erzeuger und zwei

abwechselnd aktiven Verbrauchern an. Ein Verbraucher entnimmt dem Speicher eine und der andere zwei Marken. Der Speicher kann maximal fünf Marken aufnehmen!

2.3 Bestimmen Sie für das nachfolgende Netz mit der gegebenen Markierung alle zweielementigen Schritte und geben Sie die zugehörigen Fallfolgen an !

2.4 Geben Sie zu folgendem Netz mit der gewählten Anfangsmarkierung

a) den zugehörigen Fallgraphen an und b) untersuchen Sie, ob das entsprechende System zyklisch und/oder lebendig

ist!

2.5 Geben Sie mögliche Protokolle für ein Kausalnetz zum Erzeuger- Verbraucher-System aus Aufgabe 2.2 an, in denen alle Transitionen auftreten!

b2 b1 b3

b4 b5

b6

e1 e2

e3 e4

e5

b1

b2 b3 b4

b5

e1 e2

e3 e4

Page 30: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 29 -

3. Netzeigenschaften

3.1 Protokolle und Invarianten

Ausgehend von einer gegebenen Anfangsmarkierung eines Netzes entstehen durch aufeinanderfolgendes Schalten von aktivierter Transitionen neue Markierungen. Dabei können aktivierte Transitionen, die nicht in Konflikt stehen, in beliebiger Reihenfolge bzw. nebenläufig eintreten (Schritt). Die so schaltbaren Transitions(Ereignis)folgen entsprechen Protokollen des durch dieses Netz modellierten Prozesses. Die Gesamtheit dieser (Transitions-)Folgen werden Protokollmenge oder Netz-Spache genannt. Um diese Protokolle bzw. Netz-Sprache beschreiben zu können, erweitern wir zunächst die Folgemarkierung f(m, t) auf Transitionsfolgen q = t1, t2,..., tn bzw. Schrittfolgen Q = G1, G2,..., Gl (Eine Transitionsmenge G heißt Schritt bei m (m-Schritt), falls alle t aus G m-aktiviert und paarweise nebenläufig sind). Dabei gehen wir wie folgt vor: f(m, e) = m (e leere Folge / leeres Wort)

f(m, tq) = f(m + ∆t, q) falls t m-aktiviert und schaltbar (d.h., t- ≤ m ≤ k -t+ ) nicht definiert sonst

f(m, GQ) = f(m + ∆G, Q) falls G unter m ausführbar (d.h., G- ≤ m ≤ k - G+) nicht definiert sonst (Beachte: Eine Folge wird durch Vorschalten oder Anfügen der leeren Folge nicht verändert.

G+ = Σt∈G t+ bzw. G– = Σt∈G t- geben die Anzahl der den Nachstellen zuzufügenden bzw. den Vorstellen abzuziehenden Marken an, wenn die zu G gehörigen Transitionen t

nebenläufig schalten, und ∆G = G+ - G–, ∆t = t+ - t-.) Bei der Transitionsfolge t1, t2,..., tn bzw. Schrittfolge G1, G2,..., Gl erhalten wir die Folgemarkierung: f(m0, t1, t2,..., tn ) = f(m1, t2,..., tn ) = ... = mn mit mi = f(mi-1, ti ) = mi-1 + ∆ti f(m0, G1, G2,..., Gl ) = f(m1, G2,..., Gl) =...= Gl mit mi = f(mi-1, Gi ) = mi-1 + ∆Gi Netzsprache Die Menge LN (m) aller von der Anfangsmarkierung m0 aus aktivierbaren

Transitionsfolgen q heißt die Netzsprache (Protokollmenge) von N = (S, T, F, m0 ) (d.h., LN (m0) = {q | q Transitionsfolge über T, wo die

Folgemarkierung f(m0, q) definiert}). Wenn nur diejenigen Transitionsfolgen interessieren, die zu bestimmten Endmarkierungen m bzw. einer Menge M von Endmarkierungen führen, sprechen wir von terminalen Netzsprachen

Page 31: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 30 -

LN (m0, m) = {q | q Transitionsfolge über T, wo die Folgemarkierung f (m0, q) = m} bzw. LN (m0, M) = {q | q Transitionsfolge über T, wo die Folgemarkierung f (m0, q) aus M} Die Sprachen LN (m0) , LN (m0, m) , LN (m0, M) beschreiben nur die möglichen Sequentialisierungen des Eintretens von Transitionen (Ereignissen) aber nicht die Nebenläufigkeitsstruktur der durch das Netz beschriebenen Prozesse. Beispiele:

Bemerkung:

a) Wenn G endlicher Schritt bei m und q eine Transitionsfolge, wo jede Transition aus G genau einmal vorkommt, dann ist f(m, G) = f(m, q). (Transitionen können in beliebiger Reihenfolge schalten. Jede Folge erzeugt die gleiche Endmarkierung.)

b

b

a

a

LN (m0, M) = {( ), (( )), (( )(( ))), ...}

Menge aller korrekten Klammergebirge Abb. 3.1

( )

N1

N2

N3

LN1(m0) = {e, a, b, ab, ba}

LN1(m0) = {e, a, b, ab, ba}

LN1(m0) = LN2(m0)

M0 = 0, M = {0}

Page 32: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 31 -

b) Wenn N rein (schlingenfrei) und die Kapazität seiner Stellen nicht beschränkt ist, dann sind alle Transitionen eines Schrittes G gemeinsam m-aktiviert gdw. jede Ausführungsreihenfolge von G in N möglich ist.

Die bei einer vorgegebene Markierung m nach Ausführung einer Transitionsfolge q entstehende Folgemarkierung f(m, q) nennen wir von m aus erreichbar. Die Gesamtheit RN(m0) derartiger Folgemarkierungen zur Anfangsmarkierung m0 des Netzes N = (S,T,F,k,w,m0) bezeichnen wir als eine Erreichbarkeitsklasse von N. Eine Übersicht über die möglichen erreichbaren Folgemarkierungen gibt der Erreichbarkeitsgraph. Erreichbarkeitsgraph Der Graph ΞN = (RN(m0), P) mit der Erreichbarkeitsklasse von N als

Knotenmenge und den direkten Übergängen von einer Markierung m zu einer Folgemarkierung f(m, t) bei Ausführung einer Transition t als Kanten aus P heißt Erreichbarkeitsgraph von N.

(Die Kanten werden mit den aktivierten Transitionen beschriftet.)

Beispi

b

c

p1 p2 p3

2 2 2

a

Abb. 3. 2 a.) Netz b.) Erreichbarkeitsgraph

Beispiel:

Page 33: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 32 -

Beschränktheit, Sicherheit

a) Ein Netz N mit der Anfangsmarkierung m0 heißt beschränkt (bei m0),

falls eine nat. Zahl k existiert, so dass bei den von m0 aus erreichbaren Markierungen keine Stelle mit mehr als k Marken belegt wird. b) Eine Stelle s des Netzes N heißt k-sicher bei m (für k = 1 sicher genannt), wenn jede von m aus erreichbaren Markierungen von N der Stelle maximal k Marken zuordnet.

c) Eine Markierung m von N heißt k-sicher (bzw. sicher), wenn alle Stellen von s k-sicher (bzw. sicher) bei m sind.

d) Ein Netz N mit der Anfangsmarkierung m0 heißt k-sicher (bzw. sicher), falls m0 k-sicher (bzw. sicher) ist.

Bemerkung: 1) Der Erreichbarkeitsgraph ΞN ist endlich genau dann, wenn das Netz N be-

schränkt ist.

2) Netze N1 , N2, die sich nur in der Kapazität unterscheiden, besitzen die

gleichen Netz-Sprache und die gleichen Erreichbarkeitsklassen.

3) Eine Erhöhung der Kapazität führt nicht zu weniger Erreichbarkeitsklassen.

4) Für endliches k ist jedes k-sichere Netz beschränkt. Transitionsinvarianten Eine nichtleere Transitionsfolge q heißt T-Invariante von N bzgl. der Markierung m, wenn f(m, q) = m , diese Gleichung für kein echtes Anfangsstück von q erfüllt und q bei m aktivierbar ist . Bemerkung: T-Invarianten sind die minimalen Schleifen im Erreichbarkeitsgraph von N. Nach Ausführung der einer T-Invariante entsprechenden Transitionsfolge wird wieder die Markierung erreicht, die vorher vorlag. Stelleninvarianten Eine nichtleere Stellenmenge S‘ von S heißt S-Invariante von N = (S,T,F,m0) mit der Anfangsmarkierung m0 , wenn für alle bei m0 aktivierbaren Transitionsfolgen die Summe der Marken auf den Stellen von S’ stets konstant ist. Bemerkung: S-Invarianten sind die minimale Stellenmengen von N mit konstanter Markensumme.

Page 34: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 33 -

m1

m3

m2

m0

t1

t2

t3

t4

Beispiel: Das Netz für den synchronisierten Nachrichtenaustausch von Seite 7 wird durch die

Inzidenzmatrix

=

1001

1100

0110

0110

0011

1001

WN beschrieben.

T-Invariante bzgl. m0 = (1 0 0 1 0 0) ist q = t1 t2 t3 t4 . Dies entspricht der Schleife im Erreichbarkeitsgraph:

Abb.3.3 S1‘ = {s1 , s6} , S2‘ = {s3 , s4} , S3‘ = {s1 , s2 , s3 , s5} sind S-Invarianten. Die Markensumme der Stellen aus S’ ist immer gleich 1. Kontrollfragen: 21. Was beschreibt die Protokollmenge eines Netzes und was unterscheidet Netzsprachen von terminalen Netzsprachen ? 22. Welche S- und T-Invarianten besitzt das Netz des Erzeuger-Verbraucher-Systems aus Abb. 1.2 ? 23. Welche Beschränktheits- und Sicherheitseigenschaften erfüllt das Netz aus Abb. 3.2 ?

1 0 0 1 0 0

0 1 0 1 0 1 0 0 1 0 0 1

0 0 0 1 1 1

Page 35: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 34 -

3.2 Lebendigkeit, Deadlocks und Fallen

Bei der Verhaltensbeschreibung von Prozessen durch Netze ist die Anzahl und Verteilung der veränderlicher Objekte (Marken) wesentlich (Daten im Speicher, Waren in Lagern, Werkstücke in Produktionssystemen). So sollten sich z.B. Anzahl und Verteilung der Objekte in gewissen Grenzen halten. Verteilungsstörungen können zum Stillstand (Blockierung) des Systems führen (Stau oder Mangelbildung). Transitionen können auf Grund von leeren (unvollständigen) Eingangsstellen oder vollen (unzureichenden) Ausgangsstellen nicht mehr schalten (das Netz ist nicht lebendig). Es werden dabei verschiedene Lebendigkeitsbegriffe verwendet. Für beschränkte Netze ist Lebendigkeit mit Hilfe des Erreichbarkeitsgraphen zu entscheiden. Lebendigkeit Sei N = (S, T, F, k, w, m0) ein Netz und m eine Markierung von S.

a) Eine Transition t heißt lebendig bei m (m-lebendig), wenn von jeder von m aus erreichbaren Markierung m’ eine Markierung m’’ erreicht werden kann, wo t aktiviert ist (d.h., t ist immer wieder aktivierbar).

b) Eine Markierung m heißt lebendig in N, wenn alle Transitionen aus T lebendig bei m sind.

c) Ein Netz N heißt lebendig , wenn seine Anfangsmarkierung m0

lebendig ist.

d) Eine Transition t heißt tot bei m, wenn t bei keiner von m aus erreichbaren Markierung aktiviert ist.

e) Eine Markierung m heißt tot , wenn jede Transition aus T tot bei m ist.

f) Ein Netz N heißt tot , wenn seine Anfangsmarkierung m0 tot ist.

Bemerkung: Wenn die Markierung m lebendig in N, dann ist die Netz-Sprache (Protokollmenge) LN (m) als Gesamtheit der von m aus aktivier-

baren Transitionsfolgen unendlich. Die Umkehrung gilt allgemein nicht. Wenn t bzw. m bzw. N tot ist, dann ist t bzw. m bzw. N nicht lebendig. Die Umkehrung gilt allgemein nicht.

Page 36: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 35 -

Beispiele: a) Die Protokollmenge des nachfolgenden Netzes besteht aus allen Transitionsfolgen aus

a, b, wo auf beliebig viele b höchstens ein a folgt, d.h., LN (m0) = {bi a

j | i ≥ 0,

j ∈{0, 1}}, RN (m0) = {(j, i) | i ≥ 0, j∈{0, 1}}.

Die Transitionen a, b sind aber nicht lebendig. Es existiert keine lebendige Markierung.

Abb. 3.4

b) Netz ist lebendig, a, b, c sind bei m0 = (1,1,1) lebendig.

Abb. 3.5

Bemerkung: Tote Markierungen führen zum Stillstand des Systems (Verklemmungssituation)

Abb. 3.6 Nachrichtenaustausch mit Signalverlust im Bus

Störung der Nachrichtenübertragung durch Markenverlust nach Schalten von t1 t5 bzw. t1 t2 t3 t6 ausgehend von der Anfangsmarkierung m0 = (1 0 0 1 0 0).

a b

b c

a

P1

P2

P3 P4

P5

P6

t4 t3

t2 t1 t5

Page 37: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 36 -

Bemerkung: Verklemmungsfreie Netze (ohne tote Transitionen) müssen nicht lebendig sein.

Netz Erreichbarkeitsgraph

Bemerkung: Ein Netz N ist lebendig, wenn sein Erreichbarkeitsgraph ΞN endlich, stark zusammenhängend ist und jede Transition aus T (als Beschriftung einer Kante) in ΞN auftritt.

Beispiel: Lebendiges Netz für den Nachrichtenaustausch

Abb. 3.8 Nach Einführung von p7 und t7 wird durch das Schalten von t7 eine Sendewiederholung des durch t5 bzw. t6 gestörten Signals erzwungen.

Der zugehörige Erreichbarkeitsgraph ist endlich, vollständig zusammen-hängend und jede Transition ist durch eine Kante vertreten.

1000 0010

0100 0001

t4 t3

t4 t3

t2

t2 t1

t1

m0

m1 m3

m2

t5 t5

p1

p2 p4

p3

Abb. 3.7 Verklemmungsfreies nicht lebendiges Netz

p1

p2

p3 p4

p5

p6

t4 t3

t2 t1 t5

t6

p7 t7

Page 38: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 37 -

Abb. 3.9 Bemerkung: Ein beschränktes Netz N ist lebendig genau dann, wenn in jeder stark zusammenhängenden Komponente (Teilgraph mit allen Kanten zwischen den ausgewählten Knoten) des Erreichbarkeits- graphen ΞN von N zu jeder Transition t eine mit t markierte Kante

existiert.

Für beschränkte Netze ist das Lebendigkeitsproblem dem Erreich- barkeitsproblem äquivalent.

Fallen und Deadlocks Sei N = (S, T, F) ein Netz, Q eine nichtleere Teilmenge von S und m eine endliche Markierung von N. a) Eine Stellenmenge Q heißt sauber bei m, wenn keine Stelle aus Q markiert ist [keine Marke enthält], d.h., Σs∈Q m(s) = 0 . b) Eine Stellenmenge Q heißt Falle, wenn Q kann nicht gesäubert werden kann, d.h., wenn Q • ⊆ • Q . c) Eine Stellenmenge Q heißt Deadlock, wenn Q kann nicht markiert werden kann, d.h., wenn • Q ⊆ Q •) . Beispiele:

Abb. 3.10 Deadlock

Abb. 3.11 Falle

0101010

0010010

0001110

1001000

0001011

t2

t3

t4

t1

t5

t7

t6

Page 39: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 38 -

Eigenschaften: a) Jede bei m markierte Falle Q bleibt bei jeder von m aus erreichbaren Markierung m’ markiert (d.h., wenn m(Q) > 0 und m’∈ RN (m), dann ist m’(Q) > 0).

b) Jeder bei m saubere Deadlock Q bleibt bei jeder von m aus erreichbaren Markierung m’-sauber (d.h., wenn m(Q) = 0 und m’∈ RN (m), dann ist m’(Q) = 0 ).

In Bezug auf Lebendigkeit sind insbesondere free-choice-Netze von Interesse, bei denen für konkurrierende Transitionen freie Auswahlmöglichkeit besteht. Ein Netz N = (S, T, F) heißt free-choice-Netz, wenn jede Stelle nur eine Nach- transition besitzt oder alle Nachtransitionen nur eine gemeinsame Vorstelle haben, d.h., für alle s ∈ S und t ∈ T mit (s, t) ∈ F gilt: | s•| = 1 oder |•t | = 1.

Eigenschaft: Eine Markierung m eines free-choice-Netzes N = (S, T, F) ist genau dann lebendig, wenn jeder Deadlock Q ⊆ S eine bei m markierte Falle enthält. Bemerkung: Da jede Transition höchstens einen Platz mit einer anderen Transition teilt, könnten sonst Transitionen im Deadlock niemals aktiviert werden, da keine Marke an die Vorplätze dieser Transitionen gelangen kann. Beispiel: m = (1,1,0,1), sauberer Deadlock Q ={s3, s5 }, Q• = {t2, t3, t4}, •Q = {t3, t4}, •Q ⊆ Q•.

Abb. 3.13

Abb. 3.27

s1

s2

s3

s4

s5

t1

t3

t2

t4

Abb. 3.12 Free-choice Netz

s1 s2

s3 t2

t1 t3

Page 40: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 39 -

N nicht lebendig bei m, da t3, t4 nicht lebendig.

Abb. 3.14 Bemerkung: Jedes free-choice-Netz mit einem sauberen Deadlock ist nicht lebendig. Für bei m lebendige free-choice-Netze müssen alle minimalen Deadlocks bei m markierte Fallen enthalten. (Ein Deadlock heißt minimal, wenn er selbst keine Deadlocks als echte Teilmengen enthält.) Beispiel: Abb. 3.15 Minimale Deadlocks: {s1, s2}, {s3, s4}, {s5, s6}. Da diese Deadlocks auch Fallen sind, muss mindestens ein Knoten jeder dieser Mengen markiert sein. In lebendigen Markierungen sind deshalb mindestens drei Plätze markiert. Lebendige Markierungen:(1,0,1,0,1,0), (1,0,1,0,0,1), (1,0,0,1,0,1), (1,0,0,1,1,0), (0,1,1,0,1,0), (0,1,1,0,0,1), (0,1,0,1,0,1), (0,1,0,1,1,0).

s3 s5

s5

s6

s1

s2

s3

s4

t3

t4

t3 t4 t2 t1

Page 41: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 40 -

Kontrollfragen:

24. Unter welchen Bedingungen können in einfachen Netzen Konflikte auftreten?

25. Welche Bedeutung besitzen beschränkte Netze?

26. Was bedeuten Fallen in Deadlocks für die Lebendigkeit von free-choice-Netzen?

Page 42: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 41 -

3.3 Verbotskanten, Prioritäten, Abräumkanten, Markensteuerung

Neben den bisher verwendeten (normalen) Kanten von Plätzen zu Transitionen werden jetzt Kanten (Verbotskanten) zugelassen, die bei markiertem Platz das Schalten der Transition verhindern, also ein Schaltverbot für die anhängende Transition bewirken. Eine andere Art von Kanten (Abräumkanten) soll der Beschreibung des Entzugs der Schaltmöglichkeit dienen (z.B. Entzug von Betriebsmitteln, Liquidation von Prozessen, Unterbrechung der Bearbeitung, etc.). Durch diese Kanten werden beim Schalten der anhängenden Transition alle Marken aus dem Vorplatz entfernt, unabhängig davon wie viele Marken vorher vor-handen waren. Verbotskanten und Abräumkanten lassen sich auch als Spezialfälle von variablen Kantengewichten auffassen, die von der jeweils vorliegenden Markierung abhängig sind. Damit kann das Verhalten der beiden vorher beschriebenen Kantenarten in einfacher Weise gleichwertig modelliert werden. Komplexe Systeme sind so relativ einfach und übersichtlich zu beschreiben. Verbotskanten Zu den üblichen Kanten im Netz werden jetzt Kanten zugelassen, die von Stellen zu Transitionen verlaufen und das Schalten der entsprechenden Transition verhindern, wenn die Markierung der Stelle das Kantengewicht erreicht oder übersteigt. Diese als Inhibitor- oder Verbotskanten bezeichneten Kanten werden graphisch durch statt dargestellt. Die Begriffsbildungen für Netze mit Verbotskanten können analog zu den üblichen Netzen eingeführt werden. Auch Netze mit Verbotskanten können zu gefärbten Netzen, hierarchischen Netzen oder Netzen mit Zeitbegriffen erweitert werden. Beispiel: Modellierung einer Aktenbearbeitung mit Pausen Ein Bearbeiter darf nur dann pausieren (gehen), wenn keine Akten mehr vorhanden sind. Abb. 3.16 Für den Fall, dass der Bearbeiter nur dann gehen darf, wenn weniger als n Akten vorhanden sind, gewichten wir die Verbotskante mit n. Solange die Stelle „Akten vorhanden“ unbegrenzte Kapazität besitzt, ist es unmöglich diesen Vorgang durch ein übliches (endliches) Netz zu beschreiben.

Akte liefern

Akten vorhanden

Akte bearbeiten

kommt

geht

anwesend

abwesend

Bearbeiter

Page 43: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 42 -

Beispiel: Das nachfolgende Netz modelliert den wechselseitigen Ausschluss zweier Prozesse p1 und p2 in ihren kritischen Abschnitten durch Verbotskanten. Abb. 3.17 Natürlich können die üblichen Netze trivialerweise als Spezialfälle von Netzen mit Verbotskanten aufgefasst werden. Netze mit Verbotskanten leisten also mindestens soviel wie Netze ohne Verbotskanten. Es erhebt sich aber nun die Frage, ob und in welchem Sinne Netze mit Verbotskanten mehr leisten als Netze ohne Verbotskanten. Jede von einer b-sicheren Stelle ausgehende Verbotskante kann durch ein Teilnetz ohne Verbotskanten so ersetzt werden, dass das Gesamtnetz nach dieser Ersetzung das gleiche Verhalten wie das ursprüngliche Netz mit Verbotskanten hat. Konstruktionsverfahren: Zu jeder b-sicheren Stelle s, von der eine Verbotskante zu einer Transition t ausgeht, wird eine neue b-sichere Stelle s‘ mit der Markierung b - m(s) eingeführt und die Verbotskante selbst durch eine Hin- und Rückkante zwischen der Stelle s‘ und der Transition t mit dem Gewicht b ersetzt. Die anderen an der Stelle s anliegenden Kanten werden mit gleichem Gewicht in umgekehrter Richtung auf die Stelle s‘ übertragen, wie folgt dargestellt. Die Gesamtmarkenzahl von s und s‘ bleibt damit konstant b, so dass die Transition t nur dann schalten kann, wenn s sauber ist. Ansonsten ändert sich das Verhalten des Gesamtnetzes nicht. Abb. 3.18

P1 P2

kritischer Abschnitt

von p2

kritischer Abschnitt

von p1

m s(b-sicher)

t

i

k

b-m m b

t

i i

k k

s(b-sicher)

s‘ (b-sicher)

Ersatz für Verbotskante bei b-Sicherheit

Page 44: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 43 -

Prioritäten Verbotskanten können auch durch Einführung von Prioritäten für die Transitionen beschrieben werden. Dazu wird eine irreflexive Halbordnung < auf der Menge der Transitionen als Prioritätsrelation eingeführt. Bei einer gegebenen Markierung m ist eine Transition t dann m-aktiviert, wenn sie die üblichen Aktivierungsbedingungen erfüllt und keine Transition t‘ mit höherer Priorität (t < t‘) m-aktiviert ist. Schaltverhalten und Erreichbarkeit sind bei Netzen mit Prioritäten analog wie bei üblichen Netzen erklärt unter Beachtung der vorgenannten Aktivierungsregel. (Bei Vorgabe von Stellenkapazitäten bzw. Kantengewichten ist dies wie üblich einzuschränken.) Abb. 3.19 Verbotskanten können durch Hin- und Rück-Kanten zu allen Transitionen t’ höherer Priorität ersetzt werden (bei unendlicher Kapazität von s). Umgekehrt können Prioritäten durch Verbotskanten beschrieben werden, wie das nachfolgende Beispiel einer Vorgangsbearbeitung mit den Dringlichkeitsstufen rot und grün zeigt, wobei rote Akten vor grünen Akten zu bearbeiten sind (rot hat höhere Priorität). Abb. 3.20

n

n

t

t t‘

s

st < t‘

rote Akte liefern

Akten vorhanden

rote Akte bearbeiten kommt

geht

anwesend abwesend

Bearbeiter

grüne Akte bearbeiten

grüne Akte liefern

Vorgangsbearbeitung mit Dringlichkeitsstufen

Page 45: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 44 -

Abräumkanten Bei der Beschreibung von Prozessen müssen häufig Abbrüche unabhängig vom aktuellen Prozesszustand ausgeführt werden. Wenn dazu für jeden möglichen Prozesszustand ein eigener Stornierungsvorgang eingeführt wird, führt das bei höherer Zustandszahl zu sehr unübersichtlichen Netzen. Da dies in vielen Fällen für die Prozessbeschreibung aber nicht von Interesse ist, werden spezielle Kanten von Stellen zu Transitionen zugelassen, die eine Transition veranlassen, aus der entsprechenden Vorstelle alle Marken abzuziehen, womit allen anderen Nachtransitionen dieser Stelle die Konzession entzogen wird. Diese als Abräumkanten bezeichneten Kanten werden durch Doppelpfeile gekennzeichnet. Beispiel: Prozessabbruch ohne und mit Abräumkanten Abb. 3.21 Abräumkanten verlaufen von Stellen zu Transitionen und besitzen kein Kantengewicht. Von Stellen zu Transitionen können sowohl Abräumkanten als auch normale Kanten verlaufen. Abräumkanten von b-sicheren Stellen sind wieder durch übliche Netze zu modellieren. Abb. 3.22 Abb. 3.23

abbrechbarer Prozess

abbrechender Prozess

abbrechender Prozess

m s

(b-sicher) t

i

k

b-m m b

t

i i

k k

s(b-sicher)

s‘ (b-sicher)

2

b-1

e

Ersatz für Abräumkante bei b-Sicherheit

abbrechbarer Prozess

b = Markensumme von s und s’.

Page 46: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 45 -

Markensteuerung Bisher hatten wir nur Netze mit konstanten Kantengewichten betrachtet. Wir wollen jetzt Kantengewichte in Abhängigkeit von der Stellenmarkierung einführen. Im nachfolgenden Beispiel ist die Transition t aktiviert, wenn auf dem Platz s1 mindestens so viele Marken liegen, wie die jeweilige Markierung von s2 angibt. Abb. 3.24 Abb. 3.25 Verallgemeinerung: Mehrfach markengesteuerte Kantengewichte Es werden mehrere Gewichtungsstellen si für eine Kante zugelassen, so dass das Gewicht der Kante die Markensumme aller dieser Gewichtungsstellen bildet. Außerdem können die Kanten von diesen Gewichtungsstellen si selbst wieder mit konstanten Gewichten wi versehen werden. Insgesamt können wir damit Kanten durch Linearkombinationen von Stellenmarkierungen gewichten. Abb. 3.26 Beispiel: Ein Speicherverwaltungssystem stellt für unterschiedliche Benutzerprozesse gleich große Speicherbereiche zur Verfügung und nimmt diese auch wieder zurück. Benutzerprozesse können auch mehrere Speicherbereiche gemeinsam zurückgeben und das Verwaltungssystem nimmt diese ohne Unterbrechung durch andere Aktionen an. Die Speicherbereiche selbst sollen durch andere Benutzerprozesse wiederverwendbar sein. Durch das nachfolgende Netz wird die Anzahl n von Speicherbereichen als Markierung einer Stelle festgelegt, die das Kantengewicht für die Speicherverwaltung mit den Transitionen „belegen“ und „freigeben“ bestimmt. Die Transitionen „erhöhen“ und „erniedrigen“ können die Anzahl n der verfügbaren Speicherbereiche verändern.

ts1

s2

m(s2)

Markierung von s2 als Gewicht der Kante (s1,t)

tsts 3

Modellierung konstanter Kantengewichte

t

s1 sn

Σ1≤ i ≤ n (wi × m (si ))

s

. . .

. . . w1 wn

Page 47: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 46 -

Netze mit Abräumkanten und Verbotskanten können durch Netze mit markengesteuerten Kantengewichten mit gleichem Verhalten nachgebildet werden. Abräumkanten können durch Netze mit einfach markengesteuerten Kantengewichten und Verbotskanten durch Netze mit mehrfach markengesteuerten Kantengewichten ersetzt werden. Abb. 3.28 Durch das Schalten von t werden der Stelle s so viele Marken entzogen, wie vorher vorhanden waren. Die Stelle s ist danach sauber. Abb. 3.29 Die Transition t kann nur dann schalten, wenn die Markierung von s nicht kleiner als die Markierung von s und s’ zusammen, also s sauber ist.

nerhöhen

Abb. 3.27 Kantengewichtung durch Stelleninhalt

erniedrigen

belegen

freigeben

belegt frei

Speicherverwaltung

t

s

t

s

Abräumkante einfach gewichtete Kante

t

s

t

s

Verbotskante

doppelt gewichtete Kante m (s) = m (s’)

s‘

Page 48: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 47 -

Kontrollfragen:

27. Was wird durch Verbotskanten bewirkt ?

28. Unter welchen Bedingungen lassen sich Verbotskanten durch Teilnetze ohne Verbotskanten verhaltensgleich ersetzen ?

29. Wodurch unterscheiden sich Verbotskanten und Abräum- kanten ?

30. Wie lassen sich Prioritäten durch Verbotskanten beschreiben ?

31. Wann können markengewichtete Kanten durch Abräumkanten bzw. Verbotskanten ersetzt werden ?

Übungsaufgaben

3.1. Beschreiben Sie den wechselseitigen Ausschluss zweier Prozesse bei

der Benutzung von zwei Betriebsmitteln durch Netze mit a) Verbotskanten, b) Prioritäten

c) Abräumkanten, d) markengesteuerte Kantengewichte! 3.2. Geben Sie zu nachfolgendem Netz mit k-beschränkter Stelle s und der Anfangs- markierung m0(s) = 0 ein gewöhnliches Netz an, welches dasselbe Verhalten besitzt und geben Sie für k =2 beide Erreichbarkeitsgraphen an!

k

sa b

c

Page 49: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 48 -

4. Modellerweiterungen

4.1 Gefärbte Netze

Einführung verschiedener Sorten (auch Farben genannt) von Marken für Plätze und von Schaltmodi (auch Transitionsfarben genannt) für Transitionen. Jedem Platz und jedem Schaltmodus wird eine endliche Menge von Farben zugeordnet. Den Kanten zwischen Plätzen und Transitionen werden Gewichte (sogenannte Multimengen über Platzfarben) zugeordnet, die die Anzahl der über diese Kante transportierten Marken der verschiedenen Farben angeben. Markierungen ordnen den Plätzen zu jeder Platzfarbe eine Anzahl von Marken dieser Farbe zu. Die Markierung eines Platzes kann durch eine Multimenge (Menge in der Elemente einer Sorte (Farbe) mehrfach vorkommen können, im endlichen Fall als Tupel oder Vektoren über natürlichen Zahlen aufzufassen) beschrieben werden. Gefärbte Netze können als Zusammenfassung mehrerer gleichartiger (strukturgleicher) Netze aufgefasst werden. Dabei wird die Transitions- und Platzmenge des ursprünglichen Netzes in durchschnittsfremde nichtleere Teilmengen (Klassen) zerlegt, die jeweils einer Transition bzw. einem Platz des gefärbten Netzes entsprechen. Die Transitionen und Plätze des ursprünglichen Netzes werden durch die Farben (Schaltmodi und Markensorten) vertreten. Man spricht dann auch von einer Faltung, wobei sich das Netzverhalten überträgt, aber u. U. Strukturinformationen verloren gehen. Umgekehrt kann aus einem gefärbten Netz durch Vervielfachung von Transitionen und Plätzen entsprechend den unterschiedlichen Farben ein ungefärbtes) Netz erzeugt werden, was dann als Entfaltung bezeichnet wird. Eine erneute Faltung des so erzeugten Netzes ist zu dem gefärbten Netz isomorph. Die Entfaltung ist wichtig für die strukturelle Analyse von gefärbten Netzen. Beispiel: Philosophen-Problem Fünf Philosophen sitzen an einem runden Tisch in einem chinesischen Restaurant und essen mit Stäbchen oder diskutieren. Es gibt aber nur fünf Stäbchen, so dass sich jeder Philosoph mit seinem Nachbarn jeweils das Stäbchen teilen muss. Wenn ein Philosoph ißt, müssen seine Nachbarn diskutieren. Nur zwei Philosophen können gleichzeitig essen. Wie sollten sich die Philosophen verhalten, damit keiner verhungern muss?

Abb. 4.1

ph1 ph2

ph3

ph4

ph5

g1

g4

g5

g3

g2

Page 50: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 49 -

Das Verhalten der Philosophen kann durch das folgende Netz beschrieben werden.

Abb.4.3 Die Markierung von g bzw. p gibt die aktuell verfügbaren Stäbchen bzw. essenden Philosophen an. Beide Plätze besitzen damit fünf Farben. Von jeder Farbe gibt es jeweils eine Marke, die die Verfügbarkeit des jeweiligen Stäbchens bzw. die Aktivität des entsprechenden Philosophen anzeigt. Die Transitionen b (essen) und e (diskutieren) besitzen für jeden Philosophen einen Schaltmodus. Der Philosoph pi kann essen (Transition b), wenn die Stäbchen g(i-1) mod 5 und gi mod 5 als Marken auf dem Platz g liegen. Mit dem Kantengewicht R+L (rechtes und linkes Stäbchen entfernen) entnimmt er die entsprechenden Marken aus Platz g und legt über die Kante mit dem Gewicht Id (Identität) die Marke pi auf den Platz p. Nach dem Schalten der Transition e im Modus des Philosophen pi werden die Stäbchen über die Kante mit dem Gewicht R+L auf den Platz g zurückgelegt.

g

p

p p p p

e e e e

Teilnetz

Faltung

Färbung

Die gleichartigen Teilnetze können wie folgt gefaltet werden.

Abb. 4.2

Page 51: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 50 -

Bemerkung: Eine Abbildung m, die jedem Element einer Menge X eine natürliche Zahl (einschl. Null) zuordnet, nennen wir eine Multimenge über X. Die Zahl m(x) gibt an, wie oft x in der Multimenge m enthalten ist. Für endliche Mengen X benutzen wir bei vorgegebener Ordnung von X die übliche Tupel- bzw. Vektorschreibweise. Zur Notation der Multimengen verwendet man auch formale Summen m = Σ m(x) * x (Addition nicht direkt ausführbar). Gefärbtes Netz GN = [P, T, F, C, V, m0] heißt gefärbtes Netz, wenn 1. [P, T, F] ein Netz, 2. C eine Abbildung (auch Colorierung genannt), die jedem Platz p aus P und jeder Tran- sition t aus T eine endliche nicht leere Menge C(p) und C(t) von Farben zuordnet, 3. V eine Abbildung, die jeder Kante (Pfeil) f aus F zwischen dem Platz p und der Tran- sition t eine Funktion V(f) zuordnet, die den Farben (Schaltmodi) aus C(t) jeweils eine Multimenge über der Farbmenge C(p) zuordnet, und 4. m0 eine Abbildung (Anfangsmarkierung) ist, die jedem Platz p eine Multimenge m0(p) über C(p) zuordnet. Beispiel: Philosophen-Netz (1) P = {g, p}, T = {b, e}, F = {(g, b), (b, p), (p, e), (e, g)} (2) C(g) = {g1, ..., g5} (Stäbchen als Platzfarben von g), C(p) = C(b) = C(e) = {ph1, ..., ph5} (Philosophen als Platzfarben von p bzw. Schaltmodi von b und e) (3) V(g, b) = V(e, g) = R+L , V(b, p) = V(p, e) = Id mit R+L (phi) = 1* g1 + 1* g5 falls i = 1 (Multimengen von Stäbchen) R+L (phi) = 1* gi-1 + 1* gi falls 2 ≤ i ≤ 5 (Multimengen von Id (phi) = 1* phi Philosophen) (4) m0 (g) = 1* g1+ 1* g2 + 1* g3 + 1* g4+ 1* g5 (alle Stäbchen vorhanden) m0 (p) = 0 (kein Philosoph ißt). Das gefärbte Netz entsteht durch Faltung des ursprünglichen Philosophen-Netzes, wobei die Plätze gi bzw. pi zum Platz g bzw. p , die Transitionen bi bzw. ei zur Transition b bzw. e verschmelzen. Dementsprechend werden die Kanten des ungefärbten Netzes zusammen-gefasst und mit den angegebenen Multimengen gewichtet. Die Anfangsmarkierung m0 beschreibt die im Bild dargestellte Ausgangssituation (kein Philosoph ißt.) Verhalten von gefärbten Netzen GN = (P, T, F, C, V, m0) : 1. Eine Funktion m, die jedem p aus P eine Multimenge über C(p) zuordnet, heißt Markierung von P. 2. Eine Transition t aus T ist bei der Markierung m zur Farbe d aktiviert (d-aktiviert bei m), wenn das Gewicht V(p, t)[d] der Kanten von den Vorplätzen p von t zu t ≤ (kleinergleich) der Markierung m(p)[d] der Plätze b zur Farbe d ist. (Zwei Tupel stehen in der Relation ≤ , wenn dies für alle ihre Komponenten als natürliche Zahlen gilt.)

Page 52: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 51 -

3. Die Transition t aus T kann bei m in der Farbe d schalten, wenn t bei m zur Farbe d aktiviert ist. Aus m entsteht bei [t,d] die Folgemarkierung m‘ mit

m(p) – V(p,t) + V(t,p) falls p ∈ •t und p ∈ t•

m’ = m(p) – V(p,t) falls p ∈ •t und p ∉ t•

m(p) + V(t,p) falls p ∉ •t und p ∈ t• m(p) sonst

bzw. m‘(p) = m(p) + ∆t mit ∆t = (p ∈ t•)V(t, p) – (p ∈ •t)V(p, t) . Bei endlicher Kapazität K(p)[d] des Platzes p in der Farbe d ist m(p)[d] + V(t, p)[d] – V(p, t)[d] ≤ K(p)[d] zu fordern. Beim Übergang von einem ungefärbten Netz zu einem gefärbten Netz entspricht das Schalten einer Transition im ursprünglichen Netz dem Schalten der zugeordneten Transition in der entsprechenden Farbe der Faltung. Beispiel: Philosophen-Netz Bei m0 (g) = 1* g1+ 1* g2 + 1* g3 + 1* g4+ 1* g5 = (1,1,1,1,1) und m0 (p) = 0 = (0,0,0,0,0) ist die Transition b in jeder Farbe gi aktiviert. Wenn b bei m0 in der Farbe (Schaltmodus) ph1 schaltet, dann entsteht die Folgemarkierung m1(g) = (0,1,1,1,0), m1(p) = (1,0,0,0,0) , d.h., aus dem Platz g werden die beiden dem Philosophen ph1 benachbarten Stäbchen (Marken der Farben g1 und g5)entfernt und dem Platz p eine Marke der Farbe ph1 zugefügt. Bei m1 ist die Transition b jetzt nur noch in den Farben ph3 und ph4 aktiviert. Erst nach Schalten der Transition e im Modus ph1 (Philosoph diskutiert) werden die beiden Marken der Farben g1 und g5 auf Platz g zurückgelegt (alle Stäbchen liegen wieder auf dem Tisch) und b kann in den Farben ph2 und/oder ph5 schalten. Die Transition b ist jetzt in den Farben {ph1, ph3},{ph1, ph4}, {ph2, ph4},{ph2, ph5},{ph3, ph5}aktiviert. Nachdem b in beiden Farben ge-schaltet hat, liegt auf g nur noch eine Marke einer Farbe, d.h., es liegt nur noch ein Stäbchen auf dem Tisch. Solange beide Philosophen essen, müssen die anderen diskutieren. Bösartige Absprachen dieser beiden können dazu führen, dass die restlichen Philosophen verhungern (b kann in den entsprechenden Farben nicht mehr aktiviert werden). Das globale Verhalten für Schaltfolgen q = [t1,d1] [t2,d2] … [tn,dn] mit di aus C(ti) und der Erreichbarkeitsbegriff lässt sich von den normalen Netzen analog auf gefärbte Netze übertragen. Lebendigkeit in gefärbten Netzen: a) Die Transition t heißt im Schaltmodus d m-lebendig gdw. es zu jeder m- erreichbaren Markierung m’ eine m’-erreichbare Markierung m’’ gibt, bei der t d-aktiviert ist. b) Die Transition t heißt schwach m-lebendig gdw. es einen Schaltmodus d aus C(t) gibt, in dem t m-lebendig ist. c) Die Transition t heißt m-lebendig gdw. t in jedem seiner Schaltmodi d aus C(t) m-lebendig ist. d) Die Transition t heißt kollektiv m-lebendig gdw. es zu jeder m-erreichbaren Markierung m’ eine m’-erreichbare Markierung m’’ und einen Schaltmodus d aus C(t) gibt, so dass t d-aktiviert bei m’’ ist.

Page 53: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 52 -

Eigenschaften: 1. Wenn t (schwach)-lebendig bei m, dann ist t auch (kollektiv) schwach- lebendig bei m. 2. Wenn es eine bei m0 kollektiv lebendige Transition gibt, dann ist das gefärbte Netz verklemmungsfrei (d.h., es ist keine tote Markierung erreichbar). Wie das nachfolgende Netz zeigt, gelten die Umkehrungen dieser Eigenschaften nicht.

F(a) = F(b) = 1* c, Id(a) = 1* a, Id(b) = 1* b, m0 (p1) = 1* c, m0 (p2) = 0

Bei der Anfangsmarkierung m0 kann die Transition t1 genau einmal in der Farbe a oder b schalten. Dabei wird die Marke vom Platz p1 abgezogen und eine Marke in der jeweiligen Farbe auf Platz p2 abgelegt. Die Transition t2 ist kollektiv lebendig bei m0, da bei jeder erreichbaren Markierung eine ihrer Farben nicht tot ist. Die Transition t2 ist aber bei m0 nur schwach lebendig, da sie in der Farbe a (bzw. b) tot ist, wenn die Transition t1 in der Farbe b (bzw. a) geschaltet hat. Die Umkehrung der Eigenschaft 2) gilt nicht, da bei trivialer Transitionsfärbung (jede Transition hat nur eine Farbe) die kollektive Lebendigkeit mit der schwachen Lebendigkeit übereinstimmt, und damit jedes verklemmungsfreie Netz eine lebendige Transition besitzen müßte. Wie am Beispiel des Philosophen-Netz gezeigt, können strukturgleiche Teile eines Netzes zusammengefasst (übereinander gelegt, gefaltet) werden, wodurch ein gefärbtes Netz entsteht. Dabei ist anzugeben, welche Plätze und welche Transitionen zusammengefasst werden sollen. Dies kann durch Zerlegungen der Transitions- und Platzmenge in durchschnittsfremde nichtleere Teilmengen geschehen, die dann jeweils einer Transition bzw. einem Platz des gefärbten Netzes entsprechen. Faltung Durch Faltung des Netzes N = [P, T, F, V, m0] mit den Zerlegungen p = {q1, ..., qk} von P und t = {u1, ..., un} von T erhalten wir das gefärbte Netz GN(p, t) = [P', T', F', C', V', m'0] mit der Platzmenge P‘ = {p'1,..., p‘k}, der Transitionsmenge T‘ = {t'1,..., t‘n }, den Platzfarben

C(p'i) = pi (1 ≤ i ≤ k), den Schaltmodi C(t'j) = tj (1 ≤ j ≤ n), der Kantenmenge F‘ = {(p‘,t‘) |

(C‘(p‘) × C‘(t‘)) ∩ F ≠∅} ∪ {(t‘,p‘) | (C‘(t‘) ×C‘(p‘)) ∩ F ≠∅}, den Kantengewichten

V‘(p‘,t‘)[t] = Σp∈C‘ (p‘) t- (p) * p bzw. V‘(t‘,p‘)[t] = Σp∈C‘ (p‘) t+ (p) * p und der

Anfangsmarkierung m‘0(p‘) =Σp∈C‘ (p‘) m0 (p) * p für t ∈ C‘(t‘), p‘∈ P’ und t‘∈T‘. (Die Plätze bzw. Transitionen von N sind die Platzfarben bzw. Schaltmodi von GN(p, t). Ein Platz von GN(p, t) ist mit einer Transition genau dann verbunden, wenn eine seiner Farben (Plätze) im Netz N mit einem Schaltmodus dieser Transition verbunden ist.)

t1 t2 p1 p2

F Id

Id

Ida,b a,b a,bc

Abb. 4.4

Page 54: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 53 -

Bemerkung: Zu jedem Zerlegungspaar (p, t) gehört genau eine Faltung von N zu einem gefärbten Netz GN(p, t). Durch das Falten von Netzen können die entsprechenden Graphen beliebig verkleinert werden, was aber im allgemeinen mit einem Verlust an Übersichtlichkeit und Modelltransparenz verbunden ist . Beim Falten werden Struktureigenschaften des ursprünglichen Netzes in der Beschriftung des gefärbten Netzes codiert. Um Aussagen über diese codierten Eigenschaften wieder zu gewinnen, wird das Netz entfärbt, also eine Umkehrung des Faltens durchgeführt. Dabei wird einem gefärbten Netz ein normales (ungefärbtes) Netz so zugeordnet, dass eine der möglichen Faltungen dieses Netzes zum ursprünglich gefärbten Netz deckungsgleich ist. Diese Operation nennt man Entfaltung. Entfaltung Das Netz GN* = [P*, T*, F*, V*, m0*] mit der Platzmenge P* = {(p, c) | p ∈ P, c ∈ C(p)},

der Transitionsmenge T* = {(t, d) | t ∈ T, d ∈ C(t)}, der Kantenmenge F* = {[(p,c),(t,d)] | (p,t) ∈ F, V(p,t)[d](c) > 0} ∪ {[(t,d),(p,c)] | (t,p) ∈ F, V(t,p)[d](c) > 0}, den Kantengewichten V*([(p,c),(t,d)]) = V(p,t)[d](c) , V*([(t,d),(p,c)]) = V(t,p)[d](c) und der Anfangsmarkierung m0*(p,c) = m0(p)(c) für p ∈ P, c ∈ C(p), t ∈ T und d ∈ C(t) heißt Entfaltung des gefärbten Netzes GN = [P, T, F, C, V, m0]. Eigenschaften: Eine Transition t ist in der Farbe d bei der Markierung m im gefärbten Netz GN genau dann aktiviert, wenn die Transition [t, d] in der Entfaltung GN* von GN bei der zugeordneten Markierung m* aktiviert ist. Kontrollfragen 32. Unter welchen Bedingungen lässt sich ein Netz falten ? 33. Was versteht man unter einer Colorierung ? 34. Welche Vor- und Nachteile hat eine Faltung ? 35. Was ist der Unterschied zwischen schwacher und kollektiver Lebendigkeit ? 36. Welche Netze entstehen bei Faltungen mit einer Zerlegungsklasse ?

Page 55: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 54 -

4.2 Prädikaten/Transitions-Netze

Bei Prädikaten/Transitions-Netzen werden nicht nur gleiche Marken verschiedener Sorten sondern auch Marken verschiedener Strukturen verwendet. Diese werden durch Relationen (Sprachen) beschrieben. Stellen werden als Prädikate (Objektmengen) aufgefasst. Transitionen werden Operationen auf Relationen zugeordnet. Die Kanten werden mit Konstruktionsbeschreibungen von Funktionen (Relationen) bewertet. Beispiel: Zur Beschreibung der Platz-Prädikate benutzen wir im nachfolgenden Beispiel Relationen über Dokumentnamen D, Arbeitsschrittbezeichnungen A und Mitarbeiternamen N. Im Bild ist zunächst die Anfangsmarkierung für die Plätze Dokument und Mitarbeiter angegeben. An den Kanten sind als Tupel die zugeordneten Auswahlfunktionen vermerkt, diese steuern, welche Marken die Transitionen aus den Vorstellen entnehmen und auf die Nachstellen übertragen.

Die Transition „Beginne-Bearbeitung“ sucht zu einem Dokument an der Stelle Dokument einen Bearbeiter, der den jeweiligen Arbeitsschritt durchführen kann. Es wird dann ein Tupel

Abb. 4.5 Relationen / Transitions-Netz

d1 n1 a1

Page 56: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 55 -

(Dokument, Name, Arbeitsschritt) erzeugt und auf die Stelle „In-Bearbeitung“ abgelegt. Die Transition „Beende-Bearbeitung“ entfernt dieses Tupel wieder von der Stelle „In-Bearbeitung“ und legt das Tupel (Name, Arbeitschritt) zurück auf die Stelle Mitarbeiter. Prädikaten/Transitions-Netze sind z.B. geeignet zur Beschreibung von Arbeitsabläufen auf relationalen Datenbanken bzw. in Verbindung mit dem Entity / Relationship-Modell. Kontrollfragen: 37. Von welcher Art sind die Marken bei Prädikaten/Transitions-Netzen ? 38. Was entspricht den Transitionen bei Relationen als Marken ? 39. Wozu werden Prädikaten/Transitions-Netze eingesetzt ?

Page 57: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 56 -

4.3 Zeitbewertung

Berücksichtigung von Zeitbedingungen zur Beschreibung von Wartezeiten, unterschiedlichen Bearbeitungs- bzw. Laufzeiten, Verzögerungen etc. Zeitbewertete Marken: Modellierung von Verweildauer bzw. Verfügbarkeit von Marken in Plätzen

p1 p2t1 t2

Abb. 4.6 Marke in p1 verfügbar, t1 schaltbereit

p1 p2 t1 t2

Abb. 4.7 Marke in p2 nicht verfügbar, t2 nicht schaltbereit

p1 p2t1 t2

Abb. 4.8 Marke in p2 verfügbar, t2 schaltbereit

Page 58: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 57 -

Zeitbewertete Transitionen: Modellierung von Schaltdauer für Transitionen Typ I : Marken an Vorplätzen vor dem Schalten entfernen bzw. verdecken (erfordert zusätzliche Sicherungsmaßnahmen). Abb. 4.9 Typ II : Marken an Vorplätzen bleiben während der Verzögerungsdauer erhalten (konkurrierende Transitionen sind möglich). Abb. 4.10

Bemerkung: Keine Einschränkung gegenüber zeitbewerteten Marken, da nach Einfügen zusätzlicher Transitionen und Plätze angenommen werden kann, dass alle von einer Transition erzeugten Marken dieselbe Verweildauer besitzen.

p1 p2t1

Zei

Zei

m1

m2 Marke

unsichtbar

p1 p2t1

Zei

Zei

m1

m2 Marke

sichtbar

Page 59: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 58 -

Zeitbewertete Transitionen: Modellierung von Schaltintervallen für Transitionen Schaltintervall [eft, lft] mit eft – frühester Schaltzeitpunkt (earliest firing time) wo eft ≤ lft lft – spätester Schaltzeitpunkt (latest firing time)

p1 p2t1

Zeit

Schalt -dauer

eft lft

Abb. 4.11 Transition t1 kann noch nicht schalten

p1 p2 t1

Zeit

Schalt -dauer

eft lft

Abb. 4.12 Transition kann schalten

p1 p2t1

Zeit

Schalt -dauer

eft lft

Abb. 4.13 Transition t1 kann nicht mehr schalten

Page 60: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 59 -

Zeitbewertete Kanten: Modellierung von Markendurchlässigkeit und Markenflußverzögerungen Einführung von Zeitverzögerungen bei Kanten zu Transitionen durch Zuordnung einer nicht-negativen Zahl eft bzw. lft , die als eft – frühester Schalt-zeitpunkt (earliest firing time) bzw. lft – spätester Schaltzeitpunkt (latest firing time) interpretiert wird. Bei mehreren Kanten zu einer Transition kann das Schalten verhindert werden.

Einführung von Zeitverzögerungen bei Kanten zu Plätzen, durch Zuordnung einer nicht-negative Zahl x, die als Verzögerungszeit interpretiert wird. Nach dem Schalten der Transition zum Zeitpunkt t erscheint die Marke auf dem Nachplatz zum Zeitpunkt t + x. Die Verzögerungen von Markenflüssen in Kanten können auch in normalen Netzen ohne Zeitbedingungen durch Einführung von Hilfstransitionen und Hilfsplätzen modelliert werden.

Abb. 4.15 Markenflußverzögerung, t schaltet zum Zeitpunkt τ Marke erscheint auf den Platz p zum Zeitpunkt τ + x

x t p

Abb. 4.16 Markenflußverzögerung mit Hilfstransitionen ti und Hilfsplätzen pi (x ganzzahlig)

t p t1p1 px tx

Abb. 4.14 Markendurchlässigkeit, t zum Zeitpunkt τ aktiviert x = eft ⇒ t schaltet frühestens ab τ + x x = lft ⇒ t schaltet höchstens bis τ + x

x tp

Page 61: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 60 -

Netze mit Schaltdauer für zeitbewertete Transitionen: Aktionen der Transitionen sind nicht mehr momentan (ohne Zeitverzögerung). Ausführungszeiten sind durch positive rationale Zahlen fest vorgegeben. Transitionen mit Schaltdauer 0 sind nicht zugelassen, da sonst Markenlokalisierung unklar. D-Netz Das Paar [N, D] heißt ein D-Netz (Netz mit Schaltdauer), wenn N = (P, T, F, V, m0) ein Netz und D(t) die Ausführungszeit der Transitionen t (positive rationale Zahl) beschreibt. Bemerkung: Es wird immer eine maximale Menge nebenläufiger Transitionen geschaltet, die gemeinsam aktiviert sind. Dabei dürfen Transitionen nicht nebenläufig zu sich selbst schalten. Eine Transition kann erst dann einen neuen Schaltvorgang beginnen, wenn der vorhergehende abgeschlossen ist. Die Ausführungszeiten D(t) können ohne Beschränkung der Allgemeinheit als ganzzahlig angenommen werden (Diskrete Zeitskala, durch Zeitstreckung durch Multiplikation mit dem kleinsten gemeinsamen Vielfachen). Ein Paar [m, u] wird Zustand von [N, D] genannt, wenn m eine Markierung von N und u eine Abbildung (Uhr) ist, die jeder Transition t eine natürliche Zahl u(t) < D(t) zuordnet. Für den Anfangszustand [m0, 0] gilt 0(t) = 0 für alle t aus T. Bemerkung: Bei u(t) = 0 ist t nicht aktiv. Bei u(t) > 0 ist t aktiv und hat im Vorzustand zum Zeitpunkt τ den Schaltvorgang zum Zeitpunkt τ - u(t) begonnen. Da dieser Schaltvorgang nach D(t) Zeiteinheiten abgeschlossen ist, muss u(t) < D(t) sein. Schritte in D-Netzen Eine Menge U von Transitionen eines D-Netzes [N, D] heißt Schritt beim Zustand [m, u], wenn a) keine der Transitionen t aus U ist nebenläufig zu sich selbst, b) es existieren Transitionen, die sich im Schaltvorgang befinden, c) alle Transitionen aus U sind aktiviert und d) U ist maximale Teilmenge von T mit den vorgenannten Eigenschaften.

Bemerkung: Schritte bei [m, u] sind maximale Mengen von bei m nebenläufig aktivierten Transitionen, die sich im Zustand [m, u] nicht im Schaltvorgang befinden. Folgezustand von [m, u] beim Schritt U: Das Schalten (Ausführen) von Schritt U im Zustand [m, u] zum Zeitpunkt τ führt zu dem Folgezustand [m‘, u‘] im Zeitpunkt (τ + 1) mit: m‘ = m – U- + Σt ∈U, u(t) = 1 t+ + Σ u(t) = D(t) - 1 t+ mit U- = Σt ∈U t -

(1. Summe: t wird aktiv und schaltet, 2. Summe: t war aktiv und schaltet jetzt), und 1 t ∈ U und D(t) < 1 (Schaltvorgang startet) u‘(t) = u(t) + 1 falls t ∉ U und 0<u(t)<(D(t)–1) (Schaltvorgang fortsetzen) 0 sonst (Schaltvorgang anhalten)

Page 62: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 61 -

Beispiel: Dem nachfolgend dargestellten D-Netz liegt zunächst ein unbeschränktes Netz zugrunde. Bei der vorgegebenen Zeitbewertung D der Transitionen entsteht dennoch ein endlicher Erreichbarkeitsgraph, da die Transition t2 aus dem Platz p1 schneller Marken abzieht als t1 dort ablegen kann. Dies kommt im zugehörigen Erreichbarkeitsgraph zum Anfangszustand [(0), (0,0)] dadurch zum Ausdruck, dass bei der vorgegebenen Zeitbewertung nach erstmaligem Schalten von t1 bis auf den Übergang von [(1), (0,0)] nach [(0), (1,1)] mit dem Schritt {t1, t2} nur leere Schritte möglich sind. Bemerkung: Wie die nachfolgenden Beispielnetze zeigen, kann man weder aus der Lebendigkeit noch aus der Nicht-Lebendigkeit eines Netzes N auf die Lebendigkeit bzw. Nicht-Lebendigkeit des D-Netzes [N, D] schließen.

t1 t2 p1

3 2

Abb. 4.17 D-Netz mit D(t1) = 3, D(t2) = 2

(0), (0,0) (0), (1,0)

(0), (1,1)

(0), (2,0)

(1), (0,0)

∅∅∅∅

∅∅∅∅ ∅∅∅∅

t1

t1, t2

Abb. 4.18 Erreichbarkeitsgraph zum Anfangszustand z0 = [m0, u0] = [(0), (0,0)]

p1 p4

t1

t2

1

1

2

t3

t4

p2 p3 1

Abb. 4.20 Nicht lebendiges D-Netz (t2 ist tot) zu lebendigem Netz

p1 p2t1

t2

1

12

Abb. 4.19 Lebendiges D-Netz zu nicht-lebendigem Netz mit Anfangszustand [(2,1),(0,0)]

Page 63: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 62 -

Netze mit Schaltintervall für zeitbewertete Transitionen Für jede Transition t wird eine früheste Schaltzeit α(t) und eine späteste Schaltzeit β(t) (nicht negative rationale Zahlen α(t) ≤ β(t) ) nach der Aktivierung festgelegt. Vor α(t) kann die Transition t noch nicht und nach β(t) kann sie nicht mehr schalten. Der Schaltvorgang selbst wird nicht unterbrochen. Bei α(t) = β(t) = 0 muss die Transition t sofort schalten. Wenn dabei Nebenläufigkeit zu sich selbst nicht zugelassen wird, kann jede Transition t mit einer Uhr ausgerüstet werden, die die Zeit (Takte) u(t) anzeigt, die seit der Aktivierung von t vergangen ist. Solange die Transition t nicht aktiviert, ist die Uhr abgestellt u(t) = #. Die Uhren aller Transitionen sind synchronisiert, d.h., laufen gleich schnell (globale Zeitskala). Die Uhrenstellungen u der Transitionen werden im Netz-Zustand [m, u] = [m(p)p∈P, u(t)t∈T] erfasst, wo m die Platzmarkierung angibt. Ausgehend von dem Netz N = [P, T, F, V, m0] wird ZN = [N, α, β ] ein Zeit-Netz genannt.

(Ohne Beschränkung der Allgemeinheit können die Werte von α und β als natürliche Zahlen angenommen werden.) Der Zustand eines Zeitnetzes kann durch weiterzählen der Uhren und durch Schalten von Transitionen verändert werden. Eine Transition t kann schalten (ist schaltbar), wenn an den Vorplätzen die erforderlichen Marken vorhanden sind (Transition aktiviert) und ihre Uhr bereits α(t) Zeiteinheiten gelaufen ist . Eine aktivierte Transition t muss spätestens dann schalten, wenn ihre Uhr β(t) Zeiteinheiten gelaufen ist. Im Anfangszustand z0 = [m0, u0] sind die Uhren aller bei m0 aktivierten Transitionen auf 0 gestellt, während die Uhren aller bei m0 nicht aktivierten Transitionen abgestellt sind. Beispiel: Zeit-Netz

mit den Zuständen z0 = [(1,0,0,0,0),(0,#,#,#,#,#,#)], z1 = [(0,1,0,1,0),(#,0,0,0,#,#,#)], z2 = [(0,1,0,0,1),(#,0,#,#,0,0,#)], z3 = [(0,1,0,0,0),(#,0,#,#,#,#,#)], z4 = [(0,1,0,0,0),(#,1,#,#,#,#,#)], z5 = [(0,1,0,0,0),(#,2,#,#,#,#,#)], z6 = [(0,0,1,0,0),(#,#,#,#,#,0,#)], z7 = [(0,1,0,1,0),(#,1,1,1,#,#,#)], z8 = [(0,1,0,0,1),(#,1,#,#,0,0,#)], z9 = [(1,0,0,0,0),(1,#,#,#,#,#,#)] .

p1

p2

p3

t1

t2

t3

1,10,0

t4

t5t6

t7p4

p5

0,1

0,1

0,0

0,22,2Abb. 4.21

Page 64: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 63 -

und dem Erreichbarkeitsgraph

Timer-Netze : Zeitmodellierung in den Transitionen als nicht-atomare Ereignisse mit Hilfe von Timern. Dabei wird jeder Transition eine Timeranweisung bzw. Timerabfrage zugeordnet, die von anderen Transitionen abgefragt werden kann bzw. auf diese einwirkt. Eine aktivierte Transition kann nur dann schalten, wenn ihre Timerbedingung erfüllt ist. Damit können bestimmte Schaltfolgen verhindert werden. So ist z.B. im nachfolgenden Timer-Netz die Schaltfolge auch zeitlich inkonsistent, d.h., bei den zugeordneten Timern nicht möglich. Timer-Netze dienen der Modellierung von Prozessen, bei denen zeitabhängige Entscheidungen oder Zeitgarantien eine Rolle spielen, z.B. Kommunikationsprotokolle, Durchsatzanalysen oder Realzeitanwendungen. Kontrollfragen: 40. Welcher Unterschied besteht zwischen Transitionen vom Typ I und Typ II ? 41. Wie werden die Zustände von D-Netzen beschrieben ? 42. Welche Eigenschaften haben Zeit-Netze, bei denen alle Transitionen die gleiche Schaltdauer besitzen. 43. Wodurch unterscheiden sich D-Netze von Timer-Netzen ?

z0

z1

z2

z4

z5

z6

z7

z8

z9

z3

t1

t1

t2

t4 t4

t5 t5

t6 t6

t7

#

# ##

t3

p2p1 b d

τa := 0 c e

a

p3

τa > 10

τa < 10 τa < 8

τa > 0

Abb. 4.22

Abb. 4.23

Page 65: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 64 -

4.4 Hierarchische Netze

Modellierung von Systemen als Netze auf verschiedenen Abstraktionsebenen mit der gleichen Beschreibungssprache. Das System kann auf beliebiger Detaillierungsebene mit denselben Methoden bearbeitet werden, was zur Verbesserung der Übersichtlichkeit des Gesamtsystems beiträgt. Beim Übergang zum hierarchischen Netz werden Netzknoten (Transitionen oder Plätze) verfeinert. Durch Vergröberung von Netzknoten gelangt man zum nicht-hierarchischen Netz . Umgebung = Kanten zu anderen Teilnetzen. Grenzknoten = Knoten aus Unternetz mit Kanten zu anderen Teilnetzen. Rand des Unternetzes = Gesamtheit der Grenzknoten. Randknoten des Unternetzes sind Transitionen (bzw. Plätze), falls der Vaterknoten Transition (bzw. Platz) ist.

Unternetz

Vaterknoten

Verfeinerung Vergröberung

Rand

Unternetz

Umgebungs- Unternetz- Grenz- knoten knoten knoten

Umgebung

Umgebung

Vaterknoten = Vergröberung (Abstraktion) eines Unternetzes. Unternetz = Verfeinerung (Konkretisierung) eines Vaterknotens.

Abb. 4.24

Abb. 4.25

Page 66: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 65 -

Beispiel: Verfeinerung von Transitionen: Marken in oberster Ebene nicht vollständig darstellbar.

Abb. 4.26

p1

t2222 t1111

p2

Empfänger Sender

p1

t21212121 t11111111

p2

t12121212 t22222222

p11 p12 p21 p22

Ebene 1

Ebene 2

Sender

Empfänger

Page 67: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 66 -

Beispiel: Verfeinerung von Plätzen: Markierung in allen Ebenen darstellbar.

Die einzelnen Netze der Hierarchie heißen Seiten. Diese Seiten werden verbunden, indem einzelnen Transitionen oder Plätzen jeweils eine Seite als Substitution zugeordnet wird. Transitionen können statisch auf dieselbe Seite substituiert werden. Für jede Substitution existiert dynamisch eine eigene Instanz der Seite. Direkte oder indirekte (über andere Seiten ) Rekursion ist nicht zulässig. Die Hierarchie besteht aus Haupt-Seiteninstanzen und untergeordneten Seiteninstanzen. Die Haupt-Seiteninstanzen bilden den Anfang der Hierarchie. Transitionen bzw. Plätze auf den Hauptseiten können untergeordnete Seitenin-stanzen besitzen, die durch Substitution zugeordnet werden. In analoger Weise setzt sich dies auf den untergeordneten Seiten der Hierarchie fort. Weiter betrachten wir nur Substitutionen von Transitionen. Dabei werden den Stellen auf der jeweils höheren Ebene (Socket-Knoten) Stellen der untergeordneten Seite (Port-Knoten) gleichen Typs (ein- oder ausgehende Kanten) zugeordnet. Die mit einer substituierten Transition durch Kanten verbundenen Stellen bilden die Socket-Knoten dieser Transition. Eine Funktion ST legt den Socket-Typ (in, out, i/o) dieser Stellen fest. Frei wählbaren Port-Knoten auf untergeordneten Seiten haben ebenso einen Port-Typ (in, out, i/o, general).

p1

t2222

t1111 p2

Bahnhof 3 Bahnhof 1 Bahnhof 2

p3

t3333

t4444

t21212121

t1111

p21

Bahnhof 2 k = 3

t3333

t4444

t22222222

t23232323 t24242424

t25252525 t26262626

t27272727 t28282828

t29292929 t20202020

p22 p23 p24

p25

p26

p27 p28

p29

p20

t2222

k = 1

k = 1

k = 1

k = 1

k = 1

k = 1

k = 2

Ebene 1

Ebene 2

Abb. 4.27

Page 68: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 67 -

Bis auf den Typ general, kann ein Socket-Knoten nur mit einem Port-Knoten vom gleichen Typ verbunden werden. Transitionen und Socket-Stellen werden entsprechend der Port-Stellen-Zuordnung substituiert. Fusions-Stellen, die zu einer oder mehreren Seiten gehören, werden bei graphischer Darstellung als identische Stellen betrachtet. Man unterscheidet zwi-schen globalen Fusions-Stellen (Zugriff über Instanzen und Seiten hinweg), Seiten-Fusions-Stellen (Zugriff nur über Instanzen derselben Seite) und Instanzen-Fusions-Stellen (Zugriff nur innerhalb der Seiten-Instanz). Globale Fusions-Stellen können als globale Variable aufgefasst werden. Beispiel: Netz (0) mit Unternetzen (1,2,3) auf drei Ebenen

Zu jedem hierarchischen Netz kann ein nicht-hierarchisches Netz konstruiert werden, was dasselbe Verhalten und die entsprechenden Eigenschaften des hierarchischen Netzes besitzt. Konstruktion: - Es werden von jeder Seite soviel Kopien erzeugt, wie viel Instanzen diese Seite im hierarchischen Netz hat. - Entfernen aller Substitutionstransitionen zusammen mit ihren Umgebungskanten. (Das damit entstehende nicht zusammenhängende Netz enthält einen Platz für jede Platzinstanz, eine Transition für jede Transitionsinstanz und eine Kante für jede Kanteninstanz.) - Zusammenfassen aller Elemente jeder Platzinstanzgruppe zu einem einzelnen Platz mit allen Kanten der ursprünglichen Platzinstanz.

Abb. 4.28

PP

0

1

2

3 3

IN

OUT

OUT

OUT

OUT

OUT

Level 1

Level 2

Level 2

Level 3 Level 3

IN

IN

IN IN

a

a a

b

b b

c

c c

d

d

d d

e

e

e e

f

t1

t2

t3

t3

Instanz

Instanz

Instanz

Instanz 1 Instanz 2

Page 69: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 68 -

Das so konstruierte nicht-hierarchische Netz verfügt über je einen Platz für jede Platzinstanz-gruppe, je eine Transition für jede Transitionsinstanz und je eine Kante für jede Kanteninstanz des hierarchischen Netzes. Kontrollfragen: 44. Wodurch unterscheiden sich Umgebungsknoten, Unternetzknoten und Grenzknoten ? 45. Was versteht man unter Instanzen ? 46. Was unterscheidet Socket- von Portknoten ? 47. Wie kann aus einem hierarchischen Netz ein nichthierarchisches Netz mit gleichem Verhalten konstruiert werden ?

Page 70: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 69 -

Übungsaufgaben

4.1 Geben Sie zu dem gefärbten Netz

a) eine Entfaltung an und beschreiben Sie das Verhalten dieses Netzes!

b) Welche Transitionen sind bei der Anfangsmarkierung m0 kollektiv lebendig und c) ist das gefärbte Netz verklemmungsfrei?

4.2 Beschreiben Sie ein Zimmerreservierungssystem (Zimmer besitzen verschiedene Ausstattungsvarianten und Bettenzahlen bzw. Eigenschaften wie frei, reserviert, vorgemerkt usw.) für ein Hotel als Prädikaten/Transitions-Netz. 4.3 Untersuchen Sie, ob das nachfolgende D-Netz mit Schaltdauer für Transitionen

a) beschränkt , b) lebendig ist und c) geben Sie für die Anfangsmarkierung m0 ein Protokoll an, in dem beide Transitionen vorkommen! 4.4 Beschreiben Sie die gesicherte Wortübertragung von einem Sender zu einem Empfänger als hierarchische Netz mit drei Ebenen (ungesicherte Zeichenübertragung, Sicherung der Zeichenübertragung, gesicherte Wortübertragung).

s4

s3

1 1

K

K K

K

s1

K K

s2

111

C (si) = {a,b,c} C(s4) = {s} C (ti) = {X,Y,Z} K (X) = 1*a K (Y) = 1*b K (Z) = 1*c m0 (s1) = 1*a+1*b+1*c m0 (s2) = 0 m0 (s3) = 0 m0 (s4) = 1*s

000

000

1

D(t1) = 3 D(t2) = 2 und m0(s1) = 1 m0(s2) = 0

t2 t1

s1

s2

t2 t3

t1

Page 71: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 70 -

5. Anwendungen

5.1 Produktionssysteme

Modellierung des Objektstromes in Produktionssystemen, d.h. Systemen aus Maschinen, Verteilern und Verbindungskanälen. Maschinen können arbeiten, wenn alle erforderlichen Eingabeobjekte vorhanden sind. Die von Maschinen produzierten Ausgabeobjekte werden über Ausgabekanäle weitergeleitet. Verteiler steuern die Objektströme, indem sie jeweils ein Objekt von einem ihrer Eingabekanäle aufnehmen und unverändert auf einem Ausgabekanal übertragen. Das Gesamtsystem arbeitet asynchron.

Beispiel:

Abb. 5.1 Im Beispiel sind die Maschinen als Quadrate, Verteiler als Kreise und Kanäle als Pfeile dargestellt. Im System P1 erzeugt die Maschine M1 die Eingangsobjekte für die Maschinen (gleichen Typs) M2 und M3. Die Ausgänge dieser Maschinen sind über den Verteiler V1 mit

der Maschine M4 verbunden. Bei V1 kann es zur Überlastung (Akkumulation) kommen, wenn

die Verarbeitungsgeschwindigkeit der Maschine M4 nicht ausreicht. In diesem als Stau bezeichneten Fall muss mit einem Stillstand von M2 oder M3 gerechnet werden.

Bei dem System P2 verteilt der Verteiler V2 die Eingabeobjekte auf die Maschinen M5 und M6

. M7 kann nur dann arbeiten, wenn M5 und M6 entsprechende Ausgabeobjekte produziert haben. Falls der Verteiler eine dieser Maschinen bevorzugt kann es zum Stillstand der anderen und damit auch von M7 kommen.

Ziel ist es, durch geeignete Strukturen (Vernetzung) derartige Störungen zu vermeiden bzw. diese zu erkennen. Dazu stellen wir solche Produktionssysteme durch spezielle Netze vom Typ free-choice dar. Auftreten von Akkumulation bedeutet Unsicherheit des Netzes. Stillstand entspricht der Nichtlebendigkeit des Netzes.

M1

M2 M3

M4

M5 M6

M7

V1

V2 P1 P2

Page 72: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 71 -

Beispiel: Objekten (bzw. Kanälen, bzw. Maschinen, bzw. Verteiler) werden Marken (bzw. Plätze, bzw. Transitionen, bzw. Teilnetze) zugeordnet.

Abb. 5.2 Die Systeme P1 und P2 entsprechen den Netzen N(P1) und N(P2) wie folgt:

Elemente von Produktionsprozessen

unsicher

Konflikt

Abb. 5.3 Produktionssysteme als Netze

Plätze der Eingabekanäle

Aufnahmetransitionen

Ausgabetransitionen

Plätze der Ausgabekanäle

s

Page 73: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 72 -

Im Netz N(P1) des Produktionssystems P1 sind die Plätze V1 (innerer Platz des Verteilers) und

s unsicher, da bei der angenommenen Anfangsmarkierung als Folgemarkierung 2 Marken in den Plätzen V1 bzw. s entstehen würden, womit ihre Kapazität überschritten wird. Ein Platz, der einem Kanal des Produktionssystems entspricht, ist genau dann unsicher, wenn bei der der Anfangsbelegung entsprechenden Objektbelegung im System auf dem zugeordneten Kanal Akkumulation auftritt. Im Netz N(P2) des Systems P2 stehen die Transitionen t3 und t4 im Konflikt, sobald die

Eingangstransition des Verteilers V2 gefeuert hat. Wird dieser Konflikt immer zugunsten von t4 gelöst, kommt es zum Stillstand, so dass M6 und M7 niemals aktivierbar sind. Dieser

Stillstand kann durch Einführung eines Regulationskreises zwischen den Ausgangstransitionen des Verteilers vermieden werden.

Abb. 5.4 Regulationskreis

Es besteht offensichtlich ein Zusammenhang zwischen dem Stillstand eines Teilsystems in einem Produktionssystem und dem Tod der entsprechenden Transition im zugehörigen Netz. Das Netz kann auf Akkumulation (Sicherheit) oder Stillstand (Lebendigkeit) hin untersucht werden. Bemerkung: Jedes Produktionssystem lässt sich durch ein Netz N = (S, T, F) mit free-choice Eigenschaft (FC-Netz) modellieren, d.h., wenn (s,t) ∈ F, dann ist sF = {t} oder Ft = {s}. (Wenn s einem Kanal, t einer Maschine oder t einer Eingangstransition eines Verteilers entspricht, dann ist t die einzige Nachtransition von s, da Kanäle sich nicht verzweigen. Wenn s innerer Platz eines Verteilers, dann ist t Ausgangstransition dieses Verteilers, womit s einziger Ausgangsplatz dieser Transition ist.) Bei FC-Netzen besteht zur Lösung des Konflikts freie Auswahl unter den beteiligten Transitionen, da diese keine weiteren Vorplätze besitzen. Für FC-Netze ist Lebendigkeit und Sicherheit entscheidbar. Damit sind die o.g. Störungen (Stillstand und Akkumulation) kontrollierbar. Bei anderen Netzarten ist dies im allgemeinen nicht gegeben.

Page 74: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 73 -

Maschinen können durch Teilnetze repräsentiert sein, womit dann das zeitliches Verhalten der aktiven Elemente des Systems beschreibbar wird. Den Plätzen können Verzögerungszeiten zugeordnet werden.

Abb. 5.5 Kontrollfragen: 48. Wie kann Stillstand und Stau bei Produktionssystemen

erkannt und vermieden werden?

49. Was bedeutet die free-choice-Eigenschaft für Produktions- systemen?

50. Was wird in Netzen für Produktionssysteme durch die Markierungen beschrieben?

Aufnahme Verarbeitung Ausgabe

Page 75: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 74 -

5.2 Kommunikationsnetze

Kommunikation erfordert Übertragung von Information (Daten, Signale, Befehlen u.a.) zwischen verschiedenen Partnern (Agenten), die nebenläufig und anteilig arbeiten. Die Kommunikation selbst unterliegt Protokollen, die eine Übereinkunft zwischen den Partnern über den Informationsaustausch und Verhaltensvorschriften für Teile des Gesamtsystems zur Erreichung von gemeinsamen Zielen festlegen, die zu erreichen bzw. zu vermeiden sind. Unter einem Protokoll kann die Gesamtheit der Algorithmen verstanden werden, die jeder Systemteil (Agent) ausführen muss, um das Übertragungsziel zu erreichen oder Nachteile zu vermeiden. Die Agenten sind im allgemeinen räumlich getrennt, arbeiten auf getrennten Datenbeständen, nutzen unterschiedliche Datenformate, arbeiten nebenläufig und besitzen unterschiedliches Verhalten (Plattformen). Insbesondere der Verteiltheitsaspekt ist für das Kommunikationssystem charakteristisch. Dabei treten Störfaktoren (Nachrichtenverlust, Verfälschung, Ausfälle, Verklemmungen, Unverträglichkeiten) auf, die durch geeignete Protkolle zu berücksichtigen und wenn möglich, zu vermeiden bzw. auszugleichen sind. Aufgabenbereiche von Kommunikationsprotokollen: - Datenübertragung (gesicherter Daten- und Signalaustausch) -Wechselseitiger Ausschluss (Vermeidung unerwünschter Zustandskombinationen bzw.

Aktionsfolgen) - Fehlertoleranz (Resistenz gegen Ausfälle oder Fehlfunktionen) Zur Beschreibung von Kommunikationsprotokollen bedient man sich des Paradigmas der virtuellen Maschinen (auf hierarchisch gestuften Sprachebenen) als verteilte Systeme. Die Ausführung von Protokollen bzw. Teilprotokollen wird von Diensten übernommen, die durch das System spezifiziert werden. Die Dienstbeschreibung spezifiziert deren Verfügbarkeit, Benutzung und Wirkung auf unterschiedlichen Ebenen (Stufen). Aufgabe eines Protokolls ist es, einen Dienst unter Benutzung eines Dienstes einer niedrigeren Ebene zu erbringen. Dadurch wird ein Dienst in eine höhere (abstraktere) Ebene gehoben.

Page 76: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 75 -

N-Dienst- Schnittstelle

N-Dienst- Schnittstelle

(N-1)-Dienst- Schnittstelle

Abb. 5.6 Hierarchisches Dienst-/ Protokollmodell

Page 77: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 76 -

Eine solche hierarchische Kommunikationsarchitektur wird in einzelne Module gegliedert, die hierarchisch aufeinander aufgebaut werden. Durch die internationale Normungsorganisation (ISO) wurde das OSI-Referenzmodell (Open Systems Interconnection) eingeführt, dem die meisten hierarchischen Kommuni-kationsprotokolle folgen. Zur vereinfachten Beschreibung einer derartigen Protokollhierarchie durch Netze gehen wir von folgender Problemstellung aus: Zwischen zwei Agenten, einem Sender und einem Empfänger, soll ein Wort w = w1 w2 ...wk über einem Alphabet {A, B, ..., Z} übertragen werden. Senderseitig soll der Dienst ''Sende Wort'' und empfängerseitig der Dienst ''Empfange Wort'' realisiert werden. Zur Verfügung stehen aber nur weniger leistungsfähigere Dienstelemente, wie ''Sende Buchstaben'', ''Empfange Quittung'' senderseitig und ''Empfange Buchstaben'', ''Sende Quittung'' empfängerseitig. Mit diesen niedrigeren Diensten können Buchstaben aus einem erweiterten Alphabet {A, B, ...

, Z, a, b, ... , z, ◊, ◊} eventuell gestört und ungeordnet vom Sender zum Empfänger übertragen werden. Entsprechendes gilt für die Quittungen {0, 1} vom Empfänger zum Sender. Die Agenten lösen das Problem mehrstufig. Auf dem gegebenen niederen Dienst (1-Dienst) setzt ein 2-Protokoll auf, welches die Dienstelemente ''Sende sicher Buchstabe'' und ''Empfange sicher Buchstabe'' als 2-Dienst von Sender zu Empfänger zur Verfügung stellt (mit Fehlerkorrektur). Ausserdem soll das 2-Protokoll die Einhaltung der Reihenfolge (Ordnung im Wort) garantieren.

Abb. 5.7 Schema des OSI-Refernzmodells

Page 78: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 77 -

Auf diesen 2-Dienst setzt nun ein 3-Protokoll auf, was den gewünschten Dienst als 3-Dienst zur Verfügung stellt.

3-Dienst Wortübertragung

2-Dienst gesicherte Buchstaben- übertragung

1-Dienst ungesicherte Buchstaben- übertragung

Abb. 5.8 Protokollhierarchie zur Wortübertragung

Page 79: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 78 -

Diese Protokollhierarchie ''Sichere Zeichenübertragung'' kann als Netz (Dienstelemente als Stellen) wie folgt beschrieben werden:

Abb. 5.9 Sichere Zeichenübertragung Dabei bedeutet: sB - ''sende Buchstaben'', eQ - ''empfange Quittung'', sQ - ''sende Quittung'', eB - ''empfange Buchstaben''. Das Netz beschreibt, wie das asymmetrische 2-Protokoll mit Hilfe des 1-Dienstes den 2-Dienst (Zeichen sicher übertragen) erbringt. An den so realisierten 2-Dienst kann durch Ankopplung eines 3-Protokolls an die Dienstelementstellen ss - ''sende sicher Buchstaben'', wS - ''weiter“ (Sender-gesteuert), wE - ''weiter'' (Empfänger-gesteuert), es - ''empfange sicher Buchstaben'' der gewünschte Dienst (3-Dienst) ausgeführt werden. Das 2-Protokoll benutzt die Kanäle so, dass immer höchstens ein ''Nutz''-Buchstabe vom Sender zum Empfänger bzw. eine Quittung in umgekehrter Richtung transportiert wird. Dies garantieren die Dienstschnittstellen (warten auf ''weiter''-Marke in wS) und das Quittierungsschema (warten auf „Quittungs“-Marke in wE). Der zu übertragende Buchstabe wird vom Sender solange aufgehoben (in ss) bzw. mehrfach gesendet, bis der Empfänger den Empfang durch Quittung (in es) bestätigt. Dabei wird nach folgendem Sende- und Quittierungsschema verfahren: Die Setzfunktion s ordnet den Großbuchstaben 1 und den Kleinbuchstaben 0 zu, d.h., s(X) = 1

, wenn X ∈ {A, B, ..., Z, ◊} sonst 0. Das 2-Protokoll wandelt mit der Funktion f(X, 1) = X und f(X, 0) = x (Kleinbuchstabe zu X) senderseitig jeden zweiten Buchstaben in einen Kleinbuchstaben um. Gegebenenfalls wird der Buchstabe mehrfach übertragen. Jedes empfangene Zeichen (echt oder verfälscht) quittiert der Empfänger mit s(X) = σ für den zuletzt unverfälscht empfangenen Buchstaben X

Sender Empfänger

verfälscht

korrekt

neu alt

Sender Empfänger

verfälscht

korrekt

Page 80: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 79 -

(anfangs 0). Erreicht diese Quittung den Sender unverfälscht und passt sie zu dem gesendeten Buchstaben, wird der Wert von s von 1 nach 0 oder umgekehrt gewechselt. Ist die Quittung verfälscht (?) oder unpassend (s(X) ≠ σ), sendet der Sender diesen Buchstaben nochmals. Falls beim Sender eine passende Quittung ankommt, signalisiert das 2-Protokoll senderseitig durch eine Marke in wS die Bereitschaft, den nächsten Buchstaben zu senden. Empfängerseitig wird dann der letzte unverfälscht und nicht wiederholt empfangene Buchstabe weitergereicht, wenn wE eine Marke trägt. Gegebenenfalls wird der weitergereichte Buchstaben durch die Funktion g wieder in einen Grossbuchstaben umgewandelt. Um die Korrektheit des 2-Protokolls zu überprüfen, kann die Äquivalenz des vom Protokoll realisierten 2-Dienstes mit der 2-Dienst-Spezifikation untersucht werden. Meist werden dabei bestimmte Dienst-Benutzungsordnungen für Protokolle vorausgesetzt, d.h., auf Netze gegebener Form eingeschränkt. Auf den realisierten 2-Dienst baut nun das 3-Protokoll auf, welches schliesslich den gewünschten 3-Dienst gewährleisten soll. Wir verwenden dazu die 3-Dienstelementstellen ssW - sende sicher Wort, nWS - nächstes Wort senderseitig, nWE - nächstes Wort empfängerseitig, esW - empfange sicher Wort. Die 3-Dienstspezifikation und das den 3-Dienst erbringende 3-Protokoll sind wie folgt zu beschreiben:

sende sicher Buchstaben β

empfange sicher Buchstaben β

weiter (S)

weiter (E)

Abb. 5.10 2-Dienst-Spezifikation

Abb. 5.11 3-Dienst-Spezifikation

sende sicher Wort ω

empfange sicher Wort ω

nächstes Wort (S)

nächstes Wort (E)

ss wS wE es

ssW nWS nWE

esW

Page 81: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 80 -

Ein auf ssW liegendes Wort wird zeichenweise gesendet. Dabei wird ein Zeichen erst dann gesendet, wenn das vorhergehende auf ''weiter'' senderseitig bestätigt ist. Abschliessend wird

das Wortendesymbol ◊ gesendet. Empfangsseitig wird das Wort wieder zusammengesetzt und

weitergereicht, nachdem das Wortendesymbol ◊ empfangen und erkannt wurde.

Abb. 5.12 Wortübertragungs-Protokoll Falls die Korrektheit der vorhergehenden Stufen nachgewiesen ist, muß jetzt noch die Kopplung von 2-Dienstspezifikation und 3-Protokoll untersucht werden. Damit kann man bei Korrektheitsbeweisen stufenweise vorgehen und muss nicht das Gesamtnetz untersuchen, welches sehr unübersichtlich und komplex sein kann. Auch dabei wird natürlich eine einheitliche Benutzerordnung der Dienste durch die Protokolle auf den einzelnen Ebenen vorausgesetzt.

Sender Empfänger

sende sicher weiter senden weiter empfangen empfange sicher

e

e

Page 82: Prozessmodellierung - uni-leipzig.degerber/Prozessmodell.pdf · 2006. 7. 12. · Prozessmodellierung Skript zur Vorlesung von Prof. Dr. Siegmar Gerber Februar 2005

Einführung - 81 -

Kontrollfragen: 51. Geben Sie ein Netz an, welches die Übertragung von

Binärwörtern (0,1-Folgen) von einem Sender zu einem Empfänger modelliert?

52. Wodurch wird der Übergang zwischen den Stufen der Protokollhierarchie erreicht?

53. Wie können Ausfälle in Kommunikationsnetzen erkannt bzw. verhindert werden?

� Übungsaufgaben

5.1 Beschreiben Sie das folgende Produktionssystem durch ein Netz unter Vermeidung von Unsicherheit und Stillstand.

5.2 Geben Sie ein Netz an, welches das Protokoll für eine sichere Über-

tragung von Zeichen 0, 1 von einem Sender zu einem Empfänger beschreibt.

M1

M2

M3

M4

M5

V1 V2

Mi Maschinen Vi Verteiler Kanäle

M6