Zusammenfassung
Das Verhalten eines Petrinetzes kann gegeben sein durch die Menge seiner Schalt- oder Schrittfolgen, durch Erreichbarkeitsgraphen, aber auch durch halbgeordenete Ereignismengen, die oft als beschriftete azyklische Graphen dargestellt werden. Die zuletzt genannte Semantik erlaubt die explizite Darstellung von kausaler Unabh?ngigkeit; zwei Ereignisse finden unabh?ngig statt, wenn sie im Graphen nicht geordnet sind. W?hrend derartige halbgeordnete Semantiken in der Theorie seit langer Zeit betrachtetet werden, finden sie erst in jüngerer Zeit in Anwendungen Beachtung, insbesondere in den Bereichen Gesch?ftsprozessmodellierung, Webdienste und Eingebettete Systeme, meist in Form verschiedener Varianten von Sequenzdiagrammen.
?
Die traditionelle Vorgehensweise beim modellbasierten Systementwurf - Konstruktion eines Modells und anschlie?ende explizite oder implizite Betrachtung seines Verhaltens - wird vielfach abgel?st durch eine umgekehrte Vorgehensweise: Das Verhalten wird zun?chst formalisiert und modelliert, und das Systemmodell wird daraus anschlie?end automatisch synthetisiert. W?hrend für Petrinetze entsprechende Syntheseverfahren für Schrittfolgen und Erreichbarkeitsgraphen bekannt waren und in der Praxis eingesetzt wurden, fehlten Verfahren für die Synthese von Petrinetzen aus halbgeordneten Verhaltensbeschreibungen. Die Entwicklung derartiger Verfahren, ihre Implementierung und deren exemplarische Anwendung im Bereich der Gesch?ftsprozessmodellierung war Gegenstand dieses Vorhabens.
?
Das Projekt wurde in 2 Phasen bearbeitet. Die erste Projektphase von 2007 bis 2010 wurde von der DFG noch einmal um den gleichen Zeitraum verl?ngert. Die von der DFG bewilligte F?rderung betrug für beide Phasen jeweils 2 Jahre, welche sich aber durch zwischenzeitliche Verz?gerungen in der Bearbeitung jeweils auf 3 Jahre streckte. Das Projekt wurde zuerst an der katholischen Universit?t Eichst?tt bearbeitet und wechselte dann Mitte der ersten Projektphase an die Universit?t Augsburg.
Es wurden die folgenden Ergebnisse erzielt:
?
- S/T-Netze: Das Syntheseproblem für S/T-Netze aus halbordnungsbasierten Verhaltensbeschreibungen wurde umfassend gel?st, und zwar sowohl bzgl. Term-basierten als auch Graphen-basierten Darstellungen des halbgeordneten Verhaltens. Insbesondere wurden dabei auch verschiedene endliche Term- und Graphen-basierte Darstellungen unendlicher Abl?ufe und unendlicher Mengen von Abl?ufen betrachtet, die für die meisten Anwendungen ausreichend ausdrucksm?chtig sind. Allerdings ist das Synthesproblem auf theoretischer Ebene noch insoweit nicht endgültig gel?st, als noch keine endliche Darstellung von beliebigem halbordnungsbasiertem Verhalten von Petrinetzen gefunden wurde.
- Syntaktisch erweiterte Petrinetz-Modelle: S/T-Netze abstrahieren in verschiedener Weise zu stark von Aspekten, die in realen Anwendungen von hoher Relevanz sind, und haben eine in der Praxis nicht ausreichende Ausdrucksm?chtigkeit. Dazu geh?ren u.a. die Berücksichtigung von Einschr?nkungen der Nebenl?ufigkeit durch knappe Ressourcen und durch Lesezugriffe. Solche Aspekte k?nnen in Petrinetzen durch verschiedenartige syntaktische Erg?nzungen, welche i.d.R. Einfluss auf das Verhaltensmodell haben, berücksichtigt werden. Im Projekt konnten die Ergebnisse für S/T-Netze vollst?ndig auf Petrinetze mit syntaktischer Erweiterung um Inhibitorkanten, Lesekanten und Kapazit?tsbeschr?nkungen verallgemeinert werden (eine Erweiterung um Inhibitorkanten verleiht Petrinetzen die Ausdrucksm?chtigkeit von Turingmaschinen). Au?erdem untersuchten wir die Anwendbarkeit unserer Syntheseverfahren auf abstrakte algebraische Petrinetz-Definitionen, welche viele verschiedene konkrete Instantiierungen erlauben.
- Varianten des klassischen Synthese-Problems: Das ursprünglich betrachtete klassische Synthese-Problem stellte sich in praktischen Anwendungen oft wegen spezifischer zus?tzlicher Anforderungen und Randbedingungen als nicht direkt anwendbar heraus. Im Projekt entwickelten wir deshalb einen umfassenden ?berblick über nützliche Varianten der klassischen Problemstellung mit zugeh?rigen L?sungsmethoden in verschiedenen realistischen Anwendungsszenarien, basierend auf den zuvor erzielten Ergebnissen für das klassische Problem.
- Halbordnungsbasierte Verhaltensbeschreibungen von Petrinetzen: Als Basis für die von uns entwickelten Synthese-Algorithmen entwickelten wir eine neue einheitliche mathematische Beschreibung für die verschiedenen existierenden Verhaltensmodelle von Petrinetzen. Damit k?nnen unsere Resultate auch auf jedes andere Verhaltensmodell von Petrinetzen übertragen werden. Es stellte sich heraus, dass sich aus dieser neuen einheitlichen Beschreibung effizientere Ausführbarkeitstest und Entfaltungsalgorithmen entwickeln lie?en. Diese effizienteren Algorithmen wiederum lassen sich gewinnbringend in Teilverfahren der Synthese einsetzen.
- Synthese-Methoden: Es ergab sich bei Untersuchungen zu effizienteren Synthesealgorithmen, dass es mehrere verschiedene grundlegende Methoden gibt, aus Sprachen ein Petrinetz zu synthetisieren, wobei die optimale Wahl einer Methode im konkreten Fall vom Anwendungskontext abh?ngt. Kombiniert mit der einheitlichen mathematischen Beschreibung des Verhaltens von Petrinetzen konnten wir alle bisher entwickelten Synthesemethoden als Spezialf?lle der von uns entwickelten Verfahren identifizieren.
- Implementierung: Die entwickelten Syntheseverfahren für S/T-Netze wurden prototypisch in den zwei Tools VIPTool (Eichst?tt) und SynopsTool (Augsburg) implementiert und mit Hilfe von aus der Literatur bekannten Fallstudien sowie mit Fallstudien aus den im Projekt betrachteten Anwendungsbereichen evaluiert.
- Anwendung: Es wurden Vorgehensmodelle für den Werkzeug-unterstützten Modellentwurf im Bereich der Gesch?ftsprozessmodellierung entwickelt. Hierbei wurden zwei verschiedene Ans?tze zur Entwicklung von Gesch?ftsprozessmodellen betrachtet, n?mlich einmal basierend auf Mengen von ad-hoc spezifizierter Beispielsabl?ufe und einmal basierend auf von Informationssystemen generierten sog. Ereignis-Logs. Gegen Ende der Projektlaufzeit ergab sich mit der Konstruktion sog. Petrinetz-Tranduktoren aus experimentellen Dialog-Daten ein weiteres Anwendungsfeld für Synthesemethoden, welches aber nicht mehr im Projekt ausgearbeitet werden konnte.