kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Installation und Test von PIPE unter Linux

(EN google-translate)

(PL google-translate)

Besorgen Sie sich PIPE hier:

Quelle für PIPE: http://pipe2.sourceforge.net/
  1. Entpacken Sie PIPEv4.3.0.zip, bzw. die aktuelle Version in Ihren Homeordner.
  2. Über einen Doppelklick auf launch.sh im Ordner ../PIPEv4.3.0 kann PIPE gestartet werden.
  3. Wählen Sie unter File->examples das Beispiel ClassicGSPN.xml aus.
  4. Wechseln Sie mit "Animate" in den Animate-Mode.
  5. Klicken Sie wiederholt den "Blitz" (Randomly fire a transition)
Screenshot zu

Bild 0-1: Screenshot zu "ClassicGSPN.xml"

Erläuterungen

Das Netz besteht aus:

  • Stellen
  • Transitionen
  • Kanten
  • Marken
Marke - Stelle - Kante - Transistion.

Bild 0-2: Marke - Stelle - Kante - Transistion.

  • Stellen und Transitionen sind über Kanten verbunden.

Eine Transition schaltet, wenn an der vorangehenden Stelle mindestens die bei der verbindenden Kante angegebene Anzahl an Marken vorhanden ist und die nachfolgende Stelle die an der nachfolgenden Kante angegebene Anzahl an Marken aufnehmen kann.

Bei dem hier gegebenen Beispiel handelt es sich zudem um ein stochastisches Petrinetz. Ob eine Transition wirklich schaltet, wenn sie schalten kann, ist hier noch durch eine Zufallsvariable (Firerate) festgelegt.

Indem man mehrfach "Randomly fire a transition" betätigt, werden also zufällig Transitionen aktiv, deren Bedingungen für ein Schalten erfüllt ist.

Was kann man damit anfangen?

Diskrete Prozesse / Stückgutprozesse können mit diesem Werkzeug modelliert, simuliert und in ihrem Verhalten analysiert werden.

Interpretiert man die Marken als Kunden, die Stellen als Wartezimmer und die Transitionen als verschiedene Serviceleistungen, die mit einer gewissen Rate durchgeführt werden, so können für Szenarien mit verschiedenem Kundenaufkommen untersucht werden, ob z.B. die Kapazität der Warteräume ausreicht, ob "Staus" auftreten u.ä.

Genausogut können die Marken als Ereignisse in einer Maschine, die Stellen als Zustände und die Transitionen als Übergangsbedingungen zwischen den Zuständen interpretiert werden. Das Petrinetz kann hier verwendet werden, um das prinzipielle zeitlich-logische Funktionieren der Maschine zu untersuchen.

Kaugummiautomat

Kaugummiautomat.

Bild 0-3: Kaugummiautomat.

Ein einfacher mechanischer Kaugummiautomat hat einen Münzeinwurf M mit einem mechanischen Drehschalter D und eine Ausgabe A.

Werden 20 Cent eingeworfen, so kannn erst dann der Drehschalter betätigt werden und ein Kaugummi wird in die Ausgabe gelegt.

Es soll zwei Transitionen geben: Eine, die schaltet, wenn 20 Cent eingeworfen (Marke) sind und eine, die schaltet, wenn der Drehschalter betätigt wird.

Umsetzung 1

kaugummi1.zip - Beispiel kaugummi1.xml
Netz kaugummi1.xml

Bild 0-4: Netz kaugummi1.xml

P0: Portmonnaie eines Kindes mit fünf 20 Cent Münzen (unbegrenzte Kapazität).
P1: Münzschlitz mit einem Platz. (Vor dem Betätigen des Drehschalters muß genau eine Münze drin stecken)
P2: Ausgabe des Kaugummiautomaten (unbegrenzte Kapazität).

T0: Transition0 ...steht beim Portmonaie mindestens eine Münze zur Verfügung und ist im Münzschlitz ein 
                Platz frei, so kann diese Transition schalten.
T1: Transition1 ...bedeutet, den Drehschalter zu betätigen. Dieser läßt sich betätigen, 
                wenn eine Münze im Münzschlitz (P1) vorhanden ist.


Code 0-1: Interpretation der einzelnen Elemente

Default-Wert fünf.

Bild 0-5: Default-Wert fünf.

Ein kleines Netz läßt sich leicht über den PIPE-Editor erstellen:

  • File->New ...Neue Arbeitsfläche erstellen
  • File->Save as ... in einem Ordner speichern
Neue Stellen, Transitionen und Kanten erstellen.

Bild 0-6: Neue Stellen, Transitionen und Kanten erstellen.

... Ein Benutzer habe fünf 20 Cent Stücke: Default-Wert der Markenanzahl in Stelle 0 festlegen (P0 ... Place 0).

Bild 0-7: ... Ein Benutzer habe fünf 20 Cent Stücke: Default-Wert der Markenanzahl in Stelle 0 festlegen (P0 ... Place 0).

... In Münzschlitz darf nur eine Münze maximal liegen: Kapazität von Stelle 1 (P1) auf 1 begrenzen.

Bild 0-8: ... In Münzschlitz darf nur eine Münze maximal liegen: Kapazität von Stelle 1 (P1) auf 1 begrenzen.

Portemonnaie leer, Kaugummis da.

Bild 0-9: Portemonnaie leer, Kaugummis da.

Umsetzung 2

kaugummi4.zip - Beispiel kaugummi4.xml (Umsetzung 2)

Der Benutzer (Kind) liegt eigentlich außerhalb der Systemgrenze der zu untersuchenden Maschine (Kaugummiautomat). Es ist auch nicht klar, ob überhaupt jemand vorbei kommt und den Kaugummiautomaten benutzt und wieviele Münzen dann eingeworfen werden. Auch was am Ausgabefach passiert ist nicht eindeutig festgelegt: Normalerweise sollten die Kaugummis herausgenommen werden, aber sicher ist dies nicht.

Abgrenzung zwischen Maschine und Umwelt.

Bild 0-10: Abgrenzung zwischen Maschine und Umwelt.

Unregelmäßige nicht klar vorhersehbare Transitionen, wie der Einwurf einer Münze, oder die Herausnahme der ausgegebenen Kaugummis werden auch "kalte" Transisitonen genannt

Kaugummiautomat mit zufälligen externen Ereignissen.

Bild 0-11: Kaugummiautomat mit zufälligen externen Ereignissen.

Interpretation.

Bild 0-12: Interpretation.

Übungen
  • Installieren Sie PIPE und testen kaugummi1.xml und kaugumm2.xml
  • Testen und interpretieren Sie "GSPN Analysis"
  • Erstellen Sie ein Petri-Netz, das Notbremse und Türentriegelung in Personenzug-Waggons repräsentiert.