The following technical report is available from
http://aib.informatik.rwth-aachen.de:
Management dynamischer Geschäftsprozesse auf Basis
statischer Prozessmanagementsysteme
René Wörzberger
AIB 2010-04
Prozessmanagementsysteme dienen der Unterstützung von
Geschäftsprozessen. Sie versorgen dabei Prozessbeteiligte, wie
beispielsweise Sachbearbeiter oder Prüfsysteme in einer Versicherung,
zur richtigen Zeit mit relevanten Daten.
Komplexe Geschäftsprozesse sind nicht vollständig vor ihrer
Durchführung planbar. Unvorhersehbare Ereignisse erfordern, dass von
der in einem Prozessmodell festgehaltenen Planung während der
Prozessdurchführung abgewichen wird. Diese Eigenschaft von Geschäfts-
und Entwicklungsprozessen wird als Dynamik bezeichnet.
Gängige Prozessmanagementsysteme unterstützen die Dynamik in
Geschäftsprozessen nur unzureichend. Sie setzen voraus, dass ein
Geschäftsprozess vorab vollständig modelliert wird und legen somit vor
der Durchführung mögliche Abläufe fest. Abweichungen vom Prozessmodell
sind in ihnen nicht vorgesehen. Folglich ergeben sich hochkomplexe,
schlecht wartbare Prozessmodelle, die jedoch dem Anspruch ebenfalls
nicht genügen, jeden sinnvollen Prozessablauf abzudecken. Ergibt sich
aus fachlichen Notwendigkeiten bei der Prozessdurchführung ein Ablauf,
den das jeweilige Prozessmodell nicht vorsieht, müssen die
Prozessbeteiligten den Prozess entkoppelt von Prozessmanagementsystem
weiterführen. Das Prozessmanagementsystem kann dann jedoch nicht mehr
zur Unterstützung des Prozesses beitragen.
In dieser Arbeit wird ein Prozessmanagementsystem beschrieben, das
auch dynamische Prozesse unterstützt. Dynamische Änderungen können von
Prozessbeteiligten über strukturelle Änderungen an Modellen bereits
laufender Prozesse durchgeführt werden.
Im Gegensatz zu verwandten Arbeiten wurde das Prozessmanagementsystem
nicht von Grund auf neuentwickelt. Stattdessen erweitert es das
kommerzielle System IBM WebSphere Process Server, das von der Generali
Deutschland Informatik Services GmbH eingesetzt wird -- dem
kooperierenden Industriepartner dieser Arbeit. Hierdurch kann die
vorhandene Funktionalität des Process Servers weiterverwendet werden
und muss nicht reimplementiert werden.
Es wurden folgende Ergebnisse im Einzelnen erzielt:
Die unvollständige Modellwelt des Process Servers wurde
vervollständigt:
Prozessdefinitionsmodelle in der Standardsprache WS-BPEL werden
ergänzt um speziellere Prozessinstanzmodelle, die zusätzliche
Informationen über den aktuellen Ausführungszustand eines konkreten
Prozesses und dessen bisherige Prozesshistorie beinhalten. Abstrakter
als Prozessdefinitionsmodelle sind so genannte Prozesswissensmodelle,
in denen grobe Festlegungen über Abläufe in Prozessen getroffen
werden. Dazu gehören Festlegungen bzgl. Reihenfolgen bestimmter
Aktivitäten, deren gegenseitiger Ausschluss sowie
Ausführungshäufigkeiten bestimmter Aktivitäten in bestimmten
Prozessen. Sowohl die Syntax als auch die Semantik dieser drei
Prozessmodellarten wurde formal mithilfe von Metamodellen
bzw. Graphersetzungssystemen, Transitionssystemen und temporalen
Logikformeln beschrieben. Ein modellgetrieben entwickelter
Prozessmodelleditor dient zur Darstellung und Editierung von Modellen
aller drei Arten.
Die Semantikdefinition der Prozessdefinitions- und -instanzmodelle ist
Ausgangspunkt für die Realisierung einer den WebSphere Process Server
erweiternden, so genannten Dynamik-Schicht. Diese simuliert dynamische
Änderungen, die direkt im Process Server nicht vorgenommen werden
können. Die Simulation ist opak für Prozessbeteiligte, die dynamische
Änderungen als strukturelle Änderungen in Prozessinstanzmodellen
innerhalb des Prozessmodelleditors erfahren.
Dynamische Änderungen unterliegen technischen und fachlichen
Rahmenbedingungen. Ein syntaxbasiertes und im Prozessmodelleditor
implementiertes Prüfwerkzeug stellt sicher, dass Modelländerungen und
insbesondere dynamische Änderungen an Prozessinstanzmodellen, diese
Rahmenbedingungen nicht verletzen. Im Vergleich zu verwandten
Arbeiten, die technische und fachliche Regeln getrennt behandeln,
wurde in dieser Arbeit ein einheitlicher Ansatz gewählt, der beide
Regelarten berücksichtigt und auf der Object Constraint Language (OCL)
basiert. Das heißt, dass alle Modellarten auf innere (technische)
Korrektheit geprüft werden können, aber auch Prozessinstanzmodelle auf
Komplianz zu expliziten, fachlichen Rahmenbedingungen überprüft werden
können, die in Prozesswissensmodellen festgehalten sind.
Prüfungen gegen in Prozesswissensmodellen explizit modelliertes
Prozesswissen wurden durch Prüfungen gegen implizites Prozesswissen
ergänzt. Unter implizitem Prozesswissen wird in diesem Zusammenhang
Wissen über Ausführungshäufigkeiten und -reihenfolgen von Aktivitäten
verstanden, das sich in Prozessdefinitions- und -instanzmodellen
indirekt wiederfindet. In unterschiedlichen Prozessinstanz-
und -definitionsmodellen inkonsistent modellierte Abläufe werden
durch ein weiteres Prüfwerkzeug aufgedeckt. Dieses Prüfwerkzeug
basiert auf einer Graphgrammatik, die zwei Prozessinstanzmodelle
-- soweit möglich -- simultan ausführt und dabei erreichbare
Ausführungszustände in einem Transitionssystem festhält. Dieses
Transitionssystem ist Ausgangspunkt für einen Modellvergleich, der
Prozessbeteiligten detaillierte Informationen über inkonsistente
Abläufe in unterschiedlichen Prozessinstanzmodellen liefert.
The following technical report is available from
http://aib.informatik.rwth-aachen.de:
Automated Termination Analysis of Java Bytecode by Term Rewriting
Carsten Otto, Marc Brockschmidt, Christian von Essen, Jürgen Giesl
AIB 2010-08
We present an automated approach to prove termination of Java
Bytecode (JBC) programs by automatically transforming them to
term rewrite systems (TRSs). In this way, the numerous
techniques and tools developed for TRS termination can now be
used for imperative object-oriented languages like Java, which
can be compiled into JBC.