<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Modellierung, Simulation und Analyse mit dem Petri-Netz-Tool POSEIDON</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kurt Lautenbach</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jo¨rg Mu¨ller und Stephan Philippi</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Gegenstand des vorliegenden Artikels ist die Vorstellung des aktuellen Entwicklungstandes von POSEIDON, einem Werkzeug zur Modellierung, Simulation und Analyse von Petri-Netzen. Die breite Palette verfu¨gbarer Simulations- und Analysealgorithmen sowie die konsequente Ausrichtung der Bedienkonzepte an die Bedu¨rfnisse akademischer Anwender, pra¨destinieren POSEIDON fu¨r die Nutzung im wissenschaftlichen Bereich. Die modulare und offene Konzeption sowie die plattformunabha¨ngige Implementierung erlauben hierbei den Einsatz in nahezu beliebigen Anwendungsgebieten.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Einleitung</title>
    </sec>
    <sec id="sec-2">
      <title>Arbeiten mit Poseidon</title>
      <p>Modelle realer Systeme bestehen im allgemeinen aus mehreren Netzen. Derart
zusammengeho¨rige Teilnetze eines Systems werden in POSEIDON innerhalb von Projekten
organisiert (siehe Abbildung 1).</p>
      <p>Abbildung 1 stellt die oberste Ebene des Projektes “Auftrag” dar. Dieses
Projekt besteht aus einem Pr/T-Netz und einem UML-Klassendiagramm.
Der im linken Bereich gegebene Baum zur Projektnavigation beinhaltet
Repra¨sentanten fu¨r die verschiedenen Klassen der statischen Projektsicht. In der
Toolbar werden Werkzeuge zur Verfu¨gung gestellt, die u.a. die Mo¨glichkeit
bieten innerhalb des betrachteten Projektes weitere UML-Klassendiagramme
und Netzmodelle anzulegen.
2.1</p>
      <sec id="sec-2-1">
        <title>Die Editorkomponente</title>
        <p>In POSEIDON stehen fu¨r verschiedene Klassen von Petri-Netzen wie S/T-Netze,
Pr/TNetze und Zeitstempelnetze (siehe [Lau99])) graphische Editoren zur Verfu¨gung, mit
denen Modelle anschaulich erzeugt und manipuliert werden ko¨nnen (siehe Abbildung 2). Die
verschiedenen Editoren sind hierbei syntaxgesteuert, so daß es dem Nutzer nicht mo¨glich
ist a) eine Struktur einzugeben, die kein Netz des gewa¨hlten Typs darstellt und b) eine
Modifikation an einem gegebenen Modell vorzunehmen, die zu einem solchen Resultat
fu¨hrt. Fu¨r alle Netzklassen ist dabei das Erstellen von hierarchischen Modellen mit Hilfe
von Supertransitionen mo¨glich (siehe [HJS90]). Da auf intuitive und u¨bereinstimmende
Bedienkonzepte bei den verschiedenen Editoren Wert gelegt wurde, la¨ßt sich mit diesen
auf einfache und einheitliche Weise arbeiten.</p>
        <p>Der hier beschriebene Teil von POSEIDON wurde in der Vergangenheit vorwiegend im
akademischen Bereich eingesetzt. In diesem Umfeld werden neue Erkenntnisse ha¨ufig durch
das Studium (abstrakter) Netze mit sehr spezifischen Eigenschaften gewonnen. Hierbei
wird das zu inspizierende Netz oftmals in Abha¨ngigkeit bestimmter Analyseergebnisse
modifiziert. Um dieser Vorgehensweise Rechnung zu tragen, besteht in POSEIDON die
Mo¨glichkeit, Analyseergebnisse auf einfache Art und Weise wa¨hrend des editierens
sichtbar zu halten. Wurde beispielsweise ein Deadlock berechnet und dieser soll durch eine
entsprechend markierte Stelle geschu¨tzt werden, so mu¨ssen der Deadlock selbst, sein
Defekt und die Anfangsmarkierung bekannt sein (siehe [LR96]). In POSEIDON ko¨nnen daher
die beno¨tigten Informationen aus der vorherigen Analyse u¨bernommen und wa¨hrend des
editierens sichtbar gehalten werden.</p>
        <p>Abbildung 2 zeigt die Editorkomponente von POSEIDON. Im Hauptfenster ist
ein Ausschnitt eines Pr/T-Netz-Modells zur Auftragsbearbeitung im
Kundendienst dargestellt (hier: POSEIDON in der Anwendung zur Spezifikation von
Logistik-Management-Systemen in der Arbeitsgruppe
“Unternehmensmodellierung” der Universita¨t in Koblenz (siehe [JF01])). In der Toolbar der
betrachteten Komponente sind nun Editor-spezifische Bedienelemente eingeblendet.
Ebenso ist der Inspektor zur Stelle “heutige Auftra¨ge” dargestellt. Dieser zeigt
an, daß Objekte auf dieser Stelle vom Typ “GeplanterAuftrag” sind.</p>
        <p>Sind die durch ein System fließenden Informationen komplexer, strukturierter Natur, so
sind die Stellen in einem Modell entsprechend zu typisieren. Dies wird mit Hilfe eines
Editors fu¨r UML-Klassendiagramme ermo¨glicht - die Typisierung der Stellen in einem
Petri-Netz erfolgt somit durch UML-Klassen.</p>
        <p>Abbildung 3 gibt einen U¨berblick u¨ber die Typisierung der Stellen im
betrachteten Anwendungsbeispiel der Auftragsbearbeitung. Die Typdefinition erfolgt
unter Verwendung eines Editors fu¨r UML-Klassendiagramme, wobei die
spezifischen Eigenschaften der einzelnen Klassen mit Hilfe von Inspektoren editiert
werden.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Die Simulatorkomponente</title>
        <p>Fu¨r ho¨here Petri-Netze mit komplexen Markenstrukturen stehen formale
Analysemo¨glichkeiten nur in sehr begrenztem Umfang zur Verfu¨gung ([MV85]). Mit der Simulation von
Modellen ko¨nnen jedoch bei durchdachter Anlage der Simulationsexperimente punktuell
Fehler im modellierten System aufgespu¨rt werden.</p>
        <p>In POSEIDON stehen u.a. Simulatoren fu¨r S/T-Netze, Pr/T-Netze und Zeitstempelnetze zur
Verfu¨gung (siehe Abbildung 4). In einem gegebenen Netz werden hierbei ggf.
Anfangsparameter (z.B. Anfangsmarkierung, Kapazita¨ten, Zeitbewertungen) gesetzt und Funktionen
zu Transitionen spezifiziert. Anschließend ko¨nnen mo¨gliche Abla¨ufe visualisiert werden.
Der Markenfluß la¨ßt sich dann im Netzmodell verfolgen, da aktivierte Transitionen
hervorgehoben werden. Ebenso ist eine Simulation entgegen der Flußrichtung mo¨glich. Durch
eine solche “Ru¨ckwa¨rts-Simulation” kann nach Zusta¨nden gesucht werden, von denen
ausgehend ein bestimmter (unliebsamer) Zustand erreichbar ist. In diesem Zusammenhang
kann auch von einer Vorstufe zur Diagnostik mit Petri-Netzen gesprochen werden
(siehe [Kru01]). Wa¨hrend der Simulation auftretende Konflikte ko¨nnen sowohl interaktiv als
auch automatisiert gelo¨st werden.</p>
        <p>Abbildung 4 zeigt den Simulator fu¨r S/T-Netze. Unter der dargestellten
Markierung sind die Transitionen und aktiviert. Der Simulator kann sowohl
u¨ber die Tastatur als auch mit den Simulator-spezifischen Bedienelementen in
der Toolbar gesteuert werden.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Die Analysekomponente</title>
        <p>Petri-Netze unterscheiden sich durch ihre formale Basis wesentlich von einer Vielzahl
anderer Modellierungssprachen. So ko¨nnen beispielsweise mit Hilfe mathematischer
Verfahren aus der Struktur von Modellen Aussagen u¨ber deren Dynamik abgeleitet werden.
Da gerade die strukturelle Analyse von Petri-Netzen einen Schwerpunkt der Forschung an
der Universita¨t in Koblenz darstellt, stehen derartige Verfahren auch im Mittelpunkt der
im weiteren zu betrachtenden Analysekomponente von POSEIDON (siehe Abbildung 5).
Strukturelle Analysemethoden sind fast ausschließlich fu¨r S/T-Netze bekannt (die wenigen
Ausnahmen fu¨r ho¨here Netze werden weiter unten behandelt). Die in POSEIDON
implementierten Algorithmen fu¨r S/T-Netze lassen sich in Petri-Netz-spezifische Algorithmen
und allgemeine Graphenalgorithmen differenzieren. Letztere werden z.B. zur
Identifizierung besonderer Klassen von S/T-Netzen verwendet. Betrachten wir jedoch zuna¨chst die
Petri-Netz-spezifischen Algorithmen: Fu¨r die ga¨ngigen Analyseverfahren allgemeiner
S/TNetze (Deadlocks, Traps, D- und T-Systeme, Invarianten, u.a.) berechnet POSEIDON
minimale, ganzzahlige und nicht negative Erzeugendensysteme (siehe [Jax85]). Neben diesen
grundlegenden Verfahren sind in POSEIDON weitere implementiert - so beispielsweise
zwei Ansa¨tze zum Testen des Schutzes von Deadlocks. Mit Hilfe der
Deadlock-TrapEigenschaft ko¨nnen Deadlocks bekanntlich “von innen” mit Hilfe von Traps geschu¨tzt
werden (siehe [Com72]). Durch kontrollierende Invarianten ko¨nnen Deadlocks dagegen
“von aussen” durch Invarianten geschu¨tzt werden (siehe [LR96]). Oftmals wird auch nach
speziellen Vektoren gesucht, z.B. bestimmten Bedingungen hinsichtlich der Schaltha¨ufigkeit
von Transitionen gerecht werdende T-Invarianten. In POSEIDON stehen zum Lo¨sen
solcher Probleme mit Cutting Plane und Branch and Bound zwei verschiedene Verfahren zur
Verfu¨gung. Die mit diesen Algorithmen gefundenen Lo¨sungen des (bedingten)
inhomogenen Gleichungssystems werden automatisch mit dem Erzeugendensystem des
entsprechenden homogenen Systems kombiniert. Dadurch wird es mo¨glich, alle Lo¨sungen eines
(bedingten) inhomogenen Gleichungssystems anzugeben.</p>
        <p>Erfu¨llt ein S/T-Netz bestimmte graphenspezifische Anforderungen, so lassen sich
zusammen mit den oben genannten Analyseverfahren weitergehende Aussagen u¨ber die
Dynamik des modellierten Systems treffen. Aus diesem Grund sind in POSEIDON neben den
Petri-Netz-spezifischen Algorithmen auch allgemeine Graphenalgorithmen implementiert.
Hierbei handelt es sich zum einen um die Mo¨glichkeit, die Klasse eines gegebenen Netzes
zu bestimmen - hierbei wird auf rein strukturelle Charakteristika einer Reihe von
speziellen Klassen getestet (z.B. (extended)free-choice, (extended)synchronization-graphs, . . . ).
Zum anderen stehen Algorithmen zur Erkennung von Teilgraphen mit bestimmten
Eigenschaften zur Verfu¨gung - so z.B. Verfahren zum Finden von Kreisen oder (starken)
Zusammenhangskomponenten.</p>
        <p>Die in POSEIDON implementierten Algorithmen fu¨r ho¨here Netze teilen sich ebenfalls
in zwei Bereiche. Zum einen stehen die Algorithmen fu¨r S/T-Netze auch fu¨r ho¨here
Netze zur Verfu¨gung. Durch anonymisieren von Tokens und ausschließlicher Beachtung der
Kardinalita¨t von Kantenanschriften – wir bezeichnen ein solches aus einem ho¨heren Netz
entstandenes S/T-Netz als schwarzes Netz – entsteht ein S/T-Netz, das in gewo¨hnlicher
S/T-Manier analysiert werden kann. Die auf diesem Weg ermittelten Ergebnisse sind i.a.
notwendige Bedingungen fu¨r die entsprechende Eigenschaft im initialen (ho¨heren) Netz.
Beispielsweise ist die Existenz einer S/T-Invarianten in einem schwarzen Netz notwendige
Voraussetzung fu¨r die Existenz einer ho¨heren Invariante im urspru¨nglichen Netz.
Den zweiten Bereich von Analysemethoden in ho¨heren Netzen stellen spezielle
Algorithmen fu¨r diese dar. Hier sind in der Theorie nur wenige rein strukturelle Verfahren zu
finden. Implementiert sind aus diesem Bereich daher lediglich zwei Algorithmen, mit
deren Hilfe zwei Arten von strukturellen Invarianten in ho¨heren Netzen gefunden werden
ko¨nnen (siehe [MV85]).</p>
        <p>Die von POSEIDON bei einer Analyse gelieferten Ergebnisse sind unmittelbar im Netz
sichtbar. Dabei werden die Eintra¨ge der Ergebnisvektoren in den entsprechenden Knoten
angezeigt - beispielsweise werden die Werte einer S-Invarianten in den zugeho¨rigen
Stellen dargestellt. Auch solche Darstellungen von Ergebnissen innerhalb eines Netzes lassen
sich in einer Datei fu¨r die weitere Verarbeitung speichern. Die Navigation durch eine
Ergebnisliste erfolgt auf einfache Weise mit Hilfe entsprechender Bedienelemente.
Oftmals soll nur ein Teil der Ergebnismenge einer Analyse na¨her untersucht werden, da die
anderen Ergebnisse aus Sicht des Anwenders weniger “interessant“ oder gar trivial sind.
Wird beispielsweise ein Netz mit einer großen Zahl von Regulationskreisen untersucht, so
findet eine Analyse schon aufgrund dieses Sachverhaltes eine Menge von S-Invarianten,
die i.a. jedoch nicht weiter betrachtet werden. POSEIDON tra¨gt diesem Umstand
Rechnung, indem Ergebnisse interaktiv durch Auswahl aus der Ergebnisliste ausgeblendet
werden ko¨nnen. Diese Organisation der Ergebnisse durch den Anwender erlaubt es diesem,
sich leichter auf die aus seiner Sicht “interessanten“ und weiter zu untersuchenden
Aspekte des Netzes zu konzentrieren.</p>
        <p>Ebenso werden mit einem Projekt alle zu diesem berechneten Ergebnisse abgespeichert,
so daß sie beim na¨chsten laden sofort zur Verfu¨gung stehen und nicht abermals berechnet
werden mu¨ssen. Durch die exponentielle Laufzeit einiger der verfu¨gbaren Algorithmen
sind die Vorzu¨ge der Ergebnisspeicherung innerhalb eines Projektes leicht erkennbar.
A¨hnlich wie die Analyseergebnisse lassen sich auch die durch POSEIDON
bereitgestellten Algorithmen organisieren. Die Anwendung des Werkzeuges sowohl im akademischen
als auch im anwendungsorientierten Bereich hat gezeigt, daß die Menge der ha¨ufig
zugegriffen Algorithmen stark variiert. Um einerseits nun diese Algorithmen u¨ber spezielle
Bedienelemente direkt zugreifbar zu machen, andererseits jedoch die graphische Oberfla¨che
nicht mit einem Element fu¨r jede Funktion zu u¨berladen, wurden mehrere frei
konfigurierbare Schaltfla¨chen in POSEIDON eingefu¨hrt. Dem Anwender stehen somit zusa¨tzlich
den Bedienelementen zur Auswahl der Berechnung von S- und T-Invarianten, Deadlocks
und Traps auch mehrere frei konfigurierbare Schaltfla¨chen zur Verfu¨gung, deren konkrete
Verknu¨pfung mit einem Algorithmus durch Tooltips anzeigt wird.</p>
        <p>La¨ßt man POSEIDON zu einem gegebenen Netzsystem einen sog. report erstellen, so
wendet das Werkzeug alle zuvor ausgewa¨hlten Algorithmen automatisch an und speichert die
berechneten Ergebnisse (auf Wunsch mit dem dazugeho¨renden Netz) in einer separaten
und editierbaren Datei ab.</p>
        <p>In Abbildung 5 ist der Deadlock bestehend aus den Stellen und
markiert (die Stellen sind schwarz unterlegt und mit ’1’ gekennzeichnet). Die
Werte innerhalb der Transitionen und , ’1’ und ’-1’ entsprechend, geben den
Defekt dieser Transitionen bezu¨glich des angezeigten Deadlocks an. Mit Hilfe
des Inspektors fu¨r Algorithmen ko¨nnen entweder Berechnungen direkt
angestoßen oder diese den konfigurierbaren Schaltfla¨chen der Toolbar zugeordnet
werden.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Fallbeispiel: Elektronisch-mechanische Bremse</title>
      <p>In diesem Kapitel wird eine der vielfa¨ltigen Anwendungsmo¨glichkeit von POSEIDON
vorgestellt. Konkret handelt es sich mit dem Modell einer elektronisch-mechanische Bremse
um ein Beispiel aus der modernen Kraftfahrzeugtechnik. Im folgenden wird das
Anwendungssystem sowie die der Modellierung zugrunde liegende Netzklasse grob beschrieben,
na¨here Informationen hierzu sind zu finden in [MPS01].
3.1</p>
      <sec id="sec-3-1">
        <title>Einordnung des Projektes</title>
        <p>In der modernen Automobiltechnik werden zunehmend mechanische Komponenten
traditioneller Bauart durch elektronisch-mechanische Fahrzeugsysteme ohne direkte
mechanische Verbindung zwischen Bedienelementen und Aktoren ersetzt. Fu¨r diese ’x-by-wire’
Technologie gibt es im Fahrzeugbau eine Reihe von Anwendungsmo¨glichkeiten, z.B.
elektronisch gesteuerte Fahrwerke mit den Teilkomponenten Bremse, Lenkung und Federung.
Im einzelnen werden hierbei die Kommandos des Fahrers wie ’Bremsen’ oder ’Ra¨der
einschlagen’ nicht wie in der traditionellen Fahrzeugtechnik u¨blich u¨ber mechanische
Komponenten zu den entsprechenden Aktoren weitergegeben, sondern ausschließlich u¨ber
kabelgebundenen Datentransport. In diesem Kontext unterstu¨tzt POSEIDON (prototypisch)
den Architekturentwurf und die zeitbewertete Simulation von ’x-by-wire’ Systemen. Im
weiteren wird der Aspekt der Architekturmodellierung mit POSEIDON in diesem Bereich
anhand eines elektronisch-mechanischen Bremssystems (EMB) skizziert.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Das Szenario</title>
        <p>Aufgrund der zentralen sicherheitstechnischen Bedeutung des Bremssystems in einem
Kraftfahrzeug mu¨ssen elektronisch-mechanisch Komponenten in diesem Bereich
offensichtlich ho¨chsten Anforderungen bzgl. des Echtzeitverhaltens, der Fehlertoleranz und der
Robustheit genu¨gen. Idealerweise werden diese Eigenschaften bereits auf der
Architekturebene mit Hilfe von Modellen des Systems u¨berpru¨ft. Eine geeignete Vorgehensweise
zu einer derartigen Designabsicherung ist eine Fehlerfallsimulation. Mit POSEIDON wird
dem Entwickler von ’x-by-wire’ Systemen die Mo¨glichkeit gegeben, die Auswirkungen
verschiedener Einzel- und Kombinationsfehler auf den jeweiligen Entwurf bereits im
Vorfeld der Systemerstellung auf der Basis von Architekturmodellen zu untersuchen. Die
konkrete Funktionalita¨t der in einem Entwurf enthaltenen Komponenten wird hierbei auf der
abstrakten Architekturebene nicht beru¨cksichtigt. Von zentraler Bedeutung fu¨r die
korrekte Funktionalita¨t einer Komponente in einem verteilten Echtzeitsystem wie der EMB
ist die Verfu¨gbarkeit relevanter Informationen. Offensichtlich arbeiten Komponenten in
einem derartigen System am zuverla¨ssigsten, wenn alle lokal beno¨tigten Informationen
(z.B. Sensordaten) rechtzeitig zur Verfu¨gung stehen. Die aktuelle Verfu¨gbarkeit der fu¨r
eine Komponente relevanten Informationen zur optimalen Entscheidungsfindung
bezeichnen wir im weiteren als Informationshorizont dieser Komponente. In einem ungesto¨rten
System liegt der Informationshorizont einer jeden Komponente bei 100%. Im Falle von
Fehlern, wie durchtrennten Kabeln, defekten Steckerverbindungen oder dem Teilausfall
von Sensoren, liegt dieser Wert fu¨r die betroffenen Komponenten entsprechend niedriger.
Da die Informationen fu¨r die Entscheidungsfindung in den verschiedenen Teilsystemen
unterschiedlich starke Bedeutungen haben, sind die in die einzelnen Komponenten
einfließenden Informationen mit einem sich aus der konkreten Anwendung ergebenden Gewicht
zu versehen, das eine realistische Berechnung des Informationshorizontes erlaubt.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Das Simulationsmodell</title>
        <p>Mit einem auf dem beschriebenen Szenario aufbauenden Simulationsmodell ko¨nnen fu¨r
die verschiedenen Fehlerfallkombinationen die Auswirkungen auf den
Informationshorizont der einzelnen Komponenten eines Architekturentwurfes u¨berpru¨ft werden. Wird im
Rahmen der Fehlerfallsimulation beispielsweise virtuell ein Kabel durchtrennt, so lassen
sich die Auswirkungen auf den Informationshorizont der verteilten Komponenten u¨ber das
System hinweg verfolgen. Im Ergebnis kann somit der Grad der Robustheit und der
Fehlertoleranz eines ’x-by-wire’ Systems bereits im Vorfeld der Realisierung u¨berpru¨ft werden.
Als Basis fu¨r die Umsetzung der beschriebenen Ideen zur Erstellung von
Architekturmodellen fu¨r verteilte Echtzeitsysteme im allgemeinen und ’x-by-wire’ Systeme im
speziellen, werden Zeitstemplenetze (vgl. [Lau99]) verwendet.</p>
        <p>In Abbildung 6 ist die oberste Hierarchieebene eines Teilmodells der EMB mit
den aktiven Komponenten der Vorderachse, den Bremspedalsensoren
(Pedalbox) sowie der zentralen Steuereinheit inkl. der Datenverbindungen zwischen
diesen dargestellt.</p>
        <p>Auf dieser Ebene werden die Spezifika der einzelnen Komponenten durch
Supertransitionen verborgen und die verschiedenen Bussysteme durch Stellen repra¨sentiert. Die durch
ein solches Modell fließenden Token sind hierbei mit Sender- und Empfa¨ngerinformationen
versehen, so dass auf den Busstellen liegende Daten entsprechend an die adressierten
Komponenten weitergeleitet werden.</p>
        <p>Der hierarchische Abstieg in die Komponente zur Steuerung des Aktors an der rechten
Seite der Vorderachse (VR) resultiert in dem in Abbildung 7 dargestellten Teilmodell.
Wa¨hrend die termingerechte Versendung von Informationen in der Verantwortung der
Sendeeinheit einer Komponente liegt, nimmt die Empfangseinheit einer solchen die an diese
adressierten Nachrichten entgegen. Die Verbindung mit den anderen Modellkomponenten
erfolgt hierbei u¨ber fusionierte Stellen [HJS90], die die verschiedenen Bussysteme
nachbilden (hier beispielsweise u¨ber die Stellen “Hauptbus” und “Vorderachsenbus”).</p>
        <p>Abbildung 7 zeigt die abstrakte Sicht der Steuerungseinheit VR. Auf dieser
Abstraktionsebene werden innerhalb einer verteilten Komponente Sende- und
Empfangseinheiten unterschieden, die in der graphischen Darstellung wiederum
durch Supertransitionen repra¨sentiert sind.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Design und Implementierung</title>
      <p>In einem benutzerorientierten Entwurfsprozeß wird laufend versucht den ergonomischen
Bedu¨rfnissen der Benutzer von POSEIDON Rechnung zu tragen. Dabei setzt sich die
Gruppe der Benutzer nicht ausschließlich aus Wissenschaftlern und Studenten aus ho¨heren
Semestern zusammen, sondern auch aus Anwendern aus wirtschaftlichen und
ingenieurwissenschaftlichen Bereichen. Daher bestimmen sowohl Bedu¨rfnisse aus dem akademischen
als auch dem anwendungsorientierten Bereich maßgeblich die Entwicklung des Tools. In
regelma¨ßig stattfindenden Arbeitsgruppentreffen wird erla¨utert, welches Systemverhalten
die Beteiligten in bestimmten Situationen erwarten und welche Features das Arbeiten mit
dem Tool angenehmer gestalten ko¨nnten. So wurde gerade im Hinblick auf den
Bedienkomfort eine Reihe von Verbesserungen erzielt (konfigurierbare Toolbars, Verwaltung von
Ergebnissen, komfortables Editieren, etc.).</p>
      <p>Die Implementation des Systems basiert auf einer Softwarearchitektur mit zwei
Hauptbestandteilen: einem in Java implementierten, plattformunabha¨ngigen und zustandslosen
Front-End und einem in C++ implementierten Back-End. Letzeres setzt sich aus einer
Reihe von unabha¨ngigen Komponenten (zur Zeit: Editor-, Simulator- und
Analysekomponente) und einer zentralen Datenstruktur zusammen, in der mit Hilfe von Graphen alle
in POSEIDON bearbeiteten Objekte (also Netze und UML-Diagramme) repra¨sentiert
werden. Durch diese Architektur konnte sowohl die Plattformunabha¨ngigkeit als auch die
Offenheit des Werkzeugs gewa¨hrleistet werden. Durch die Mo¨glichkeit von POSEIDON mit
externen Mathematikprogrammen transparent zu kommunizieren, kann auf die gesamte
Leistungsfa¨higkeit solcher Software zuru¨ckgegriffen werden. Zur Zeit wird POSEIDON
(optional) mit einem MATHEMATICA-Kern (siehe [Wol96]) verlinkt.
Im Rahmen dieses Artikels wurde gezeigt, daß POSEIDON durch die breite Auswahl zur
Verfu¨gung stehender Algorithmen und die Ausrichtung der Bedienkonzepte an die
Bedu¨rfnisse des wissenschaftlichen arbeitens fu¨r vielfa¨ltige Anwendungen geeignet ist. Dies wird
unterstrichen durch die gegebene Plattformunabha¨ngigkeit, die relativ leichte
Erweiterbarkeit und die Mo¨glichkeit zur Anbindung externer Programmpakete.</p>
      <p>Dem in diesem Artikel als Schwerpunkt thematisierten Bereich der strukturellen
Analyse wird bei zuku¨nftigen Entwicklungen besondere Aufmerksamkeit zuteil werden.
Insbesondere werden weitere Verfahren zur Behandlung von ho¨heren Netzen und ggf.
eingeschra¨nkter Teilklassen derer, wie z.B. una¨re Pr/T-Netze, entwickelt und in POSEIDON
integriert.</p>
    </sec>
    <sec id="sec-5">
      <title>Literatur</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [Com72]
          <string-name>
            <given-names>F.</given-names>
            <surname>Commoner</surname>
          </string-name>
          . 'Deadlocks in Petri Nets.'. Applied Data Research, Inc.,
          <string-name>
            <surname>Wakefield</surname>
          </string-name>
          , Massachusetts, Report CA-7206
          <source>-2311</source>
          ,
          <year>1972</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [HJS90]
          <string-name>
            <given-names>Peter</given-names>
            <surname>Huber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Kurt</given-names>
            <surname>Jensen</surname>
          </string-name>
          , and
          <string-name>
            <surname>Robert</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Shapiro</surname>
          </string-name>
          . '
          <article-title>Hierarchies in Coloured Petri Nets'</article-title>
          . In G. Rozenberg, editor,
          <source>'Advances in Petri Nets</source>
          <year>1990</year>
          ', LNCS 483. Springer-Verlag,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [Jax85] [JF01]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jaxy</surname>
          </string-name>
          . '
          <article-title>Analyse linearer diophantischer Ungleichungs- und Gleichungssysteme im Hinblick auf Anwendungen in der Theorie der Petri-Netze'</article-title>
          . Diplomarbeit, Universita¨t in Koblenz,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>J.</given-names>
            <surname>Jung</surname>
          </string-name>
          and
          <string-name>
            <given-names>U.</given-names>
            <surname>Frank</surname>
          </string-name>
          . '
          <article-title>Flottenmanagementsystems im Kundendienst'</article-title>
          . In T. Gru¨nert and H.-J. Sebastian, editor,
          <source>'Logistik Management - Supply Chain Management and eBusiness'. Teubner</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [Kru01]
          <string-name>
            <given-names>R.</given-names>
            <surname>Kruse</surname>
          </string-name>
          . 'Dualita¨t bei Petri-Netzen - Anwendungen fu¨r Netze mit Stellen- und
          <source>Transitionsmarken'. Dissertation</source>
          , Universita¨t Koblenz,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [Lau99]
          <string-name>
            <given-names>K.</given-names>
            <surname>Lautenbach</surname>
          </string-name>
          . '
          <article-title>Erweiterte Zeitstempelnetze zur Modellierung hybrider Systeme'</article-title>
          .
          <source>Fachbericht 3-99</source>
          , Universita¨t in Koblenz,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [LR96]
          <string-name>
            <given-names>Kurt</given-names>
            <surname>Lautenbach</surname>
          </string-name>
          and
          <string-name>
            <given-names>Hanno</given-names>
            <surname>Ridder</surname>
          </string-name>
          . '
          <string-name>
            <surname>Die Lineare Algebra der Verklemmungsvermeidung - Ein</surname>
          </string-name>
          Petri-Netz-Ansatz.'.
          <source>Fachbericht 25-96</source>
          , Universita¨t in Koblenz,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [MPS01]
          <string-name>
            <given-names>J.</given-names>
            <surname>Mu</surname>
          </string-name>
          ¨ller, S. Philippi, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Seidel</surname>
          </string-name>
          . '
          <article-title>Modellierung verteilter Echtzeitsysteme am Beispiel drive-by-wire'</article-title>
          .
          <source>In 'Proceedings des 8</source>
          . Workshop Algorithmen und Werkzeuge fu¨r Petri-Netze, Universita¨t Eichsta¨tt', Eichsta¨tt,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [MV85]
          <string-name>
            <given-names>G.</given-names>
            <surname>Memmi</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vautherin</surname>
          </string-name>
          . '
          <article-title>Computation of Flows for Unary-Predicates/Transition Nets'</article-title>
          . In Rozenberg, G., editor,
          <source>'Advances in Petri Nets</source>
          <year>1984</year>
          '. LNCS 188,
          <issue>SpringerVerlag</issue>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [Rau02]
          <string-name>
            <given-names>H.</given-names>
            <surname>Raue</surname>
          </string-name>
          . '
          <article-title>Generierung von Steuerungen aus Petri-Netzen'</article-title>
          . Diplomarbeit, Universita¨t in Koblenz, erscheint
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [Wol96]
          <string-name>
            <given-names>S.</given-names>
            <surname>Wolfram</surname>
          </string-name>
          . '
          <article-title>The Mathematica Book'</article-title>
          .
          <source>Wolfram Research</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>