Home

und Prozeßsynchronisation mit Interaktionsausdrücken und

image

Contents

1. Interaktions Workflow Arbeitslisten Ausf hrungs gt Manager A Einheit X Programme me f r WfMS X Interaktions Workflow Arbeitslisten Ausf hrungs Manager B Einheit Y Programme ee f r Wf MS Y Interaktions ORO Arbeitslisten Ausfihrungs Manager C Einheit Z Programme er f r WIMS Z Abbildung 5 48 Mehrere Interaktionsmanager und Workflow Ausf hrungseinheiten Beim Starten und Beenden einer Aktivit t A sind ebenso wie in 5 5 2 4 jeweils eine Ausf h rungseinheit und alle Interaktionsmanager die die Aktion A bzw A kennen involviert Zur Koordi nation dieser Manager wird normalerweise das zweiphasige Koordinationsprotokoll verwendet 228 5 5 4 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken 5 5 4 Diskussion Obwohl die Adaption von Arbeitslistenprogrammen und die Adaption von Workflow Ausf hrungs einheiten konzeptionell sehr hnlich sind besitzen sie doch unterschiedliche Vor und Nachteile die im folgenden er rtert werden sollen 5 5 4 1 Adaption von Arbeitslistenprogrammen Die Adaption bzw Eigenentwicklung eines Arbeitslistenprogramms wird von einem Workflow Mana gement System normalerweise explizit durch die Bereitstellung einer entsprechenden Schnittstelle Nummer 2 im Referenzmodell der WfMC vgl Abb 1 3 1 1 6 unterst tzt Obwo
2. Anschauliche und Lineare formale Bezeichnung Graph GUSTIN Notation Akton 2 1 ao d a a a0 al an atomarer Ausdruck 3 3 1 1 er a 13 3 Sequenz 2 2 1 Ka as sequentielle Komposition 3 3 1 2 I 22 E Wiederholung 2 2 5 1 l N sequentielle Iteration 3 3 1 3 en Y y Entweder oder Verzweigung 2 2 1 Disjunktion 3 3 1 4 J Osz yz z 2 2 5 Eventuell Verzweigung 2 2 5 2 i 2 Option 3 3 1 5 QP P ve Y o y 5 Sowohl als auch Verzweigung 2 2 2 4 i parallele Komposition 3 3 1 6 IEZ 2 Z Beliebig oft Verzweigung 2 3 1 3 parallele Iteration 3 3 1 7 I y ty y Strikte Kopplung 2 3 2 2 Konjunktion 3 3 1 8 es yea z Kopplung 2 3 2 2 gt Synchronisation 3 3 1 10 d yOz Yez zZ 5 4 Mehrfach Ausf hrung n n A are z sequentieller Multiplikator 3 3 2 1 I E B Mehri ch Verzweignng 0 233 n 3 ehrfach Verzweigung 2 2 3 ni paralleler Multiplikator 3 3 2 1 2 ae Fiir ein Verzweigung 2 3 4 6 Disjunktions Quantor 3 3 3 1 ObO O y p y 2 P P 2 F r alle Verzweigung 2 3 4 4 5 3 5 paralleler Quantor 3 3 3 1 2 ERS 2 P P lt 3 Unendliche Kopplung z Synchronisations Quantor 3 3 3 1 O J O O y eiply Oo P P Strikte unendliche Kopplung Konjunktions Quantor 3 3 3 1 e y Spl y P P Tabel
3. 4 10 Pf 2 C D f Kopie A4 i oa ffnen A4 LO Schlie en A4 Abbildung 6 15 Transformation einer Kopplung 6 5 Petrinetze 6 5 1 265 ia cy N el o a 0 u N Abbildung 6 16 Verallgemeinerte Transformation von Kopplungen oberen Zweig m mal und im unteren Zweig n mal auftritt F r die brigen gemeinsamen Aktionen der beiden Zweige mu entsprechend verfahren werden 6 5 1 5 Beliebig oft Verzweigung Sobald man versucht Interaktionsgraphen mit Beliebig oft Verzweigungen auf Petrinetze abzubilden st t man mit gew hnlichen Stellen Transitionen Netzen an Grenzen Um n mlich gew hrleisten zu k nnen da Transitionen die in einer Sequenz hinter einer Beliebig oft Verzweigung liegen erst schalten d rfen wenn alle Marken die in den Rumpf der Verzweigung hineingegangen sind auch wieder herausgekommen sind m te man berpr fen k nnen ob der Rumpf markenfrei ist Sofern die Markenzahl einer Stelle nicht limitiert ist gelingt ein solcher Test jedoch nur unter Zuhilfenahme von Verbotskanten die spezifizieren da eine Transition schalten darf wenn eine bestimmte Stelle keine Marke tr gt Baumgarten96 Abbildung 6 17 zeigt eine m gliche Tran
4. main Haupt programm 4 6 5 z x X N parse SESS Ausdruck el Operatorbaum Zustands Zustand u syntaktische i a b oc Analyse o O a ia x 3 4 6 5 p lo t x y N j i N expr Operator b ume 4 3 Abbildung 4 1 Modulstruktur gramm Modul main in der Lage das zuvor beschriebene Wort Teilwort und Aktionsproblem zu l sen Die Tatsache da das vorliegende Kapitel einschlie lich der zugeh rigen Anh nge A und B mit Abstand das l ngste in dieser Arbeit darstellt verdeutlicht da die Entwicklung einer vollst ndigen effizienten und korrekten Implementierung von Interaktionsausdr cken einschlie lich des hierf r erforderlichen theoretischen Unterbaus einen wesentlichen Teil dieser Arbeit ausmacht 4 2 Syntax von Interaktionsausdr cken 4 2 1 Aktionen Die Grundmengen A II und vgl 3 2 1 1 werden durch die folgenden lexikalischen Grundele mente engl tokens repr sentiert e Ein Aktionsname a A ist entweder ein Bezeichner engl identifier wie man ihn aus Program miersprachen wie z B Modula oder C kennt d h eine Folge von Buchstaben und ggf Ziffern die mit einem Buchstaben beginnt oder eine beliebige Zeichenkette die in Anf hrungszeichen einge schlossen ist d h eine Stringkonstante Dadurch ist es hnlich wie in der Datenbanksprache SQL Date98
5. 3 4 Aktion Best tigung 2 ausf hren Exec Antwort Accept 3 1 Best tigung Klient Anfrage Undo Ask 2 Antwort Reject 4 5 Best tigung Zustands bergang 2 Exec durchf hren Antwort Accept 3 1 Best tigung Anfrage Undo Manager gt Ask 2 Antwort Reject Abbildung 5 5 Ablauf des zweiphasigen Koordinationsprotokolls Klienten erforderlich ist Die Graphen zeigen au erdem da ein Klient eine Accept Antwort des Ma nagers auch mit einer Undo Nachricht quittieren kann wenn er die angefragte Aktion aus irgendwel chen Gr nden doch nicht ausf hren m chte In diesem Fall f hrt der Manager keinen Zustands ber gang durch Diese Option wird in 5 2 7 3 zur Koordination mehrerer Interaktionsmanager verwen det 5 2 3 2 Kritik Obwohl das zweiphasige Koordinationsprotokoll wie erl utert korrekte Ausf hrungsreihenfolgen von Aktionen gew hrleistet besitzt es doch ebenso wie das bekannte Zwei Phasen Commit Proto koll 2PC verteilter Datenbanksysteme Dadam96 zsu91 einen gravierenden Nachteil Nach dem Versenden einer Accept Antwort an einen Klienten ist der Interaktionsmanager so lange blockiert bis er eine entsprechende Exec oder Undo Best tigung des Klienten erh lt Sollte diese Nachricht aus irgendwelchen Gr nden nicht oder nicht in angemessener Zeit eintreffen ist der Mana ger vollkommen handlungsunf hig da er ohne Kenntnis dieser Nachricht weder den Zustands ber gang f
6. Hierbei repr sentieren READ und WRITE die eigentlichen internen Lese bzw Schreiboperatio nen w hrend read und write die nach au en hin sichtbaren Schnittstellen darstellen Zum Vergleich betrachte man eine quivalente Formulierung mit Interaktionsausdr cken bei der im Prinzip die einfache Leser Schreiber Bedingung rw p aus 6 2 1 1 mittels modularer Kombination um eine Priorisierungsklausel prio p erweitert wird vgl auch Abb 6 3 rw p Q READ p o WRITE p prio p 9 wantwrite p WRITE p wantread p w p o prio p p Die exportierten Prozeduren read und write m ssen hierf r wie folgt definiert werden proc read wantread READ proc write wantwrite WRITE wobei wantread und wantwrite leere Hilfsprozeduren darstellen Verglichen mit der Pfadausdruck L sung von oben die kaum einfacher oder besser verst ndlich ist als eine unmittelbar auf Semaphoren basierende Formulierung ist die IAA L sung doch um einiges kompakter und bersichtlicher und ben tigt dar ber hinaus nur zwei einfache Hilfsprozeduren 244 6 2 1 Kapitel 6 Verwandte Arbeiten wantwrite P wantread p Abbildung 6 3 Leser Schreiber Problem mit Schreiberpriorit t Orthogonalit t Abgesehen von Kriterien wie Einfachheit und Eleganz deren Bewertung zwangsl ufig subjektiven
7. m Abbildung 6 9 Entweder oder Verzweigung als Stellen Transitionen Netz In diesem einfachen Beispiel besitzt der Graph sogar in beiden Interpretationen dieselbe Semantik Betrachtet man ihn als Interaktionsgraphen so kann man sich einen L ufer vorstellen der ausge hend vom linken O Knoten eine der Aktionen a oder b durchl uft und sich anschlie end am rech ten O Knoten befindet Bei einer Interpretation als Petrinetz verwendet man anstelle eines L ufers ei ne Marke die sich am Anfang auf der linken Stelle befinden m ge vgl Abb 6 10 links In der so definierten Ausgangssituation Kann genau eine der beiden Transitionen a oder b schalten was zur Folge hat da die Marke von der linken Stelle abgezogen und auf die rechte Stelle gelegt wird vgl Abb 6 10 rechts Somit spezifiziert das Petrinetz mit der vereinbarten Anfangsmarkierung dieselbe Bedingung wie der Interaktionsgraph Es darf genau eine der beiden Aktionen a oder b ausgef hrt werden eco Gao Abbildung 6 10 Schaltverhalten des Stellen Transitionen Netzes 6 5 1 2 Hilfsstellen Auch der Interaktionsgraph in Abb 6 11 links kann ohne gro e M he als Petrinetz interpretiert wer den wenn man zwischen je zwei aufeinanderfolgenden Aktionen bzw Transitionen eine zus tzliche Hilfsstelle einf gt und wie oben eine geeignete Anfangsmarkierung vereinbart Abb 6 11 rechts 12 Strenggenom
8. In hnlicher Weise ergibt sich die Menge seiner partiellen Worte als oo n 10 Pf Kopie A4 Y 10 Pf Kopie A4 U 10 Pf Kopie A4 n 0 0 10 Pf 10 Pf Kopie A4 10 Pf 10 Pf 10 Pf 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 10 Pf Kopie A4 3 3 1 8 Konjunktion Definitionen Eine Konjunktion oder strikte Kopplung ist ein Ausdruck y z vgl Abb 3 16 mit beliebigen Teil ausdriicken y und z die als Zweige der Konjunktion bezeichnet werden lt q Abbildung 3 16 Konjunktion y z Der Graph in Abb 3 16 wird durchlaufen indem die beiden Teilgraphen y und z strikt synchronisiert durchlaufen werden d h eine Aktion darf nur passiert werden wenn sie in beiden Teilgraphen gleichzeitig durchlaufen werden kann Folglich erlaubt der Ausdruck y z nur Aktionsfolgen die so wohl in y als auch in z zul ssig sind Dies f hrt zu folgenden Definitionen y z PO N z YO z YO Aa P Anmerkung Da f r praktische Anwendungen in aller Regel die in 3 3 1 10 definierte Synchronisation gegen ber der Konjunktion bevorzugt wird wurde letztere in Kapitel 2 nicht explizit eingef hrt Allerdings stellt die Konjunktion einerseits ein n tzliches Hilfsmittel zur Definition der Synchronisation dar vgl 3 3 1 10 andererseits geh rt sie als duales Pendant zur Disjunktion auch
9. Tabelle 6 6 Vergleich von CoCoA Ausf hrungsregeln und Interaktionsausdr cken Abgesehen davon ist die Ausdrucksm chtigkeit der Regeln stark eingeschr nkt da nicht einmal be liebige regul re Ausdr cke unterst tzt werden Theoretisch betrachtet stellt die Forderung nach deter ministischen regul ren Ausdr cken zwar keine echte Einschr nkung der Ausdrucksm chtigkeit dar da deterministische und nichtdeterministische endliche Automaten bzw Ausdr cke bekanntlich gleich m chtig sind vom praktischen Standpunkt aus betrachtet Kann diese Einschr nkung jedoch gravie rend sein Man denke in diesem Zusammenhang nur wieder an das bereits mehrfach erw hnte Prinzip der modularen Kombination von Ausdr cken 6 2 5 Zusammenfassung 6 2 5 1 Ausdrucksm chtigkeit Tabelle 6 7 fa t die vergleichenden Tabellen der vorangegangenen Abschnitte zusammen und erm g licht so einen Gesamt berblick ber die Ausdrucksm chtigkeit der betrachteten Formalismen im Ver gleich zu Interaktionsausdr cken Wie zuvor wird f r jeden Operator angegeben ob er von einem For malismus explizit und vollst ndig nur implizit oder mit gewissen Einschr nkungen oder ber 7 Alle Literaturangaben dieses Abschnitts stammen aus Faase96 252 6 2 5 Kapitel 6 Verwandte Arbeiten Formalismus ce ae ea A Disj Konj Sync Quant Regul re Ausdr cke _ Pfadausdr cke _ Synchronisierungsausd
10. j f r i j gilt 3 2 Grundbegriffe und Bezeichnungen 3 2 3 69 n Q U U WU falls Y eQ Up wen neN ie Sofern nur fast alle Mengen U das leere Wort enthalten k nnte man zun chst die unendlich vielen Mengen die das leere Wort enthalten gem dieser Definition miteinander verschr nken und an schlie end das Resultat mit den endlich vielen Ausnahmemengen verschr nken Sobald jedoch un endlich viele Mengen U das leere Wort nicht enthalten w rde man bei der Verschr nkung aller U nur noch unendlich lange Worte erhalten d h in diesem Fall mu amp U konsequenterweise als leere Menge definiert werden wen Da im weiteren Verlauf dieser Arbeit jedoch nur Mengen U zu verschr nken sein werden die ent weder alle das leere Wort enthalten oder aber alle das leere Wort nicht enthalten kann die Definition von amp U auf die folgenden beiden F lle beschr nkt werden wen n U Q Un falls V o Q Up ne i Uo ot A EQ i OS falls Jo Q 0 U 3 2 3 Vollst ndige und partielle Worte eines Ausdrucks Die Semantik eines regul ren Ausdrucks x wird gew hnlich als Sprache L x d h als die Menge al ler von diesem Ausdruck akzeptierten Worte definiert Hopcroft90 Sch ning95 In hnlicher Weise wird im nachfolgenden Abschnitt 3 3 auch die Semantik von Interaktionsausdr cken bzw graphen definiert wobei ein akzeptiertes Wort hier einer Folge von passierten
11. Analog zu einer Metasprache d h einer Sprache die zur Beschreibung einer anderen Sprache verwendet wird und ansonsten nichts mit dieser Sprache zu tun hat k nnte man die Graphen als Metagraphen bezeichnen da sie nichts mit dem vom Interaktionsmanager zu verar beitenden Graphen x zu tun haben sondern lediglich das Zusammenspiel von Klient und Interaktionsmanager beschreiben sollen Sie stellen somit eine der in 5 1 erw hnten Anwendungen von Interaktionsgraphen als Beschreibungstechnik zur formalen Spezifikation oder Doku mentation von Systemeigenschaften dar 186 5 2 2 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken 3 4 Antwort Aktion 1 Accept ausf hren Anfrage Ask 2 Antwort Rej Klient gt Pigot 1 3 4 Anfrage Antwort Aktion Wait Accept ausf hren 2 3 Zustandstibergang Antwort 1 durchf hren Accept Anfrage Ask 2 Antwort Rei Manager eject 1 2 3 Anfrage Zustandstibergang Antwort Wait durchfiihren Accept Abbildung 5 3 Ablauf des einphasigen Koordinationsprotokolls tenseite oberer Graph noch einmal verdeutlichen Der Klient kann die Erlaubnis zur Ausf hrung der Aktion a entweder mittels Ask oder mittels Wait einholen Im ersten Fall erh lt er sofort eine ent sprechende Accept oder Reject N
12. 13 Zum Verst ndnis der folgenden berlegungen ist zumindest die Kenntnis dieses Abschnitts erforderlich 3 5 Ausdrucksm chtigkeit von Interaktionsausdr cken 3 5 4 111 quivalente mehrfache Addition oder Subtraktion eines Faktors die man zur Simulation eines Stacks ben tigt Hopcroft90 ist innerhalb eines Zustands bergangs jedoch nicht m glich Diese Plausibilit tsbetrachtungen stellen nat rlich keinen wirklichen Beweis f r die Vermutung dar da sich das Klammerproblem mit Interaktionsausdr cken nicht l sen l t und sie somit teilweise ausdrucksschw cher als kontextfreie Grammatiken sind Ein solcher Beweis k nnte m glicherweise gelingen wenn man auch f r Interaktionssprachen eine Charakterisierung im Sinne eines Pumping Lemmas findet mit dessen Hilfe dann durch Widerspruch gezeigt werden k nnte da bestimmte kon textfreie Sprachen keine Interaktionssprachen sind Da derartige berlegungen f r den praktischen Einsatz von Interaktionsausdr cken jedoch nur eine untergeordnete Rolle spielen wurden sie im Rah men dieser Arbeit nicht weiter vertieft 3 5 3 5 Bezug zu Ereignis und Flu ausdr cken Es sollte an dieser Stelle jedoch erw hnt werden da f r einen eng verwandten Ansatz Flu aus dr cke vgl 6 2 3 urspr nglich genau dieselbe Vermutung ge u ert wurde Shaw78 sp ter aber gezeigt werden konnte da der Formalismus ebenso wie Ereignisausdr cke die im selben Abschnitt beschrieb
13. Ox die beide die Aktion a akzeptieren lassen sich dann ebenfalls drei F lle unterscheiden 1 s und s sind beide von der Gestalt A Dann gilt offensichtlich s 6 y o T 59 2 s und s sind beide von der Gestalt B Dann folgt mit denselben Argumenten wie in Fall 1 der sequentiellen Komposition aus der Injekti vit t von y die Gleichheit von s und sz 6 Beachte Ein Zustand I y kann grunds tzlich nur Aktionen a a y akzeptieren w hrend ein Zustand r z nur Aktionen a a z akzeptiert B 4 Injektive und fokussierte Ausdr cke B 4 4 327 3 s ist von der Gestalt A und s von der Gestalt B oder umgekehrt In diesem Fall folgt aus der Injektivit t von y die Gleichheit der Teilzust nde o y von s und y von sz die jedoch im Widerspruch zur initialen Fokussierung von y steht 6 y o y f r v Daher kann dieser Fall nicht auftreten B 4 4 Disjunktion B 4 4 1 Injektivit t F r den initialen Zustand einer Disjunktion x y z gilt a x 0 o o z Da die Alphabete der beiden Teilausdr cke y und z disjunkt sind kann eine Aktion b nur von einem der beiden Teilzust nde o y oder o z erfolgreich verarbeitet werden w hrend der andere beim er sten Zustands bergang in einen ung ltigen Zustand bergeht Daher gilt f r die optimierten Folgezu st nde des Ausdrucks x offensichtlich o o y o z f r w A 6 x 6 y f r w b mit b
14. m glich Aktionen nicht nur mit einfachen Bezeichnern wie z B Aufstellen Abbauen oder KopieA4 zu benennen sondern auch ausgefallenere Namen wie z B 1DM mit einer Ziffer am Anfang oder Kopie A4 mit einer Leerstelle zu verwenden 116 4 2 1 Kapitel 4 Implementierung von Interaktionsausdr cken e Ein Quantorparameter p II entspricht aus zwei Gr nden einem einfachen Bezeichner Zum ei nen besteht hier normalerweise keine Notwendigkeit Komplexere Namen zu verwenden zum ande ren k nnen Parameter und Werte siehe unten auf diese Weise syntaktisch unterschieden werden e Ein konkreter Wert Q ist entweder eine Stringkonstante oder eine nat rliche Zahl wie z B Maier sono oder 4711 Mit Hilfe erweiterter regul rer Ausdr cke wie sie beispielsweise vom Scanner Generator Lex Aho88 unterst tzt werden k nnen die lexikalischen Grundelemente Bezeichner Ident Zahl Number und Zeichenkette String wie folgt definiert werden Ident A Za z A Za z0 9 Number 1 9 0 9 String EIER Eine abstrakte Aktion a eT ist formal als n 1 Tupel a a1 ap mit einem Aktionsnamen day E A und Argumenten a a E IT U Q definiert vgl 3 2 1 2 Da diese Tupelnotation in praktischen Anwendungen jedoch nicht gebr uchlich ist wird im folgenden die quivalente Funk tionsnotation ag a a verwendet bei der der Aktionsname a au erhalb der Klammern steht Au erdem
15. Ami E FA EQ m i 0 T we amp w we O Ypa i f ri 1 m i l j l all W hle z 2 Ta Mian und beachte da alle Mengen 7 das leere ni m n m Wort enthalten daraus folgt Ona ce a f ri 1 m j l j l gt JImeN o 790 9 W W E X neN mi Am Q 5 k OR de we w we OQ Yhap f ri 1 m i l j l Kommutativit t endlicher Verschr nkungen gt IneIN m n eQ meN a 4 0 Q m n Oj T Min M Oj T w Ee OQ Lly Q Q Popa i l j l jel i l gt Idn elW 27 2 Q wi w L me IN 4 0 Q n m F N we amp wi w e Y yp 9 f r 7 Hl 53 n j i 1 n gt IneN a 7 EQ wi n wW el we Qw j l z T we U D Yopa oio f r j 1 7 meN i 1 p OF FO EQ 104 3 4 9 Kapitel 3 _Interaktionsausdr cke n 3 gt IneNmr emeniwe ron j l P neIN j neEQ TE EAE re y Sex gos o ee Zusammengefa t bedeutet dies we OO gt we woos Pp q 4 P das hei t P 4 4 P Da diese Inklusion f r beliebige Quantorparameter p q II gilt kann man die Rollen von p und q vertauschen d h es gilt ebenso lt 4 P P q Fa t man beide Inklusionen zusammen so erh lt man die Gleichung o0 v oo 4 P P 4q Vollst ndige Worte Wenn der Ausdruck y nicht singul r ist ist sowohl die Menge ao als auch die Menge Pp
16. a P q und ein Wort w a a 2 mit paarweise verschiedenen Werten Q In diesem Fall w chst der Verzweigungsgrad der Zust nde G x tats chlich linear mit der L nge des Wortes w Auch vollst ndig quantifizierte Synchronisations Quantoren sind normalerweise nicht harmlos wie das einfache Gegenbeispiel x a p zeigt Anders als bei Disjunktions und Konjunktions p Quantorausdr cken bleibt der Zustand des abstrakten Zweigs y hier bei jedem Zustands bergang unver ndert o y da f r jede Aktion a gilt a a y F r ein Wort w wie oben w chst daher auch hier der Verzweigungsgrad der Zust nde x linear bzgl der Lange von w 4 7 Komplexit tsbetrachtungen 4 7 4 173 4 7 4 2 Parallele Quantoren Satz Parallele Quantoren sind gutartig wenn ihr Rumpf vollst ndig und homogen quantifiziert ist Beweis Aus der vollst ndigen und homogenen Quantifizierung eines Ausdrucks x y folgt gem p 4 7 2 2 da die Alphabete a y f r Q paarweise disjunkt sind Folglich kann jede Aktion a eines Wortes w x eindeutig einem Zweig Yp des Quantorausdrucks x zugeordnet werden d h es gibt eine eindeutige Zerlegung des Wortes w in Teilworte u u mit zugeh rigen Werten Q 1 O Q f r die k we u und u e yp f ri 1 k i l gilt Aufgrund der Optimierung pi s 0 y p A mit A TEA Avo bei der Alternativen T mit ung ltigen Teilz
17. pp P Quasi regul re Ausdr cke gt Q O O harmlos gutartig potentiell b sartig Abbildung 4 26 Komplexit tshierarchie von Interaktionsausdr cken Anmerkung Bereits die Kombination von paralleler Komposition und Booleschen Quantoren ist po tentiell b sartig wie das Beispiel x y y mit y Qa p zeigt F r ein Wort P w a a mit paarweise verschiedenen Werten Q w chst der Zustands 4 7 Komplexit tsbetrachtungen 4 7 5 175 baum des Ausdrucks x in derselben Weise wie der des b sartigen Ausdrucks x y y mit y a p vgl 4 7 3 3 p 4 7 5 2 Tabellarischer berblick Tabelle 4 27 fa t die Resultate der vorangegangenen Abschnitte detaillierter zusammen indem f r je den Operator von Interaktionsausdr cken hinreichende Bedingungen f r seine Harmlosigkeit bzw Gutartigkeit und sofern der Operator potentiell b sartig ist ein Beispiel eines b sartigen Aus drucks genannt werden Die Tabelle kann daher als Checkliste dienen mit deren Hilfe f r einen gege benen Ausdruck berpr ft werden kann ob er harmlos oder gutartig ist Operator Hinreichende Bed Hinreichende Bed Beispiel f r Abschnitt pe f r Harmlosigkeit f r Gutartigkeit B sartigkeit s O O J ab ul 4 7 3 1 y TF oder y 2z z QR oder ft 4 7 3 2 aly Naz O ay y TFUQR T 4 7
18. x durch einen wei en Kreis und jeder g ltige Zu stands bergang s 7 s durch eine gerichtete und mit a beschriftete Kante von s nach s dargestellt wird 1 Ein injektiver Ausdruck ist dadurch charakterisiert da die Kanten seines Zustands bergangs Dia gramms paarweise verschiedene Beschriftungen tragen vgl Abb 4 24 2 Ein initial fokussierter Ausdruck zeichnet sich dadurch aus da sein initialer Zustand o x im Zu stands bergangs Diagramm eine Quelle darstellt d h einen Knoten der keine eingehenden Kan ten besitzt vgl Abb 4 25 3 Ein terminal fokussierter Ausdruck schlie lich ist dadurch gekennzeichnet da der spezielle Zu stand der aufgrund seiner Definition stets eine Senke darstellt d h einen Knoten der keine aus gehenden Kanten besitzt den einzigen schwarzen Kreis im Zustands bergangs Diagramm darstellt vgl ebenfalls Abb 4 25 b Ze a Abbildung 4 24 Zustands bergangs Diagramm des injektiven Ausdrucks x 6 a b 166 4 7 2 Kapitel 4 Implementierung von Interaktionsausdr cken o x Abbildung 4 25 Zustands bergangs Diagramm des beidseitig fokussierten Ausdrucks x a b O b a Satz 1 Ein atomarer Ausdruck x b ist injektiv und beidseitig fokussiert 2 Eine sequentielle Komposition x y z ist injektiv wenn die Teilausdriicke y und z injektiv und disjunkt sind und der Teilausdruck y terminal fokussiert ist Ist der Teilausdruck y dar ber h
19. 4 5 6 3 Substitutionsprinzip Satz F r einen Quantorausdruck y ein Wort w e amp und einen bzgl y und p irrelevanten Parameter p wert Q y p des Wortes w gilt Owl Ip 0 d h der Zustand ol des konkretisierten Zweigs Yp nach Verarbeitung des Wortes w kann nach tr glich durch Konkretisierung des entsprechenden Zustands o y des abstrakten Zweigs y gewon nen werden Erl uterung Dieser Satz formalisiert die in 4 5 6 2 formulierte Behauptung da der abstrakte Zweig y eines Quantorausdrucks als Stellvertreter aller irrelevanten Zweige Yp mit Q y p verwendet wer den kann Sobald ein Wert w hrend der Verarbeitung einer Aktionsfolge a az relevant wird weil er zur Menge 2 0 p der als n chstes zu verarbeitenden Aktion a geh rt kann der Zustand seines Zweigs Yp somit aus dem Zustand des abstrakten Zweigs y konstruiert und anschlie end eigen st ndig weiterverarbeitet werden Das Substitutionsprinzip zusammen mit der Beobachtung da die Menge der relevanten Parame terwerte stets endlich ist stellt somit die formale Grundlage f r die prinzipielle Implementierbarkeit von Quantorausdr cken dar weil dadurch sichergestellt ist da ein konzeptuell unendlicher Ausdruck dennoch unter Verwendung endlicher Ressourcen Speicherplatzbedarf und Rechenaufwand verar beitet werden kann Der Beweis des Satzes wird in Anhang B B 2 3 und B 2 4 zusammen mit dem Korrektheit
20. p und a p an verschiedenen Positionen auftritt 3 Der Ausdruck x a p a p gt ist sowohl vollst ndig als auch homogen quantifiziert P Satz Gegeben sei ein Quantorausdruck x y 1 P Wenn der Ausdruck x homogen quantifiziert ist besitzt jede Aktion a X h chstens einen rele vanten Parameterwert d h f r alle a Z gilt Q y p lt 1 Wenn der Ausdruck x vollst ndig quantifiziert ist akzeptiert der abstrakte Zweig y keine konkre ten Aktionen d h f r jedes Wort w ist der Zustand y ung ltig Wenn der Ausdruck x vollst ndig und homogen quantifiziert ist sind die Alphabete der konkreti sierten Zweige y paarweise disjunkt d h es gilt ay NM a y f r 7 Beweis Gem 4 5 6 2 geh rt ein Wert Q genau dann zur Menge Q y p der relevanten Parameter werte von a wenn der Quantorrumpf y eine Aktion a enth lt die durch die Konkretisierung a gleich a wird Insbesondere m ssen daher alle derartigen Aktionen dieselbe Signatur wie a besitzen und somit auch untereinander gleichartig sein Aufgrund der homogenen Quantifizierung des Ausdrucks x tritt der Parameter p in diesen Aktio nen somit immer an denselben Positionen i j auf d h es kann h chstens einen Wert a aj geben f r den a a gilt Wenn der Ausdruck x vollst ndig quantifiziert ist so gilt offensichtlich y a y NL da jede Akti
21. Hoare85 C A R Hoare Communicating Sequential Processes Prentice Hall London 1985 Hollingsworth94 D Hollingsworth The Workflow Reference Model Issue 1 1 Document Number WEMC TC 1003 Workflow Management Coalition Brussels Belgium November 1994 Hopcroft90 J E Hopcroft J D Ullman Einf hrung in die Automatentheorie formale Sprachen und Komplexit tstheorie Addison Wesley Bonn 1990 Hull87 R Hull R King Semantic Database Modeling Survey Applications and Research Is sues ACM Computing Surveys 19 3 September 1987 201 260 IFE97 Themenheft Workflow Management Informatik Forschung und Entwicklung 12 2 May 1997 ISO87 ISO Information Processing Systems Open Systems Interconnection LOTOS A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour DIS 8807 ISO 1987 Jablonski95a S Jablonski Workflow Management Systeme Motivation Modellierung Architek tur Informatik Spektrum 18 1 February 1995 13 24 284 Literaturverzeichnis Jablonski95b S Jablonski Workflow Management Systeme Modellierung und Architektur Thom son s Aktuelle Tutorien 9 International Thomson Publishing Bonn 1995 Jablonski97 S Jablonski M B hm W Schulze eds Workflow Management Entwicklung von Anwendungen und Systemen dpunkt Verlag Heidelberg 1997 Jarke84 M Jarke J Koch Query Optimization in Database Systems ACM Comp
22. IN so kann man eine zu ihr komplement re Stelle s verwalten so da die Summe der Marken von s und s stets n betr gt In diesem Fall ist die Bedingung s enth lt keine Marke quivalent zu der Bedingung s enth lt n Marken Eine derartige Limitierung von Markenzahlen ist aber gerade im Kontext von Beliebig oft Verzweigungen nicht m glich da der Rumpf einer solchen Verzweigung beliebig oft parallel durchlaufen werden darf Bei den Transitionen f bis 1 handelt es sich um unbeschriftete Hilfstransitionen deren Benennungen lediglich f r die nachfolgenden Er l uterungen ben tigt werden 266 6 5 1 Kapitel 6 Verwandte Arbeiten f4 ER see CO gt a N ate gt Sy S2 53 S4 S5 56 Abbildung 6 17 Transformation von Beliebig oft Verzweigungen im zweiten Fall d rfte sie jedoch bereits schalten wenn alle Marken einer bestimmen Sorte d h alle die von einer bestimmten Marke der Stelle s abstammen verbraucht sind Zur Veranschaulichung dieser berlegungen betrachte man den Interaktionsgraphen und das zuge h rige Petrinetz in Abb 6 18 Der Graph kann z B durchlaufen werden indem am u eren amp Ver zweigungsknoten zwei Gruppen G und G den Rumpf dieser Verzweigung d h den Teilgraphen a b c d betreten Eine dieser Gruppen beispielsweise G4 passiert die Aktion a betritt ge schlossen den Rumpf der inneren Beliebig o
23. Q y p w ye Substitutionsprinzip f r y sowie o y op Y f r Q y p siehe oben un S Voe pw p und wO Struktur der Folgezust nde von x W x W O N es p vr T und analog weDx e gO xX T G ltigkeit des Substitutionsprinzips F r ein Wort w e einen Quantorparameter q Il und einen bzgl x und q irrelevanten Parameter wert z amp Q x q des Wortes w gilt 0 0 7 0 y p 6 0 Ty mit T o 3 2 0 p o 97 p op O Ta mit Ty B ho 0p o Qu0 p Substitutionsprinzip f r y bzw Yp bzgl des Parameters q o VD we T mit T o y 7 o 2 0 p Invarianz relevanter Parameterwerte B 2 1 2 Au erdem gilt analog zur elementaren Synchronisation Wo whe y whe 52 Ww firae QU p wenn man t x7 Oy O f setzt p p u lt 4 o 5 p oa 0 Th mit T o 52 o 2 6 p Struktur der Folgezust nde des Ausdrucks X 0 amp ul B 2 Korrektheit des einfachen Zustandsmodells B 2 4 319 B 2 4 4 Parallele Quantorausdriicke Gegeben sei ein paralleler Quantorausdruck x y mit einem beliebigen Teilausdruck y fiir den P und dessen Konkretisierungen Yp das Korrektheitstheorem gem der globalen Induktionsvorausset zung bereits bewiesen sei Definition Die Menge A der unendlichen parallelen Zerlegungen des Wortes w sei definiert als
24. Ropes An Alternative to Strings Software Prac tice and Experience 25 12 December 1995 1315 1330 Bolognesi87 T Bolognesi E Brinksma Introduction to the ISO Specification Language LOTOS Computer Networks and ISDN Systems 14 1987 25 59 Brachman91 R J Brachman D L McGuinness P F Patel Schneider L A Resnick Living with CLASSIC When and How to Use a KL ONE Like Language In J F Sowa ed Principles of Semantic Networks Explorations in the Representation of Knowledge Morgan Kaufmann Publish ers San Mateo CA 1991 401 456 BrinchHansen72 P Brinch Hansen A Comparison of Two Synchronizing Concepts Acta Infor matica 1 3 1972 190 199 Brookes84 S D Brookes C A R Hoare A W Roscoe A Theory of Communicating Sequential Processes Journal of the ACM 31 3 July 1984 560 599 Campbell74 R H Campbell A N Habermann The Specification of Process Synchronization by Path Expressions In E Gelenbe C Kaiser eds Operating Systems International Symposium Rocquencourt France April 1974 Proceedings Lecture Notes in Computer Science 16 Springer Verlag Berlin 1974 89 102 Campbell79 R H Campbell R B Kolstad Path Expressions in Pascal In Proc 4th Int Conf on Software Engineering Munich Germany September 1979 IEEE 1979 212 219 281 Campbell80 R H Campbell R B Kolstad An Overview of Path Pascal s Des
25. ben theoretisch untersucht und auch praktisch implementiert worden sind soll im vorliegenden Kapi tel genauer auf ihre konkreten Einsatzm glichkeiten eingegangen werden Da f r Interaktionsausdr cke sowohl eine pr zise formale Semantik als auch eine effiziente Imple mentierung existiert k nnen sie einerseits als Beschreibungstechnik zur formalen Spezifikation oder Dokumentation von Systemeigenschaften und andererseits als Hilfsmittel zur realen Implementierung nebenl ufiger Systeme verwendet werden In dieser Hinsicht unterscheiden sie sich von vielen ver wandten Ans tzen bei denen oft nur einer dieser Aspekte in der Regel der erste im Vordergrund steht w hrend der andere entweder gar nicht oder nur ansatzweise unterst tzt wird Beispielsweise wurden Formalismen wie Ereignis und Flu ausdr cke vgl 6 2 3 Life cycles Coleman94 Sequence diagrams Zave85 Statecharts Harel87 oder auch Proze algebren vgl 6 3 prim r als Spezifikationssprachen entworfen die typischerweise in den sogenannten fr hen Phasen des Software Engineering eingesetzt werden aber meist keine direkte Ausf hrung der erstell ten Spezifikationen erlauben Da Interaktionsausdr cke eine vergleichbare oder sogar h here Aus drucksm chtigkeit als die meisten dieser Formalismen besitzen vgl Kapitel 6 insbesondere 6 2 5 2 k nnen sie f r derartige Anwendungsbereiche ebenfalls eingesetzt werden wobei die Ver f gbarkeit einer graphischen N
26. bernommen wird Dies entspricht ebenfalls der anschaulichen Definition da eine solche Aktion nur im linken d h oberen Zweig der Synchronisation durchlaufen werden mu 3 Wenn a nur im rechten Teilausdruck z auftritt verh lt es sich gerade umgekehrt In diesem Fall ist a ein Element von R nicht jedoch von L so da nur ein Zustands bergang f r den rechten Teilzu stand r durchgef hrt wird w hrend der linke Teilzustand unver ndert bernommen wird Auch dies entspricht offensichtlich der anschaulichen Definition 4 Wenn a in keinem Teilausdruck der Synchronisation auftritt geh rt es wie in Fall 1 weder zur Menge L noch zur Menge R d h in diesem Fall wird sowohl ein Zustands bergang f r den linken Teilzustand als auch f r den rechten Teilzustand r durchgef hrt Da die Aktion a jedoch unter der Voraussetzung eines korrekten Zustandsmodells weder vom Zustand noch vom Zustand r akzeptiert werden wird werden die resultierenden Zust nde und r beide ung ltig sein Zusammen mit den Definitionen der Pr dikate y und entspricht daher auch dieser Fall der an schaulichen Definition nach der eine solche Aktion berhaupt nicht durchlaufen werden darf Beim initialen Zustand einer Synchronisation x y z entsprechen die Teilzust nde und r den in itialen Zust nden der Teilausdr cke y und z a x 0 y z 0 y o 2 4 5 4 6 Sequentielle Komposition Ein sequentieller Kompositions Zustand d h
27. ein Patient z B nicht gleichzeitig untersucht und f r eine andere Untersuchung vorbereitet werden kann l t sich mit Hilfe eines regul ren Ausdrucks wie folgt beschreiben U Patient vorbereiten U Patient abrufen U Untersuchung durchf hren X Allerdings hat man jetzt indirekt auch festgelegt da mehrere Auspr gungen des Schritts Patient vor bereiten ebenfalls strikt sequentiell ausgef hrt werden m ssen was nach 1 2 gerade nicht beabsich tigt ist Um auszudr cken da der Schritt Patient vorbereiten f r einen bestimmten Patienten beliebig oft gleichzeitig ausgef hrt werden darf ben tigt man einen zus tzlichen Operator vgl 2 3 1 3 und 3 3 1 7 den es so in regul ren Ausdr cken nicht gibt 1 3 4 2 Kritik Diese wenigen informellen Beispiele sollen gen gen um zu zeigen da ein deskriptiver Formalismus im Stil regul rer Ausdr cke zur Beschreibung von Inter Workflow Abh ngigkeiten grunds tzlich gut geeignet ist da regul re Ausdr cke in ihrer reinen Form f r praktische Anwendungen jedoch zu ein geschr nkt sind Au erdem ist zu ber cksichtigen da die bliche mathematische Notation regul rer Ausdr cke wie sie oben verwendet wurde f r entsprechend geschulte Personen zwar sehr elegant und kompakt ist mathematisch weniger ge bten Anwendern wie z B Workflow Modellierern aber nicht ohne weiteres zugemutet werden kann Aus diesem Grund sollten Integrit tsbedingungen ebenso wie Wor
28. exam Expr s bin Sequ atom call atom exam Kompletter Ausdruck return quant Par p iter quant Disj u S Abbildung 4 10 Verwendung von Konstruktorfunktionen vgl Abb 4 7 4 4 Implementierung der formalen Semantik 4 4 1 Algorithmus Der in den Abbildungen 4 11 bis 4 13 dargestellte Algorithmus dessen prinzipielle Idee aus Shaw80a bernommen wurde stellt den Versuch dar die durch formale Sprachen definierte Seman tik von Interaktionsausdriicken vgl 3 3 4 unmittelbar implementierungstechnisch umzusetzen In Wort als Sequenz von Aktionen type Word Seq Action berpr fe ob w ein vollst Wort des atomaren Ausdrucks x darstellt part bool test Expr x Word w if x cat Atom w ist genau dann ein vollst Wort des atomaren Ausdrucks x a wenn w lt a gt gilt return w 1 amp amp w 1 x action berpr fe ob w ein vollst Wort der Disjunktion x darstellt part bool test Expr x Word w if x cat Disj w ist genau dann ein vollst Wort der Disjunktion x y z wenn es ein vollst Wort von y oder ein vollst Wort von z ist return test x left w test x right w berpr fe ob w ein vollst Wort der Konjunktion x darstellt part bool test Expr x Word w if x cat Conj w ist genau dann ein vollst Wort der Konjunktion x y amp z wenn es ein vollst Wort von y und ein vollst Wort von z ist return
29. k k der Menge 1 n gibt besitzt ein solches Wort w u a 2 verschiedene Zerlegungen W Ug Ug Ux m in paarweise verschiedene Teilworte u der L nge k mit ki km 1 n und ky m N Y k gt n Somit gibt es f r den Quantorausdruck i l x Oy mit y uyJ o9 la b P der zur Implementierung der parallelen Iteration x verwendet wird mindestens 2 verschiedene M g lichkeiten das Wort w zu verarbeiten Jeder oben genannten Zerlegung von w entspricht eine Alterna tive Elo p X ip i 0 des Zustands 6 x mit Teilzust nden t V f rk e ko kn Da der Ausdruck y a b a b nach Verarbeitung eines Wortes u a a der L nge k genau k b s akzeptiert m ssen die Zust nde t f r verschiedene Werte von k offensichtlich verschieden sein Daraus folgt jedoch da auch die oben genannten 2 Alternativen T paarweise ver schieden sind Somit besitzt der Zustand 6 x des Quantorausdrucks x mindestens den Verzweigungsgrad 2 obwohl die L nge des Wortes w nur von der Gr enordnung n ist Dieses Beispiel widerlegt die ber l ngere Zeit gehegte Hoffnung elementare Interaktionsausdr cke seien m glicherweise grunds tzlich gutartig Es zeigt au erdem da durch die Hinzunahme der paral lelen Iteration ein gewaltiger Komplexit tssprung eintritt Elementare Ausdr cke ohne parallele Itera 172 4 7 4 Kapitel 4 Implementierung von
30. m S 8 f c p a Abbildung 4 23 Baumartige Repr sentation des Zustands o x f r x amp a b o O c p P 4 7 1 1 Tiefe von Zustandsb umen Aus den Definitionen der Abschnitte 4 5 4 und 4 5 7 folgt da die Tiefe oder H he s eines Zu standsbaums s x d h die maximale L nge Kantenzahl eines Pfads von der Wurzel bis zu ei nem Blattknoten durch eine Konstante D x begrenzt ist die lediglich vom Ausdruck x nicht jedoch vom Wort w abh ngt Konkret gilt f r w 4 7 Komplexit tsbetrachtungen 4 7 1 161 0 fiir x a 5 6 x lt D x 4 Diy 1 f r x y oder x O y P max D y D z 1 f rx yoz d h D x entspricht der maximalen Verschachtelungstiefe von Operatoren im Ausdruck x 4 7 1 2 Verzweigungsgrad und Gr e von Zustandsb umen Klassifikation von Ausdr cken Der Verzweigungsgrad oder einfach Grad eines einzelnen Knotens entspricht der Anzahl der direk ten Nachfolger dieses Knotens w hrend der Verzweigungsgrad eines ganzen Baums als maximaler Verzweigungsgrad seiner Knoten definiert ist Offensichtlich besitzt ein Baum mit der Tiefe d und dem Verzweigungsgrad b h chstens 1 b b b 0 b Knoten d h seine Gr e ist von der Gr enordnung bf Da die Tiefe s eines Zustandsbaums s 6 x durch die Konstante D x begrenzt ist h ngt seine Gr e y s somit im wesentlichen von seinem Verzweigungsgrad f s ab 1 Sofern s konstant ist d h w
31. und analog Pals u Daraus folgt wie behauptet die Aquivalenz von s und s B 3 1 2 Lemma Ein optimiertes Zustandsmodell bestehend aus den Funktionen o T y gund p ist korrekt wenn das zugeh rige einfache Modell bestehend aus den Funktionen o r w und 9 korrekt ist und wenn f r jeden Zustand s und jedes Wort w e gilt f s 7 s Beweis Durch Einsetzen von s o x erh lt man f r jeden Ausdruck x die Aquivalenz 6 x 0 Xx und somit D X v 6 po YX und 9 00 A600 dowa GC d h die Pr dikate y und g der optimierten Zust nde stimmen mit denen der einfachen Zust nde ber ein Daraus folgt die Behauptung B 3 1 3 Satz Ein optimiertes Zustandsmodell bestehend aus den Funktionen o 7 w gund p ist korrekt wenn das zugeh rige einfache Modell bestehend aus den Funktionen o t y und korrekt und die Optimie rungsfunktion p transparent ist vgl 4 5 2 5 B 3 Korrektheit des optimierten Zustandsmodells B 3 2 323 Beweis Zeige durch vollst ndige Induktion nach der L nge von w da f r jeden Zustand s und jedes Wort w amp die Aquivalenz 7 s 7 s gilt 1 F r w gilt t s s s 7 s 2 F r w w a mitw e D und a e gilt 7 08 8 2669 p 2 4 5 Transparenz der Optimierungsfunktion p Tulig s Nach Induktionsvoraussetzung sind die Zust nde 7 s und 7 s quivalent Aufgrund des ersten Lemmas B
32. wally val 1 val 2 1 7 Lt gt wait leave val 2 0 Unknown Wait Accept leave_org 2 put 1 1 Wait wait leave val 2 1 wait put val l val l 0 amp Accept put_org 1 1 Accepi Wait wait put val 1 val 1 1 m Accept put 1 2 Wait wait put val 1 val 2 0 z Accept i put_org 1 2 Wait wait put val 1 val 2 1 u Accept leave 1 Wait wait leave val l 0 amp gt leave_org 1 Accept Wait wait leave val 1 1 z Accept Abbildung 5 30 Beispielablauf fiir zwei Philosophen Prozesse 5 4 Definition von Workflow Geflechten 5 4 2 215 5 4 Definition von Workflow Geflechten 5 4 1 Vor berlegungen Eine Menge von Workflows die potentiell berlappend ausgef hrt werden zusammen mit einer Men ge von Inter Workflow Abh ngigkeiten die hierbei zu ber cksichtigen sind wird im weiteren als Workflow Geflecht bezeichnet Wie die folgenden berlegungen zeigen weist ein solches Workflow Geflecht einige Parallelen zu einem nebenl ufigen Programm auf Beispielsweise kann man die elementaren Schritte oder Aktivit ten eines Workflows durchaus mit Prozeduren oder Funktionen einer imperativen Programmiersprache vergleichen Beide werden durch einen eindeutigen Namen identifiziert sofern man von der M glichkeit des statischen berladens von Funktionsnamen absieht besitzen ggf eine Menge von Aufrufparametern und bei ihrem Aufruf wird eine bestimmte
33. wenn f r alle Konkretisierungen x Ge i 1 2 gilt xj x5 und Pai c WR 2 Ein Ausdruck x hei t gleich oder restriktiver als ein Ausdruck x in Zeichen x lt x2 wenn er dasselbe Alphabet wie x besitzt und h chstens die Worte akzeptiert die x akzeptiert d h wenn f r alle Konkretisierungen x i 1 2 gilt xj x4 W x P und a i a x 3 Gilt x lt x und x so hei t x echt restriktiver als x in Zeichen x lt x2 3 4 2 3 Satz 1 S mtliche Operatoren von Interaktionsausdriicken sind monoton d h aus y lt y2 und z Sz folgt y SO firoe aao yO71S 0 firoe 0 0 0 0 On lt sOn f ro 0 0 0 P P 2 Aus x lt x und x lt x folgt x x Beweis 1 Ebenso wie bei der quivalenz von Ausdr cken 3 4 1 2 gen gt es jeweils die entsprechenden isolierten Aussagen zu zeigen da sich diese unmittelbar zu umfassenden Aussagen verallge meinern lassen Die Behauptungen der isolierten Aussagen folgen unmittelbar aus den Definitionen der Operatoren vgl Tab 3 28 3 3 4 zusammen mit der Monotonie der dort verwendeten Mengenoperationen vgl Lemma Im Kontext der Synchronisation ist au erdem zu beachten da die Alphabete korre spondierender Teilausdr cke gleich sind z B a y y2 und somit auch korrespondierende Mengen x gleich sind 2 Unmittelbar aus der Definition der Relationen lt und 3 4 2 4 Anmerkung W rde man die B
34. 1 DM W 2DM 1DM 1DM 1DM Y 2DM o 1 DM 1DM P 1 DM 2 DM 1 DM 1 DM 1 DM Q 1 DM 08 0u Oe ADM U 2DM U 2DM 1 DM U 1 DM U 1 DM 1 DM U 1 DM 1 DM U 1 DM 1 DM 1 DM U DM u 2DM U 2DM 1 DM 1 DM 2DM U 1 DM U X1DM 1DM U 1 DM 1DM U 1 DM 1DM 1DM 0 1 DM 2DM 1 DM 1 DM 1 DM 2DM 2 DM 1 DM 1 DM 1 DM 1 DM 2DM 1DM 1DM 1DM Abbildung 3 13 Parallele Komposition 2 DM 1 DM 1DM 1DM 6 Der Verschr nkungsoperator soll einen h heren Vorrang besitzen als der Vereinigungsoperator U und der Durchschnittsoperator N 3 3 Definition von Interaktionsausdriicken 3 3 1 77 3 3 1 7 Parallele Iteration Definitionen Eine parallele Iteration oder Beliebig oft Verzweigung ist ein Ausdruck y vgl Abb 3 14 mit einem beliebigen Teilausdruck y der als Rumpf der Iteration bezeichnet wird Abbildung 3 14 Parallele Iteration y Um den Graphen in Abb 3 14 vollst ndig zu durchlaufen m ssen beliebig viele Auspr gungen des Teilgraphen y unabh ngig voneinander vollst ndig durchlaufen werden d h man erh lt ein vollst n diges Wort des Ausdrucks y indem man beliebig viele vollst ndige Worte von y miteinander ver schr nkt Po y PO Ein partielles Wort erh lt man entspr
35. 2 2 Die zugeh rigen Wait Anfragen f hren zu entsprechenden Zust nds berg ngen im Interaktionsmanager und werden jeweils sofort mit Accept beantwortet da bis zu die sem Zeitpunkt keinerlei Konflikte zwischen den Prozessen auftreten Dasselbe gilt auch f r alle weite ren Funktionsaufrufe des rechten Prozesses Die Anfrage der Funktion wait get val 1 val 2 0 des linken Prozesses wird jedoch zun chst in die Warteliste des Managers eingetragen da sich die Gabel 2 durch den vorangegangenen Aufruf der Funktion get 2 2 des rechten Prozesses momentan im Besitz des Philosophen 2 befin det und der obere Graph in Abb 5 26 daher die Ausf hrung von get 1 2 verbietet Erst nach Aus f hrung der Funktion wait put val 2 val 2 1 kehrt dieser Graph in seinen Ausgangs zustand zur ck in dem er die Ausf hrung von get 1 2 wieder erlaubt Daher erh lt der linke Pro ze nun eine entsprechende Accept Antwort in deren Folge er die nachfolgenden Funktionen unge st rt durchlaufen kann 5 3 3 Anmerkungen Mit den soeben vorgestellten Spracherweiterungen stellt die Sprache CH sicherlich noch keine voll st ndige parallele Programmiersprache dar da mit Hilfe von Interaktionsausdr cken lediglich einer von mindestens zwei wesentlichen Aspekten paralleler Programme n mlich die Synchronisation ne benl ufiger Prozesse abgedeckt wird F r den anderen wichtigen Aspekt die Kommunikation von Prozessen m ten ebenfall
36. 2 64 2 7 2 1 8 arn 8 Patient Untersuchung N ae oe 4 u p D u p p u Abbildung 5 34 Begrenzung von Warteschlangen in Untersuchungsstellen vgl Abb 2 68 2 7 3 5 4 4 Schritt 3 Definition von Workflows Im Anschlu an die Definition von Aktivit ten und allgemeinen Integrit tsbedingungen k nnen nun konkrete Workflows definiert werden Die Abbildungen 5 35 und 5 36 zeigen exemplarisch die bereits in 1 1 5 vorgestellten Workflows zur Durchf hrung einer sonographischen bzw endoskopischen Un tersuchung einschlie lich aller hierf r erforderlichen Vor und Nachbereitungen Da die allgemeine Integrit tsbedingung f r Patienten Abb 5 32 den wechselseitigen Ausschlu der Aktivit ten Patient vorbereiten und Patient aufkl ren sicherstellt k nnen diese Schritte im Endo skopie Workflow einfach parallel angeordnet werden obwohl sie wie bereits erw hnt nicht gleich zeitig ausgef hrt werden d rfen Ohne diese Bedingung m te man in der Definition des Workflows eine bestimmte Reihenfolge f r diese Schritte vorschreiben da sich eine beliebige Reihenfolge von Schritten mit den blichen imperativen Kontrollkonstrukten nicht formulieren l t vgl auch 1 3 3 2 Da die Modellierung des Datenflusses von verschiedenen Workflow Management Systemen sehr unterschiedlich gehandhabt wird und Details an dieser Stelle nicht relevant sind wird im folgenden nur vorausgesetzt da
37. 90 Kapitel 3 Interaktionsausdriicke Anmerkung Die Beispiele zeigen wie durch die Anwendung der Quantordefinitionen gem Tab 3 25 die Parameter p und u der Aktionen abrufen und untersuchen sukzessive eliminiert werden Am Ende verbleiben nur konkrete Aktionen f r die die Menge der partiellen und vollst ndigen Worte auf nat rliche Art und Weise definiert ist vgl 3 3 1 1 Die eher ungew hnlichen Definitio nen a und a f r a T kommen nur dann zur Anwendung wenn ein Parameter global ungebunden d h nicht durch einen umgebenden Quantor gebunden ist Derartige Ausdriicke kommen in praktischen Anwendungen jedoch nicht vor 3 3 4 Zusammenfassung Da die Definitionen der drei charakteristischen Mengen x Y x und a x eines Interaktionsaus drucks x im nachfolgenden Abschnitt 3 4 h ufig ben tigt werden sind sie in Tab 3 28 nochmals f r s mtliche Kategorien von Ausdr cken zusammengefa t x x Y x a x a Ka nz 0 a yk a oy Diy 0 Py ay y z By amp z PO U Ey Pz a y U a z ey P y PD y Py ay yoz By Pz YO Vz ay U az y D y Y y ay yoz amp y U z YO U Yz aly U az yez amp y a amp z PO a Vz ay U a z yoz PO E rO NA z OR PO 8 r O NA P Ky z ay U alz O 4 20 Uy Ur y Pop Ua Oy 9 87 by Q Yo e ebp U ayy oe Qb Nr U aly Tabelle
38. Aktivit t A 2 Wait A beenden Interaktions 3 Accept A Arbeitslisten Me Ausf hrungs Manager Programm rae a oes i en eae Einheit 6 Exec A g 5 Aktivit t A aS beendet 7 Commit A bb S 5 Ba amp 5l Ele lt 5 Eule ne Schritt Programme Abbildung 5 43 Beenden einer Aktivit t Auch hier sind jedoch gewisse Abweichungen vom Normalfall zu ber cksichtigen Trifft in Schritt 3 anstelle der Accept eine Unknown Nachricht ein so entfallen die Schritte 6 und 7 Aufgrund ungew hnlich formulierter Interaktionsgraphen vgl Fu note K nnte es passieren da die Aktion A wider Erwarten unzul ssig ist und die Accept Nachricht daher nicht sofort eintrifft In diesem Fall verz gern sich die Schritte 4 bis 7 d h die Aktivit t bleibt aus Sicht des WfMSs aktiv obwohl das zugeh rige Schrittprogramm bereits beendet ist Ebenso wie beim Starten einer Aktivit t kann es aufgrund unerwarteter Verz gerungen vorkom men da in Schritt 7 keine Commit sondern eine Abort Nachricht des Interaktionsmanagers ein trifft In diesem Fall sollte das Arbeitslistenprogramm die Schritte 2 bis 7 mit Ausnahme von Schritt 4 und 5 so lange wiederholen bis in Schritt 7 eine Commit Nachricht eintrifft 5 5 2 4 Verallgemeinerung auf mehrere Interaktionsmanager und Ausf hrungseinheiten Die in den vorangegangenen Abschnitten beschriebenen Schrittfolgen zur Ak
39. Georgakopoulos95 Jablon ski97 Typische Workflows sind z B e die Bearbeitung eines Schadensfalls in einer Versicherung Georgakopoulos95 e die Vergabe eines Kredits in einer Bank Alonso95 e die Vorbereitung Durchf hrung und Abrechnung einer Dienstreise Vogel92 Jablonski95ab e die Untersuchung eines Patienten in einem Krankenhaus einschlie lich aller hierf r erforderlichen Vor und Nachbereitungen Dadam95 Kuhn95ab Konyen96b Haimowitz96 Reichert97a vgl auch Abb 1 1 und 1 2 1 1 2 Workflow Management Systeme Ein Workflow Management System WfMS ist ein Software System dessen zentrale Aufgabe darin besteht f r die korrekte Ausf hrung von Workflows zu sorgen Jablonski97 Zu diesem Zweck wird f r jeden Bearbeiter eine Arbeitsliste verwaltet in die alle Arbeitsschritte eingetragen werden die von diesem Bearbeiter auszuf hren sind Sobald ein Arbeitsschritt beendet ist sorgt das WfMS bzw des sen zentrale Ausf hrungseinheit vgl 1 1 6 daf r da der Workflow zum Bearbeiter des n chsten Schritts weitertransportiert wird und in dessen Arbeitsliste erscheint Auf diese Weise werden zum einen die einzelnen Bearbeiter entlastet weil sie sich nicht mehr um die korrekte und m glichst schnelle Weiterleitung von Akten o k mmern m ssen zum anderen bietet das WfMS autorisierten Benutzern die M glichkeit jederzeit den momentanen Bearbeitungsstand eines Arbeitsablaufs einzu sehen was z B zur Beant
40. Proze der Wert 0 und im urspr nglichen Vater Proze ein positiver Wert n mlich die Proze identifikationsnummer des Kindprozesses zu r ckgeliefert wird Sollte ork aufgrund mangelnder Betriebssystem Ressourcen fehlschlagen wird im Vaterproze der Wert 1 zu r ckgeliefert und kein Kindproze erzeugt Rochkind88 212 5 3 2 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Lebenszyklus des Philosophen p der mit den Gabeln 1 und r i t process phil int p int 1 int r loop Endlosschleife think p Nachdenken enter p Speisesaal betreten get p 1 get p r Gabeln aufnehmen eat p 1 r Essen put p 1 put p xr Gabeln weglegen leave p Speisesaal verlassen Abbildung 5 27 Lebenszyklus eines Philosophen als Proze funktion Lebenszyklus des Philosophen p der mit den Gabeln 1 und r i t proc phil_org int p int 1 int r loop Vom Pr compiler erzeugte Funktion proc phil int p int Ly int r switch fork case 1 ork schlug fehl hes ler Geeignete Fehlerbehandlung return case 0 Neuer Proze phil_org p l r Proze funktion ausf hren exit 0 und Proze beenden default Urspr nglicher Proze return Zum Aufrufer zur ckkehren Abbildung 5 28 Transformation einer Proze funktion dererseits einen neuen Proze der den Rumpf der Proze funktion ausf hrt und anschlie e
41. Yis lt Ym fs so gilt P e y1 Ym Ply O O m 1 U U By 01 e s Yn y a Yi sany Ym P 2 und analog e z 0 02 K y Daher ergibt sich die Menge der vollst ndigen Worte des Ausdrucks y z wie folgt Py 0 2 P y oO A z 0 O Z aly Ym y elz 0 02 N Plz aly 0 O Ym Py e z O Zn N DL P e y1 O O Ym y K O A Pz z und vollkommen analog erh lt man die Menge der partiellen Worte YO o z YO Ky y A PR 8 K z Anmerkungen Die soeben entwickelten Formeln k nnen auch wie folgt interpretiert werden Ein Wort we y y entsteht durch Verschr nken eines Wortes u y mit einem Wort v e k y d h indem man in ein Wort u y an beliebigen Stellen Aktionen a x y einf gt Ebenso erh lt man ein Wort w z z indem man in ein Wort v z an beliebigen Stellen Aktionen a z einf gt Anschaulich entspricht dies der Tatsache da der Ausdruck y bzw z Ak tionen ber die er keine Aussage macht jederzeit zul t vgl 2 3 2 2 Dies bedeutet umgekehrt da man ein Wort u e y erh lt indem man aus einem Wort w y y alle Aktionen a x y entfernt Entsprechend erh lt man ein Wort v z wenn man aus einem Wort w e P z z alle Aktionen a e x z entfernt Somit enth lt y o z genau die Worte w bei denen m
42. a y B 6 2 f r w b mit b a z C Betrachtet man wieder zwei Zust nde s4 s Ox die beide die Aktion a akzeptieren so k nnen folgende F lle unterschieden werden 1 s und s sind beide von der Gestalt A In diesem Fall gilt offensichtlich s sp 2 s und s sind beide von der Gestalt B In diesem Fall folgt aus der Injektivit t von y unmittelbar die Gleichheit von s und sp Entsprechendes gilt wenn s und s beide von der Gestalt C sind 3 s ist von der Gestalt A und s von der Gestalt B oder umgekehrt Da die Aktion a von s y akzeptiert wird mu sie zum Alphabet von y geh ren Da die Al phabete von y und z disjunkt sind wird sie folglich vom Teilzustand o z des Zustands s nicht akzeptiert und mu daher vom Teilzustand o y akzeptiert werden Aufgrund der Injektivit t von y m te daher o y G y f r ein Wort w gelten was im Widerspruch zur initialen Fokussie rung von y steht Daher kann dieser Fall nicht auftreten Entsprechendes gilt wenn s von der Gestalt C ist 4 s ist von der Gestalt B und s von der Gestalt C oder umgekehrt Dieser Fall kann aufgrund der Voraussetzung a y N z nicht auftreten Zusammengefa t folgt hieraus die Injektivit t des Ausdrucks x B 4 4 2 Initiale Fokussierung Die initiale Fokussierung von x folgt unmittelbar aus der obigen Formel f r 6 x B 4 4 3 Terminale Fokussierung Wenn die Teilausdr cke y und z beide term
43. berlegungen f r sie in gleicher Weise F r eine sinnvolle Spezifikation von Workflow Geflech ten werden i d R sowohl Workflow Beschreibungssprachen zur pr skriptiven Modellierung der einzelnen Workflows als auch Interaktionsausdr cke zur deskriptiven Beschreibung von Inter Workflow Abh ngigkeiten ben tigt und es w re unsinnig einen der Formalismen gegen den ande ren auszuspielen oder krampfhaft zu versuchen beide Aspekte von Workflow Geflechten mit einem Formalismus zu spezifizieren 6 6 2 Unterst tzung von Inter Workflow Abh ngigkeiten 6 6 2 1 Stand der Wissenschaft und Technik Obwohl das Problem der Inter Workflow Abh ngigkeiten in vielen Anwendungen von Workflow Ma nagement nicht nur im medizinischen Bereich von praktischer Bedeutung ist wird es in der Work flow community nach wie vor stiefm tterlich behandelt Beispielsweise findet man weder in ent sprechenden Themenheften von Zeitschriften DEB93 DEB95 DPDB95 DSEJ96 IFE97 JIIS98 noch in B chern die den Anspruch erheben den State of the art widerzuspiegeln Vossen96 Ja blonski97 Beitr ge die sich wirklich mit diesem Thema auseinandersetzen Auch in Konferenzb n den und Workshop Proceedings in denen das Thema Workflow Management an sich immer mehr an Bedeutung gewinnt sucht man i d R vergeblich nach einschl gigen Artikeln Ebenso betrachten heutige Workflow Management Systeme egal ob kommerzielle Produkte oder Fors
44. da Inter Workflow Abh ngigkeiten wie bereits mehr fach erw hnt bei der Konzeption von Workflow Management Systemen bisher berhaupt nicht be r cksichtigt wurden Nichtsdestotrotz sollten Interaktionsgraphen fr her oder sp ter tats chlich in ein fortschrittliches WfMS integriert werden da nur so die Voraussetzungen f r einen praktischen Einsatz im gr eren Stil geschaffen werden k nnen Da im Rahmen des ADEPT Projekts an der Universit t Ulm Da dam95 Dadam97 Dadam98 ohnehin ein kompletter Prototyp eines fortschrittlichen WfMSs imple mentiert wurde der im Rahmen laufender Forschungsarbeiten kontinuierlich weiterentwickelt wird bietet es sich an Interaktionsausdr cke bzw graphen konkret in dieses System zu integrieren Hier bei k nnte auch die zuvor erw hnte Interaktionsgraph Entwicklungsumgebung in die ADEPT Build time Komponente integriert werden damit Inter Workflow Abh ngigkeiten auch rein u erlich nicht mehr l nger ein Anh ngsel oder einen Fremdk rper darstellen sondern ebenso zu der Reihe work flowrelevanter Aspekte geh ren wie die Modellierung des Kontroll und Datenflusses einzelner Work 278 7 2 3 Kapitel 7 Zusammenfassung und Ausblick flows oder die Beschreibung organisatorischer Strukturen Es ist die Hoffnung des Verfassers dieser Arbeit hierf r die notwendigen Grundlagen geschaffen zu haben Literaturverzeichnis Agrawal92 D Agrawal A El Abbadi Transaction Management in Datab
45. daher einen Verzweigungsgrad von 2 2 Aufgrund der Optimierungsfunktion p tritt diese prinzipiell m gliche Verdopplung des Verzwei gungsgrads bei einem optimierten Zustands bergang 7 s aber nur dann wirklich ein wenn jeder Teilzustand bzw r der in einer Alternative r A vorkommt die Aktion a akzeptiert d h ei nen g ltigen Folgezustand l bzw r liefert Dies ist beispielsweise f r den Ausdruck x y y mit y a p und ein Wort w a o a mit paarweise verschiedenen Werten p 0 Q der Fall 2 Wenn die Alphabete der Teilausdr cke y und z jedoch disjunkt sind wird eine Aktion a immer nur von einem Teilzustand einer Alternative r A akzeptiert Dies hat zur Folge da die Kardina lit t der Menge A konstant den Wert 1 und der Verzweigungsgrads des Ausdrucks somit konstant den Wert 2 beh lt Wenn die Teilausdriicke y und z beide quasi regul r sind gibt es maximal 77 y 7 z verschiedene Alternativen r d h auch in diesem Fall bleibt die Kardinalit t der Menge A und somit der Ver zweigungsgrad der Zust nde durch eine Konstante beschr nkt Folgerungen Die zweite Behauptung des Satzes besagt da die parallele Komposition obwohl potentiell b sar tig in vielen praktisch relevanten F llen harmlos ist Insbesondere folgt zusammen mit den Aussa gen ber Boolesche und sequentielle Operatoren da nicht nur regul re sondern auch quasi regul re Ausdr ck
46. damit jede Gruppe die den Rumpf einer solchen Verzweigung durchl uft jeweils ei ne beliebige Belegung des Parameters u w hlen kann die typischerweise verschieden von den Bele gungen der brigen Gruppen ist H tte man die Verschachtelung der beiden Verzweigungsarten je weils vertauscht vgl Abb 2 63 so m te jeweils eine gesamte Beliebig oft Verzweigung mit einer N Patient es C Eag ta u a u arn a Faten ER h C aufkl ren ey h p u pi u p Patient s Untersuchung abrufen R AN durchf hren a p Uy o 2 p Up 2 Abbildung 2 63 Fehlerhafte Verwendung von F r ein Verzweigungen 2 7 Interagierende medizinische Untersuchungsworkflows 2 7 2 55 einzigen Belegung des Parameters u durchlaufen werden d h man k nnte den Patienten p zwar be liebig oft gleichzeitig f r dieselbe Untersuchung u vorbereiten oder aufkl ren was nat rlich nicht sehr sinnvoll ist aber nicht wie eigentlich beabsichtigt mehrere Vorbereitungsma nahmen bzw Aufkl rungsgespr che f r verschiedene Untersuchungen gleichzeitig durchf hren Ebenso ist darauf zu achten da sich die Sequenz Patient abrufen Untersuchung durchf hren im Wirkungsbereich engl scope einer einzigen F r ein Verzweigung befindet damit sichergestellt ist da beide Aktivit ten mit derselben Belegung des Parameters u durchlaufen werden H tte man jede dieser Aktivit ten mit
47. die im Aktivit tenkatalog f r einen Schritt spezifizierten Parameter bei der 218 5 4 5 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Termin vereinbaren Untersuchung Patient Untersuchung Befund Befund anordnen abrufen durchf hren erstellen lesen Variablen Patient Patient p vorbereiten Untersuchung u sono Abbildung 5 35 Sonographische Untersuchung Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen ung Patient anordnen Patient Untersuchung aufkl ren abrufen durchf hren Langbefund Langbefund erstellen lesen Variablen Termin Patient p vereinbaren Untersuchung u endo Abbildung 5 36 Endoskopische Untersuchung Ausfiihrung dieses Schritts tiber eine geeignete Schnittstelle zugreifbar sind Als mentales Modell wird hierf r angenommen da die beiden Workflows jeweils globale Variablen p und u besitzen die beim Start des Workflows initialisiert und dann an jeden Workflowschritt als Parameter bergeben werden Der Wert von u ist hierbei je nach Typ des Workflows eine der Konstanten sono oder endo w hrend der Parameter p in geeigneter Weise einen Patienten identifiziert also z B eine Patienten Identifikationsnummer enth lt vgl auch 2 7 1 2 5 4 5 Schritt 4 Spezifikation spezieller Integrit tsbedingungen Wie bereits erw hnt ben tigt man neben den in Schritt 2 sp
48. dr cke unter anderem zur Spezifikation von Inter Workflow Abhdngigkeiten eingesetzt werden k n nen 5 4 und wie die spezifizierten Bedingungen mit Hilfe eines oder mehrerer Interaktionsmana ger 5 2 in eine Workflow Ausf hrungsumgebung integriert werden k nnen 5 5 Um die Erstel lung von Interaktionsgraphen und ihre Transformation in quivalente Interaktionsausdr cke zu er leichtern wurde au erdem ein syntaxgesteuerter graphischer Editor entwickelt Anhang C Im einzelnen konnten die im folgenden skizzierten Resultate erzielt werden 7 1 2 Entwicklung von Interaktionsgraphen Kapitel 2 Ausgehend von regul ren Ausdr cken als Basisformalismus konnte durch die Hinzunahme einiger weniger zus tzlicher Operatoren und Konzepte ein Formalismus zur Spezifikation von Synchronisa tionsbedingungen entwickelt werden der auf der einen Seite Konzeptionell einfach und bersichtlich ist und auf der anderen Seite eine gro e Flexibilit t und Ausdrucksm chtigkeit besitzt Dementspre chend kann er erfolgreich zur L sung einer gro en Palette unterschiedlichster Synchronisationspro bleme eingesetzt werden Durch die anschauliche graphische Notation einschlie lich eines zugeh ri gen Editors sowie durch den Einsatz von Abstraktionsmechanismen lassen sich auch komplizierte Ausdr cke anwenderfreundlich darstellen 7 1 3 Formale Semantik und Eigenschaften Kapitel 3 Durch eine geeignete Verallgemeinerung des klassischen spra
49. ein Kunde hat drei 10 Pfennig M nzen in den Kopierer eingeworfen 2 Im mittleren Zweig der Kopplung betritt man den Rumpf der Wiederholung biegt am nachfolgen den Entweder oder Verzweigungsknoten zum Beispiel nach unten ab und durchl uft die Aktion ffnen A4 Auch dies ist unabh ngig von den brigen Zweigen der Kopplung m glich In der Realit t hat jetzt z B ein Angestellter des Kopiergesch fts das A4 Papierfach ge ffnet um Papier nachzuf llen 3 Da die Aktion Kopie A4 im oberen und mittleren Zweig der Kopplung auftritt in letzterem aber momentan nicht durchlaufen werden kann weil sich der L ufer dieses Zweigs gerade zwischen den Aktionen ffnen A4 und Schlie en A4 befindet darf sie auch im oberen Zweig nicht passiert werden d h momentan kann keine A4 Kopie erstellt werden Ein gleichzeitiges Durchlaufen der Aktion Kopie A3 im oberen und unteren Zweig der Kopplung ist jedoch m glich weil die oben erw hnte Gruppe G diese Aktion passieren kann und der L ufer des unteren Kopplungszweigs den Rumpf seiner Wiederholung betreten am Entweder oder Ver zweigungsknoten nach oben abbiegen und somit ebenfalls die Aktion Kopie A3 durchlaufen Kann In der realen Welt wurde jetzt einmal die Aktion Kopie A3 ausgef hrt d h der Kunde hat eine A3 Kopie erstellt 4 Im mittleren Zweig der Kopplung kann jetzt z B unabh ngig von den brigen Zweigen die Aktion Schlie en A4 durchlaufen werden Anschlie end erreicht ma
50. ein Zustand einer sequentiellen Kompositionx y z ist ein 4 Tupel s z l R mit einem Zustand des linken Teilausdrucks y und einer Menge R von Zust nden des rechten Teilausdrucks z Neben diesen Teilzust nden enth lt ein sequentieller Kompo sitions Zustand den rechten Teilausdruck z des Ausdrucks x der f r die Definition des Zustands ber gangs ben tigt wird Ein solcher Zustand s ist genau dann g ltig wenn er mindestens einen g ltigen Teilzustand besitzt Er ist genau dann ein Endzustand wenn die Menge R mindestens einen Endzustand enth lt v s y v we y r As DA Ar 138 4 5 4 Kapitel 4 Implementierung von Interaktionsausdr cken Die Zustands bergangsfunktion r s wird rekursiv auf die Teilzust nde und r R angewandt Au Berdem wird die resultierende Menge R immer dann um eine neue Auspr gung des initialen Zu stands o z des rechten Teilausdrucks z erweitert wenn der Zustand r l des linken Teilaus drucks y ein Endzustand ist d h wenn die bis jetzt durchlaufene Aktionsfolge ein vollst ndiges Wort von y darstellt t s 2 0 R mit l 7 0 und R z rn reR u o z Al Is Ein sequentieller Kompositions Zustand kann optimiert werden indem zun chst ung ltige Teilzust n der e R eliminiert werden p s z l R mit R reR y r Anschlie end kann der hieraus resultierende Zustand s u U durch einen einzelnen Teilzustand r R ersetzt werden ps r falls
51. erweitern zu m ssen F r eine konkrete Anwen dung m te jedoch unter anderem gekl rt werden wie Pseudoaktionen syntaktisch von normalen Aktionen unterschieden werden k nnen wie die erforderlichen Parameter wie z B Uhrzeiten Warte zeiten o konkret bergeben werden und wie entsprechende Agenten die f r die automatische Aus f hrung der Pseudoaktionen verantwortlich sind in eine Gesamtsystemarchitektur integriert werden k nnen 276 7 2 2 Kapitel 7 Zusammenfassung und Ausblick 7 2 2 Theoretische Fragestellungen 7 2 2 1 Transformation und Optimierung von Ausdr cken Die Liste der formalen Eigenschaften oder Transformationsregeln f r Interaktionsausdr cke 3 4 l t sich sicherlich um weitere n tzliche Regeln erweitern die wie in Abschnitt 4 7 3 3 bereits an gedeutet dazu verwendet werden k nnen einen gegebenen Ausdruck x automatisch in einen qui valenten aber effizienter implementierbaren Ausdruck x zu transformieren Ebenso wie bei der An frageoptimierung in Datenbanksystemen Selinger79 Jarke84 setzt dies jedoch eine m glichst ge naue Kostensch tzung voraus die vermutlich nur gelingen kann wenn man die grobe dreistufige Klassifizierung von Ausdr cken in harmlose gutartige und b sartige Ausdr cke 4 7 1 3 durch eine feinere Bewertungsskala ersetzt in der beispielsweise auch der Grad einer polynomiellen Komplexit t ber cksichtigt wird 7 2 2 2 Weitere Komplexit tsaussage
52. f r n IN gelten soll Mit Hilfe der Summenschreibweise M e l t sich beispielsweise eine Multi i l menge M beschreiben die das Element e unendlich oft enth lt Das Pr dikat e e M sei genau dann wahr wenn das Element e in der Multimenge M mit positiver Kardinalit t vorkommt d h wenn M e gt 0 gilt Die Teilmengenbeziehung M lt M sei erf llt wenn jedes Element e M in der Multimenge M mit mindestens derselben Kardinalit t wie in M enthalten ist d h wenn f r die Funktionen M und M die Beziehung M lt M gilt Zwei Multimengen M und M sind gleich wenn sie dieselben Elemente jeweils mit derselben Kar dinalit t enthalten d h wenn M und M als Funktionen gleich sind Da man auch eine gew hnliche Menge als Multimenge interpretieren kann die jedes ihrer Elemente genau einmal enth lt ist auf die se Weise auch die Gleichheit zwischen einer Multimenge M und einer gew hnlichen Menge M defi niert Definitionen Ein paralleler Quantorzustand d h ein Zustand eines parallelen Quantorausdrucks x y ist ein p 4 Tupel s y p A mit einer Menge A von Multimengen die als Alternativen des Zustands s bezeichnet werden Jede Alternative T A besteht aus erweiterten Zust nden t mit einem Wert QU p vgl 4 5 6 4 und einem Zustand 7 des zugeh rigen Zweigs Yp bzw y5 y Die Ge samtkardinalit t einer Alternative ist unendlich die Anzahl der verschiedenen Elemente
53. g x ee Xn falls P x ER Xn Riss aX falls P x X ne falls Plan n x das Xn sone bei der noch ein Else Zweig h x Pane Xn hinzugef gt wurde der gew hlt werden soll wenn keines der Pr dikate P erf llt ist In derselben Art und Weise kann man sich vorstellen da alle st ckweisen Definitionen der Funk tion test in den Abbildungen 4 11 bis 4 13 vom CH Pr Compiler zu einer virtuellen Gesamt funktion bool test Expr x Word w if x cat Atom else if x cat Disj else if x cat Conj else if zusammengef gt werden Allerdings stellt diese Sicht der Dinge nur ein stark vereinfachtes mentales Modell dar Die tats chliche implementierungstechnische Umsetzung die in A 3 2 6 skizziert wird ist eher mit den aus objektorientierten Sprachen bekannten Konzepten late binding oder dynamic di spatching vergleichbar Allerdings basiert der Auswahlmechanismus f r partielle Funktionen nicht nur wie bei den meisten derartigen Sprachen auf dem dynamischen Typ eines einzigen Objekts son dern erlaubt vielmehr beliebige Pr dikate Boolesche Ausdr cke ber allen Argumenten der Funk tion In objektorientierter Terminologie sind partielle Funktionen daher am ehesten mit Multimetho den vergleichbar wie man sie beispielsweise im Common Lisp Object System CLOS vorfindet Winston89 Steele90 Lawless91 deren Auswahlmechanismus zumindest die Typen aller Funk tionsargumen
54. gt Pf Pf rf f 4 6 m C enter Teave C F P P p Abbildung 5 26 Synchronisationsbedingungen 12 Da die zu synchronisierenden Funktionen zeitlich ausgedehnte Aktivit ten A darstellen werden sie in einem Ausdruck implizit durch eine Folge zweier Aktionen Ag und A ersetzt vgl 5 3 2 1 5 3 Synchronisation paralleler Programme 5 3 2 211 2 Zu jedem Zeitpunkt d rfen sich maximal vier der f nf Philosophen gleichzeitig im Speisesaal be finden d h die Sequenz enter p leave p durchlaufen weil andernfalls die Gefahr einer Verklemmung beim Zugriff auf die Gabeln besteht zweiter Ausdruck bzw Graph Man beachte in diesem Zusammenhang da die Konkrete Anzahl von Philosophen bzw Gabeln ledig lich in den zweiten Ausdruck eingeht der quasi einen T rsteher beschreibt der maximal vier Philo sophen gleichzeitig in den Speisesaal einl t Der erste Ausdruck hingegen der die korrekte Verwen dung der Gabeln sicherstellt h ngt weder von einer bestimmten Philosophenzahl noch von der kon kreten Zuordnung von Gabeln zu Philosophen ab Diese wird erst sp ter bei der Formulierung von Prozessen 5 3 2 3 festgelegt Der CH Pr compiler verwandelt die mit expr vereinbarten Interaktionsausdr cke in Zeichenketten Konstanten die w hrend der Initialisierungsphase des Programms d h innerhalb eines begin Blocks vgl A 2 2 mit Hilfe einer Funk
55. hlt werden Ne ben den Namen der verf gbaren Elemente enth lt eine solche Palette die beispielsweise von ei nem Systemverwalter erstellt werden kann auch die Information wieviele Parameter eine Ak tion Aktivit t oder Abk rzung besitzt und wieviele Zweige eine Auspr gung einer Schablone min destens oder h chstens enthalten darf Gegen ber gebr uchlichen Workflow Editoren mit denen Aktivit ten w hrend der Erstellung eines Workflows en passant definiert und nach Belieben be nannt werden k nnen besitzt dieser Ansatz den Vorteil da Aktivit ten in allen Graphen einheitli che Bezeichnungen besitzen und die Verwendung fehlerhafter Namen a priori ausgeschlossen ist vgl auch 5 4 6 Ebenso ist sichergestellt da alle Aktivit ten eine korrekte Anzahl von Parame tern besitzen Abgesehen von den bereits genannten Vorteilen tragen diese Designentscheidungen auch wesentlich dazu bei da die Benutzerschnittstelle des Editors einfach zu bedienen und auch relativ leicht zu im plementieren ist Da graphische Elemente beispielsweise nicht frei plaziert werden d rfen entf llt die Notwendigkeit entsprechender Bedienelemente was sowohl die Handhabung als auch die Implemen tierung des Programms vereinfacht C 2 Benutzerschnittstelle Im folgenden sollen die Gestaltung der graphischen Oberfl che sowie die wesentlichen Bedienprinzi pien des Editors kurz erl utert werden indem der Beispielgraph in Abb C 1 schrittweise erstel
56. hrende Lie be Ermutigung Unterst tzung und Entlastung w re diese Arbeit wohl nie fertig geworden Der gr te Dank geb hrt jedoch meinem himmlischen Vater der mich erzogen hat wie ein Mann seinen Sohn erzieht 5 Mose 8 5 der ein Schild um mich her war Psalm 3 4 wenn Zweifel mich bedrohten und durch dessen Gnade ich bin was ich bin 1 Korinther 15 10 SOLI DEO GLORIA G nzburg im Mai 2000 Christian Heinlein Kurzgliederung 1 Motivation Aufgabenstellung und Uberblick 1 1 1 Workflow Management 1 1 2 Inter Workflow Abhangigkeiten 4 1 3 L sungsversuche 5 1 4 Aufgabenstellung und Gliederung der Arbeit 11 2 Interaktionsgraphen 15 2 1 Einleitung 15 2 2 Grundlegende Operatoren Beispiel M nzautomaten 15 2 3 Weiterf hrende Operatoren Beispiel M nzkopierer 27 2 4 Zielgerichtetes Durchlaufen von Graphen 41 2 5 Sackgassen und endlose Wege 48 2 6 Aktionen und Aktivit ten 50 2 7 Interagierende medizinische Untersuchungsworkflows 53 2 8 Zusammenfassung 60 3 Interaktionsausdr cke 65 3 1 Einleitung 65 3 2 Grundbegriffe und Bezeichnungen 66 3 3 Definition von Interaktionsausdr cken 70 3 4 Eigenschaften von Interaktionsausdr cken 90 3 5 Ausdrucksm chtigkeit von Interaktionsausdr cken 107 4 Implementierung von Interaktionsausdr cken 113 4 1 Einleitung 113 4 2 Syntax von Interaktionsausdr cken 115 4 3 Interne Repr sentation von Ausdr cken 120 4 4 Implementierung der formalen Semantik 126
57. klar umrissene T tigkeit ausgef hrt Ein einzelner Workflow entspricht dann in verschiedener Hinsicht einem mehr oder weniger se quentiellen Programm oder Proze Zur Definition eines Workflows werden i d R dieselben oder hnliche Kontrollkonstrukte wie in imperativen Programmiersprachen verwendet n mlich Sequenz bedingte Verzweigung und ggf verschiedene Arten von Schleifen Die Strukturierung eines gr eren Workflows in berschaubare Bl cke oder Teilworkflows entspricht einer schrittweisen Verfeinerung eines imperativen Programms unter Verwendung von Unterprogrammen d h Prozeduren oder Funk tionen Und schlie lich wird der Begriff Proze sowohl f r die Ausf hrung eines sequentiellen Pro gramms als auch f r die Ausf hrung eines Workflows verwendet Allerdings ist der Begriff im Kon text von Workflow Management nicht ganz einheitlich definiert Somit entspricht ein Workflow Geflecht d h eine Menge parallel auszuf hrender und ggf zu syn chronisierender Workflows einem parallelen oder verteilten Programm d h einer Menge parallel lau fender Threads oder Betriebssystem Prozesse mit zugeh rigen Synchronisationsbedingungen 5 4 2 Schritt 1 Erstellung eines Aktivit tenkatalogs Aufgrund dieser Analogien ist es naheliegend bei der Definition eines Workflow Geflechts hnlich vorzugehen wie in 5 3 2 bei der Erstellung eines parallelen Programms d h mit der Definition der elementaren Proze oder Workflowschritte zu
58. nil return false part bool final State s if s Success return true Optimierter Zustandstibergang fiir einen atomaren Zustand part State trans State s Action a if s cat Atom if a s action return Success else return nil part State trans State s Action a if s Success s nil return nil Abbildung 4 14 Implementierung atomarer Ausdr cke Disjunktion Nach diesen Vorbereitungen kann die Disjunktion gem Abb 4 15 implementiert werden Analog zu den mathematischen Definitionen rufen sich auch die CH Funktionen init final und trans jeweils rekursiv auf um die Teilausdr cke x left und x right des Ausdrucks x bzw die Teilzust nde s left und s right des Zustands s zu behandeln Der Mechanismus der partiellen Initialer Zustand einer Disjunktion part State init Expr x if x cat Disj return State expr x left init x left right init x right Endzustands Indikator eines disjunktiven Zustands part bool final State s if s cat Disj return final s left final s right Optimierter Zustands bergang f r einen disjunktiven Zustand part State trans State s Action a if s cat Disj State 1 trans s left a State r trans s right a if 1 return r if r return 1 return State expr s expr left 1 right r Abbildung 4 15 Implementierung der Disjunktion 150 4 6 2 Kapitel 4 Im
59. nnen Containertypen wie Listen oder Mengen und die zugeh rigen Operationen unabh ngig von einem bestimmten Elementtyp implementiert und anschlie end typsi cher f r beliebige Elementtypen verwendet werden Es gibt Anweisungen zum Erzeugen und Behandeln von Ausnahmen engl exceptions Damit kann auf unerwartete Fehler w hrend der Programmausf hrung flexibler reagiert werden als es mit den Standardanweisungen return zum Verlassen einer Funktion und exit zum Beenden des ganzen Programms m glich ist Es gibt einen eigenen Typ bool mit den zugeh rigen Konstanten true und false Auf diese Weise k nnen Boolesche Werte anders als in C rein sprachlich von Integer Werten unterschieden werden obwohl die Konstanten true und false nach wie vor kompatibel zu den In tegerwerten 1 bzw ungleich null und 0 sind A 2 2 Spracherweiterungen Dar ber hinaus werden mit Hilfe von Pr prozessoren und Bibliotheksmodulen vgl A 3 die folgen den Spracherweiterungen unterst tzt e Anstelle von undurchsichtigen C bzw C include Anweisungen gibt es ein Modulkonzept im Stil von Modula oder Oberon mit expliziten Import Export Schnittstellen Auf diese Weise kann die Herkunft eines Bezeichners der in einem bestimmten Modul verwendet wird unmittelbar aus der Import Liste dieses Moduls bestimmt werden Im Gegensatz dazu m ssen bei der Verwendung von include Anweisungen u U s mtliche direkt oder indirekt eingebunde nen Dateien durchs
60. r alle P Q Da somit die Mengen 2 27 Psy Hy 0 f r alle Q das leere Wort enthalten gilt f r die Menge x der vollst ndigen Worte von x P x z U Oz U sy US Ms oe OF F0 EQ O 0 Q 7 all 0 1 BO P sy 0 lt P YU 0 P y OM Poy OB Moy Oo Ben FOuy Oy vgl 3 4 8 2 y F r die Menge P x der partiellen Worte von x ergibt sich analog P x Wo y 3 4 11 2 Anmerkung Streng genommen ist der parallele Iterationsoperator somit redundant Aufgrund seiner Analogie zum sequentiellen Iterationsoperator amp sowie der Tatsache da der Ausdruck y die intendierte Se 3 5 Ausdrucksmichtigkeit von Interaktionsausdr cken 3 5 2 107 mantik wesentlich einfacher und klarer zum Ausdruck bringt als der quivalente Ersatzausdruck wy ist der Operator dennoch ein elementarer Bestandteil von Interaktionsausdr cken p F r eine praktische Implementierung kann die Aquivalenz y wy allerdings dazu verwendet P werden einen Ausdruck y unter der Oberfl che durch den Ausdruck qa y zu ersetzen um so P den Aufwand f r eine separate Implementierung des Operators einzusparen vgl 4 6 2 4 3 5 Ausdrucksm chtigkeit von Interaktionsausdr cken Offensichtlich entsprechen die Operatoren f r sequentielle Komposition und Iteration sowie Disjunk tion genau den drei Basisoperatoren regul rer Ausdr cke Hopcroft90 Sch
61. r die t tn T eine Schaltfolge des Netzes darstellt 264 6 5 1 Kapitel 6 Verwandte Arbeiten entweder entsprechend uminterpretieren oder aber eine zus tzliche Synchronisationsstelle einf h ren die sich im Vor und Nachbereich jeder Transition des Netzes befindet vgl Abb 6 14 Q Q O Cy YU Abbildung 6 14 Exakte Transformation einer Sowohl als auch Verzweigung 6 5 1 4 Kopplung Noch etwas unangenehmer wird die Situation wenn man versucht Interaktionsgraphen mit Kopplun gen zu transformieren Um die Regel umzusetzen da Aktionen die mehreren Zweigen der Kopplung gemeinsam sind auch gemeinsam durchlaufen werden m ssen kann man versuchen die betroffenen Aktionen jeweils zu einer einzigen Aktion zu verschmelzen vgl Abb 6 15 Sobald derartige Aktio nen jedoch mehrfach in einem Zweig auftreten ben tigt man entweder weitere Hilfsstellen und transitionen vgl Abb 6 16 da prinzipiell jede Traversierung der Aktion a im oberen Zweig der Kopplung mit jeder Traversierung von a im unteren Zweig synchron erfolgen kann oder man ben tigt insgesamt m n geeignet zu plazierende Auspr gungen der gemeinsamen Aktion a wenn diese im 10Pf Kopie A4 f Kopie A4 Offnen A4 Schlie en A4
62. ratoren 2 Aus a z c a y folgt zun chst a x a y U a z a y sowie K y a x a y d h K y O Daher gilt Py o z Ply K y N D xl c Py 8 0 PO und analog YO o z c YO Daher gilt yo z lt y Die symmetrische Aussage y Ca z y z lt z erh lt man ana log oder durch Ausnutzen der Kommutativit t vgl 3 4 7 3 F r die Beziehung zwischen Konjunktion und Synchronisation gilt grunds tzlich die Inklusion Ply z PO N PR c PO Ky y N PZ Rd PO o z da die Mengen y und z zumindest das leere Wort enthalten Unter der Bedingung a y a z gilt au erdem y z d h in diesem Fall enthalten die Mengen x y und z nur das leere Wort Daraus folgt die Gleichheit von y z und y o 2 Die Aussagen f r ergeben sich vollkommen analog 4 F r a y A a z gilt K y x a y a z und xk z a x a z ay und somit Ply o z Ply K y N PR Kz PO alz N PLZ aly F r ein Wort w y z gibt es daher einerseits eine Zerlegung in Teilworte u e y ca y und v ealz mit weu v und andererseits eine Zerlegung in Teilworte vy O z Ca z und wmealy mit wen um m v Wegen a y O a z mu eine Zerlegung von w in Teilworte u y und v a z mit w e u v jedoch eindeutig sein d h es mu u u u P y und v v vy z und so mit w
63. return false Abbildung 4 19 Implementierung paralleler Quantorausdriicke Teil 1 Initialer Zustand und Endzustands Indikator In der Initialisierungsfunktion init wird zun chst ein Zustand Wert Paar t konstruiert das aus dem initialen Zustand des Quantorrumpfs x body und dem Parameterwert nil besteht der den Pseudowert p vgl 4 5 6 4 repr sentiert Anschlie end wird mit Hilfe der Multimengen Kon struktorfunktion mset eine Alternative T erzeugt die dieses Paar t unendlich oft enth lt und als Element des mehrwertigen Zustandsattributs alts vereinbart In der Funktion final wird zur m glichst effizienten Implementierung des Pr dikats As V A Gt eine Variante der forall Anweisung verwendet deren Idee aus der Programmierspra TeAteT che Python Lutz96 Lutz99 stammt Eine Iterationsanweisung kann einen nachgestellten else Teil besitzen der genau dann ausgef hrt wird wenn die Schleife vollst ndig durchlaufen d h nicht vor zeitig durch break beendet wurde Die Anweisung return true wird daher ausgef hrt sobald die innere forall Schleife einmal vollst ndig durchlaufen wurde was genau dann der Fall ist wenn die Alternative T nur Endzust nde enth lt Wird die Schleife vorzeitig abgebrochen weil einer der Teilzu st nde von T kein Endzustand ist wird der else Teil bersprungen und mit der n chsten Iteration der u eren Schleife fortgefahren 7 Die Konstante 00 zwei kleine o s repr sentie
64. w hrend alle brigen Knoten konstanten Verzweigungsgrad besitzen Somit ist die Gesamtgr e eines Zustands h chstens von der Gr enordnung n Die Formulierung h chstens soll hierbei zum Ausdruck bringen da die tats chlichen Verzwei gungsgrade auch noch stark von der konkret ausgef hrten Aktionsfolge abh ngen Beispielsweise w chst der Verzweigungsgrad der beiden parallelen Iterationen nur durch Ausf hrung einer Startak tion vorbereiten bzw aufkl reng w hrend er durch die Ausf hrung einer entsprechenden Endeak tion sogar wieder schrumpft F r realistische Aktionsfolgen bei denen Start und Endeaktionen von Aktivit ten nicht beliebig weit auseinanderliegen ist der Verzweigungsgrad der parallelen Iterationen daher sogar konstant Auch der Verzweigungsgrad des parallelen Quantorzustands w chst nur dann wirklich linear wenn die ausgef hrten Aktionen immer wieder neue Werte des Parameters p enthalten Wenn eine Aktions folge der L nge n jedoch Aktionen mit O n verschiedenen Werten f r p enth lt so kann sie nur noch O 1 Aktionen pro Wert enthalten In diesem Fall h tten daher alle Teilzust nde des parallelen Quan gt Beachte Bei allen T tigkeiten des Ausdrucks handelt es sich um Aktivit ten d h um Sequenzen einer Start und einer Endeaktion vgl 2 6 2 33 Durch die Ausf hrung einer solchen Aktion geht der terminal fokussierte Disjunktions Quantorausdruck Q in seinen Endzustand T u be
65. wenn man den Graphen auf allen m glichen Wegen durchl uft und jeweils die Folge der passierten Aktionen protokolliert vgl 2 4 1 Obwohl diese anschauliche Interpretation zusammen mit einer gewissen praktischen Erfahrung im Umgang mit dem Formalismus in der Regel gen gt um f r konkrete Problemstellungen ad quate L sungen zu formulieren bleibt aus theoretischer Sicht doch eine gewisse Unsicherheit bez glich der exakten Bedeutung mancher Graphen insbesondere im Kontext unendlicher Graphen wie z B F r alle Verzweigungen oder Graphen mit Sackgassen Dar ber hinaus sind die anschaulich formulierten Traversierungsregeln f r Graphen nur bedingt zur Verifikation formaler Eigenschaften wie z B Kommutativit t Assoziativit t oder Idempotenz be stimmter Operatoren geeignet und schlie lich ben tigt man auch zur Entwicklung einer korrekten Implementierung eines Formalismus einen genormten Ma stab der wie der Duden f r die deut sche Rechtschreibung ma gebend in allen Zweifelsf llen ist Aus diesen Gr nden werden im vorliegenden Kapitel nteraktionsausdr cke als mathematischer Formalismus mit einer exakt definierten Semantik eingef hrt der konzeptionell quivalent zu Interak tionsgraphen ist d h der zu jedem in Kapitel 2 eingef hrten graphischen Operator einen entsprechen den mathematischen Operator anbietet und umgekehrt Formal betrachtet sind Interaktionsgraphen dann nur noch eine alternative Darstellun
66. werden aus n 1 Phasen 1 Anfrage 1 Anfrage Klient 2 Antwort Interaktions 2 Antwort Klient pa gt k z B Station Manager z B Endoskopie I N 4 Best tigung E Ei 4 Best tigung 60 S Sp o9 als an AE Be lt E N 5 lt E Interaktionsgraph ausdruck Patjent orbeheiten O 2 Aktionen H pu Aktionen Patient Patient Patient I Patient Untersuchi Sibel en aufk En h afk are h He En ae p u p u P u p u u P p u p u Patient Unterstichung abrufen durchfiihren Pou piu Abbildung 5 1 Kommunikation zwischen Interaktionsmanager und Klienten Bei den aktionsausfiihrenden Klienten kann es sich z B um Prozesse eines verteilten Programms vgl 5 3 2 die zentrale Ausf hrungseinheit eines oder mehrerer Workflow Management Systeme 5 5 3 oder auch um Arbeitslistenprogramme einzelner Benutzer handeln 5 5 2 Damit ein ein Die Begriffe Interaktions Graph und Interaktions Ausdruck werden im folgenden synonym verwendet da jeder Graph eineindeutig ei nem Ausdruck entspricht Konkret bezieht sich die Abbildung auf das zweiphasige Koordinationsprotokoll vgl 5 2 3 5 2 Interaktionsmanager 5 2 2 185 zelner Interaktionsmanager durch eine gro e Zahl von Klienten nicht berlastet wird ist es u U sinn voll mehrere Manager ein
67. 19 auf Petrinetze abbilden sofern man zur Verein fachung annimmt da IN gilt d h da nur nat rliche Zahlen als Parameterwerte auftreten Bei der Transformation einer F r ein Verzweigung y mu man allerdings ein Netz konstruieren das p zuf llig einen bestimmten Wert f r den Parameter p erzeugt da man am Anfang der Verzweigung noch nicht wei welcher Wert tats chlich beim Durchlaufen des Rumpfs y ben tigt wird 6 5 1 8 Anmerkung Auch f r Pfad und Flu ausdr cke wurden Abbildungen auf Petrinetze vorgenommen und untersucht Lauer75 Araki81b wobei die grunds tzliche Transformationsstrategie jeweils sehr hnlich zu der hier beschriebenen ist Bei der Abbildung von Pfadausdr cken wurde die interessante parallele Ite ration allerdings vollkommen ausgespart w hrend sie bei der Transformation von Flu ausdr cken in keiner anderen Iteration egal ob parallel oder sequentiell enthalten d h verschachtelt sein darf Auf den ersten Blick berraschend ist da diese Transformation ohne Verbotskanten auskommt weil sie a priori nur Schaltfolgen betrachtet an deren Ende alle Stellen au er einer keine Marken enthalten Somit entspricht die erzeugte Petrinetz Sprache zwar der Sprache des Ausdrucks eine operationale Interpretation des Netzes ist jedoch nicht mehr sinnvoll da Transitionen die der parallelen Iteration folgen u U bereits schalten k nnen wenn sich noch Marken im Rumpf der Iteration befinden
68. 2 1 243 e Konjunktive Verkn pfungen sind nur auf u erster Ebene d h durch Aneinanderreihen von Aus dr cken zul ssig e Die implizite Quantifizierung ber alle Objekte eines Typs ist einerseits hnlich wie die sequentiel le Iteration zwingend und kann andererseits weder verschachtelt noch irgendwie modifiziert wer den F r einfache Beispiele wie etwa das Leser Schreiber Problem von oben mag diese Form der Quantifizierung angemessen und ausreichend sein zur L sung komplexerer Probleme erweist sie sich jedoch als zu starr Beispiel Die Summe dieser Einschr nkungen f hrt zwangsl ufig dazu da sich viele interessante Probleme die mit Interaktionsausdr cken auf einfache und nat rliche Art und Weise gel st werden k nnen mit Pfadausdr cken nicht oder nur sehr umst ndlich l sen lassen Als Beispiel betrachte man die von Campbell und Habermann Campbell74 vorgeschlagene L sung des Leser Schreiber Problems mit Schreiberpriorit t wenn sowohl Leser als auch Schreiber auf die Beendigung einer Schreiboperation warten erhalten Schreiber anschlie end Vorfahrt path readattempt end path requestread requestwrite end path openread READ WRITE end mit den Hilfsprozeduren proc readattempt proc requestread proc openread proc requestwrite requestread openread proc read readattempt READ proc write requestwrite WRITE
69. 2 3 Weiterf hrende Operatoren Beispiel M nzkopierer 2 3 1 Normalbetrieb 2 3 1 1 Einfache Version Ein einfacher M nzkopierer funktioniert prinzipiell hnlich wie ein Zigarettenautomat Man wirft ei nen bestimmten Geldbetrag ein z B 10 Pfennig und erh lt daf r eine entsprechende Ware bei spielsweise eine DIN A4 Fotokopie Der Graph in Abb 2 27 beschreibt dieses vereinfachte Verhalten 28 2 3 1 Kapitel 2 Interaktionsgraphen Operator Abschnitt Entweder oder Verzweigung 2 2 1 Sowohl als auch Verzweigung 2 2 2 4 Mehrfach Verzweigung 2 2 3 3 Abkiirzungen 2 2 4 4 Wiederholung 2 2 5 1 Eventuell Verzweigung 2 2 3 2 Mehrfach Ausf hrung 2 2 5 3 Tabelle 2 26 Grundlegende Operatoren von Interaktionsgraphen a 10 Pf Kopie A4 P Abbildung 2 27 M nzkopierer einfache Version 2 3 1 2 Verbesserte Version Abgesehen davon da ein echter Kopierer in der Regel auch gr ere M nzen akzeptiert erlaubt er normalerweise auch da man mehrere M nzen hintereinander einwirft und anschlie end entspre chend oft hintereinander kopiert Aber auch ein Nachwerfen von M nzen bevor das bis jetzt einge worfene Geld vollst ndig verbraucht ist wird gew hnlich unterst tzt Das bedeutet da die Aktionen 10 Pf und Kopie A4 in relativ beliebigen Reihenfolgen ausgef hrt werden d rfen sofern sichergestellt ist da die Anzahl der Kopien die Anzahl der eingeworfenen Groschen
70. 292 I A 2 3 Anhang A Die Programmiersprache CH beim Zugriff auf nicht vorhandene Attribute ein definierter Null bzw Nil Wert zur ckgeliefert wird Durch die M glichkeit eindeutige Konstante Auspr gungen engl instances eines offenen Typs de finieren zu K nnen stellen diese Typen auch erweiterbare Aufz hlungstypen dar Vgl auch 4 3 3 1 4 3 3 2 4 4 2 2 und 4 6 sowie A 3 2 4 Anstelle einer i d R m hsamen und fehlertr chtigen Speicherverwaltung durch den Programmie rer gibt es eine automatische Speicherbereinigung engl garbage collection Durch die Definition einer einzigen Vergleichsprozedur cmp fiir einen benutzerdefinierten d h in der Regel offenen Typ werden automatisch die sechs Vergleichsoperatoren lt lt gt und gt fiir diesen Typ definiert Au erdem ist cmp f r alle eingebauten Typen der Sprache ein schlie lich Sequenzen vordefiniert so da neue Vergleichsvorschriften mit geringem Aufwand auf existierende zur ckgef hrt werden k nnen Vgl auch 4 4 2 3 und 4 8 1 3 sowie A 3 2 5 Anstelle von virtuellen Funktionen bzw quivalenten Formen von late binding in anderen objekt orientierten Programmiersprachen gibt es partielle Funktionen mit deren Hilfe Laufzeitpolymor phismus d h die laufzeitabh ngige Auswahl einer bestimmten Variante einer Funktion sowohl fle xibler als auch unabh ngig von einer Klassenhierarchie realisiert werden kann Hierbei
71. 3 1 1 sind daher auch die transformierten Zust nde 7 5 und z 7 5 quivalent 7u 74 8 7 8 Aufgrund des zweiten Lemmas B 3 1 2 folgt hieraus die Behauptung des Satzes u u lt 4 B 3 2 Transparenz und Korrektheitstheorem B 3 2 1 Satz Die in 4 5 definierte Optimierungsfunktion p ist transparent Daher ist das dort definierte optimierte Zustandsmodell korrekt B 3 2 2 Beweis 1 Offensichtlich ist die zusammengesetzte Funktion p transparent wenn die drei Teilfunktionen p1 p gt und p transparent sind Da die identische Funktion trivialerweise transparent ist gen gt es hierf r zu zeigen da die partiellen Funktionen p i 1 2 3 transparent sind d h da p s s f r alle Zust nde s gilt f r die p s definiert ist 2 Da die Folgezust nde eines ung ltigen Zustands ebenfalls ung ltig sind und ein ung ltiger Zustand kein Endzustand ist vgl 4 5 1 3 ist ein ung ltiger Zustand s offensichtlich quivalent zum Zu stand Daher ist die Funktion p transparent 3 Die Transparenz der Funktionen p und p wird im folgenden exemplarisch f r die sequentielle Komposition gezeigt F r die brigen Ausdruckskategorien f r die diese Funktionen definiert sind verlaufen die Beweise prinzipiell hnlich Beispiel Sequentielle Komposition 1 Sei s z R ein sequentieller Kompositions Zustand und p s z L R mit r R y r der zugeh rige optimierte Zustand Aus der
72. 3 2 y z QR oder Z a a 4 7 3 3 y Gov A Dee pP p y yeQRNINNIF ye QRUUNOIF O a bd 4 7 3 4 Oy y ye VQ 4 7 4 1 PpP P Oy 7 T 4 7 4 1 p Oy y VQNHQ a p b 4 7 4 2 p P n 2 Oy y QRUIN alp P Verwendete Abk rzungen Menge Eigenschaft Abschnitt QR quasi regul r 4 7 2 1 VQ vollst ndig quantifiziert 4722 HQ homogen quantifiziert or IN injektiv IF initial fokussiert 4 7 2 3 TF terminal fokussiert Tabelle 4 27 Komplexitat der einzelnen Operatoren Die Bedingung T besagt da der Operator grunds tzlich harmlos bzw gutartig ist w hrend ein Fragezeichen anzeigt da kein entsprechendes Kriterium bekannt ist bzw in den vorangegangenen Abschnitten vorgestellt wurde Da die operationale Semantik und Implementierung von Multiplikator ausdr cken nicht weiter betrachtet wurde werden die Aussagen f r Multiplikatoren ohne Beweis genannt Ebenso werden die Beispiele f r b sartige Ausdr cke nicht n her erl utert 176 4 7 5 Kapitel 4 Implementierung von Interaktionsausdr cken 4 7 5 3 Beispiele Die folgenden Beispiele zeigen exemplarisch wie sich die Gutartigkeit eines gegebenen Ausdrucks schrittweise mit Hilfe von Tab 4 27 herleiten l t Die in der Tabelle angegebenen Abschnittsnum mern erleichtern im Zweifelsfall das Nachschlagen der entsprechenden S tze Beispiel 1 Der Ausdruck OB lo vorbereiten p w O Q aufkl ren p w O P u u Io
73. 3 Interne Repr sentation von Ausdr cken 4 3 4 125 4 3 3 3 Konstruktorfunktionen Die Funktionen in Abb 4 9 die jeweils ein geeignet initialisiertes Objekt des Typs Expr zur cklie fern implementieren im Prinzip die Tabelle 4 6 Durch den Aufruf der vordefinierten generischen Konstruktorfunktion Expr die wie in C denselben Namen wie der Typ Expr besitzt wird je weils ein Objekt dieses Typs erzeugt und mit den Attributauspr gungen die als Argumente bergeben werden initialisiert So wird in der Funktion atom beispielsweise ein Expr Objekt erzeugt dessen Attribute cat und action mit der Konstanten Atom vom Typ Category bzw dem Objekt a vom Typ Action initialisiert werden Konstruktorfunktion f r atomare Ausdr cke a Expr atom Action a return Expr cat Atom action a Konstruktorfunktion f r bin re Ausdr cke y z Expr bin Category c Expr y Expr z return Expr cat c left y right z Konstruktorfunk Expr iter Expr y return Expr ca ion f r Iterationen y rd Iter body y Konstruktorfunktion f r Quantorausdr cke p y Expr quant Category c Param p Expr y return Expr cat c param p body y Abbildung 4 9 Konstruktorfunktionen f r Ausdr cke 4 3 3 4 Beispiel Der Programmcode in Abb 4 10 zeigt die Verwendung dieser Konstruktorfunktionen um den in Abb 4 7 dargestellten Operat
74. 4 2 A 3 2 4 Offene Typen Offene Typen die u a die in Tab A 3 genannten Operationen unterst tzen werden auf Klassen abge bildet die von einer generischen Klasse Operation Beschreibung type T Deklaration des offenen Typs T attra T gt X Deklaration des Attributs a vom Typ X des offenen Typs T attra T gt X Deklaration eines abgeleiteten berechneten Attributs a inst T tl tn Erzeugung eindeutiger Auspr gungen Aufz hlungswerte tl tn des offenen Typs T T a x Erzeugung eines Objekts vom Typ T und Initialisierung des Attributs a mit dem Wert x vom Typ X o a x Zuweisung des Werts x vom Typ X an das Attribut a des Objekts o vom Typ T ON ap Meera Entfernen des Attributs a aus dem Objekt o vom Typ T o a Wert vom Typ X des Attributs a des Objekts o vom Typ T bzw Defaultwert des Typs X falls o kein Attribut a besitzt 0 Kopie des Objekts o Tabelle A 3 Operationen auf offenen Typen Auswahl 296 A 3 2 Anhang A Die Programmiersprache CH Repr sentation eines Objekts Auspr gung eines offenen Typs class ObjRep Sign sign Signatur des Objekts addr data Zeiger auf Datenbereich des Objekts F abgeleitet sind Die Signatur eines Objekts beschreibt hierbei welche Attribute das Objekt momentan besitzt und an welcher Position engl offset sie im Datenbereich des Objekts gespeichert sind Wird durch eine Anderungsoper
75. 4 5 Operationale Semantik von Interaktionsausdr cken 131 4 6 Implementierung des Zustandsmodells 147 4 7 Komplexit tsbetrachtungen 160 4 8 R ckblick 178 5 Praktischer Einsatz von Interaktionsausdr cken 183 5 1 Einleitung 183 5 2 Interaktionsmanager 184 5 3 Synchronisation paralleler Programme 208 5 4 Definition von Workflow Geflechten 215 5 5 Implementierung von Workflow Geflechten 221 6 Verwandte Arbeiten 239 6 1 Einleitung 239 6 2 Erweiterte regul re Ausdr cke 240 6 3 Proze algebren 253 6 4 Erweiterte Transaktionsmodelle 259 6 5 Petrinetze 261 6 6 Workflow Management Konzepte 269 7 Zusammenfassung und Ausblick 273 7 1 Zusammenfassung der Ergebnisse 273 7 2 Ausblick 274 Literaturverzeichnis 279 A Die Programmiersprache CH 289 A l Motivation 289 A 2 Sprachumfang 290 A 3 Implementierung der Sprache 293 A 4 Anmerkungen 297 B Verifikation des Zustandsmodells 299 B 1 Einleitung 299 B 2 Korrektheit des einfachen Zustandsmodells 299 B 3 Korrektheit des optimierten Zustandsmodells 322 B 4 Injektive und fokussierte Ausdr cke 324 C Ein syntaxgesteuerter Editor f r Interaktionsgraphen 329 C 1 Einleitung 329 C 2 Benutzerschnittstelle 329 C 3 Implementierungsdetails 339 D Wichtige Begriffe und Symbole 341 Inhaltsverzeichnis 1 Motivation Aufgabenstellung und Uberblick 1 1 1 Workflow Management 1 1 1 1 Workflows 1 1 1 2 Workflow Management Systeme 1 1 1 3 Grundprinzip von Workflow Management 1 1 1 4 Modellie
76. 6 Konstruktion von Sequenzen F gt man nun die Aktivit t Patient abrufen in die noch leere F r ein Verzweigung ein so erh lt man den Graphen in Abb C 8 Markiert man anschlie end die Muster Aktivit t Untersuchung durchf hren und plaziert den Mauszeiger an den rechten Rand der Sequenz die die gerade eingef gte Aktivit t Pa tient abrufen umgibt so leuchtet dort die horizontale Verbindungslinie zum rechten Operator rot auf Dadurch wird angezeigt da eine anschlie ende Kopieroperation den markierten Teilgraphen an dieser Stelle als Sequenzelement einf gen wird Abbildung C 9 zeigt das entsprechende Resultat Anmerkung Bewegt man jetzt den Mauszeiger innerhalb der Sequenz hin und her so leuchtet entwe der die horizontale Verbindungslinie zwischen dem linken Operator und der Aktivit t Patient abru fen 1 die Linie zwischen den beiden Aktivit ten 2 oder die Linie zwischen der Aktivit t Untersu chung durchf hren und dem rechten O Operator 3 rot auf sofern sich der Mauszeiger nicht inner halb einer dieser Aktivit ten befindet Dementsprechend w rde eine weitere Kopieroperation ein neu es Sequenzelement vor der Aktivit t Patient abrufen 1 zwischen den beiden Aktivit ten 2 oder nach der Aktivit t Untersuchung durchf hren 3 einf gen 336 C 2 6 Anhang C Ein syntaxgesteuerter Editor f r Interaktionsgraphen Abbildung C 8 Konstruktion einer Sequenz 1 SES ee OD 4 oon O 4 Abbildu
77. 8 Parallele Komposition 139 4 5 4 9 Parallele Iteration 139 Definitionen f r Multiplikatorausdr cke Vorbereitungen f r Quantorausdr cke 4 5 6 1 Konkretisierte Zust nde 139 4 5 6 2 Relevante Parameterwerte 140 4 5 6 3 Substitutionsprinzip 142 4 5 6 4 Erweiterte Zust nde 142 Definitionen f r Quantorausdr cke 4 5 7 1 Disjunktions Quantorausdr cke 143 4 5 7 2 Konjunktions Quantorausdr cke 143 4 5 7 3 Synchronisations Quantorausdr cke 4 5 7 4 Parallele Quantorausdr cke 145 147 137 139 139 143 144 Vorbereitungen 147 4 6 1 1 Zust nde 147 4 6 1 2 Funktionen 147 Implementierung elementarer Ausdr cke 4 6 2 1 Atomare Ausdr cke 148 4 6 2 2 Boolesche Operatoren 148 4 6 2 3 Sequentielle Operatoren 150 4 6 2 4 Parallele Operatoren 152 Vorbereitungen f r Quantorausdr cke 152 4 6 3 1 Konkretisierung von Aktionen Ausdr cken und Zust nden 4 6 3 2 Relevante Parameterwerte 152 4 6 3 3 Erweiterte Zust nde 153 Implementierung von Quantorausdr cken 4 6 4 1 Boolesche Quantorausdr cke 153 4 6 4 2 Parallele Quantorausdr cke 155 Hauptprogramm 159 148 153 160 Vor berlegungen und Definitionen 4 7 1 1 Tiefe von Zustandsb umen 160 160 4 7 1 2 Verzweigungsgrad und Gr e von Zustandsb umen Klassifikation von Ausdr cken 4 7 1 3 Klassifikation von Operatoren 161 4 7 1 4 Zusammenhang zwischen Operatoren und Ausdr cken 4 7 1 5 Zustandszahl 162 Teilklassen von Ausdr cken 162 4 7 2 1 Quasi regul re A
78. A System Specification Langauge Based on Paths and Processes Acta Informatica 12 1979 109 158 Lawless91 J A Lawless M M Miller Understanding CLOS The Common Lisp Object System Digital Press 1991 Lutz96 M Lutz Programming Python O Reilly Cambridge 1996 Lutz99 M Lutz D Ascher Learning Python O Reilly Cambridge 1999 MacGregor91 R MacGregor The Evolving Technology of Classification Based Knowledge Rep resentation Systems In J F Sowa ed Principles of Semantic Networks Explorations in the Representation of Knowledge Morgan Kaufmann Publishers San Mateo CA 1991 385 400 May83 D May Occam ACM SIGPLAN Notices 18 4 April 1983 69 79 Milner80 R Milner A Calculus of Communicating Systems Lecture Notes in Computer Sci ence 92 Springer Verlag Berlin 1980 Milner89 R Milner Communication and Concurrency Prentice Hall New York 1989 Mohan94 C Mohan D Dievendorff Recent Work on Distributed Commit Protocols and Recover able Messaging and Queuing IEEE Data Engineering Bulletin 17 1 March 1994 22 28 Moller99 F Moller P Stevens The Edinburgh Concurrency Workbench User Manual Version 7 1 Laboratory for Foundations of Computer Science The University of Edinburgh July 1999 Moss81 J E B Moss Nested Transactions An Approach to Reliable Distributed Computing Tech nical Report MIT LCS TR 260 Laboratory for Computer Science Ma
79. Aktionen entspricht die man er h lt wenn man den betrachteten Graphen vollst ndig durchl uft Daher werden diese Worte auch als vollst ndige Worte des korrespondierenden Ausdrucks bezeichnet Durchl uft man einen Graphen nur teilweise d h bricht man seine Traversierung vorzeitig ab so erh lt man ein partielles Wort des zugeh rigen Ausdrucks Auf den ersten Blick K nnte man vermu ten da jedes partielle Wort eines Ausdrucks bzw Graphen ein Pr fix eines vollst ndigen Worts die ses Ausdrucks darstellt d h da sich die Menge der partiellen Worte stets mittels Pr fixbildung aus der Menge der vollst ndigen Worte ableiten l t F r Graphen die Sackgassen oder endlose Wege enthalten vgl 2 5 trifft dies jedoch nicht zu Derartige Graphen k nnen partielle Worte besitzen die sich nicht zu einem vollst ndigen Wort erweitern lassen Da man sich in praktischen Anwendungen von Interaktionsausdr cken prim r f r die partiellen Worte eines Ausdrucks interessiert vgl 4 1 1 k nnte man auf den ersten Blick auf die Definition seiner vollst ndigen Worte verzichten Allerdings ben tigt man f r eine sinnvolle Definition der par tiellen Worte einer sequentiellen Komposition oder Iteration Sequenz oder Wiederholung auch die vollst ndigen Worte seiner Teilausdr cke vgl 3 3 1 2 und 3 3 1 3 Daher ist es erforderlich f r einen Ausdruck x sowohl die Menge seiner partiellen Worte im folgenden mit x bezeichnet als auch d
80. Auf den ersten Blick k nnte daher der Eindruck entstehen CSP sei eine echte Obermenge von In teraktionsausdr cken Es gibt Operatoren f r sequentielle und parallele Komposition Semikolon oder gt und lll Disjunktion I oder und Konjunktion sofern die Alphabete der beiden Operan den gleich sind was man prinzipiell immer gew hrleisten kann und Rekursionsgleichungen k nnen u a zur Definition von terationen verwendet werden Bei genauerer Betrachtung ergeben sich jedoch mindestens zwei wesentliche Unterschiede in der Grundkonzeption der beiden Formalismen die dazu f hren da CSP f r den Kontext dieser Arbeit nicht anwendbar ist Mehrdeutigkeit gegen ber Nichtdeterminismus Der erste wesentliche Unterschied besteht darin da Interaktionsausdr cke zwar mehrdeutig sein k nnen in dem Sinn da im Moment einer Aktionsausf hrung u U noch nicht entschieden werden kann um welches Vorkommen der Aktion im Ausdruck es sich handelt sich aber nichtsdestotrotz immer deterministisch im Sinne von vorhersagbar verhalten vgl 2 4 3 Man beachte da sich in diesem Sinne auch ein nichtdeterministischer endlicher Automat deterministisch d h vorhersagbar verh lt Eine Eingabe wird genau dann akzeptiert wenn es mindestens einen mit dieser Eingabe mar kierten Pfad vom Anfangs zu einem Endzustand des Automaten gibt Hopcroft90 Sch ning95 258 6 3 2 Kapitel 6 Verwandte Arbeiten Im Gegensatz hierzu kann sich ei
81. Auf diese Weise ist es m glich Arbeitsabl ufe schnell und ohne gro e M he an sich ndernde Gege benheiten anzupassen weil i d R nur die Spezifikation des Gesamtablaufs nicht jedoch der Pro grammcode einzelner Anwendungen ge ndert werden mu Umgekehrt ist es auch m glich die Funk tionalit t einzelner Anwendungsprogramme zu modifizieren oder Programme wie Steckmodule auszutauschen ohne da hiervon die Struktur des Gesamtablaufs betroffen ist Georgakopoulos95 1 1 4 Modellierung von Workflows Zur Modellierung von Workflows d h zur Spezifikation der einzelnen Arbeitsschritte einschlie lich zugeh riger Bearbeiter Rollen und Schrittprogramme sowie zur Festlegung des Kontroll und Daten flusses zwischen den Schritten werden meist graphische Editoren verwendet wobei als Kontrollkon strukte neben den aus imperativen Programmiersprachen bekannten Operatoren Sequenz Verzwei gung und Wiederholung h ufig auch Konstrukte zur Formulierung paralleler Zweige angeboten werden Jablonski95ab Georgakopoulos95 Jablonski97 Da im Kontext dieser Arbeit prim r der Kontrollflu von Workflows relevant ist wird auf die Spezifikation der brigen Aspekte Datenflu modellierung Zuordnung von Bearbeitern und Schrittprogrammen usw nicht n her eingegangen 1 1 5 Beispiel Die Abbildungen 1 1 und 1 2 zeigen zwei verschiedene Varianten des Arbeitsablaufs Medizinische Untersuchung Kuhn95ab Konyen96b Reichert97a Nac
82. Ausf hrungseinheiten zur wechselseitigen Delegation der Ausf hrung von Teil Workflows 5 Verwaltungsprogramme zur Modellierung von Organisationsstrukturen wie z B Abteilungen Mitarbeiter Rollen Vertreterregelungen etc sowie zur Inspektion des Bearbeitungsstands lau fender Workflows durch Systemverwalter oder andere autorisierte Personen Ein WfMS im weiteren Sinn umfa t neben der zentralen Ausf hrungseinheit normalerweise auch Edi toren zur Modellierung von Workflows und Organisationsstrukturen die oft auch als Buildtime Kom ponenten des Systems bezeichnet werden sowie vordefinierte Arbeitslistenprogramme die bei Bedarf jedoch durch spezialisierte Anwendungen ersetzt werden k nnen und zusammen mit der Ausf h rungseinheit auch als Runtime Komponenten des Systems bezeichnet werden 4 1 2 2 Kapitel 1 Motivation Aufgabenstellung und Uberblick Workflow a Verwaltungs Editoren Workflow System Programme Modellierer Verwalter Z gt Zentrale 4 Andere Ausf hrungs gt g Einhei Ausf hrungs nert Einheiten Y 3 Arbeitslisten we A N te gt Schritt Programme Programme Bearbeiter Abbildung 1 3 Referenzmodell der Workflow Management Coalition 1 2 Inter Workflow Abh ngigkeiten 1 2
83. Beispielsweise k nnte der Ausdruck x einerseits als x und andererseits als x interpretiert werden Aufgrund der formalen Ei genschaften der Operatoren und vgl 3 4 8 2 sind die beiden Varianten jedoch semantisch quivalent so da auf eine explizite Vorrangregelung f r derartige Ausdr cke verzichtet werden kann Kombiniert man postfix angewandte un re Operatoren jedoch mit Multiplikatoren oder Quantoren 3 Der Parser Generator Yacc bietet hierf r entsprechende Deklarationsm glichkeiten an auf die allerdings nicht n her eingegangen werden soll 120 4 3 1 Kapitel 4 Implementierung von Interaktionsausdr cken wie z B im Ausdruck p a p so besitzen die beiden m glichen Interpretationen einerseits p a p und andererseits p a p tats chlich unterschiedliche Bedeutungen vgl 2 7 1 3 Um derartige Mehrdeutigkeiten auszuschlie en wird vereinbart da postfix angewandte Operatoren wie in den Programmiersprachen C und C einen h heren Vorrang als pr fix ange wandte besitzen sollen Somit ist der Ausdruck p a p syntaktisch quivalent zum Ausdruck p a p 4 3 Interne Repr sentation von Ausdr cken 4 3 1 Datenmodell Abbildung 4 5 zeigt ein semantisches Datenmodell im Sinne eines Schemas zur Beschreibung von Interaktionsausdr cken Das Modell besteht aus Typen wie z B Expr oder Action die durch Attri bute oder Beziehungen miteinander verbun
84. Berthold B Drittler H Eckert R Gerstner R G tzinger R Krane A Schaeff C Schl gel R Weber Modellierung und Ausf hrung flexibler Gesch fts prozesse mit SAP Business Workflow 3 0 In F Huber W schle H Schauer P Widmayer eds GISI 95 Herausforderungen eines globalen Informationsverbundes f r die Informatik 25 GI Jah restagung und 13 Schweizer Informatikertag Z rich Switzerland September 1995 Informatik Aktuell Springer Verlag Berlin 1995 197 204 W chter95b H W chter Flexible Business Processing with SAP Business Workflow 3 0 Invited Presentation Extended Abstract In Int Workshop on High Performance Transaction Processing Systems Asilomar CA September 1995 1995 Weikum92 G Weikum H J Schek Concepts and Applications of Multilevel Transactions and Open Nested Transactions In A K Elmagarmid ed Database Transaction Models for Ad vanced Applications Morgan Kaufmann Publishers San Mateo CA 1992 515 553 WfMC96 Members of the WfMC Terminology amp Glossary Issue 2 0 Document Number WFMC TC 1011 Workflow Management Coalition Brussels Belgium June 1996 Winston89 P H Winston B K P Horn LISP Third Edition Addison Wesley Reading MA 1989 Wirth82 N Wirth Programming in Modula 2 Springer Verlag 1982 Wirth88 N Wirth The Programming Language Oberon Software Practice and Experience 18 7 July 1988 671 690 Y
85. Conference 1991 183 189 Gray81 J Gray The Transaction Concept Virtues and Limitations In Proc 7th Int Conf on Very Large Data Bases VLDB Cannes France September 1981 IEEE Computer Society Press 1981 144 154 Gray93 J Gray A Reuter Transaction Processing Concepts and Techniques Morgan Kaufmann Publishers San Mateo CA 1993 Guo95 L Guo Synchronization Expressions in Parallel Programming Languages Ph D Thesis Dept of Computer Science The University of Western Ontario London Ontario Canada 1995 Guo96 L Guo K Salomaa S Yu On Synchronization Languages Fundamenta Informaticae 25 3 4 March 1996 423 436 Haimowitz96 I J Haimowitz J Farley G S Fields J Stillman B Vivier Temporal Reasoning for Automated Workflow in Health Care Enterprises In N R Adam Y Yesha eds Electronic Commerce Current Research Issues and Applications Lecture Notes in Computer Science 1028 Springer Verlag Berlin 1996 87 155 Harel87 D Harel Statecharts A Visual Formalism for Complex Systems Science of Computer Programming 8 1987 231 274 Heinsohn92 J Heinsohn D Kudenko B Nebel H J Profitlich An Empirical Analysis of Termi nological Representation Systems RR 92 16 Deutsches Forschungsinstitut f r k nstliche Intelli genz DFKI Saarbr cken 1992 Hennessy88 M Hennessy Algebraic Theory of Processes The MIT Press Cambridge MA 1988
86. DM 1 DM 2 DM U 1 DM 1 DM 2 DM U 1 DM 1 DM 2 DM 1 DM 1 DM W 2DM o 1 DM 1 DM 2 DM U Y 1 DM 1 DM 0 2DM u 0 1 DM 1 DM 1 DM 0 2 DM 1 DM 1 DM 1 DM 2 DM Zu Abbildung 3 9 Disjunktion 2DM 1 DM 1 DM 3 3 Definition von Interaktionsausdr cken 3 3 1 75 3 3 1 5 Option Definitionen Eine Option oder Eventuell Verzweigung ist ein Ausdruck 4 y vgl Abb 3 10 mit einem beliebi gen Teilausdruck y der als Rumpf der Option bezeichnet wird zo Abbildung 3 10 Option 4 y Der Graph in Abb 3 10 wird durchlaufen indem der Teilgraph y entweder durchlaufen oder umgan gen wird Daher akzeptiert der Ausdruck y dieselben vollst ndigen und partiellen Worte wie der Teilausdruck y und zus tzlich das leere Wort Da die Menge Y y das leere Wort bereits enth lt vgl 3 4 4 mu es nicht mehr explizit hinzugef gt werden Psy Oy U O P o y Yy Beispiel F r den Ausdruck a a b c vgl Abb 3 11 gilt la a b c Pla Bla b c Pla P H ce U O J iaaeao a Q lt b c a lt a b c Wia al b c la v Pla Po b c Pla U Pla P b c a U a 0 lt b Bc 0 a U a a b a b c 0 a a b a b c a Q b c p Abbildung 3 11 Ausdr
87. Definition der Semantik von Synchronisierungsausdriicken wird hnlich wie in 3 3 ein sprach theoretischer Ansatz verwendet Guo95 Guo96 Die Idee zeitlich ausgedehnte Aktivit ten als Folge zweier punktueller Aktionen zu betrachten findet sich dort in gleicher Weise Allerdings werden der traditionellen Sichtweise folgend nur vollst ndige Worte betrachtet Dar ber hinaus werden die resultierenden synchronization languages mit allgemeineren start ter mination languages verglichen und einige hier nicht weiter interessierende Abschlu eigenschaften vorgestellt 6 2 2 3 Implementierung des Formalismus Da die Hinzunahme von paralleler Komposition und Konjunktion formal keine Erweiterung regul rer Ausdr cke darstellt vgl 3 5 2 lassen sich Synchronisierungsausdr cke direkt auf deterministische oder nichtdeterministische endliche Automaten abbilden und auf diese Weise auch effizient imple mentieren Hierin liegt vermutlich auch der Grund f r den Verzicht auf den parallelen Iterationsopera tor dessen Hinzunahme die Ausdrucksm chtigkeit und den Implementierungsaufwand erheblich er h hen w rde Synchronisierungsausdr cke werden in der Programmiersprache ParC Govindarajan90 Govinda rajan91 praktisch eingesetzt 246 6 2 3 Kapitel 6 Verwandte Arbeiten 6 2 2 4 Vergleich mit Interaktionsausdr cken Im Vergleich zu Interaktionsausdr cken fehlt bei Synchronisierungsausdr cken vor allem wie bereits erw hnt die par
88. Definition der Zustands bergangsfunktion t folgt durch Induktion nach der L nge eines Wortes w X t s z t D R mit R 7 reR UR und t 8 z 7 0 Ry mit Ry ttr r E R OR rlr r E R yr UR 324 B 4 0 Anhang B Verifikation des Zustandsmodells mit einer hier nicht n her interessierenden Menge R die lediglich von den Folgezust nden von abh ngt und daher fiir 7 s und 7 5 gleich ist Da die Folgezust nde z r eines ung ltigen Zustands r ebenfalls ung ltig und daher auch keine Endzust nde sind folgt daraus VS Wy Vv X HIV SVE VY NYY V ANSE rel reR und analog Pv S Py S d h s Daraus folgt die Transparenz von p4 2 Sei nun s z l R mit R r und v l sowie p s r Dann gilt f r die Folgezust nde z s von s WS 2 yD tO mit w Daraus folgt Puls WD V Yr yr und g 8 pC d h s r 3 F r s z l R mit R r und l T gilt ebenfalls Tuls z TaD tn mit y O allerdings nur f r w F r das leere Wort w ergibt sich jedoch v y s y Dv yr y vyr T Da l ein Endzustand ist enth lt die Zustandsmenge R nach Definition den initialen Zustand o z des rechten Teilausdrucks z der sequentiellen Komposition x y z d h es gilt offensichtlich r o z Da das leere Wort auf jeden Fall ein partielles Wort von z darstellt vgl 3 4 4 ist der in itiale Zusta
89. Einfl ssen unterliegt behindert ein Formalismus dessen Operatoren nicht orthogonal kombiniert wer den k nnen in erheblichem Ma e die modulare Kombination von Ausdr cken d h das nachtr gliche Zusammenf gen oder Ineinandereinsetzen von unabh ngig entwickelten Teilausdr cken also insbe sondere auch das wichtige Prinzip der Abstraktion vgl 2 8 2 1 Campbell und Habermann rechtfertigen ihre auf den ersten Blick recht willk rlich erscheinenden Einschr nkungen einerseits damit da sie f r die von ihnen betrachteten Beispiele nicht sehr gravie rend seien zum anderen und das ist der entscheidende Grund erm glichen diese Einschr nkun gen die oben erw hnte direkte und effiziente Abbildung auf Semaphoroperationen oder evtl auch an dere Synchronisationsmechanismen der Ebene 2 Beim Entwurf von Interaktionsausdr cken spielten derartige berlegungen nur eine sehr unterge ordnete Rolle So ist ihre vollst ndige Implementierung in der Tat vergleichsweise aufwendig und na t rlich bei weitem nicht so effizient wie eine Handvoll Semaphoroperationen Allerdings mu man ber cksichtigen da in Anwendungsbereichen wie Workflow Management im Gegensatz beispiels weise zu kritischen Betriebssystemkomponenten Effizienz sicherlich nicht in Einheiten von Hard ware Instruktionen gemessen werden darf Auf der anderen Seite standen bei der Entwicklung von In teraktionsausdr cken Konzepte wie Ausdrucksm chtigkeit Orth
90. Endmarkierung produziert 6 6 Workflow Management Konzepte 6 6 1 269 gen ist die urspr nglichen Teilgraphen bzw Netze zum Teil erheblich zu modifizieren vgl Abb 6 15 und 6 16 3 W hrend sich einfache AA Operatoren wie z B Disjunktion oder sequentielle und parallele Komposition direkt und einfach abbilden lassen erweist sich die allgemeing ltige Transformation der parallelen Iteration und entsprechend auch die paralleler Quantoren als so schwierig da sie einem unge bten Anwender auf keinen Fall zugemutet werden kann Im Gegensatz zu Interak tionsgraphen ist es bei Petrinetzen auch nicht ohne weiteres m glich ein solches immer wieder kehrendes syntaktisches Muster in einer Schablone zu verbergen siehe unten 4 Petrinetze erlauben zwar die Vergr berung bzw Verfeinerung einzelner Stellen oder Transitionen d h Abk rzungen in IAA Terminologie nicht jedoch die Verwendung von parametrisierten Schablonen deren Parameter ganze Teilgraphen bzw netze repr sentieren Dies bedeutet auch da man Petrinetze nicht um benutzerdefinierte Operatoren erweitern kann Vergleicht man diese Punkte mit den in 2 8 2 zusammengefa ten Grundprinzipien von Interaktions ausdr cken so erkennt man da nahezu keines dieser Prinzipien von Petrinetzen zufriedenstellend unterst tzt wird Aus diesem Grund wurde der in einer fr hen Phase dieser Arbeit unternommene Ver such Interaktionsgraphen bzw ausdr cke auf Petrinetze
91. Ereignis und Flu ausdr cke Riddle73 Shaw78 Shaw80b stammen zwar von unterschiedlichen Autoren sind sich aber konzeptuell so hnlich da es gerechtfertigt scheint sie im folgenden gemein sam zu behandeln 6 2 3 1 Angebotene Operatoren Die Schnittmenge der beiden Formalismen besteht aus den Operatoren f r sequentielle und paralle le Komposition und Iteration sowie Disjunktion Im Vergleich zu Interaktionsausdr cken fehlen also nur die beiden Formen der Konjunktion Konjunktion und Synchronisation sowie das Konzept der Quantoren Stattdessen gibt es in beiden Formalismen zus tzliche Konstrukte zur Synchronisation paralleler Zweige die das Konzept der Konjunktion entbehrlich machen In Ereignisausdr cke k nnen spezielle Synchronisationssymbole dort mit usw be zeichnet eingebettet werden die bei der Verschr nkung von Worten wie folgt behandelt werden Paa re und von aufeinanderfolgenden komplement ren Synchronisationssymbolen werden entfernt und anschlie end werden nur Worte akzeptiert die keine Synchronisationssymbole mehr ent halten Auf diese Weise kann die Menge der m glichen Verschr nkungen von Worten mehr oder we niger stark eingeschr nkt werden Im Gegensatz zu diesem deklarativen Ansatz wird in Flu ausdr cken das gute alte Semaphor konzept aufgegriffen und in Form von Signal und Wait Operationen c und angeboten die hnlich wie die obigen Synchronisationssymbole an bel
92. Ereignis interpretiert das in dem Moment eintritt in dem der Ausdruck E als logisches Pr dikat wahr wird Beispielsweise beschreibt der Ausdruck e gt e lt e3 da die Reihenfolgebeziehung e lt e eingehalten werden mu wenn das Ereignis e auftritt Durch die Verwendung von Abstrak tionsmechanismen Makros k nnen komplexe und schwer verst ndliche Ausdr cke benutzerfreund lich verpackt werden 6 4 1 2 Definition der Semantik W hrend in der Originalarbeit Klein91 keine Aussagen zur formalen Semantik der Operatoren ge macht werden werden sie in Attie93 auf Formeln der temporalen Aussagenlogik CTL computation tree logic Emerson90 abgebildet auf die an dieser Stelle nicht n her eingegangen werden soll Unabh ngig davon werden in Tang95 verschiedene Klassen von Ereignisfolgen definiert u a Er eignisfolgen die bez glich eines gegebenen Ausdrucks durchf hrbar engl feasible sind Diese ent sprechen in gewisser Weise den vollst ndigen Worten eines Interaktionsausdrucks 6 4 1 3 Implementierung des Formalismus Zur Einhaltung der spezifizierten Bedingungen k nnen verschiedene Strategien verfolgt werden je nachdem welche Eigenschaften oder Attribute die einzelnen Ereignisse besitzen Beispielsweise kann die Einhaltung der Reihenfolgebeziehung e lt e erzwungen werden indem man das Auftreten von e solange verz gert bis das Ereignis e entweder eingetreten ist oder mit Si cherheit nich
93. Interaktionsausdriicken tion d h quasi regul re Ausdr cke sind harmlos w hrend elementare Ausdr cke mit paralleler Ite ration potentiell b sartig sind 4 7 4 Aussagen zu Quantoren 4 7 4 1 Boolesche Quantoren Satz 1 Boolesche Quantoren Disjunktions Konjunktions und Synchronisations Quantoren sind gutar tig 2 Ist der Ausdruck x y vollst ndig quantifiziert sind Disjunktions und Konjunktions Quanto ren sogar harmlos p Beweis 1 Der Verzweigungsgrad eines Zustands s O y p r T entspricht im wesentlichen der Kardina lit t der Menge T die initial den Wert 0 besitzt T und bei jedem Zustands bergang h ch stens um eine Konstante k is a zunimmt vgl 4 5 6 2 Somit betr gt die Kardinalit t aeca y von T h chstens k n mit n lwl 2 Wenn der Ausdruck x vollst ndig quantifiziert ist so ergibt sich hnlich wie in B 4 6 Be O y p o y f r w u 0 y p 1 7 mit T 6 o o amp f rwsda mit einer Menge Q c Q y p Daher ist die Kardinalit t der Menge T in diesem Fall durch die Konstante k beschr nkt Folgerungen Boolesche Quantoren k nnen grunds tzlich bedenkenlos eingesetzt werden Im Normalfall d h bei vollst ndig quantifizierten R mpfen sind Disjunktions und Konjunktions Quantoren sogar harmlos Anmerkungen 1 Boolesche Quantoren sind nicht grunds tzlich harmlos Als Gegenbeispiel betrachte man den Aus druck x 0 aw
94. Korrektheit des Zustandsmodells und die G ltigkeit des Substitutionsprin zips analog B 2 4 3 Synchronisations Quantorausdr cke Gegeben sei ein Synchronisations Quantorausdruck x y mit einem beliebigen Teilausdruck y p f r den und dessen Konkretisierungen Yp das Korrektheitstheorem gem der globalen Induktionsvor aussetzung bereits bewiesen sei Struktur der Folgezust nde F r die Folgezust nde des Ausdrucks x gilt o a o y Pn OT mit 7 o P o o E 2 0 p und w wik y fir aE QuU p und somit V X Yu O A vr ud DEROA A m EQ O p EQO p Beweis 1 F r das leere Wort w gilt Ow Y o y und wegen Q y p T Daher stimmt die Behauptung f r o x genau mit der Definition des initialen Zustands o x berein B 2 Korrektheit des einfachen Zustandsmodells B 2 4 317 2 F r ein Wort w w a gilt Oy X 7u 04 X Induktionsvoraussetzung f r 0 x t 0 Y P Ow O T mit T o 32 o 2 0 p und wW wiede fir veQu p Definition des Zustands bergangs 7 o v p 52 6 9 77 mit 7 TU 5 00 0 o lt 2 0 pen und T 82 O lteT K fie we lY avy aly a x a y2 92 sowie f t T t sonst F r QU p gilt Wo Way y We Kadlk yP Daher gilt f r t op ye 9 t 0 0 0 0 f r a rhyg da a a son d h es gilt generell 8 on ye 0
95. M nzautomaten 2 2 5 25 F nfzig Pfennig Eine Mark Zwei Mark F nf Mark Abbildung 2 19 Einwerfen von 5 DM Variante 7 2 Zehn Pfennig am 50 Pf aoo 5 Zehn Pfennig 1 DM aoo 2 F nfzig Pfennig 2 DM zur Eine Mark 5DM Zwei Mark Eine Mark F nf Mark e Am rechten O Knoten hat man wiederum vergleichbar einer Entweder oder Verzweigung die M glichkeit nach rechts weiterzugehen und so die Wiederholung zu beenden oder aber nach oben abzubiegen und zum linken O Knoten zur ckzukehren an dem das Spiel von neuem beginnt Auf diese Weise kann der Rumpf einer Wiederholung beliebig oft ggf auch keinmal durchlaufen werden Ein Beenden der Wiederholung ist jedoch nur m glich wenn man sich am rechten O Knoten befindet d h wenn man den zuletzt begonnenen Iterationsschritt auch vollst ndig beendet hat Im konkreten Beispiel bedeutet das da der Automat nur abgebaut werden kann wenn gerade kein Ver kaufsvorgang aktiv ist 26 2 2 5 Kapitel 2 Interaktionsgraphen Abbildung 2 20 Einwurf von 5 DM und Ausgabe eines P ckchens Zigaretten
96. Menge E F enthalten ist Zwei For malismen A und F hei en nicht vergleichbar wenn F teilweise ausdrucksst rker als F und 5 teilweise ausdrucksst rker als F ist d h wenn es Ausdr cke x F mit L x E und P mit L x E A gibt 3 5 2 Vergleich von Interaktionsausdr cken mit regul ren Ausdr cken Regul re Ausdr cke werden durch Anwendung der Operationen Konkatenation entspricht sequen tieller Komposition Selektion entspricht Disjunktion und H llenbildung entspricht sequentieller Iteration aus Aktionen bzw Symbolen a und ggf den speziellen Ausdr cken mit L und e mit L e Q gebildet Hopcroft90 Sch ning95 L t man die Ausdr cke und e deren praktische Bedeutung u erst gering ist zun chst au er acht so l t sich also jeder regul re Ausdruck auch als Interaktionsausdruck auffassen Aber auch die beiden speziellen regul ren Ausdr cke und e lassen sie sich wie folgt durch Inter aktionsausdr cke nachbilden 108 3 5 3 Kapitel 3 Interaktionsausdriicke 1 F r den Interaktionsausdruck x a b mit zwei beliebigen aber verschiedenen Aktionen a b e Y gilt L x x Pla b Pla N Eb a A b L d h x ist klassisch quivalent zu dem regul ren Ausdruck 2 F r den Interaktionsausdruck x a b 4 x gilt L x P x Po x P x U O SU O 0 Le d h x ist klassisch quivalent zu dem regul ren A
97. Na aufkl ren NP h p 4 p u 2 P Patient Untersuchung abrufen durchf hren u D u D u u Termin vereinbaren Untersuchung Patient Untersuchung Befund Befund anordnen abrufen durchf hren erstellen lesen Untersucht a Patient Untersuchung Patient vorbereiten Sonographie Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen anordnen N aufkl ren abrufen durchf hren Langbefund Langbefund erstellen lesen Termin vereinbaren Endoskopie Arbeitslisten der Benutzer Station Sonographie Endoskopie Schwester Arzt MTA Arzt MTA Arzt aufkl ren X endo Abbildung 5 50 Zustand w hrend der Vorbereitung des Patienten 5 5 Implementierung von Workflow Geflechten 5 5 5 233 OO Fe O 6 SY _Y Ivorbereiten U WY u u pP u OAO atent OA OA h Na a mA KO h p 4 p u us P a ent Untersuchung abrufen durchf hren u D u D u u Termin vereinbaren Untersuchung Patient Untersuchung Befund Befund anordnen abrufen durchf hren erstellen lesen Patient vorbereiten Sonographie Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen Untersucht Patient anordnen aufkl ren Patient Untersuchung abrufen durchf hren Langbefund Langbefund erst
98. P ckchen Zigaretten Kamel filter Tod h ndle Lady light F nf Mark P ckchen Zigaretten m Aufstellen F nf Mark P ckchen Zigaretten 3 T Abbildung 2 21 Zigarettenautomat 2 2 5 2 Eventuell Verzweigung L t man bei einer Wiederholung den R ckweg vom rechten zum linken Knoten weg so erh lt man eine Eventuell Verzweigung vgl Abb 2 22 die besagt da der Teilgraph x entweder ber sprungen oder einmal durchlaufen werden kann Abbildung 2 23 zeigt als m gliche Anwendung einen freundlichen Zigarettenautomaten der nach der Ausgabe eines P ckchens Zigaretten auch noch gra tis die Entnahme eines P ckchens Z ndh lzer gestattet Aufstellen x Abbildung 2 22 Eventuell Verzweigung Abbauen F nf Mark P ckchen Zigaretten P ckchen Q Z ndh lzer F Abbildung 2 23 Freundlicher Zigarettenautomat Abbauen 2 3 Weiterf hrende Operatoren Beispiel Miinzkopierer 2 3 1 27 2 2 5 3 Mehrfach Ausf hrung L t man anstelle des R ckwegs die untere Umgehungsstra e vom linken zum rechten O Knoten einer Wiederholung weg und versieht die beiden Knoten au erdem mit e
99. P x O UP O U PO YO w oder IneINg u u E Ply v E My Ww uj Up V Korrektheit des Zustandsmodells f r y w oder Ane Ng u Up V E LE WH Wy Up V Qu O o u O WO Definition von A y 312 B 2 3 Anhang B Verifikation des Zustandsmodells w oder Iv e AX y O Struktur der Folgezust nde von x gt v w v d v V uO veA y und andererseits we x B y w oder IneINyu U v E Ply W uj Up V Korrektheit des Zustandsmodells f r y un w oder an No u Un V E LEW u Un Vs Pu O o 9 0 PY Definition von A y w oder Ave AP y 9 0 Struktur der Folgezust nde von x Py X Qy E VW py veA y G ltigkeit des Substitutionsprinzips F r ein Wort w amp einen Quantorparameter q Il und einen bzgl x und q irrelevanten Parameter wert z amp Q x q des Wortes w gilt a 6y Tl mit 7 fo e U Lo v AR Definition konkretisierter Zust nde 4 5 6 1 67 mit 7 B ou u 6 0 Substitutionsprinzip f r y plus Monotonie relevanter Parameterwerte Aufgrund des Substitutionsprinzips und der Definition von A gilt au erdem AS y AS y F r den leeren Ausdruck e gilt ez E e 37 7 mit T 0 u o y7z v e 42 37 Struktur der Folgezust nde des Ausdrucks x3 o Ye ve As y ll q Sn x B 2 3 8 Parallele Komposit
100. Parsers in einen quivalenten Graphen ver wandelt wurde Durch Klicken auf ein Verzeichnis kann man dieses zum aktuellen Verzeichnis machen was zur Folge hat da der Datei Verzeichnis Graph entsprechend aktualisiert wird Um eine neue Datei zu er zeugen plaziert man den Mauszeiger in die oben erw hnte Entweder oder Verzweigung und dr ckt die Return Taste um ein Dialogfenster zur Eingabe eines Dateinamens zu ffnen Nach Beendigung des Dialogs wird eine entsprechend benannte Datei im aktuellen Verzeichnis erzeugt und der Datei Verzeichnis Graph aktualisiert 338 C 2 8 Anhang C Ein syntaxgesteuerter Editor fiir Interaktionsgraphen Be x Pe eS ei ee ap dp H FH cp 0000000 dp Unters Tel Pat anori verei vorbe e p u p u p u p u Abbildung C 11 Schnittstelle zum Dateisystem Anmerkung Neben dem Erzeugen neuer Dateien gibt es eine zweite bisher nicht erw hnte Situation in der die Tastatur als Eingabemedium verwendet werden kann Dr ckt man die Return Taste w h rend sich der Mauszeiger auf einem Parameter einer Aktivit t oder eines Operators befindet so erh lt man ein Dialogfenster zur Eingabe eines neuen Parameterwerts der den alten Wert des Parameters berschreibt Dies ist immer dann erforderlich wenn der Wert eines Parameters nicht wie in C 2 2 beschrieben durch Markieren oder Kopieren von einer anderen Aktivit t bernommen werden kann Insbesondere kann man auf diese Weise den numerischen F
101. Schlag zunichte machen Erfreulicherweise ist die Situation bei genauerer Betrachtung aber doch nicht so aussichtslos wie sie auf den ersten Blick erscheinen mag und tats chlich wird es in diesem Anwendungsbeispiel sogar m glich sein beliebig viele Interaktionsmanager einzusetzen von denen bei jeder Aktionsausf hrung maximal zwei um Erlaubnis gefragt werden m ssen 5 2 8 2 Prinzip Um dies einzusehen betrachte man exemplarisch den Graphen in Abb 5 12 bei dem es sich um eine F r alle Verzweigung y mit einem hier nicht n her interessierenden Rumpf y handelt Wie in P 2 3 4 4 und 3 3 3 1 erl utert stellt ein solcher Graph anschaulich eine Sowohl als auch Verzwei gung Yp mit unendlich vielen Zweigen Yp dar die man erh lt wenn man in allen Aktionen des wEQ Rumpfs y den Parameter p jeweils durch einen Wert w Q ersetzt vgl Abb 5 13 Zerlegt man nun die Menge Q aller m glichen Parameterwerte in beliebig viele paarweise disjunkte Teilmengen Qi Q die ebenso wie Q unendliche Kardinalit t besitzen sollen so kann die F r alle Verzwei gung x Yp auch als Sowohl als auch Verzweigung x x von n unendlichen Sowohl wE als auch Verzweigungen x Yp i 1 n aufgefa t werden Da die Mengen Q paarweise OER disjunkt sind sind offensichtlich auch die Graphen x paarweise disjunkt d h eine Aktion wie z B Patient p f r Untersuchung u vorbereiten kommt abh ngig vom konkreten Wert d
102. Semantik besitzen 3 3 1 2 Sequentielle Komposition Definitionen Eine sequentielle Komposition oder Sequenz ist ein Ausdruck y z vgl Abb 3 4 mit beliebigen Teilausdr cken y und z die als Komponenten der sequentiellen Komposition bezeichnet werden Abbildung 3 4 Sequentielle Komposition y z Um den Graphen in Abb 3 4 vollst ndig zu durchlaufen mu zun chst der Teilgraph y und anschlie Bend der Teilgraph z vollst ndig durchlaufen werden d h man erh lt ein vollst ndiges Wort des Aus drucks y z indem man ein vollst ndiges Wort von y mit einem vollst ndigen Wort von z konkate niert P y z Py B z Will man den Graphen nur teilweise durchlaufen so bricht man die Traversierung entweder innerhalb des Teilgraphen y ab oder man durchl uft y vollst ndig und bricht innerhalb des Teilgraphen z ab Folglich erh lt man ein partielles Wort des Ausdrucks y z indem man entweder ein partielles Wort von y nimmt oder aber ein vollst ndiges Wort von y mit einem partiellen Wort von z konkateniert YO z YO Y PO WA Beispiel F r den Ausdruck 10 Pf Kopie A4 vgl Abb 3 5 ergibt sich die Menge der vollst ndigen bzw par tiellen Worte wie folgt 10 Pf Kopie A4 Abbildung 3 5 Sequentielle Komposition 10 Pf Kopie A4 gt Ein formaler Parameter eines Ausdrucks ist global ungebunden wenn es keinen umgebenden Quantor mit di
103. Strategien und ggf Algorithmen zu entwickeln mit deren Hilfe ein ge gebener Ausdruck x in einen effizienter implementierbaren Ausdruck x transformiert werden kann Im Rahmen dieser Arbeit wurde diese Frage jedoch nicht weiter verfolgt 4 7 3 4 Parallele Iteration Satz 1 Der parallele Iterationsoperator ist gutartig wenn sein Rumpf quasi regul r oder aber injektiv und initial fokussiert ist 2 Ist der Rumpf sowohl quasi regul r als auch injektiv und initial fokussiert so ist der parallele Ite rationsoperator sogar harmlos Beweis Eine parallele Iteration x y wird als paralleler Quantorausdruck x y mit y sy imple p mentiert vgl 3 4 11 4 3 1 und 4 5 4 9 Da der Parameter p anonym ist d h in keiner Aktion des Quantorrumpfs y auftritt ist die Menge Qy p der relevanten Parameterwerte der Aktion a stets leer vgl 4 5 6 2 Daraus folgt da die Alternativen T A eines Zustands s y p A von x nur Zustand Wert Paare mit dem Pseudowert p enthalten vgl 4 5 7 4 und B 2 4 4 Wenn der Ausdruck y und somit auch der Ausdruck y quasi regul r ist besitzt er neben seinem initialen Zustand fo o y der in jeder Alternative mit der Kardinalit t vorkommt nur k n y 1 weitere verschiedene Zust nde t 4 Daher kann eine Alternative T durch ein k Tu pel c c von Kardinalit ten c IN beschrieben werden die angeben wie oft der Zustand
104. V t Ggf Semaphor t freigeben V s Hilfssemaphor s freigeben Pfadausdriicke werden in den Programmier bzw Spezifikationssprachen Path Pascal Campbell79 Campbell80 und COSY Lauer79 praktisch eingesetzt 6 2 1 4 Vergleich mit Interaktionsausdriicken Ausdrucksm chtigkeit Die grundlegenden Konzepte von Pfadausdr cken n mlich zum einen die saubere Trennung der Syn chronisationsaspekte von den eigentlichen Proze beschreibungen und zum anderen die Idee zur Be schreibung zul ssiger Ausf hrungsreihenfolgen erweiterte regul re Ausdr cke zu verwenden wurden bei der Entwicklung von Interaktionsausdr cken bernommen Ersetzt man die Begriffe Prozedur durch Aktivit t Proze im Sinne eines i w sequentiellen Programms durch Workflow und System nebenl ufiger Prozesse bzw paralleles Programm durch Workflow Geflecht vgl 5 4 1 so k nnte man Pfadausdr cke unmittelbar zur Synchronisierung nebenl ufiger Workflows einsetzen Auf den ersten Blick scheint auch die Ausdrucksm chtigkeit von Pfadausdr cken durchaus mit der von Interaktionsausdr cken vergleichbar zu sein Immerhin bieten sie so wichtige Konzepte wie paral lele Iteration und Quantifizierung an und im direkten Vergleich fehlen im wesentlichen nur die paral lele Komposition und der Disjunktions Quantor vgl Tab 6 2 die anderen beiden Quantoren spielen auch in Interaktionsausdr cken nur eine untergeordnete Rolle F r einen fairen Vergleich der beide
105. W z und Py X V 2 vEA O veA y Beweis 1 F r das leere Wort w gilt o y o y und wegen A y 0 p R o z o y Daher stimmt die Behauptung f r o x genau mit der Definition des in itialen Zustands x berein 2 F r ein Wort w w a gilt Oy X Ty Oy x Induktionsvoraussetzung f r o x Tall 2 1 R mit J o y und R R 0 ve A409 Definition des Zustands bergangs r z 1 R mit l D und R 72 r reR u o z Al F r gilt U 7 0 Talo O 0 40 Cy F rr e R gilt r T r t 0 z Ol mit EARO z o O R mit R Soyal 7 AGO o L 2 0 Lemma z oO R mit R 0 z ve A O Ry z op Ry Korrektheit des Zustandsmodells F r ein Wort w e gilt w e W x Vy U y P z weY y oder Ju e y ve Fz w uv M Korrektheit des Zustandsmodells f r y und z un rn w y oder Iu veL w uv 9 y v z Definition von A y yyy oder IveA y w z Struktur der Folgezust nde von x S WO WOOV Vi wweT veA y und nahezu analog wex O X T 310 B 2 3 Anhang B Verifikation des Zustandsmodells G ltigkeit des Substitutionsprinzips F r ein Wort w einen Quantorparameter q II und einen bzgl x und q irrelevanten Parameter wert z amp Q x q des Wortes w gilt 0 0 Z o y Rul mit R 0 2 ve Av
106. Wort f e mit 3 uj Ug woraus ebenfalls ASO und zus tzlich PaO 9 0 T folgt pla F e AS U AF E AR Pra B 2 Korrektheit des einfachen Zustandsmodells B 2 3 311 Struktur der Folgezustande F r die Folgezust nde des Ausdrucks x gilt o amp 8 y 7 mit 7 0 amp u to ve Ayo und somit v a v v V wy und g x ale v V 90 veA y vea y Beweis 1 F r das leere Wort w gilt o e T und A y und somit T T o y Daher stimmt die Behauptung f r o x genau mit der Definition des initialen Z sands o x berein 2 F r ein Wort w w a gilt 0 x T a Fp 2 Induktionsvoraussetzung f r o x t lo y T mit T T o e Uo FE AR Definition des Zustands bergangs r e y T mt T 72 t t eT v ar ver F r t ogle T gilt t T t ty og Tital T E F r t 0 y ET gilt 7 t Tq o5 y Oka mit ve ARy 8 y 7 mit T 7 e U Oia ve AQ yo und T T u u Wu und T T u Setze T in Ne AY ein Beachte r ee da w und somit er f r 1 r e 6 y 7 mit T 7 U ona y ASO und T T U oy A ALO 9440 u un Lemma e y T mit T 72 e U o Q v 4 0 T le y Tp K Korrektheit des Zustandsmodells F r ein Wort w amp gilt einerseits we
107. Zweige eines Quantorausdrucks y bzw ihre zugeh rigen Parameterwer P te allgemein zu bestimmen kann man wie folgt vorgehen e Man entfernt aus dem Alphabet des Quantorrumpfs y die Aktion a sofern vorhanden weil s mtli che Auspr gungen dieser Aktion im abstrakten Zweig y in gleicher Weise d h an denselben Stel len auch in allen konkretisierten Zweigen Yp auftreten und somit keinen Unterschied zwischen dem abstrakten Zweig y und einem konkretisierten Zweig Yp darstellen k nnen e Die verbleibende Menge A a y a wird nacheinander f r jeden Wert Q konkretisiert Wenn eine der resultierenden Mengen Ap die Aktion a enth lt so bedeutet dies da der entspre chende konkretisierte Zweig Yp die Aktion a an einer Stelle enth lt an der sie im abstrakten Zweig y nicht auftritt Der abstrakte Zweig enth lt an dieser Stelle eine zu a hnliche Aktion a die erst durch die Konkretisierung a in a tibergeht siehe unten Somit stellt der entsprechende Wert einen f r die Verarbeitung der Aktion a relevanten Parameterwert des Quantorrumpfs y dar Definition Formal Kann die Menge der relevanten Parameterwerte der Aktion a bzgl des Ausdrucks y und des Quantorparameters p wie folgt definiert werden Q y D o Q ae ay a Diese Definition l t sich unmittelbar f r Worte w amp verallgemeinern 2 0 pP U p f r w w Wp Anmerkung Da die Menge A a y a die Aktion a nich
108. a y und a z in den Zustand aufnehmen Um mit sp teren Zustandsdefinitionen insbe sondere Quantorzust nden vgl 4 5 7 konsistent zu sein werden jedoch die Teilausdr cke bevorzugt 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 4 137 Ebenso wie bei der Konjunktion ist ein solcher Zustand genau dann ein giiltiger Zustand bzw ein Endzustand wenn beide Teilzust nde die entsprechende Eigenschaft besitzen v s vODaAWr gs KD A gr Beim Zustands bergang mu ber cksichtigt werden ob die vorliegende Aktion a zum Alphabet des linken und oder rechten Teilausdrucks der Synchronisation geh rt Ta s 0 y z r mit l fir a R a z avy r fir a L a y az r u t 1 sonst E Ta r sonst Durch diese Definitionen werden im Prinzip vier verschiedene F lle unterschieden 1 Wenn a in beiden Teilausdr cken der Synchronisation auftritt ist es in keiner der Differenzmen gen L und R enthalten so da in diesem Fall f r beide Teilzust nde und r ein Zustands bergang durchgef hrt wird Dies entspricht der anschaulichen Definition da eine solche Aktion in beiden Zweigen der Syn chronisation gleichzeitig durchlaufen werden mu 2 Wenn a nur im linken Teilausdruck y auftritt geh rt es zwar zur Menge L nicht jedoch zur Men ge R so da in diesem Fall nur ein Zustands bergang f r den linken Teilzustand durchgef hrt wird w hrend der rechte Teilzustand r unver ndert
109. abrufen p u untersuchen p u der im Beispiel der medizinischen Untersuchungsworkflows die Integrit tsbedingung f r Patienten spezifiziert vgl 2 7 1 2 ist gutartig denn 1 Die sequentielle Komposition abrufen p u untersuchen p u ist regul r und daher f r jede Be legung der Parameter p und u harmlos 2 Die drei Disjunktionsquantoren O sind f r jede Belegung von p harmlos da sie vollst ndig quan tifiziert sind 3 Die Disjunktions Quantorausdr cke sind au erdem f r jede Belegung von p injektiv und initial fo kussiert da ihre R mpfe f r jede Belegung von p und u diese Eigenschaften besitzen und die Aus dr cke vollst ndig und homogen quantifiziert sind Folglich sind die beiden parallelen Iterationen f r jede Belegung von p gutartig 4 Die disjunktive Verkn pfung der drei Teilausdr cke ist grunds tzlich harmlos 5 Die sequentielle Iteration ist grunds tzlich gutartig 6 Die Allquantifizierung ist gutartig da ihr Rumpf vollst ndig und homogen quantifiziert ist p Anmerkung Betrachtet man die Gutartigkeits Beweise in den Abschnitten 4 7 3 4 4 7 3 2 und 4 7 4 2 genauer so erkennt man da der Verzweigungsgrad der Operatoren amp und h chstens linear P bzgl der L nge n der verarbeiteten Aktionsfolge w chst Die baumartige Repr sentation eines Zu stands des Gesamtausdrucks besitzt daher auf maximal drei Ebenen jeweils einen oder zwei Knoten mit linearem Verzweigungsgrad
110. abzubilden und auf diese Weise sowohl die Semantik als auch die Implementierung des Formalismus sozusagen umsonst zu bekommen wieder eingestellt Anmerkung Die zuletzt getroffene Aussage sollte nicht etwa dahingehend mi verstanden werden da Petrinetze grunds tzlich schlechter als Interaktionsgraphen seien Es sollte lediglich hnlich wie beim Vergleich von Interaktionsausdr cken mit Proze algebren herausgestellt werden da einige im Rahmen der vorliegenden Arbeit als wesentlich erachtete Prinzipien von Petrinetzen nicht ausrei chend unterst tzt werden und sie daher zur Beschreibung von Inter Workflow Abhangigkeiten nicht geeignet sind Die Tatsache da Petrinetze an sich f r entsprechende Problemstellungen ein sehr m chtiges und vielfach bew hrtes Hilfsmittel zur Modellierung und Analyse nebenl ufiger Systeme darstellen bleibt hiervon unber hrt 6 6 Workflow Management Konzepte Da Interaktionsausdr cke prim r als Formalismus zur Spezifikation und Implementierung von Inter Workflow Abh ngigkeiten konzipiert wurden soll zum Abschlu dieses Kapitels zum einen auf ihre Beziehung zu Workflow Beschreibungssprachen als Formalismus zur Spezifikation von Intra Workflow Abh ngigkeiten eingegangen werden 6 6 1 Zum anderen soll deutlich gemacht wer den da Inter Workflow Abh ngigkeiten trotz ihrer praktischen Relevanz bisher weder in For schungsprojekten noch in kommerziellen Workflow Ma
111. akzeptiert was zur Folge hat da sich die Kardinalit t der Menge A bei jedem Zustands bergang verdoppelt 174 4 7 5 Kapitel 4 Implementierung von Interaktionsausdriicken 2 Ebenso sind parallele Quantorausdr cke deren Rumpf quasi regul r ist nicht notwendigerweise gutartig Als Gegenbeispiel betrachte man den Ausdruck x a p b P und ein Wort w a a b a 3 a 4 b mit paarweise verschiedenen Werten Q Hier wird die Kardinalit t der Menge A durch jedes b mindestens verdoppelt 4 7 5 Zusammenfassung 4 7 5 1 Komplexitatshierarchie von Interaktionsausdr cken Aus den Resultaten der vorangegangenen Abschnitte l t sich die folgende Komplexit tshierarchie von Interaktionsausdr cken ableiten vgl Abb 4 26 1 Quasi regul re Ausdr cke d h Ausdr cke die nur die un ren Operatoren und amp die Boole schen Operatoren O und sowie die Kompositionsoperatoren und enthalten sind harmlos vgl 4 7 3 1 bis 4 7 3 3 2 Nimmt man die Booleschen Quantoren Q und hinzu so sind die resultierenden Ausdr cke P P p gutartig sofern man die potentiell b sartige parallele Komposition ausschlie t vgl 4 7 3 1 4 7 3 2 und 4 7 4 1 3 Durch die Hinzunahme der parallelen Operatoren und erh lt man potentiell b sartige Ausdr cke vgl 4 7 3 3 und 4 7 3 4 P Parallele Operatoren pP Boolesche Quantoren O O
112. alle Zweige der Verzweigung zu durchlaufen sind w hrend ein einfacher Kreis Entweder oder Verzweigung anzeigt da genau ein Zweig gew hlt werden mu in 2 6 1 wird dieses Prinzip auf beliebige Aktionen verallgemeinert d h es wird generell vereinbart da zwei Aktionen niemals gleich zeitig ausgef hrt werden k nnen 18 2 2 2 Kapitel 2 Interaktionsgraphen 2 2 2 4 Sowohl als auch Verzweigungen Zum besseren Verst ndnis der Sowohl als auch Verzweigung betrachte man den Graphen in Abb 2 7 in dem die Buchstaben a bis e f nf nicht n her spezifizierte Aktionen repr sentieren Um den Gra phen zu durchlaufen biegt man am linken Knoten wie bereits erl utert sowohl nach oben als auch nach unten ab und durchl uft die Teilgraphen a b und c d unabh ngig voneinander Abh ngig von den relativen Geschwindigkeiten mit denen die beiden Zweige durchlaufen werden k nnen die Aktionen a bis e in genau einer der folgenden Reihenfolgen passiert werden Sn Abbildung 2 7 Sowohl als auch Verzweigung 1 Im oberen Zweig wird a passiert bevor im unteren Zweig c passiert wird a vor c a Im oberen Zweig wird b passiert bevor im unteren Zweig c passiert wird b vor c Da der obere Zweig jetzt vollst ndig durchlaufen ist mu man am Vereinigungsknoten rechts warten bis auch der untere Zweig vollst ndig durchlaufen ist d h jetzt m ssen die Aktionen c u
113. auch anders benennen 154 4 6 4 Kapitel 4 Implementierung von Interaktionsausdriicken Zus tzliche Zustandsattribute attr state State gt State Zustand des abstrakten Zweigs attr pairs State gt gt Pair Zustand Wert Paare der konkretisierten Zweig Initialer Zustand eines Disjunktions Quantorausdrucks part State init Expr x if x cat Disj amp amp x param return State expr x state init x body pairs set Endzustands Indikator eines disjunktiven Quantorzustands part bool final State s if s cat Disj amp amp s param Pair t forall t lt lt s pairs if final t state return true return final s state Optimierter Zustands bergang f r einen disjunktiven Quantorzustand part State trans State s Action a if s cat Disj amp amp s param Param p s param State r trans s state a Set Pair T set Set Value V relvals s expr a Pair ty ts forall t lt lt s pairs if t_ trans t a p T t_ else if r T Pair state nil value t value V t value Value v forall v lt lt V Pair t state s state value v if t_ trans t a p T t_ else if r T Pair state nil value v if r amp amp T 1 amp amp T 1 state Success return Success if r T return State expr s expr state r pairs T return nil Abbildung 4 18 Implementie
114. auftretenden Sonderzust nde Success und nil korrekt zu behandeln weichen die Definitionen der partiellen Funktionen final und trans teilweise von dem in 4 6 1 2 skizzierten Schema ab 4 6 2 2 Boolesche Operatoren Zus tzliche Zustandsattribute Um die Definitionen der Abschnitte 4 5 4 2 bis 4 5 4 4 Disjunktion Option und Konjunktion imple mentierungstechnisch umsetzen zu k nnen wird der Typ State zun chst um zwei Attribute left und right jeweils vom Typ State erweitert die den Teilzust nden und r eines disjunktiven bzw konjunktiven Zustands s O l r bzw s r entsprechen Zus tzliche Zustandsattribute attr left State gt State Zust nde des linken und attr right State gt State rechten Teilausdrucks Rein syntaktisch haben diese Attribute nichts mit den gleichnamigen Attributen des Typs Expr zu tun ebenso wie Komponenten verschiedener Strukturen in C vollkommen unabh ngig voneinander sind semantisch besteht jedoch ein Zusammenhang Das Attribut s left bzw s right eines Zu stands s verweist jeweils auf einen Zustand des Teilausdrucks s expr left bzw s expr right des zu s geh renden Ausdrucks s expr 4 6 Implementierung des Zustandsmodells 4 6 2 149 Initialer Zustand eines atomaren Ausdrucks part State init Expr x if x cat Atom return State expr x Endzustands Indikator eines atomaren Zustands part bool final State s if s cat Atom s
115. belegungen von Aktionen anderweitig eingeschr nkt wird Beispielsweise kann die Aktion 10 Pfen nig in Kopierer 080265H001 einwerfen die der Graph in Abb 2 41 prinzipiell akzeptieren w rde in der Realit t niemals auftreten wenn die Nummer 080265H001 kein Kopierger t sondern beispiels weise einen Kunden mit Geburtsdatum 8 2 1965 und Initiale H bezeichnet Handelt es sich bei den zu synchronisierenden Aktionen um Workflowschritte so sorgt dar ber hinaus das verantwortliche WfMS daf r da nur Aktionen mit sinnvollen Parameterbelegungen zur Ausf hrung kommen k n nen 2 3 4 4 F r alle Verzweigungen Eine F r alle Verzweigung wie in Abb 2 41 wird hnlich wie eine Beliebig oft Verzweigung durch laufen Am linken Knoten teilt sich die Mannschaft in so viele Gruppen auf da jeder Gruppe einein deutig ein m glicher Wert des Parameters k zugeordnet werden kann Die einzelnen Gruppen durchlaufen unabh ngig voneinander den Rumpf der Verzweigung Beim Durchlaufen einer parametrisierten Aktion wird deren Parameter k durch den Wert ersetzt der der durchlaufenden Gruppe zugeordnet ist In der realen Welt mu die Aktion daher mit diesem Parameterwert ausgef hrt werden Am rechten Knoten treffen die Gruppen wieder zusammen und setzen ihre Reise gemeinsam fort sobald alle Gruppen eingetroffen sind Anmerkung Da die Menge der prinzipiell m glichen Parameterwerte in vielen Anwendungen sehr gro oder sogar unbeschr nkt
116. bezeichnet vgl auch A 1 2 und A 2 2 124 4 3 3 Kapitel 4 Implementierung von Interaktionsausdr cken Aktionsnamen Parameternamen und Parameterwerte type Aname String type Pname String type Value String Parameter type Param attr name Param gt Pname Name attr value Param gt Value Wert Aktionen type Action attr name Action gt Aname Name attr params Action gt gt Param Parameterliste Kategorien type Category inst Category Atom Sequ Par Disj Conj Sync Iter Ausdr cke type Expr attr cat Expr gt Category Kategorie attr action Expr gt Action Aktion eines atomaren Ausdrucks attr left Expr gt Expr Linker bzw rechter Operand attr right Expr gt Expr eines bin ren Operators attr body Expr gt Expr Rumpf eines un ren Operators attr param Expr gt Paran Parameter eines Quantorausdrucks Abbildung 4 8 Implementierungstechnische Umsetzung des Datenmodells Eine Attributdeklaration ist daher mit einer Alter Table Anweisung in SQL Date98 vergleichbar die eine bestehende Tabelle d h in diesem Zusammenhang einen Typ um ein neues Attribut erweitert 4 3 3 2 Ein und mehrwertige Attribute Die Pfeil bzw Doppelpfeil Notation zur Unterscheidung ein bzw mehrwertiger Attribute kann un mittelbar aus der graphischen Darstellung des Datenmodells bernommen werden Ein
117. das Problem der Inter Workflow Abh ngigkeiten also wie erl utert nicht einfach wegdefiniert werden kann wird als n chstes versucht abh ngige Workflows explizit und individuell zu synchroni sieren Einige wenige Workflow Management Systeme wie z B SNI WorkParty Rupietta94 SNI95 Frank97 oder SAP BusinessFlow W chter95ab Gerstner95 bieten hierf r ein rudiment res Ereig nis Konzept an mit dessen Hilfe sich Workflows gegenseitig Ereignisse oder Nachrichten senden k nnen Au erdem kann bei der Modellierung eines Workflows festgelegt werden da ein bestimmter Schritt dieses Workflows erst ausgef hrt werden darf nachdem eine bestimmte Nachricht von einem anderen Workflow eingetroffen ist Konzeptionell hat man damit die M glichkeit Kontrollflu kanten ber Workflowgrenzen hinweg zu spezifizieren wie dies in Abb 1 5 schematisch dargestellt ist Die beiden Workflows f r Sonographie und Endoskopie sind dort wieder wie urspr nglich in Abb 1 1 und 1 2 getrennt wurden jedoch um 1 3 L sungsversuche 1 3 2 7 Termin vereinbaren Untersuchung anordnen Patient Untersuchung Befund Befund abrufen durchf hren erstellen lesen Patient N vorbereiten X j 1 ww oy A Sonographie N X Patient a vorbereiten Kurzbefund Kurzbefund erstellen lesen Untersucht Patient anordnen aufkl ren Patient Untersuchung abrufen durchf hre
118. definiert P als L sung der Rekursionsgleichung X P X SKIP die be sagt da nach Ausf hrung von P entweder eine neue Iteration X durchlaufen wird oder der Proze 6 4 Erweiterte Transaktionsmodelle 6 4 1 259 erfolgreich terminiert Allerdings besitzt auch diese L sung den Nachteil da der Proze X nichtde terministisch ist Im Gegensatz zum Interaktionsausdruck amp P Kann er eigenm chtig und willk rlich nach einer beliebigen Anzahl von Iterationen terminieren ohne hierbei die W nsche des Benutzers zu respektieren hnliche Schwierigkeiten ergeben sich auch bei der Definition von Prozessen die den Interaktions ausdr cken 4 P und P entsprechen Bei letzterem kommt auch noch das oben diskutierte Problem von Mehrdeutigkeit gegen ber Nichtdeterminismus hinzu Dies bedeutet da auch ein zweites we sentliches Prinzip von Interaktionsausdr cken die modulare Kombination von Ausdr cken vgl 2 8 2 4 von CSP nicht durchg ngig unterst tzt wird Sonstiges Abgesehen von diesen beiden wesentlichen Unterschieden zwischen CSP und Interaktionsausdr cken sollte erw hnt werden da auch CSP nicht vollst ndig orthogonal ist da auf der linken Seite des Pr fixoperators gt kein Proze sondern nur eine Aktion stehen darf Au erdem kann der Auswahlopera tor nur in Kombination mit dem Pr fixoperator gt verwendet werden Desweiteren wurde in 2 8 2 5 erl utert da explizite Iterationsoperatoren
119. die alle den Graphen x x verarbeiten aber jeweils nur f r eine be stimmte Teilmenge P aller Patienten p zust ndig sind Analog k nnen auch die beiden Graphen in Abb 5 16 durch den Einsatz von m Managern M M implementiert werden die alle die Kopp lung dieser beiden Graphen verarbeiten und jeweils f r eine bestimmte Teilmenge U aller Untersu chungen u zust ndig sind Somit wird der gesamte zweidimensionale Parameterraum aller Patienten Untersuchungs Kombinationen p u schachbrettartig in insgesamt m n Felder P x U unterteilt von denen jedes einerseits von einem Manager N und andererseits einem Manager M kontrolliert wird vgl Abb 5 17 Will ein Klient nun eine Aktion f r einen bestimmten Patienten p und eine bestimmte Untersu chung u ausf hren so mu er zun chst mit Hilfe zweier Hashfunktionen o die beiden Indizes i 200 5 2 8 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken 5 5 S a Untersichung gt x E OO U en U f OO u p p u p u Patient Unt h iN a atien ntersuchung MN O Sey o ns Ne O u p p u p u p u Abbildung 5 16 Bedingungen f r Untersuchungsstellen u A N N N Um Mm U M U M gt p P P bas 7 P Abbildung 5 17 Aufteilung des zweidimensionalen Parameterraums und j bestimmen f r die p P und u U gilt Anschlie end kann
120. druck x nicht vorkommt Ebenso wie es nun unsinnig w re die Aussage J S Bach ist 1685 geboren als falsch zu verwerfen nur weil sie aus einer bestimmten Wissensbasis nicht abgeleitet werden kann w re es auch unangebracht die Ausf hrung einer Aktion a prinzipiell zu verbieten nur weil sie in ei nem bestimmten Interaktionsgraphen nicht enthalten ist Wollte man diese abgeschlossene Sicht eines Graphen tats chlich vertreten so w re ein Graphautor gezwungen s mtliche in der realen Welt ausf hrbaren Aktionen bei der Formulierung eines Graphen zu ber cksichtigen was zweifellos unrealistisch w re Vielmehr sollte ein Interaktionsmanager bei der Interpretation seines Ausdrucks x eine open world assumption zugrundelegen die damit rechnet da es neben den im Ausdruck x vorkommenden Aktionen auch noch andere Aktionen gibt ber die x keine Aussage macht Konkret bedeutet dies da ein Interaktionsmanager eine Anfrage bzgl einer Aktion a nicht nur mit Accept oder Reject sondern auch mit dem Nachrichtentyp Unknown beantwor ten kann vgl Tab 5 10 wenn ihm die Aktion unbekannt ist und er daher keine Aussage ber sie ma chen kann hnlich wie beim Antworttyp Reject wird in diesem Fall kein Zustands bergang durchge f hrt und der Manager erwartet keine Best tigung seitens des Klienten Phase 1 Phase 2 Phase 3 vorl ufige A endg ltige Anfragen Aa Best tigungen he ees Ask Accept Exec Commit Wait Reject Undo Abo
121. einer Sequenz oder ein Attribut eines offenen Typs um einen konstanten Faktor in der Gr enordnung 1 bis 10 langsamer ist als ein entspre chender Zugriff auf ein Element eines C Vektors oder eine Komponente eines C st ruct s Entspre chendes gilt f r den Aufruf einer partiellen Funktion wenn man ihn mit dem Aufruf einer gew hnli chen C Funktion vergleicht Demgegen ber steht jedoch ein Effizienzgewinn bei der Entwicklung von Programmen der ver mutlich in derselben Gr enordnung liegt Insbesondere wird man durch die Verwendung von Se quenzen und offenen Typen von vielen l stigen fehleranf lligen und zeitraubenden Speicher Ver waltungsaufgaben befreit und kann sich so ganz auf die eigentlich zu l senden algorithmischen Prob leme konzentrieren Da die Sprache CH jedoch nur ein Abfallprodukt dieser Arbeit darstellt und bisher keine wissen schaftlich fundierten Vergleiche mit anderen Programmiersprachen vorliegen soll die Diskussion ber m gliche Vor und Nachteile ihrer Konzepte hier nicht weiter vertieft werden Aus der pers nlichen 3 forall2 entspricht forall erlaubt aber eine gleichzeitige Iteration ber zwei Sequenzen Mengen oder Multimengen 298 Anhang A Die Programmiersprache CH Sicht des Verfassers wurde die Implementierung von Interaktionsausdr cken durch ihre Verwendung jedoch erheblich vereinfacht Anhang B Verifikation des Zustandsmodells B 1 Einleitung Dieser Anhang enth lt Hil
122. einer hier nicht n her erl uterten Funktion receive entgegengenommen und in Objekte vom Typ Msg umgewandelt werden Neben den in Abb 5 18 vereinbarten Attributen cat Typ bzw Kategorie der Nachricht und action angefragte Aktion enth lt ein solches Objekt auch den Absen der der Nachricht d h den Klienten an den eine eventuelle Antwortnachricht zur ckgesandt wird Mit Hilfe der Funktion contains vgl 4 6 2 2 wird zun chst berpr ft ob der Ausdruck x die angefragte Aktion m action enth lt Ist dies nicht der Fall wird mit Hilfe der Funktion send entweder die Antwort Unknown bei Anfragen vom Typ Ask oder Wait oder Permit bei Anfragen vom Typ Subscribe zur ckgesandt w hrend eine Cancel Nachricht in diesem Fall vollkommen unbeantwortet bleibt Als Gegenst ck zu receive erh lt die Funktion send ein Objekt vom Typ Msg als Argument hier Konkret das Objekt m an dessen Attribut cat der Wert Unknown oder Permit zugewiesen wurde und wandelt es in eine entsprechende Nachricht um die an den oben er w hnten Absender von m zur ckgesandt wird Nach Ausschlu dieses Sonderfalls wird die Anfrage m abh ngig vom Nachrichtentyp m cat je weils unterschiedlich verarbeitet 202 5 2 9 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken begin Ausdruck in einen Operatorbaum transformieren und seinen initialen Zustand bestimmen x parse expr args 1 s init x Nachrichten von Klienten vea
123. entsprechenden Definitionen f r o t und p vgl 4 5 4 6 1 Da der Teilausdruck y terminal fokussiert ist besitzt er h chstens den Zustand als Endzustand der jedoch bei keinem gew hnlichen Ausdruck als initialer Zustand auftritt Somit ist der initiale Zustand o y von y mit Sicherheit kein Endzustand und daher gilt f r den initialen Zustand von x a x z o y 2 F r einen Zustand s z 1 gilt s t s z l solange der transformierte Zustand I r l kein Endzustand ist und p s s sofern ein g ltiger Zustand ist F r ein Wort w das zwar ein partielles aber noch kein vollst ndiges Wort von y darstellt folgt daher durch voll st ndige Induktion 6 x z 6 0 3 Ist der Zustand l t l jedoch ein Endzustand so ist er aufgrund der terminalen Fokussierung von y gleich T und es gilt s z s z T o z sowie 8 p s o z Daher gilt f r ein vollst ndiges Wort w von y 6 x a z A 4 Wendet man auf diesen Zustand weitere Zustands berg nge an so erh lt man offensichtlich Folgezust nde z des Teilausdrucks z F r ein Wort w u v das ein vollst ndiges Wort u von y als Pr fix enth lt gilt daher x 6 z Zusammenfassend gilt somit f r die optimierten Folgezust nde x des Ausdrucks x I z O 0 f r we Py PO A 6 x w x z f r w u v mit u y B
124. entwurf f r den Bereich der minimal invasiven Chirurgie Nr DBIS 14 Interne Ulmer Informatik Berichte Abteilung Da tenbanken und Informationssysteme Universit t Ulm July 1996 Konyen96b I Konyen B Schulthei M Reichert Proze entwurf f r den Ablauf einer radiologi schen Untersuchung Nr DBIS 15 Interne Ulmer Informatik Berichte Abteilung Datenbanken und Informationssysteme Universit t Ulm July 1996 Konyen96c I Konyen B Schulthei M Reichert Proze entwurf eines Ablaufs im Labor Nr DBIS 16 Interne Ulmer Informatik Berichte Abteilung Datenbanken und Informationssysteme Universit t Ulm July 1996 Kuhn95a K Kuhn M Reichert P Dadam Using Workflow Management Systems in Clinical Envi ronments A Critical Analysis Nr DBIS 2 Interne Ulmer Informatik Berichte Abteilung Daten banken und Informationssysteme Universit t Ulm June 1995 285 Kuhn95b K Kuhn M Reichert P Dadam Unterstiitzung der klinischen Kooperation durch Work flow Management Systeme Anforderungen Probleme Perspektiven In H J Trampisch S Lan ge eds Medizinische Forschung rztliches Handeln Proc 40 Jahrestagung der GMDS MMV Medizin Verlag M nchen 1995 437 441 Lauer75 P E Lauer R H Campbell Formal Semantics of a Class of High Level Primitives for Coordinating Concurrent Processes Acta Informatica 5 1975 297 332 Lauer79 P E Lauer M W Shields E Best COSY
125. erneut so kann auch a ein zweites Mal schalten was zur Folge hat da s nun zwei Marken enth lt von denen eine sozusagen der Gruppe G und die andere der Gruppe G entspricht Durch Schalten der Hilfstran sition 1 K nnte eine dieser Marken zwar zur Stelle s4 transferiert werden was die Hilfstransition 4 deren Schalten eine notwendige Voraussetzung f r das Schalten von d ist aber noch nicht aktiviert Aufgrund der Verbotskante von s nach t kann diese Transition erst schalten wenn s leer ist Daher w rde das Netz nach Ausf hrung der Aktionen a b und a die Ausf hrung von d verbieten 6 5 1 6 Netze mit individuellen Marken Wie bereits angedeutet liegt die Ursache f r dieses unerw nschte Verhalten darin begr ndet da die Hilfstransition f deren Schalten die innere Beliebig oft Verzweigung beendet nicht erkennen kann da die Marken in der Stelle s von zwei verschiedenen Marken der Stelle s abstammen Um das ge w nschte Verhalten zu erreichen bietet sich daher die Verwendung h herer Petrinetze mit individuel len d h unterscheidbaren Marken an Jensen91 Baumgarten96 Abbildung 6 19 zeigt eine Abb 6 17 entsprechende Schablone die nun nach Belieben verschachtelt werden kann Die Gene rator Transition 7 konstruiert aus einer beliebigen Marke x der Stelle s sowie einer lokalen Z hler marke n der Stelle sz eine eindeutige Marke x n in der Stelle s Au erdem propagiert sie die Mar ke
126. es sich bei der Aktion Kopie A4 X5 um eine konkrete Aktion handelt Kopie A4 X5 Abbildung 3 2 Atomarer Ausdruck Kopie A4 X5 F r den Ausdruck Kopie A4 k mit k TI vgl Abb 3 3 gilt jedoch amp Kopie A4 k Kopie A4 k AL und P Kopie A4 k Kopie A4 k A L da es sich bei der Aktion Kopie A4 k um eine abstrakte Aktion F handelt Kopie A4 k Abbildung 3 3 Atomarer Ausdruck Kopie A4 k Anmerkung Aufgrund der obigen berlegungen und Definitionen ist die Verwendung formaler Parameter zun chst nicht sehr sinnvoll Durch die Einf hrung konkretisierter Aktionen und Ausdr cke in 3 3 3 1 wird 72 3 3 1 Kapitel 3 Interaktionsausdr cke sich dies jedoch ndern da auf diese Weise formale Parameter im Kontext von Quantorausdr cken durch konkrete Werte ersetzt werden k nnen Alternativ k nnte man die Menge der vollst ndigen und partiellen Worte eines Ausdrucks abh ngig von einer Parameterbelegungsfunktion B Il Q oft auch als Umgebung oder environment bezeich net definieren die jedem formalen Parameter p II einen konkreten Wert Q zuordnet Dies hat jedoch den Nachteil da die Belegungsfunktion B stets als zus tzlicher Parameter von Y und mit gef hrt werden mu Au erdem m te man bei diesem Ansatz Ausdr cke mit global ungebundenen Parametern verbieten weil sie keine eigene kontextunabh ngige
127. es sich typischerweise um Patienten Identifikationsnummern w hrend der Parameter u symbolische Konstanten wie z B sono f r Sonographie oder endo f r Endoskopie enthalten Kann Durch geeignete Quantifizierung dieser Parameter mit Hilfe von F r ein und F r alle Verzweigun gen erh lt man den Graphen in Abb 2 62 Die F r alle Verzweigung ber p beschreibt da die durch ihren Rumpf spezifizierte Bedingung f r jeden Patienten p separat einzuhalten ist Aktivit ten ver schiedener Patienten jedoch unabh ngig voneinander ausgef hrt werden k nnen Der Rumpf dieser Verzweigung entspricht im wesentlichen dem Graphen aus Abb 2 61 der in geeigneter Weise um F r ein Verzweigungen erweitert wurde Gye Ge a ee ee a ee vorbereiten u u pP u ie ee a h eg ae Nez h p u u p p u Patient Untersuchung abrufen durchf hren u u pP u pP u Abbildung 2 62 Integrit tsbedingung f r alle Patienten 2 7 1 3 Korrekte Verwendung von F r ein Verzweigungen Wie bereits in 2 3 4 6 angedeutet wurde mu beim Einsatz dieser Verzweigungen sorgf ltig auf ein korrektes Scoping geachtet werden damit die Semantik des formulierten Graphen wirklich der in tendierten Bedeutung entspricht Beispielsweise m ssen die F r ein Verzweigungen in den oberen beiden Zweigen des wechselseitigen Ausschlusses jeweils innerhalb der Beliebig oft Verzweigungen plaziert werden
128. f r die Aktion Ay eintrifft 3 wird die Aktivit t A tats chlich in der Arbeitsliste des Benutzers angezeigt 4 weil sie erst dann wirklich ausgef hrt werden darf Wenn sp ter eine zugeh rige Forbid Nachricht eintrifft 5 wird die Aktivit t wieder aus der Arbeitsliste entfernt 6 weil sie dann vor bergehend nicht ausgef hrt werden darf Alter nativ k nnte man unzul ssige Aktivit ten auch in der Arbeitsliste belassen und sie lediglich als nicht ausf hrbar kennzeichnen Dieses Wechselspiel von Permit und Forbid Nachrichten kann sich beliebig oft wiederholen 3 6 18 Zur Vereinfachung der Darstellung wird zun chst davon ausgegangen da es nur einen Interaktionsmanager gibt Alle berlegungen las sen sich jedoch ohne weiteres auf ein System mit mehreren Managern verallgemeinern vgl 5 5 2 4 222 5 5 2 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken 1 Aktivit t A 2 Subscribe Ay zul ssig Interaktions 3 Permit Ag Arbeitslisten York flow Manager 5 Forbid Ay Programm Ane Manes ET O M N E Su Einheit 8 Cancel Ay 7 Aktivit t A unzul ssig uuu Y 6 uuU Y 9 uad ozue y y Arbeitsliste Abbildung 5 41 Aktualisierung einer Arbeitsliste Ist eine Aktivit t A aus Sicht der Workflow Ausf hrungseinheit nicht mehr zul ssig 7 typischer weise weil sie von einem anderen Bearbeiter gestartet wurde so sendet das
129. ffnen A4 Schlie en A4 x z a y a z 10 Pf Weiterhin gilt wenn man mit OS jeweils eine beliebige Folge der Aktionen ffnen A4 und Schlie Ben A4 und mit ZZ jeweils eine beliebig lange 10 Pf Folge bezeichnet PO 8 y 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 Offnen A4 SchlieBen A4 OS OS 10 Pf S Kopie A4 OS OS 10 Pf OS Kopie A4 OS 10 Pf OS Kopie A4 OS D z x z Kopie A4 ffnen A4 Schlie en A4 Kopie A4 ffnen A4 Schlie en A4 ffnen A4 Schlie en A4 Kopie A4 10Pf ZZ ZZ Kopie A4 ZZ ZZ ffnen A4 ZZ Schlie en A4 ZZ L 10Pf Kopie A4 P Kopie A4 Offnen A4 Schlie Ben A4 Abbildung 3 20 Beispiel einer Synchronisation 3 3 Definition von Interaktionsausdr cken 3 3 2 83 ZZ Kopie A4 ZZ ffnen A4 ZZ Schlie en A4 ZZ ZZ ffnen A4 ZZ Schlie en A4 ZZ Kopie A4 ZZ Bildet man den Durchschnitt dieser beiden Mengen so erh lt man die folgende Menge der vollst ndi gen Worte des Ausdrucks x y z Diy o z Py K1 y N z x z 10 Pf Kopie A4 ffnen A4 Schlie en A4 ffnen A4 Schlie en A4 10 Pf Kopie A4 ffnen A4 10 Pf Schlie en A4 Kopie A4 10 Pf ffnen A4 Schlie en A4 Kopie A4 10 Pf Kopie A4 ffnen A4 Schlie en A4 K Die
130. hier die aktuelle Nachricht m als Argument um anzuzeigen da explizit auf eine Nachricht gewartet werden soll die vom selben Absender wie m stammt und sich auf d Nachricht rechtzeitig eintrifft mu sie vom Typ ieselbe Aktion m action bezieht Falls eine solche Exec oder Undo sein Im ersten Fall wird nun der tentativ ausgef hrte Zustands bergang tats chlich durchgef hrt indem der aktuelle Zustand s durch den Folgezustand s_ ersetzt wird und eine abschlie ende Commit Antwort an den Klienten ge schickt Im Falle einer Undo Best tigung des Klienten bleibt der aktuelle Zustand s unver ndert d h der Folgezustand s_ wird verworfen Trifft die erwartete Best tigung des Klienten nicht rechtzeitig ein liefert receive die als Argument bergebene Nachricht m zur ck deren Kategorie m cat ver 204 5 2 9 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Zustands bergang abschlie en d h Warteliste berpr fen und Abonnenten ber Status nderungen informieren proc complete Msg m Warteliste durchlaufen Wenn ein Zustandstibergang erfolgreich ist Eintrag entfernen Wenn ein tats chlicher Zustands bergang durchgef hrt wurde von vorne beginnen forall m lt lt queue switch reply m Accept nil case 1 delete break case 2 delete reset Abonenntenliste durchlaufen Wenn sich der Status einer Aktion ge ndert hat entspre
131. hlt werden soll Wenn der Kunde beabsichtigt zwei weitere 1 DM M nzen einzuwerfen sollte man den oberen Zweig durchlaufen will er anschlie end jedoch eine 2 DM M nze einwerfen m te man sich f r den mittleren Zweig entscheiden Da der Graph bzw ein Programm das ihn interpretiert die Absicht des Kunden nicht kennt und der Kunde auch keine M glichkeit hat diese zu kommunizieren gibt es prinzipiell nur zwei m gli che Verhaltensweisen 1 Der Graph verh lt sich nichtdeterministisch d h er entscheidet sich hnlich wie in 2 4 1 be schrieben willk rlich oder zuf llig f r eine der beiden Alternativen 2 Der Graph verh lt sich deterministisch indem er die Entscheidung aufschiebt und beide Alternati ven so lange weiterverfolgt bis sich eine von ihnen definitiv als falsch erweist d h mit der tat s chlich ausgef hrten Folge von Aktionen nicht mehr vereinbar ist Obwohl die erste Variante aus Entwicklersicht den Vorteil besitzt da sie sehr leicht implementiert werden kann ist sie aus Anwendersicht jedoch kaum akzeptabel da die Benutzung eines Automaten so zum Gl cksspiel wird Wirft der Kunde im ersten Schritt eine 1 DM M nze ein so h ngt es vom Zufall ab ob anschlie end eine 2 DM oder aber zwei 1 DM M nzen akzeptiert werden hat der Kun de gerade nur die andere Alternative zur Hand so hat er Pech gehabt Da ein solches Systemverhal ten in den meisten Anwendungen nicht zumutbar ist der Ku
132. ist wird im folgenden grunds tzlich von einer unendlichen Menge aus gegangen Dies bedeutet da eine F r alle Verzweigung anschaulich einer Sowohl als auch Verzwei gung mit unendlich vielen Zweigen entspricht Auf die m glichen Konsequenzen dieser Tatsache wird in 2 5 2 genauer eingegangen 2 3 4 5 Beispiel Konkret kann der Graph in Abb 2 41 zum Beispiel wie folgt durchlaufen werden 1 Am linken Knoten teilt sich die Gesamtmannschaft in unendlich viele Gruppen auf Einer der Gruppen wird zum Beispiel die Seriennummer X5 einer anderen die Nummer U7 zugeordnet 2 Die Gruppe mit der Nummer X5 teilt sich am Beliebig oft Verzweigungsknoten in zwei Teil gruppen die beide die initiale Aktion 10 Pf mit der Parameterbelegung k X5 durchlaufen 2 3 Weiterf hrende Operatoren Beispiel M nzkopierer 2 3 4 39 bertragen auf die reale Welt bedeutet das da in den Kopierer mit der Seriennummer X5 zwei Groschen eingeworfen wurden 3 Eine der beiden X5 Teilgruppen geht weiter biegt am Entweder oder Verzweigungsknoten nach oben ab und durchl uft die Aktion Kopie A4 ebenfalls mit der Parameterbelegung k X5 Am Kopierer X5 wurde jetzt also eine A4 Kopie erstellt 4 Die Gruppe U7 durchl uft als ganzes den Rumpf der Beliebig oft Verzweigung d h sie teilt sich quasi in eine einzige Teilgruppe auf Sie passiert die erste Aktion 10 Pf biegt am Entweder oder Verzweigungsknoten nach unten ab durchl uft die z
133. k n y betr gt Somit ist auch der Verzweigungsgrad eines Zustands h chstens k d h konstant 4 7 Komplexit tsbetrachtungen 4 7 3 171 Anmerkung Die initiale Fokussierung des Iterationsrumpfs y wird ben tigt um zusammen mit seiner Injektivit t die Injektivit t des Quantorrumpfs y y zu folgern vgl 4 7 2 3 Die zus tzlich im plizierte initiale Fokussierung von y wird hingegen nicht ben tigt Folgerungen Eine parallele Iteration kann bedenkenlos angewandt werden wenn ihr Rumpf quasi regul r und oder injektiv und initial fokussiert ist Man beachte jedoch da diese Eigenschaften z T von Parameterbe legungen abh ngen vgl 4 7 2 3 Aus den berlegungen am Anfang des Beweises folgt auch da die Implementierung der paralle len Iteration als spezieller paralleler Quantor keine h here Komplexit t als eine direkte Implementie rung besitzt da ein Zustand s y p A des Quantorausdrucks x im wesentlichen nur eine Men ge A von Alternativen 7 repr sentiert die jeweils Multimengen von Zust nden ft O y darstellen Derart strukturierte Zust nde w ren prinzipiell auch f r eine direkte Implementierung der parallelen Iteration erforderlich Anmerkung Die parallele Iteration ist nicht grunds tzlich gutartig Als Gegenbeispiel betrachte man den Ausdruck x y mit y a b und ein Wort w a a der L nge N 1 2 n n l O n Da es 2 verschiedene Teilmengen
134. korrekte Bearbeitung der Steuererkl rungen ist jedoch da jeder Steuerpflichti ge seine Erkl rung jedes Jahr an denselben Beamten richtet da nur dieser die Unterlagen der vergan genen Jahre besitzt W rde jemand den Beamten wechseln so w rde der neue Beamte in seinem Schrank keine Akte f r diese Person finden und daher wenn er nicht auf den Anfangsbuchstaben ach tet f lschlicherweise eine neue anlegen Auf diese Weise k nnte die Person beispielsweise zu Un recht gewisse Steuerverg nstigungen mehrmals erhalten Zur ck bertragen auf das Szenario der n Interaktionsmanager die alle denselben Graphen x verar beiten k nnte das z B bedeuten da sich ein Klient quasi gleichzeitig von zwei verschiedenen Ma nagern die Erlaubnis zum Starten der Aktivit ten Patient Meier f r Untersuchung sono vorbereiten 5 2 Interaktionsmanager 5 2 8 199 und Patient Meier f r Untersuchung endo aufkl ren einholen k nnte die er von einem einzigen Mana ger so nicht erhalten w rde 5 2 8 4 Verallgemeinerung Ebenso wie der Graph aus Abb 5 12 lassen sich grunds tzlich beliebige F r alle Verzweigun gen y anhand der Werte des Parameters p partitionieren sofern ihr Rumpf y gewisse Vorausset p zungen erf llt die bei realistischen Graphen normalerweise gegeben sind Eine hinreichende Bedin gung ist z B da y vollst ndig und homogen quantifiziert ist d h da jede Aktion a von y den Para meter p enth lt und falls a in y
135. mit den Abschnitten in de nen sie eingef hrt wurden noch einmal im Zusammenhang und kann daher als Kurzreferenz ver wendet werden Au erdem werden hier bereits die im folgenden Kapitel eingef hrten formalen Be zeichnungen der Operatoren erw hnt 2 8 2 Prinzipien Auch die in diesem Kapitel explizit oder implizit erw hnten Grundprinzipien von Interaktionsgraphen sollen im folgenden noch einmal kurz rekapituliert werden 2 8 2 1 Orthogonalit t Mit dem Begriff Orthogonalit t bezeichnet man gew hnlich die M glichkeit die von einem Forma lismus angebotenen Operatoren uneingeschr nkt miteinander kombinieren zu k nnen bertragen auf Interaktionsgraphen bedeutet das da die verschiedenen Verzweigungen Wiederholungen etc belie 2 8 Zusammenfassung 2 8 2 61 Ce ee et aN vorbereiten u u p u a le ee O lt 4Y O OFF aim OOCR 4 4 p u a P Patient Untersuchung abrufen durchf hren u u p u p u 2 F Unt h 2 a gt ntersuchung N OOH udire OOO x g pu P if Unt h ER ntersuchung O Na as C O P p sono P 2 Patient Unt h N atien ntersuchung O gt C a 9 P p u p u P 24 Stunden Untersuchung lt P gt A a N Oh Men eas CHI P Patient P abrufen p sono Abbildung 2 73 Zusammenf
136. nicht als Problem empfunden Die f r die Theorie hilfreiche Konvention da Quantorparameter eindeutig sein m ssen vgl 3 3 3 1 wird aufgehoben und durch geeignete Sichtbarkeitsregeln engl scope rules ersetzt wie man sie von blockorientierten Programmiersprachen kennt Das bedeutet da formal zwischen Para meterbezeichnern die mehrdeutig sein k nnen und den eigentlichen Parametern die eindeutig sind unterschieden wird und da der Parameter eines inneren Quantors alle gleichnamigen Parameter um gebender Quantoren verbirgt Somit bezieht sich das Vorkommen eines bestimmten Parameterbe zeichners in der Argumentliste einer Aktion immer auf den Parameter des kleinsten umgebenden Quantorausdrucks mit diesem Bezeichner 4 2 Syntax von Interaktionsausdr cken 4 2 5 119 4 2 5 Grammatik von Interaktionsausdriicken Nach diesen Vorbereitungen kann die Syntax von Interaktionsausdriicken mit Hilfe der kontextfreien Grammatik in Abb 4 4 spezifiziert werden sofern die in 4 2 2 erw hnten Vorrangregeln mitber ck sichtigt werden Ein Interaktionsausdruck ist expr act entweder ein atomarer Ausdruck 2 expr expr oder eine Option CXT expr expr oder eine sequentielle Iteration expr expr oder eine parallele Iteration expr expr oder eine sequentielle Komposition expr t expr oder eine parallele Komposition ex
137. ning95 wenn auch in ei ner etwas ungewohnten Notation Da Interaktionsausdr cke dar ber hinaus weitere Operatoren anbie ten liegt die Vermutung nahe da sie eine echte Erweiterung regul rer Ausdr cke darstellen Dies wirft grunds tzlich die Frage auf welche Ausdrucksm chtigkeit Interaktionsausdr cke besitzen und an welcher Stelle der Chomsky Hierarchie sie einzuordnen sind Diese Fragen werden im folgenden etwas n her untersucht 3 5 1 Definitionen 1 Die Ausdrucksm chtigkeit E F eines Formalismus F wie z B regul re oder Interaktionsaus dr cke kann definiert werden als die Menge aller Sprachen die durch Ausdr cke 0 4 dieses Formalismus beschrieben werden k nnen E F L x x e F Damit Interaktionsausdr cke in diesem Zusammenhang mit klassischen Formalismen wie z B regul ren Ausdr cken oder kontextfreien Grammatiken verglichen werden k nnen wird die Spra che L x eines Interaktionsausdrucks x als die Menge seiner vollst ndigen Worte definiert vgl auch 3 2 3 L x B x 2 Ein Formalismus F hei t mindestens so ausdrucksstark wie ein anderer Formalismus A wenn die Inklusion E F 2 E F gilt F hei t echt ausdrucksst rker als Fj wenn dar ber hinaus E F E B gilt d h wenn es einen Ausdruck x F mit L x E B gibt 3 Ein Formalismus F hei t teilweise ausdrucksst rker als ein anderer Formalismus F wenn es ei nen Ausdruck x F gibt dessen Sprache L x nicht in der
138. optionalen Fl geln z und z erlaubt prinzipiell dieselben Ausf hrungsreihenfolgen wie der Teilausdruck y Allerdings kann die Traversierung von y jederzeit abgebrochen werden indem mit der Traversierung von z oder z begonnen wird Nach dem vollst ndigen Durchlaufen von z kann dann erneut mit der Traversierung von y begonnen werden w hrend das Ende von z gleichzeitig das Ende des Gesamt 7 2 Ausblick 72 1 275 ausdrucks z lt y gt z darstellt Somit ist es m glich die Abarbeitung des Ausdrucks y entweder durch einen R ckw rtssprung nach z oder durch einen Vorw rtssprung nach z vorzeitig zu beenden Anhand konkreter Anwendungsbeispiele m te nun untersucht werden ob sich praktisch relevante Problemstellungen mit den skizzierten Operatoren zufriedenstellend l sen lassen Sollte dies der Fall sein m te ihre Semantik pr zise definiert und das operationale Modell sowie die Implementierung von Interaktionsausdr cken entsprechend erweitert werden au erdem sollte eine intuitive graphische Darstellung der Operatoren gefunden und ihre Komplexit t untersucht werden Sollten sich die Opera toren in der Praxis als unzureichend oder unhandlich erweisen m ten ad quatere Ausdrucksmittel zur Behandlung von Ausnahmesituationen gefunden werden Ein anderer Aspekt von Ausnahmebehandlung betrifft das koordinierte Zur cksetzen Kompensieren oder Erneut Ausf hren von Aktivit ten mehrerer Workflows wie es in 6 6 2
139. prinzi piell hnlich wobei die Komplexit t der Umformungen etwas geringer ist als bei der Vertauschung zweier Quantoren 3 4 10 Rekursionsgleichungen der Iterationsoperatoren 3 4 10 1 Satz F r die Iterationsoperatoren amp und gelten die folgenden Rekursionsgleichungen x o y x firx eay x gt y x firx y Beweis F r den Ausdruck amp y y gilt einerseits 0 09 0 VO E 0 U PO UO EI u VE U 20 Hay und andererseits 106 3 4 11 Kapitel 3 Interaktionsausdriicke Po O By YO U PO PO FO Y y ausklammern Distributivit t der Konkatenation bzgl Vereinigung U PO E y YO vgl oben Ay Py Play und somit da die Alphabete offensichtlich ebenfalls gleich sind u o y ey ey Analog ergibt sich auch die Gleichung fiir die parallele Iteration 3 4 10 2 Anmerkung Da Makrodefinitionen wie bereits mehrfach erw hnt nicht rekursiv sein d rfen k nnen die genann ten Rekursionsgleichungen nicht zur Definition der Ausdr cke x a y bzw x y verwendet wer den Sie sind daher prim r von theoretischem Interesse 3 4 11 Redundanz der parallelen Iteration 3 4 11 1 Satz Die parallele Iteration y ist quivalent zu dem Quantorausdruck x lt y wobei p e II ein an onymer Parameter ist der im Ausdruck y nicht vorkommt Beweis Sei z cy d h x z Da der Parameter p im Ausdruck y nicht vorkommt gilt Zp oY f
140. sse bei der Verarbeitung von Aktionen zu vermeiden vgl 5 2 7 1 2 7 Interagierende medizinische Untersuchungsworkflows 2 7 1 53 2 7 Interagierende medizinische Untersuchungsworkflows Nachdem die verschiedenen Operatoren und Prinzipien von Interaktionsgraphen in den vorangegange nen Abschnitten dieses Kapitels ausf hrlich erl utert und diskutiert worden sind ist man nunmehr in der Lage das in Kapitel 1 vorgestellte Anwendungsszenario der interagierenden medizinischen Unter suchungsworkflows wiederaufzugreifen und konkrete L sungsvorschl ge f r die aufgeworfenen Prob leme zu entwickeln 2 7 1 Integrit tsbedingungen f r Patienten 2 7 1 1 Bedingung f r einen Patienten Bereits in 1 2 2 wurde erw hnt da sich ein Patient nicht in zwei Untersuchungsstellen gleichzeitig befinden kann d h da die Schrittfolge Patient abrufen Untersuchung durchf hren einen kriti schen Abschnitt BrinchHansen72 darstellt der von parallel ausgef hrten Untersuchungsworkflows dieses Patienten nicht gleichzeitig durchlaufen werden darf Au erdem kann ein Patient w hrend er sich in einer Untersuchungsstelle befindet nicht f r eine andere Untersuchung vorbereitet oder aufge kl rt werden d h die zugeh rigen T tigkeiten schlie en sich wechselseitig aus Die gleichzeitige oder berlappende Durchf hrung mehrerer Vorbereitungsma nahmen wie z B Blut abnehmen oder Aufkl rungsgespr che ist jedoch zul ssig und in der Regel soga
141. think val l 0 z gt a gt wait think val 2 0 think_org 1 Unknown Wait wait U think_org 2 wait think val 1 1 z gt wait think val 2 1 Unknown Unknown enter 1 Wait Wait enter 2 wait enter val l 0 amp gt a gt wait enter val 2 0 enter_org 1 Accept Wait Wait Accept enter_org 2 wait enter val l 1 amp gt a gt wait enter val 2 1 Accept Accept get 1 1 Wait Wait get 2 2 wait get val 1 val l gt gt wait get val 2 val 2 0 Accept f Accept get_org 1 1 Wait Wait get_org 2 2 wait get val 1 val l 1 amp gt a gt wait get val 2 val 2 1 Accept Accept get 1 2 Wait Wait get 2 3 wait get val 1 val 2 0 e o wait get val 2 val 3 0 Accept Wait get_org 2 3 wait get val 2 val 3 1 Accept Wait eat 2 2 3 jt Iwait eat val 2 val 2 val 3 0 Wait Unknown eat_org 2 2 3 wait eat val 2 val 2 val 3 1 Unknown Wait put 2 2 wait put val 2 val 2 0 Wait Accept put_org 2 2 wait put val 2 val 2 1 Accept Accept get_org 1 2 ccep Wait Wait put 2 3 wait get val 1 val 2 gt wait put val 2 val 3 0 Accept Wait Accept put_org 2 3 eat 1 1 2 Wait wait put val 2 val 3 1 wait eat val 1 val 1 val 2 0 om N Accept eat_org 1 1 2 Unknown Wait Wait leave 2 wait eat
142. u v die man durch Konkatenation eines Wortes u U mit einem Wort v e V erh lt UV uv ueU veV Durch mehrfache Konkatenation einer Menge U c mit sich selbst erh lt man die n te Potenz der Menge U die induktiv wie folgt definiert ist un 9 fiir n 0 lu U f rn gt 0 Vereinigt man s mtliche Potenzen der Menge U so erh lt man die sequentielle oder Kleenesche Hiille von U U UU u u n Nos Uy 5 Uy eu n 0 3 2 2 3 Verschr nkung und parallele H lle Die Verschr nkung engl shuffle zweier Worte u v e amp ist definiert als u v u vi Up W n IN Wy Vi Up Vy L Uy Uy U V1 Vy VI Ogden78 Shaw78 Guo96 In der Literatur ber formale Sprachen werden Worte h ufig in der Form w w w ohne umgebende Klammern und trennende Kom mata notiert was zur Folge hat da rein syntaktisch nicht zwischen einer Aktion w X und einem Wort w e der L nge 1 unterschie den werden kann Um diesen Unterschied jedoch hervorzuheben und bei l ngeren Aktionsbezeichnern die Lesbarkeit zu verbessern wird in dieser Arbeit die Notation w wy w bevorzugt bei der die einzelnen Aktionen eines Worts durch Kommata getrennt werden und das ganze Wort in spitze Klammern eingeschlossen wird Konsequenterweise kann dann das leere Wort einfach als leeres Klammerpaar dargestellt werden w hrend andernfalls ein Ersatzsymbol wie z B A oder e ben tigt wir
143. um die Alloka tion oder Deallokation von Speicherplatz k mmern obwohl die verwendeten Datenstrukturen hoch gradig dynamisch sind Dementsprechend weist der Code ber weite Strecken einen fast funktiona len Charakter auf Die im ersten Teil der Tabelle erw hnten Pr prozessoren import und CHpre werden in Anhang A A 3 1 etwas genauer erl utert 4 8 Riickblick 4 8 2 181 ae Funktionalitat Sprache oe n Pr prozessoren 700 import Realisierung des CH Modulkonzepts AWK 430 CHpre Realisierung der brigen CH Spracherweiterungen AWK 270 CH Bibliothek 1630 seq Dynamische Sequenzen Mengen und Multimengen C 860 str Dynamische Zeichenketten Strings C 150 obj Offene Typen und zugeh rige Objekte C 530 cmp Vergleichsprozeduren und operatoren C 50 part Partielle Funktionen C 40 Implementierung von Interaktionsausdr cken 1070 expr Operatorb ume CH 150 parse Parser f r Interaktionsausdr cke CH Yacc 230 state Zustandsmodell CH 640 main Hauptprogramm CH 50 Gesamtsumme 3400 Tabelle 4 28 Umfang der Implementierung R ckblickend betrachtet hat sich die sorgf ltige Entwicklung des mathematischen Zustandsmodells die im Verlauf der Arbeit erst nach der Entwicklung einiger prototypischer Implementierungen er folgte in verschiedener Hinsicht positiv auf die Qualit t des Programms ausgewirkt Zum einen wur den durch die Verifikation des Zustandsmodells einige subtile Fehler im Sinne
144. und Elementtest Aufgrund ihrer Verwandtschaft zur logischen Oder Operation wird die Vereinigung zweier Mengen durch den Oder Operator notiert Dem Stil von C bzw C folgend wird daher durch den Operator die Kombination von Vereinigung und Zuweisung ausgedr ckt Zur weite ren Vereinfachung der Notation akzeptiert dieser Operator auf der rechten Seite nicht nur eine Menge sondern auch ein einzelnes Element das in die Menge auf der linken Seite eingef gt wird Die Anweisung R r ist daher quivalent zu R R set r kann aber abgesehen von der kompakteren Notation effizienter implementiert werden Der Operator lt lt steht quasi f r den Elementoperator Die Anweisung forall r lt lt s rights kann daher gelesen werden als Vres rights Gesprochen r Strich so wie r 152 4 6 3 Kapitel 4 Implementierung von Interaktionsausdr cken Sequentielle Iteration Da das Zustandsmodell der sequentiellen Iteration eng mit dem der sequentiellen Komposition ver wandt ist kann es auf hnliche Art und Weise implementierungstechnisch umgesetzt werden 4 6 2 4 Parallele Operatoren Da in 4 6 4 2 die implementierungstechnische Umsetzung des Zustandsmodells paralleler Quanto ren erl utert wird wird an dieser Stelle auf die konzeptuell einfachere Implementierung der bin ren parallelen Komposition nicht n her eingegangen Auf eine direkte Implementierung der parallelen Iteration kann wie bereits erw hnt ve
145. und damit sehr schnellen Zugriff auf die einzelnen Elemente einer Sequenz der jedoch mit relativ ineffizienten Einfiige und L schoperationen insbesondere bei sehr langen Se quenzen erkauft wird Daher sollen die flachen Arrays l ngerfristig durch baumartige Speicherungs strukturen ersetzt werden die sowohl Lese als auch nderungsoperationen nahezu optimal unterst t zen Boehm95 Mittels berladener Operatoren unterst tzen Sequenzen unter anderem die in Tab A genannten Operationen Hinter dem Schl sselwort forall verbirgt sich ein C Makro das den Ausdruck e lt lt s unter trickreicher Verwendung berladener Operatoren zur Initialisierung einer gew hnlichen for Schleife verwendet die anschlie end daf r sorgt da die Variable e alle Elemente der Sequenz s durchl uft Mit Hilfe weiterer Anweisungen ist es au erdem m glich das aktuelle Schleifenelement e aus der Sequenz s zu entfernen ohne die Iteration zu st ren Iterationen zu unterbrechen und sp ter fortzusetzen usw Dar ber hinaus kann eine forall Schleife einen nachgestellten else Teil besit zen der genau dann ausgef hrt wird wenn die Schleife Komplett durchlaufen d h nicht vorzeitig ab gebrochen wurde vgl 4 6 4 2 Operation Erl uterung s Kardinalit t Anzahl Elemente der Sequenz s s i i tes Element der Sequenz s s i j Teilsequenz vom i ten bis zum j ten Element der Sequenz s s Sequenz s mit invertierter Element Reihenfol
146. und geeignetes Umbenennen der Teilausdr cke erh lt man f r B x y z genau dasselbe Resultat P x 0 y 0 z P y 0 Z O x HIN PR OR A P x Ky x y Kyyz das hei t P x o y Oz P x o y o z Ersetzt man schlie lich in allen obigen Formeln durch Y so erh lt man die entsprechende Aussage auch f r die Menge der partiellen Worte F x o y o z F x o O o 2 3 4 8 Eigenschaften un rer Operatoren 3 4 8 1 Lemma Die Mengenoperationen sequentielle und parallele H lle sind idempotent d h es gilt U U und U U Beweis Aufgrund der Distributivit t der Konkatenation vgl 3 4 7 1 gilt zun chst n 0 m 0 n 0 m n 0 k 0 m 0 was sich mit Hilfe vollst ndiger Induktion leicht zu U U f rn gt 1 102 3 4 9 Kapitel 3 Interaktionsausdriicke verallgemeinern l t Daher gilt u U U U U4 U UU Q UU U n 1 n 1 Die Idempotenz der parallelen H lle ergibt sich analog 3 4 8 2 Satz Alle un ren Operatoren von Interaktionsausdr cken sind idempotent d h es gilt eey oy f roe 8 Au erdem nimmt die Potenz der Operatoren in der Reihenfolge 4 amp zu d h es gilt GBay sa8y 8 OvsV sOV OGV GO V OY Beweis 1 Die Idempotenz folgt leicht aus den Definitionen und den Idempotenz Eigenschaften der H llen operationen vgl Lemma 2 Die brigen Behauptungen k nnen unter Verwendung bereits bewiesener Aussagen wie folgt
147. viele Probleme wesentlich kompakter bersichtlicher und nderungsfreundlicher l sen lassen als dies mit den Assembler Konstrukten der Ebene 2 m glich ist Typischerweise werden Mechanismen der Ebene 3 auf solche der Ebene 2 meist Semaphoroperatio nen zur ckgef hrt und diese wiederum mit Hilfe von Hardware Instruktionen der Ebene 1 implemen tiert 6 1 2 berblick Da Interaktionsausdr cke und graphen zweifellos der dritten Ebene zuzuordnen sind und ihre Ent wicklung auch durch Vertreter dieser Kategorie vornehmlich Pfad und Synchronisierungsausdr cke inspiriert wurde sollen im folgenden 6 2 zun chst die Gemeinsamkeiten und Unterschiede zwi schen Interaktionsausdr cken und derartigen auf regul ren Ausdr cken basierenden Ans tzen aufge zeigt werden Hierbei soll u a deutlich werden da Interaktionsausdr cke in vielen Aspekten ber die bisher vorgeschlagenen Formalismen hinausgehen und daher als Vereinigung und Erweiterung der meisten existierenden Ans tze betrachtet werden k nnen Im weiteren Verlauf des Kapitels werden dann ein prominenter Vertreter von Proze algebren 6 3 sowie erweiterte Transaktionsmodelle 6 4 diskutiert bei denen die Verwandtschaft zu Inter aktionsausdr cken nicht mehr so offensichtlich ist und z T nur noch auf der terminologischen Ebe ne existiert d h es werden zwar Begriffe wie z B inter task dependencies verwendet die jedoch kaum mit den in dieser Arbeit betra
148. vollst ndig durchlaufen ist und somit fr hestens zu diesem Zeitpunkt die n chste Sonographie oder Endoskopie f r diesen Patienten begonnen werden kann Anmerkung Wird der Graph in Abb 2 69 f r mehrere Patienten p durchlaufen so ticken u U meh rere Stoppuhren f r verschiedene Patienten gleichzeitig Au erdem k nnen auch f r ein und densel ben Patienten mehrere Uhren gleichzeitig laufen wenn man analoge Graphen f r andere Untersu chungsarten formuliert Damit in einem solchen Szenario jede laufende Uhr eindeutig einem Patien ten p und einer Untersuchungsart u zugeordnet werden kann erh lt die Pseudo Aktivit t Stoppuhr diese Angaben als zus tzliche Parameter 2 7 4 3 Verbesserte Formulierung Sofern nach einer Endoskopie keine Sonographie sondern eine weitere Endoskopie durchgef hrt wer den soll ist die genannte Wartezeit allerdings nicht erforderlich und k nnte zu unn tigen Verz gerun gen im Gesamtablauf f hren Abbildung 2 70 spezifiziert daher da die Sequenz Untersuchung durchf hren Stoppuhr beliebig oft gleichzeitig oder berlappend durchlaufen werden darf d h da eine weitere Endoskopie gestartet werden darf w hrend die Stoppuhr der letzten noch tickt Die ge samte Beliebig oft Verzweigung im oberen Zweig des wechselseitigen Ausschlusses ist jedoch erst dann vollst ndig durchlaufen wenn alle Gruppen die ihren Rumpf durchlaufen den rechten Kno ten erreicht haben was genau 24 Stunden n
149. vollst ndigen Worte ao G O abrufen p u untersuchen p p u amp afe abrufen o u untersuchen a wen u U Q afe O abrufen u untersuchen w i l u U a0 abrufen a u untersuchen o w U Q U abrufen o 7 untersuchen o x neIN i reQ n Ye lY abrufen a z untersuchen a Diese Menge enth lt z B die Worte Q abrufen Meier sono untersuchen Meier sono abrufen Mayr endo untersuchen Mayr endo abrufen Maier sono abrufen Mayr endo untersuchen Mayr endo untersuchen Maier sono abrufen Meyer radio abrufen Meier sono untersuchen Meyer radio untersuchen Meier sono abrufen Mair sono abrufen Maier endo untersuchen Maier endo abrufen Mayer radio untersuchen Mair sono untersuchen Mayer radio USW Durch die Verschachtelung von parallelem Quantor Iterationsoperator amp und Disjunktions Quan p tor O sind die Kombinationsm glichkeiten hier jedoch so vielf ltig da es kaum m glich ist die u Menge der zul ssigen Worte durch einige willk rlich herausgegriffene Beispiele ausreichend zu cha rakterisieren F r ein intuitives Verst ndnis des Ausdrucks ist dies allerdings auch nicht erforderlich 04 FR Patient Untersuchung N po abrufen durchfiihren Na T Pp u u P pP u p u Abbildung 3 27 Beispiel eines parallelen Quantorausdrucks
150. von Abk rzungen vermeiden Zum einen kann man Teilgraphen die mehrfach ben tigt werden an Bezeichner zuweisen die an schlie end als Stellvertreter dieser Teilgraphen dienen und wie einfache Aktionen verwendet werden k nnen auf diese Weise erspart man sich das unbequeme und fehleranf llige Replizieren von Teilgra phen Zum anderen ist es m glich die L sung eines Problems schrittweise entweder top down oder bottom up zu entwickeln und so eine berm ige Verschachtelung von Verzweigungen zu vermei den Abbildung 2 19 zeigt diese Vorgehensweise f r die L sung des 5 DM Problems Abk rzungen wer den hnlich wie Aktionen durch Rechtecke dargestellt der Doppelrahmen deutet jedoch an da es sich in Wirklichkeit um beliebig komplexe Teilgraphen handelt Liest man die Abbildung zeilen weise von oben nach unten und ersetzt dabei gedanklich jede Abk rzung durch ihre zuvor formulier te Definition so erh lt man in der letzten Zeile Abk rzung F nf Mark genau denselben Graphen wie in Abb 2 18 Anmerkung Da Interaktionsgraphen grunds tzlich beliebig kombiniert und verschachtelt werden d r fen vgl auch 2 8 2 1 gibt es keine Einschr nkungen was die Struktur oder Komplexit t von Ab k rzungen betrifft solange sie sich durch einfachen Textersatz ohne rekursive oder zyklische Ab h ngigkeiten aufl sen lassen 2 2 5 Warenausgabe In den bisher betrachteten Graphen wurde ledi
151. vordefinierte Grundelemente die in Tab 5 31 5 4 2 ge nannten Aktivit ten sowie die Schablone f r den wechselseitigen Ausschlu vgl 2 3 3 1 Sowohl die Liste der Standardoperatoren als auch die Palette der vordefinierten Grundelemente kann ber Kommandozeilenargumente oder Konfigurationsdateien angepa t werden Auf einem Farbbildschirm erscheinen die Graphen normalerweise als schwarze Linien und Texte auf blauem Hintergrund der f r Sequenzen Parameter und Faktoren hell und f r Sequenzelemente d h Verzweigungen und Aktivit ten dunkel gef rbt ist Auf diese Weise l t sich die hierarchische Struktur eines Graphen optisch sehr schnell erfassen C 2 2 Markieren und Kopieren von Teilgraphen Wird die Maus im Fenster des Editors bewegt so wird immer derjenige Teilgraph invertiert d h mit wei en Linien und Texten dargestellt der gerade den Mauszeiger enth lt In Abb C 2 ist dies z B die Aktivit t Patient vorbereiten Wird nun mit der linken Maustaste geklickt so wird dieser Teilgraph markiert was optisch durch einen Wechsel der Hintergrundfarbe in ein entsprechendes Rot angezeigt wird Bewegt man den Mauszeiger nun in den unteren leeren Bereich des Fensters und dr ckt dort die mittlere Maustaste so wird der zuvor markierte Teilgraph dorthin kopiert Au erdem geht die Markie rung zu dem neu eingef gten Teilgraphen ber Abbildung C 3 zeigt den resultierenden Fensterinhalt der Schwarz wei Version in der rote Hin
152. w No a b c n No Diese Sprache stellt ein typisches Beispiel einer nicht kontextfreien Sprache dar wie man durch An wendung des Pumping Lemmas f r kontextfreie Sprachen leicht zeigen kann Hopcroft90 Sch ning95 Somit sind Interaktionsausdr cke zumindest teilweise ausdrucksst rker als kontextfreie a b S io Abbildung 3 29 Ausdruck Qa Gb Gc a b c Wwa bzw w bzw w bezeichne die Anzahl der Aktionen a bzw b bzw c im Wort w 3 5 Ausdrucksm chtigkeit von Interaktionsausdr cken 3 5 3 109 Grammatiken und es stellt sich die Frage ob sie m glicherweise sogar echt ausdrucksst rker sind d h ob man jede kontextfreie Sprache durch einen quivalenten Interaktionsausdruck beschreiben kann 3 5 3 2 Ebenb rtigkeit von Interaktionsausdr cken Da Interaktionsausdr cken jedoch das f r Kontextfreie Grammatiken wesentliche Prinzip der Rekur sion fehlt erscheint dies auf den ersten Blick eher unwahrscheinlich Dennoch ist es zur eigenen berraschung des Verfassers z B m glich geklammerte arithmetische Ausdr cke also ein typi sches Beispiel einer rekursiven kontextfreien Grammatik mit Hilfe eines Interaktionsausdrucks zu be schreiben x aL NUM amp R S OP aL NUM SR 0 L R vgl Abb 3 30 Dieser Ausdruck erlaubt Folgen von Zahlen NUM Operatoren OP und Klammern L bzw R die folgenden B
153. w D und a mit den zugeh rigen Pr dikaten Wy s y t s und 9 5 At 5 F r einen initialen Zustand s o x erh lt man speziell die Folgezust nde o x des Ausdrucks x O x ty o x die die Pradikate W x W o yE und 9 00 do dr c a besitzen Die Menge aller m glichen Zust nde eines Ausdrucks x wird mit x bezeichnet O x o wezr 132 4 5 2 Kapitel 4 Implementierung von Interaktionsausdriicken 4 5 1 3 Korrektheitskriterium Ein Zustandsmodell f r Interaktionsausdr cke hei t korrekt wenn f r jeden Ausdruck x und je des Wort w e X gilt weVxy eya T und wePd e9 1 d h wenn man an den Pr dikaten y und eines Zustands o x ablesen kann ob w ein partielles bzw vollst ndiges Wort des Ausdrucks x darstellt oder nicht Anmerkung In einem korrekten Zustandsmodell gelten f r jedes Wort w X die Implikationen 0 9 1I gt wex gt wets gt yx T vgl 3 4 4 d h jeder Endzustand s eines Ausdrucks x g s T ist auch ein g ltiger Zustand y s T F r Worte w w a gilt au erdem yHw gt wex gt wex gt w bzw umgekehrt ywa l gt wa l d h die Folgezust nde eines ung ltigen Zustands y s L sind ebenfalls ung ltig 4 5 1 4 Anschauliche Interpretation Interpretiert man einen Interaktionsausdruck x wie in Kapitel 2 als Graph so beschreibt sein initialer Zustand o x die Ausgangssituation beim Dur
154. werden vgl 5 2 7 3 das normalerweise wie folgt abl uft e Wenn ein Benutzer eine Aktivit t A starten will sendet sein Arbeitslistenprogramm eine entspre chende Mitteilung an die Workflow Ausfiihrungseinheit 1 Diese stellt eine Ask Anfrage f r die Startaktion A an den Interaktionsmanager 2 und wartet auf die zugeh rige Accept Antwort 3 e Nach deren Eintreffen wird die Aktivit t intern gestartet d h zum Beispiel eine entsprechende Da tenbank Transaktion ausgef hrt und es werden Best tigungen an den Interaktionsmanager 4 und das Arbeitslistenprogramm 5 versandt Sollte in Schritt 3 wider Erwarten keine Accept sondern eine Reject Antwort eintreffen so entf llt Schritt 4 w hrend in Schritt 5 eine entsprechende negative Mitteilung an das Arbeitslistenprogramm gesandt wird 1 Aktivit t A 2 Ask Ay starten Be Workflow Interaktiona SRSSSPEAG Ausf hrungs aa Arbeitslisten Manager ee Einheit a a Programme 4 Exec Ay 5 Aktivit t A gestartet Abbildung 5 46 Starten einer Aktivit t 5 5 3 3 Beenden von Aktivit ten Abbildung 5 47 zeigt schlie lich die Schrittfolge zum Beenden einer Aktivit t Wenn ein Schrittprogramm einer Aktivit t A terminiert sendet das Arbeitslistenprogramm eine ent sprechende Mitteilung an die Workflow Ausf hrungseinheit 1 Diese stellt eine Wait Anfrage f r die Endeaktion A an den Interaktionsmanager 2 un
155. wie in C einfach durch eine leere Parameter liste deklariert w hrend Funktionen die kein Resultat zur ckliefern d h Prozeduren in der Ter minologie von Modula stattdessen mit dem Schl sselwort proc gekennzeichnet werden e static Deklarationen auf Modulebene Da durch das Modulkonzept nur solche Variablen und Funktionen eines Moduls nach au en sicht bar sind die explizit exportiert werden ist das explizite Verbergen von Namen mittels static berfl ssig Diese Interpretation des Schl sselworts static hat mit seiner sprachlichen Bedeutung ohnehin nichts zu tun static Deklarationen innerhalb von Funktionen sind nach wie vor sinnvoll und zul ssig e Benutzerdefinierte Typumwandlungen Bedauerlicherweise ist dieses Konzept in C untrennbar mit dem Klassenkonzept verbunden so da es unabh ngig davon nicht verwendet werden kann A 3 Implementierung der Sprache A 3 1 Pr prozessoren Ein CH Programm d h eine Menge von CH Modulen die durch Import Anweisungen miteinander verbunden sind wird zun chst von einem eigentlich sprachunabh ngigen Import Prdprozessor bear beitet dessen Funktionalit t grob mit dem Include Mechanismus des Standard C Pr prozessors ver glichen werden kann Neben dem rein textuellen Einbinden importierter Module sorgt dieser Pr pro zessor jedoch auch f r eine geeignete Qualifizierung aller im Programm verwendeten Bezeichner um Namenskonflikte zwischen Modulen zu vermeiden Anschlie e
156. wie sie von Interak tionsausdr cken angeboten werden gegen ber implizit durch Rekursionsgleichungen formulierten Iterationen den Vorteil besitzen da sie kompakter und direkter die intendierte Semantik zum Aus druck bringen und daher insbesondere f r mathematisch unge bte Anwender besser verst ndlich sind 6 4 Erweiterte Transaktionsmodelle Sobald man klassische ACID Transaktionen Gray81 Agrawal92 dahingehend erweitert da ein Transaktionsmanager nicht nur einfache Lese und Schreiboperationen auf Datenobjekten kennt de ren Synchronisationsbedingungen a priori festgelegt sind so ist man mit dem Problem konfrontiert die zul ssigen Ausf hrungsreihenfolgen semantisch h herer Operationen wie z B Belastung oder Gutschrift eines Geldbetrags auf einem Konto geeignet zu spezifizieren hnliche Probleme erge ben sich wenn man komplexere Transaktionsstrukturen wie z B offen oder geschlossen geschach telte Transaktionen Moss81 Weikum92 flexibel modellieren will da hierf r spezifiziert werden mu in welcher Reihenfolge Aktionen wie das Starten Beenden oder Abbrechen von Teiltransaktio nen ausgef hrt werden d rfen Daher wurden auch im Kontext erweiterter Transaktionsmodelle Elmagarmid92 DEB93 immer wieder Formalismen vorgeschlagen mit denen ebenso wie mit Interaktionsausdr cken zul ssige Ausf hrungsreihenfolgen von Aktionen beschrieben werden K nnen Aufgrund seines relativ hohen Bekann
157. wird vereinbart da eine leere Argumentliste entfallen soll d h da die Notation a an stelle von ay verwendet wird vgl auch 3 2 1 4 Dies wird durch die in Abb 4 2 dargestellten Pro duktionsregeln in BNF Notation beschrieben Eine Aktion besteht aus act name einem Namen und name args einer optionalen Argumentliste Bin Aktionsname ist name Ident entweder ein Bezeichner String oder eine Zeichenkette Eine Argumentliste besteht aus args arg einem oder args arg mehreren Argumenten Ein Argument ist arg par entweder ein Parameter val oder ein Wert Ein Quantorparameter ist par Ident ein Bezeichner Ein Wert ist val Number entweder eine Zahl String oder eine Zeichenkette Abbildung 4 2 Produktionsregeln fiir Aktionen Mit eckigen Klammern werden in Lex Zeichenklassen beschrieben Beispielsweise repr sentiert A Za z alle Zeichen von A bis Z und von a bis z d h alle Buchstaben repr sentiert ein Anf hrungszeichen die eckigen Klammern sind hier erforderlich damit das Anf h rungszeichen nicht als Lex Metazeichen interpretiert wird schlie lich steht f r die Menge aller Zeichen au er dem Anf hrungszei chen Konkret wird die Syntax des Parser Generators Yacc Aho75 Aho88 Kernighan86 verwendet bei der Bezeichner entwe
158. y D z P y z gelten Die umgekehrte Inklusion y z lt P y o z ergibt sich wie folgt mit Hilfe der Monotonie der Verschr nkung vgl 3 4 2 1 Py z Oy Plz N Plz PO c PO a z N Pz a y PO o 2 Analog ergibt sich auch wieder Y y o z Y y 2 98 3 4 6 Kapitel 3 Interaktionsausdriicke 5 F r die Beziehung zwischen sequentieller und paralleler Komposition folgt mit Hilfe des Lemmas und der Inklusion y c Y y vgl 3 4 4 2 y z Py z c P y Plz Ply 2 PO 2 Py U PO F z ce YO U YO F z c YO 8 H z U PO Plz Yy Z In hnlicher Weise ergeben sich auch die Aussagen ber die un ren Operatoren 3 4 6 Singul re Ausdr cke und parallele Quantoren 3 4 6 1 Definition Ein Ausdruck x hei t syntaktisch singul r wenn er einem der folgenden Muster entspricht Oy mit und einem beliebigen Teilausdruck y yoz mit mindestens einem singul ren Teilausdruck y oder z yoz mitoe 0 und zwei singul ren Teilausdr cken y und z y mit O O und einem singul ren Teilausdruck y P 3 4 6 2 Satz Ein Ausdruck x ist genau dann singular wenn das leere Wort ein vollst ndiges Wort von x darstellt d h wenn P x gilt Beweis 1 Ein atomarer Ausdruck x a ist nach Definition weder singular noch enth lt seine Menge P x a N amp das leere Wort 2 Ein un rer Ausdruck x
159. y ist nach Definition singular und jede der Mengen P x P y U Option bzw D x P y sequentielle Iteration bzw D x P y parallele Iteration enth lt das leere Wort 3 Eine Disjunktion x y z ist genau dann singular wenn mindestens einer der Teilausdr cke y oder z singul r ist d h wenn e y oder e z gilt Dies ist quivalent zu Q BO U BZ B x 4 Ein bin rer Ausdruck x y z mit O ist genau dann singular wenn die Teilaus dr cke y und z beide singular sind d h wenn y und z gilt Genau dann enth lt die Menge D x B y P z sequentielle Komposition bzw D x y z parallele Komposition bzw P x P y z Konjunktion bzw D x Py 09 A z x z Synchronisation aber auch das leere Wort 3 4 Eigenschaften von Interaktionsausdriicken 3 4 7 1 99 5 Ein Quantorausdruck x y ist genau dann singular wenn der Teilausdruck y singular ist Da P die Singularit t eines Ausdrucks nach Definition eine rein syntaktische Eigenschaft ist und die konkretisierten Ausdr cke Yp f r alle Q dieselbe syntaktische Struktur wie der abstrakte Aus druck y besitzen folgt aus der Singularit t von y die Singularit t aller y und somit y f r alle Q und umgekehrt aus der Nicht Singularit t von y auch die Nicht Singularit t al ler Yp und somit y f r alle Q Au erdem
160. z ist for int i start i lt 1 lt lt w 1 it Word u select w i 1 Word v select w i 0 if test y u amp amp test z v return true return false berpr fe ob w ein vollst Wort der par Komposition x darstellt part bool test Expr x Word w if x cat Par return testpar x left x right w 0 berpr fe ob w ein vollst Wort der par Iteration x darstellt part bool test Expr x Word w if x cat Parlter w ist genau dann ein vollst Wort der par Iteration x y wenn w das leere Wort ist oder wenn w ein vollst Wort der par Komposition y x ist return w testpar x body x w 1 Abbildung 4 13 Implementierung der formalen Semantik Teil 3 Parallele Komposition und Iteration 4 4 2 2 Zugriff auf Attribute Der lesende Zugriff auf die Attributwerte eines Objekts erfolgt in CH mit Hilfe des Schr gstrich Ope rators wie z B x cat oder x action der in etwa dem Punkt oder Pfeiloperator gt in C bzw C entspricht 4 4 2 3 Vergleichsoperatoren Die Standard Vergleichsoperatoren lt lt gt gt k nnen wie in C f r benutzerdefinierte Typen berladen d h mit einer anwendungsspezifischen Semantik belegt werden Beispielsweise sollen zwei Aktionen vom Typ Action genau dann gleich sein wenn sie denselben Namen und die selben Parameter besitzen Die CH Bibliothek bietet spezielle Mechanisme
161. 1 Die Mehrfach Verzweigung wird gem ihrer Definition zu einer Sowohl als auch Verzweigung expandiert 2 Die resultierende Verschachtelung zweier bin rer Sowohl als auch Verzweigungen wird durch eine quivalente tern re Verzweigung ersetzt was aufgrund des Assoziativgesetzes zul ssig ist vgl 3 4 7 2 5DM 2DM 1DM 1DM 1DM 2DM 1DM 1DM Abbildung 2 14 Einwerfen von 5 DM Variante 2 22 22 4 Kapitel 2 Interaktionsgraphen 3 Die Zweige dieser tern ren Verzweigung werden nach Belieben permutiert was aufgrund des Kommutativgesetzes m glich ist vgl ebenfalls 3 4 7 2 Ebenso wie eine Entweder oder Verzweigung kann also auch eine Sowohl als auch Verzweigung prinzipiell beliebig viele Zweige besitzen die alle unabh ngig voneinander durchlaufen werden 2 2 4 3 Kleinere M nzen Abbildung 2 15 zeigt da das 5 DM Problem auch durch eine explizite Aufz hlung aller m glichen M nzfolgen noch zufriedenstellend gel st werden k nnte Dies ndert sich jedoch schlagartig wenn der Automat neben 5 DM 2 DM und 1 DM M nzen auch noch 50 Pfennig und evtl sogar 10 Pfennig M nzen akzeptieren soll weil dadurch die Anzahl der m glichen Reihenfolgen von neun auf 170 bzw knapp 2 Millionen ansteigen w rde Ausgehend von Abb 2 13 l t sich jedoch schritt weise eine wesentlich kompaktere L sung entwickeln 1 Zun
162. 1 Parallele Workflows hnlich wie Prozesse in einem Betriebssystem k nnen Workflows nat rlich auch parallel ausgef hrt werden Allerdings bieten heutige Workflow Management Systeme unabh ngig davon ob es sich um kommerzielle Produkte oder um Forschungsprototypen handelt in der Regel keine M glichkei ten um parallel laufende Workflows zu synchronisieren sie werden im wesentlichen unabh ngig voneinander ausgef hrt vgl auch 6 6 2 Solange sich zwei parallel laufende Untersuchungsworkflows im vorangegangenen Beispiel auf verschiedene Patienten beziehen stellt dies auch kein Problem dar in diesem Fall d rfen sich die Ausf hrungen der beiden Workflows beliebig berlappen Sobald sich die Untersuchungen jedoch auf denselben Patienten beziehen was in der Praxis h ufig der Fall ist weil f r einen Patienten oft meh rere Untersuchungen auf einmal angeordnet werden m ssen die beiden Workflows teilweise syn chronisiert werden Kuhn95ab Reichert97a 1 2 2 Workflow bergreifende Synchronisationsbedingungen So w re es z B sinnvoll die Vorbereitungsma nahmen beider Untersuchungen zusammenzufassen einerseits um die Arbeit des medizinischen Personals zu reduzieren und andererseits um unn tige Belastungen des Patienten zu vermeiden Wenn beispielsweise im Rahmen der Vorbereitung jeweils eine Blutprobe entnommen werden mu so h tte ein Patient sicherlich kein Verst ndnis daf r wenn er sich dieser unangenehm
163. 3 28 Definition der Mengen x x und x f r beliebige Interaktionsausdr cke 3 4 Eigenschaften von Interaktionsausdr cken Nachdem Interaktionsausdr cke nun pr zise und vollst ndig definiert sind sollen im folgenden ver schiedene formale Eigenschaften bzw Umformungsregeln f r sie bewiesen werden Viele dieser Re geln sind intuitiv einleuchtend und wurden z T bereits ohne Beweis in Kapitel 2 erw hnt und verwen det So wird beispielsweise in 2 2 2 2 implizit die Assoziativit t der Disjunktion vorausgesetzt w h rend in 2 2 4 2 explizit die Assoziativit t und Kommutativit t der parallelen Komposition ausgenutzt wird Die Beweise sind gr tenteils einfacher Natur und werden daher nicht immer vollst ndig ausge f hrt Lediglich im Kontext von Quantoren 3 4 9 sind sie zum Teil etwas umfangreicher und schwieriger x Wie in der Fu note in 3 3 1 1 erw hnt wurde ist es jedoch einfacher sie nicht grunds tzlich zu verbieten 3 4 Eigenschaften von Interaktionsausdriicken 3 4 1 91 Die Anordnung der nachfolgenden Abschnitte ist zu einem gro en Teil durch explizite oder impli zite Abh ngigkeiten zwischen den einzelnen Aussagen und Beweisen bestimmt Beispielsweise wer den in 3 4 11 Resultate der Abschnitte 3 4 6 und 3 4 8 verwendet Abschnitt 3 4 8 wiederum st tzt sich auf Aussagen aus 3 4 5 dieser schlie lich h ngt von 3 4 2 ab Sofern die resultierende topo logische Sortierung der Rege
164. 3 erw hnt wurde Hier f r bietet es sich an bew hrte Ans tze zur Beschreibung und Handhabung von Jntra Workflow Aus nahmesituationen wie z B Reichert97b Reichert98ab geeignet auf Inter Workflow Ausnahmebe handlungen zu verallgemeinern wobei gekl rt werden m te inwieweit sich entsprechende Formalis men und Mechanismen mit den Konzepten von Interaktionsgraphen zu einer umfassenden nter Work flow Koordinations Sprache integrieren lassen 7 2 1 2 Externe Ereignisse Bereits in Abschnitt 2 7 4 wurde eine als Stoppuhr visualisierte Pseudoaktivit t pause dazu verwen det eine bestimmte Wartezeit zwischen zwei Aktivit ten zu erzwingen In hnlicher Weise k nnte ei ne Pseudoaktion alarm visualisiert als Wecker die zu einer bestimmten Uhrzeit automatisch ausge f hrt wird sofern sie gerade zul ssig ist daf r sorgen da Aktivit ten nur zu bestimmten Uhrzeiten ausgef hrt werden k nnen Beispielsweise w rde der Graph in Abb 7 1 spezifizieren da Patienten nur zwischen 8 00 und 16 30 Uhr zu Untersuchungen abgerufen werden d rfen Dd eats ae Re abrufen K 8 g Uhr p u eo 30 Uhr 2 Abbildung 7 1 Anwendung der Pseudoaktion alarm Prinzipiell kann das Konzept der Pseudoaktionen und aktivit ten dazu verwendet werden beliebi ge externe Ereignisse in Interaktionsausdr cke zu integrieren ohne den Formalismus an sich ein schlie lich seiner Semantik und Implementierung
165. 4 8 2 kurz auf den Umfang und die Qualit t der entwickelten Software eingegangen 4 8 1 Erfolgsfaktoren 4 8 1 1 Operationale Semantik Bereits in 4 4 4 wurde erl utert da sich die in Kapitel 3 entwickelte formale Semantik von Interak tionsausdr cken zwar prinzipiell aber nicht effizient implementierungstechnisch umsetzen l t Be trachtet man den dort vorgestellten Algorithmus noch einmal genauer so erkennt man da er grund s tzlich weder in der Lage ist spezielle Eigenschaften des gegebenen Ausdrucks wie z B Quasi Re gularit t Injektivit t o noch den konkreten Aufbau des vorliegenden Wortes gewinnbringend aus zunutzen Aus diesem Grund stellt die Entwicklung einer separaten operationalen Semantik einen ersten wichtigen Schritt in Richtung einer effizienten Implementierung dar weil ein geeignet konstruiertes und optimiertes Zustandsmodell prinzipiell in der Lage ist sowohl vorteilhafte Eigenschaften eines Ausdrucks als auch den konkreten Aufbau eines Wortes auszunutzen So bleibt die Gr e paralleler Kompositions Zust nde beispielsweise in vielen F llen konstant obwohl der Operator potentiell b s artig ist und selbst die in Tab 4 27 4 7 5 2 genannten b sartigen Ausdr cke verhalten sich f r sehr viele konkrete Worte immer noch gutartig 4 8 1 2 Teilwortorientierte Semantik Neben den in 3 2 3 genannten Gr nden stellt die effiziente Implementierbarkeit ein weiteres wichti ges Argument f r die Ve
166. 5 B 4 2 Sequentielle Komposition 325 B 4 2 1 Injektivit t 325 B 4 2 2 Initiale Fokussierung 326 B 4 2 3 Terminale Fokussierung 326 B 4 2 4 Spezialfall 326 B 4 3 Sequentielle Iteration 326 B 4 4 Disjunktion 327 B 4 4 1 Injektivit t 327 B 4 4 2 Initiale Fokussierung 327 B 4 4 3 Terminale Fokussierung 327 B 4 5 Option 328 B 4 6 Disjunktions Quantorausdr cke 328 B 4 6 1 Injektivit t und initiale Fokussierung 328 B 4 6 2 Terminale Fokussierung 328 C Ein syntaxgesteuerter Editor f r Interaktionsgraphen 329 C 1 Einleitung 329 C 2 Benutzerschnittstelle 329 C 2 1 Start des Programms 330 C 2 2 Markieren und Kopieren von Teilgraphen 331 C 2 3 Weitere n tzliche Operationen 331 C 2 4 Kopieren gr erer Teilgraphen 334 C 2 5 Konstruktion von Verzweigungen mit mehr als zwei Zweigen 334 C 2 6 Konstruktion von Sequenzen 335 C 2 7 Schnittstelle zum Dateisystem 337 C 2 8 Zusammenfassung der Maus Interaktionen 338 C 3 Implementierungsdetails 339 D Wichtige Begriffe und Symbole 341 Kapitel 1 Motivation Aufgabenstellung und Uberblick 1 1 Workflow Management 1 1 1 Workflows Ein Workflow ist prinzipiell ein beliebiger Arbeitsablauf der immer wieder nach demselben oder zumindest einem hnlichen Schema abl uft Er besteht aus einzelnen Arbeitsschritten die meist von unterschiedlichen Bearbeitern ausgef hrt werden denen hierf r geeignete Anwendungsprogram me sogenannte Schrittprogramme zur Verf gung stehen Jablonski95ab
167. 5 firae QuU p al Wo f r a rhy K Ww a sonst u un u o y p oy Y r mit T und T wie oben hnlich wie bei der elementaren Synchronisation B 2 3 5 G ltigkeit des Substitu tionsprinzips gilt f r Q y p W W k y wie y p und somit op O 0 y f r Q T Q p K K u u Aufgrund des Substitutionsprinzips gilt au erdem 0 0 op ye or pon oT mit T T ou s7 0 20 p 20 p und T v t t eT Setze T T ein und beachte Q y p U Q y P 2 0 P 2 0 p un o y p 0 9 T mit T 0 7 o o 0 0 p und T 8 teT ve os Yp Oy 7 siehe oben o y p 0 9 T mit T o y o E 2 0 p T aul o Ys Ps Ow Q l 318 B 2 4 Anhang B Verifikation des Zustandsmodells Korrektheit des Zustandsmodells F r ein Wort w gilt we W x OY rhyg gt V ceQ we Phy gae 2S V eceQJu P x Vo Ky ye w E Uy Vo Aus we Up v mit u P e aly U und v edy V folgt wegen U AV vgl Lemma in B 2 3 5 p WIV wik ye Wp 4 u un T lt e E Q w wik y G Hy Korrektheit des Zustandsmodells fiir Yp R lt ao Unterscheide zwischen relevanten und irrelevanten Werten e Q T lt un 8 un T lt e E QO Pm 9 und Vo
168. 6 5 2 Vergleich von Petrinetzen mit Interaktionsgraphen Obwohl die vorangegangenen Ausf hrungen den Eindruck vermitteln k nnten da sich Interaktions graphen prinzipiell auf Petrinetze abbilden lassen sollten hierbei die folgenden Randbedingungen nicht bersehen werden 1 Grunds tzlich begibt man sich bei einer solchen Transformation in das bereits mehrfach diskutierte Spannungsfeld von kontrollierter Mehrdeutigkeit gegen ber echtem Nichtdeterminismus Sofern man nur an der durch ein Petrinetz definierten Sprache interessiert ist handelt es sich bei den vor gestellten Transformationsregeln tats chlich um quivalenztransformationen Versucht man je doch die resultierenden Netze nach den blichen Schaltregeln auszuf hren so ist man in Konflikt situationen gezwungen nichtdeterministische Entscheidungen zu treffen da das Aufschieben von Entscheidungen in der operationalen Semantik von Petrinetzen nicht vorgesehen ist 2 Das f r Interaktionsgraphen wesentliche Prinzip der modularen Kombination von Teilgraphen l t sich mit Petrinetzen nicht verwirklichen da man bei der Transformation einer Kopplung gezwun 16 Andernfalls besteht das Problem die potentiell unendlich vielen konkreten Werte Q durch eine Generator Transition am Anfang einer F r alle Verzweigung zu erzeugen 17 Da diese Marken dann auch im Rumpf der Iteration verbleiben wird die gesamte Schaltfolge sp ter verworfen weil sie nicht die gefor derte
169. 7 Komplexit tsbetrachtungen 4 7 2 163 Beweis F r einen atomaren Ausdruck x b gibt es genau drei verschiedene Zust nde b und L Ein Zustand eines Booleschen Ausdrucks x y z mit O und quasi regul ren Teil ausdr cken y und z ist im wesentlichen ein Paar von Teilzust nden und r von denen es nach In duktionsvoraussetzung 7 y bzw 7 z verschiedene gibt Daher besitzt der Ausdruck x h chstens n y n z verschiedene Zust nde Ein Zustand einer sequentiellen Komposition x y z besteht im wesentlichen aus einem Teilzu stand des linken Teilausdrucks y von denen es nach Induktionsvoraussetzung 7 y verschiedene gibt sowie einer Menge R von Teilzust nden des rechten Teilausdrucks z von denen es n z ver schiedene gibt Daher gibt es h chstens 2 verschiedene Zustandsmengen R und somit h chstens n y 2 verschiedene Zust nde des Ausdrucks x Analog ergibt sich da eine sequentielle Iteration x amp y h chstens 2 verschiedene Zust nde besitzt Ein Zustand einer parallelen Komposition x y z besteht aus einer Menge von Paaren von Teil zust nden und r von denen es h chstens 27 verschiedene gibt Anmerkungen 1 Da die Quasi Regularit t eines Ausdrucks x eine rein syntaktische Eigenschaft darstellt ist sie un abh ngig von irgendwelchen Parameterbelegungen Daher ist ein konkretisierter Ausdruck A ge nau dann quasi regul r wenn der abstrakte Ausd
170. 92 W R Stevens Programmieren von Unix Netzen Carl Hanser Verlag M nchen 1992 Stroustrup83 B Stroustrup Adding Classes to C An Exercise in Language Evolution Soft ware Practice and Experience 13 1983 139 161 Stroustrup95 B Stroustrup Die C Programmiersprache Erweitert um Entw rfe zur ANSI ISO Standardisierung 2 Auflage Addison Wesley Bonn 1995 Tang95 J Tang J Veijalainen Enforcing Inter Task Dependencies in Transactional Workflows In S Laufmann S Spaccapietra T Yokoi eds Proc 3rd Int Conf on Cooperative Information Systems CoopIS Vienna Austria May 1995 1995 72 86 288 Literaturverzeichnis Versteegen95 G Versteegen Die Ans tze der Workflow Management Coalition iX Multiuser Multitasking Magazin 3 95 March 1995 152 160 Vissers91 C A Vissers G Scollo M van Sinderen E Brinksma Specification Styles in Dis tributed Systems Design and Verification Theoretical Computer Science 89 1991 179 206 Vogel92 P Vogel R Erfle Backtracking Office Procedures In A M Tjoa I Ramos eds Proc Int Conf on Database and Expert Systems Applications DEXA Valencia Spain 1992 Springer Verlag Berlin 1992 506 511 Vossen96 G Vossen J Becker eds GeschdftsprozeBmodellierung und Workflow Management Modelle Methoden Werkzeuge International Thomson Publishing Bonn 1996 W chter95a H W chter F J Fritz A
171. Abbildung 2 10 Einwerfen von 4 DM Variante 1 Durch Ausprobieren s mtlicher m glicher Durchlaufreihenfolgen kann man sich in der Tat davon berzeugen da dieser Graph alle denkbaren M glichkeiten beschreibt einen Betrag von 4 DM mit Hilfe von 1 DM und 2 DM M nzen zu entrichten 2 2 3 2 Variante 2 Da die beiden Zweige der Sowohl als auch Verzweigung in Abb 2 10 identisch sind w re es ber sichtlicher und bequemer wenn man diesen Teilgraphen nur einmal formulieren m te Mit Hilfe ei ner Mehrfach Verzweigung wie in Abb 2 11 ist dies m glich Der Verzweigungsfaktor 2 oberhalb der beiden gro en Knoten besagt da der Teilgraph zwischen diesen beiden Knoten in Wirklichkeit zweimal vorhanden ist 2 2DM 2 E Abbildung 2 11 Einwerfen von 4 DM Variante 2 2 2 3 3 Mehrfach Verzweigungen Ganz allgemein wird eine Mehrfach Verzweigung n mal x vgl Abb 2 12 mit einem Verzwei gungsfaktor n IN und einem beliebigen Teilgraphen x wie folgt durchlaufen e Anstelle eines einzelnen L ufers der den Graphen durchl uft stelle man sich eine Mannschaft von L ufern vor die sich am linken Knoten in n Gruppen aufteilt e Jede Gruppe durchl uft den Teilgraphen x unabh ngig von den brigen Gruppen n n OLO Abbildung 2 12 Mehrfach Verzweigung n mal x Da der Bezeichner x hier einen beliebig komplexen Teilgraphen repr sen
172. Aktionen synchron ausgef hrt werden und bei disjunkten Alphabeten k nnen P und O vollkommen unabh ngig voneinander ausgef hrt werden Im Gegensatz zu Interaktionsausdr cken bei denen das Alphabet a x eines Ausdrucks x implizit durch den Ausdruck selbst gegeben ist vgl 3 3 1 9 kann es bei CSP nach Belieben um zus tzliche Aktionen erweitert werden Nichtdeterminismus Im Gegensatz zu Interaktionsausdr cken erlauben die bisher beschriebenen Konstrukte keinerlei Mehrdeutigkeiten Bei Ausf hrung einer Aktion a ist stets eindeutig bestimmt um welches Vor kommen von a in der Proze beschreibung es sich handelt Insbesondere m ssen die Aktionen x und y bei einer Auswahl x gt Ply Q verschieden sein und auch der Concurrency Operator ist im Gegensatz zur parallelen Komposition bei Interaktionsausdr cken so definiert da keine Mehrdeu tigkeiten auftreten k nnen Wenn P und Q gemeinsame Aktionen enthalten m ssen sie synchron aus gef hrt werden Zur Beschreibung mehrdeutiger oder nichtdeterministischer Prozesse bietet CSP die beiden Opera toren und an F r zwei beliebige Prozesse P und Q beschreibt Pl Q einen Proze der sich entweder wie P oder wie Q verhalten kann Weder der Zeitpunkt der Entscheidung f r die eine oder die andere Alter native noch die Faktoren die diese Entscheidung m glicherweise beeinflussen sind nach au en hin bekannt Beispielsweise k nnte sich ein Implementierer des
173. Aquivalenz von Zust nden nach wie vor durch die einfache Zustands bergangs funktion 7 definiert wird Der Beweis dieses Satzes findet sich ebenso wie alle brigen Beweise des Abschnitts 4 5 in An hangB B 3 1 3 4 5 3 Konstruktion eines optimierten Zustandsmodells 4 5 3 1 St ckweise Definition der Basisfunktionen In den nachfolgenden Abschnitten wird schrittweise ein optimiertes Zustandsmodell f r Interaktions ausdr cke konstruiert indem die Basisfunktionen o t y und g sowie die Optimierungsfunktion p sukzessive f r beliebige Ausdr cke definiert werden Aus Gr nden der Modularit t und bersicht lichkeit wird in jedem Teilabschnitt jedoch nur eine Kategorie von Ausdr cken wie z B atomare Ausdr cke oder Disjunktionen und zugeh rigen Zust nden betrachtet was zur Folge hat da die ge nannten Funktionen stiickweise definiert werden Beispielsweise enth lt 4 5 4 1 die Definition von o x f r atomare Ausdr cke x a w hrend in 4 5 4 2 die entsprechende Definition f r Disjunktionen x y z gegeben wird usw Eine vollst n dige Definition von o x f r beliebige Ausdr cke x w rde man daher erhalten wenn man alle diese Teildefinitionen zusammenf gt siehe 4 5 4 1 f rx a o x siehe 4 5 4 2 firx yoxz Ebenso wird in 4 5 4 1 nur derjenige Teil der Zustands bergangsfunktion r definiert der sich auf Zust nde eines atomaren Ausdrucks bezieht die entsprechend auch atomare Zust nde genannt we
174. Arbeitslistenprogramm eine Cancel Nachricht f r die Aktion A an den Interaktionsmanager 8 um die Permit und Forbid Nachrichten f r diese Aktion abzubestellen Au erdem wird die Aktivit t aus der Arbeitsli ste entfernt sofern sie momentan darin enthalten ist 9 Anstelle einer Permit Nachricht k nnte in Schritt 3 auch eine Unknown Nachricht des Managers f r die Aktion Ay eintreffen die ebenfalls dazu f hrt da die Aktivit t A in der Arbeitsliste angezeigt wird 4 und so lange darin verbleibt bis sie aus Sicht der Workflow Ausf hrungseinheit nicht mehr zul ssig ist 7 9 5 5 2 2 Starten von Aktivit ten Will ein Benutzer eine Aktivit t A tats chlich starten so verf hrt das Arbeitslistenprogramm gem des dreiphasigen Koordinationsprotokolls das im Normalfall wie folgt abl uft vgl Abb 5 42 Mit Hilfe einer Ask Nachricht wird beim Interaktionsmanager angefragt ob die Aktion A tats ch lich ausgef hrt werden darf 1 Bei Eintreffen der Accept Antwort 2 wird die Workflow Ausf hrungseinheit aufgefordert die Ak tivit t A zu starten 3 Wird dies von der Ausf hrungseinheit best tigt 4 so wird eine Exec Best tigung f r die Ak tion A an den Manager gesandt 5 Bei Eintreffen der Commit Nachricht 6 wird das zur Aktivit t A geh rende Schrittprogramm tat s chlich gestartet 7 Die folgenden Abweichungen vom Normalfall m ssen jedoch ber cksichtigt werden e Trifft in Schritt 2 anstelle d
175. Ausdr cken initialisiert werden Im Gegensatz hierzu d rfen globale bzw statische Variablen in C nur mit konstanten Ausdr cken deren Wert vom Compiler zur bersetzungszeit bestimmt werden kann initialisiert werden Funktionen und Operatoren k nnen statisch berladen werden d h in einer Art und Weise mehr fach definiert werden die vom Compiler zur bersetzungszeit aufgel st werden kann Als Spezial fall K nnen Funktionen optionale Parameter mit Defaultwerten besitzen Auf diese Weise k nnen verschiedene Varianten einer Funktion die sich in der Anzahl oder in den Typen ihrer Parameter unterscheiden mit demselben Namen bezeichnet werden Au erdem ist A 2 Sprachumfang A 2 2 291 es m glich h ufig ben tigte Operationen auf benutzerdefinierten Typen durch kompakte und hof fentlich nat rliche Operatorschreibweisen zu formulieren Funktionen k nnen inline deklariert werden Dadurch ist es m glich die Vorteile echter Funktionen saubere Schnittstelle Typsicherheit lokale Variablen mit denen von Makros effizientere Ausf hrung zu kombinieren und somit auf die Ver wendung von Makros zu verzichten Funktionsparameter k nnen analog zu VAR Parametern in Modula by reference bergeben werden Auf diese Weise entf llt das l stige und maschinenorientierte bergeben von Adressen wie es in C erforderlich ist Datentypen und Funktionen k nnen Typen als Parameter besitzen Mit Hilfe solcher Templates k
176. Berichte Ab teilung Datenbanken und Informationssysteme Universit t Ulm January 1996 Schulz90 A Schulz Software Entwurf Methoden und Werkzeuge 2 Auflage R Oldenbourg Ver lag M nchen 1990 Sch tte88 A Sch tte Programmieren in Occam Addison Wesley Bonn 1988 Selinger79 P G Selinger M M Astrahan D D Chamberlin R A Lorie T G Price Access Path Selection in a Relational Database Management System In Proc ACM SIGMOD Int Conf on Management of Data Boston MA June 1979 1979 23 34 Shaw78 A C Shaw Software Description with Flow Expressions EEE Transactions on Soft ware Engineering SE 4 3 May 1978 242 254 Shaw80a A C Shaw On the Specification of Graphics Command Languages and Their Proces sors In R A Guedj P J W ten Hagen F R A Hopgood H A Tucker D A Duce eds Methodology of Interaction IFIP Workshop on Methodology of Interaction Seillac France May 1979 North Holland Publishing Company Amsterdam 1980 377 392 Shaw80b A C Shaw Software Specification Languages Based on Regular Expressions In W E Riddle R E Fairley eds Software Development Tools Springer Verlag Berlin 1980 148 175 SNI95 SNI WorkParty Benutzerhandbuch Version 2 0 Siemens Nixdorf Informationssysteme AG August 1995 Steele90 G L Steele Jr Common Lisp The Language Second Edition Digital Press Bedford MA 1990 Stevens
177. Blick vielleicht etwas um st ndlich wirken m gen erlauben es wie in diesem Abschnitt erl utert Teilbedingungen einer um fassenderen Integrit tsbedingung unabh ngig voneinander zu entwickeln und anschlie end mit Hilfe einer Kopplung zu einer Gesamtbedingung zusammenzuf gen Da die einzelnen Teilbedingungen hierbei unver ndert bernommen werden k nnen k nnte ihre Spezifikation beispielsweise auch in ei ner Abk rzung verborgen sein Diese Vorgehensweise die beim praktischen Einsatz von Interaktions graphen sehr h ufig angewandt wird wird als modulare Kombination von Graphen bezeichnet 2 3 3 Schablonen 2 3 3 1 Wechselseitiger Ausschlu Den beiden Graphen in Abb 2 31 und 2 32 liegt ein h ufig wiederkehrendes syntaktisches Muster zu grunde Zwei oder mehr Teilgraphen werden mit Hilfe einer Entweder oder Verzweigung verkn pft die ihrerseits in eine Wiederholung eingebettet ist Semantisch assoziiert man mit diesem Muster das Konzept des wechselseitigen Ausschlusses d h man k nnte die Konstruktion Wiederholung einer Entweder oder Verzweigung als eine von m glicherweise mehreren verschiedenen mplementie rungen des abstrakten Konzepts wechselseitiger Ausschlu von Zweigen betrachten Tats chlich sind andere Implementierungsformen desselben Konzepts denkbar wie Abb 2 34 zeigt Kopie A4 ffnen A4 Schlie en A4 Abbildung 2 34 Alternative Implementierun
178. Gabel f vom Tisch proc get_org int p int f print get p newline Vom Pr compiler erzeugte Funktion proc get int p int f wait get val p val f 0 Prolog get_org p f Originalfunktion wait get val p val f 1 Epilog Abbildung 5 25 Prolog und Epilogfunktionen bzw wann die entsprechende Aktion ausgef hrt werden darf und wartet anschlie end auf eine Accept oder Unknown Antwort des Managers Wenn diese eintrifft hat der Manager einen entspre chenden Zustands bergang durchgef hrt und wait kehrt zu seinem Aufrufer zur ck 5 3 2 2 Synchronisationsbedingungen Mit Hilfe des Schl sselworts expr k nnen nun Synchronisationsbedingungen f r die zuvor formulier i Ca ei PRGA 12 ten Funktionen in Form von linearisierten Interaktionsausdr cken spezifiziert werden Abbildung 5 26 zeigt die entsprechenden Interaktionsgraphen die die folgenden Bedingungen spezifi zieren expr f expr 4 p get p j put p EXI p enter p leave p 1 Jede Gabel f darf immer nur von einem Philosophen p gleichzeitig verwendet werden d h jeder Ausf hrung von get p f mit einer beliebigen Belegung des Parameters p mu ein entspre chendes put p mit demselben Wert f r p folgen bevor das n chste get p wieder mit einer beliebigen Belegung von p ausgef hrt werden darf erster Ausdruck bzw Graph of OO f
179. Interaktionen eher unerw nscht sind nicht weiter betrachtet werden Mehrere berlappende Untersuchungs Workflows f r denselben Patienten sind aber z B in diesem Sinne konkurrierend weil sie alle auf dieselbe beschr nkte Res source n mlich den Patienten zugreifen Schlie lich ist der beschriebene Integrationsansatz nur f r statische Workflow Geflechte anwend bar f r die bereits zur Modellierungszeit sowohl die Anzahl als auch die Typen der interagierenden Workflows genau bekannt sind Da dies in vielen praktischen Anwendungen jedoch nicht der Fall ist wurde bei der Entwicklung von Interaktionsausdr cken darauf geachtet da sie auch zur Beschrei bung dynamischer Geflechte verwendet werden k nnen deren genaue Zusammensetzung sich erst zur Laufzeit ergibt und sich m glicherweise auch dann noch dynamisch ver ndern kann 6 6 2 3 Koordinierte Ausf hrung von Workflows Im Gegensatz zu Casati96 wurde im Forschungsprojekt CREW Correct and Reliable Execution of Workflows an der University of Massachusetts nicht nur ein Ansatz zur Beschreibung sondern auch zur implementierungstechnischen Umsetzung von Inter Workflow Abh ngigkeiten entwickelt Ka math98 der einen integralen Bestandteil eines Workflow Management Systems darstellt Anders als beim Einsatz von Interaktionsausdr cken mit denen man workflow bergreifende Integrit tsbedingun gen unabh ngig von einzelnen Workflow Definitionen spezifizieren kann und mu
180. Interaktionsausdr cken verglichen werden Andere Formalismen wie z B LOTOS vgl 6 2 4 3 CCS Calculus of Communicating Systems Milner80 Milner89 ATP Algebraic Theory of Processes Hennessy88 oder ACP Algebra of Communicating Processes Baeten90 Bergstra90 sollen hier lediglich erw hnt werden da ihre Un terschiede zu CSP in Details der Syntax Semantik Ausdrucksm chtigkeit etc f r einen Vergleich mit Interaktionsausdr cken nicht wesentlich sind 6 3 2 CSP Communicating Sequential Processes Analog zur Gliederung der Teilabschnitte von 6 2 werden im folgenden zun chst die von CSP ange botenen Operatoren vorgestellt 6 3 2 1 sowie kurz auf die Definition der Semantik 6 3 2 2 und die Implementierung des Formalismus 6 3 2 3 eingegangen Anschlie end 6 3 2 4 wird CSP mit Interaktionsausdr cken verglichen wobei deutlich wird da viele der angebotenen Operatoren in beiden Formalismen sehr hnlich sind bei genauerer Betrachtung aber doch einige nicht zu vernach l ssigende Unterschiede hervortreten 6 3 2 1 Angebotene Operatoren Sequentielle Prozesse CSP besitzt zwei grundlegende Konstrukte zur Beschreibung einfacher sequentieller Prozesse Die Pr fix Konstruktion x gt P beschreibt einen Proze der im ersten Schritt die Aktion oder das Ereignis x akzeptiert und sich anschlie end wie Proze P verh lt Die bin re Auswahl x gt P y gt Q beschreibt einen Proze der im ersten Sch
181. M 2 O d pO 1DM 1DM 2DM 1DM 1DM 2 Abbildung 3 22 Expansion des Multiplikatorausdrucks 2 DM 1 DM 1 DM Anmerkungen Rein formal sind Multiplikatoren lediglich syntactic sugar da sie stets gem den obigen Definitio nen durch elementare Operatoren ersetzt werden k nnen Daher werden sie im weiteren Verlauf dieses Kapitels auch nicht mehr ber cksichtigt d h sie werden quasi aus der Menge amp aller Interaktionsaus dr cke entfernt F r praktische Anwendungen sprechen allerdings einige wichtige Gr nde f r ihre Verwendung Ein Multiplikator Ausdruck ist h ufig erheblich kompakter bersichtlicher und nderungsfreundli cher als der quivalente expandierte Ausdruck insbesondere wenn der Faktor n gro ist Das Wissen da bei einem Multiplikator Ausdruck mehrmals derselbe Teilausdruck mit sich selbst verkn pft wird kann u U gewinnbringend f r eine effiziente Implementierung des Ausdrucks ver wendet werden vgl 4 5 5 3 3 Definition von Interaktionsausdr cken 3 3 3 85 Je nach Anwendung kann es sich bei einem Faktor m glicherweise um eine symbolische Konstante oder eine Variable handeln deren konkreter Wert entweder an anderer Stelle vereinbart oder aber erst zur Laufzeit berechnet wird vgl z B 5 3 2 2 Fu note In diesem Fall ist eine expandierte Darstellung des Ausdrucks prinzipiell nicht
182. Nachricht verschickt ist die Aktion gerade nicht zul ssig bekommt der Klient so lange keine Mitteilung bis die Aktion zum er sten Mal zul ssig ist Ist der Klient am Status einer Aktion a nicht mehr interessiert kann er das Abonnement jederzeit durch eine Cancel Nachricht k ndigen unabh ngig davon ob er bereits eine oder mehrere Permit und oder Forbid Nachrichten erhalten hat Um Mi verst ndnissen vorzubeugen sollte an dieser Stelle betont werden da eine Permit Nach richt des Managers rein informativen Charakter besitzt die entsprechende Aktion d rfte momentan ausgef hrt werden und vom Klienten nicht als tats chliche Ausf hrungserlaubnis f r eine Aktion a interpretiert werden darf Um eine Aktion tats chlich auszuf hren mu nach wie vor eines der zuvor beschriebenen Koordinationsprotokolle durchlaufen werden Allerdings kann der Klient eine Permit Mitteilung nat rlich zum Anla nehmen jetzt eine Ask Anfrage bzgl a zu stellen weil diese dann mit gro er Wahrscheinlichkeit erfolgreich sein wird d h vom Manager mit Accept beantwortet wer den wird 5 2 6 Sonderbehandlung unbekannter Aktionen Bisher wurde ein Interaktionsgraph bzw ausdruck als abgeschlossenes System aufgefa t Eine Ak tion a darf ausgef hrt werden wenn sie im Graphen momentan durchlaufen werden kann bzw wenn der aktuelle Zustand s des Ausdrucks x durch den Zustands bergang 7 s in einen g ltigen Folgezu stand bergeht andernfalls darf
183. Prozesses P 1O bereits bei der Imple mentierung f r eine der beiden Alternativen entscheiden d h entweder nur Proze P oder nur Pro ze Q implementieren Er k nnte aber auch beide Alternativen bereitstellen und eine zuf llige oder von bestimmten Kriterien abh ngige Auswahl zur Laufzeit vorsehen usw Insbesondere k nnte sich der Proze PT1O auch so verhalten wie der Interaktionsausdruck P Q d h er k nnte die Ent scheidung f r P oder Q solange aufschieben bis eine Aktion ausgef hrt wird die eindeutig einer der beiden Alternativen zugeordnet werden kann Das exakte Verhalten des Prozesses P Q ist also nicht vorhersagbar Der Operator stellt eine partiell nichtdeterministische Variante des Operators I dar Ein Proze P Q verh lt sich wie Proze P bzw Q wenn die erste ausgef hrte Aktion eindeutig diesem Pro ze zugeordnet werden kann andernfalls d h wenn die erste Aktion sowohl von P als auch von O akzeptiert wird kann die Auswahl zwischen P und Q wiederum willk rlich getroffen werden 256 6 3 2 Kapitel 6 Verwandte Arbeiten Beispiel Das folgende Beispiel verdeutlicht sowohl den feinen Unterschied zwischen den CSP Operatoren I und als auch ihren Unterschied zum IAA Disjunktionsoperator Die Prozesse P a a gt STOP b gt a gt STOP und O b gt csSTOPlc c STOP entsprechen direkt den Interaktionsausdr cken X a a Oo b a bzw Y b c O c c Der Proz
184. R r und yw l 1 oderl T Beim initialen Zustand einer sequentiellen Komposition x y z entspricht der Teilzustand dem initialen Zustand von y w hrend die Menge R genau dann den initialen Zustand o z enth lt wenn gleichzeitig ein Endzustand ist d h wenn das leere Wort bereits ein vollst ndiges Wort von y dar stellt o x z 1 R mit J o y und R o z D Anmerkung Die bedingte Erweiterung der Menge R bzw R um den Zustand o z spiegelt die Tatsa che wider da man beim Durchlaufen des Graphen y z genau dann mit der Traversierung von z be ginnen kann wenn man y vollst ndig durchlaufen hat d h einen Endzustand von y erreicht hat 4 5 4 7 Sequentielle Iteration Ein sequentieller Iterations Zustand d h ein Zustand einer sequentiellen Iteration x amp y ist ein 3 Tupel s amp y T mit einer Menge T von Zust nden des Teilausdrucks y hnlich wie ein sequen tieller Kompositions Zustand enth lt ein sequentieller Iterations Zustand neben diesen Teilzust nden den Rumpf y des Ausdrucks x der f r die Definition des Zustands bergangs ben tigt wird Ein solcher Zustand ist genau dann ein g ltiger Zustand bzw ein Endzustand wenn er mindestens ei nen entsprechenden Teilzustand besitzt y s V vt A VA teT teT hnlich wie bei der sequentiellen Komposition wird die Zustands bergangsfunktion t rekursiv auf die Teilzust nde t T angewandt und die resultierende Menge T immer dann um
185. Seien nun s und s zwei derartige Zust nde die beide die Aktion a akzeptieren Dann k nnen die folgenden drei F lle unterschieden werden 1 s und s sind beide von der Gestalt A d h es gilt s z l und somit s talsi z K Rj mit 4 t4 l und R oder R o z f r i 1 2 Da die Zust nde s und s beide die Aktion a akzeptieren m ssen die transformierten Zust nde s beide g ltig sein was nur der Fall ist wenn die Teilzust nde l beide g ltig sind dies wiederum Eine Ausnahme stellt der leere Ausdruck dar der aber nur als Teilausdruck einer Disjunktion auftritt um eine Option zu simulieren vgl 4 5 4 3 a Wenn ein Zustand l ung ltig ist gilt R weil in diesem Fall kein Endzustand ist 326 B 4 3 Anhang B Verifikation des Zustandsmodells ist nur der Fall wenn und beide die Aktion a akzeptieren Daraus folgt aufgrund der Injektivi t t von y die Gleichheit von l und l und somit auch die Gleichheit von s und sz 2 s und s sind beide von der Gestalt B d h es gilt s z f r i 1 2 Da diese Zust nde beide die Aktion a akzeptieren m ssen sie aufgrund der Injektivit t von z gleich sein 3 s ist von der Gestalt A d h s z l mit y und s von der Gestalt B d h S2 r e O z oder umgekehrt Da s und s beide die Aktion a akzeptieren m ssen wie oben erl utert die Zust nde O y und r z diese Ak
186. Transition b oder aber nur Transition c schal ten Im Gegensatz dazu erlaubt der entsprechende Interaktionsgraph nach dem Durchlaufen der Ak tion a sowohl das Durchlaufen von b als auch das Durchlaufen von c weil beim Durchlaufen von a noch nicht endg ltig entschieden wird um welches a es sich hierbei handelt 6 5 1 3 Hilfstransitionen Interaktionsgraphen mit Wiederholungen lassen sich prinzipiell durch Einf gen unbenannter Hilfs transitionen deren Schaltvorgang in einer Schalt bzw Etikettenfolge ignoriert wird in quivalente Petrinetze transformieren vgl Abb 6 12 In hnlicher Weise kann auch eine Sowohl als auch Ver zweigung in ein nahezu quivalentes Netz umgeformt werden vgl Abb 6 13 Da Petrinetze aber im Gegensatz zu Interaktionsgraphen zumeist echte Parallelit t d h die gleichzeitige Ausf hrung mehrerer Transitionen erlauben sind die beiden Spezifikationen in Abb 6 13 nicht exakt gleichbe deutend Um die gleichzeitige Ausf hrung mehrerer Aktionen zu unterbinden m te man Petrinetze Abbildung 6 12 Transformation einer Wiederholung a O a m o b GFR o Abbildung 6 13 Prinzipielle Transformation einer Sowohl als auch Verzweigung C 13 Genauer die Etikettensprache des Netzes Baumgarten96 d h die Menge aller Worte A t Br Alta e f
187. Universitat Ulm Abt Datenbanken und Informationssysteme Leiter Prof Dr Peter Dadam Workflow und Proze synchronisation mit Interaktionsausdr cken und graphen Konzeption und Realisierung eines Formalismus zur Spezifikation und Implementierung von Synchronisationsbedingungen Dissertation zur Erlangung des Doktorgrades Dr rer nat der Fakult t f r Informatik der Universit t Ulm vorgelegt von Christian Heinlein aus Ulm Mai 2000 Amtierender Dekan Prof Dr Uwe Sch ning Gutachter Prof Dr Peter Dadam Prof Dr Helmuth Partsch Prof Dr Walter Vogler Universit t Augsburg Tag der Promotion 20 Juli 2000 Gott zur Ehre Vorwort und Dank Die vorliegende Arbeit entstand w hrend meiner T tigkeit als wissenschaftlicher Mitarbeiter in der Abteilung Datenbanken und Informationssysteme der Universit t Ulm Obwohl ihre Wurzeln zweifel los in den Projekten OKIS Offenes klinisches Datenbank und Informationssystem zur Integration autonomer Subsysteme und ADEPT Application Development Based on Premodeled Activity Tem plates liegen stellt sie doch eine eigenst ndige in sich geschlossene Arbeit dar deren Resultate nicht nur auf die urspr ngliche Aufgabenstellung Handhabung von Inter Workflow Abh ngigkeiten son dern auch auf andere Problemstellungen im Bereich der Proze synchronisation angewandt werden k nnen Auch das immer wieder aufgegriffene Szenario der medizinischen Untersuchungsworkflows sollte le
188. Weise ber cksichtigt werden vgl 3 2 3 2 5 2 Endlose Wege 2 5 2 1 Beispiele Auch der Graph in Abb 2 55 zeigt ein merkw rdiges Verhalten wenn man ihn gem der Regeln aus 2 3 4 4 durchl uft Aufgrund der dortigen Anmerkung teilt sich die Mannschaft am Verzwei gungsknoten in unendlich viele Gruppen auf die unabh ngig voneinander den Rumpf der F r alle Verzweigung durchlaufen Da jede dieser Gruppen die Aktion a durchlaufen mu um den Vereini gungsknoten zu erreichen m ten insgesamt unendlich viele Aktionen a passiert werden bevor die Mannschaft an diesem Knoten wieder komplett vereinigt ist Der Graph enth lt somit unendlich lange bzw endlose Wege OLO p P p Abbildung 2 55 Graph mit endlosen Wegen 50 2 6 1 Kapitel 2 Interaktionsgraphen Da in einem endlichen Betrachtungszeitraum aber offensichtlich nur endlich viele Aktionen ausge f hrt werden k nnen vgl auch 2 6 1 kann ein solcher Graph nicht in endlicher Zeit durchlaufen werden Dies hat zur Folge da eventuell nachfolgende Aktionen wie z B die Aktion b in Abb 2 56 niemals erreicht werden d h niemals zul ssig sind Somit akzeptieren die beiden Graphen in Abb 2 55 und 2 56 exakt dieselben endlichen Aktionsfolgen und k nnen daher als fast quiva lent bezeichnet werden a 2 p P p Abbildung 2 56 Fast quivalenter Graph mit endlosen Wegen Anders verh lt es sich mi
189. Werten der Pr di kate y x und x nicht jedoch von der internen Struktur der zugeh rigen Zust nde o x ab h ngt kann man einen Zustand s jederzeit durch einen quivalenten Zustand ersetzen ohne dadurch die Korrektheit des Zustandsmodells zu ver ndern Auf diese Weise kann ein Zustandsmodell opti 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 2 133 miert werden indem man Zust nde s f r die die Berechnung der Funktionen y s gs oder 7 s aufwendig ist durch quivalente Zust nde ersetzt die sich effizienter verarbeiten lassen 4 5 2 2 Optimierungsfunktion Eine Optimierungsfunktion p ist eine Funktion die jedem Zustand s einen optimierten Zu stand p s zuordnet p hei t pr dikattreu oder transparent wenn f r jeden Zustand s gilt p s S Erweitert man ein einfaches Zustandsmodell um eine Optimierungsfunktion p so erh lt man ein opti miertes Zustandsmodell f r Interaktionsausdr cke Anmerkung p rho steht f r reduce 4 5 2 3 Abgeleitete Funktionen Kombiniert man die Funktionen 7 und p indem man sie nacheinander auf einen Zustand s anwendet so erh lt man die optimierte Zustands bergangsfunktion ta s p Ta s die sich analog zu r auf Worte w e amp verallgemeinern l t f r w Q F fs 7 8 2 84 9 fir w la mit e X unda Wendet man diese Funktion auf einen initialen Zustand s o x an so erh lt man entsprechend di
190. Worte ffnen A4 10 Pf Kopie A4 Schlie en A4 und 10 Pf ffnen A4 Kopie A4 Schlie en A4 geh ren aber beispielsweise nicht zur Menge y z da die Menge z x z keine Worte ent h lt bei denen die Aktion Kopie A4 zwischen einer Aktion ffnen A4 und der zugeh rigen Aktion Schlie en A4 steht Nach demselben Schema l t sich auch die Menge der partiellen Worte des Ausdrucks y z bestim men Anmerkung Obwohl die formale Definition der Synchronisation ebenso wie ihre Anwendung auf ei nen konkreten Ausdruck auf den ersten Blick umst ndlich und unnatiirlich wirken mag entspricht das Resultat genau dem intuitiv erwarteten Verhalten W rde man den Synchronisationsoperator im obigen Beispiel durch eine Konjunktion ersetzen deren Definition rein formal wesentlich einfacher und nat rlicher wirkt so w rde der Graph nur noch Aktionen akzeptieren die beiden Zweigen der Kopplung gemeinsam sind Da die einzige derartige Aktion Kopie A4 aber erst im Anschlu an die Aktion 10Pf durchlaufen werden kann w rde der Graph in Wirklichkeit berhaupt nichts mehr ak zeptieren H tte man den Operator nicht zur Verf gung wie z B in Synchronisierungsausdr cken vgl 6 2 2 so m te man die oben beschriebene Transformation in eine Konjunktion als Graphautor selbst vornehmen um einen Ausdruck zu erhalten der intuitiv der logischen Und Verkn pfung der beiden Zweige entspricht Guo96 Aus diesem Grund wir
191. Zust nde die entsprechen de Aktionen als Teilobjekte enthalten auf einmal konkretisiert Mit Hilfe der Anweisung p value kann der Wert des Attributs p value wieder entfernt wer den wodurch die Konkretisierung sozusagen r ckg ngig gemacht wird eine Operation die so im mathematischen Modell nicht m glich ist weil durch die Konkretisierung eines Objekts die Informa tion verlorengeht an welchen Stellen sich der Quantorparameter p zuvor befand 4 6 3 2 Relevante Parameterwerte hnlich wie die in 4 6 2 2 erw hnte Funktion contains die berpr ft ob eine Aktion a in ei nem Ausdruck x enthalten ist l t sich eine CH Funktion Set Value relvals Expr x Action a implementieren die die Menge Q y p der relevanten Parameterwerte einer Aktion a bez glich des Ausdrucks y x body und des Parameters p x param gem der Definition in 4 5 6 2 be stimmt Hierf r wird der Ausdruck y rekursiv durchlaufen und f r jeden atomaren Teilausdruck b berpr ft ob die Bedingungen a b unda by f r geeignete Werte erf llt sind d h ob die Ak tion b durch die Konkretisierung bp gleich a wird Aufgrund der Inklusion Q y p lt ai dashes u Die Syntax der Anweisung p value v entspricht der eines Konstruktoraufrufs Param value v vgl 4 3 3 3 allerdings steht vor der Klammer kein Typname sondern eine Variable oder ein entsprechender Ausdruck die ein Objekt dieses Typs beinhaltet 4 6 Implementieru
192. a nicht ausgef hrt werden Insbesondere d rfen unbekannte Aktio nen d h Aktionen die im Graphen bzw Ausdruck nicht vorkommen niemals ausgef hrt werden weil sie nie durchlaufen werden k nnen bzw weil ihr Zustands bergang stets einen ung ltigen Folge zustand liefert vgl auch 3 4 4 2 Diese Sichtweise entspricht dem in wissensbasierten Systemen als closed world assumption oder auch negation as failure bezeichneten Prinzip nach dem eine Aussage als falsch angesehen wird wenn ihre Richtigkeit aus der vorhandenen Wissensbasis nicht abgeleitet werden kann Reiter78 Clark78 Ein Prolog Interpreter arbeitet beispielsweise nach diesem Prinzip weil er eine Anfrage mit no beantwortet wenn er sie aus den vorhandenen Fakten und Regeln nicht ableiten kann Clock sin94 Bei einer solchen Sichtweise wird implizit davon ausgegangen da sowohl die Wissensbasis als auch die angewandten Inferenzmechanismen vollst ndig sind W rde man nun beispielsweise einem Prolog Programm das biographische Daten ber hmter Maler verwaltet die Frage stellen ob J S Bach im Jahre 1685 geboren wurde so w rde man f lschlicher weise die Antwort no erhalten weil die Faktenbasis des Programms keine Informationen ber Kom ponisten enth lt In hnlicher Weise w rde ein Klient von einem Interaktionsmanager die Antwort 5 2 Interaktionsmanager 5 2 7 193 Reject erhalten wenn er eine Aktion anfragt die der Manager nicht kennt weil sie in seinem Aus
193. ach Beendigung der letzten Endoskopie dieses Patienten der Fall ist Fr hestens dann kann also die n chste Sonographie f r diesen Patienten begonnen wer den d h erst dann sollte er wieder zur Sonographie abgerufen werden k nnen 24 Stunden Untersuchung PEN durchf hren ev Oh ae C O P Patient P abrufen p sono Abbildung 2 70 Mindestabstand zwischen Endoskopie und Sonographie verbesserte Formulierung Isoliert betrachtet w rde dieser Graph sogar die gleichzeitige Durchf hrung mehrerer Endoskopien f r einen Patienten erlauben Diese unerw nschte M glichkeit wird jedoch durch die Integrit tsbedin gung f r Patienten Abb 2 62 unterbunden 2 7 4 4 Definition als Abk rzung Da der Graph in Abb 2 70 eine auf den ersten Blick nicht unbedingt nachvollziehbare Implementie rung der abstrakten Bedingung Zwischen Endoskopie und Sonographie m ssen mindestens 24 Stun den liegen darstellt ist es ratsam diese Implementierung in einer Abk rzung zu verbergen in der man auch von den konkreten Werten endo sono und 24 Stunden abstrahieren kann vgl Abb 2 71 Auf diese Weise ist es auch f r einen unge bten Anwender m glich Mindestabst nde zwischen belie bigen Untersuchungsarten einfach und auf den ersten Blick verst ndlich zu formulieren vgl Abb 2 72 In gleicher Weise k nnte man auch die Graphen zur Formulierung von Kapazit tsbe schr nkungen und zur Begrenzung von Wartesc
194. achricht als Antwort w hrend er im zweiten Fall irgendwann eine Accept Nachricht erh lt Vor dem Versenden einer Accept Nachricht f hrt der Interaktionsmanager einen Zustands bergang f r die Aktion a durch w hrend der Klient nach Erhalt dieser Nachricht die Aktion tats chlich ausf hrt 5 2 2 2 Kritik Diese zeitliche Entkopplung von Zustands bergang einerseits und tats chlicher Aktionsausf hrung andererseits stellt einen wesentlichen Schwachpunkt des einphasigen Koordinationsprotokolls dar der es f r viele Anwendungen unbrauchbar macht Wie das folgende Beispiel zeigt ist es dadurch tats ch lich m glich da Aktionen in der realen Welt in einer unzul ssigen Reihenfolge ausgef hrt werden Gegeben sei der Ausdruck x a b der im ersten Schritt die Aktion a und im zweiten Schritt die Aktion b erlaubt Werden beide Aktionen von unterschiedlichen Klienten angefragt so verschickt der Interaktionsmanager zun chst eine Accept Antwort f r a nachdem er den entsprechenden Zustands bergang durchgef hrt hat Da die Aktion b im resultierenden Zustand zul ssig ist verschickt er un mittelbar anschlie end auch eine Accept Antwort f r b ebenfalls nach einem entsprechenden Zu stands bergang Wenn nun der Klient der b angefragt hat seine Accept Antwort fr her erh lt oder schneller verarbeitet als der Klient der a angefragt hat so kann es passieren da die Aktion b in der realen Welt vor der Aktion a ausgef hrt wird obwo
195. ag Eu i n Jn e Noiw Qu u Q firi gt n i l oo A enth lt also alle Multimengen F u von Worten u deren Verschr nkung das Wort w enth lt Da w i l endlich ist sind jeweils fast alle u leer Lemma F r ein Wort w w a gilt AS Yd a i a Y a AS k IN r i 1 i 1 Beweis Durch geeignete Verallgemeinerung des Lemma Beweises in B 2 3 8 Struktur der Folgezust nde F r die Folgezust nde des Ausdrucks x gilt 0 x y p A mit A 3 on v2 o Lu Ay Y 9 Q0 p yp gt i l i l 1 und somit v V Avlt und go x V AA TeA teT TeA teT Beweis 1 F r das leere Wort w gilt wegen A yo und Q y p i l Ay gt oo y p o p i 1 Daher stimmt die Behauptung f r o x genau mit der Definition des initialen Zustands o x ber ein 2 F r ein Wort w w a gilt Oy X 7 0 x Induktionsvoraussetzung f r 0 x 320 B 2 4 Anhang B Verifikation des Zustandsmodells oo Ih i l F Me S Il pan ta l y p A mit A A 2 r Q p Ip Definition des Zustandstibergangs 7 y p A mit a ere S SeXT TeA und k k k k HT T D t pl o Ii PLS T Lo 9 0 p QT i l i 1 i 1 i 1 u F r T oz yp o e Aund r p T gilt t o y 0 y f r ein i IN i l aul Daher gilt aufgrund des Sub
196. age wie man ei nen Teilgraphen x Yp konkret an einen Interaktionsmanager bergibt und wie dieser ihn im wen plementieren soll Wie es scheint ist die in Kapitel 4 entwickelte operationale Semantik und Imple mentierung von Interaktionsausdr cken nur in der Lage vollst ndige unendliche Graphen x Ov O Yp zu verarbeiten bei denen die gesamte Menge Q durchl uft Bei genauerer Be P aEQ trachtung stellt man jedoch fest da der konkrete Inhalt der Menge Q weder f r die operationale Se mantik noch f r die tats chliche Implementierung irgendeine Rolle spielt d h da die Graphen x und x die sich nur durch die Menge Q bzw Q unterscheiden vollkommen identisch implementiert werden k nnen Welcher Ausdruck tats chlich implementiert wird h ngt letztlich nur davon ab wel che Parameterwerte in den konkret ausgef hrten Aktionen enthalten sind 198 5 2 8 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Be ee OA vorbereiten u PRT u ATN OAO rn L ANA OA O O h SZ ee SF h O aEQ u EF u wen Patient Unterstchung abrufen durchf hren u u 4 OAO nt ANA O vorbereiten u ori u O Oa 2 O 4 O O7F anae OO wen u o u Patient Untersuchung abr fen durchfiihren 8 Qo u u Abbildung 5 14 F r alle Verzweigung als Kopplung unendlicher Sowohl als auch Ver
197. age wie folgt 10 FO o z FO amp O N PR amp z Induktionsvoraussetzung za yo k y NA a z K z 3 Lemma U RO N az U Ky 2 Lemma O U RO A z U K z Distributivgesetz f r U und A 1 Im folgenden werden berg nge von einer Beweiszeile zur n chsten gelegentlich durch eingeschobene Zeilen erl utert 96 3 4 5 Kapitel 3 Interaktionsausdriicke Beachte a nN c a c a x a y A z U KOY A K2 U KO N U RZ OK 3 sowie K z O y gem Definition von x y y EN d F r einen Synchronisations Quantorausdruck ergibt sich die Behauptung analog wenn man die verwendeten Hilfsmittel Lemma und Distributivgesetz geeignet auf unendlich viele Men gen verallgemeinert was problemlos m glich ist e Die Inklusionen x lt W x und e x folgen leicht aus den Definitionen von x und x unter Verwendung der Induktionsvoraussetzung und ggf der Monotonie der verwen deten Mengenoperationen vgl 3 4 2 1 2 F r die Abgeschlossenheit von Y x bzgl Pr fixbildung gen gt es offensichtlich die Implikation w a e Y x gt we W x f r beliebige Worte w amp und Aktionen a zu zeigen was mit Hilfe der Definitionen und des Induktionsprinzips ebenfalls leicht gelingt 3 4 5 Vergleich von Operatoren 3 4 5 1 Lemma F r die Mengenoperationen Konkatenation und Verschr nkung sowie sequentielle und paral
198. aktor einer Mehrfach Ausf hrung oder Verzweigung eingeben C 2 8 Zusammenfassung der Maus Interaktionen Tabelle C 12 zeigt die verschiedenen Maus Interaktionen noch einmal im Zusammenhang Wie in vie len anderen Programmen auch kann man mit der linken Maustaste entweder Objekte in diesem Fall Graphen oder Teilgraphen markieren oder aber window scrolling erreichen S mtliche nderungs operationen werden mit der mittleren Maustaste durchgef hrt durch Klicken wird ein Graph entwe der kopiert oder entfernt und durch Ziehen der Maus kann man sich auf der Zeitachse bewegen d h nderungen r ckg ngig history scrolling Mit der rechten Maustaste schlie lich l t sich die Gr Maustaste Klicken Ziehen Links Graph markieren Zeichenfl che verschieben Mitte Graph kopieren oder entfernen Operationen r ckg ngig machen Rechts Graph zu oder aufklappen Schriftgr e ver ndern Tabelle C 12 Zusammenfassung der Maus Interaktionen C 3 Implementierungsdetails 339 e von Graphen ver ndern entweder indem man einzelne Teilgraphen zu oder aufklappt oder indem man global die Schriftgr e ver ndert pointsize scrolling C 3 Implementierungsdetails Ebenso wie die in Kapitel 4 beschriebene Implementierung von Interaktionsausdr cken wurde auch der hier vorgestellte Editor in der Programmiersprache CH geschrieben Neben den in Tab 4 28 4 8 2 und A 3 2 genannten Bibliotheksmodulen w
199. allele Iteration sowie das Konzept der Quantoren Au erdem wird die Konjunktion nur in ihrer oftmals unhandlichen strikten Form angeboten d h es fehlt der f r die Praxis wesentliche Synchronisationsoperator vgl Tab 6 4 i Sequ Sequ Par Par 2 Formalismus Komp her Komp Ter Disj Konj Sync Quant Synchronisierungsausdr _ Interaktionsausdr cke Tabelle 6 4 Vergleich von Synchronisierungs und Interaktionsausdr cken Die Unterscheidung zwischen einzelnen Anweisungen und ganzen Prozeduren als Granulat der Synchronisierung mag auf den ersten Blick nebens chlich erscheinen Ein wesentlicher Unterschied besteht jedoch darin da Anweisungen zum Zwecke der Synchronisation mit einem Statement tag markiert werden m ssen was u U einen nachtr glichen Eingriff in den Programmcode erfordert w hrend Prozeduren in einem Ausdruck einfach durch ihren Namen referenziert werden k nnen Auf die Synchronisation von Workflows bertragen bedeutet dies da man im ersten Fall die Beschrei bungen der zu synchronisierenden Workflows um explizite Markierungen erweitern m te w hrend man sie im zweiten Fall unver ndert bernehmen kann Aus diesem Grund wird in dieser Arbeit gera de die entgegengesetzte Meinung von Guo et al vertreten indem die Synchronisierung auf der Ebene von Prozeduren bzw Aktivit ten bevorzugt wird 6 2 3 Ereignis und Flu ausdr cke
200. amic Changes in Workflow Manage ment Systems In 8th Int Workshop on Database and Expert Systems Applications DEXA Toulouse France September 1997 1997 42 48 Reichert98a M Reichert P Dadam ADEPT flex Supporting Dynamic Changes of Workflows Without Losing Control Journal of Intelligent Information Systems Integrating Artificial Intelli gence and Database Technologies 10 2 March 1998 93 129 Reichert98b M Reichert C Hensinger P Dadam Supporting Adaptive Workflows in Advanced Application Environments In Proc EDBT Workshop on Workflow Management Systems Valencia Spain March 1998 1998 100 109 Reisig86 W Reisig Petrinetze Eine Einf hrung Studienreihe Informatik Springer Verlag Berlin 1986 Reiter78 R Reiter On Closed World Data Bases In H Gallaire J Minker eds Logic and Da ta Bases Plenum Press New York 1978 55 76 Reuter87 A Reuter Ma nahmen zur Wahrung von Sicherheits und Integrit tsbedingungen In P C Lockemann J W Schmidt eds Datenbank Handbuch Springer Verlag Berlin 1987 337 479 Riddle73 W E Riddle A Method for the Description and Analysis of Complex Software Sys tems ACM SIGPLAN Notices 8 9 September 1973 133 136 Riddle79a W E Riddle An Approach to Software System Behavior Description Computer Lan guages 4 1979 29 47 Riddle79b W E Riddle An Approach to Software System Mode
201. an durch Entfernen der Aktionen y4 Ym BZW z1 Zn ein Wort u z bzw v y erh lt Diese berlegungen gelten in gleicher Weise auch f r die Menge Y y z der partiellen Worte Eine weitere Anmerkung betrifft Ausdr cke mit unendlichen Alphabeten wie sie z B beim Einsatz von Quantoren auftreten vgl 3 3 3 Wenn eine der Mengen x y oder z unendlich ist lassen sich die obigen Transformationsschritte nicht ohne weiteres durchf hren da Disjunktionen mit unend 82 3 3 1 Kapitel 3 Interaktionsausdriicke lich vielen Zweigen nicht definiert sind Die oben hergeleiteten Formeln Ply o z PO OR y N PR x z und YO o 2 Py r O A PZ Ky z sind aber nichtsdestotrotz wohldefiniert und k nnen daher unabh ngig von ihrer anschaulich moti vierten Herleitung als allgemeing ltige Definition der Synchronisation y z verwendet werden Beispiel F r die Ausdr cke y 10 Pf Kopie A4 und z a Kopie A4 O ffnen A4 Schlie en A4 gilt amp y 0 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 a y 10 Pf Kopie A4 z 0 Kopie A4 ffnen A4 Schlie en A4 Kopie A4 ffnen A4 Schlie en A4 ffnen A4 Schlie en A4 Kopie A4 J a z Kopie A4 ffnen A4 Schlie en A4 Somit gilt f r die Alphabet Komplement Mengen x y und z des in Abb 3 20 dargestellten Aus drucks x y oz k y a z a y
202. annter Aktionen 192 Einsatz mehrerer Interaktionsmanager 193 5 2 7 1 Motivation 193 5 2 7 2 Schwierigkeiten 194 5 2 7 3 Modifiziertes Koordinationsprotokoll 195 5 2 7 4 Anmerkungen 195 Partitionierung von Graphen 196 5 2 8 1 Motivation 196 5 2 8 2 Prinzip 196 5 2 8 3 Realisierung 197 5 2 8 4 Verallgemeinerung 199 5 2 8 5 Anwendung 199 Implementierung eines Interaktionsmanagers 201 5 2 9 1 Hauptprogramm 201 5 2 9 2 Hilfsfunktion reply 202 5 2 9 3 Verwaltung von Abonnenten 204 5 2 9 4 Hilfsfunktion complete 205 5 2 10 Wiederanlauf nach Systemausf llen 205 5 2 10 1 Schutz vor Nachrichtenverlusten 205 5 2 10 2 Schutz vor Datenverlusten 206 Synchronisation paralleler Programme 208 5 3 1 5 3 2 5 3 3 Voriiberlegungen 208 Integration von Interaktionsausdr cken inCH 208 5 3 2 1 Aktivit ten 208 5 3 2 2 Synchronisationsbedingungen 210 5 3 2 3 Prozesse 211 5 3 2 4 Beispielablauf 212 Anmerkungen 213 5 4 Definition von Workflow Geflechten 215 5 4 1 Vor berlegungen 215 5 4 2 Schritt 1 Erstellung eines Aktivit tenkatalogs 215 5 4 3 Schritt 2 Spezifikation allgemeiner Integrit tsbedingungen 216 5 4 4 Schritt 3 Definition von Workflows 217 5 4 5 Schritt 4 Spezifikation spezieller Integrit tsbedingungen 218 5 4 6 Zusammenfassung des Vorgehensmodells 219 5 4 7 Anmerkungen 220 5 5 Implementierung von Workflow Geflechten 221 5 5 1 berblick 221 5 5 2 Adaption von Arbeitslistenprogrammen 221 5 5 2 1 Aktuali
203. antoren 4 7 4 zu formulieren 4 7 3 1 Boolesche Operatoren Satz Die Booleschen Operatoren Disjunktion einschlie lich Option Konjunktion und Synchronisation sind harmlos Beweis Der initiale Zustand eines Booleschen Ausdrucks x y z besitzt den Verzweigungsgrad 2 der bei nachfolgenden Zustands berg ngen entweder unver ndert bleibt oder durch Optimierungen reduziert wird wenn ein disjunktiver Zustand durch einen seiner Teilzust nde oder ein kompletter Zustand durch den Zustand ersetzt wird vgl 4 5 4 2 bis 4 5 4 5 Folgerungen Diese Tatsache ist insbesondere f r die h ufig verwendete modulare Kombination von Ausdr cken mit Hilfe des Synchronisationsoperators bedeutsam weil sie besagt da die Komplexit t eines zu sammengesetzten Ausdrucks x O x einzig und allein von der Komplexit t der Teilaus dr cke x abh ngt und durch die Verkn pfung mittels Synchronisation keine zus tzliche Komplexit t entsteht 4 7 3 2 Sequentielle Operatoren Satz 1 Die Operatoren f r sequentielle Komposition und Iteration sind gutartig 2 Sofern der linke Teilausdruck y einer sequentiellen Komposition y z bzw der Rumpf y einer se quentiellen Iteration amp y terminal fokussiert ist sind die Operatoren sogar harmlos 3 Die Operatoren sind auch harmlos wenn der rechte Teilausdruck z einer sequentiellen Komposi tion y z bzw der Rumpf y einer sequentiellen Iteration amp y quasi regul r ist 4 We
204. ase Systems In A K Elmagarmid ed Database Transaction Models for Advanced Applications Morgan Kauf mann Publishers San Mateo CA 1992 1 31 Aho75 A V Aho S C Johnson J D Ullman Deterministic Parsing of Ambiguous Grammars Communications of the ACM 18 8 August 1975 441 452 Aho79 A V Aho B W Kernighan P J Weinberger Awk A Pattern Scanning and Processing Language Software Practice and Experience 9 4 April 1979 267 279 Aho88 A V Aho R Sethi J D Ullman Compilerbau Teil 1 und 2 Addison Wesley Bonn 1988 Alonso95 G Alonso R G nth r M Kamath D Agrawal A El Abbadi C Mohan Exotica FMDC Handling Disconnected Clients in a Workflow Management System In S Lauf mann S Spaccapietra T Yokoi eds Proc 3rd Int Conf on Cooperative Information Systems CoopIS Vienna Austria May 1995 1995 99 110 Andler79 S Andler Predicate Path Expressions In Proc 6th ACM Symp on Principles of Pro gramming Languages San Antonio TX January 1979 1979 226 236 Araki8la T Araki N Tokura Flow Languages Equal Recursively Enumerable Languages Acta Informatica 15 1981 209 217 Araki81b T Araki T Kagimasa N Tokura Relations of Flow Languages to Petri Net Lan guages Theoretical Computer Science 15 1981 51 75 Attie93 P C Attie M P Singh A Sheth M Rusinkiewicz Specifying and Enforcing Int
205. asen s OyolordsuoneuIpiooy uasiseydiaip sop jneyqy L S Sunpyiqqv 1 Klient Anfrage Ask Manager 8 8 Antwort Transaktion 3 4 5 6 Commit abschlie en Transaktion Aktion Transaktion Best tigung beginnen ausf hren sichern Exec 8 9 2 Antwort Transaktion Antwort Abort zur cksetzen Accept 3 Best tigung Undo 2 Antwort Reject 6 7 8 Best tigung Zustands bergang Antwort Exec durchf hren Commit 2 3 Antwort Best tigung Accept Undo 1 7 8 Anfrage Best tigung Antwort Ask bleibt aus Abort 2 Antwort Reject YTS 061 USYONIPSNESUONNEISJU UOA ZYESUIT JOyOSHyeig S ode 5 2 Interaktionsmanager 5 2 5 191 Wird das Protokoll vollst ndig durchlaufen so entsprechen die Phasen 2 und 3 den beiden Phasen eines Zwei Phasen Commit Protokolls bei dem der Interaktionsmanager die Rolle des Commit Koor dinators spielt Die Nachricht Accept die den Klienten auffordert die Aktion innerhalb einer Trans aktion auszuf hren und diese zu sichern ist mit der Prepare to commit Aufforderung des 2PC Proto kolls vergleichbar w hrend die Exec Nachricht des Klienten einer Ready to commit Best tigung ent spricht In diesem Zustand mu der Klient ein
206. assung der Bedingungen big verschachtelt werden d rfen oder anders ausgedr ckt da an jeder Stelle eines Graphen an der eine atomare Aktion stehen darf auch ein beliebig komplexer Teilgraph stehen darf Eigentlich sollte diese Eigenschaft so selbstverst ndlich sein da sie gar nicht explizit erw hnt werden mu Insbesondere stellt sie eine conditio sine qua non f r die Konsequente Anwendbarkeit von Abstraktionsmechanismen Abk rzungen und Schablonen siehe 2 8 2 2 und die modulare Kombination 2 8 2 4 von Graphen dar Und dennoch weisen viele verwandte Formalismen gerade in diesem Punkt erhebliche Schw chen auf indem sie bestimmte Kombinationen von Operatoren ver 62 2 8 2 Kapitel 2 Interaktionsgraphen Bezeichnung Graph Abschnitt Sequenz 22 1 sequentielle Komposition y 2 3 3 1 2 Entweder oder Verzweigung gt 2 2 1 Disjunktion E N 3 3 1 4 Z y Sowohl als auch Verzweigung 2 2 2 4 parallele Komposition 3 3 1 6 Z Kopplung 2 2 3 2 2 Synchronisation 3 3 1 10 Z Wiederholung 2 2 5 1 sequentielle Iteration 3 3 1 3 Eventuell Verzweigung y 2 2 9 2 Option Cee 3 3 1 5 Mehrfac
207. ation wie z B o a x oder o a ein Attribut a dynamisch zu einem Objekt o hinzugef gt oder entfernt so erh lt das Objekt eine neue Signatur und sein Datenbereich wird geeignet reorganisiert Da in einem laufenden Programm normalerweise viele Objekte mit derselben Signatur existieren wird eine globale Signaturtabelle verwaltet die nur bei Bedarf erweitert wird Auf diese Weise kann der zur Verwaltung von Signaturen ben tigte Speicherplatz sehr klein gehalten werden Beim Zugriff o a auf ein Attribut a des Objekts o mu die Signatur des Objekts nach diesem Attri but durchsucht werden um festzustellen ob das Attribut existiert und um ggf seine Position im Da tenbereich zu ermitteln Da die Attribute einer Signatur nach einer internen Identifikationsnummer sortiert werden kann dies effizient mittels bin rer Suche erfolgen Dennoch ist ein derartiger Attribut zugriff nat rlich bei weitem nicht so effizient wie ein Zugriff auf eine gew hnliche Strukturkompo nente deren relative Position vom Compiler bereits zur bersetzungszeit bestimmt werden kann A 3 2 5 Vergleichsprozeduren und operatoren F r atomare Typen berechnet die Vergleichsprozedur cmp die Differenz ihrer beiden Argumente Ist diese von null verschieden wird ihr Vorzeichen mittels einer Ausnahme zur ckgeliefert andernfalls terminiert die Prozedur normal Die sechs Vergleichsoperatoren lt lt gt und gt werden als Template Operatorfunktio
208. atoren 250 6 2 4 2 Definition der Semantik 250 6 2 4 3 Implementierung des Formalismus 251 6 2 4 4 Vergleich mit Interaktionsausdr cken 251 6 2 5 Zusammenfassung 251 6 2 5 1 Ausdrucksm chtigkeit 251 6 2 5 2 Vollst ndigkeit 252 6 2 5 3 Orthogonalit t 253 6 2 5 4 Res mee 253 6 3 Proze algebren 253 6 3 1 Einleitung 253 6 3 2 CSP Communicating Sequential Processes 254 6 3 2 1 Angebotene Operatoren 254 6 3 2 2 Definition der Semantik 256 6 3 2 3 Implementierung des Formalismus 257 6 3 2 4 Vergleich mit Interaktionsausdr cken 257 6 4 Erweiterte Transaktionsmodelle 259 6 4 1 Inter task dependencies 259 6 4 1 1 Angebotene Operatoren 259 6 4 1 2 Definition der Semantik 260 6 4 1 3 Implementierung des Formalismus 260 6 4 1 4 Vergleich mit Interaktionsausdr cken 260 6 4 2 Weitere Ans tze 261 6 5 Petrinetze 261 6 5 1 Transformation von Interaktionsgraphen in Petrinetze 262 6 5 1 1 Stellen Transitionen Netze 262 6 5 1 2 Hilfsstellen 262 6 5 1 3 Hilfstransitionen 263 6 5 1 4 Kopplung 264 6 5 1 5 Beliebig oft Verzweigung 265 6 5 1 6 Netze mit individuellen Marken 267 6 5 1 7 Parametrisierte Ausdr cke und Quantoren 268 6 5 1 8 Anmerkung 268 6 5 2 Vergleich von Petrinetzen mit Interaktionsgraphen 268 6 6 Workflow Management Konzepte 269 6 6 1 Verh ltnis von Workflow Beschreibungssprachen und Interaktionsausdr cken 269 6 6 1 1 Unterschiede pr skriptiver und deskriptiver Formalismen 269 6 6 1 2 Gegenseitige Erg nzung pr skr
209. aus Gr nden der konzep tionellen Vollst ndigkeit zur Menge der Interaktionsoperatoren 3 3 Definition von Interaktionsausdr cken 3 3 1 79 3 3 1 9 Alphabet eines Ausdrucks Bevor im nachfolgenden Abschnitt 3 3 1 10 der Synchronisationsoperator als letzter verbleibender elementarer Operator von Interaktionsausdr cken eingef hrt werden kann mu zun chst das Alpha bet a x eines Ausdrucks x d h die Menge aller Aktionen von x definiert werden a f r einen atomaren Ausdruck x a mita eT a x 4 ay f r einen un ren Ausdruck x y mitoe aao a y U az f r einen bin ren Ausdruck x yoz mitoe 0 0 0 Anmerkung Da das Gleichheitszeichen zwischen Ausdr cken sp ter zur Notation der semantischen Gleichheit oder quivalenz verwendet wird vgl 3 4 1 1 wird die syntaktische Gleichheit oder bereinstimmung von Ausdr cken durch das Zeichen notiert 3 3 1 10 Synchronisation Definitionen Eine Synchronisation oder lose Kopplung ist ein Ausdruck y z vgl Abb 3 17 mit beliebigen Teilausdr cken y und z die als Zweige der Synchronisation bezeichnet werden ee Abbildung 3 17 Synchronisation y z Der Graph in Abb 3 17 wird durchlaufen indem die beiden Teilgraphen y und z teilweise synchroni siert durchlaufen werden Aktionen die nur in einem Zweig vorkommen k nnen wie bei der paral lelen Komposition unabh ngig vom anderen Zweig d
210. ausgef hrt werden Nach einem Systemabsturz sind keinerlei besondere Ma nahmen erforderlich da Daten strukturen und Nachrichtenkan le zu jedem Zeitpunkt konsistent sind 2 Die Datenstrukturen werden zwar im Hauptspeicher gehalten und manipuliert s mtliche nde rungsoperationen werden jedoch zuverl ssig protokolliert Auch hierf r ist es sinnvoll die Entge gennahme einer Nachricht das Protokollieren der zugeh rigen nderungsoperationen und das eventuelle Versenden einer Antwortnachricht jeweils in einer Transaktion zusammenzufassen Beim Wiederanlauf nach einem Systemabsturz startet der Interaktionsmanager mit dem initialen Zustand s des Ausdrucks x und leeren Listen queue und sub anschlie end wiederholt er alle zu vor protokollierten nderungsoperationen und erreicht so den letzten konsistenten Zustand vor dem Ausfall 3 Man protokolliert nicht die einzelnen nderungsoperationen auf den Datenstrukturen sondern le diglich die eingehenden Nachrichten die die Operationen ausgel st haben Beim Wiederanlauf werden diese Nachrichten erneut gelesen und die zugeh rigen Operationen ausgef hrt fast so als ob es sich um gew hnliche Nachrichten von Klienten handeln w rde Der einzige Unterschied be steht darin da w hrend dieser Wiederanlaufphase keine Antwortnachrichten verschickt werden weil diese zuvor bereits zuverl ssig versandt wurden 4 Da die eingehenden Nachrichten im Eingangskanal des Managers ohnehin zuverl ssig g
211. barkeit von Ausdr cken eingesetzt werden Um bei mehrfach verschachtelten Klammerausdr cken die ber sichtlichkeit zu erh hen k nnen neben den blichen runden Klammern auch eckige und geschweifte Klammern zur Gruppierung von Ausdr cken verwendet werden 4 2 4 Multiplikatoren und Quantoren 5 Gro e Operatoren mit hoch und tiefgestellten Termen wie z B oder zur Darstellung von Multiplikatoren und Quantoren werden wie folgt linearisiert 4 Ein tiefgestellter Term wird wie ein Feldindex in Programmiersprachen in eckige Klammern ein geschlossen Demnach ist p beispielsweise die Ersatzdarstellung f r den Quantor p e Fin hochgestellter Term wird analog in geschweifte Klammern eingeschlossen Der Multiplika 5 tor kann daher in der Form 5 notiert werden Da Multiplikatoren und Quantoren syntaktisch wie un re Operatoren verwendet werden besitzen sie denselben Vorrang wie diese Anmerkung Auf den ersten Blick mag es verwirrend erscheinen da eckige und geschweifte Klam mern auch zur Gruppierung von Ausdr cken verwendet werden k nnen vgl 4 2 3 ihre Bedeutung also syntaktisch berladen ist Allerdings sollte man hierbei bedenken da auch runde Klammern wie in den meisten Programmiersprachen diese Eigenschaft besitzen zum einen dienen sie zur Kennzeichnung von Parameterlisten vgl 4 2 1 zum anderen zur Gruppierung von Ausdr cken Dies wird jedoch blicherweise
212. bbiegt und somit genau einen der beiden Teilgraphen bzw Zweige zwischen den beiden O Knoten durchl uft Je nachdem f r welchen Zweig man sich entscheidet durchl uft man entweder einmal die Aktion 2DM oben oder aber zweimal hintereinander die Aktion 1DM unten bevor man den Vereinigungsknoten rechts und somit das Ende des Graphen er reicht 2 2 2 Einwerfen von 3 DM 2 2 2 1 Variante 1 Um einen Betrag von 3 DM mit Hilfe von 1 DM und 2 DM M nzen zu entrichten kann man entwe der drei 1 DM M nzen oder aber eine 1 DM und eine 2 DM M nze in beliebiger Reihenfolge ein werfen Dies wird durch den Graphen in Abb 2 4 beschrieben 1DM 1DM 1DM 1DM 2DM 2DM 1DM Abbildung 2 4 Einwerfen von 3 DM Variante 1 Eine Entweder oder Verzweigung kann also nicht nur zwei sondern prinzipiell beliebig viele Zwei ge besitzen von denen genau einer zu durchlaufen ist 2 2 Grundlegende Operatoren Beispiel M nzautomaten 2 2 2 17 2 2 2 2 Variante 2 Offensichtlich quivalent zu dieser Darstellung ist der Graph in Abb 2 5 bei dem die tern re Ver zweigung aus Abb 2 4 durch eine Verschachtelung zweier bin rer Verzweigungen ersetzt wurde Am ersten Verzweigungsknoten ganz links Kann man entweder nach oben oder nach unten abbiegen ent scheidet man sich f r unten so kann man am n chsten inneren Verzweigungsknoten erneut zwi schen oben und unten w hlen Folglich
213. beginnen Diese Vorgehensweise hat den Vorteil da man anschlie end bei der Definition von Workflows und Inter Workflow Abh ngigkeiten ein ein heitliches und kontrolliertes Vokabular von Aktivit tenbezeichnern zur Verf gung hat auf das man sich beziehen kann Wie bereits erw hnt besitzt ein Workflowschritt oder eine Aktivit t ebenso wie eine Prozedur einen eindeutigen Namen und ggf eine Menge von Parametern Anstelle eines Prozedurrumpfs der direkt den ausf hrbaren Code der jeweiligen T tigkeit enth lt mu einem Workflowschritt jedoch ein Schrittprogramm zugeordnet werden d h ein beliebiges meist interaktives Programm mit dessen Hilfe der Bearbeiter des Schritts die auszuf hrende T tigkeit verrichten kann vgl 1 1 1 Dar ber hinaus ist es sinnvoll f r jede Aktivit t eine verbale Beschreibung dieser T tigkeit zu formulieren ebenso wie man Prozeduren blicherweise mit einem erl uternden Kommentar versieht Fa t man die se und ggf weitere relevante Daten f r alle Workflowschritte in einem zentralen Verzeichnis zusam men so erh lt man einen Aktivit tenkatalog Tabelle 5 31 zeigt einen solchen stark vereinfachten Katalog f r den Anwendungsbereich Medi zinische Untersuchungen Die genannten Bezeichnungen der Schrittprogramme wie z B elektroni sches Kardex elektronischer Kalender Pflegedokumentation usw sollen lediglich andeuten um welche Art von Programmen es sich hierb
214. beitslistenprogrammen handelt es sich entweder um die zum WfMS geh renden Standard programme vgl 1 1 6 oder um entsprechende Eigenimplementierungen Im Gegensatz zu den ad aptierten Programmen in 5 5 2 wissen die hier betrachteten Arbeitslistenprogramme jedoch nichts Interaktions Manager 1 Subscribe Ay 2 Permit Ay 4 Forbid Ay Workflow Ausf hrungs Einheit 6 Cancel Ay 3 A zul ssig E Tr ra ec 5 A unzul ssi 7 A unzul ssig Abbildung 5 45 Aktualisierung von Arbeitslisten Arbeitslisten Programme 226 5 5 3 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken von der Existenz des Interaktionsmanagers Sie reagieren daher auf die Mitteilungen 3 5 und 7 je weils ohne weitere Nachfragen indem sie die genannten Aktivit ten in der Arbeitsliste des Benutzers anzeigen bzw aus ihr entfernen Anmerkung Die Behandlung von Unknown Nachrichten des Interaktionsmanagers erfolgt analog zu 5 5 2 1 Entsprechendes gilt auch f r die beiden nachfolgenden Abschnitte 5 5 3 2 und 5 5 3 3 5 5 3 2 Starten von Aktivit ten Abbildung 5 46 zeigt das Zusammenspiel der Komponenten beim Starten einer Aktivit t Da der In teraktionsmanager hier mit zuverl ssigen Workflow Ausf hrungseinheiten und nicht mit potentiell unzuverl ssigen Arbeitslistenprogrammen kommuniziert kann das einfachere zweiphasige Koordina tionsprotokoll verwendet
215. biert Durch die beschriebene Top down Entwicklung des Graphen bei der jeweils ein be stimmter Teilgraph im Beispiel immer eine einzelne Aktion durch einen semantisch quivalenten Teilgraphen ersetzt bzw verfeinert wurde ist dies jedoch auch nicht erforderlich Es gen gt da man von der Korrektheit des Ausgangsgraphen Abb 2 13 und von der Korrektheit der einzelnen Transformationsschritte berzeugt ist 5DM 2DM 1DM 50 Pf 1DM 2 2 do PB OTO Abbildung 2 17 Einwerfen von 5 DM Variante 5 5DM 2 DM 1 DM 50 Pf 10 Pf 1DM 50 Pf Ou 10 Pf Abbildung 2 18 Einwerfen von 5 DM Variante 6 24 2 2 5 Kapitel 2 Interaktionsgraphen 2 2 4 4 Abk rzungen hnlich wie der Graph in Abb 2 10 enth lt auch der soeben entwickelte Graph Abb 2 18 einige identische Teilgraphen die sich jedoch im Gegensatz zu dort nicht durch die Verwendung von Mehrfach Verzweigungen eliminieren lassen Au erdem leidet seine Ubersichtlichkeit und Verst nd lichkeit an der relativ gro en Verschachtelungstiefe der verschiedenen Verzweigungen die dar ber hinaus die Verwendung einer sehr kleinen Schrift erzwingt damit der Graph horizontal auf eine Seite pa t Beide genannten Sch nheitsfehler lassen sich durch die Einf hrung
216. bt die Definition der Schablone in Abb 2 36 da eine Blitz Verzweigung mit den Zweigen x und y eine Abk rzung einer Wiederholung ber eine Entweder oder Verzweigung x oder y dar stellt Da die formalen Parameter der Schablone x und y Platzhalter f r beliebig komplexe Teilgra phen darstellen werden sie ebenso wie Abk rzungen mit Doppelrahmen umgeben 2 3 3 2 Variable Schablonen Die soeben vorgestellte Definition der Schablone mutex ist insofern unpraktisch als sie genau zwei Zweige besitzt und daher nur zur Formulierung des wechselseitigen Ausschlusses von genau zwei Teilgraphen verwendet werden kann Abbildung 2 37 hingegen zeigt eine flexiblere Definition die be sagt da eine Blitz Verzweigung mit beliebig vielen Zweigen x eine Abk rzung einer Wiederho lung ber eine Entweder oder Verzweigung x oder darstellt Mit Hilfe dieser Schablone k nnen ai dd Abbildung 2 37 Definition der Schablone mutex mit beliebig vielen Zweigen 36 2 3 4 Kapitel 2 Interaktionsgraphen daher wechselseitige Ausschlu bedingungen mit beliebig vielen Teilgraphen x x formuliert werden die f r eine Wiederholung einer Entweder oder Verzweigung x oder oder x stehen Unter Verwendung dieser Schablonendefinition kann der Graph aus Abb 2 33 2 3 2 2 nun kom pakter bersichtlicher und vor allem auf h h
217. ch 5 2 6 Anmerkung zur graphischen Darstellung Das Symbol zur Darstellung der Kopplung kann als mo difiziertes Symbol Sowohl als auch Verzweigung aufgefa t werden bei dem die teilweise Schw rzung andeutet da die einzelnen Zweige teilweise miteinander gekoppelt sind Entsprechend gibt es auch ein Symbol dessen vollst ndige Schw rzung anzeigt da seine Zweige vollst ndig oder strikt gekoppelt traversiert werden m ssen d h da eine Aktion nur dann ausgef hrt werden darf wenn sie in allen Zweigen gleichzeitig passiert werden kann Die praktische Bedeutung dieses Operators ist jedoch u erst gering 2 3 2 3 Beispiel Der Graph in Abb 2 33 kann zum Beispiel wie folgt durchlaufen werden 1 Am linken 9 Knoten beginnt man alle drei Zweige der Kopplung zu durchlaufen Stellt man sich zum Durchlaufen des oberen Zweigs wieder eine Mannschaft von L ufern vor so teilt sich diese am linken Knoten zum Beispiel in zwei Gruppen G und G auf die beide zu n chst die linke Aktion 10 Pf durchlaufen Anschlie end biegt eine der Gruppen z B G am Entweder oder Verzweigungsknoten nach unten ab und durchl uft die dort folgende Aktion 10 Pf w hrend die andere Gruppe G nach oben abbiegt Wie bereits erw hnt k nnen die Aktionen 10 Pf jeweils unabh ngig von den brigen Zweigen der Kopplung passiert werden weil sie nur in diesem Zweig auftreten In der realen Welt wurde jetzt dreimal die Aktion 10 Pf ausgef hrt d h
218. ch diesen grundlegenden Kapiteln wird in Kapitel 4 eine konkrete Implementierung von Interak tionsausdr cken entwickelt die in der Lage ist f r einen gegebenen Ausdruck das klassische Wort problem Hopcroft90 Sch ning95 das verwandte Teilwortproblem sowie das f r konkrete Anwen dungen essentielle Aktionsproblem vgl 4 1 1 zu l sen Da sich die in Kapitel 3 vorgestellte for male Semantik nicht direkt in eine ausreichend effiziente Implementierung transformieren l t be steht ein wesentlicher Teil dieses Kapitels 4 5 in der Entwicklung einer separaten operationalen Semantik die einerseits quivalent zur formalen Semantik ist und andererseits effizient implemen tierungstechnisch umgesetzt werden Kann Das Kapitel schlie t mit einigen Komplexit tsbetrach tungen die formal best tigen da die so entwickelte Implementierung eine sehr gro e und prak tisch relevante Teilklasse von Interaktionsausdr cken effizient verarbeiten Kann Im Anschlu an diese ausf hrliche sowohl theoretisch als auch praktisch relevante Aspekte umfas sende Behandlung von Interaktionsausdr cken und graphen wird in Kapitel 5 die Br cke zur ck zur Anwendung geschlagen Insbesondere wird erl utert wie Interaktionsgraphen zur Spezifikation von Inter Workflow Abh ngigkeiten eingesetzt werden k nnen und wie die in Kapitel 4 vorgestellte Implementierung zu einem Interaktions Manager ausgebaut und mit einem oder mehreren Work flow Management Systeme
219. ch w ren sondern entfernt Da versehentlich durchgef hrte Operationen problemlos r ckg ngig gemacht werden k nnen wird ei ne solche L schoperation ohne Nachfrage und Best tigung durchgef hrt Au erdem wird der entfern te Teilgraph intern so lange aufbewahrt bis eine neue Markieroperation ausgef hrt wird d h er kann durch eine anschlie ende Kopieroperation wieder zum Vorschein gebracht werden Auf diese Weise kann ein Teilgraph einfach durch Markieren Entfernen und anschlie endes Kopieren an eine andere Stelle versetzt werden 334 C 2 5 Anhang C Ein syntaxgesteuerter Editor fiir Interaktionsgraphen C 2 4 Kopieren gr erer Teilgraphen Der mittlere Zweig des wechselseitigen Ausschlusses in Abb C 1 kann prinzipiell nach demselben Schema erstellt werden wie der obere Einfacher und schneller ist es jedoch den oberen Zweig durch Markieren und Kopieren komplett zu verdoppeln anschlie end die Aktivit t Patient vorbereiten zu entfernen und stattdessen eine Kopie von Patient aufkl ren einzusetzen vgl Abb C 6 BEE Unters Te Pal anori verei vorbere p u p u p u p u OEO Abbildung C 6 Zweiter Zweig des wechselseitigen Ausschlusses C 2 5 Konstruktion von Verzweigungen mit mehr als zwei Zweigen Ebenso wie die Standardverzweigungen von Interaktionsgraphen kann auch ein wechselseitiger Aus schlu beliebig viele Zweige besitzen vgl 2 3 3 2 obwohl der zugeh rige Mustergraph nur Platz halter f r die m
220. chen Und Operator dar 118 4 2 4 Kapitel 4 Implementierung von Interaktionsausdriicken Synchronisation Das Zeichen blicherweise als at gesprochen k nnte man auch als Abk rzung von and auffassen und so zum Ausdruck bringen da auch die Synchronisation eine Art logischer Und Verkn pfung darstellt Option Das Zeichen zeigt an da die Ausf hrung eines Ausdrucks fraglich d h optional ist In den oben erw hnten Unix Werkzeugen wird das Zeichen mit derselben Bedeutung verwendet Die Tatsache da die Operatoren und in manchen theoretischen Arbeiten gerade mit entgegenge setzter Bedeutung verwendet werden Milner80 Hennessy88 Baeten90 ist zwar bedauerlich l t sich bei der gro en Vielfalt verwandter Formalismen aber kaum vermeiden Bei der Festlegung des Operatorvorrangs wurde darauf geachtet da man bei h ufig auftretenden Operatorkombinationen mit m glichst wenig expliziten Klammern auskommt Aus diesem Grund ste hen beispielsweise die Booleschen Operatoren amp und in dieser Reihenfolge am Ende der Vorrang skala Der hohe Vorrang der un ren Operatoren widerspricht diesem Prinzip in gewisser Weise da Ite rationen so fast immer Klammern erfordern entspricht aber blichen Gepflogenheiten Au erdem ist nicht klar an welcher Stelle der Skala die Operatoren besser aufgehoben w ren 4 2 3 Klammern Klammern k nnen wie blich zur expliziten Vorrangregelung oder zur Verbesserung der Les
221. chende Nachricht verschicken forall m lt lt sub if m cat Permit reply m nil Forbid else reply m Permit nil Abbildung 5 21 Implementierung eines Interaktionsmanagers Teil 4 Hilfsfunktion complete schieden von Exec und Undo ist In diesem Fall sendet der Manager eine Abort Antwort an den Klienten Ist der Folgezustand s_ ung ltig so ist die angefragte Aktion momentan nicht zul ssig was durch Zur cksenden einer Antwort vom Typ no im konkreten Fall Reject angezeigt wird Der Anfragetyp Wait wird sehr hnlich behandelt allerdings wird durch den Aufruf von reply mit no nil angezeigt da im Fall eines ung ltigen Folgezustands s_ keine Antwort an den Klien ten geschickt werden soll Stattdessen wird im Hauptprogramm daf r gesorgt da die Anfrage m in diesem Fall der durch den R ckgabewert 0 der Funktion reply angezeigt wird in die Liste queue aller bisher unbeantworteten Wait Anfragen eingetragen wird vgl Abb 5 19 5 2 9 3 Verwaltung von Abonnenten Abb 5 19 Eine Anfrage vom Typ Subscribe wird in die Liste sub aller Abonnenten engl subscribers einge tragen aus der sie sp ter durch eine entsprechende Cancel Nachricht wieder entfernt werden Kann Au erdem wird bei Subscribe wiederum mit Hilfe der Funktion reply berpr ft ob die an gefragte Aktion momentan zul ssig w re Ist dies der Fall schickt reply eine Permit Nachricht an den Klienten zur ck l t den a
222. chlaufen dieses Graphen w hrend ein Zustands ber gang s t s dem Durchlaufen einer Aktion a entspricht Ein g ltiger Folgezustand o x beschreibt die Menge aller m glichen Positionen an denen sich ein L ufer bzw eine Mannschaft von L ufern nach Durchlaufen der Aktionsfolge w befinden k nn te w hrend ein ung ltiger Zustand o x anzeigt da die Aktionsfolge w aus Sicht des Graphen un zul ssig ist Ein Zustand o x ist genau dann ein Endzustand wenn man nach Durchlaufen der Aktionsfolge w das Ende des Graphen erreicht haben k nnte 4 5 2 Optimierte Zustandsmodelle 4 5 2 1 quivalenz von Zust nden Betrachtet man Zust nde als Auspr gungen eines abstrakten Datentyps deren interne Struktur ver borgen ist so stellen die Pr dikate y und g die einzigen Methoden in objektorientierter Terminolo gie dar mit denen man direkt Aussagen ber einen Zustand erh lt Unter Zuhilfenahme der Zu stands bergangsfunktion t kann man jedoch auch indirekt Informationen ber einen Zustand s erhal ten indem man die Pr dikate y und g auf seine Folgezust nde r s anwendet Wenn nun zwei Zust nde s und durch ausschlie liche Anwendung der Funktionen y g und T nicht unterschieden werden K nnen d h wenn y yw 8 und 9 s 5 f rallew e X gilt so hei en s und quivalent engl equivalent oder bisimilar in Zeichen s 8 Da die Korrektheit eines Zustandsmodells lediglich von den extern sichtbaren
223. chricht m in der Funktion reply jeweils aktualisiert wird wenn eine Nachricht an den Absender von m verschickt wird wird diese In variante jederzeit aufrechterhalten 5 2 10 Wiederanlauf nach Systemausf llen Ein wesentlicher Mangel der Implementierung in 5 2 9 besteht darin da s mtliche Datenstrukturen ausschlie lich im Hauptspeicher gehalten werden wo sie im Fall eines Programm oder Rechnerab sturzes unwiederbringlich verloren gehen Dies betrifft sowohl den aktuellen Zustand s des Aus drucks x ohne den eine Beantwortung von Klientenanfragen nicht m glich ist als auch die Warteliste queue und die Abonnentenliste sub die f r einen korrekten Betrieb eines Interaktionsmanagers ebenfalls unentbehrlich sind Dar ber hinaus k nnen bei einem Systemausfall auch Nachrichten verlo ren gehen die sich im Eingangspuffer des Interaktionsmanagers befinden und noch nicht verarbeitet wurden oder die vom Manager bereits verschickt von der Netzwerk Software aber noch nicht endg l tig zugestellt wurden 5 2 10 1 Schutz vor Nachrichtenverlusten Der Gefahr von Nachrichtenverlusten kann man grunds tzlich durch die Verwendung persistenter Nachrichtenkan le engl persistent message queues Bernstein90 Gray93 Mohan94 begegnen die entweder mit Hilfe eines konventionellen Datenbanksystems implementiert werden k nnen oder durch den Einsatz geeigneter Middleware Komponenten z B Transaktionsmonitore ohnehin zur Verf gung stehen Im ei
224. chst wird die Sequenz 1 DM 1 DM durch die offensichtlich quivalente Mehrfach Verzwei gung 2 mal 1 DM ersetzt Abb 2 16 1 DM 1 DM 1 DM 1 DM 1 DM 1 DM 1 DM 1 DM 2 DM 1 DM 1 DM 2 DM 1 DM 1 DM 2 DM 1 DM 1 DM 2 DM 1 DM 1 DM 1 DM 1 DM 2 DM 2 DM 2 DM 1 DM 2 DM 2 DM 2 DM 1 DM 5 DM Abbildung 2 15 Einwerfen von 5 DM Variante 3 5 DM 2 DM 1 DM 1 DM Abbildung 2 16 Einwerfen von 5 DM Variante 4 4 Diese Zahlen lassen sich relativ einfach mit Hilfe eines Programms ermitteln das systematisch alle m glichen M nzfolgen durchprobiert 2 2 Grundlegende Operatoren Beispiel M nzautomaten 2 2 4 23 2 Anschlie end wird jede 1 DM M nze durch eine Entweder oder Verzweigung 1 DM oder 2 mal 50 Pf ersetzt Abb 2 17 3 Schlie lich wird jede 50 Pfennig M nze durch eine Entweder oder Verzweigung 50Pf oder 5 mal 10 Pf ersetzt Abb 2 18 Da es wie oben erw hnt Knapp 2 Millionen M glichkeiten gibt einen Betrag von 5 DM mit Hilfe der M nzen 10Pf 50Pf 1DM 2DM und 5DM zu entrichten ist es nat rlich nicht mehr m glich den Graphen in Abb 2 18 dadurch zu verifizieren da man s mtliche m glichen Durchlaufreihenfolgen auspro
225. chteten Inter Workflow Abh ngigkeiten vergleichbar sind vgl hierzu 6 4 1 4 Auch die Verwandtschaft von Interaktionsausdr cken oder graphen zu Petrinetzen auf die in 6 5 n her eingegangen wird ist bei weitem nicht so ausgepr gt wie man auf den ersten Blick insbesondere wenn man Interaktionsgraphen betrachtet vermuten k nnte Zum Abschlu des Kapitels 6 6 folgen einige grunds tzliche Bemerkungen zum Verh ltnis zwi schen Interaktionsausdr cken und Workflow Management Konzepten bzw Systemen i Lediglich ein wesentliches Konzept von Ereignis und Flu ausdr cken wurde bewu t nicht bernommen vgl hierzu 6 2 3 4 239 240 6 2 1 Kapitel 6 Verwandte Arbeiten 6 2 Erweiterte regul re Ausdr cke Die grunds tzliche Idee bei der Entwicklung von Interaktionsausdr cken erweiterte regul re Aus dr cke zur Beschreibung zul ssiger Ausf hrungsreihenfolgen zu verwenden ist keineswegs neu Be reits Mitte der 70er und Anfang der 80er Jahre wurden hierf r verschiedene Varianten von Pfadaus dr cken 6 2 1 vorgeschlagen und in den 90er Jahren wurde dieselbe Idee in Form von Synchroni sierungsausdr cken 6 2 2 wiederaufgegriffen W hrend diese beiden Formalismen prim r als Syn chronisationsmechanismen f r parallele Programmiersprachen dienen wurden Ereignis und Flu ausdr cke 6 2 3 haupts chlich als Software Spezifikationssprachen konzipiert hnliches gilt f r CoCoA Ausf hrungsrege
226. chtheoretischen Ansatzes ist es gelun gen eine formale Semantik f r Interaktionsausdr cke zu entwickeln die das anschauliche Prinzip der Graphtraversierung auch f r Spezialf lle wie Sackgassen und endlose Wege geeignet pr zisiert Aufbauend auf dieser Semantik konnten zahlreiche intuitiv einleuchtende Eigenschaften von Interak tionsausdr cken auch formal verifiziert werden 7 1 4 Operationale Semantik Implementierung und Komplexit t Kapitel 4 Trotz zum Teil erheblicher Schwierigkeiten insbesondere im Kontext von Quantoren ist es gelungen ein vollst ndiges operationales Modell zur Ausf hrung von Interaktionsausdr cken zu entwickeln und seine Korrektheit in bezug auf die formale Semantik nachzuweisen Unter Zuhilfenahme einer geeig neten Programmiersprache konnte dieses Modell von Zust nden Zustands berg ngen und Zustands 273 274 7 2 1 Kapitel 7 Zusammenfassung und Ausblick pr dikaten erfolgreich in eine kompakte und effiziente Implementierung von Interaktionsausdr cken berf hrt werden Obwohl es prinzipiell wie erwartet Interaktionsausdr cke gibt f r die die Komplexit t des Wort oder Aktionsproblems bei Verwendung der vorliegenden Implementierung exponentiell bzgl der L nge der Eingabe ist Konnten dennoch einige wichtige Aussagen formuliert und bewiesen werden mit deren Hilfe f r sehr viele praktisch relevante Ausdr cke gezeigt werden Kann da sie gutartig sind d h mit polynomiel
227. chung abrufen durchf hren u D u D u u Termin vereinbaren Untersuchung Patient Untersuchung Befund Befund anordnen abrufen durchf hren erstellen lesen Patient vorbereiten Sonographie Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen v Untersuchung Patient anordnen aufkl ren Patient Untersuchung abrufen durchf hren Langbefund Langbefund erstellen lesen Termin vereinbaren Endoskopie Arbeitslisten der Benutzer Station Sonographie Endoskopie Schwester Arzt MTA Arzt MTA Arzt abrufen X sono abrufen X endo Abbildung 5 53 Zustand nach Beendigung der Aufkl rung 236 5 5 5 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken ps Patient AN S _Y fyorbereiten V u u p u a ae ee h Na aufkl ren NP h p 4 p u 2 P Patient Unterstchung abrufen durchf hren u u p u p u Termin vereinbaren Untersuchung Patient ntersuchung Befund Befund anordnen abrufen durchf hren erstellen lesen Y Untersuchung Patient Patient Untersuchung anordnen aufkl ren abrufen durchf hren Patient vorbereiten Sonographie Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen Langbefund Langbefund e
228. chungsprototypen einzelne Workflows im wesentlichen als separate in sich abgeschlossene Prozesse die unabh ngig voneinander ausgef hrt werden In der Regel werden weder Beschreibungs mittel zur Spezifikation noch Laufzeitmechanismen zur berwachung von workflow bergreifenden Synchronisationsbedingungen angeboten Nur einige wenige Systeme unterst tzen ein rudiment res Ereigniskonzept dessen Schwierigkeiten und Grenzen jedoch bereits in 1 3 2 2 erl utert wurden Hinzu kommt da man mit derartigen Ans tzen die in 5 5 2 1 und 5 5 3 1 beschriebene und f r praktische Anwendungen u erst wichtige Aktualisierung von Arbeitslisten grunds tzlich nicht be 18 z 7 ae 5 oder ein vergleichbarer deskriptiver Formalismus 6 6 Workflow Management Konzepte 6 6 2 271 friedigend unterst tzen kann da Aktivit ten durch Ereignisse nur aktiviert nicht jedoch deaktiviert d h vor bergehend aus Arbeitslisten entfernt werden K nnen Auch in den Aktivit ten und Standardisierungsbem hungen der Workflow Management Coalition WfMC wurden Inter Workflow Abh ngigkeiten bisher nicht ber cksichtigt So enth lt das von der Koalition vorgeschlagene Referenzmodell vgl 1 1 6 zwar eine Schnittstelle Nummer 1 ber die einzelne Workflow Beschreibungen nicht jedoch Inter Workflow Abh ngigkeiten ausgetauscht wer den k nnen Auch die Schnittstelle 4 ber die ein in Ausf hrung befindlicher Workflow von einer Ausf hrungseinheit zur a
229. d Dieses wird meist auch zur Darstellung eines leeren Ausdrucks verwendet was zu einer weiteren syntakti schen berladung von Symbolen f hrt 68 3 2 2 Kapitel 3 Interaktionsausdriicke Man beachte hierbei da u v Un V nicht einzelne Aktionen sondern beliebig lange Teil worte darstellen Insbesondere k nnen u und v auch leer sein d h ein Wort Uj Vj Un Vp u v kann sowohl mit einem Teilwort von u als auch mit einem Teilwort von v be ginnen bzw enden Man beachte au erdem da die Verschr nkung zweier Worte im Gegensatz zu ihrer Konkatenation nicht ein einzelnes Wort sondern eine Menge von Worten darstellt Analog zur Konkatenation gilt jedoch da jedes Wort w u v die L nge Iwl lul Ivl besitzt Analog zur Konkatenation zweier Wortmengen U V c amp ist ihre Verschr nkung definiert als die Menge aller Worte die man durch Verschr nkung eines Wortes u U mit einem Wort v V erh lt USV Uu v wer duceU veV iweu v ueU veV Analog zur n ten Potenz einer Menge U c amp ist die n fache Verschr nkung von U mit sich selbst de finiert n 9 fiir n 0 QU nl ujeu f rn gt 0 Analog zur sequentiellen H lle einer Menge U c X ist schlie lich auch ihre parallele H lle defi niert oo n U UMU U u u Ogden78 Shaw78 n 0 neIN Uj Up EU 3 2 2 4 Unendliche Verschr nkung Ebenso wie die n fache Verschr nkung einer Menge mit sich
230. d die Synchronisation gelegentlich auch als intuitive Konjunktion bezeichnet deren praktischer Nutzen insbesondere bei der modularen Kombi nation von Ausdr cken vgl 2 3 2 4 und 2 8 2 4 weit ber den der eigentlichen Konjunktion hinausgeht 3 3 2 Abgeleitete Ausdr cke 3 3 2 1 Multiplikatorausdr cke Definitionen n Ein Multiplikatorausdruck ist entweder ein sequentieller Multiplikatorausdruck y oder ein paral n leler Multiplikatorausdruck y mit einem Faktor n e IN und einem beliebigen Ausdruck y der als Rumpf des Multiplikatorausdrucks bezeichnet wird Abbildung 3 21 zeigt die zugeh rigen Interak tionsgraphen die als Mehrfach Ausf hrung oben bzw Mehrfach Verzweigung unten bezeichnet werden Multiplikatorausdr cke werden wie folgt auf elementare Interaktionsausdr cke zur ckgef hrt 84 3 3 2 Kapitel 3 Interaktionsausdriicke n n Abbildung 3 21 Multiplikatorausdriicke y und y Auf diese Weise ist ihre Semantik implizit festgelegt ohne da die Menge ihrer vollst ndigen und partiellen Worte explizit definiert werden mu Beispiel 2 Der Multiplikatorausdruck 2DM 1 DM 1 DM kann wie folgt zu einem elementaren Aus druck expandiert werden vgl Abb 3 22 2DM 0 1 DM 1 DM ODMo 1 DM 1DM 2 DM o 1 DM 1 DM 2 DM 0 1 DM 1 DM 2 DM 1 DM 1 DM 2 DM 2 2 DM 1 DM 1 D
231. d wartet auf die zugeh rige Accept Antwort 3 Nach deren Eintreffen wird die Aktivit t intern beendet wiederum z B durch Ausf hren einer ent sprechenden Datenbank Transaktion und es werden Best tigungen an den Interaktionsmanager 4 und das Arbeitslistenprogramm 5 versandt 5 5 Implementierung von Workflow Geflechten 5 5 3 227 1 Aktivit t A 2 Wait A beenden Workflow Interaktions 3 Accept A Ausktirings Arbeitslisten Manager et Einheit Programme 4 Exec A 5 Aktivit t A beendet Abbildung 5 47 Beenden einer Aktivit t 5 5 3 4 Verallgemeinerung auf mehrere Interaktionsmanager und Ausf hrungseinheiten Auch das Prinzip der Adaption von Workflow Ausf hrungseinheiten l t sich auf ein System von mehreren Interaktionsmanagern und Ausf hrungseinheiten verallgemeinern Abbildung 5 48 zeigt dies exemplarisch f r jeweils drei dieser Komponenten W hrend sich die Workflow Ausf hrungsein heiten potentiell mit allen Interaktionsmanagern abstimmen m ssen Kommuniziert ein Arbeitslisten programm jeweils nur mit einer Ausf hrungseinheit und wei nichts von der Existenz der Interak tionsmanager Dementsprechend befinden sich in der Arbeitsliste eines Benutzers immer nur Aktivit ten eines Workflow Management Systems die aus Sicht dieses Systems und aus Sicht aller Interak tionsmanager zul ssig sind
232. da bereits Work flow Definitionen mit inkompatiblen Aktivit ten Bezeichnern existieren was zumeist daher r hrt da heutige Workflow Systeme wie bereits erw hnt die hier propagierte A priori Definition von Ar beitsschritten in einem Katalog nicht oder nur unzureichend unterst tzen In einem solchen Fall mu man sich grunds tzlich mit denselben und zum Teil sehr schwierigen Problemen auseinandersetzen wie bei der Schemaintegration verteilter Datenbanken Dadam96 zsu91 Neben der Existenz von Synonymen d h unterschiedlichen Bezeichnungen f r dieselbe Aktivit t und Homonymen d h gleichen Bezeichnungen f r verschiedene Aktivit ten ist man u U auch mit inkompatiblen Parame terlisten unterschiedlichen Aktivit tengranulaten o 4 konfrontiert In einem solchen Fall ist es sicherlich sinnvoll nachtr glich einen Aktivit tenkatalog zu erstellen der neben dem prim ren Namen f r jede Aktivit t der f r zuk nftige Definitionen verbindlich ist auch eine Liste von alternativen Bezeichnungen enth lt mit deren Hilfe das Synonymproblem prinzi piell gel st werden kann Das Homonymproblem das i d R erheblich seltener auftritt Kann norma lerweise dadurch gel st werden da man neben dem Namen einer Aktivit t auch das ihr zugeordnete Schrittprogramm zur Unterscheidung heranzieht da unterschiedliche Aktivit ten in aller Regel auch 5 5 Implementierung von Workflow Geflechten 5 5 2 221 unterschiedliche Sch
233. dann mit der schwierigen Frage konfrontiert wann er terminieren soll und die einzig konsequente und sinnvolle Antwort darauf lau tet da er nie terminiert Diese Antwort ist allerdings unbefriedigend wenn P in einen bergeordne ten Proze wie z B P Q eingebettet ist weil dieser dann faktisch quivalent zu P ist Weil P nie terminiert kommt Q nie zur Ausf hrung Der entsprechende Interaktionsausdruck amp P hingegen l st dieses Problem elegant durch Dele gation und Teamwork Er mu lediglich nach jedem Iterationsschritt seine Terminationsbereit schaft signalisieren was einen bergeordneten Ausdruck wie z B a P Q dazu veranla t im n ch sten Schritt sowohl die initialen Aktionen von P als auch die von Q zu akzeptieren und damit dem Be nutzer die Entscheidung ber die Termination oder Fortsetzung der Iteration amp P zu berlassen Sofern die Mengen der initialen Aktion von P und Q disjunkt sind kann man einen Proze mit demselben Verhalten prinzipiell auch in CSP definieren n mlich als L sung der Rekursionsgleichung X Q P X Brookes84 Diese L sung ist jedoch in zweierlei Hinsicht unbefriedigend Zum ei nen ist das Verhalten des Prozesses nichtdeterministisch sobald P und Q gemeinsame initiale Aktio nen besitzen zum anderen ist die Definition der Iteration mit dem konkreten Nachfolgerproze Q ver woben d h eine unabh ngige Definition der Iteration ist nicht m glich Ein letzter Versuch
234. definierter Operatoren wie z B der Blitz Verzweigung wird ggf eine Bitmap Graphik verwendet Eine vierte rekursive Funktion find benutzt ebenfalls die Koordinaten und Ausdehnungen der einzelnen Teilgraphen um nach jeder Mausbewegung den aktuellen Graphen zu bestimmen d h den kleinsten Graphen der momentan den Mauszeiger enth lt und daher invertiert dargestellt wird vgl C 2 2 Au erdem werden die beiden Teilgraphen des aktuellen Graphen ermittelt zwischen denen sich der Mauszeiger gerade befindet damit die entsprechenden Verbindungslinien rot hervorgehoben werden k nnen vgl C 2 5 und C 2 6 Dem blichen Stil der CH Programmierung folgend sind alle diese Funktionen als Schar von par tiellen Funktionen implementiert vgl 4 4 2 4 und 4 6 1 2 sowie A 2 2 Normalerweise wird ein Graph m glichst kompakt konstruiert d h die horizontalen oder vertikalen Zwischenr ume zwischen seinen Teilgraphen werden durch vorgegebene Minimalwerte bestimmt Um jedoch Verzweigungen mit mehr als zwei Zweigen vollkommen symmetrisch gestalten zu k n nen mu u U zus tzlicher vertikaler Zwischenraum zwischen Zweigen eingef gt werden So ist im zuvor konstruierten Beispielgraphen der Zwischenraum zwischen den unteren beiden Zweigen des wechselseitigen Ausschlusses etwas gr er als zwischen den oberen beiden Zweigen da andernfalls der vertikale Abstand zwischen ihren Mittelpunkten unterschiedlich und die Struktur der Verzwei
235. den sind Ein einfacher Pfeil von einem Typ A zu einem Typ B wie z B von Expr nach Category repr sentiert ein einwertiges Attribut d h eine 1 1 oder n 1 Beziehung w hrend ein Doppelpfeil wie z B von Action nach Param ein mehrwertiges At tribut d h eine 1 n oder m n Beziehung des Typs A bezeichnet Attribute sind grunds tzlich optio nal d h bei konkreten Auspr gungen eines bestimmten Typs k nnen einzelne Attribute dieses Typs fehlen So ist es beispielsweise zul ssig da bei Objekten vom Typ Expr das Attribut body fehlt oder da Objekte vom Typ Action keine Parameter Attribut params besitzen Category cat left Expr right g body params Action SWPEU 2 re gt p Aname Pname Value Abbildung 4 5 Semantisches Datenmodell f r Interaktionsausdr cke Ein Typ der Attribute besitzt d h von dem ein oder mehrere Pfeile ausgehen wird im folgenden strukturiert genannt In Abb 4 5 sind dies die Typen Expr Action und Param Die brigen Typen werden als skalar bezeichnet 4 In der Terminologie relationaler Datenbanksysteme bedeutet das da Attribute Nullwerte besitzen d rfen Date98 4 3 Interne Repr sentation von Ausdr cken 4 3 1 121 Die skalaren Typen Aname Aktionsnamen Pname Parameternamen und Value Parameterwerte die den Mengen A II und Q des formalen Modell
236. der Interaktionsgraph im Zustand von Abb 5 54 stecken Dies h tte zur Folge da f r den Patienten anschlie end keine der Aktivit ten vorbereiten aufkl ren oder abrufen mehr ausgef hrt werden k nnte Auf diese Problematik und ei nen m glichen L sungsansatz wird in 7 2 1 1 etwas n her eingegangen Kapitel 6 Verwandte Arbeiten 6 1 Einleitung 6 1 1 Synchronisation paralleler Prozesse Das Grundproblem der Synchronisation paralleler Prozesse in Computersystemen ist vermutlich schon lter als der Verfasser dieser Arbeit Jahrgang 1965 und im Laufe der Jahrzehnte wurden ins besondere im Bereich der Betriebssysteme und Programmiersprachen zahllose L sungsvorschl ge ver ffentlicht und zum Teil auch sehr kontrovers diskutiert Gem Freisleben87 kann das Spektrum der vorgeschlagenen Mechanismen grob in drei Ebenen unterteilt werden 1 Mechanismen auf der Hardware Ebene wie z B test and set oder decrement and test Anwei sungen deren Unteilbarkeit durch die Hardware sichergestellt werden mu 2 Einfache Mechanismen wie z B verschiedene Arten von Semaphoroperationen mit deren Hilfe zwar prinzipiell beliebige Synchronisationsprobleme gel st werden k nnen deren ausschlie liche Verwendung aber schnell zu komplizierten un bersichtlichen und schwer pflegbaren Formulierun gen f hrt 3 Strukturierte Mechanismen wie z B kritische Regionen Monitore oder Pfadausdr cke mit deren Hilfe sich
237. der f r Gramma tikbegriffe oder f r Terminalsymbole stehen letztere werden per Konvention gro geschrieben Zeichen in einfachen Anf hrungszeichen werden ebenfalls als Terminalsymbole interpretiert 4 2 Syntax von Interaktionsausdr cken 4 2 2 117 4 2 2 Ersatzdarstellung und Vorrang von Operatoren Die formalen Operatorsymbole amp usw werden gem Tab 4 3 durch Zeichen ersetzt die in je dem gebr uchlichen Computer Zeichensatz wie z B ASCI enthalten sind Au erdem wird verein bart da der Vorrang der Operatoren in der Tabelle gruppenweise von oben nach unten abnimmt d h da die un ren Operatoren und st rker binden als die sequentielle Komposition diese wiederum st rker als die parallele Komposition usw Operator Zeichen Bedeutung a Option a Sequentielle Iteration Parallele Iteration z Sequentielle Komposition Parallele Komposition Disjunktion amp Konjunktion Synchronisation Tabelle 4 3 Ersatzdarstellungen fiir Operatoren Bei der Wahl der Ersatzdarstellungen wurde versucht mit m glichst vielen gebr uchlichen Forma lismen Konventionen und Programmen wie z B den Unix Werkzeugen awk grep und lex kompati bel zu sein und gleichzeitig eine m glichst einpr gsame Systematik zu verwenden Die folgenden An merkungen sollen hierbei als Merkhilfe dienen Sequentielle Komposition Das Zeichen entspricht unmi
238. der wesentlichen Konzepte sollten jedoch die nachfolgen den Erl uterungen sowie die im Programmcode enthaltenen Kommentare gen gen Ebenso wie Kapi tel 4 kann der vorliegende Abschnitt auch komplett bersprungen werden Nachrichtentypen message categories type MsgCat inst MsgCat Ask Wait Anfragen inst MsgCat Accept Reject Unknown Vorl ufige Antworten inst MsgCat Exec Undo Best tigungen inst MsgCat Commit Abort Endg ltige Antworten inst MsgCat Subscribe Permit Forbid Cancel Abonnement Nachricht type Msg attr cat Msg gt MsgCat Typ Kategorie der Nachricht attr action Msg gt Action Angefragte Aktion Gloable Variablen Expr x Za verarbeitender Ausdruck State s Aktueller Zustand des Ausdrucks Seq Msg queue seq Liste unbeantworteter Wait Anfragen Seq Msg sub seq Liste von Abonnenten Abbildung 5 18 Implementierung eines Interaktionsmanagers Teil 1 Deklarationen 5 2 9 1 Hauptprogramm Abb 5 19 Ebenso wie das in 4 6 5 beschriebene Programm erh lt auch ein Interaktionsmanager einen Interak tionsausdruck x den er verarbeiten soll als Kommandoargument args 1 Er wandelt ihn mit Hilfe der Parserfunktion parse expr in einen Operatorbaum x um und bestimmt dessen initialen Zu stand s init x Anschlie end verarbeitet er in einer Endlosschleife Anfragen von Klienten die mit Hilfe
239. des Wortes w bzgl des Ausdrucks y B 2 3 6 Av y Menge der iterativen Reste des Wortes w bzgl des Ausdrucks y B 2 3 7 Ao Menge der parallelen Zerlegungen des Wortes w B 2 3 8 Ae Menge der unendlichen parallelen Zerlegungen des Wortes w B 2 4 4 Tabelle D 2 Symbole und Begriffe der operationalen Semantik 343 Tabelle D 3 faBt die prim r in 3 4 1 und 3 4 2 definierten Relationen zwischen Ausdr cken zu sammen Tabelle D 4 enth lt in 4 7 Komplexit tsbetrachtungen eingef hrte und verwendete Begriffe und Symbole Tabelle D 5 gibt einen berblick ber wichtige Teilklassen von Interaktionsausdr cken die zum gr ten Teil ebenfalls in 4 7 eingef hrt und verwendet werden Die Tabellen D 6 und D 7 schlie lich die logisch eine einzige Tabelle darstellen geben einen ber blick ber s mtliche Operatoren von Interaktionsausdr cken bzw graphen Tabelle D 6 zeigt je weils die anschauliche und formale Bezeichnung eines entsprechenden Graphen bzw Ausdrucks zusammen mit der Nummer des Abschnitts in der sie eingef hrt wird sowie die drei quivalenten Darstellungen als Graph Ausdruck und linearisierter Ausdruck vgl 4 2 2 Tabelle D 7 enth lt einerseits die Definition der vollst ndigen und partiellen Worte des Ausdrucks und andererseits Verweise auf Abschnitte in denen spezielle Eigenschaften die operationale Semantik und Imple Relation Bedeutung Abschnitt Di Xp x und x sind syntaktisch gle
240. des Zustandsmodells F r ein Wort w gilt we Y x U P e wen I3weQ we Pye Korrektheit des Zustandsmodells f r Yp EQ v3 5 Unterscheide zwischen relevanten und irrelevanten Werten Q 1 3 Jo eQ p wely oder Ja Q p vr Substitutionsprinzip f r y Joe pwy oder wo Struktur der Folgezust nde von x S WO EWOV V wiye T a EQ y p und analog we x e xX T 316 B 2 4 Anhang B Verifikation des Zustandsmodells G ltigkeit des Substitutionsprinzips F r ein Wort w e einen Quantorparameter q II und einen bzgl x und q irrelevanten Parameter wert z Q x q des Wortes w gilt 0 0 0 y PO Tol mit K foly o E 2 0 p o 7 p 6 0 5 Ta mit Ty 1 ou s 2 0 240 p Substitutionsprinzip fiir y bzw Yp bzgl des Parameters q 0 975 P oxla To mit Ty 027 0 2 0 p Invarianz relevanter Parameterwerte B 2 1 2 0 37 ps on s7 Te mit T oubor 2x7 P J Ersetze y durch 3 0 5 P 0 09 Ty mit T 0 57 o 2 6 p x Struktur der Folgezust nde des Ausdrucks 0 X Ge B 2 4 2 Konjunktions Quantorausdr cke Da das Zustandsmodell eines Konjunktions Quantorausdrucks x y vollkommen analog bzw P dual zu dem eines Disjunktions Quantorausdrucks definiert ist ergibt sich auch die Struktur der Fol gezust nde von x sowie die
241. die bersichtlichkeit als auch die nderungsfreundlichkeit bei der Arten von Beschreibungen Abbildung 1 6 verdeutlicht diesen Ansatz f r das Sonographie Endoskopie Beispiel Die beiden Workflows stimmen nun wieder exakt mit den urspr nglichen Definitionen aus Abb 1 1 und 1 2 ber ein und die workflow bergreifenden Kontrollflu kanten wurden durch separate Spezifikationen der Art W S gt M bzw W S e W s ersetzt wobei mit W i 1 2 eine bestimmte Workflow Beschreibung und mit ein konkreter Schritt des Workflows W bezeichnet wird Ein einfacher Pfeil steht f r eine gew hnliche Kontroll flu kante die besagt da der Schritt S des Workflows W erst nach Beendigung von Schritt S des Workflows W ausgef hrt werden darf Der Doppelpfeil gt symbolisiert da die Schritte S4 und S der Workflows W und W nach M glichkeit gleichzeitig bzw in einem Schritt ausgef hrt werden sol len 1 3 3 2 Kritik Obwohl dieser Ansatz den beiden vorangegangenen L sungsversuchen in punkto bersichtlichkeit und nderungsfreundlichkeit eindeutig berlegen ist wird seine praktische Verwendbarkeit nach wie vor durch eine zu explizite und starre Formulierung der workflow bergreifenden Synchronisationsbe dingungen eingeschr nkt Beispielsweise ist es durch die wechselseitige Abh ngigkeit der Workflows voneinander nicht mehr m glich f r einen Patienten nur eine Sonographie oder nur eine Endoskopie durchzuf hren weil in diesem Fal
242. die beiden Graphen nicht zutrifft sind sie nur fast quivalent W rde man sie beispielsweise jeweils mit einer Aktion b koppeln so k nnte diese im einen Fall Abb 2 55 gekoppelt mit b jederzeit durchlaufen werden da sie nur im Zweig b auftritt w hrend sie im anderen Fall Abb 2 56 gekoppelt mit b niemals passiert werden k nnte da sie in beiden Zweigen der Kopplung auftritt aber nur im Zweig b durchlaufen werden k nnte Somit besitzen die beiden Graphen an sich zwar dasselbe Verhalten als Teilgraphen eines gr eren Graphen k nnen sie jedoch unterschiedlichen Einflu auf dessen Verhalten haben 2 6 Aktionen und Aktivit ten 2 6 2 51 wann genau beginnt bzw endet das Einwerfen einer Miinze kann man dar ber hinaus vereinfa chend bzw idealisierend annehmen da die Ausf hrung einer solchen T tigkeit keine zeitliche Aus dehnung besitzt d h ein punktuelles Ereignis auf der Zeitachse darstellt Schlie lich ist es sinnvoll anzunehmen da in jedem endlichen Zeitintervall nur endlich viele M nzen in einen Automaten ein geworfen werden k nnen Eine T tigkeit die diesen Kriterien entspricht wird im folgenden als Aktion bezeichnet Allgemein k nnen Aktionen daher wie folgt charakterisiert werden 1 Aktionen besitzen keine zeitliche Ausdehnung d h ihre Ausf hrung stellt ein punktuelles Ereignis auf der Zeitachse dar 2 Aktionen k nnen nicht gleichzeitig ausgef hrt werden 3 In einem endlichen Betrachtungsz
243. diglich als ein Musterbeispiel zur Motivation und Illustration und nicht etwa als ausschlie li ches Anwendungsfeld der entwickelten Konzepte verstanden werden Mein Dank gilt zun chst meinem Doktorvater Herrn Prof Dr Peter Dadam dem es im Laufe der Jah re gelungen ist aus einem wissenschaftlich naiven T ftler einen gelegentlich immer noch gerne t f telnden Wissenschaftler zu machen Danken m chte ich weiterhin den beiden anderen Gutachtern Herrn Prof Dr Helmuth Partsch und Herrn Prof Dr Walter Vogler Augsburg deren konstruktive Kritik und detaillierte R ckmeldung wesentlich zur Verbesserung der Arbeit beigetragen hat Allen Kolleginnen und Kollegen der Abteilung danke ich herzlich f r die gute Zusammenarbeit f r manche fruchtbaren Diskussionen und ihre tatkr ftige Unterst tzung beim Korrekturlesen Nicht vergessen m chte ich meinen derzeitigen Projektleiter Herrn Prof Dr Wolfgang Klas der mir am Schlu den n tigen Freiraum zur Fertigstellung der Arbeit einr umte Meinen Eltern danke ich ganz herzlich f r ihre Liebe und f r die selbstverst ndliche Unterst tzung meines Werdegangs Meinen Kindern Matthias und Manuela geb hrt gro es Lob f r ihr Verst ndnis und ihre Geduld wenn es immer wieder hie Papa mu Doktorarbeit schreiben Meine Br der und Schwestern im Herrn trugen mich durch ihre Gebete und ihren Glauben Meine Frau Antje m te eigentlich als Koautorin genannt werden denn ohne ihre fortw
244. dination oder Synchronisation paralleler Workflows oder hnlicher Prozesse einge setzt werden kann Diese Aspekte werden erst in Kapitel 5 behandelt 4 1 2 berblick Um zu einer praktisch einsetzbaren Implementierung von Interaktionsausdr cken zu gelangen mu zun chst 4 2 eine maschinenlesbare Syntax von Interaktionsausdr cken festgelegt werden die es erlaubt Ausdr cke in einer linearen Notation unter Verwendung eines blichen Computerzeichensat zes darzustellen Anschlie end 4 3 wird die interne Repr sentation von Ausdr cken mit Hilfe von Operatorb umen eingef hrt Nach diesen Vorarbeiten wird in 4 4 der Versuch unternommen die in Kapitel 3 definierte forma le Semantik von Interaktionsausdr cken direkt implementierungstechnisch umzusetzen Obwohl der hieraus resultierende Algorithmus zweifellos kompakt und elegant ist besitzt er den alles entscheiden den Nachteil da er selbst f r sehr einfache Ausdr cke exponentielle Laufzeit bzgl der L nge der zu verarbeitenden Aktionsfolge besitzt Da dies f r realistische Anwendungen kaum akzeptabel ist wird in 4 5 eine operationale Seman tik von Interaktionsausdr cken eingef hrt die auf hierarchisch strukturierten Zust nden zugeh rigen Zustandspr dikaten sowie Zustands berg ngen beruht Dieses Zustandsmodell f r das in Anhang B gezeigt wird da es quivalent zur formalen Semantik von Interaktionsausdr cken ist wird in 4 6 implementierungstechni
245. dinationsprotokoll 5 2 3 1 Beschreibung Will man den zuvor erl uterten Mangel des einphasigen Koordinationsprotokolls beheben um es auch f r Anwendungen brauchbar zu machen in denen die Ausf hrungszeitpunkte von Aktionen exakt be obachtet werden k nnen so mu man die Durchf hrung des Zustands bergangs und die tats chliche Ausf hrung der Aktion in der realen Welt miteinander synchronisieren Zu diesem Zweck wird das einphasige Protokoll im folgenden zu einem zweiphasigen Koordinationsprotokoll erweitert bei dem pro geplanter Aktionsausf hrung bis zu drei Nachrichten zwischen Klient und Interaktionsmanager ausgetauscht werden Wie in Tab 5 4 dargestellt gibt es bei einem zweiphasigen Protokoll neben Anfragen von Klienten und Antworten des Managers noch zus tzliche Best tigungen seitens der Klienten Die Anfragen Ask und Wait sowie die Antwort Reject besitzen hierbei dieselbe Bedeutung wie beim einphasigen Proto koll Auch die Antwort Accept signalisiert ebenso wie dort da die angefragte Aktion ausgef hrt wer den darf der zugeh rige Zustands bergang wird vom Manager aber erst durchgef hrt wenn der Klient die tats chliche Ausf hrung der Aktion in der realen Welt mittels einer Exec Nachricht best tigt hat Damit Zustands bergang und reale Aktionsausf hrung hierbei tats chlich synchronisiert er folgen bleibt der Interaktionsmanager zwischen dem Versenden der Accept Antwort und dem Eintref fen der Exec Best tigung blockie
246. dr cken vor so mu der Klient entsprechend mehrere Manager um Erlaubnis fragen Je nach Uberlappungsgrad der Ausdr cke erreicht man aber auch in diesem Fall u U eine erhebliche Entlastung der einzelnen Ma nager im Vergleich zu einem zentralen Manager 5 2 7 2 Schwierigkeiten Eine wichtige Voraussetzung f r den Einsatz mehrerer Interaktionsmanager ist jedoch die M glich keit die Zustands berg nge ihrer Ausdr cke bei Bedarf miteinander zu synchronisieren um inkonsi stente Gesamtzust nde und m glicherweise auch Verklemmungssituationen zu vermeiden Hat man beispielsweise zwei Manager gegeben die die Ausdr cke x amp a b und x amp a c verarbei ten vgl Abb 5 11 so Kann bei Verwendung des dreiphasigen Koordinationsprotokolls folgendes Problem auftreten Ein Klient will die Aktion a ausf hren und stellt daher an beide Manager eine ent sprechende Ask Anfrage Da die Aktion in beiden Graphen durchlaufen werden kann antworten beide Manager mit Accept Daraufhin beginnt der Klient eine Transaktion f hrt die Aktion a aus sichert die Transaktion und verschickt Exec Best tigungen an beide Manager Normalerweise sollten diese nun beide den Zustands bergang f r a durchf hren und Commit Antworten an den Klienten zur ck senden Wenn sich aber die Ankunft einer der beiden Exec Nachrichten aus irgendwelchen Gr nden verz gert so kann es passieren da der entsprechende Manager die Geduld verliert den Zu
247. durchl uft man auch hier genau eine der drei Sequenzen 1DM 1DM 1 DM 1DM 2DM oder 2 DM 1 DM 1DM 1DM 1DM 1DM 2DM 2DM 1DM Abbildung 2 5 Einwerfen von 3 DM Variante 2 2 2 2 3 Variante 3 Eine dritte quivalente Darstellung erh lt man wenn man die innere Entweder oder Verzweigung in Abb 2 5 durch eine Sowohl als auch Verzweigung wie in Abb 2 6 ersetzt Eine solche Verzweigung deren Knoten im Gegensatz zur Entweder oder Verzweigung durch Doppelkreise amp dargestellt wer den wird durchlaufen indem man am Verzweigungsknoten links sowohl nach oben als auch nach unten abbiegt und beide Zweige parallel d h unabh ngig voneinander durchl uft Je nachdem ob hierbei zuerst im oberen Zweig die Aktion 1 DM oder im unteren Zweig die Aktion 2DM durchlau fen wird erh lt man f r den Teilgraphen eine der Ausf hrungsreihenfolgen 1 DM 2 DM oder 2DM 1 DM Da man in einen Automaten normalerweise nicht mehrere M nzen auf einmal einwer fen kann weil er nur einen M nzschlitz besitzt mu man sich f r eine dieser beiden Reihenfolgen entscheiden d h man kann die Aktionen 1 DM und 2DM nicht gleichzeitig ausf hren 1DM 1DM 1DM 1DM 2DM Abbildung 2 6 Einwerfen von 3 DM Variante 3 Anmerkung zur graphischen Darstellung Ein Doppel Kreis Sowohl als auch Verzweigung sym bolisiert da beide bzw
248. e P Q akzeptiert im ersten Schritt ebenso wie der Interaktionsausdruck X Y mit Si cherheit die Aktionen a b und c Bei Ausf hrung von a bzw c verh lt er sich anschlie end garan tiert wie Proze P bzw Q d h er akzeptiert anschlie end ebenso wie der Ausdruck X Y ein weiteres a bzw c Bei Ausf hrung von b jedoch das sowohl von Proze P als auch von Proze O konsumiert werden kann wird unter Umst nden eine willk rliche Auswahl zwischen P und Q ge troffen d h anschlie end akzeptiert der Proze P Q m glicherweise nur noch a oder c Je nach Implementierung k nnte er aber auch beides akzeptieren Im Gegensatz hierzu schiebt der Interak tionsausdruck X Y nach Ausf hrung von b die Entscheidung zwischen X und Y auf jeden Fall auf so da er anschlie end mit Sicherheit a und c akzeptiert Beim Proze P Q schlie lich kann bereits am Anfang eine willk rliche Auswahl zwischen P und Q getroffen werden so da er als erste Aktion m glicherweise nur a und b oder nur b und c ak zeptiert Je nach Implementierung K nnte er aber auch alle drei akzeptieren Interleaving Auf der Basis des Operators l t sich eine als Interleaving bezeichnete Variante Ill des Concurrency Operators definieren die im Prinzip einer partiell nichtdeterministischen parallelen Komposi tion entspricht Solange eine Aktion eindeutig einem der beiden Prozesse P oder Q zugeordnet werden kann ist das Verhalten
249. e Kopierer eines Kopiergesch fts gelten soll unabh ngig davon wie ihre Konkreten Nummern lauten Aus diesen Gr nden ist es naheliegend die Indexmenge Q in der obigen Summenschreibweise ein fach wegzulassen vgl Abb 2 41 und so zum Ausdruck zu bringen da sie in konkreten Anwendun gen meist weder genau bekannt noch von besonderem Interesse ist Der Parameter k soll einfach zu mindest gedanklich alle prinzipiell denkbaren Werte durchlaufen Dementsprechend wird der Graph auch als F r alle Verzweigung bezeichnet kk 6 Parameter von Aktionen werden entweder oberhalb oder unterhalb der zugeh rigen Rechtecke plaziert 38 2 3 4 Kapitel 2 Interaktionsgraphen Kopie A4 O O 10Pf x O O O k K 10Pf _ Kopie A3 k k k Abbildung 2 41 Kopiergesch ft mit beliebig vielen Kopierern Anmerkung Da der konkrete Wertebereich des Parameters k nun bewu t offengelassen wird k nnte k prinzipiell nicht nur Inventar oder Seriennummern von Kopierern sondern z B auch Personal oder Kundennummern durchlaufen Um dies zu vermeiden m te man Parameter typisieren d h ihren Wertebereich auf eine bestimmte endliche oder unendliche Menge von Werten einschr nken F r die meisten praktischen Anwendungen von Interaktionsgraphen ist dies jedoch nicht erforderlich da die Menge der potentiell ausf hrbaren Aktionen und damit auch die Menge der m glichen Parameter
250. e derartige Marke enth lt Daher kann die innere Beliebig oft Verzweigung beendet werden sobald alle Marken die von derselben Marke x n abstammen den Rumpf dieser Verzweigung durchlaufen ha ben Da die Stelle s m glicherweise andere Marken x n enth lt die von einem anderen Schalt vorgang der u eren Transition 7 stammen und die anzeigen da sich noch Marken x n im Rumpf der inneren Verzweigung befinden spielt hierbei wie gew nscht keine Rolle 268 6 5 2 Kapitel 6 Verwandte Arbeiten Da eine Eingangsmarke x durch jede Transition r die sie durchl uft um einen weiteren Z hler n erweitert wird ist das Verfahren offensichtlich auch f r beliebig tief verschachtelte Beliebig oft Ver zweigungen geeignet Anmerkung Da Stellen Transitionen Netze mit Verbotskanten Turing quivalent sind Peterson77 ist die Verwendung individueller Marken offenbar nicht zwingend erforderlich Allerdings d rfte eine L sung des Problems mit nicht unterscheidbaren Marken vermutlich noch um einiges komplizierter ausfallen 6 5 1 7 Parametrisierte Ausdr cke und Quantoren Durch die Verwendung individueller Marken kann man prinzipiell auch parametrisierte Aktionen mo dellieren indem man die beim Schalten einer Transition bewegten Marken geeignet als Parameterwer te der zugeh rigen Aktion interpretiert Schlie lich lassen sich vermutlich auch F r ein und F r alle Verzweigungen mit hnlichen Ideen wie in Abb 6
251. e lich der hier vorgestellten Ausf hrungsregeln wird durch eine Abbildung auf die formale Spezifikationssprache LOTOS TM Even95 implemen tiert LOTOS TM wiederum basiert auf der Proze algebra Sprache LOTOS Language of Temporal Ordering Specification ISO87 Bolognesi87 Vissers91 sowie auf der Datenbankspezifikationsspra che TM Balsters91 Balsters93 Bal95 Die oben erw hnte Einschr nkung auf deterministische re gul re Ausdr cke liegt darin begr ndet da sich nur solche Ausdr cke unmittelbar auf LOTOS TM abbilden lassen 6 2 4 4 Vergleich mit Interaktionsausdr cken Verglichen mit den brigen hier diskutierten Ausdrucks Formalismen sind die Ausf hrungsregeln von CoCoA die einzigen die das Konzept der parametrisierten Ausdr cke und Quantoren explizit und relativ allgemein unterst tzen Im Vergleich zu Interaktionsausdr cken fehlt jedoch ein expliziter Disjunktionsquantor sowie die M glichkeit Quantoren auch auf Teilausdr cke anwenden zu k nnen vgl Tab 6 6 Der spezielle Parameterwert _ ist hierf r nur ein notd rftiger Ersatz wie das obige Beispiel verdeutlicht bei dem nicht unmittelbar klar ist da nur die beiden forall Ausdr cke zu sammen die gew nschte Integrit tsbedingung spezifizieren Sequ Sequ Par Par E Formalismus Komp Tier K mp Her Disj Konj Sync Quant CoCoA Ausf hrungsregeln _ Interaktionsausdriicke
252. e oben erw hnten Regeln verletzen Die Klammersymbole und werden entsprechend behandelt oder durch quivalente Signal und Wait Symbole ersetzt 6 2 3 3 Implementierung des Formalismus Ereignis und Flu ausdr cke wurden prim r als Software Spezifikations und Dokumentationsspra chen entwickelt Riddle73 Riddle79ab Shaw78 Shaw80b f r die die Existenz einer realen Imple mentierung nur eine untergeordnete Rolle spielte Dennoch nennt Shaw in Shaw80a den in 4 4 1 vorgestellten Algorithmus zur L sung des Wort problems f r Flu ausdr cke allerdings ohne Verwendung von Klammer Signal und Wait Symbolen d h einer echten Teilmenge von Interaktionsausdr cken Obwohl der Algorithmus au ergew hnlich kompakt und elegant ist scheitert seine praktische Verwendbarkeit wie in 4 4 4 erl utert an seiner nicht beherrschbaren Komplexit t 6 2 3 4 Vergleich mit Interaktionsausdr cken Ausdrucksm chtigkeit Ereignis und Flu ausdr cke sind die einzigen bekannten Ausdrucksformalismen bei denen das Kon zept der Nebenl ufigkeit konsequent und vollst ndig unterst tzt wird indem die parallele Komposi tion Iteration einfach als nebenl ufiges Analogon zur sequentiellen Komposition Iteration betrachtet wird Shaw80b Abgesehen von Quantoren besteht der wesentliche Unterschied zwischen Interaktionsausdr cken und Ereignis Flu ausdr cken daher nur darin da erstere konjunktiv verkn pft werden k nnen w hrend letzt
253. e optimierten Folgezust nde des Ausdrucks x 6 x 7 o x f rw e X mit den zugeh rigen Pr dikaten x y 6 x v 0 x und x d n A o x Die Menge aller optimierten Folgezust nde eines Ausdrucks x wird mit x bezeichnet x w E 4 5 2 4 Korrektheitskriterium Analog zu einem einfachen Zustandsmodell hei t ein optimiertes Zustandsmodell f r Interaktions ausdr cke korrekt wenn f r jeden Ausdruck x und jedes Wort w e amp gilt w e Yx e x und wex SG Wel d h wenn man an den Pr dikaten y und eines optimierten Zustands G x ebenfalls ablesen kann ob w ein partielles bzw vollst ndiges Wort des Ausdrucks x darstellt oder nicht 4 5 2 5 Satz Ein optimiertes Zustandsmodell bestehend aus den Funktionen o 7 y gund p ist korrekt wenn das zugeh rige einfache Modell bestehend aus den Funktionen o t y und korrekt und die Optimie rungsfunktion p transparent ist Anmerkung Diese Aussage geht ber die oben getroffene Feststellung hinaus da Zust nde nach Be lieben durch quivalente Zust nde ersetzt werden d rfen ohne dadurch die Korrektheit des Zustands modells zu ver ndern In einem optimierten Zustandsmodell werden n mlich nicht nur Zust nde 134 4 5 3 Kapitel 4 Implementierung von Interaktionsausdr cken durch quivalente Zust nde ersetzt es wird auch eine modifizierte Zustands bergangsfunktion ver wendet obwohl die
254. e Distributivit t der Konkate nation bzgl Vereinigung ben tigt P C y 2 F y U B x y P F U Pa FO U B x PO PL Y U B x PFO U PO PC P x U B x PO z B x y 2 F r die Assoziativit t der Synchronisation ist zu beachten da der Teilausdruck xy x y beispiels weise ein anderes Alphabet besitzt als der Gesamtausdruck xyz xy O z x Oy O zl Mit diesen beiden Abk rzungen gilt P x o y o z Definition der Synchronisation x o YO xl A D Ky z Definition der Synchronisation P x Ky a N PO Ky 0 Kl N DE O Kyl u XYZ Distributivit t von bzgl A x Kyy x Kyyz xy N y Ky y Kyyz xy N D z Ky Z 3 A B A U B ul xy bezeichnet nicht etwa die Konkatenation oder Sequenz x y sondern stellt eine abk rzende Bezeichnung f r den Ausdruck x y dar Entsprechendes gilt f r den Bezeichner xyz 3 4 8 101 z 3 4 Eigenschaften von Interaktionsausdriicken B x Kyl U Ky ay A PO yO U Eg DA Kye Erl uterung folgt x O x N DO O Ky 9 N P Kyl denn Kyy X U Kyy2 xy Definition von x a xy a x U a ayz a xy a y a x U a z a x ary 3 A C U B C AuUB C 4 a y U z a y a x a y U a z a x Definition von Kyyz X und analog KV UK Keyz Durch Ausnutzen der Kommutativit t
255. e Injektivit t des Ausdrucks y amp a p entscheidend auf der in P 4 5 7 1 genannten Optimierung p O y p L T T ohne die der Disjunktionsquantor ausdruck Q a p nicht terminal fokussiert und die Iteration demnach nicht injektiv w re Ohne diese p Optimierung w rde sich die parallele Iteration x y die gem 4 7 3 4 gutartig ist f r ein Wort w a a mit paarweise verschiedenen Werten tats chlich b sartig ver halten 4 8 1 5 Fazit Aus den vorangegangenen Erl uterungen folgt zum einen da die Effizienz der entwickelten Imple mentierung keineswegs selbstverst ndlich ist sondern nur durch das Zusammenwirken einer Reihe wichtiger Faktoren zustande kommt Sowohl das Aufsptiren dieser Faktoren als auch ihre theoreti sche und praktische Umsetzung war z T mit erheblichem Aufwand verbunden Zum anderen legen diese Erkenntnisse die Vermutung nahe da das vorhandene Optimierungspo tential noch nicht vollst ndig ausgesch pft ist d h da es m glicherweise weitere bisher nicht be r cksichtigte Faktoren gibt mit denen sich die Effizienz der Implementierung noch weiter verbessern l t Beispielsweise wurde in 4 7 3 3 angedeutet da sich b sartige Ausdr cke mit Hilfe von qui valenztransformationen u U in gutartige verwandeln lassen Eine weitere Verbesserungsm glichkeit besteht in der Verwendung eines Zustands bergangs Caches in dem f r jeden T
256. e Konsistenzsicherung der erstellten Graphen auszeichnet Wesentliche Designent scheidungen bei der Entwicklung des Editors waren 1 Der Graphautor d h der Benutzer des Editors soll lediglich die Struktur der Graphen erstellen wahrend ihr Layout d h ihre konkrete graphische Darstellung automatisch vom Programm er zeugt wird Gegen ber sonst blichen Freistil Editoren mit denen graphische Objekte beliebig plaziert und kreuz und quer miteinander verbunden werden k nnen besitzt dieser Ansatz den Vorteil da die erstellten Graphen stets ein homogenes und sthetisch ansprechendes Erschei nungsbild besitzen So sind Verzweigungen beispielsweise immer vollkommen symmetrisch auf gebaut und die Kanten von Wiederholungen besitzen stets dieselbe Neigung Au erdem kann sich der Autor eines Graphen ganz auf dessen Inhalt konzentrieren weil er nicht permanent durch die Gestaltung seiner u eren Form abgelenkt wird die ohnehin durch jede inhaltliche nderung wie der mehr oder weniger zerst rt wird Schlie lich kann durch diese strikte Strukturorientierung auf einfache Art und Weise gew hrleistet werden da alle erstellten Graphen syntaktisch korrekt sind 2 Um neben der rein syntaktischen Korrektheit auch sicherstellen zu k nnen da Graphen keine un definierten Aktionen Aktivit ten Abk rzungen oder Schablonen enthalten k nnen diese Grund elemente nicht frei definiert sondern nur aus einer vorgegebenen Palette ausgew
257. e M ist anschaulich gesprochen eine Menge die Elemente mehrfach enthalten kann Formal kann M daher entweder als eine gew hnliche Menge von Paaren e n definiert werden wo bei e ein Element der Multimenge und n e IN seine Kardinalit t darstellt oder aber als eine Funk tion M E INo die jedem Element e aus einer vorgegebenen Grundmenge E seine Kardinalit t n M e in M zuordnet Sind M und M zwei Multimengen so bezeichnet M M M ihre Vereinigung oder Summe die als Summe der Funktionen M und M definiert ist Die Multimenge M enth lt ein Element e also ge nau n n mal wenn es in M n mal und in M n mal enthalten ist Analog ist auch die Differenz M M definiert sofern durch die Subtraktion keine negativen Kar dinalit ten entstehen Aus Gr nden der Bequemlichkeit wird im folgenden auch die Summe bzw Differenz einer Multimen ge M und eines einzelnen Elements e als Mte M y definiert 16 Insbesondere bezeichnet M M e e diejenige Multimenge die man erh lt wenn man in der Multimenge M ein Vorkom men des Elements e durch das Element e ersetzt Au erdem wird die Summe mehrerer Elemente e4 e sofern es sich um Elemente wie z B Tu pel handelt f r die anderweitig keine Addition definiert ist als Multimenge n n M e Xe He tt He definiert die genau diese Elemente enth lt Schlie lich wird auch die spezielle Kardinalit t zugelassen f r die die Beziehung n
258. e Multimen ge M mit dem Elementtyp T als Sequenz von Paaren e n repr sentiert wobei e T jeweils ein Element der Multimenge und n N IN U seine Kardinalit t darstellt Typische Operationen auf solchen Multimengen sind M e und M e die eine Auspr gung des Elements e zur Multi menge M hinzuf gen bzw aus ihr entfernen d h die zu e geh rende Kardinalit t n entsprechend ak tualisieren und das Paar e n ggf neu in die Sequenz aufnehmen oder aus ihr entfernen Bei einer Iteration mittels forall wird jedes Element der Multimenge genau einmal durchlaufen selbst wenn seine Kardinalit t gr er als eins ist Falls erforderlich kann man jedoch explizit auf die Kardinalit t eines Elements zugreifen Vgl auch A 3 2 3 20 Allerdings ware man bei einer objektorientierten Vorgehensweise gezwungen die Funktion init als Methode der Klasse Expr zu ver einbaren die dann Unterklassen wie z B QuantExpr Dis jQuantExpr usw besitzen w rde damit der bliche Polymorphie Mechanismus greift Da init jedoch ein Objekt vom Typ State zur ckliefert erh lt man auf diese Weise eine syntaktische Abh ngigkeit der Klasse Expr von der Klasse State die konzeptionell nicht existiert Zust nde basieren auf Ausdr cken und nicht umgekehrt und die Wiederver wendbarkeit von Expr in anderen Kontexten in denen keine Zust nde von Ausdr cken ben tigt werden einschr nkt Da ein Objekt vom Typ State dar ber hinaus ein Expr Obje
259. e Undo Best tigung des Klienten er halten wird Andernfalls d h wenn alle betroffenen Manager Accept geantwortet haben aber keiner bisher eine Best tigung des Klienten erhalten hat k nnen sie gemeinsam entscheiden Abort Antwor ten an den Klienten zu schicken Dadurch ist zum einen gew hrleistet da der Klient in jedem Fall konsistente Antworten erh lt entweder von allen Managern Commit oder von allen Abort und zum anderen da die Ausdr cke aller Manager konsistente Zust nde besitzen entweder f hren alle Manager den Zustands bergang durch oder sie f hren ihn alle nicht durch Die konkreten Details dieses Abstimmungsprozesses sollen an dieser Stelle nicht weiter ausgef hrt werden Wichtig ist jedoch da alle betroffenen Interaktionsmanager eine gemeinsame konsistente Entscheidung f llen Dies bedeutet insbesondere da bei Ausfall eines dieser Manager weder eine ge meinsame Abort noch eine gemeinsame Commit Entscheidung getroffen werden kann da der ausge fallene Manager m glicherweise bereits eine hiermit unvertr gliche Antwort an den Klienten ge schickt hat Wenn er anfangs Reject geantwortet hat kann kein globales Commit mehr zustandekom men hat er Accept geantwortet die Exec Best tigung des Klienten erhalten und diese bereits mit Commit beantwortet so kann kein globales Abort mehr zustandekommen Dies bedeutet da ein Ausfall eines Managers bzw der Verbindung zu ihm dazu f hren kann da weitere Ma
260. e dieser Arbeit se quentielle und parallele Komposition die Booleschen Operationen Disjunktion und Konjunktion so wie sequentielle Iteration Die parallele Iteration war urspr nglich offenbar vorgesehen Govindara jan90 Govindarajan91 wurde aber in der endg ltigen Version Guo95 Guo96 Yu96 wieder ver worfen so da Synchronisierungsausdr cke eine Teilmenge quasi regul rer Ausdr cke darstellen vgl 4 7 2 1 Die Autoren betonen da die atomaren Bestandteile von Synchronisierungsausdr cken keine Pro zeduren wie bei Pfadausdr cken sondern einzelne Anweisungen sind die mit sogenannten State ment tags vergleichbar aber nicht identisch zu Goto labels gekennzeichnet werden Dies hat zwar den Vorteil da Synchronisationsbedingungen mit feinerer Granularit t formuliert werden k nnen f hrt aber auf der anderen Seite fast zwangsl ufig dazu da Synchronisations und normaler Anwen dungscode vermischt werden Die angebotenen Operatoren sind fast orthogonal eine nicht zu vernachl ssigende Einschr nkung besteht jedoch darin da die Operanden einer parallelen Komposition disjunkte Alphabete aufweisen m ssen Diese Restriktion die vermutlich durch Implementierungsaspekte motiviert ist verbietet ins besondere die Definition paralleler Multiplikatoren Mehrfach Verzweigungen als n Ox x x n mal x da hier die Operanden der parallelen Komposition sogar identisch sind 6 2 2 2 Definition der Semantik Zur
261. e harmlos sind d h da f r die Erweiterung regul rer Ausdr cke um Konjunktion Syn chronisation und parallele Komposition kein Komplexit tspreis bezahlt werden mu Anmerkungen Obwohl die erste Behauptung des Satzes prinzipiell deprimierend ist ist bisher kein praktisch rele vantes Beispiel eines Ausdrucks bekannt bei dem sich die parallele Komposition wirklich b sartig verh lt Selbst wenn die Voraussetzungen der zweiten Behauptung nicht erf llt sind erweist sich die parallele Komposition in vielen F llen dennoch als harmlos d h die genannten Voraussetzungen sind zwar hinreichend aber offensichtlich nicht notwendig Dar ber hinaus ist interessant da sich der im Beweis erw hnte b sartige Ausdruck x acp o acp P durch eine einfache quivalenztransformation vgl 3 4 9 in den gutartigen Ausdruck x alp a p P umformen l t Die Gutartigkeit von x folgt aus 4 7 4 2 170 4 7 3 Kapitel 4 Implementierung von Interaktionsausdriicken Dies wirft die Frage auf ob es berhaupt inh rent b sartige Ausdr cke gibt d h Ausdr cke x f r die jeder zu x quivalente Ausdruck x b sartig ist Wenn dies nicht der Fall ist oder wenn sich b sartige Ausdr cke zumindest h ufig in quivalente gutartige Ausdr cke transformieren lassen k nnte es lohnend sein die manuelle oder automatische Optimierung von Interaktionsausdr cken genauer zu untersuchen d h
262. e oben d h die Anzahl der zu verfolgenden Alternativen w chst in diesem Beispiel mindestens exponentiell bzgl der L nge der Eingabefolge Es gibt genau ein Tupel das aus 2n Einsen besteht Es gibt 2n 1 verschiedene Tupel die aus 2n 2 Einsen und einer Zwei bestehen Man hat 2n 1 M glichkeiten die eine Zwei im Tupel zu plazieren Es gibt gt 2 a verschiedene Tupel die aus 2n 4 Einsen und zwei Zweien bestehen Es gibt E verschiedene Tupel die aus 2n 6 Einsen und drei Zweien bestehen Usw Schlie lich gibt es Ba 1 Tupel das aus n Zweien besteht 2 4 Zielgerichtetes Durchlaufen von Graphen 2 4 5 47 F r die Gesamtzahl N der verschiedenen Tupel gilt daher _ 2n 2n 1 2n 2 2n 3 2n n _ u 2n k a n vapo E ze 2 4 4 2 Lineare Komplexit t W rde man diese Beobachtung so stehenlassen m te man Interaktionsgraphen als Formalismus be zeichnen der zwar konzeptionell interessant und ausdrucksstark praktisch aber aufgrund seiner po tentiellen Komplexit t nicht einsetzbar ist Schlie lich handelt es sich bei dem betrachteten Graphen in Abb 2 30 durchaus um ein realistisches und rein syntaktisch auch sehr einfaches Beispiel Gl cklicherweise ist die Situation jedoch bei weitem nicht so dramatisch wie sie auf den ersten Blick erscheinen mag Betrachtet man die resultierenden Zust nde bzw Alternativen n mlich etwas genauer so stellt man fest da viele von ihnen zwar formal verschieden im Pri
263. e resultierende Folge ist daher 10 Pf 10 Pf Kopie A4 Kopie A4 b G passiert Kopie A4 bevor G die Aktion 10 Pf passiert Jetzt mu G noch 10 Pf und Kopie A4 passieren um ebenfalls den rechten Knoten zu errei chen Resultat 10 Pf Kopie A4 10 Pf Kopie A4 Drei Gruppen durchlaufen unabh ngig voneinander den Teilgraphen 10 Pf Kopie A4 hnlich wie im Fall 2 k nnen sich hier die folgenden Reihenfolgen ergeben a 10 Pf 10 Pf 10 Pf Kopie A4 Kopie A4 Kopie A4 Alle drei Gruppen passieren 10 Pf bevor die erste Gruppe Kopie A4 passiert b 10 Pf 10 Pf Kopie A4 10 Pf Kopie A4 Kopie AA Zwei Gruppen passieren 10 Pf und eine von ihnen Kopie A4 bevor die dritte Gruppe 10 Pf pas siert 30 2 3 1 Kapitel 2 Interaktionsgraphen c 10Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 Zwei Gruppen passieren 10 Pf und anschlie end beide Kopie A4 bevor die dritte Gruppe 10 Pf und Kopie A4 passiert d 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 Kopie AA Eine Gruppe passiert 10 Pf und Kopie A4 bevor die anderen beiden Gruppen 10 Pf und an schlie end Kopie A4 passieren e 10Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 Die drei Gruppen durchlaufen die Sequenz 10 Pf Kopie A4 strikt sequentiell 4 Und so weiter hnlich wie bei einer Sowohl als auch Verzweigung oder bei einer Mehrfach Verzweigung erh lt man die zul ssigen A
264. echen die Teilzust nde und r den initialen Zust nden der Teilausdr cke y und z a x 0 o y o 4 5 4 3 Option Eine Option x ay wird als spezielle Disjunktion x y implementiert wobei der initiale Zu stand des leeren Ausdrucks e wie folgt definiert ist o e T 4 5 4 4 Konjunktion Ein konjunktiver Zustand d h ein Zustand einer Konjunktion x y z ist ein 3 Tupel s r mit einem Zustand des linken Teilausdrucks y und einem Zustand r des rechten Teilausdrucks z die wie bei einem disjunktiven Zustand als Teilzust nde des Zustands s bezeichnet werden Die Definitionen der Funktionen y g t und o sind vollkommen analog bzw dual zu denen der Dis junktion vcs yl aye A RADA Tals ta 1 Ta r o x o y o z 4 5 4 5 Synchronisation Ein Synchronisations Zustand d h ein Zustand einer Synchronisation x y z ist ein 5 Tupel s 0 y z r mit einem Zustand des linken Teilausdrucks y und einem Zustand r des rechten Teilausdrucks z Neben diesen beiden Teilzust nden enth lt ein Synchronisations Zustand auch die Teilausdr cke y und z des Ausdrucks x deren Alphabet f r die Definition des Zustands bergangs be n tigt wird 12 Trotz teilweise anderslautender Gepflogenheiten ist es im folgenden g nstig zu vereinbaren da die logischen Verkn pfungen v und A st rker binden als das Gleichheitszeichen 13 Alternativ k nnte man auch direkt die Alphabete
265. echend indem man beliebig viele partielle Worte von y miteinan der verschr nkt PO y FOW Beispiel F r die Menge C 10 Pf Kopie A4 10 Pf Kopie A4 gilt c 10 c C 10 Pf Kopie A4 2 C C C 10Pf Kopie A4 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 c c C 10 Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf 10 Pf 10 Pf Kopie A4 Kopie A4 Kopie A4 10 Pf 10 Pf Kopie A4 10 Pf Kopie A4 Kopie A4 10 Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 usw Daher besitzt der Ausdruck 10 Pf Kopie A4 vgl Abb 3 15 die folgenden vollst ndigen Worte oo n 10 Pf Kopie A4 10 Pf Kopie A4 U Q 10 Pf Kopie A4 n 0 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 78 3 3 1 Kapitel 3 Interaktionsausdriicke 10 Pf Kopie A4 Abbildung 3 15 Parallele Iteration 10 Pf Kopie A4 10 Pf 10 Pf 10 Pf Kopie A4 Kopie A4 Kopie A4 10 Pf 10 Pf Kopie A4 10 Pf Kopie A4 Kopie A4 10 Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4
266. edingung a x a x3 in der Definition von x lt x zu a x C a x5 abschw chen so ware die erste Behauptung des Satzes falsch wie das folgende Beispiel zeigt Sei y a yy a Gb und z z b Dann gilt offensichtlich y lt y Yy lt Y2 und a y C a y aber nicht a y y Au erdem gilt nat rlich z lt z2 F r die Ausdr cke x y O Z und x y O Z gilt nun x O a o b a b b a P x Va b Q a b a b b a und alx a b bzw 94 3 4 3 Kapitel 3 Interaktionsausdriicke P x a ab o b a by P x Ya ab o b 0 a a by und x2 a b d h x ist echt restriktiver als x obwohl y abgesehen vom Alphabet echt restriktiver als y ist 3 4 3 Induktionsprinzip f r Ausdr cke 3 4 3 1 Satz Um die Richtigkeit einer Aussage A x wie z B P x c P x vgl 3 4 4 f r alle Ausdr cke x E zu beweisen gen gt es ihre Richtigkeit f r alle atomaren Ausdr cke x a zu beweisen sowie f r zusammengesetzte Ausdr cke x y x y z und x y zu beweisen da die Richtigkeit P von A x aus der Richtigkeit von A f r alle ggf konkretisierten Teilausdr cke von x folgt d h AO A y A y A A z gt AQ 2 Ay A Yo Q A y ale y Beweis 1 Betrachte die Aussage B n A x ist f r alle Ausdr cke x die h chstens n Operatoren enthalten richtig Offensichtlich folgt die Richtigkeit vo
267. edingungen gen gen 1 L t man Klammern au er acht m ssen sich Zahlen und Operatoren abwechseln und sowohl am Anfang als auch am Ende eines arithmetischen Ausdrucks mu eine Zahl stehen 2 ffnende bzw schlie ende Klammern L bzw R d rfen nur vor bzw nach Zahlen auftreten Teil ausdr cke L NUM R SL NUM aR 3 Die Anzahl der ffnenden Klammern mu in jedem Pr fix des Ausdrucks mindestens so gro sein wie die Anzahl der schlie enden Klammern im gesamten Ausdruck mu die Anzahl gleich sein Teilausdruck L R Somit beschreibt der Interaktionsausdruck x genau dieselbe Sprache L x wie die kontextfreie Gram matik x gt NUMIx OP xILxR bei der die rekursive Formulierung im wesentlichen nur zur Gew hrleistung von Bedingung 3 d h zum Z hlen von ffnenden und schlie enden Klammern gebraucht wird L NUM R gt L NUM L NUM R L OP L NUM R HIEI Abbildung 3 30 Interaktionsgraph zur Beschreibung geklammerter arithmetischer Ausdriicke 3 5 3 3 Unterlegenheit von Interaktionsausdriicken Anders verh lt es sich jedoch wenn man zwei verschiedene Arten von Klammern z B L und R so wie L und R zur Gruppierung von Ausdr cken verwenden m chte die jedoch konsistent verwendet werden m ssen Klammerproblem Die zugeh rige Kontextfre
268. egriffen nachdem in den vorangegangenen Abschnit ten alle wesentlichen Konzepte von Interaktionsgraphen ausf hrlich besprochen wurden In 2 8 schlie lich werden sowohl die Operatoren als auch die wesentlichen Prinzipien von Inter aktionsgraphen noch einmal zusammengefa t 2 2 Grundlegende Operatoren Beispiel M nzautomaten 2 2 1 Einwerfen von 2 DM Die Interaktionsgraphen in Abb 2 1 und 2 2 zeigen zwei verschiedene Varianten einen Betrag von 2 DM in einen M nzautomaten einzuwerfen der 1 DM und 2 DM M nzen akzeptiert d h der grunds tzlich die Ausf hrung der Aktionen 1 DM Einwerfen einer 1 DM M nze und 2DM Einwer fen einer 2 DM M nze erlaubt Entweder man wirft eine einzelne 2 DM M nze ein Abb 2 1 oder aber zwei 1 DM M nzen nacheinander Abb 2 2 Um mit einem einzigen Graphen auszudr cken 15 16 2 2 2 Kapitel 2 Interaktionsgraphen 2DM Abbildung 2 1 Einwerfen von 2 DM Variante 1 1DM 1DM Abbildung 2 2 Einwerfen von 2 DM Variante 2 da man entweder einmal die Aktion 2DM oder zweimal nacheinander die Aktion 1 DM ausf hren kann werden die beiden Graphen mittels einer Entweder oder Verzweigung wie in Abb 2 3 ver kn pft 2DM a Abbildung 2 3 Einwerfen von 2 DM Kombination von Variante 1 und 2 Eine solche Verzweigung wird durchlaufen indem man am Verzweigungsknoten O links entwe der nach oben oder nach unten a
269. ei handeln k nnte Die Beschreibung der T tigkeiten ist aus Platzgr nden u erst kurz gefa t 17 Tm Kardex Krankenblatt eines Patienten werden neben Blutdruck und Fieberkurven auch s mtliche rztlichen Anordnungen festgehal ten 216 5 4 3 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Aktivit t Parameter Bearbeiter Programm Beschreibung Untersuchung elektron Untersuchung u f r anordnen Be Set Kardex Patient p anordnen Termin elektron Termin f r Untersuchung u vereinbaren pu Prlegekratt Kalender des Patienten p PR Patient Pflege Patient p f r Unter vorbereiten pas peepee Pa suchung u vorbereiten Patient elektron Patient p f r Unter aufkl ren BER siauonsarzi Akte suchung u aufkl ren Patient Med techn Abruf Patient p zur Unter abrufen pu Assistentin system suchung u abrufen Untersuchung Untersuchen Unters Untersuchung u f r durchf hren Prk der Arzt doku Patient p durchf hren Kurz Lang Untersuchen Text Befund ber Untersuchung u Befund erstellen Bye der Arzt verarb des Patienten p erstellen Kurz Lang f elektron Befund ber Untersuchung u Befund lesen pu et Akte des Patienten p lesen Tabelle 5 31 Aktivit tenkatalog Anmerkung Normalerweise sollte der Einf hrung eines Workflow Management Systems in einer Kli nik oder einem anderen Unternehmen eine umfassende Analyse und ggf Restrukturierung aller wich tigen Gesc
270. eilklasse von Pfadaus dr cken auf Petrinetze Lauer75 vgl auch 6 5 1 8 oder eine denotationale und axiomatische Defi nition Berzins77 6 2 1 3 Implementierung des Formalismus Eine gegebene Menge von Pfadausdr cken kann sehr einfach und direkt in Folgen von Semaphorope rationen P und V bersetzt werden die als Pro bzw Epiloge der in den Ausdr cken vorkommenden Prozeduren ausgef hrt werden Campbell74 Campbell79 F r das einfache Leser Schreiber Problem path read write end erh lt man z B in einer an die Programmiersprache CH angelehnten Notation sem s 1 t Zwei Semaphore mit Initialwert 1 int c 0 Ein Z hler mit Initialwert 0 proc read PP c s t Prolog ER Rumpf von read VV c s t Epilog proc write P t Prolog hgh e Rumpf von write V t Epilog mit den h ufig ben tigten Hilfsoperationen proc PP int amp c sem s sem t P s Hilfssemaphor s erwerben c Z hler c inkrementieren if c 1 P t Ggf Semaphor t erwerben V s Hilfssemaphor s freigeben 3 Zitiert nach Freisleben87 Der Typ int amp bezeichnet eine Referenz auf int d h der Parameter c wird jeweils by reference bergeben vgl VAR Parameter in Modu la 242 6 2 1 Kapitel 6 Verwandte Arbeiten proc VV int amp c sem s sem t P s Hilfssemaphor s erwerben c z hler c dekrementieren if c 0
271. eilzustand eines parallelen Quantorzustands f r den bereits ein Zustands bergang mit einer bestimmten Belegung des Quantorparameters durchgef hrt wurde der zugeh ri ge Folgezustand zwischengespeichert wird Da verschiedene Alternativen eines parallelen Quantorzu stands h ufig gemeinsame Teilzust nde besitzen kann man auf diese Weise u U zahlreiche Zustands bergangs Berechnungen einsparen Interessant ist da das CH Konzept der offenen Typen eine sehr einfache und effiziente Realisierung eines solchen Zwischenspeichers erlaubt indem der Typ State lediglich um ein Attribut cache ebenfalls vom Type State erweitert wird in dem jeweils der Fol gezustand eines Teilzustands hinterlegt werden kann Am Ende eines gesamten Zustands bergangs des Quantorzustands m ssen diese Mini Caches jedoch wieder gel scht werden 4 8 2 Umfang und Qualit t der Implementierung Zum Abschlu dieses umfangreichen Kapitels gibt Tab 4 28 einen groben berblick ber den Ge samtumfang der entwickelten Software Betrachtet man die genannten Zahlen etwas genauer so wird deutlich da etwa drei F nftel des Programmcodes 1630 Zeilen in Form wiederverwendbarer Bi bliotheksfunktionen vorwiegend C Template Funktionen extrahiert werden konnte so da der ei gentliche Anwendungscode 1070 Zeilen kaum unn tigen die Lesbarkeit und Verst ndlichkeit behin dernden Ballast enth lt Insbesondere mu man sich an keiner Stelle des Programms
272. ein wesentliches Ziel bei der Entwicklung einer effizienten Implementierung darin Zust nde so zu definieren und zu verwalten da m glichst viele quivalente Zust nde als solche erkannt werden k nnen und so die Menge der parallel zu verfolgenden Alternativen m glichst klein bleibt Wie in 4 7 5 4 erl utert wird konnte dieses Ziel f r eine sehr gro e Klasse praktisch relevanter Graphen tats chlich erreicht werden 2 5 Sackgassen und endlose Wege 2 5 1 Sackgassen 2 5 1 1 Beispiel Versucht man den Graphen in Abb 2 53 nach den vorgeschriebenen Regeln zu traversieren so ergibt sich eine merkw rdige Situation Nach Passieren der Aktion a m ssen die Zweige der Kopplung par allel durchlaufen werden Da die Aktionen b und c in beiden Zweigen auftreten m ssen sie auch in beiden Zweigen gleichzeitig durchlaufen werden dies ist aber offensichtlich nicht m glich da im oberen Zweig zuerst b und anschlie end c passiert werden mu w hrend die Reihenfolge im unteren Zweig gerade umgekehrt ist Somit stellt die Kopplung 0 o eine Sackgasse dar in der man beim Durchlaufen des Graphen steckenbleibt Bern Abbildung 2 53 Graph mit einer Sackgasse 2 5 1 2 Diskussion Obwohl die Formulierung von Sackgassen in aller Regel nicht sinnvoll ist kann man sie rein syntak tisch nicht unterbinden sofern man auf die f r praktische Anwendungen sehr wichtige Kopplung von Graphen nich
273. eine neue Auspr gung des Zustands o y erweitert wenn einer der Folgezust nde t r t ein Endzustand ist d h wenn die bis jetzt durchlaufene Aktionsfolge ein vollst ndiges Wort des Ausdrucks x darstellt ya tas 6 y T mit Tate ter ud T T Uu o y Ebenfalls analog zur sequentiellen Komposition kann ein sequentieller Iterations Zustand optimiert werden indem ung ltige Teilzust nde t T eliminiert werden p9 6 y f mt T reT yo 14 Je nachdem ob das Pr dikat dl erfiillt ist oder nicht entspricht die Menge o z dr entweder der einelementigen Menge o z oder aber der leeren Menge 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 6 139 Beim initialen Zustand einer sequentiellen Iteration x amp y enth lt die Menge T die Zust nde o y und wobei letzterer daf r sorgt da der Zustand gleichzeitig ein Endzustand ist o x e y T mit T o y TH 4 5 4 8 Parallele Komposition Ein paralleler Kompositions Zustand d h ein Zustand einer parallelen Komposition x y z ist ein 2 Tupel s A mit einer Menge A von Zustandspaaren r die als Alternativen des Zu stands bezeichnet werden Jede Alternative r A besteht aus einem Zustand des linken Teilaus drucks y und einem Zustand r des rechten Teilausdrucks z Ein solcher Zustand ist genau dann ein g ltiger Zustand bzw ein Endzustand wenn er mindestens ei ne Alternative r ent
274. einer eigenen F r ein Verzweigung umgeben vgl Abb 2 63 so w re es aus Sicht des Graphen beispielsweise zul ssig einen Patienten p zur Sonographie abzurufen Belegung u sono anschlie end aber eine Endoskopie f r ihn durchzuf hren Belegung u endo 2 7 2 Integrit tsbedingungen f r Untersuchungsstellen Nachdem mit Hilfe der Integrit tsbedingung f r Patienten Abb 2 62 sichergestellt ist da sich kein Patient w hrend seines Klinikaufenthalts zerrei en mu um an mehreren Stellen gleichzeitig zu sein sollen im folgenden einige Bedingungen entwickelt werden die eine berlastung von Untersu chungsstellen ausschlie en 2 7 2 1 Allgemeine Kapazit tsbeschr nkung Der Graph in Abb 2 64 beschreibt zum Beispiel da in jeder Untersuchungsstelle u maximal f nf Pa tienten p gleichzeitig untersucht werden k nnen 5 r N a 5 NN u durchf hren N O p u P x Abbildung 2 64 Allgemeine Kapazit tsbeschr nkung Um die Wirkungsweise eines solchen Graphen zu verstehen ist es meist sinnvoll ihn von innen nach au en zu entwickeln e Die F r ein Verzweigung erlaubt die Durchf hrung einer Untersuchung u f r einen belie bigen Patienten p pa oap Durch die umgebende Wiederholung wird ausgedr ckt da sich dieser Vorgang beliebig oft mit be liebig wechselnden Patienten p wiederholen kann 5 5 Durch die Mehrfach Verzweigung wird als n chstes festge
275. einwertiges Attribut a D gt R wie z B name Action gt Aname entspricht mathematisch einer Funktion a mit Definitionsmenge engl domain D und Wertebereich engl range R Da Attribute jedoch optio nal sind ist diese Funktion u U nur f r eine Teilmenge D c D definiert Um zu einer vollst ndig de finierten Funktion zu gelangen wird f r Objekte x D D ein Defaultwert a x R R ver einbart der abh ngig vom konkreten Wertebereich R ist F r numerische Wertebereiche gilt bei spielsweise R 0 w hrend f r strukturierte Typen 6 R nil vereinbart wird wobei nil ein generisches Objekt darstellt das hnlich wie die Zeigerkonstante NIL in Modula mit allen struktu rierten Typen kompatibel ist aber keinerlei Attributauspr gungen besitzt Ein mehrwertiges Attribut a D gt R wie z B params Action gt gt Param entspricht mathe matisch einer Funktion a D gt R wenn man mit R wie gewohnt die Menge aller Folgen 7 r mit n IN und r r R bezeichnet Da die leere Folge ebenfalls zur Menge R geh rt m s n sen fehlende Attributwerte hier nicht gesondert betrachtet werden 1 Diese Eigenschaft unterscheidet einen Defaultwert R von dem Typ unabh ngigen Nullwert NULL in relationalen Datenbanksystemen 8 Es gilt also a nil R f r alle Attribute a D gt R und insbesondere a nil nil wenn der Wertebereich des Attributs wiederum ein strukturierter Typ ist 4
276. eis F r eine Aktion a w und einen Wert Q gilt die folgende Kette von Aquivalenzen 0 e abo p Definition der relevanten Parameterwerte einer Aktion a e al aI dae a y7 a a dae ay a a 4a a y a 4 Co tt 9 dae a y a 4 un Es gilt ealy gt a ay calx gt a g e a x Annahme a a gt amp a x a gt a K O T P p q la a D gt red q im Widerspruch zur Voraussetzung 7 Q x q Daher gilt a a X d h ist unabh ngig vom Parameter q woraus d a folgt lt 4 u w P J e ay a a J eceay a T o ae a y a Definition der relevanten Parameterwerte einer Aktion o eQ p d h 2 37 p Q y p woraus unmittelbar die Behauptung folgt B 2 2 Korrektheitstheorem B 2 2 1 Satz Das in 4 5 definierte einfache Zustandsmodell f r Interaktionsausdr cke ist korrekt und erf llt das in 4 5 6 3 genannte Substitutionsprinzip d h f r einen Ausdruck x und ein Wort w amp gilt lLweVx eoy o T und we x 6 x T Korrektheit 2 0x7 op f r z Q x q Substitutionsprinzip B 2 2 2 Beweisstruktur Der Beweis dieses Satzes erfolgt mittels nduktion nach der Struktur des Ausdrucks x vgl 3 4 3 d h f r zusammengesetzte Ausdr cke x wird die Richtigkeit der Behauptungen f r die Teilausdr cke von x bereits vorausgesetzt globale Induktionsvoraussetzu
277. eist Zustand type State attr expr State gt Expr Zugeh riger Ausdruck Dieses Attribut das so im mathematischen Modell nicht existiert erlaubt es mit Hilfe abgeleiteter Attribute implizit auf gewisse Zustandskomponenten zuzugreifen die im mathematischen Modell ex plizit repr sentiert werden attr cat State gt Category Kategorie des Zustands expr cat attr action State gt Action Aktion eines atomaren Zustands expr action attr param State gt Param Parameter eines Quantorzustands expr param Aufgrund dieser Deklarationen ist die Formulierung s action f r ein Objekt s vom Typ State bei spielsweise quivalent zu s expr action und liefert daher den Wert des Attributs action des Expr Objekts s expr Die beiden Sonderzust nde und T werden durch die Konstanten nil vgl 4 3 3 2 und Success repr sentiert wobei letztere als spezielle Auspr gung des Typs State vereinbart wird inst State Success 4 6 1 2 Funktionen Die Initialisierungsfunktion o wird durch eine st ckweise definierte CH Funktion init implemen tiert deren Teile jeweils Ausdr cke x einer bestimmten Kategorie x cat behandeln Initialer Zustand eines Ausdrucks x der Kategorie part State init Expr x if x cat 11 Wie man sieht schlie en sich attr und inst Deklarationen f r ein und denselben Typ nicht gegenseitig aus Mit inst vereinbarte Kon stanten wie z B Success untersc
278. eitraum k nnen nur endlich viele Aktionen ausgef hrt werden 2 6 2 Zeitlich ausgedehnte und berlappende Aktivit ten In Anwendungsgebieten wie z B Workflow Management trifft man jedoch h ufig auf T tigkeiten f r die die ersten beiden Kriterien nicht zutreffen d h die sowohl zeitlich ausgedehnt sind als auch zeit lich berlappend ausgef hrt werden k nnen Beispielsweise kann sich die Ausf hrung eines Work flowschritts mit Hilfe eines Schrittprogramms durchaus ber mehrere Minuten Stunden oder sogar Tage erstrecken wenn beispielsweise mit Hilfe eines Textverarbeitungsprogramms ein gr eres Do kument zu erstellen ist und selbstverst ndlich k nnen mehrere derartige Schritte z B aus verschie denen Workflows auch zeitlich berlappend ausgef hrt werden Derartige T tigkeiten die sowohl zeitlich ausgedehnt sind als auch zeitlich berlappend ausgef hrt werden k nnen werden im folgen den als Aktivit ten bezeichnet Da die tats chliche Dauer einer Aktivit t A jedoch von untergeordneter Bedeutung ist kann ihre Ausf hrung durch eine Folge Ag A zweier punktueller Aktionen Ag und A beschrieben werden die das Starten bzw Beenden der Aktivit t A bezeichnen und zwischen deren Ausf hrung beliebig viel Zeit verstreichen kann Auch eine zeitlich berlappende Ausf hrung mehrerer Aktivit ten kann so auf eine sequentielle Ausf hrung punktueller Aktionen zur ckgef hrt werden vgl Abb 2 58 so fern man bereit ist z
279. el 2 Interaktionsgraphen u u pP u pP u 8 8 N r FR Patient Untersuchung N gt EN O T we Fe durchf hren u f O P P Abbildung 2 68 Begrenzung von Warteschlangen 2 7 4 Reihenfolgen und temporale Aspekte 2 7 4 1 Erste Formulierung Gelegentlich ist f r zwei verschiedene Untersuchungen desselben Patienten eine bestimmte Reihenfol ge einzuhalten weil andernfalls die eine Untersuchung das Ergebnis der anderen verf lschen w rde Beispielsweise sollte eine Sonographie immer vor einer Endoskopie durchgef hrt werden weil die bei der Endoskopie ggf in den Darm gepumpte Luft eine anschlie ende sonographische Beurteilung des Bauchraums unm glich macht vgl auch 1 3 1 1 Allerdings darf die umgangssprachliche Formulierung Sonographie vor Endoskopie aus verschie denen Gr nden nicht ganz w rtlich d h als strikte Sequenz Sonographie Endoskopie interpretiert werden Zum einen mu es m glich sein jede der beiden Untersuchungen auch einzeln durchzuf h ren d h nach der Durchf hrung einer Sonographie mu nicht notwendigerweise eine Endoskopie fol gen es K nnte beispielsweise auch eine weitere Sonographie durchgef hrt werden noch mu einer Endoskopie immer eine Sonographie vorausgehen Zum anderen darf eine Sonographie durchaus auch nach einer Endoskopie durchgef hrt werden sofern seit der Beendigung der letzten Endoskopie ausreichend viel Zeit verstrichen is
280. ellen lesen Termin vereinbaren Endoskopie Arbeitslisten der Benutzer Station Sonographie Endoskopie Schwester Arzt MTA Arzt MTA Arzt aufkl ren X endo abrufen X sono Abbildung 5 51 Zustand nach Beendigung der Vorbereitung 234 5 5 5 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken ps Patient AN S _Y fyorbereiten V u u p u OAO al mY BEA h OOH aa OOA p 4 p u 2 P Patient Untersuchung abrufen durchf hren u D u D u u Termin vereinbaren Untersuchung Patient Untersuchung Befund Befund anordnen abrufen durchf hren erstellen lesen Patient vorbereiten Sonographie Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen anordnen Patient aufkl ren Patient Untersuchung abrufen durchf hren Langbefund Langbefund erstellen lesen Termin vereinbaren Endoskopie Arbeitslisten der Benutzer Station Sonographie Endoskopie Schwester Arzt MTA Arzt MTA Arzt abrufen X sono Abbildung 5 52 Zustand w hrend der Aufkl rung des Patienten 5 5 Implementierung von Workflow Geflechten 5 5 5 235 OO Fe 0 0 SY _Y Ivorbereiten U WY u u pP u OAO atent OA OA h Na a mA KO h p 4 p u us P a ent Untersu
281. en so kann das Arbeitslistenpro gramm die Schritte 1 bis 6 mit Ausnahme von Schritt 3 und 4 so lange wiederholen bis es in Schritt 6 eine Commit Nachricht erh lt Sollte hierbei jedoch in Schritt 2 eine Reject Nachricht ein treffen so mu die Workflow Ausf hrungseinheit aufgefordert werden die Ausf hrung der Aktivi t t A abzubrechen Anmerkung Die exakten Details der Schritte 3 4 und 7 h ngen stark vom jeweiligen WfMS ab das Grundprinzip d rfte jedoch bei allen Systemen hnlich sein 5 5 2 3 Beenden von Aktivit ten Das Beenden einer Aktivit t verl uft normalerweise hnlich wie das Starten vgl Abb 5 43 e Wenn ein Schrittprogramm einer Aktivit t A terminiert 1 sendet das Arbeitslistenprogramm eine Wait Nachricht fiir die Endeaktion A an den Interaktionsmanager 2 die normalerweise sofort mit Accept beantwortet wird Chie e Anschlie end wird die Workflow Ausf hrungseinheit aufgefordert die Aktivit t zu beenden 4 e Wird dies von der Ausf hrungseinheit best tigt 5 so wird eine Exec Nachricht an den Interak tionsmanager gesandt 6 die normalerweise mit Commit beantwortet wird 7 1 Da eine Aktivit t A in einem Interaktionsgraphen durch die Sequenz Ay A ersetzt wird ist A im Anschlu an A immer zul ssig es sei denn es w rde im Graphen an irgendeiner Stelle isoliert d h ohne vorangehendes Ag auftreten 224 5 5 2 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken 4
282. en Ans tze dar Die Unvollst ndigkeit der anderen Ans tze er scheint umso merkw rdiger wenn man bedenkt da oftmals von zwei logisch zusammengeh renden Operatoren nur einer unterst tzt wird e Synchronisierungsausdr cke unterst tzen zwar parallele Komposition nicht jedoch den zugeh rigen H llenoperator die parallele Iteration e Ereignis und Flu ausdr cke unterst tzen zwar Disjunktion nicht jedoch den dualen Booleschen Operator die Konjunktion e CoCoA Ausf hrungsregeln unterst tzen zwar Allquantoren forall nicht jedoch die dualen Exi stenz Quantoren exists Vor diesem Hintergrund wurde versucht Interaktionsausdr cke als in sich abgeschlossenen und voll st ndigen Formalismus zu entwerfen 6 3 ProzeBalgebren 6 3 1 253 e Es gibt zwei grundlegende Formen der Komposition sequentielle und parallele Komposition e Es gibt zwei zugeh rige H llenoperatoren sequentielle und parallele Iteration e Es gibt zwei duale Boolesche Operatoren Disjunktion und Konjunktion e Zu jedem kommutativen bin ren Operator gibt es einen zugeh rigen Quantor wobei All und Exi stenzquantoren d h parallele und Disjunktions Quantoren wichtige Spezialf lle darstellen Aus anderen Blickwinkeln betrachtet ergeben sich weitere Dualit ten e Eine Disjunktion entspricht einer Verzweigung bei der genau ein Zweig beschritten wird w hrend bei den brigen Verzweigungsoperatoren Konjunktion Synchronisation parallele Kompo
283. en Prozedur zweimal unterziehen m te obwohl eine einzige Probe f r beide Untersuchungen zusammen gen gen w rde In gewisser Weise umgekehrt verh lt es sich mit der Folge der Schritte Patient abrufen und Unter suchung durchf hren Da sich ein Patient nat rlich nicht in zwei Untersuchungsstellen gleichzeitig befinden kann m ssen diese Schritte auch ber Workflowgrenzen hinweg strikt sequentiell aus gef hrt werden Heutzutage werden derartige Synchronisationsprobleme meist per Telefon gel st Wenn ein Patient der sich gerade nicht auf der Station befindet zu einer Untersuchung gerufen wird 1 3 L sungsversuche 1 3 1 5 informiert die Stationsschwester die entsprechende Untersuchungsstelle und bittet sie einen anderen Patienten vorzuziehen Beim Einsatz eines Workflow Management Systems w re es jedoch w n schenswert wenn Arbeitsschritte wie z B Patient abrufen die zwar aus Sicht eines einzelnen Work flows und damit aus Sicht des WfMSs prinzipiell zul ssig sind deren Ausf hrung jedoch gegen eine solche Workflow bergreifende Synchronisationsbedingung versto en w rde aus den Arbeitslisten der un vor bergehend entfernt werden damit sie auch tats chlich nicht ausgef hrt werden k nnen 1 2 3 Aufgabenstellung Aus dieser Anforderung ergibt sich unmittelbar die Aufgabenstellung f r die vorliegende Arbeit Zum einen wird ein Formalismus ben tigt mit dessen Hilfe derartige Inter Workflow Abhdngigke
284. en Zweig z durchlaufen werden k nnen Alle brigen Aktionen des Ausdrucks sind von dieser nderung nicht betroffen 2 Analog zu Schritt 1 kann auch der untere Zweig z der Synchronisation durch eine parallele Kom position z e v OO Ym ersetzt werden vgl Abb 3 19 ohne die Bedeutung des Aus drucks zu ver ndern z y Ym Abbildung 3 19 Transformation der Synchronisation y z Schritt 2 3 3 Definition von Interaktionsausdr cken 3 3 1 81 3 Da nun beide Zweige der Synchronisation dasselbe Alphabet besitzen k nnen s mtliche Aktionen nur noch durchlaufen werden wenn sie in beiden Zweigen gleichzeitig passiert werden K nnen d h die Synchronisation in Abb 3 19 ist quivalent zu einer Konjunktion mit denselben Zweigen Zusammengefa t erh lt man daher die folgende quivalenztransformation die es erlaubt eine Syn chronisation auf bereits definierte Operatoren zur ckzuf hren yOz y A z O O Z A 0 03 Konsequenzen der Transformation Bezeichnet man mit y bzw z kappa wie Komplement die Menge aller Aktionen des Aus drucks x y z die nicht im Teilausdruck y bzw z vorkommen d h x y a x a a U a z a alz a z Zn K Z a x a z a U a z a z ay a z
285. en Zweigen der Ent weder oder Verzweigung ausklammert vgl Abb 2 49 Allerdings ist ein Graphautor m glicherweise weder imstande derartige Konflikte auf Anhieb zu erkennen noch willens sie durch quivalenz transformationen zu eliminieren Frei nach dem Motto Lassen Sie andere Leute bzw die Maschine die Arbeit tun Kernighan86 sollte ein Graphautor daher gr tm gliche Freiheit bei der Formulie rung von Graphen genie en und nicht durch derartige im Grunde genommen implementierungstech nische Probleme belastet werden 1DM 1DM 1DM Q 2DM w o a 1 DM Abbildung 2 49 Einwerfen von 3 DM ohne Konflikte 44 I 2 4 3 Kapitel 2 Interaktionsgraphen 2 4 3 3 Weitere Beispiele Andere Graphen wie z B die in Abb 2 16 bis 2 18 2 2 4 3 enthalten Konflikte die nicht ohne weiteres durch quivalenztransformationen eliminiert werden k nnen Beispielsweise enthalten alle diese Graphen die Aktion 1 DM formal zweimal und real wenn man die Mehrfach Verzweigungen expandiert sogar f nfmal Aufgrund der Struktur der Graphen k nnte jede dieser f nf Auspr gungen im ersten Schritt durchlaufen werden d h wenn als erstes eine 1 DM M nze in den Automaten ein geworfen wird mu der Graph Interpreter anschlie end f nf verschiedene Alternativen weiterverfol gen Wollte man diese Konflikte eliminieren so k nnte man zun chst alle Mehrfach bzw Sowohl als auch Ver
286. en abrufeng X sono und abrufen X sono ausf hrt Abbildung 5 54 zeigt den resultierenden Zustand des Graphen sowie die Tatsache da die Aktivit t abrufen X endo nun vor bergehend nicht ausgef hrt werden darf 5 5 Implementierung von Workflow Geflechten 5 5 5 231 OO Fe O 6 SY _Y Ivorbereiten U WY u u pP u OAO atent OA OA h Na a mA KO h p 4 p u us P a ent Untersuchung abrufen durchf hren u D u D u u Termin vereinbaren Untersuchung Patient Untersuchung Befund Befund anordnen abrufen durchf hren erstellen lesen Patient vorbereiten Sonographie Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen Untersuchung Patient anordnen aufkl ren Patient Untersuchung abrufen durchf hren Langbefund Langbefund erstellen lesen Termin vereinbaren Endoskopie Arbeitslisten der Benutzer Station Sonographie Endoskopie Schwester Arzt MTA Arzt MTA Arzt vorbereiten X sono aufkl ren X endo vorbereiten X endo Abbildung 5 49 Zustand nach Anordnung der Untersuchungen und Vereinbarung der Termine 232 5 5 5 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken OOH es O O YY _Y vorbereltan V u Du u O ae ec h
287. en einer Aktion in einem Inter aktionsgraphen der Ausf hrung dieser Aktion in der realen Welt entspricht ist dies jedoch nur m g lich wenn es sich bei allen Argumenten a um konkrete Werte Q handelt d h wenn a eine konkre te Aktion darstellt Daher enth lt die Menge der vollst ndigen Worte des Ausdrucks a in diesem Fall genau das Wort a Andernfalls d h wenn die Aktion a einen oder mehrere formale Parameter als Argumente besitzt kann der Graph in Abb 3 1 nicht vollst ndig durchlaufen werden d h in die sem Fall ist die Menge der vollst ndigen Worte des Ausdrucks a leer Dies f hrt zu folgender Defini 3 3 Definition von Interaktionsausdriicken 3 3 1 71 tion lt a fallsa eX P a ay NL sonst Will man den Graphen in Abb 3 1 nur teilweise durchlaufen so mu man die Traversierung entweder vor oder nach dem Durchlaufen der Aktion a abbrechen wobei letzteres nat rlich nur m glich ist wenn die Aktion a durchlaufen werden kann Im ersten Fall erh lt man ein leeres Wort im zweiten Fall wieder das Wort a Zusammengefa t erh lt man daher die folgende Menge von partiellen Wor ten des Ausdrucks a 0 a fallsaeL Pa Q a OL 0 sonst Beispiele Fiir den Ausdruck Kopie A4 X5 mit X5 Q vgl Abb 3 2 gilt Kopie A4 X5 Kopie A4 X5 N Kopie A4 X5 und Kopie A4 X5 Kopie A4 X5 N Q Kopie A4 X5 da
288. en entscheidenden Vorteil da Inter Workflow Abh ngigkeiten als first class citizens behandelt werden deren Einhaltung in der glei chen Weise vom WfMS garantiert wird wie die Einhaltung gew hnlicher Intra Workflow Abh ngig keiten Dies bedeutet insbesondere da ihre Existenz f r Arbeitslistenprogramme egal ob vom WfMS vordefiniert oder selbst implementiert transparent ist Auf diese Weise ist sichergestellt da 2 Bei der Ausf hrung einer solchen virtuellen Aktivit t durch den Benutzer k nnte das Arbeitslistenprogramm automatisch mehrere echte Aktivit ten auf einmal starten 5 5 Implementierung von Workflow Geflechten 5 5 5 229 Workflow bergreifende Integrit tsbedingungen weder absichtlich noch versehentlich durch die Ver wendung eines nicht adaptierten Arbeitslistenprogramms verletzt werden k nnen Vergleicht man Inter Workflow Abh ngigkeiten wieder mit Integrit tsbedingungen in Datenbanken vgl 5 4 3 so entspricht dieser L sungsansatz der Spezifikation und Implementierung von Integri t tsbedingungen direkt im Datenbankkern w hrend die Adaption von Arbeitslistenprogrammen einer Verlagerung der Bedingungen in die einzelnen Datenbank Anwendungen entspricht Abgesehen von der gr eren Fehleranf lligkeit mu hierbei auch der Programmcode zur Implementierung der Bedin gungen in s mtlichen Anwendungen d h hier eventuell verschiedenen Arbeitslistenprogrammen re pliziert werden Ungeachtet di
289. en mit den vordefinierten Mustergraphen gr er als das Fenster des Editors wird kann die Zeichenfl che auf der sich die Graphen befinden wie ein Blatt Papier inner halb des Fensters verschoben werden Anders als mit den weitverbreiteten Rollbalken engl scroll bars deren Benutzung insbesondere im zweidimensionalen Raum u erst unbefriedigend ist kann die Zeichenfl che einfach durch Dr cken der linken Maustaste gegriffen und bei gedr ckter Mausta Der Begriff Aktivit t wird im folgenden als Stellvertreter f r Aktionen Aktivit ten und Abk rzungen verwendet die alle durch unter schiedliche Arten von Rechtecken dargestellt werden Alle Farben des Programms k nnen ebenfalls ber Kommandozeilenargumente oder Konfigurationsdateien ver ndert werden Auf diese Weise kann man problemlos eine Schwarz wei Version starten mit der die hier gezeigten Bildschirmausdrucke erzeugt wurden 332 C 2 3 Anhang C Ein syntaxgesteuerter Editor fiir Interaktionsgraphen olx a ea eS el cel ss Ce ee CD eae eae 90000 gt Pesta ai LE BE Bee OH Patient vorbereiten p u Abbildung C 3 Markieren und Kopieren der Aktivit t Patient vorbereiten olx bean oo En Er Gro dp Termin Pai lent H vereinbaren vorbere ren p u p u p u p u BORO Abbildung C 4 Einbetten der Aktivit t Patient vorbereiten in eine Ftir ein Verzweigung C 2 Benutzerschnittstelle C 2 3 333 olx AIDA ep rx
290. en und B nach A ausgef hrt wurde In diesem Fall beruhte die Ausf hrung von B m glicherweise auf Resultaten der Ausf hrung von A die durch die Kompensierung von A un g ltig geworden sind Die Erweiterung von Interaktionsausdr cken um derartige Konzepte bzw die Entwicklung eines separaten Formalismus zur Beschreibung von Inter Workflow Ausnahmebehand lungen k nnte einen interessanten Aspekt zuk nftiger Arbeiten darstellen vgl 7 2 1 1 Kapitel 7 Zusammenfassung und Ausblick 7 1 Zusammenfassung der Ergebnisse 7 1 1 Kurzfassung Im Rahmen dieser Arbeit wurden Interaktionsausdriicke und graphen als deskriptiver Formalismus zur kompakten tibersichtlichen und modularen Spezifikation sowie zur effizienten Implementierung von Synchronisationsbedingungen unterschiedlichster Art konzipiert theoretisch untersucht praktisch implementiert und prototypisch eingesetzt Ausgehend von einer ausf hrlichen anwendungsorientierten und anschaulichen Beschreibung des Formalismus Kapitel 2 wurden sukzessive eine pr zise formale Semantik Kapitel 3 eine qui valente operationale Semantik 4 5 Anhang B sowie eine effiziente Implementierung Kapitel 4 insbesondere 4 6 entwickelt Aufbauend auf der formalen bzw operationalen Semantik wurden zahlreiche formale Eigenschaften 3 4 sowie Aussagen zur Ausdrucksm chtigkeit 3 5 und Kom plexit t 4 7 des Formalismus bewiesen Dar ber hinaus wurde aufgezeigt wie Interaktionsaus
291. en werden sogar berechnungsuniversell ist d h da jede Sprache die von einer Turingma schine erkannt werden kann auch mit Hilfe eines Ereignis oder Flu ausdrucks beschrieben werden kann Ogden78 Araki81a Zum Beweis wird jeweils gezeigt da sich eine Zweiz hlermaschine von der man wei da sie quivalent zu einer Turingmaschine ist Hopcroft90 stets mit Hilfe eines Er eignis oder Flu ausdrucks simulieren l t Allerdings basieren die wesentlichen Teile dieser Beweise auf der Verwendung sogenannter Synchronisationssymbole die es so in Interaktionsausdr cken nicht gibt und die sich vermutlich auch nicht mit anderen Konstrukten simulieren lassen 3 5 4 Zusammenfassung Zusammenfassend l t sich festhalten da Interaktionsausdr cke echt ausdrucksst rker als regul re Ausdr cke und teilweise auch ausdrucksst rker als kontextfreie Grammatiken sind Vermutlich gibt es jedoch auch kontextfreie Sprachen die sich nicht mit Hilfe von Interaktionsausdr cken beschreiben lassen d h vermutlich sind Interaktionsausdr cke und kontextfreie Grammatiken nicht vergleichbar Anmerkung Nat rlich k nnte man die Ausdrucksm chtigkeit von kontextfreien Grammatiken sofort bertreffen wenn man rekursive Makrodefinitionen erlauben w rde da der resultierende Formalismus kontextfreie Grammatiken um die Konzepte Parallelit t und Konjunktion erweitern w rde Abgese hen von den grunds tzlichen Bedenken da rekursive Formulierungen f r
292. end Papier eingelegt ist Au erdem macht der Graph keine Aussage ber das Einwerfen von M nzen weil dieser Aspekt eines M nzkopierers be reits durch den Graphen in Abb 2 30 abgedeckt wird Und schlie lich wird an dieser Stelle nur die In tegrit tsbedingung f r das Papierformat A4 formuliert w hrend der Graph in Abb 2 32 unabh n gig davon die entsprechende Bedingung f r das Format A3 spezifiziert 32 2 3 2 Kapitel 2 Interaktionsgraphen Kopie A3 Offnen A3 Schlie en A3 Abbildung 2 32 Integrit tsbedingung f r Papierformat A3 2 3 2 2 Kopplung Um nun auszudr cken da die Bedingungen der Abbildungen 2 30 2 31 und 2 32 zusammen einge halten werden m ssen d h da nur Ausf hrungsreihenfolgen zul ssig sind die von allen drei Gra phen akzeptiert werden werden sie in Abb 2 33 mit Hilfe einer Kopplung 0 0 verkn pft die an schaulich wie folgt durchlaufen wird e Die einzelnen Zweige der Kopplung werden hnlich wie die einer Sowohl als auch Verzweigung parallel durchlaufen e Im Gegensatz zu einer Sowohl als auch Verzweigung d rfen die Zweige jedoch nur teilweise unab h ngig voneinander durchlaufen werden o Aktionen die nur in einem Zweig der Kopplung vorkommen wie z B 10 Pf oder ffnen A4 k nnen in diesem Zweig unabh ngig von den anderen Zweigen durchlaufen werden o Aktionen die in zwei Zweigen auftreten wie z B Kopie A4 und Kopie A3 d
293. end vom initialen Zustand des Aus drucks x bei jeder Aktionsausf hrung einen entsprechenden Zustands bergang durchf hren vgl 4 5 1 4 Andererseits mu der Interaktionsmanager die Ausf hrung von Aktionen kontrollieren d h Aktionsausf hrungen verhindern die im aktuellen Zustand des Ausdrucks nicht zul ssig sind Um diese beiden Aufgaben erf llen zu k nnen mu der Interaktionsmanager von den aktionsausf h renden Instanzen den sogenannten Klienten einerseits ber jede Aktionsausf hrung informiert wer den und andererseits vor jeder Aktionsausf hrung um Erlaubnis gefragt werden F r diese Kommunikation zwischen Interaktionsmanager und Klienten die in Abb 5 1 schematisch dargestellt ist dienen die im folgenden beschriebenen Koordinationsprotokolle Sie spezifizieren je weils eine Menge von Nachrichten bei denen es sich um Anfragen eines Klienten vorl ufige oder endgiiltige Antworten des Interaktionsmanagers oder Bestdtigungen des Klienten handeln kann Jede Nachricht besteht aus einem Schl sselwort und einer zugeh rigen Aktion a auf die sich die Anfrage Antwort oder Best tigung bezieht Der Zeitraum zwischen dem Empfangen oder Versenden einer Nachricht und dem Versenden oder Empfangen der darauffolgenden Nachricht wird als Phase eines Koordinationsprotokolls bezeichnet Dementsprechend besteht ein Protokoll bei dem pro geplanter Aktionsausf hrung insgesamt n Nachrichten zwischen Klient und Interaktionsmanager ausgetauscht
294. enen genau einer zu durchlaufen ist Anschaulich bedeutet das da man am linken Knoten irgendeinen Wert f r den Parameter k w hlt mit dem man den Rumpf der Ver zweigung einmal durchl uft Dementsprechend beschreibt der Graph in Abb 2 42 einen Kunden der ein Kopiergesch ft betritt an irgendeinem der vorhandenen Kopierer seine Kopierarbeiten erledigt und anschlie end das Gesch ft wieder verl t Kopie A4 Kopierer k benutzen 102 2 k 10Pf Kopie A3 k k Gesch ft Kopierer AR Gesch ft betreten C benutzen verlassen k Abbildung 2 42 F r ein Verzweigung 40 2 3 5 Kapitel 2 Interaktionsgraphen Will man beschreiben da ein Kunde aus welchen Gr nden auch immer mehrere verschiedene Kopierer nacheinander benutzen kann so mu die F r ein Verzweigung ber k zus tzlich in eine Wiederholung eingebettet werden vgl Abb 2 43 Beim Durchlaufen dieses Graphen ist zu beachten da man die F r ein Verzweigung bei jedem Iterationsschritt erneut betritt und daher jedesmal einen neuen Wert f r k w hlen kann H tte man die Wiederholung innerhalb der F r ein Verzweigung pla ziert vgl Abb 2 44 so w rde letztere nur einmal durchlaufen was zur Folge h tte da s mtliche Iterationsschritte mit demselben Wert f r k ausgef hrt w rden Faktisch w re die Wiederholung da her wirkungs
295. enge Q aller m glichen Werte eingeschr nkt ist Abh ngig davon ob diese Teilmenge endlich oder unendlich ist kann man dann zwischen endlichen und unendlichen Quantoren unterscheiden W hrend sich letztere konzeptionell kaum von den bisher betrachteten Quantoren ber der Gesamtmenge unterscheiden vgl 5 2 8 3 m ten endliche Quantoren separat untersucht werden Beispielsweise w rde f r sie das Ph nomen der endlosen Wege vgl 2 5 2 und damit auch die Notwendigkeit von 3 4 6 wegfallen Andererseits k nnte man par allele Iterationen nicht auf endliche parallele Quantoren zur ckf hren vgl 3 4 11 Desweiteren w rde man f r endliche Quantoren tendenziell bessere Komplexit tsaussagen erhalten d h ein Quan torausdruck ber einer endlichen Wertemenge k nnte gutartig oder harmlos sein obwohl der entspre chende Ausdruck ber einer unendlichen Wertemenge b sartig ist 7 2 3 Praktische Fragestellungen 7 2 3 1 Integrierte Entwicklungsumgebung f r Interaktionsgraphen Um Interaktionsgraphen noch komfortabler erfassen und pflegen zu K nnen sollte der prototypisch implementierte Editor vgl Anhang C zu einer integrierten Entwicklungsumgebung ausgebaut wer den die es auch erlaubt Graphen interaktiv zu testen Durch eine geeignete Kopplung mit der Imple mentierung von Interaktionsausdr cken k nnte der Anwender beispielsweise die Ausf hrung einzel ner Aktionen durch Mausklicks simulieren wobei ihn das System dadurch
296. enn s lt B x f r eine Konstante B x gilt die nur vom Aus druck x nicht jedoch von der L nge n Iwl des Wortes w abh ngt so ist auch y s durch eine Konstante G x beschr nkt die nur vom Ausdruck x abh ngt y s 0 G x mit G x BP In diesem Fall hei t der Ausdruck x harmlos weil der Berechnungsaufwand f r einen Zustands bergang konstant ist 2 Wenn f s polynomiell beschr nkt bzgl n ist d h wenn f s O n f r ein k IN gilt so gilt dies auch f r y s y s oft O n O n f r k k D x IN In diesem Fall hei t der Ausdruck x gutartig weil der Berechnungsaufwand f r einen Zustands bergang polynomiell beschr nkt ist 3 Wenn f s nicht polynomiell beschr nkt ist d h wenn B s Olnt f r alle k IN gilt so gilt dies auch f r y s y s O n f rallek IN In diesem Fall hei t der Ausdruck x b sartig weil der Berechnungsaufwand f r einen Zustands bergang nicht polynomiell beschr nkt ist 4 7 1 3 Klassifikation von Operatoren Wie in den nachfolgenden Abschnitten erl utert wird h ngt der Verzweigungsgrad s eines Zu standsbaums s x bzw der Verzweigungsgrad seiner einzelnen Knoten in erster Linie von den im Ausdruck x auftretenden Operatoren und eventuell je nach Operator auch von den zugeh rigen Operanden d h Teilausdr cken des Operators ab Abh ngig davon welchen Verzweigungsgrad der Wurzelknoten eines Zustandsbaums x
297. ente The Netherlands February 1996 Flanagan98 D Flanagan Java in a Nutshell Deutsche Ausgabe der 2 Auflage fiir Java 1 1 O Reilly Cambridge 1998 Frank97 S Frank B Schulthei Proze modellierung und steuerung mit WorkParty ein Erfah rungsbericht Nr DBIS 23 Interne Ulmer Informatik Berichte Abteilung Datenbanken und Infor mationssysteme Universit t Ulm April 1997 Freisleben87 B Freisleben Mechanismen zur Synchronisation paralleler Prozesse Informatik Fachberichte 133 Springer Verlag Berlin 1987 Georgakopoulos95 D Georgakopoulos M Hornick A Sheth An Overview of Workflow Mana gement From Process Modeling to Workflow Automation Infrastructure Distributed and Parallel Databases 3 2 April 1995 119 153 Gerstner95 R Gerstner Ereignisse als Basis einer Workflow orientierten Architektur von Anwen dungssystemen In Proc GI Fachtagung MobIS Modellierung betrieblicher Informationssyste me Bamberg Germany October 1995 1995 Govindarajan90 R Govindarajan P Wang S Yu Statement Tags and Synchronization Expressions in Parallel C PARC Report No 260 Dept of Computer Science The University of Western On tario London Ontario Canada January 1990 283 Govindarajan91 R Govindarajan L Guo S Yu P Wang ParC Project Practical Constructs for Parallel Programming Languages In IEEE Proc of the 15th Ann Int Computer Software and Ap plications
298. ep C0606 OO dp Unters Termin Pal Patient anor vereinbaren vorberei aufkl ren pou pou pou pou Pai ng Be Be EAT abi hren erste les pL ean pou pou p u p u Abbildung C 5 Beliebig oft Verzweigung und wechselseitiger Ausschlu ste beliebig horizontal und vertikal bewegt werden In Abb C 5 wurde sie beispielsweise ein St ck nach oben geschoben damit der bis jetzt konstruierte Graph vollst ndig sichtbar ist Alternativ kann man durch Klicken mit der rechten Maustaste einzelne Teilgraphen zu und sp ter wieder aufklappen Beispielsweise ist die Entweder oder Verzweigung in Abb C 4 ganz oben rechts momentan zugeklappt was durch eine gestrichelte Linie zwischen ihren beiden O Knoten visualisiert wird Eine dritte M glichkeit die Gr e eines Graphen zu beeinflussen besteht darin durch horizontales Bewegen der Maus bei gedr ckter rechter Maustaste engl drag die Schriftgr e und damit indirekt die Abmessungen s mtlicher Graphen schrittweise zu ver ndern Um irrt mlich vorgenommene nderungsoperationen leicht und schnell r ckg ngig machen zu k n nen kann man sich durch horizontales Bewegen der Maus bei gedr ckter mittlerer Maustaste quasi auf der Zeitachse hin und herbewegen und so zu jeder fr heren Version des erstellten Graphen zu r ckkehren Klickt man mit der mittleren Maustaste innerhalb des gerade markierten Teilgraphen so wird dieser nicht wie sonst kopiert da Quelle und Ziel der Kopieroperation identis
299. er Accept eine Unknown Nachricht ein so entfallen die Schritte 5 und 6 e Sollte in Schritt 2 weder eine Accept noch eine Unknown sondern eine Reject Nachricht eintref fen so darf die Aktivit t nicht gestartet werden typischerweise weil sie gerade von einem anderen Bearbeiter gestartet wurde In diesem Fall entfallen die Schritte 3 bis 7 Quasi gleichzeitig mit der Reject Nachricht erh lt das Arbeitslistenprogramm vom Interaktionsmanager auch eine Forbid 5 5 Implementierung von Workflow Geflechten 5 5 2 223 3 Aktivitat A 1 Ask Ay starten Interaktions 2 Accept Ay Arbeitslisten way Manager Programm a 2 Se 2 ee Einheit 5 Exec Ay 2 gt 4 Aktivit t A Be gestartet 6 Commit Ay al Ras S amp S 3 5 08 a Ss gt y Schritt Programme Abbildung 5 42 Starten einer Aktivit t Nachricht f r die Aktion Ap die dazu f hrt da die Aktivit t A aus der Arbeitsliste entfernt wird vgl Abb 5 41 Falls in Schritt 4 typischerweise aus demselben Grund wie oben keine Best tigung der Workflow Ausf hrungseinheit eintrifft so wird in Schritt 5 keine Exec sondern stattdessen eine Undo Nach richt an den Interaktionsmanager gesandt Die Schritte 6 und 7 entfallen in diesem Fall Sollte schlie lich in Schritt 6 typischerweise aufgrund unerwarteter Verz gerungen keine Commit sondern eine Abort Nachricht des Managers eintreff
300. er Zustand w hrend der Zustand un g ltig und somit auch kein Endzustand ist VND AN T viD AUD 1 Beim Zustands bergang geht ein Zustand b e T in einen der Zust nde oder ber je nachdem ob die vorliegende Aktion a mit der Aktion b bereinstimmt oder nicht f ra b sonst Die speziellen Zust nde T und L gehen bei jedem Zustands bergang in den Zustand L ber t l t l 1 f rallae Der initiale Zustand eines atomaren Ausdrucks x b ist gleich der Aktion b o x b 4 5 4 2 Disjunktion Ein disjunktiver Zustand d h ein Zustand einer Disjunktion x y z ist ein 3 Tupel s O I r mit einem Zustand des linken Teilausdrucks y und einem Zustand r des rechten Teilausdrucks z die als Teilzust nde des Zustands s bezeichnet werden 136 4 5 4 Kapitel 4 Implementierung von Interaktionsausdr cken Ein solcher Zustand ist genau dann ein g ltiger Zustand bzw ein Endzustand wenn er mindestens ei nen derartigen Teilzustand besitzt vyis vOvyr AS Al v r Die Zustandsiibergangsfunktion t wird quasi rekursiv auf die Teilzust nde und r angewandt 7 6 0 Ta D t4 r Ein disjunktiver Zustand kann optimiert werden wenn einer seiner Teilzust nde ung ltig ist l falls w r L r falls wd L Wenn die Teilzust nde und r beide ung ltig sind ist es gleichg ltig ob man p s oder P2 s r definiert p s Beim initialen Zustand einer Disjunktion x y z entspr
301. er unter Verwendung des zwei phasigen oder des modifizierten dreiphasigen Koordinationsprotokolls die beiden Manager N und M um die entsprechende Ausf hrungserlaubnis bitten Der letzte verbleibende Graph aus Abb 2 73 bei dem es sich ausnahmsweise nicht um eine F r alle Verzweigung handelt k nnte entweder von einem eigenen Manager verwaltet werden oder aber bei demjenigen Manager M mitangekoppelt werden der f r den Parameterwert u sono zust ndig ist Auf diese Weise hat man tats chlich das in 5 2 8 1 formulierte Ziel erreicht da die Menge der Gra phen aus Abb 2 73 mit beliebig vielen Interaktionsmanagern implementiert werden Kann von denen pro Aktionsausf hrung maximal zwei um Erlaubnis gefragt werden m ssen F r Aktionen die in kei nem der Graphen vorkommen mu nat rlich keiner der Manager gefragt werden Dies bedeutet da das resultierende Gesamtsystem im Prinzip beliebig skalierbar ist 5 2 Interaktionsmanager 5 2 9 201 5 2 9 Implementierung eines Interaktionsmanagers Die Abbildungen 5 18 bis 5 21 die im folgenden n her erl utert werden zeigen die Kernteile der Im plementierung eines Interaktionsmanagers der tiber das dreiphasige Koordinationsprotokoll mit sei nen Klienten kommuniziert F r ein detailliertes Verst ndnis des Programmcodes sind die Ausf hrun gen zur Programmiersprache CH in 4 3 3 4 4 2 und Anhang A sowie Kenntnisse der Implementie rung in 4 6 erforderlich Zum Verst ndnis
302. erden k nnen ist es sinnvoll sie unmittelbar nach oder eventuell sogar zusammen mit der Er stellung des Aktivit tenkatalogs zu spezifizieren und erst im Anschlu daran mit der Definition kon kreter Workflows fortzufahren Diese Vorgehensweise besitzt au erdem den Vorteil da bestimmte Einschr nkungen z B da ein Patient nicht gleichzeitig f r eine Untersuchung vorbereitet und aufge kl rt werden kann nicht in jeder Workflow Definition erneut formuliert werden m ssen wenn sie zu vor einmal im Rahmen einer allgemeinen Integrit tsbedingung spezifiziert wurden Das hei t da derartige Bedingungen die prim r als nter Workflow Abh ngigkeiten gedacht sind auch als zus tz liche Intra Workflow Abh ngigkeiten verwendet werden k nnen Die Abbildungen 5 32 bis 5 34 zeigen einige bereits aus 2 7 bekannte allgemeine Integrit tsbe dingungen f r die in Tab 5 31 definierten Aktivit ten 5 4 Definition von Workflow Geflechten 5 4 4 217 FR Patient FR S _Y vorbereiten VY WY u u p u C _ Patient ENEAN 4 4 aufkl ren oy 4 4 p u a P Patient Untersuchung abrufen durchf hren u D u D u u Abbildung 5 32 Integrit tsbedingung f r Patienten vgl Abb 2 62 2 7 1 2 5 5 O Fo MELSNERUNG nn es O ey en es O0 is P p u P a Abbildung 5 33 Allgemeine Kapazit tsbeschr nkung f r Untersuchungsstellen vgl Abb
303. ere stattdessen zus tzliche Synchronisationsmechanismen anbieten vgl Tab 6 5 Laut Formalismus en a a A z Disj Konj Sync Quant en Ereignisausdr Flu ausdr cke m Interaktionsausdr Tabelle 6 5 Vergleich von Ereignis Flu und Interaktionsausdr cken gt Da eine Synchronisation intuitiv ebenfalls eine konjunktive Verkn pfung von Ausdr cken darstellt vgl 3 3 1 10 wird dieser Begriff im folgenden als Oberbegriff von Konjunktion und Synchronisation verwendet 248 6 2 3 Kapitel 6 Verwandte Arbeiten Shaw80b sind diese Mechanismen in beiden F llen so m chtig da sich jede rekursiv aufz hlbare Menge sowohl mit Ereignis als auch mit Flu ausdr cken beschreiben l t d h da beide Formalis men berechnungsuniversell sind Obwohl dies f r Interaktionsausdr cke vermutlich nicht zutrifft vgl 3 5 4 gab es bei ihrer Entwicklung dennoch eine Reihe von Gr nden auf derartige Mechanismen zu verzichten und stattdessen konjunktive Verkn pfungen zu integrieren Von einem sthetischen Standpunkt aus betrachtet wirkt zumindest das Semaphorkonzept bei Flu ausdr cken das ja prozeduraler oder imperativer Natur ist in einem ansonsten deklarativen Aus drucks Formalismus fehl am Platze Wie in 6 1 1 erw hnt wurden Synchronisationsmechanismen der Ebene 3 der die hier diskutierten Ausdrucks Formalisme
304. erem Abstraktionsniveau gem Abb 2 38 dargestellt werden a oe Kopie A4 10Pf Kopie A3 Kopie A4 Offnen A4 SchlieBen A4 Kopie A3 Offnen A3 SchlieBen A3 Abbildung 2 38 Miinzkopierer mit Schablonen 2 3 4 Mehrere Kopierer 2 3 4 1 Erster Versuch Da es in einem Kopiergesch ft in der Regel nicht nur einen sondern mehrere beispielsweise zehn Kopierer gibt die grunds tzlich unabh ngig voneinander funktionieren ist man m glicherweise ge neigt die Integrit tsbedingung f r dieses Gesamtsystem mit Hilfe einer Mehrfach Verzweigung ge m Abb 2 39 zu formulieren Zur Vereinfachung wurden die beiden Nebenbedingungen aus Abb 2 38 wieder weggelassen 10 Kopie A4 10 10Pf Kopie A3 Abbildung 2 39 Kopiergesch ft mit zehn Kopierern erster Versuch Da die Aktionen in diesem Graphen jedoch nicht Kopierer spezifisch formuliert sind kann man grunds tzlich nicht unterscheiden in welchen Kopierer z B gerade eine M nze eingeworfen oder mit welchem gerade eine Kopie erstellt wird Folglich w rde der Graph beispielsweise erlauben mit Ko pierer Nr 7 eine A4 Kopie zu erstellen nachdem man in Kopierer 3 eine 10 Pfennig M nze einge worfen hat 2 3 4 2 Zweiter Versuch Um dieses unerw nschte Verhalten verhindern zu k nnen ist es erforderlich s m
305. erpretiert Da die verschiedenen Ver zweigungs und Vereinigungsknoten von Interaktionsgraphen gewisse Freiheitsgrade f r das Durch laufen von Teilgraphen vorsehen gibt es meist nicht nur einen sondern mehrere unterschiedliche Wege durch einen Graphen Dementsprechend definiert ein Interaktionsgraph im allgemeinen eine ganze Menge zul ssiger Ausf hrungsreihenfolgen und in vielen F llen ist diese Menge sogar unend lich gro 2 1 2 berblick In den grundlegenden Abschnitten 2 2 und 2 3 wird anhand zahlreicher Beispiele die zun chst noch nichts mit der konkreten Anwendungsdom ne Inter Workflow Abh ngigkeiten zu tun haben schritt weise erl utert wie Interaktionsgraphen aufgebaut sind und nach welchen Regeln sie traversiert bzw durchlaufen werden Anschlie end werden in den Abschnitten 2 4 bis 2 6 einige wichtige Detailfragen er rtert Zun chst wird ausf hrlich erl utert wie Graphen zielgerichtet durchlaufen werden welche Schwierigkeiten das hierbei zu ber cksichtigende Prinzip des deterministischen Verhaltens verursachen kann und wie die se prinzipiell berwunden werden 2 4 Anschlie end wird das Ph nomen von Sackgassen und endlosen Wegen diskutiert 2 5 und schlie lich der Unterschied zwischen punktuellen Aktionen und zeitlich ausgedehnten Aktivit ten erl utert 2 6 Das in Kapitel 1 vorgestellte Anwendungsszenario der interagierenden medizinischen Untersu chungsworkflows wird erst in 2 7 wieder aufg
306. erseits in der Lage sein die Transaktion auch im Falle eines Systemausfalls o erfolgreich abzuschlie en wenn der Interaktionsmanager dies durch Sen den einer Commit Antwort verlangt andererseits mu der Klient die Transaktion noch zur cksetzen k nnen wenn er vom Manager eine Abort Nachricht erh lt Handelt es sich bei den auszuf hrenden Aktionen um das Starten oder Beenden von Workflow schritten so werden diese von einem Workflow Management System normalerweise als echte Daten bank Transaktionen ausgef hrt die man zumeist ber eine geeignete Schnittstelle z B X OPEN XA Gray93 Dadam96 in den ben tigten Ready to commit Zustand versetzen kann F r andere Arten von Anwendungen deren Aktionsausf hrungen nichts mit Datenbank Transaktionen zu tun haben mu jeweils berpr ft werden ob und ggf wie ein derartiger Schwebezustand des Klienten erreicht werden kann in dem eine Aktion einerseits bereits ausgef hrt ist andererseits aber auch noch r ck g ngig gemacht werden kann Sollte dies prinzipiell nicht m glich sein so mu man zwangsl ufig auf das ein oder zweiphasige Koordinationsprotokoll mit den bereits erl uterten Nachteilen auswei chen 5 2 5 Abonnierte Nachrichten 5 2 5 1 Motivation Die bisher betrachteten Koordinationsprotokolle k nnen verwendet werden wenn ein Klient beab sichtigt eine bestimmte Aktion tats chlich auszuf hren Sie sind jedoch weniger gut geeignet wenn er sich nu
307. ersuchungswork flows demonstrieren indem man jeden Graphen an einen eigenen Manager bergibt so w rde man feststellen da der Uberlappungsgrad der Graphen so hoch ist da der Einsatz mehrerer Manager lediglich zu einem h heren Kommunikationsaufkommen nicht jedoch zu einer Lastverteilung zwi schen den Managern f hren w rde Insbesondere m te der Manager des obersten Graphen in jede Entscheidung miteinbezogen werden da sein Graph die Aktionen der brigen Graphen ebenfalls ent h lt Somit w re es nat rlich einfacher und effizienter die Graphen mittels einer Kopplung zu ver kn pfen und von einem einzigen Manager verwalten zu lassen Dies w rde jedoch bedeuten da s mtliche berlegungen zum Einsatz mehrerer Interaktionsmana ger f r dieses konkrete Anwendungsbeispiel umsonst gewesen w ren und Vorteile wie verbesserte Performance oder Skalierbarkeit des Gesamtsystems m glicherweise nur theoretisch vorhandene Op tionen darstellen Au erdem w rde ein zentralistischer Interaktionsmanager der im konkreten Bei spiel alle in einer Klinik anfallenden Aktivit ten vom Typ Patient vorbereiten Patient aufkl ren Pa tient abrufen und Untersuchung durchf hren verfolgen und kontrollieren m te s mtliche Bem hun gen zur Verbesserung des Durchsatzes auf WfMS Seite wie z B der Einsatz replizierter Workflow Ausf hrungseinheiten oder eine geschickte Partitionierung von Workflows Bauer97 Bauer98 Bau er99 mit einem
308. ertask Dependencies In R Agrawal S Baker D Bell eds Proc 19th Int Conf on Very Large Data Bases VLDB Dublin Ireland August 1993 1993 134 145 Baeten90 J C M Baeten W P Weijland Process Algebra Cambridge Tracts in Theoretical Com puter Science 18 Cambridge University Press Cambridge 1990 Bal89 H E Bal J G Steiner A S Tanenbaum Programming Languages for Distributed Com puting Systems ACM Computing Surveys 21 3 September 1989 261 322 Bal95 R Bal H Balsters R A de By A Bosschaart J Flokstra M van Keulen J Skowronek B Termorshuizen The TM Manual Version 2 0 Revision E Technical Report IMPRESS UT TECH T79 001 R2 University of Twente The Netherlands June 1995 Balsters91 H Balsters M M Fokkinga Subtyping Can Have a Simple Semantics Theoretical Computer Science 87 September 1991 81 96 Balsters93 H Balsters R A de By R Zicari Typed Sets as a Basis for Object Oriented Database Schemas In O M Nierstrasz ed ECOOP 93 Object Oriented Programming 7th European Conference Kaiserslautern Germany July 1993 Proceedings Lecture Notes in Computer Sci ence 707 Springer Verlag Berlin 1993 161 184 279 280 Literaturverzeichnis Bauer97 T Bauer P Dadam A Distributed Execution Environment for Large Scale Workflow Management Systems with Subnets and Server Migration In 2nd IFCIS Int Conf on Cooperati
309. erung der Sprache 293 A 3 1 Pr prozessoren 293 A 3 2 Bibliotheksmodule 293 A 3 2 1 Dynamische Sequenzen 293 A 3 2 2 Mengen 294 A 3 2 3 Multimengen 294 A 3 2 4 Offene Typen 295 A 3 2 5 Vergleichsprozeduren und operatoren 296 A 3 2 6 Partielle Funktionen 297 A 3 2 7 Initialisierungs und Terminierungsanweisungen 297 A 4 Anmerkungen 297 B Verifikation des Zustandsmodells 299 B 1 Einleitung 299 B 2 Korrektheit des einfachen Zustandsmodells 299 B 2 1 Vorbereitungen 299 B 2 1 1 Monotonie relevanter Parameterwerte 299 B 2 1 2 Invarianz relevanter Parameterwerte 300 B 2 2 Korrektheitstheorem 301 B 2 2 1 Satz 301 B 2 2 2 Beweisstruktur 301 B 2 3 Beweis f r elementare Ausdr cke 303 B 2 3 1 Atomare Ausdr cke 303 B 2 3 2 Disjunktion 304 B 2 3 3 Option 305 B 2 3 4 Konjunktion 305 B 2 3 5 Synchronisation 305 B 2 3 6 Sequentielle Komposition 308 B 2 3 7 Sequentielle Iteration 310 B 2 3 8 Parallele Komposition 312 B 2 4 Beweis f r Quantorausdr cke 314 B 2 4 1 Disjunktions Quantorausdr cke 314 B 2 4 2 Konjunktions Quantorausdr cke 316 B 2 4 3 Synchronisations Quantorausdr cke 316 B 2 4 4 Parallele Quantorausdr cke 319 B 3 Korrektheit des optimierten Zustandsmodells 322 B 3 1 Vorbereitungen 322 B 3 1 1 Lemma 322 B 3 1 2 Lemma 322 B 3 1 3 Satz 322 B 3 2 Transparenz und Korrektheitstheorem 323 B 3 2 1 Satz 323 B 3 2 2 Beweis 323 B 4 Injektive und fokussierte Ausdr cke 324 B 4 0 Vor berlegungen 324 B 4 1 Atomare Ausdr cke 32
310. erung mit Interaktionsausdriicken bei der man die urspr nglichen Beschrei bungen des Erzeuger und Verbraucherprozesses einfach konjunktiv mit der Synchronisationsbedin gung des Puffers verkn pft leiden beide anderen L sungen jedoch daran da die urspr nglichen Pro ze beschreibungen modifiziert werden m ssen Au erdem ist es schwierig wenn nicht unm glich mit Ereignis oder Flu ausdr cken allgemeine Integrit tsbedingungen f r Aktivit ten wie put und get zu formulieren deren G ltigkeit unabh ngig von der konkreten Verwendung dieser Aktivit ten ist vgl 5 4 3 Implementierung Die Existenz einer real einsetzbaren da effizienten Implementierung ist ein eindeutiger Vorzug von Interaktionsausdr cken gegen ber Ereignis und Flu ausdr cken Auf diese Weise ist es m glich Ausdr cke nicht nur zur Spezifikation eines Systems sondern auch f r seine Implementierung zu ver wenden Wie bereits in 4 8 1 1 erl utert besteht der wesentliche Unterschied zwischen Shaws Algorithmus und der in 4 6 vorgestellten AA Implementierung darin da letztere sowohl den gegebenen Aus druck als auch das konkret vorliegende Wort bzw die jeweils n chste Aktion dieses Wortes dazu verwenden kann den oft tats chlich exponentiell gro en Suchraum an M glichkeiten so weit wie m glich einzuschr nken Kombiniert mit zus tzlichen Zustandsoptimierungen 4 8 1 4 die darauf zielen m glichst jede Redundanz innerhalb eines Zustandsbau
311. es Parameters p in n 8 Formal bedeutet das da f r unendliche Verschr nkungen vgl 3 2 2 4 das Assoziativgesetz 9 U amp U gilt wen i l weQ 5 2 Interaktionsmanager 5 2 8 197 FR Patient FR S A vorbereiten VY u u p u Qa e ae ere h Na aufkl ren Xo h p u Pa u p Patient Untersuchung abrufen durchf hren u D u D u u Abbildung 5 12 Integrit tsbedingung f r Patienten N PDE I E vorbereiten u Boa u Re N Er a SF aufkl ren u h aEQ u au u wEQ Patient Untersuchung abrufen durchf hren u u u u Abbildung 5 13 F r alle Verzweigung als unendliche Sowohl als auch Verzweigung genau einem Graphen x vor Daraus folgt gem 3 4 5 2 daB die Sowohl als auch Verzweigung x X quivalent zu einer Kopplung x O x ist vgl Abb 5 14 Dies wiederum impliziert da man jeden der Graphen x von einem eigenen Interaktionsmanager verwalten lassen k nnte und das Resultat quivalent zur urspr nglichen F r alle Verzweigung x y w re Da die Graphen x au erdem paarweise disjunkt sind w re eine solche Verteilung op p timal da f r eine Aktionsausf hrung immer nur ein Manager um Erlaubnis gefragt werden m te 5 2 8 3 Realisierung Das einzige verbleibende Problem bei dieser Partitionierung des Graphen x ist die Fr
312. esem Parameter gibt vgl 3 3 3 Zweifellos sind Ausdr cke mit global ungebundenen Parametern nicht besonders sinnvoll es vereinfacht jedoch die Implementierung des Formalismus wenn man sie nicht grunds tzlich verbietet 3 3 Definition von Interaktionsausdriicken 3 3 1 73 10 Pf Kopie A4 10 Pf B Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 P 10 Pf U 10 Pf P Kopie A4 0 10 Pf U 10 Pf 0 Kopie A4 10 Pf o 10 Pf 10 Pf Kopie A4 0 10 Pf u 10 Pf 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 3 3 1 3 Sequentielle Iteration Definitionen Eine sequentielle Iteration oder Wiederholung ist ein Ausdruck 6 y vgl Abb 3 6 mit einem belie bigen Teilausdruck y der als Rumpf engl body der Iteration bezeichnet wird Abbildung 3 6 Sequentielle Iteration amp y Um den Graphen in Abb 3 6 vollst ndig zu durchlaufen mu der Teilgraph y beliebig oft evtl auch keinmal vollst ndig durchlaufen werden d h man erh lt ein vollst ndiges Wort des Ausdrucks amp y indem man beliebig viele vollst ndige Worte von y konkateniert e y P y Will man den Graphen nur teilweise durchlaufen so bricht man die Traversierung von y beim letzten Iterationsschritt vorzeitig ab d h man erh lt ein partielles Wort des Ausdrucks amp y indem man belie big vie
313. eser Vorteile besitzt die Adaption von Ausf hrungseinheiten den Nachteil da sie implementierungstechnisch wesentlich anspruchsvoller und schwieriger zu realisieren ist als die Ad aption von Arbeitslistenprogrammen Da eine Workflow Ausf hrungseinheit ein umfangreiches und komplexes Software System darstellt erscheint eine nachtr gliche Adaption kaum m glich Vielmehr mu die Existenz von Inter Workflow Abh ngigkeiten bzw eines Interaktionsmanagers der sie im plementiert bereits in der Entwurfs und Entwicklungsphase einer Ausf hrungseinheit angemessen ber cksichtigt werden 5 5 5 Beispiel Um die Ausf hrungen der Abschnitte 5 5 2 und 5 5 3 etwas plastischer werden zu lassen soll im fol genden ein typisches Ablaufszenario bestehend aus zwei Untersuchungs Workflows und der Integri t tsbedingung f r Patienten Schritt f r Schritt durchgespielt werden Obwohl das Beispiel konkret an hand adaptierter Arbeitslistenprogramme 5 5 2 vorgestellt wird kann es nahezu unver ndert auf die Adaption von Workflow Ausf hrungseinheiten 5 5 3 bertragen werden Angenommen ein Patient X klagt ber immerwiederkehrende Bauchschmerzen und Verdauungsbe schwerden und wird daher von seinem Hausarzt zur Abkl rung der Ursache in eine internistische Kli nik berwiesen Nach seiner administrativen Aufnahme wird ihm ein Bett auf einer Station zugewie sen Am n chsten Morgen kommt ein Stationsarzt zur Visite und ordnet eine Oberbauchsono
314. espeichert werden kann man auf eine Protokollierung sogar vollst ndig verzichten wenn man sicherstellt da mit receive entgegengenommene Nachrichten nicht wirklich aus dem Eingangskanal ent fernt sondern lediglich als verarbeitet markiert werden Vergleicht man diese Alternativen bez glich des Zusatzaufwands den sie im normalen Betrieb eines Interaktionsmanagers erfordern so ist Variante 4 zweifellos optimal Sie besitzt jedoch hnlich wie auch die Varianten 2 und 3 den Nachteil da der Wiederanlauf des Interaktionsmanagers nach ei nem Systemausfall umso l nger dauert je gr er die Anzahl der im Eingangskanal gespeicherten Nachrichten ist Da diese Zahl im normalen Betrieb permanent w chst erreicht man fr her oder sp ter einen Zustand in dem ein Wiederanlauf des Managers in akzeptabler Zeit nicht mehr m glich ist Um dies zu vermeiden ist es von Zeit zu Zeit erforderlich die kritischen Datenstrukturen selbst zu si chern und die bis dahin angesammelten Nachrichten aus dem Eingangskanal des Managers zu entfer nen Beim Wiederanlauf mu der Manager dann die zuletzt gesicherten Daten einlesen und anschlie Bend eventuell im Eingangskanal befindliche Nachrichten verarbeiten Anmerkung Die Korrektheit von Variante 4 basiert auf der Annahme da die im Eingangskanal ge speicherten Nachrichten beim Wiederanlauf des Interaktionsmanagers in derselben Weise verarbeitet werden wie zuvor im Normalbetrieb F r Exec oder Und
315. et 64 2 8 2 Kapitel 2 Interaktionsgraphen Verkaufen Kopierer Fa F nf P ckchen Verkaufen a Mark Zigaretten Aufstellen Verkaufen Abbauen Kopie A4 10Pf Hf __ 10Pf Kopie A3 Abbildung 2 75 Wiederholung mittels Rekursion Kopierer 2 8 2 6 Deterministisches Verhalten Kopierer Abbildung 2 76 Beliebig oft Verzweigung mittels Rekursion Wie in 2 4 3 bereits ausf hrlich erl utert wurde d rfen bei der Interpretation eines Graphen keine nichtdeterministischen Entscheidungen gef llt werden die dazu f hren da prinzipiell zul ssige We ge vorzeitig abgeschnitten werden Stattdessen m ssen in einer Konfliktsituation alle m glichen Al ternativen so lange weiterverfolgt werden bis sie sich definitiv als falsch erweisen Kapitel 3 Interaktionsausdr cke 3 1 Einleitung 3 1 1 Motivation Im vorangegangenen Kapitel wurde eine zul ssige Ausf hrungsreihenfolge eines Interaktionsgraphen anschaulich als Folge passierter Aktionen definiert die man erh lt wenn man den Graphen nach be stimmten Regeln von links nach rechts durchl uft vgl 2 1 1 Die Menge aller zul ssigen Ausf h rungsreihenfolgen erh lt man dementsprechend
316. et zur Implementierung der spezifizierten Synchronisationsbedingungen eingesetzt werden kann Zur Imple mentierung von Workflow Geflechten werden hierf r zwei alternative Ans tze Adaption von Ar beitslistenprogrammen 5 5 2 und Adaption von Workflow Ausf hrungseinheiten 5 5 3 vor gestellt und miteinander verglichen 5 5 4 Anmerkung Obwohl die Synchronisation paralleler Programme nicht zum eigentlichen Thema dieser Arbeit geh rt stellt sie doch ein interessantes und wichtiges Einsatzgebiet von Interaktionsausdr cken dar und wird deshalb kurz vorgestellt Au erdem k nnen auf diese Weise einige interessante Paralle len zwischen nebenl ufigen Programmen und Workflow Geflechten d h Systemen nebenl ufiger Workflows aufgezeigt werden die dazu f hren da beide auf hnliche Art und Weise entwickelt werden k nnen vgl 5 3 3 und 5 4 1 183 184 5 2 1 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken 5 2 Interaktionsmanager 5 2 1 Konzeption Um sicherzustellen da die durch einen Interaktionsgraphen oder ausdruck x spezifizierte Integri t tsbedingung in der realen Welt tats chlich eingehalten wird mu die Ausf hrung von Aktionen mit einer bergeordneten Instanz einem sogenannten nteraktionsmanager abgestimmt werden Dieser mu die Ausf hrung von Aktionen einerseits verfolgen d h den Graphen anhand der ausgef hrten Aktionen zielgerichtet durchlaufen vgl 2 4 2 bzw ausgeh
317. etwa dem Interaktionsausdruck amp a b entspricht als L sung der Rekursionsgleichung X a gt b gt X definieren 8 Die Bezeichnung sequentiell wird hier einfach im Sinne von nicht parallel gebraucht Im Gegensatz hierzu verbindet Hoare mit dem Begriff sequential process bestimmte zus tzliche Eigenschaften die weiter unten beschrieben werden 6 3 ProzeBalgebren 6 3 2 255 Diese Vorgehensweise l t sich auf ein System von mehreren Rekursionsgleichungen erweitern und durch die Verwendung von Indizes lassen sich sogar Systeme mit unendlich vielen Gleichungen formulieren wie z B Py produce P P produce gt P consume gt P _ f rn21 Durch dieses System von Gleichungen wird ein Proze P P definiert der die Aktionen produce und consume in beliebiger Reihenfolge akzeptiert sofern die Anzahl der consumes die Anzahl der produces nicht bersteigt Dasselbe Verhalten kann daher auch durch den Interaktionsausdruck produce consume beschrieben werden vgl 2 3 1 2 Nebenl ufigkeit Zwei beliebige Prozesse P und Q lassen sich mittels des Interaction oder Concurrency Operators zu einem neuen Proze P I Q Kombinieren Die Semantik entspricht hierbei genau dem JAA Synchro nisationsoperator Sofern die Alphabete von P und Q gleich sind m ssen alle Aktionsausf hrungen von P und O synchron erfolgen bei teilweise berlappenden Alphabeten m ssen lediglich die ge meinsamen
318. etzung 4 6 4 1 ist dies jedoch insofern problematisch als dort der Zustand f nur zusammen mit dem Wert korrekt weiterverarbeitet werden kann Dies wie derum liegt darin begr ndet da Zust nde in der Implementierung immer nur tempor r konkretisiert werden und anschlie end den ihnen zugeordneten Wert wieder vergessen vgl 4 6 3 1 Daher wird p nur f r den Spezialfall T T definiert Beim initialen Zustand eines Disjunktions Quantorausdrucks x y entspricht r dem initialen Zu stand von y und 7 der leeren Menge P a x 0 y p o 2 4 5 7 2 Konjunktions Quantorausdr cke Ein konjunktiver Quantorzustand d h ein Zustand eines Konjunktions Quantorausdrucks x y ist ein 5 Tupel s y p r T mit y p r und T wie bei einem disjunktiven Quantorzustand 144 4 5 7 Kapitel 4 Implementierung von Interaktionsausdr cken Auch die folgenden Definitionen sind hnlich wie bei der elementaren Konjunktion im wesentlichen analog bzw dual zu denen von Disjunktions Quantorausdr cken vera AVU an ar a Awd Ta s y p 7 T mit r t r TT TU n a 0 Q 0 p QT7 und T 7 t t T o x y p o y 4 5 7 3 Synchronisations Quantorausdr cke Ein Synchronisations Quantorzustand d h ein Zustand eines Synchronisations Quantorausdrucks x Oy ist ein 5 Tupel s o y p r T mit y p r und T wie bei einem disjunktiven oder kon p junktiven Quantorzu
319. etzung f r die Realisierung sortierter Sequenzen ist das in 4 4 2 3 er w hnte Konzept der Vergleichsprozeduren f r benutzerdefinierte Typen wie z B Parameter Aktio nen und Zust nde mit denen auf einfache Art und Weise eine totale Ordnung auf den Objekten eines Typs definiert wird Da diese Ordnung m glicherweise k nstlich ist weil es f r die betrach teten Objekte wie z B Mengen oder Multimengen in der realen Welt entweder nur eine partielle oder aber gar keine nat rliche Ordnung gibt spielt hierbei keine Rolle sobald man Objekte elektro nisch repr sentiert und verarbeitet kann man prinzipiell eine totale Ordnung f r sie definieren not falls als lexikographische Ordnung von Bitfolgen 180 4 8 2 Kapitel 4 Implementierung von Interaktionsausdr cken 4 8 1 4 Zustandsoptimierungen Obwohl durch die Verwendung sortierter Sequenzen bereits ein gro es Optimierungspotential des Zu standsmodells ausgesch pft ist k nnen zus tzliche Zustandsoptimierungen zu einer weiteren teils geringf gigen teils auch wesentlichen Verbesserung der Effizienz der Implementierung beitragen Der entscheidende Faktor ist hierbei in der Regel nicht da ein gro er Zustand durch einen kleine ren ersetzt wird sondern da Zust nde als gleich oder quivalent erkannt werden k nnen die anson sten sowohl mathematisch als auch implementierungstechnisch verschieden sind Beispielsweise beruht di
320. ezifizierten allgemeinen Integrit tsbedin gungen gelegentlich auch spezielle Integrit tsbedingungen die sich auf die Verwendung von Aktivit ten in ganz bestimmten Workflow Definitionen beziehen Derartige Bedingungen k nnen nat rlich 5 4 Definition von Workflow Geflechten 5 4 6 219 erst nach oder zusammen mit der Definition der entsprechenden Workflows formuliert werden und stellen daher den vierten und letzten Schritt bei der Definition eines Workflow Geflechts dar Die Abbildungen 5 37 bis 5 39 zeigen die Definition der Abk rzung Mindestabstand die eigentlich in einer globalen Makrobibliothek stehen sollte siehe 5 4 6 ihre Anwendung auf die Untersu chungsarten Endoskopie und Sonographie sowie die ebenfalls bereits bekannte spezielle Kapazit tsbe schr nkung f r die Sonographie t Untersuchung EN t durchf hren Je Mindest P u P u abstand ae CH u U gt P P abrufen P Uy Abbildung 5 37 Definition der Abk rzung Mindestabstand vgl Abb 2 71 2 7 4 4 24 Stunden Mindest abstand endo sono Abbildung 5 38 Mindestabstand zwischen Endoskopie und Sonographie vgl Abb 2 72 2 7 4 4 3 Pi 3 N Untersuchung M SZ an A P p sono P Abbildung 5 39 Spezielle Kapazit tsbeschr nkung f r die Sonographie vgl Abb 2 65 2 7 2 2 5 4 6 Zusammenfassung des Vorgehensm
321. f gerufen vgl Abb 5 19 Diese Funktion berpr ft zun chst wiederum mit Hilfe von reply ob es bislang unbeantwortete Wait Anfragen in der Liste queue gibt die jetzt positiv mit Accept beantwortet werden K nnen Ist dies der Fall R ckgabewert 1 oder 2 wird die Anfrage mit Hilfe der Anweisung delete aus der Warteliste queue entfernt Wurde dar ber hinaus ein tats chlicher Zu stands bergang durchgef hrt R ckgabewert 2 was nur der Fall ist wenn rechtzeitig eine Exec Best tigung des Klienten eingetroffen ist wird die forall Schleife durch die Anweisung reset an den Anfang der Liste queue zur ckgesetzt Dies wird so lange wiederholt bis die Liste entweder leer ist oder einmal komplett durchlaufen wurde ohne da ein weiterer Zustands bergang durchge f hrt werden Konnte Nachdem auf diese Weise m glichst viele zur ckgestellte Anfragen beantwortet wurden werden anschlie end erneut mit Hilfe von reply alle Abonnenten der Liste sub informiert f r deren Aktionen sich durch die vorangegangenen Zustands berg nge eine Status nderung ergeben hat Hier bei wird die oben erw hnte Tatsache ausgenutzt da die Kategorie m cat einer in der Liste sub ge speicherten Nachricht m jeweils den aktuellen Status der Aktion m action d h den Typ der zuletzt f r diese Aktion versandten Mitteilung enth lt Wurde noch keine Mitteilung versandt gilt m cat Forbid vgl 5 2 9 3 Da das Attribut cat einer Na
322. f r einen Ausdruck x y bzw x y Oz bzw x y p besitzt wird der Operator daher ebenfalls einer der drei Giiteklassen harmlos gutartig oder b s artig zugeordnet 162 4 7 2 Kapitel 4 Implementierung von Interaktionsausdriicken 1 Wenn der Verzweigungsgrad des Wurzelknotens konstant ist hei t der Operator harmlos 2 Wenn der Verzweigungsgrad polynomiell beschr nkt bzgl der Lange n Iwl des Wortes w ist hei t der Operator gutartig 3 Andernfalls d h wenn der Verzweigungsgrad nicht polynomiell beschr nkt ist hei t der Operator b sartig 4 7 1 4 Zusammenhang zwischen Operatoren und Ausdr cken Offensichtlich h ngt die Klassifikation eines Ausdrucks wie folgt mit der Klassifikation seiner Opera toren und Teilausdr cke zusammen 1 Ein elementarer Ausdruck x y oder x y z ist harmlos bzw gutartig wenn sowohl der Operator als auch die Teilausdriicke y und ggf z harmlos bzw gutartig sind Andernfalls d h wenn der Operator oder einer der Teilausdriicke y oder ggf z b sartig ist ist der Ausdruck b sarrig 2 Ein Quantorausdruck x y ist harmlos bzw gutartig wenn sowohl der Operator als auch P der abstrakte Zweig y und s mtliche konkretisierten Zweige Yp harmlos bzw gutartig sind Andernfalls d h wenn der Operator oder der abstrakte Zweig y oder einer der konkretisierten Zweige Yp b sartig ist ist der Ausdruck b sartig 4 7 1 5 Zustandszahl Die Z
323. fehlerhafter Grundan nahmen in fr heren Programmversionen insbesondere im Kontext von Quantoren aufgedeckt Bei spielsweise wurde ber lange Zeit die intuitiv durchaus einleuchtend erscheinende Aussage f r wahr gehalten da ein konkreter Zweig Yp eines Quantorausdrucks x y mindestens so viele Aktionen P akzeptiert wie der abstrakte Zweig y Mit Hilfe des Synchronisationsoperators lassen sich jedoch Bei spiele konstruieren f r die dies nicht zutrifft Zum anderen war es m glich die bersichtlichkeit und Verst ndlichkeit des Programms gegen ber den fr heren prototypischen Implementierungen zu verbessern die zum Teil noch direkt in C ent wickelt wurden was nicht zuletzt auf die Verwendung der Programmiersprache CH zur ckzuf hren ist mit deren Hilfe sich die mathematischen Definitionen und Konzepte wie z B variante Tupel Mengen und Multimengen sowie partielle Funktionen fast eins zu eins implementierungstechnisch umsetzen lie en 35 Im Beispiel y a o b p a p akzeptiert der Ausdruck yp a o b a a die Aktion a erst nach Ausfiihrung von b w hrend sie vom Ausdruck y bereits im ersten Schritt akzeptiert wird weil in diesem Fall der rechte Zweig der Synchronisation keine Aussage ber a macht Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken 5 1 Einleitung Nachdem Interaktionsausdr cke und graphen in den vorangegangenen Kapiteln ausf hrlich beschrie
324. folgt aus den Definitionen von x da amp x das leere Wort enth lt wenn es in allen bhy enthalten ist und umgekehrt da x das leere Wort nicht enth lt wenn es in keinem y enthalten ist Zusammengefa t folgt daraus die Behauptung da x genau dann singular ist wenn x das leere Wort enth lt 3 4 6 3 Korollar Ein paralleler Quantorausdruck x y ist genau dann erf llbar d h die Menge x seiner voll p st ndigen Worte ist nicht leer wenn sein Rumpf y singul r ist Beweis Wenn y singul r ist ist auch x singular und somit enth lt P x zumindest das leere Wort Wenn y nicht singul r ist enth lt keine der Mengen 27 das leere Wort und somit gilt nach Defini tion B x Oy wen 3 4 7 Eigenschaften bin rer Operatoren 3 4 7 1 Lemma 1 Die Mengenoperationen Vereinigung und Durchschnitt sowie Konkatenation und Verschr nkung sind assoziativ und mit Ausnahme der Konkatenation auch kommutativ Vereinigung und Durch schnitt sind au erdem idempotent Es gilt also f r U V W c amp UUV UW UU WUW UUV VUU UVU U UNV NW UN VNW UMV VNU UNU U UV W U W UOSVJ BEW U B V 8W USV aV EU 2 Konkatenation und Verschr nkung sind distributiv bzgl Vereinigung d h es gilt f r U U U5 V VV co UVM UW UWNUUV UUU VY UVUUV UB HUW UBSVYUUBOV U UU V U VUU V und entsprechend auch fiir unendliche Vereinigungen 3 Die Verschr nkung ist eingeschr nkt distr
325. fss tze und Beweise die aus Platzgr nden aus Kapitel 4 ausgelagert wur den In B 2 wird zun chst die Korrektheit des einfachen Zustandsmodells ohne Optimierungsfunk tion wie es in 4 5 definiert wurde nachgewiesen w hrend B 3 den entsprechenden Beweis f r das optimierte Modell enth lt B 4 enth lt den Beweis des Satzes ber injektive und fokussierte Aus dr cke aus 4 7 2 3 B 2 Korrektheit des einfachen Zustandsmodells B 2 1 Vorbereitungen B 2 1 1 Monotonie relevanter Parameterwerte Satz Die Menge Q x q der relevanten Parameterwerte eines zusammengesetzten Ausdrucks X Oy oder x yoz oder x QOy P bzgl eines Quantorparameters q Il ist monoton bzgl w und x d h f r jedes Teilwort w von w und jeden Teilausdruck x von x gilt Q x q lt Q x q genauer 2 0 q S Q x q f r x Oy Qy O q4 S 2 9 und Q z q S Q x q fiir x y z 2 0 g S Q x gq und QW ye q c Q x g firalleaeQ firx Ovy P Beweis 1 F r einen Wert z Q und einen Ausdruck x mit a x c a x gilt die folgende Kette von Impli kationen Q Ax q Definition der relevanten Parameterwerte eines Wortes m mT gt Jaew zr eQ hx q Definition der relevanten Parameterwerte einer Aktion Ja e w a a x a 1 u wcw und a x calx Die Notationen a w und w c w f r Aktionen a amp und Worte w w werden im folgenden mit ihrer intuitiven Bede
326. ft Verzweigung und durchl uft dort die Aktion b Die zweite Gruppe G passiert ebenfalls die Aktion a umgeht dann aber die innere Beliebig oft Verzwei gung und durchl uft sofort die Aktion d Die resultierende Ausf hrungsreihenfolge lautet somit a b a d d h die Aktion d ist zul ssig obwohl sich die Gruppe G noch im Rumpf der inneren Beliebig oft Verzweigung befindet QOHOT t elt lt Ola v3 t 1O b Oc Ot la N h eO e d 0 AS gt al S6 Abbildung 6 18 Verschachtelte Beliebig oft Verzweigungen Diese Ausf hrungsreihenfolge die sich nat rlich auch mit Hilfe der formalen Semantik von Inter aktionsausdr cken herleiten l t kann mit dem Petrinetz in Abb 6 18 jedoch nicht erzielt werden Zun chst mu die Hilfstransition t mindestens einmal schalten bevor die Transition a schalten kann Unabh ngig davon wie oft ti tats chlich schaltet befindet sich nach dem Schalten von a in der Stel le s genau eine Marke Damit nun als n chstes Transition b schalten kann mu zuvor die Hilfstransi 6 5 Petrinetze 6 5 1 267 tion f schalten was zur Folge hat da die Stelle s mindestens eine Marke enth lt die anzeigt da sich eine Gruppe im Rumpf der inneren Beliebig oft Verzweigung befindet Schaltet tr
327. ft und right bei einem bin ren Ausdruck y z mit O 0 je weils rekursiv auf die Teilausdr cke y und z d h auf Objekte vom Typ Expr die diese Teilaus dr cke repr sentieren w hrend das Attribut body auf den Rumpf y einer sequentiellen Iteration amp y f Attribute Bezeichnung Ausate cat action left right body param Atomarer Ausdruck a Atom a Sequentielle Komp y z Sequ y Z Parallele Komp y z Par y Z Ei Ze Disjunktion yoz Disj y Zz Konjunktion yez Conj y z Synchronisation yoz Sync u y z Option oy Disj y Sequentielle Iteration ay Iter y Parallele Iteration y Implementierung als y mit einem anonymen Parameter p P Disjunktions fate See el y Des u 7 a y p Paralleler Quantorausdruck y A u u 7 y P Konjunktions Quantorausdruck o y Sl z E y P Synchronisations RA O y ag gt u z y P Tabelle 4 6 Verwendung von Attributen des Typs Expr 122 4 3 3 Kapitel 4 Implementierung von Interaktionsausdriicken oder eines Quantorausdrucks y mit e 0 0 0 verweist Im Fall eines Quantoraus P drucks referenziert das Attribut param au erdem den Quantorparameter p d h ein entsprechendes Objekt vom Typ Param Eine Option sy wird als spezielle Disjunktion repr sentiert bei der der rechte Teilausdruck right fehlt vgl auch 4 5 4 3 4 3 2 Be
328. g auf beliebige Interaktionsausdr cke sowie zur L sung des Teil wortproblems w re jedoch mit moderatem Aufwand m glich Der Algorithmus an sich sollte mit Hilfe der eingef gten Kommentare selbsterkl rend sein zum Verst ndnis einiger syntaktischer Konstrukte sind jedoch die nachfolgenden Erl uterungen erforder lich 4 4 2 Erl uterungen 4 4 2 1 Dynamische Sequenzen Die Sprache CH bzw die zugeh rige Standardbibliothek unterst tzt einen generischen Typ Seq T zur Verwaltung dynamischer Sequenzen eines beliebigen Elementtyps T So wird in Abb 4 11 bei spielsweise der Typ Word als Synonym f r Seq Action d h als Sequenz von Aktionen vereinbart Typische Operationen auf derartigen Sequenzen sind vgl auch A 3 2 1 e der Zugriff auf ein bestimmtes Element mittels Index wie z B w 1 e die Bestimmung der Kardinalit t oder L nge einer Sequenz mit Hilfe des Pr fixoperators z B w e die Extraktion einer Teilfolge wie z B w 1 i die sich vom ersten bis zum i ten Element von w erstreckt 128 4 4 2 Kapitel 4 Implementierung von Interaktionsausdr cken berpruefe ob w ein vollst Wort der par Komp y z darstellt bool testpar Expr y Expr z Word w int start Verteile die Zeichen von w anhand des Bitmusters von i auf die Teilworte u und v w ist genau dann ein vollst Wort der par Komposition y z wenn es ein i gibt f r das u ein vollst Wort von y und v ein vollst Wort von
329. g eines wechselseitigen Ausschlusses Mit Hilfe einer Schablone kann dieser Abstraktionsschritt auch graphisch zum Ausdruck gebracht werden In Abb 2 35 wird mit Hilfe einer Blitz Verzweigung auf einer abstrakten Ebene spezifi ziert da sich die Ausf hrung der Zweige Kopie A4 und ffnen A4 Schlie en A4 zeitlich nicht ber 2 3 Weiterf hrende Operatoren Beispiel Miinzkopierer 2 3 3 35 Kopie A4 A 2 Offnen A4 Schlie en A4 E h Abbildung 2 35 Wechselseitiger Ausschlu mit Schablone lappen darf Wie diese allgemeine Bedingung konkret mit Hilfe elementarer Interaktionsgraphen for muliert werden kann wird separat und vor allem nur ein einziges Mal in Abb 2 36 spezifiziert Go a n Abbildung 2 36 Definition der Schablone mutex mit zwei Zweigen Syntaktisch hnelt eine Schablone einer Verzweigung Sie besitzt einen Verzweigungsknoten zur lin ken und einen Vereinigungsknoten zur rechten zwischen denen sich prinzipiell beliebig viele Teilgra phen befinden k nnen Als Verzweigungs und Vereinigungsknoten dienen Ellipsen die entweder mit dem Namen der Schablone wie z B mutex f r mutual exclusion oder einem sprechenden graphi schen Symbol im Beispiel ein Blitz beschriftet werden Konzeptuell entspricht eine Schablone einer parametrisierten Abk rzung Dementsprechend be schrei
330. g und Verifizierung derartiger Kriterien d rfte mit erheblichem Aufwand verbunden sein 3 Schlie lich stellen Sackgassen sicherlich nicht die einzige M glichkeit dar mit Interaktionsgra phen semantischen Unsinn zu formulieren den man h ufig nur mit entsprechendem Anwen dungswissen als solchen erkennen kann Beispielsweise ist der Graph in Abb 2 54 aus Anwen dungssicht ziemlich unsinnig nach einmaligem Einwurf von 5 DM werden beliebig viele Zigaret tenpackungen ausgegeben obwohl er rein formal vollkommen in Ordnung ist Aus diesem Grund ist es nicht sehr rentabel f r die Erkennung einer speziellen Teilklasse unsinniger Ausdr cke einen hohen formalen Aufwand zu treiben w hrend eine wesentlich gr ere Klasse derartiger Aus dr cke grunds tzlich nicht als solche erkannt werden Kann Dies bedeutet da die Verantwortung zur Formulierung sinnvoller Interaktionsgraphen bewu t dem jeweiligen Graphautor berlassen bleibt ebenso wie z B ein Programmierer oder ein Workflow Mo dellierer daf r verantwortlich ist die ihm zur Verf gung stehende Programmier oder Workflowbe schreibungs Sprache sinnvoll einzusetzen F nf PA Packchen Mark lt Zigaretten Abbildung 2 54 Semantisch unsinniger Graph Bei der Entwicklung der formalen Semantik mu das Problem der Sackgassen jedoch ebenso wie das im folgenden vorgestellte Ph nomen der endlosen Wege in geeigneter
331. ge s Kopie der Sequenz s s t e Element e am Ende der Sequenz s anf gen s e Element e aus der Sequenz s entfernen seq el en Sequenz mit den Elementen el en forall e lt lt s Iteration ber alle Elemente e der Sequenz s Tabelle A 1 Sequenz Operationen Auswahl A 3 2 2 Mengen Mengen vom Typ Set Elem werden als sortierte duplikatfreie Sequenzen implementiert die sich rein syntaktisch nicht von gew hnlichen Sequenzen unterscheiden d h Set Elem ist lediglich ein Synonym f r Seq Elem vgl auch 4 6 2 3 Daher unterst tzen Sequenzen auch die in Tab A 2 genannten Mengenoperationen Anmerkung Das Komplement s einer Menge s wird implementierungstechnisch durch einen einfa chen Indikator engl flag realisiert Operationen auf einer Komplementmenge s werden nach den blichen mathematischen Regeln auf Operationen auf der Ausgangsmenge s zur ckgef hrt Bei spielsweise liefert der Elementtest e lt lt s genau das entgegengesetzte Resultat des Tests e lt lt s Die Operationen s e Tab A 1 und s e Tab A 2 unterscheiden sich dadurch da erstere das Element e am Ende der Sequenz s anf gt w hrend letztere e zur Menge s hinzuf gt d h sor tiert in die Sequenz s einf gt F r die L schoperation s e und die Iterationsanweisung forall e lt lt s die in beiden Tabellen aufgef hrt sind ist es jedoch unerheblich ob die Sequenz s dupli katfrei und sortiert ist d h ei
332. gen w rde 5 2 5 2 Beschreibung Um das daraus resultierende Kommunikationsaufkommen und die unn tige Belastung des Managers zu vermeiden sollte der Interaktionsmanager seinen Klienten anbieten Mitteilungen ber Status n derungen bestimmter Aktionen zu abonnieren Tabelle 5 8 und Abb 5 9 zeigen die hierf r ben tigten Nachrichtentypen und ihr Zusammenspiel Wenn ein Klient daran interessiert ist stets ber den ak tuellen Status einer Aktion a informiert zu werden so bringt er dies durch eine entsprechende 7 Da der Graph im Gegensatz zu fr heren Graphen nur die zwischen Klient und Manager ausgetauschten Nachrichten darstellt ist er f r Klient und Manager identisch 192 5 2 6 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Bestellung Mitteilungen K ndigung Permit Subscribe Forbid Cancel Tabelle 5 8 Nachrichtentypen beim Abonnementprotokoll Subscribe x Permit Forbid O0 Permit O Cancel A Come gt Abbildung 5 9 Ablauf des Abonnementprotokolls Subscribe Nachricht an den Interaktionsmanager zum Ausdruck In der Folge erh lt er vom Manager unaufgefordert immer dann eine Permit bzw Forbid Nachricht wenn sich der Status der Aktion von unzul ssig auf zul ssig bzw umgekehrt ge ndert hat Ist die Aktion zum Zeitpunkt der Subscribe Nachricht gerade zul ssig wird dar ber hinaus sofort eine erste Permit
333. genannt 7 2 1 Weiterf hrende Konzepte 7 2 1 1 Ausnahmebehandlung Am Ende von Kapitel 5 5 5 5 wurde bereits angedeutet da Interaktionsausdr cke in der Praxis nicht immer wie urspr nglich geplant ausgef hrt werden k nnen weil beispielsweise durch den vor zeitigen Abbruch oder durch dynamische nderungen eines Workflows Kuhn95ab Dadam95 Rei chert97b Reichert98ab bestimmte Aktivit ten nicht wie erwartet zur Ausf hrung kommen Damit in einem solchen Fall nicht die gesamte weitere Ausf hrung eines Workflow Geflechts durch einen nicht mehr erf llbaren Interaktionsausdruck blockiert wird mu es m glich sein die Ausf hrung eines Ausdrucks bei Bedarf kontrolliert abzubrechen und an einer definierten Stelle wiederaufzusetzen Ver gleicht man Interaktionsausdr cke mit der Grammatik eines Parsers z B in einem Compiler so k nnte man eine solche M glichkeit mit den Error Recovery Mechanismen des Parsers vergleichen die es ihm im Falle eines Syntaxfehlers erlauben die Abarbeitung bestimmter Regeln abzubrechen und an einer anderen Stelle der Grammatik fortzufahren Im Rahmen dieser Arbeit wurden derartige Konzepte bereits ansatzweise verfolgt indem Interak tionsausdr cke um zwei Operatoren lt und zur Behandlung von Ausnahmen erweitert wurden die gewisse hnlichkeiten mit den Interrupts von CSP besitzen vgl 6 3 2 1 Ein Ausdruck Z1 amp y gt Z bzw ein entsprechender Graph bestehend aus einem Rumpf y und zwei
334. genden Implikationen beachtet w D x gt x 3 Siehe 3 4 6 3 gt yist singular Siehe 3 4 6 2 gt ve My f ralleweQ G ltigkeit des Substitutionsprinzips F r ein Wort w amp einen Quantorparameter q Il und einen bzgl x und q irrelevanten Parameter wert z x q des Wortes w gilt 0 0 y p A mit A gt 0 o siehe oben i l o Yg P Ai mit Aj Aa 6 o siehe oben z Substitutionsprinzip f r yp bzgl des Parameters q oy p A mit an lonb 0 u AF Boi Ayr r EP l i l Invarianz relevanter Parameterwerte B 2 1 2 o oD Ai mit Aj 2 o vzv oi Lu e AD Lo 0 37 p 272 I 1 Ersetze y durch Lu AS Y 9 2 0 p i l fo PAG mit Ay fol o 2 I l Struktur der Folgezust nde des Ausdrucks yj x4 p p 0 X Giles 322 B 3 1 Anhang B Verifikation des Zustandsmodells B 3 Korrektheit des optimierten Zustandsmodells B 3 1 Vorbereitungen B 3 1 1 Lemma Wenn zwei Zust nde s und quivalent sind so sind auch ihre transformierten Zust nde s 7 s und 7 f r jede Aktion a quivalent Beweis F r ein Wort w gilt v 5 y t s V tw Zay s 8 7 z s 7 s f r u v c E Induktion nach der L nge von v V tayv 9 quivalenz von s und yhta 3 Wie oben vu
335. glich spezifiziert wie ein bestimmter Geldbetrag durch eine Folge einzuwerfender M nzen entrichtet werden kann Ein n tzlicher Automat sollte allerdings nicht nur M nzen konsumieren sondern anschlie end auch eine bestimmte Ware ausgeben Beispiels weise w rde man von einem Zigarettenautomaten erwarten da er nach Einwurf von 5 DM die Ent nahme eines P ckchens Zigaretten erlaubt Abbildung 2 20 zeigt dies f r einige fiktive Zigarettenmar ken 2 2 5 1 Wiederholung Ein realistischer Zigarettenautomat sollte die Folge F nf Mark P ckchen Zigaretten allerdings nicht nur einmal sondern idealerweise beliebig oft durchlaufen k nnen Au erdem soll beschrieben wer den da der Automat zuerst einmal aufgestellt werden mu und eines Tages m glicherweise auch wieder abgebaut wird Abbildung 2 21 zeigt einen Interaktionsgraphen der die zul ssigen Ausf hrungsreihenfolgen be schreibt Nach Passieren der Aktion Aufstellen trifft man auf eine Wiederholung die wie folgt durch laufen wird e Am linken O Knoten kann man hnlich wie bei einer Entweder oder Verzweigung entweder nach unten abbiegen und den Rumpf der Wiederholung d h den Teilgraphen zwischen den beiden Knoten umgehen oder aber nach rechts weitergehen und den Rumpf durchlaufen gt Der Verzicht auf Rekursion stellt eine bewu te Einschr nkung gegen ber Syntaxdiagrammen bzw kontextfreien Grammatiken dar vgl 2 8 2 5 2 2 Grundlegende Operatoren Beispiel
336. graphie sowie eine Darmspiegelung Endoskopie an d h er startet einen Sonographie und einen Endoskopie Workflow f r den Patienten X vgl Abb 5 35 und 5 36 5 4 4 Da die initialen Aktivit ten anordnen X sono und anordnen X endo dieser Workflows in der Integrit tsbedingung f r Patienten Abb 5 32 5 4 3 nicht vorkommen k nnen sie ohne R cksprache mit dem Interaktionsmanager sofort ausgef hrt werden Dasselbe gilt f r die anschlie end aus Sicht des WfMSs zul ssigen Aktivi t ten vereinbaren X sono und vereinbaren X endo Die aus Sicht des WfMSs ebenfalls zul ssigen Aktivit ten vorbereiten X sono vorbereiten X endo und aufkl ren X endo kommen jedoch im betrachteten Interaktionsgraphen vor und d rfen daher nur ausgef hrt bzw zur Ausf hrung angeboten werden wenn dies vom Interaktions manager genehmigt wird Da ihre Startaktionen im initialen Zustand des Graphen alle zul ssig sind werden entsprechende Subscribe Anfragen der Arbeitslistenprogramme jeweils mit Permit Nachrich ten beantwortet so da die Aktivit ten tats chlich in den Arbeitslisten der autorisierten Benutzer er scheinen Abbildung 5 49 zeigt den momentanen Verarbeitungszustand Eine graue Marke in der linken H lfte einer Aktivit t A des Graphen zeigt an da die Startaktion A dieser Aktivit t im momentanen Zu stand des Interaktionsgraphen zul ssig ist d h da A aus Sicht des Interaktionsmanagers gestartet werden darf 21 Au
337. gsform f r Interaktionsausdr cke ebenso wie Syntaxdia gramme lediglich eine graphische Repr sentation kontextfreier Grammatiken darstellen 3 1 2 berblick Nach einer kurzen Einf hrung bzw Rekapitulation der ben tigten Grundlagen 3 2 werden Inter aktionsausdr cke in 3 3 definiert und ihre Semantik mit Hilfe formaler Sprachen spezifiziert Bei der Vorstellung der einzelnen Operatoren werden jeweils Parallelen zu den entsprechenden graphi schen Operatoren aus Kapitel 2 gezogen und konkrete Beispiele der Abschnitte 2 2 2 3 und 2 7 zur Il lustration verwendet Im Anschlu daran werden in 3 4 zahlreiche formale Eigenschaften wie z B Kommutativit t Assoziativit t und Idempotenz bestimmter Operatoren formuliert und verifiziert Zum Abschlu des Kapitels werden Interaktionsausdr cke in 3 5 bez glich ihrer Ausdrucksm chtigkeit untersucht und mit den beiden prominentesten Vertretern der Chomsky Hierarchie regul ren Ausdr cken und kon textfreien Grammatiken verglichen 65 66 3 2 1 Kapitel 3 Interaktionsausdriicke 3 2 Grundbegriffe und Bezeichnungen 3 2 1 Abstrakte und konkrete Aktionen 3 2 1 1 Grundmengen Gegeben seien die folgenden Grundmengen e eine Menge A von Aktionsnamen wie z B Kopie A4 oder Patient vorbereiten e eine Menge II von formalen Parametern wie z B k p oder u e eine unendliche Menge Q von Parameterwerten wie z B X5 Meier oder sono Typischerweise sind diese drei Me
338. gsprogrammierers nicht zum Sprachumfang von CH und wurden h chstens zur Implementierung von Bibliotheksmodu len verwendet e Die gesamte Funktionalit t des C bzw C Pr prozessors also insbesondere die Anweisungen define und include Wie bereits erw hnt werden diese primitiven Konzepte durch inline Funktionen bzw das Modul konzept wesentlich besser unterst tzt e Zeiger und Vektoren Durch die konsequente Verwendung von Sequenzen und offenen Typen kann auf diese ber hmt ber chtigten Konzepte vollst ndig verzichtet werden 1 In der aktuellen Sprachversion ist sie allerdings noch nicht implementiert Wie bereits erw hnt kann sie prinzipiell auf Bibliotheksebene oder aber durch den Einsatz eines General purpose Garbage collectors wie z B Boehm88 realisiert werden Jones96 Da der Spei cherhunger der AA Implementierung relativ gering ist stellt das Fehlen der M llabfuhr bisher kein echtes Problem dar A 3 Implementierung der Sprache A 3 2 293 e Klassen Vererbung und virtuelle Funktionen Offene Typen die man ggf um das Konzept von Subtypen erweitern k nnte gepaart mit partiellen Funktionen bieten mindestens dieselbe Ausdrucksm chtigkeit wie diese objektorientierten Konzep te k nnen aber zum Teil flexibler verwendet werden und unterst tzen eine st rker mathematisch funktional orientierte Sichtweise e Der widersinnige Typ void Funktionen die keine Parameter besitzen werden
339. gung daher asymmetrisch w re vgl z B Abb C 7 Die Bildschirmausdrucke wurden nichtsdestotrotz unter Microsoft Windows erzeugt Anhang D Wichtige Begriffe und Symbole Der vorliegende Anhang enth lt die folgenden tabellarischen bersichten Tabelle D 1 fa t die in Kapitel 3 eingef hrten Begriffe und Symbole zusammen die zur Definition der formalen Semantik von Interaktionsausdr cken ben tigt werden In der dritten Spalte werden ggf Variablennamen genannt mit denen die Elemente der Menge in der ersten Spalte normalerwei se bezeichnet werden Die vierte Spalte gibt jeweils die Nummer des Abschnitts an in dem das Symbol und der zugeh rig Begriff eingef hrt werden Tabelle D 2 enth lt entsprechend die in 4 5 und teilweise auch in Anhang B eingef hrten Begriffe und Symbole die zur Definition der operationalen Semantik ben tigt werden Symbol Bedeutung Variablen Abschnitt A Menge aller Aktionsnamen do bo II Menge aller Quantorparameter p q 3 2 1 1 Q Menge aller konkreten Werte Q T O Tr Menge aller abstrakten Aktionen 3 2 1 2 X Menge aller konkreten Aktionen a 3 2 1 3 aj an Wort Folge der Aktionen a a X leeres Wort lwl L nge des Wortes w Taa Dia Menge aller Worte u V W uv Konkatenation der Worte u und v UV Konkatenation der Wortmengen U und V _ 3222 U n fache Konkatenation der Wortmenge U mit sich selbst U sequentielle H lle de
340. h ftsprozesse vorausgehen die die Erstellung eines solchen Katalogs i d R miteinschlie t 5 4 3 Schritt 2 Spezifikation allgemeiner Integrit tsbedingungen Nach diesem ersten grundlegenden Schritt k nnte man prinzipiell mit der Definition einzelner Work flows in einer geeigneten Workflow Beschreibungssprache fortfahren und abschlie end die zugeh rigen Inter Workflow Abh ngigkeiten mit Hilfe von Interaktionsausdr cken oder graphen spezifi zieren Bei der Formulierung von Inter Workflow Abhangigkeiten stellt man jedoch fest da sich diese prinzipiell in zwei Klassen einteilen lassen Zum einen gibt es allgemeine Integrit tsbedingungen wie z B die in 2 7 1 2 entwickelte Integrit tsbedingung f r Patienten die einfach in der Natur der ein zelnen Aktivit ten begr ndet liegen und nichts mit ihrer Verwendung in konkreten Workflow Defini tionen zu tun haben Derartige Bedingungen k nnte man in gewisser Weise sogar als Teil des Aktivi t tenkatalogs auffassen ebenso wie Integrit tsbedingungen in Datenbanken einen Teil der Schemade finition darstellen Reuter87 Date98 Auf der anderen Seite gibt es spezielle Integrit tsbedingungen wie z B die in 2 7 4 3 genannte Reihenfolgebeziehung zwischen Sonographie und Endoskopie die sich auf die Verwendung von Aktivit ten in ganz bestimmten Workflow Definitionen beziehen Da allgemeine Integrit tsbedingungen unabh ngig von konkreten Workflow Definitionen formu liert w
341. h lt deren Zust nde und r beide g ltige Zust nde bzw Endzust nde sind v s V Dayr s V ADA gr l r eA Il r eA Da eine Aktion a potentiell von jedem der beiden Teilausdr cke verarbeitet werden kann wird beim Zustands bergang jede Alternative r durch zwei neue Alternativen r und r mit l t D und r 7 r ersetzt t s A mit A 2 0 r Lr eA Uf L c Lr A Ein paralleler Kompositions Zustand kann optimiert werden indem Alternativen mit ungiiltigen Teil zust nden eliminiert werden pi s 0 mit Lr eAlyWaye Der initiale Zustand einer parallelen Komposition x y z besitzt genau eine Alternative die aus den initialen Zust nden der Teilausdr cke y und z besteht o x 8 A mit A o y o z 4 5 4 9 Parallele Iteration Da eine parallele Iteration wie bereits erw hnt 4 3 1 durch einen parallelen Quantorausdruck er setzt wird kann auf eine separate operationale Definition dieses Operators verzichtet werden 4 5 5 Definitionen f r Multiplikatorausdr cke Multiplikatorausdr cke k nnen grunds tzlich gem ihrer Definition auf elementare Ausdr cke zu r ckgef hrt werden vgl 3 3 2 1 so da eine separate operationale Definition prinzipiell ebenfalls entbehrlich ist Da die hieraus resultierende Implementierung aber insbesondere im Kontext paralle n ler Multiplikatoren vergleichsweise ineffizient w re ist es ratsa
342. h Ausf hrung n n 2 2 5 3 sequentieller Multiplikator y 3 3 2 1 Beliebig oft Verzweigung 2 3 1 3 parallele Iteration y 3 3 1 7 n n Mehrfach Verzweigung 2 2 3 3 paralleler Multiplikator y 3 3 2 1 F r alle Verzweigung 2 3 4 4 paralleler Ouantor y 3 3 3 1 p p F r ein Verzweigung 2 3 4 6 Disjunktions Quantor O y amp 3 3 3 1 p p Abk rzung Beispiel F nf 2 2 4 4 Makro Mark 3 3 2 2 ne y Schablone Beispiel 2 3 3 Makro 1 3 3 2 2 z Tabelle 2 74 Operatoren von Interaktionsgraphen 2 8 Zusammenfassung 2 8 2 63 bieten oder manche Operatoren z B F r alle Verzweigungen nur auf der u ersten Ebene zulas sen vgl auch 6 2 5 3 2 8 2 2 Abstraktionsmechanismen Abstraktion ist ganz allgemein ein unerl liches konzeptuelles Hilfsmittel um Komplexe Problemstel lungen bew ltigen zu k nnen Abk rzungen und Schablonen stellen konkrete Abstraktionsmechanis men dar die es erlauben komplexe Interaktionsgraphen schrittweise entweder von innen nach au en oder von au en nach innen zu entwickeln in berschaubare Teilgraphen zu zerlegen und diese in ver schiedenen Kontexten wiederzuverwenden Au erdem ist es m glich zwischen abstrakten Konzepten wie z B wechselseitiger Ausschlu und konkreten Implementierungen der Konzepte z B Wieder holung einer Entweder oder Verzweigung vgl 2 3 3 1 zu trennen wobei letztere bei Bedarf vo
343. h der Anordnung einer bestimmten Untersuchung wie z B einer Sonographie oder einer En doskopie durch den Stationsarzt mu zun chst mit der leistungserbringenden Stelle z B Innere Me dizin ein Termin vereinbart werden Gleichzeitig kann der Patient f r die Untersuchung vorbereitet und falls erforderlich ber m gliche Risiken und Nebenwirkungen aufgekl rt werden Nach Ab schlu dieser Vorbereitungen Kann der Patient zur Untersuchung abgerufen und die eigentliche Unter suchung durchgef hrt werden Im Anschlu daran erstellt der untersuchende Arzt einen Befund der vom Stationsarzt der die Untersuchung angeordnet hatte gelesen wird Je nach Untersuchungsart wird neben einem sofort erstellten Kurzbefund zus tzlich ein ausf hrlicher Langbefund erstellt Termin vereinbaren Untersuchung anordnen Patient Untersuchung Befund Befund abrufen durchf hren erstellen lesen Patient vorbereiten Abbildung 1 1 Workflow Sonographische Untersuchung Die Pfeile zwischen den einzelnen Arbeitsschritten die als Kreise dargestellt sind entsprechen Kontrollflu kanten die die Ausf hrungsreihenfolge der Schritte im Sinne einer partiellen Ordnung festlegen Ein bestimmter Schritt darf ausgef hrt werden sobald alle seine Vorg ngerschritte beendet 1 1 Workflow Management 1 1 6 3 Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen Untersuchung Patie
344. he Darstellung 52 2 7 Interagierende medizinische Untersuchungsworkflows 53 2 7 1 Integrit tsbedingungen f r Patienten 53 2 7 1 1 Bedingung f r einen Patienten 53 2 7 1 2 Bedingung f r alle Patienten 53 2 7 1 3 Korrekte Verwendung von F r ein Verzweigungen 54 2 7 2 Integrit tsbedingungen f r Untersuchungsstellen 55 2 7 2 1 Allgemeine Kapazit tsbeschr nkung 55 2 7 2 2 Spezielle Kapazit tsbeschr nkungen 55 2 7 2 3 Kopplung parametrisierter Graphen 56 2 7 3 Begrenzung von Warteschlangen 57 2 7 4 Reihenfolgen und temporale Aspekte 58 2 7 4 1 Erste Formulierung 58 2 7 4 2 Pseudo Aktivit ten 58 2 7 4 3 Verbesserte Formulierung 59 2 7 4 4 Definition als Abk rzung 59 2 7 5 Zusammenfassung der Bedingungen 60 2 8 Zusammenfassung 60 2 8 1 Operatoren 60 2 8 2 Prinzipien 60 2 8 2 1 Orthogonalit t 60 2 8 2 2 Abstraktionsmechanismen 63 2 8 2 3 Erweiterbarkeit 63 2 8 2 4 Modulare Kombination 63 2 8 2 5 Explizite Iterationen 63 2 8 2 6 Deterministisches Verhalten 64 3 Interaktionsausdr cke 65 3 1 Einleitung 65 3 1 1 Motivation 65 3 1 2 berblick 65 3 2 Grundbegriffe und Bezeichnungen 66 3 2 1 Abstrakte und konkrete Aktionen 66 3 2 1 1 Grundmengen 66 3 2 1 2 Abstrakte Aktionen 66 3 2 1 3 Konkrete Aktionen 66 3 2 1 4 Anmerkungen 66 3 2 2 Worte Wortmengen und zugeh rige Operationen 67 3 2 2 1 Worte 67 3 2 2 2 Konkatenation und sequentielle H lle 67 3 2 2 3 Verschr nkung und parallele H lle 67 3 2 2 4 Unendliche Verschr n
345. heiden sich per Definition von allen brigen Objekten ihres Typs 148 4 6 2 Kapitel 4 Implementierung von Interaktionsausdriicken In hnlicher Weise wird das Zustandspr dikat g das dar ber Auskunft gibt ob ein Zustand ein End zustand ist durch eine partielle Funktion final repr sentiert die die Zustandskategorie s cat d h eigentlich s expr cat als Auswahlkriterium verwendet Endzustands Indikator eines Zustands s der Kategorie part bool final State s if s cat Die optimierte Zustands bergangsfunktion schlie lich die eine Kombination der einfachen Zu stands bergangsfunktion r und der Optimierungsfunktion p darstellt wird durch eine partielle Funk tion trans repr sentiert die ebenfalls anhand der Zustandskategorie s cat verzweigt Optimierter Zustands bergang f r einen Zustand s der Kategorie part State trans State s Action a if s cat Auf eine explizite Implementierung des Pr dikats y das anzeigt ob ein Zustand g ltig ist kann in ei nem optimierten Zustandsmodell verzichtet werden da ung ltige Zust nde aufgrund der Optimierung p3 s L fallsy s 1 vgl 4 5 3 2 stets durch den quivalenten Zustand bzw nil ersetzt werden 4 6 2 Implementierung elementarer Ausdriicke 4 6 2 1 Atomare Ausdriicke Abbildung 4 14 zeigt die implementierungstechnische Umsetzung der mathematischen Definitionen aus 4 5 4 1 f r atomare Ausdr cke Um die hierbei
346. her geleitet werden Gem 3 4 5 2 gilt zun chst yY S ay S Oy Aufgrund der Monotonie vgl 3 4 2 3 und der Idempotenz der sequentiellen Iteration folgt dar aus die Ungleichungskette ay S Qays QAY Qy die gem 3 4 2 3 die Gleichung Guy Gy impliziert 3 Wendet man denselben Satz 3 4 5 2 auf den Ausdruck amp y an so erh lt man die Unglei chungskette ay lt y lt aay ey aus der die Gleichung vay ay folgt 4 Nach demselben Prinzip lassen sich auch die verbleibenden Behauptungen herleiten 3 4 9 Eigenschaften von Quantoren 3 4 9 1 Satz Quantoren k nnen sowohl mit gleichartigen Quantoren als auch mit gleichartigen bin ren Operatoren vertauscht werden d h es gilt f r O 0 OO y 00 p q 4 P 9c o2 9 gt o P 3 4 Eigenschaften von Interaktionsausdriicken 3 4 9 103 3 4 9 2 Beweis Disjunktion und Konjunktion F r die Booleschen Operatoren und folgen die Behauptungen unmittelbar aus der Kommutativi t t der Mengenoperationen Vereinigung und Durchschnitt Parallele Komposition Partielle Worte F r ein Wort w X gilt die folgende Kette von Implikationen rop glo aor a go br p j BEER gt JmeN o 0 0 we OH Ors i m gt 3JmeN 0 0 EQ W W L we Ow i 1 wo Q Moria U DY f r i 1 m neIN Bere gt JmeN o 0 EQ W Wn X N Mm EIN 211 E My ED
347. hl der Program mieraufwand nicht zu vernachl ssigen ist entscheidet man sich in vielen Anwendungen daf r die vom WfMS mitgelieferten Standardprogramme durch eigene Programme zu ersetzen die sich besser in den Gesamtkontext einer Arbeitsplatz Oberfl che einf gen oder eine flexiblere auf die jeweilige Anwendung zugeschnittene Gestaltung und Pr sentation der Arbeitslisten erlauben So k nnte man im Beispiel der medizinischen Untersuchungsworkflows Aktivit ten jeweils nach dem Patienten gruppie ren auf den sie sich beziehen damit z B mehrere Vorbereitungsma nahmen f r denselben Patienten in der Arbeitsliste unmittelbar hintereinander stehen oder virtuell zu einer einzigen Aktivit t ver schmolzen werden Sofern aufgrund derartiger berlegungen ohnehin spezielle Arbeitslistenpro gramme entwickelt werden k nnen die in 5 5 2 beschriebenen Adaptionen hierbei ohne gro e M he ber cksichtigt werden Ein wesentlicher Nachteil dieses Ansatzes besteht jedoch darin da Workflow bergreifende Inte grit tsbedingungen am eigentlichen Workflow Management System vorbei implementiert werden Da die zentrale Workflow Ausf hrungseinheit nichts von der Existenz des Interaktionsmanagers wei kann sie selbst nichts zur Einhaltung der Integrit tsbedingungen beitragen Das bedeutet da selbst Systemadministratoren nur die adaptierten Arbeitslistenprogramme zur Kommunikation mit dem WfMS verwenden sollten da bei Verwendung der Standardp
348. hl dies durch den Ausdruck x gerade verhindert werden soll Man stelle sich vor da die beiden Graphen durch eine Kopplung verkn pft sind so da gemeinsame Meta Aktionen gleichzeitig durch laufen werden m ssen Da es sich bei diesen gerade um die ausgetauschten Nachrichten handelt stellen diese die Synchronisationspunkte zwischen Klient und Manager dar Die Zahlen verdeutlichen die zeitliche Abfolge der einzelnen Schritte 3 Irgendwann k nnte u U auch nie sein wenn der Ausdruck x keinen Zustand erreicht in dem die Aktion a zul ssig ist 5 2 Interaktionsmanager 5 2 3 187 Anmerkung In Anwendungen wie z B der Synchronisation paralleler Programme in denen der tat s chliche Ausf hrungszeitpunkt einer Aktion d h in diesem Zusammenhang das Starten oder Be enden einer Prozedur vgl 5 3 2 1 nicht unmittelbar me oder beobachtbar ist kann man aber u U vereinbaren da eine Aktion formal genau dann ausgef hrt wird wenn der Interaktionsmanager den entsprechenden Zustands bergang durchf hrt Da beispielsweise die erste Instruktion einer an gefragten Prozedur in Wirklichkeit etwas sp ter ausgef hrt wird spielt hier keine Rolle da eine sol che Verz gerung genausogut durch eine vor bergehende Suspendierung des Prozesses durch das Be triebssystem bedingt sein k nnte F r derartige Anwendungen ist das einphasige Koordinationsproto koll also vollkommen ausreichend 5 2 3 Zweiphasiges Koor
349. hlangen in entsprechenden Abk rzungen verbergen 60 2 8 2 Kapitel 2 Interaktionsgraphen Untersuchung lt P A t a u Mindest P u p u abstand CH Ch P Patient abrufen P u U Un Abbildung 2 71 Mindestabstand als parametrisierte Abk rzung 24 Stunden Mindest abstand endo sono Abbildung 2 72 Anwendung der Abk rzung Mindestabstand 2 7 5 Zusammenfassung der Bedingungen F r einen reibungslosen Ablauf in einer Klinik ist es erforderlich da alle Bedingungen die in diesem Abschnitt durch Interaktionsgraphen spezifiziert wurden und vermutlich noch weitere gleichzeitig eingehalten werden Hierf r m ssen die einzelnen Graphen prinzipiell mit Hilfe einer Kopplung ver kn pft werden damit eine Aktivit t dann und nur dann ausgef hrt werden darf wenn sie in allen Gra phen in denen sie auftritt gleichzeitig durchlaufen werden kann vgl 2 3 2 2 d h wenn alle Be dingungen die eine Aussage ber diese Aktivit t machen ihre Ausf hrung erlauben Aus Gr nden der besseren bersichtlichkeit und Handhabbarkeit wird eine Menge unverkn pfter Graphen vgl Abb 2 73 jedoch implizit mittels einer Kopplung verkn pft so da man auf eine explizite Verkniip fung der einzelnen Graphen verzichten kann 2 8 Zusammenfassung 2 8 1 Operatoren Tabelle 2 74 zeigt alle Operatoren von Interaktionsgraphen zusammen
350. hre Ausf hrung mu jedoch von einem zentralen Interaktionsmanager verfolgt und kontrolliert werden der daf r sorgt da zu jedem Zeitpunkt nur zul ssige Aktionen ausgef hrt werden vgl 5 2 1 und 5 5 Somit werden auch hier Aktionen immer in einer bestimmten Reihenfolge ausge f hrt 2 6 3 Anmerkungen In der Literatur wird f r T tigkeiten ohne zeitliche Ausdehnung und berlappung gelegentlich auch der Begriff Ereignis engl event verwendet Klein91 Attie93 Tang95 Aus sprachlichen Gr nden wird in dieser Arbeit jedoch die Bezeichnung Aktion engl action bevorzugt Ereignisse ereignen sich d h sie k nnen von Natur aus weder ausgef hrt werden noch k nnen sie zul ssig oder unzul s sig sein sie treten einfach ein Im Gegensatz hierzu k nnen und m ssen Aktionen explizit ausge f hrt werden indem jemand in Aktion tritt und diese Ausf hrung kann zul ssig sein oder nicht Der Begriff Aktivit t engl activity f r eine zeitlich ausgedehnte T tigkeit ist hingegen allgemein blich und wird z B auch von der Workflow Management Coalition WfMC als Bezeichnung f r die elementaren Arbeitsschritte eines Workflows verwendet WfMC96 Die formale Reduktion zeitlich ausgedehnter und berlappender Aktivit ten auf punktuelle sequen tiell ausgef hrte Aktionen ist eine gebr uchliche Methode die es erlaubt das Verhalten nebenl ufiger Systeme mit Hilfe formaler Sprachen Spuren engl traces 0 4 zu beschreiben Gu
351. hrer Elemente nicht mehr m glich ist 3 3 Definition von Interaktionsausdr cken 3 3 3 87 x D x V x a x O Uy Uy U aly elx Yop ebr Oy QS abel Qe abe aly Qe QTO abe Tabelle 3 25 Definition der Mengen x x und a x f r Quantorausdr cke 3 3 3 2 Erl uterungen Die Vereinigung bzw der Durchschnitt unendlich vieler Mengen ist wie blich als UU w 3 eQ weuU wen bzw MU w VoeQ wet Q E definiert w hrend die Verschr nkung amp U unendlich vieler Mengen in 3 2 2 4 eingef hrt wurde wen Gem dieser Definition sind die Mengen x und x f r x y genau dann verschieden von P der leeren Menge wenn die Mengen By bzw Hy f r alle Werte Q das leere Wort enthal ten F r die Mengen Phy ist dies gem 3 4 4 grunds tzlich der Fall d h es gilt stets B x F r die Mengen 2 wird in 3 4 6 ein syntaktisches Kriterium f r den Ausdruck y genannt das dar ber entscheidet ob das leere Wort in allen diesen Mengen enthalten ist oder nicht Die Mengen rhyg werden analog zu 3 3 1 10 als hye a x ay fiir e Q definiert 3 3 3 3 Anmerkungen F r praktische Anwendungen sind vor allem Disjunktions Quantorausdr cke oder F r ein Verzwei gungen y und parallele Quantorausdr cke oder F r alle Verzweigungen y relevant w hrend p P Synchronisations und Konjunk
352. ht hat vgl z B 6 2 3 4 2 8 2 5 Explizite Iterationen W rde man rekursive oder zyklische Abk rzungsdefinitionen erlauben so k nnte man prinzipiell auf Wiederholungen und Beliebig oft Verzweigungen verzichten da diese mittels Rekursionsgleichungen auf Sequenzen bzw Sowohl als auch Verzweigungen zur ckgef hrt werden k nnen vgl auch 3 4 10 Zur Illustration dieser Aussage betrachte man die Graphen in Abb 2 75 und 2 76 die qui valent zu Abb 2 21 2 2 5 1 bzw Abb 2 30 2 3 1 4 sind Allerdings zeigen bereits diese beiden einfachen Beispiele da Graphen mit expliziten Iterationen sowohl kompakter als auch leichter ver st ndlich sind weil sie direkt ohne Umweg ber eine Rekursionsgleichung die intendierte Se mantik zum Ausdruck bringen Ausgehend von diesem Standpunkt kann man f r die allermeisten Anwendungen vollst ndig auf Rekursion verzichten da inh rent rekursive Probleme d h Bedingungen die sich nur mit Hilfe von Rekursionsgleichungen beschreiben lassen u erst selten sind vgl auch 3 5 4 Aus diesem Grund und da die Hinzunahme von Rekursion die ohnehin schon umfangreiche und komplexe formale Be handlung und Implementierung von Interaktionsgraphen weiter verkomplizieren w rde sind rekur sive Definitionen von Interaktionsgraphen bewu t ausgeschlossen u Wiederholung und Beliebig oft Verzweigung werden in Kapitel 3 auch als sequentielle bzw parallele Iteration bezeichn
353. ibutiv bzgl Durchschnitt d h fiir A B CE mit AN B und U U c A gilt U A Uz B U B NU B und entsprechend auch f r unendliche Durchschnitte 100 3 4 7 Kapitel 3 Interaktionsausdriicke Beweis Auch diese Aussagen mit Ausnahme der letzten geh ren entweder zum mathematischen Allgemein wissen oder folgen unmittelbar aus den Definitionen der Operationen Zu 3 Die Inklusion 1 S c r S folgt unmittelbar aus den Definitionen F r ein Wort w r S gibt es wegen AN B eine eindeutige Zerlegung von w in Teilworte u A und v e B mitweu v Wegen w U B und w U B mu das Wort u sowohl in U als auch in U enthalten sein woraus die Inklusion r S c 1 S folgt 3 4 7 2 Satz Alle bin ren Operatoren von Interaktionsausdr cken sind assoziativ und mit Ausnahme der sequen tiellen Komposition auch kommutativ d h es gilt xoy oz xo yo2z firoe 0 6 0 e y z zoy f r O O Die Booleschen Operatoren einschlie lich der Synchronisation sind au erdem idempotent d h es gilt yoy y firoe o 0 e Beweis Da die Alphabete der zu vergleichenden Ausdr cke jeweils gleich sind folgen die meisten Behaup tungen unmittelbar aus der Assoziativit t und ggf Kommutativit t und Idempotenz der Mengenopera tionen Vereinigung und Durchschnitt sowie Konkatenation und Verschr nkung vgl Lemma F r die Assoziativit t der sequentiellen Komposition wird au erdem di
354. ich 3 3 1 9 x Xo x und x sind klassisch quivalent X Xo x und x sind isoliert quivalent 3 4 1 1 X Xp x und x sind umfassend quivalent x GX x akzeptiert h chstens die Worte die x akzeptiert x SX x ist restriktiver als x 3 4 2 2 x lt Xp x ist echt restriktiver als x Tabelle D 3 Relationen zwischen Ausdriicken Symbol Bedeutung Abschnitt s Tiefe H he des Zustandsbaums s 4 7 1 1 B s Verzweigungsgrad des Zustandsbaums s 4 7 1 2 y s Gr e Anzahl der Knoten des Zustandsbaums s 4 7 1 2 n x Zustandszahl Anzahl der verschiedenen Zust nde des Ausdrucks x 4 7 1 5 Tabelle D 4 Symbole und Begriffe der Komplexit tsbetrachtungen Klasse Abschnitt singul re Ausdr cke 3 4 6 1 regul re Ausdr cke 3 5 2 quasi regul re Ausdr cke 4 7 2 1 vollst ndig quantifizierte Ausdr cke homogen quantifizierte Ausdr cke 4 7 2 2 injektive Ausdriicke initial fokussierte Ausdriicke 4 7 2 3 terminal fokussierte Ausdriicke harmlose Ausdriicke gutartige Ausdr cke 4 7 1 2 b sartige Ausdr cke Tabelle D 5 Teilklassen von Ausdr cken 344 Anhang D Wichtige Begriffe und Symbole
355. ick und Ausblick Kapitel 2 Kapitel 5 Kapitel 6 Interaktions Praktischer Einsatz Verwandte graphen von Interaktionsausdr Arbeiten h Kapitel 3 Kapitel 4 Interaktionsausdr cke Formale Def u Eig Implementierung von Interaktionsausdr cken Anhang A Anhang B Anhang C Anhang D Die Programmier Verifikation des Ein syntaxgest Editor Wichtige Begriffe sprache CH Zustandsmodells f r Interaktionsgraphen und Symbole Abbildung 1 8 Gliederung der Arbeit 2 Um Interaktionsgraphen und ihre Einsatzm glichkeiten praxisorientiert kennenzulernen und ein Gef hl f r ihre M glichkeiten und Grenzen zu entwickeln sollte man die obersten beiden Ebenen durchlaufen Bei diesem Rundgang durch die Arbeit bei dem man den formalen Unterbau ein schlie lich der Implementierung von Interaktionsausdr cken einfach als gegeben annimmt bleiben dem Leser formale Details und Strapazen gr tenteils erspart ohne da dadurch das Gesamtver st ndnis wesentlich beeintr chtigt wird 3 Ist man dar ber hinaus an formalen oder implementierungstechnischen Details interessiert oder will man sich explizit von deren Korrektheit berzeugen so sollte man bis auf die dritte Ebene hin absteigen d h die Arbeit vollst ndig lesen Die in der Graphik erw hnten Anh nge A und B geh ren logisch zu Kapitel 4 wurden aber aufgrund ihres Umfangs extrahiert um den inhaltlichen Flu diese
356. ie Grammatik 110 3 5 3 Kapitel 3 Interaktionsausdriicke x NUMI x OP xiL x Ry IL x R unterscheidet sich rein 4uBerlich nur geringfiigig von der vorigen Allerdings wird die rekursive For mulierung bzw der Stack eines Push down Automaten der typischerweise zur Implementierung kontextfreier Grammatiken verwendet wird jetzt nicht nur zum Z hlen von Klammern gebraucht sondern auch zur Gew hrleistung ihrer konsistenten Verwendung Demzufolge leistet der Interak tionsgraph in Abb 3 31 nicht das gew nschte weil er beispielsweise den inkonsistenten arithmeti schen Ausdruck L L3 NUM R R akzeptieren w rde Tats chlich erscheint es schwierig wenn nicht unm glich die konsistente Verwendung der beiden Klammerarten mit Hilfe eines Interaktions ausdrucks zu erzwingen Pi Ry L NUM R gt oa 2 O NUM C of L2 R2 L NUM R L OP L NUM R O ET RHO OHR O Abbildung 3 31 Fehlerhafter Interaktionsgraph zur L sung des Klammerproblems 3 5 3 4 Unvergleichbarkeit von Interaktionsausdriicken und kontextfreien Grammatiken Betrachtet man die im folgenden Kapitel entwickelte operationale Semantik und Implementierung von Interaktionsausdr cken etwas genauer so wird dieser Eindruck best tigt Die in 4 5 definierten Zu st
357. ie Menge seiner vollst ndigen Worte im folgenden mit B x bezeichnet separat und unab h ngig voneinander zu definieren 4 Als Merkhilfe psi steht f r partielle phi f r vollst ndige Worte 70 3 3 1 Kapitel 3 Interaktionsausdriicke 3 3 Definition von Interaktionsausdriicken Ein Interaktionsausdruck oder kurz Ausdruck ist e ein elementarer Ausdruck vgl 3 3 1 ein Multiplikatorausdruck vgl 3 3 2 1 oder e ein Quantorausdruck vgl 3 3 3 Die Menge bezeichne die Menge aller Interaktionsausdr cke 3 3 1 Elementare Ausdriicke Ein elementarer Ausdruck ist e ein atomarer Ausdruck vgl 3 3 1 1 eine sequentielle Komposition vgl 3 3 1 2 eine sequentielle Iteration vgl 3 3 1 3 eine Disjunktion vgl 3 3 1 4 eine Option vgl 3 3 1 5 eine parallele Komposition vgl 3 3 1 6 eine parallele Iteration vgl 3 3 1 7 eine Konjunktion vgl 3 3 1 8 oder eine Synchronisation vgl 3 3 1 10 3 3 1 1 Atomare Ausdr cke Definitionen Ein atomarer Ausdruck ist eine abstrakte Aktion a ay a a I mit dem Namen a A und den optionalen Argumenten aj a HI U Q vgl Abb 3 1 do Alis An Abbildung 3 1 Atomarer Ausdruck ay a an Um diesen Graphen vollst ndig von links nach rechts zu durchlaufen mu die Aktion a mit den Ar gumenten a a genau einmal passiert werden Da das Durchlauf
358. iebigen Stellen eines Ausdrucks stehen k nnen und wie folgt interpretiert werden Ein Wort wird nur akzeptiert wenn jedem Wait Symbol mindestens ein zugeh riges Signal Symbol o vorausgeht Aus Gr nden der Bequemlichkeit gibt es au erdem 6 2 Erweiterte regul re Ausdr cke 6 2 3 247 spezielle Klammersymbole und mit denen direkt ohne explizite Verwendung von Semapho ren kritische Regionen markiert werden k nnen Neben diesen Synchronisationsmechanismen gibt es in Flu ausdr cken noch einen sogenannten Cyclic Operator mit dem im Gegensatz zur gew hnlichen sequentiellen Iteration explizit unend liche Iterationen beschrieben werden k nnen Da dieser Operator aber sinnvollerweise nur auf u er ster Ebene angewandt wird und dort nahezu quivalent zum einfachen Iterationsoperator ist ist sein wirklicher praktischer Nutzen sehr fraglich Seine Verwendung hat daher eher dokumentierenden Charakter 6 2 3 2 Definition der Semantik Die Semantik von Ereignis und Flu ausdr cken wird ebenfalls durch einen traditionellen sprachtheo retischen Ansatz definiert Shaw78 Da der oben erw hnte Cyclic Operator jedoch auch auf Teilaus dr cke angewandt werden kann mu durchweg mit potentiell unendlichen Worten gearbeitet werden Die speziellen Synchronisationssymbole c und werden zun chst wie normale Symbole behandelt Anschlie end werden aus der resultierenden Sprache diejenigen Worte entfernt die di
359. ign Including Path Pascal User Manual ACM SIGPLAN Notices 15 9 September 1980 13 24 Casati96 F Casati S Ceri B Pernici G Pozzi Semantic WorkFlow Interoperability In P Apers M Bouzeghoub G Gardarin eds Advances in Database Technology EDBT 96 Sth Int Conf on Extending Database Technology Avignon France March 1996 Proceedings Lec ture Notes in Computer Science 1057 Springer Verlag Berlin 1996 443 462 Chen76 P P Chen The Entity Relationship Model Toward a Unified View of Data ACM Transactions on Database Systems 1 1 March 1976 9 36 Clark78 K L Clark Negation as Failure In H Gallaire J Minker eds Logic and Data Bases Plenum Press New York 1978 293 322 Cleaveland90 R Cleaveland J Parrow B Steffen The Concurrency Workbench In J Sifakis ed Automatic Verification Methods for Finite State Systems International Workshop Grenoble France June 1989 Proceedings Lecture Notes in Computer Science 407 Springer Verlag Berlin 1990 24 37 Clocksin94 W F Clocksin C S Mellish Programming in Prolog Fourth Edition Springer Ver lag Berlin 1994 Coleman94 D Coleman P Arnold S Bodoff C Dollin H Gilchrist F Hayes P Jeremaes Ob ject Oriented Development The Fusion Method Prentice Hall Englewood Cliffs NJ 1994 Courtois71 P J Courtois F Heymans D L Parnas Concurrent Control with Reade
360. in Abb 2 52 darstellt f r die das oben beschriebene Transformationsverfahren nicht terminieren w rde 2 4 Zielgerichtetes Durchlaufen von Graphen 2 4 4 45 m Kopie A4 10 Pf O 10 Pf Kopie A3 Abbildung 2 51 Komfort M nzkopierer vgl Abb 2 30 2 3 1 4 x n Kopie A4 n pa n 0 10Pf Kopie A3 0 n Abbildung 2 52 Beliebig oft Verzweigung als unendliche Entweder oder Verzweigung 2 4 3 5 Res mee Aus all diesen Gr nden k nnen und d rfen Interaktionsgraphen Konflikte enthalten die beim zielge richteten Durchlaufen dazu f hren da das interpretierende Programm mehrere Alternativen parallel verfolgen mu um ein deterministisches Systemverhalten zu gew hrleisten das die Souver nit t des Benutzers d h sein Recht jederzeit eine beliebige momentan zul ssige Aktion auszuf hren re spektiert 2 4 4 Komplexit tsbetrachtungen 2 4 4 1 Exponentielle Komplexit t Versucht man den Graphen in Abb 2 51 nach diesem Prinzip zu durchlaufen so stellt man allerdings fest da die Anzahl der parallel zu verfolgenden Alternativen sehr gro werden kann 0 Zun chst stellt sich die Frage in wieviele Gruppen man die Gesamtmannschaft am linken Kno ten aufteilen soll Die Beantwortung dieser Frage l t sich allerdings dadurch aufschieben da man nicht a priori eine bestimmte Anzahl von Gruppen festlegt sondern G
361. in jedem Verarbeitungsschritt zuf llig das n chste Element einer der beiden Sequenzen Aktionsfolgen Autoschlangen oder Kartenstapel zur resultierenden Sequenz hinzugefiigt wird vgl Abb 2 8 Da das Schema nach dem die beiden gege 2 2 Grundlegende Operatoren Beispiel M nzautomaten 2 2 3 19 xX X2 X3 X4 Ks x ES Abbildung 2 8 Beispiel einer Verschr nkung X1 X2 y X3 ya y3 X4 X5 y Yo y3 benen Sequenzen abgearbeitet werden nicht exakt vorgegeben ist sind prinzipiell verschiedene Ver mischungen m glich Da beide Sequenzen jedoch von links nach rechts abgearbeitet werden bleibt ihre relative Ordnung in jedem Fall erhalten d h ein Element a das in einer der gegebenen Sequen zen vor einem anderen Element a steht wird auch in jeder resultierenden Sequenz vor a stehen 2 2 2 5 Variante 4 Eine vierte L sung des 3 DM Problems basiert im Prinzip auf der Gleichung 3 2 1 d h auf der Beobachtung da man sowohl 2 DM als auch 1 DM einwerfen mu um einen Betrag von 3 DM zu entrichten Da die Teilprobleme 2 DM einwerfen vgl Abb 2 3 und 1 DM einwerfen trivial be reits gel st sind und die zugeh rigen Aktionen offensichtlich unabh ngig voneinander ausgef hrt werden k nnen kann man die Graphen der beiden Teilprobleme einfach mittels einer Sowohl als auch Verzweigu
362. inal fokussiert sind sind ihre initialen Zust nde o y und o z keine Endzust nde vgl die entsprechende Argumentation im Kontext der sequentiellen Komposition in B 4 2 1 Somit ist auch der initiale Zustand o x O o y o z kein Endzu stand Folglich sind alle Endzust nde des Ausdrucks x von der Gestalt B oder C und somit aufgrund der terminalen Fokussierung von y und z gleich T 328 B 4 6 Anhang B Verifikation des Zustandsmodells B 4 5 Option Die Behauptung f r die Option x y folgt aus der Beziehung sy y O e vgl 4 5 4 3 und der entsprechenden Aussage f r Disjunktionen unter Ber cksichtigung der Tatsache da der leere Aus druck e offensichtlich injektiv initial fokussiert und disjunkt zu jedem Ausdruck y ist Man beachte in diesem Zusammenhang jedoch da aus der terminalen Fokussierung des Teilaus drucks y nicht etwa die terminale Fokussierung der Option x sy folgt obwohl der leere Aus druck e ebenfalls terminal fokussiert ist Dieser scheinbare Widerspruch liegt darin begr ndet da die entsprechende Aussage f r Disjunktionen nur f r gew hnliche Teilausdr cke y z zutrifft deren initialer Zustand verschieden vom Zustand T ist vgl B 4 4 3 B 4 6 Disjunktions Quantorausdr cke B 4 6 1 Injektivit t und initiale Fokussierung F r den initialen Zustand eines Disjunktions Quantorausdrucks x y gilt p o x 0 y p o Aufgrund der vollst ndigen und homogenen Q
363. inationsprotokoll mit mehreren Interaktionsmanagern grunds tz lich ungeeignet Mit Hilfe abonnierter Nachrichten ist ein Klient aber dennoch in der Lage passiv d h ohne busy wait auf einen Zeitpunkt zu warten zu dem eine bestimmte Aktion mit gro er Wahrscheinlichkeit von allen betroffenen Managern akzeptiert wird vgl 5 2 5 Da das zweiphasige Koordinationsprotokoll im wesentlichen einem Zwei Phasen Commit Protokoll entspricht bei dem der Klient die Rolle des Commit Koordinators spielt vgl Fu note in 5 2 3 2 196 5 2 8 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken k nnte es f r den Einsatz mehrerer Interaktionsmanager unver ndert bernommen werden Aller dings sollten die Klienten in diesem Fall sehr zuverl ssige Programme sein deren Wichtigkeit mit der eines Interaktionsmanagers vergleichbar ist damit die in 5 2 3 2 diskutierten Probleme vernachl s sigt werden k nnen Handelt es sich beispielsweise nicht um Arbeitslistenprogramme sondern um zentrale Ausf hrungseinheiten eines oder mehrerer Workflow Management Systeme so stellt das zweiphasige Protokoll aufgrund seiner einfacheren Struktur eine echte Alternative zum oben beschrie benen dreiphasigen Protokoll dar 5 2 8 Partitionierung von Graphen 5 2 8 1 Motivation Wollte man den Einsatz mehrerer Interaktionsmanager konkret am Beispiel der in 2 7 entwickelten und in Abb 2 73 zusammengefa ten Integrit tsbedingungen f r medizinische Unt
364. inaus initial und oder der Teilausdruck z terminal fokussiert so be sitzt auch der Gesamtausdruck x diese Eigenschaften Insbesondere ist eine Sequenz a a von paarweise verschiedenen Aktionen aj a in jektiv und beidseitig fokussiert 3 Eine sequentielle Iteration x amp y ist injektiv wenn ihr Rumpf y injektiv und beidseitig fokussiert ist 4 Eine Disjunktion x y z ist injektiv und initial fokussiert wenn die Teilausdr cke y und z diese Eigenschaften besitzen und ihre Alphabete disjunkt sind Sind beide Teilausdriicke dariiber hinaus terminal fokussiert so besitzt auch der Gesamtausdruck diese Eigenschaft 5 Eine Option x wy ist injektiv und initial fokussiert wenn ihr Rumpf y diese Eigenschaften be sitzt 6 Ein Disjunktions Quantorausdruck x y ist injektiv und initial fokussiert wenn alle konkreti P sierten Zweige Yp diese Eigenschaften besitzen und der Ausdruck vollst ndig und homogen quan tifiziert ist Sind alle konkretisierten Zweige Yp dar ber hinaus terminal fokussiert so besitzt auch der Ge samtausdruck diese Eigenschaft Da der Beweis dieses Satzes vergleichsweise umfangreich ist wurde er in Anhang B B 4 ausgela gert Anmerkung Anders als die Quasi Regularit t 4 7 2 1 und die vollst ndige oder homogene Quantifizierung 4 7 2 2 h ngt die Injektivit t und Fokussierung eines Ausdrucks u U von konkreten Parameterbe legungen ab Beispielsweise ist der Au
365. ind nicht grunds tzlich harmlos Als Gegenbeispiele betrachte man die Ausdr cke y y mt y aa und z a b und 09 mit z2 a ab sowie Worte w a a der L nge n In beiden Beispielen w chst die Kardinalit t der Zustands se e q 31 menge R bzw T tats chlich linear bez glich n 4 7 3 3 Parallele Komposition Satz 1 Der parallele Kompositionsoperator ist potentiell b sartig d h es gibt Ausdr cke x y z f r die der Verzweigungsgrad ihrer Zust nde 6 x exponentiell mit der L nge n Iwl des Wortes w w chst 3 Aus Platzgr nden werden derartige Gegenbeispiele im folgenden lediglich erw hnt und nicht n her erl utert 4 7 Komplexit tsbetrachtungen 4 7 3 169 2 Wenn die Teilausdr cke y und z quasi regul r sind oder wenn ihre Alphabete disjunkt sind ist der parallele Kompositionsoperator jedoch harmlos Beweis 1 Der initiale Zustand o x A einer parallelen Komposition x y z mit A o y o z besitzt den Verzweigungsgrad 2 Beim einfachen Zustands bergang 7 s eines Zu stands s A wird jede Alternative r A durch zwei neue Alternativen r und J r mit l 7 1 und r 7 r ersetzt d h die Kardinalit t der Menge A des transformierten Zu stands s A ist potentiell doppelt so gro wie die Kardinalit t von A Nach n Zustandsiiber g ngen besitzt die Menge A daher potentiell eine Kardinalit t von 2 und der zugeh rige Zustand
366. indem eines seiner Papierf cher ge ffnet Papier des entsprechenden Formats eingelegt und anschlie end das Papierfach wieder ge schlossen wird Um nun z B zu beschreiben da bei ge ffnetem A4 Papierfach keine A4 Kopie er stellt werden kann mu spezifiziert werden da sich die Aktionen bzw Aktionsfolgen Kopie A4 und ffnen A4 Schlie en A4 wechselseitig ausschlie en d h da zu jedem Zeitpunkt h chstens eine dieser Folgen durchlaufen werden Kann Abbildung 2 31 zeigt einen entsprechenden Graphen Die Entweder oder Verzweigung im Rumpf der Wiederholung darf beliebig oft durchlaufen werden bei jedem Durchlauf mu man sich aber f r einen der beiden Zweige entscheiden d h man kann zu jedem Zeitpunkt entweder Kopieren oder aber Papier nachf llen Kopie A4 Offnen A4 SchlieBen A4 Abbildung 2 31 Integrit tsbedingung fiir Papierformat A4 Man beachte da dieser Graph nur die zur Formulierung der gew nschten Integrit tsbedingung unbe dingt erforderlichen Aktionen Kopie A4 ffnen A4 und Schlie en A4 enth lt ber die konkreten T tigkeiten zwischen dem ffnen und Schlie en des Papierfachs jedoch keine Aussage macht weil sie an dieser Stelle nicht relevant sind Abgesehen davon K nnte es tats chlich vorkommen da die Ak tionen ffnenA4 und Schlie en A4 unmittelbar nacheinander ausgef hrt werden wenn man nach dem ffnen des Papierfachs feststellt da noch gen g
367. indestens ben tigten zwei Zweige aufweist Um konkret dem wechselseitigen Ausschlu in Abb C 6 einen dritten Zweig gem Abb C 1 hin zuzuf gen markiert man z B das Muster der F r ein Verzweigung in der dritten Zeile links und be wegt den Mauszeiger in die bis jetzt konstruierte Blitzverzweigung Klickt man nun mit der mittle ren Maustaste so wird der markierte Teilgraph dem wechselseitigen Ausschlu als oberster 1 mitt lerer 2 oder unterster Zweig 3 hinzugef gt je nachdem ob sich der Mauszeiger oberhalb 1 zwi schen 2 oder unterhalb 3 der beiden vorhandenen Zweige befindet Als optische Orientierungshilfe leuchtet hierbei abh ngig von der Mausposition entweder der oberste Zweig 1 beide Zweige 2 oder der untere Zweig 3 rot auf Abbildung C 7 zeigt den resultierenden Graphen wenn man sich f r Variante 3 entscheidet Anmerkung Bewegt man jetzt den Mauszeiger innerhalb des wechselseitigen Ausschlusses auf und ab so leuchtet entweder der obere der drei Zweige 1 die oberen beiden Zweige 2 die unteren bei C 2 Benutzerschnittstelle C 2 6 335 Bee oD n 0o O O 4 Abbildung C 7 Wechselseitiger Ausschlu mit drei Zweigen den Zweige 3 oder der unterste Zweig 4 rot auf Dementsprechend w rde eine weitere Kopierope ration einen neuen Zweig ganz oben 1 zwischen den oberen beiden Zweigen 2 zwischen den un teren beiden Zweigen 3 oder ganz unten 4 einf gen usw C 2
368. inem Wiederholungsfaktor n IN so erh lt man eine Mehrfach Ausf hrung vgl Abb 2 24 die besagt da der Teilgraph x ge nau n mal nacheinander durchlaufen werden mu Der Graph in Abb 2 25 beschreibt daher einen Zi garettenautomaten der genau 100 P ckchen Zigaretten ausgeben kann n n X Abbildung 2 24 Mehrfach Ausf hrung 100 y Fiinf Packchen X 100 Mark Zigaretten Abbildung 2 25 Zigarettenautomat mit 100 P ckchen Zigaretten Anmerkung Obwohl der Knotentyp der zun chst zur Darstellung der Entweder oder Verzweigung eingef hrt wurde auch zur Formulierung der Wiederholung der Eventuell Verzweigung und der Mehrfach Ausf hrung verwendet wird darf hieraus nicht gefolgert werden da er zur Konstruktion beliebiger Verzweigungsstrukturen wie man sie beispielsweise von Syntax oder Flu diagrammen kennt verwendet werden darf Vielmehr besitzen Interaktionsgraphen stets eine symmetrische Blockstruktur in der es zu jedem Verzweigungsknoten einen zugeh rigen Vereinigungsknoten gibt und umgekehrt Insbesondere besitzt jeder Graph genau einen Eingang ganz links und einen Aus gang ganz rechts 2 2 6 Zusammenfassung Tabelle 2 26 fa t die bisher eingef hrten Operatoren von Interaktionsgraphen noch einmal zusammen bevor im nachfolgenden Abschnitt 2 3 anhand eines verwandten Beispiels weiterf hrende Opera toren vorgestellt werden
369. iner zul ssigen Ereignisfolge h chstens einmal auftreten Attie93 Faase96 Im Anwendungskontext erweiterter Transaktionsmodelle wo typische Ereignisse im Starten Beenden und Abbrechen von Teiltransaktionen bestehen die im Rahmen einer Gesamttransaktion nur einmal ausgef hrt werden mag dies ausreichend sein Zur Synchronisation von Workflows bei denen so Wie in 2 6 3 erl utert entspricht die Bezeichnung Ereignis engl event hier nicht unbedingt der nat rlichen Bedeutung dieses Begriffs 6 5 Petrinetze 261 wohl einzelne Aktivit ten als auch ganze Arbeitsabl ufe wiederholt ausgef hrt werden k nnen sind Operatoren zur Beschreibung von Iterationen jedoch essentiell vgl die Beispiele in 2 7 bzw 5 4 Ein weiterer wesentlicher Unterschied besteht darin da die Ausf hrung einer Aktion bzw Aktivi t t eines Workflows normalerweise nicht erzwungen werden kann was die Anzahl der Strategien zur Einhaltung der Bedingungen u U erheblich einschr nkt Insbesondere kann eine Existenzabh ngig keit e e nur dadurch eingehalten werden da das Eintreten von e solange verz gert d h verbo ten wird bis e tats chlich eingetreten ist d h e e stellt dann faktisch eine Reihenfolgebezie hung e gt e dar die sich nur geringf gig von der Bedingung e lt e unterscheidet Letztere erlaubt das Eintreten von e auch dann wenn e nicht mehr eintreten kann Schlie lich sollte zur Vermeidung von term
370. inologischen Mi verst ndnissen erw hnt werden da eine task im Sinne von Attie93 Tang95 nicht etwa einem Workflow sondern vielmehr einer einzel nen Aktivit t bzw einem Workflow Schritt entspricht Demzufolge sind mit inter task dependencies Abh ngigkeiten zwischen Workflowschritten also prim r Intra statt Inter Workflow Abh ngigkeiten gemeint 6 4 2 Weitere Ans tze Aus der gro en F lle anderer erweiterter Transaktionsmodelle sollen im folgenden lediglich zwei An s tze herausgegriffen werden bei denen grunds tzlich hnliche Ideen zur Beschreibung von Reihen folgebeziehungen wie bei der Entwicklung von Interaktionsausdr cken verfolgt wurden In Rastogi93 werden regul re Ausdr cke zur Spezifikation unzul ssiger Ausf hrungsreihenfolgen von Teiltransaktionen verwendet w hrend in Nodine92 LR O Grammatiken zur Beschreibung zu l ssiger und unzul ssiger Reihenfolgen eingesetzt werden Obwohl die Formulierung zul ssiger Aus f hrungsreihenfolgen aus Anwendersicht grunds tzlich einfacher und nat rlicher zu sein scheint mag die Entscheidung im ersten Ansatz stattdessen unzul ssige Reihenfolgen zu spezifizieren durch spezielle anwendungsorientierte Rahmenbedingungen begr ndet sein Die Spezifikation beider Arten von Reihenfolgen im zweiten Ansatz erscheint jedoch redundant insbesondere da sich die exempla risch vorgestellten negativen Grammatiken zur Spezifikation unzul ssiger Reihenfolgen jeweils
371. inzi pien in 5 5 5 anhand eines praktischen Beispiels illustriert 5 5 2 Adaption von Arbeitslistenprogrammen 5 5 2 1 Aktualisierung von Arbeitslisten Wie in 1 1 2 erl utert wurde verwaltet ein Workflow Management System genauer die zentrale Ausf hrungseinheit vgl Abb 1 3 1 1 6 f r jeden Benutzer eine Arbeitsliste in die alle Aktivit ten eingetragen werden die von diesem Bearbeiter aus Sicht des WfMSs momentan ausgef hrt wer den d rfen Mit Hilfe eines Arbeitslistenprogramms ist ein Benutzer einerseits in der Lage seine Ar beitsliste einzusehen und andererseits darin angebotene Aktivit ten zu starten W rde ein Arbeitsli stenprogramm bestimmte Aktivit ten bei der Anzeige einer Arbeitsliste unterdr cken oder ihre Aus f hrung verweigern so w re der Benutzer nicht in der Lage diese Aktivit ten zu starten Diese Tatsache kann unmittelbar dazu verwendet werden Workflow bergreifende Integrit tsbedin gungen zu implementieren ohne in die Definition der zu synchronisierenden Workflows oder in die zentrale Ausf hrungseinheit des WfMSs eingreifen zu m ssen Hierzu wird die Funktionsweise eines Arbeitslistenprogramms wie folgt modifiziert vgl Abb 5 41 F r jede Aktivit t A die aus Sicht der Workflow Ausf hrungseinheit momentan zul ssig ist 1 wird eine Subscribe N achricht f r die Startaktion A an den zust ndigen Interaktionsmanager ge schickt 2 Erst wenn vom Manager eine Permit Nachricht
372. ion Gegeben sei eine parallele Komposition x y z mit beliebigen Teilausdr cken y und z f r die das Korrektheitstheorem gem der globalen Induktionsvoraussetzung bereits bewiesen sei Definition Die Menge A der parallelen Zerlegungen des Wortes w sei definiert als A u v E E xE weu yv A enth lt also alle Wortpaare u v deren Verschr nkung u v das Wort w enth lt B 2 Korrektheit des einfachen Zustandsmodells B 2 3 313 Lemma F r ein Wort w w a gilt A a 9 2 7 AS u F a a F AS Beweis AD u v e L x L weu v Da w mit a endet mu entweder u oder v mit a enden d h es gilt entweder u a Jmitwe v oder v f a mit w u F a a v w Eev o u ta weu s Definition von A a a v v AZ o u F a u 0 AR Struktur der Folgezust nde F r die Folgezust nde des Ausdrucks x gilt o x Ap mit Ay lo y 0 lu v AR und somit x va Ay G und mS V gr A A EcA u v eA Beweis 1 F r das leere Wort w gilt wegen AN 0 0 A4 oy oy 2 o y o z Daher stimmt die Behauptung f r o x genau mit der Definition des initialen Zustands o x ber ein 2 F r ein Wort w w a gilt 0 8 Ty O G x Induktionsvoraussetzung f r o x ta lO A mit A Ay og y o5 z 7 AP Definition de
373. ion Gegeben sei eine sequentielle Komposition x y z mit beliebigen Teilausdriicken y und z fiir die das Korrektheitstheorem gem der globalen Induktionsvoraussetzung bereits bewiesen sei Definition Die Menge A y der sequentiellen Reste des Wortes w bzgl des Teilausdrucks y sei definiert als A y ve du e L w uy g y A y enth lt also diejenigen Suffixe v von w deren komplement res Pr fix u ein vollst ndiges Wort von y darstellt Lemma F r ein Wort w w a gilt AO F a F AGO U O ON Beweis A y ve du L w uv g y Aus u v w und w w a folgt entweder u w und v oder aber v a f r ein geeignetes L a du e amp w uska 9 y U O 9 0 w u a ist dquivalent zu w uf i a dueL w ui 9 U O a Definition von A y Fay FEAL U O g Q u em i 2 Wegen a X kann a nicht vom Parameter q abh ngen d h es gilt a a F 3 Die Gleichheit a ergibt sich wie folgt durch Widerspruch Aus der Annahme a folgt zun chst 4 a y a ca x a und hieraus a Gj a x a Dp was im Widerspruch zur Voraussetzung z Q x g S Q x q steht B 2 Korrektheit des einfachen Zustandsmodells B 2 3 309 Struktur der Folgezustande F r die Folgezust nde des Ausdrucks x gilt 0 x z o y Ry mit R o0 z veA O und somit W x Wy y v v
374. ion x c V x vgl 3 4 4 gibt es auf diese Frage genau drei m gliche Antworten 1 w ist kein partielles und damit auch kein vollst ndiges Wort von x 2 w ist ein partielles aber kein vollst ndiges Wort von x 3 w ist ein vollst ndiges und damit auch ein partielles Wort von x Aktionsproblem F r eine konkrete Aktion a X soll entschieden werden ob sie im initialen Zu stand des Ausdrucks x ausgef hrt werden darf d h ob das Wort aj ein partielles Wort von x dar stellt Wenn dies der Fall ist soll f r eine zweite Aktion a entschieden werden ob sie im An schlu an a ausgef hrt werden darf d h ob das Wort a a gt ein partielles Wort von x darstellt usw Zur L sung dieses Problems sollen also sukzessive d h typischerweise interaktiv einzelne Aktionen a Ay eingelesen und f r jede Aktion a ausgegeben werden ob sie im aktuellen Zustand der Ver arbeitung zul ssig ist d h ob das Wort lt a a ein partielles Wort des Ausdrucks x darstellt Bestimmung zul ssiger Aktionen Zus tzlich zum Aktionsproblem soll nach jedem Verarbeitungs schritt die Menge aller Aktionen ausgegeben werden die im n chsten Schritt zul ssig sind Nach dem Start des Programms soll also die Menge aller Aktionen a bestimmt werden die im ersten Schritt ausgef hrt werden d rfen Nach Eingabe und Verarbeitung einer solchen Aktion soll die Men ge aller Aktionen a ausgegeben werden die im zweiten Schritt zul s
375. ionsausdriicken 3 4 4 95 3 4 4 Vollst ndige und partielle Worte von Ausdr cken 3 4 4 1 Lemma F r zwei Mengen A B CX gilt offensichtlich A B AUB und A OB ANB 3 4 4 2 Satz 1 F r beliebige Interaktionsausdr cke x gelten die Inklusionen QO UP CPx Ca x mit a x a x NX d h das leere Wort und jedes vollst ndige Wort von x ist auch ein partielles Wort von x und s mt liche Worte von x enthalten nur konkrete Aktionen aus dem Alphabet von x 2 Die Menge P x ist abgeschlossen bzgl Pr fixbildung d h mit einem Wort w e x geh ren auch alle Pr fixe von w zur Menge P x Beweis 1 Je nach Kategorie des Ausdrucks x ergeben sich die Inklusionen wie folgt a F r einen atomaren Ausdruck x a folgen sie unmittelbar aus der Definition der Mengen x P x und a x b F r einen zusammengesetzten Ausdruck x der weder eine bin re Synchronisation noch einen Synchronisations Quantorausdruck darstellt werden zur Definition der Menge Y x nur Men gen P und ggf amp f r irgendwelche ggf konkretisierten Teilausdr cke von x verwen det f r die nach Induktionsvoraussetzung und Definition von a x gilt P E c WE C a E Car x d h sowohl als auch sind Teilmengen von x Aufgrund der Abgeschlossenheit aller verwendeten Mengenoperationen vgl 3 4 2 1 folgt daraus die Inklusion W x ca x c F r eine bin re Synchronisation ergibt sich diese Auss
376. iptiver und deskriptiver Formalismen 270 6 6 2 Unterst tzung von Inter Workflow Abh ngigkeiten 270 6 6 2 1 Stand der Wissenschaft und Technik 270 6 6 2 2 Semantische Integration von Workflows 271 6 6 2 3 Koordinierte Ausf hrung von Workflows 271 7 Zusammenfassung und Ausblick 273 7 1 Zusammenfassung der Ergebnisse 273 7 1 1 Kurzfassung 273 7 1 2 Entwicklung von Interaktionsgraphen Kapitel 2 273 7 1 3 Formale Semantik und Eigenschaften Kapitel 3 273 7 1 4 Operationale Semantik Implementierung und Komplexit t Kapitel 4 273 7 1 5 Praktischer Einsatz Kapitel 5 274 7 2 Ausblick 274 7 2 1 Weiterf hrende Konzepte 274 7 2 1 1 Ausnahmebehandlung 274 7 2 1 2 Externe Ereignisse 275 7 2 2 Theoretische Fragestellungen 276 7 2 2 1 Transformation und Optimierung von Ausdr cken 276 7 2 2 2 Weitere Komplexit tsaussagen 276 7 2 2 3 Ausdrucksm chtigkeit von Interaktionsausdr cken 276 7 2 2 4 Typisierte Quantorparameter 277 1 2 3 Praktische Fragestellungen 277 7 2 3 1 Integrierte Entwicklungsumgebung f r Interaktionsgraphen 277 7 2 3 2 Integration mit Workflow Management Systemen 277 Literaturverzeichnis 279 A Die Programmiersprache CH 289 A l Motivation 289 A 1 1 Grenzen imperativer und objektorientierter Programmiersprachen 289 A 1 2 Offene Typdefinitionen 289 A 1 3 C als Basissprache 290 A 2 Sprachumfang 290 A 2 1 Ausgew hlte Konzepte von C 290 A 2 2 Spracherweiterungen 291 A 2 3 Einschr nkungen 292 A 3 Implementi
377. ispiel Abbildung 4 7 zeigt die interne Repr sentation des Quantorausdrucks G OC abrufen p u untersuchen p u p u mit der linearen Notation p u abrufen p u untersuchen p u Im Gegensatz zu Abb 4 5 repr sentiert ein Rechteck hier keinen Typ sondern ein Objekt d h eine Auspr gung eines strukturierten Typs w hrend eine Ellipse eine Auspr gung eines skalaren Typs d h einen skalaren Wert oder eine Konstante darstellt Pfeile zwischen Objekten bzw zwischen einem Objekt und einer Konstanten stellen Auspr gun gen des Attributs dar mit dem sie beschriftet sind F r mehrwertige Attribute wie z B params k n nen von einem Objekt mehrere gleichartige Pfeile ausgehen deren Beschriftung wie z B params 1 undparams 2 bei Bedarf eine Reihenfolge der Attributwerte eines Objekts bestimmt Bei der Repr sentation eines Quantorausdrucks x y wird darauf geachtet da es genau ein q Objekt vom Typ Param gibt das den Quantorparameter q repr sentiert Dieses Objekt wird sowohl vom Expr Objekt das dem Quantorausdruck x entspricht als auch von allen Action Objekten des Quantorrumpfs y die q als Parameter besitzen als gemeinsames Objekt engl shared object referen ziert Beispielsweise wird das Param Objekt mit dem Namen u sowohl vom Expr Objekt mit der Kategorie Dis das den Disjunktions Quantor repr sentiert als auch von den beiden Action u Objekten die die Aktionen abrufen
378. ispielsweise als unsortierte Listen oder dynamische Arrays bei denen Elemente grund s tzlich am Anfang oder am Ende eingef gt werden wurden Alternativen eines parallelen Quantor zustands in einer ersten prototypischen Implementierung tats chlich in dieser Form repr sentiert Die se scheinbar unwesentliche Entwurfsentscheidung f hrte dazu da die Laufzeit des Programms f r bestimmte Ausdr cke unerkl rlich gro war Erst durch eine sorgf ltige Analyse der resultierenden Zust nde zusammen mit der berzeugung da sich Ausdr cke wie der in 2 4 4 betrachtete intuitiv wesentlich effizienter verarbeiten lassen m ten ergab sich da man dquivalente Zust nde am einfachsten dadurch erkennen und eliminie ren kann da man Mengen als sortierte und duplikatfreie Sequenzen implementiert Bei dieser Vor gehensweise sind zwei Mengen n mlich genau dann im mathematischen Sinne gleich wenn sie als Sequenzen identisch sind d h die gleichen Elemente in derselben Reihenfolge enthalten Ein positi ver Nebeneffekt dieser Vorgehensweise besteht in der einfachen und effizienten Realisierung s mtli cher Mengenoperationen wie z B Elementtest durch bin re Suche mit logarithmischer Komplexit t oder Vereinigung und Durchschnittsbildung mit Hilfe von Sort merge Algorithmen mit linearer Kom plexit t ohne zus tzlichen Verwaltungsaufwand wie er z B bei der Verwendung von Hashtabellen anfallen w rde Eine wesentliche Vorauss
379. ist jedoch 1 6 He Xe bezeichne die charakteristische Funktion der Menge e f r die gilt 7 e 1 x e 0 f r e e Somit entspricht x ei ner Multimenge die das Element e genau einmal enth lt 146 4 5 7 Kapitel 4 Implementierung von Interaktionsausdriicken endlich Au erdem enth lt jede Alternative genau einen erweiterten Zustand n mlich das Paar o y p mit unendlicher Kardinalit t Neben dieser Multimenge von Alternativen enth lt ein paralleler Quantorzustand ebenso wie alle anderen Quantorzust nde den Rumpf y sowie den Parameter p des Ausdrucks x die beide f r die Definition des Zustands bergangs ben tigt werden Anmerkung Auf den ersten Blick mag die Verwendung von Multimengen Elementen mit unendlicher Kardinalit t unn tig kompliziert erscheinen Au erdem k nnte man auf das Zustand Wert Paar o y p in einer Alternative vollst ndig verzichten da sowohl y als auch p direkt im Zustand s ent halten sind Es zeigt sich jedoch da die Integration dieses Paars in jede Alternative zu einer homoge neren und einfacheren Definition des Zustands bergangs f hrt da man so den initialen Zustand o y wie jeden anderen Zustand des abstrakten Zweigs y behandeln kann Die Rechenregel n f r die spezielle Kardinalit t sorgt hierbei automatisch daf r da das Paar o y p in jeder Alternati ve erhalten bleibt auch wenn es ein oder mehrmals durch konkretisierte Paare er
380. iten sinn voll beschrieben werden k nnen zum anderen mu sichergestellt werden da die so beschriebenen Synchronisations oder Integritdtsbedingungen zur Laufzeit auch eingehalten werden d h da ein Arbeitsschritt nur zur Ausf hrung angeboten wird wenn durch seine Ausf hrung keine Bedingungen verletzt werden Bevor dies in 1 4 n her erl utert wird soll im folgenden anhand einiger nicht zum gew nschten Ziel f hrender L sungsversuche verdeutlicht werden da das Problem der Inter Workflow Abh n gigkeiten real existiert d h nicht einfach wegdefiniert werden kann und mit heutiger Workflow Management Technologie nicht zufriedenstellend gel st werden kann 1 3 L sungsversuche 1 3 1 Verschmelzung abh ngiger Workflows 1 3 1 1 Ansatz Wenn zwischen zwei oder mehreren Workflows Abh ngigkeiten bestehen so ist die Frage berech tigt ob diese m glicherweise auf eine ungeschickte Modellierung der Workflows zur ckzuf hren sind bei der logisch zusammengeh rende Arbeitsschritte f lschlicherweise auf mehrere Workflows verteilt wurden Oder anders ausgedr ckt Kann man Workflows zwischen denen Abh ngigkeitsbe ziehungen bestehen nicht einfach zu einem einzigen Workflow verschmelzen und auf diese Weise die vorhandenen Inter Workflow Abh ngigkeiten auf gew hnliche Intra Workflow Abh ngigkeiten d h Abh ngigkeiten zwischen Schritten eines einzigen Workflows zur ckf hren die mit Hilfe der bli chen Kontr
381. k nnen beliebig viele Varianten oder Teile derselben Funktion definiert werden von denen jede mit einem Auswahlpr dikat versehen wird das typischerweise von den formalen Para metern der Funktion abh ngt Zur Laufzeit wird dann immer diejenige Variante der Funktion ausge f hrt deren Pr dikat von den aktuellen Aufrufparametern erf llt wird Auf diese Weise steht als Auswahlkriterium nicht nur der Typ eines Objekts zur Verf gung sondern prinzipiell beliebige Ei genschaften aller Argumente einer Funktion Mathematisch ausgedr ckt stellt jede Variante einer partiellen Funktion einen Teil einer st ckweise definierten Funktion dar Vgl auch 4 4 2 4 4 6 1 2 und 4 6 4 1 sowie A 3 2 6 Anstelle der speziellen Hauptfunktion main sowie Bibliotheksmechanismen wie z B atexit zur Registrierung von Aufr umfunktionen gibt es die Schl sselw rter begin und end zur expliziten Kennzeichnung von nitialisierungs bzw Terminierungsanweisungen Bei einer normalen Programmausf hrung werden zun chst wie in Modula oder Oberon s mtliche begin Anweisungsbl cke des Programms in einer durch die Import Beziehungen zwischen den Modulen festgelegten Bottom up Reihenfolge ausgef hrt Anschlie end werden in der umgekehr ten Reihenfolge s mtliche end Anweisungen ausgef hrt Vgl auch 4 6 5 sowie A 3 2 7 A 2 3 Einschr nkungen Die folgenden Konzepte von C und C geh ren aus der Sicht eines Anwendun
382. k x y mit einem beliebigen Teilausdruck y f r P den und dessen Konkretisierungen Yp das Korrektheitstheorem gem der globalen Induktionsvoraus setzung bereits bewiesen sei Struktur der Folgezust nde F r die Folgezust nde des Ausdrucks x gilt 0 0 Y P wO T mit Ty o y o 0 p und somit x vo V und x vo vV o WEO Y Ov wle PE WOY N 9 35 B 2 Korrektheit des einfachen Zustandsmodells B 2 4 315 Beweis 1 F r das leere Wort w gilt o y o y und wegen Q y p T Daher stimmt die Behauptung f r o x genau mit der Definition des initialen Zustands o x berein 2 F r ein Wort w w a gilt O x 7 05 x Induktionsvoraussetzung f r 0 x Tallo y 9 050 T mit T 17 0 7 o 0 p Definition des Zustands bergangs r O gt y p talo 77 mit T T o loo o o 2 0 p 2 und T 7 t t eT Substitutionsprinzip f r y beachte Q T Q y p o y p 0 09 T mit Peru 0 37 o Qy P 0 p und T 7 t t eT aul Setze T T ein und beachte Q y p U 2 0 D Qg0 p Qy p 0 y P 0 9 T mit T o y o 2 0 p und T rnO ltEeT Definition des Zustandsiibergangs 7 f r erweiterte Zust nde t T K 0 y P op y T mit T o y o 2 0 p T 0 y P 0 0 Ty Korrektheit
383. kann man zur Verdeutli chung eine zus tzliche Umgehungsstra e einzeichnen die die beiden Knoten direkt miteinan der verbindet vgl Abb 2 29 Aus Symmetriegr nden wird diese Kante jedoch normalerweise weggelassen Gem dieser Beschreibung kann eine Beliebig oft Verzweigung beliebig oft x auch als eine Mehr fach Verzweigung n mal x aufgefa t werden bei der der Verzweigungsfaktor n variabel ist d h ei nen beliebigen Wert aus der Menge IN annehmen kann Q 10Pf Kopie A4 Abbildung 2 29 Beliebig oft Verzweigung mit expliziter Umgehungsstra e Abh ngig davon wieviele Gruppen den Teilgraphen 10 Pf Kopie A4 durchlaufen k nnen sich die folgenden Durchlaufreihenfolgen ergeben 0 Keine Gruppe durchl uft den Rumpf der Verzweigung d h die ganze Mannschaft springt vom lin ken Knoten direkt zum rechten In diesem Fall erh lt man eine leere Folge von Aktionen Genau eine Gruppe durchl uft den Teilgraphen 10 Pf Kopie A4 In diesem Fall ergibt sich genau die Folge 10 Pf Kopie A4 Zwei Gruppen G und G durchlaufen unabh ngig voneinander den Teilgraphen 10 Pf Kopie A4 Sei 0 B d A G diejenige Gruppe die als erste die Aktion 10 Pf passiert Dann K nnen sich die folgenden F lle ergeben a Gy passiert 10 Pf bevor G die Aktion Kopie A4 passiert Jetzt m ssen beide Gruppen noch Kopie A4 passieren um den rechten Knoten zu erreichen Di
384. kflowbeschreibungen in einer m glichst intuitiven graphischen Notation formuliert werden k nnen vgl z B Abb 1 7 die bei Bedarf in eine quivalente formale Notation berf hrt werden Kann 1 4 Aufgabenstellung und Gliederung der Arbeit 1 4 1 11 Patient vorbereiten U Patient Untersuchung abrufen durchfiihren U U Abbildung 1 7 Graphische Darstellung des regul ren Ausdrucks X 1 4 Aufgabenstellung und Gliederung der Arbeit 1 4 1 Aufgabenstellung Vor diesem Hintergrund l t sich die in 1 2 3 bereits erw hnte Aufgabenstellung nun wie folgt pr zisieren Es soll ein auf regul ren Ausdr cken basierender deskriptiver Formalismus entwickelt werden mit dessen Hilfe Inter Workflow Abh ngigkeiten kompakt bersichtlich und nderungsfreundlich be schrieben werden k nnen Da der Formalismus auch f r mathematisch unge bte Anwender wie z B Workflow Modellierer verst ndlich sein soll wird neben einer kompakten mathematischen Notation auch eine quivalente graphische Repr sentation des Formalismus ben tigt hnlich wie regul re Ausdr cke sollte der Formalismus effizient implementierbar sein damit er nicht nur zur formalen Spezifikation sondern auch zur realen Implementierung von Inter Work flow Abh ngigkeiten eingesetzt werden kann Neben einer pr zisen formalen Semantik soll daher auch eine m glichst effiziente und anhand dieser Semantik verifizierte Impleme
385. klar da die Hand lungsf higkeit des Interaktionsmanagers der in einem Gesamtsystem eine u erst wichtige und Per formance kritische Komponente darstellt nicht von der Zuverl ssigkeit und Verf gbarkeit eines ver gleichsweise unwichtigen Programms abh ngen darf Aus diesen Gr nden wird das zuvor beschriebene zweiphasige Koordinationsprotokoll im folgen den um eine dritte Phase erweitert die es dem Interaktionsmanager erlaubt den schwarzen Peter rechtzeitig an den Klienten abzugeben um im Zweifelsfall unabh ngig von diesem handlungsf hig zu bleiben 5 2 4 Dreiphasiges Koordinationsprotokoll 5 2 4 1 Beschreibung Tabelle 5 6 und Abb 5 7 zeigen die Nachrichtentypen und ihr Zusammenspiel beim dreiphasigen Ko ordinationsprotokoll bei dem pro geplanter Aktionsausf hrung bis zu vier Nachrichten zwischen Klient und Interaktionsmanager ausgetauscht werden Im Gegensatz zum ein und zweiphasigen Pro tokoll stellt der Nachrichtentyp Accept hier nur eine vorl ufige Antwort des Interaktionsmanagers an den Klienten dar die er sp ter entweder mit einer Commit Antwort best tigen oder aber mit einer Abort Antwort widerrufen kann F r den Klienten bedeutet dies da er nach Erhalt einer Accept Nachricht die angefragte Aktion zwar zun chst ausf hren darf und mu sie sp ter aber unter Um st nden wieder r ckg ngig machen mu Aus diesem Grund ist es f r den Klienten ratsam beim Ein treffen der Accept Nachricht eine T
386. kt referenziert erkauft man sich sogar eine zyklische Abh ngigkeit zwischen Expr und State die sich zumeist nur mit syntaktischen Kunstgriffen bew ltigen l t Da partielle Funktionen Laufzeit Polymorphismus unabh ngig von einer Klassenhierarchie unterst tzen treten derartige Probleme in CH nicht auf 156 4 6 4 Kapitel 4 Implementierung von Interaktionsausdr cken Initialer Zustand und Endzustands Indikator Abbildung 4 19 zeigt den ersten Teil der Implementierung paralleler Quantorausdr cke Der Typ Alt zur Repr sentation einer Alternative wird als Synonym bzw Abk rzung des Typs Mset Pair d h als Multimenge von Zustand Wert Paaren vereinbart Das zus tzliche Zustandsat tribut alts wird ben tigt da ein paralleler Quantorzustand gem 4 5 7 4 im wesentlichen aus einer Menge von Alternativen besteht Alternative type Alt Mset Pair Zus tzliches Zustandsattribut attr alts State gt gt Alt Menge von Alternativen Initialer Zustand eines parallelen Quantorausdrucks part State init Expr x if x cat Par amp amp x param Pair t state init x body value nil Alt T mset t 00 return State expr x alts set T Endzustands Indikator eines parallelen Quantorzustands part bool final State s if s cat Par amp amp s param Alt T Pair t forall T lt lt s alts forall t lt lt T if final t state break else return true
387. ktuellen Zustand s jedoch unver ndert Um sp ter feststellen zu k nnen ob sich der Status der Aktion m action von unzul ssig auf zul ssig oder umgekehrt ge n dert hat wird der aktuelle Status in Form des Nachrichtentyps Permit oder Forbid im Attribut cat der Nachricht m hinterlegt Im Fall von Permit wurde die entsprechende Zuweisung bereits in der Funktion reply durchgef hrt w hrend sie andernfalls im Hauptprogramm vorgenommen wird Wenn die Best tigung des Klienten zu einem sp teren Zeitpunkt eintrifft wird sie durch einen Aufruf von receive im Hauptprogramm entgegengenommen Da die Nachrichtentypen Exec und Undo in der darauffolgenden Fallunterscheidung nicht auftreten wird die Nachricht dort einfach ignoriert 5 2 Interaktionsmanager 5 2 10 205 5 2 9 4 Hilfsfunktion complete Abb 5 21 Wie in den vorangegangenen Teilabschnitten erw hnt verwaltet der Interaktionsmanager zum einen eine Liste queue aller Wait Anfragen die noch nicht mit Accept beantwortet werden konnten und zum anderen eine Liste sub von Abonnenten die mittels Permit und Forbid Nachrichten ber Sta tus nderungen bestimmter Aktionen informiert werden wollen Da eine Ver nderung des aktuellen Zustands s Auswirkungen auf den Status der dort gespeicherten Aktionen haben kann wird im Anschlu an einen tats chlichen Zustands bergang der durch den R ckgabewert 2 der Funktion reply angezeigt wird jeweils die Hilfsfunktion complete au
388. kung 68 3 2 3 Vollst ndige und partielle Worte eines Ausdrucks 69 3 3 Definition von Interaktionsausdr cken 70 3 3 1 Elementare Ausdr cke 70 3 3 1 1 Atomare Ausdr cke 70 3 3 1 2 Sequentielle Komposition 72 3 3 1 3 Sequentielle Iteration 73 3 3 1 4 Disjunktion 74 3 3 1 5 Option 75 3 3 1 6 Parallele Komposition 75 3 3 1 7 Parallele Iteration 77 3 3 1 8 Konjunktion 78 3 3 1 9 Alphabet eines Ausdrucks 79 3 3 1 10 Synchronisation 79 3 3 2 Abgeleitete Ausdr cke 83 3 3 2 1 Multiplikatorausdr cke 83 3 3 2 2 Makros 85 3 3 3 Quantorausdr cke 85 3 3 3 1 Definitionen 85 3 3 3 2 Erl uterungen 87 3 3 3 3 Anmerkungen 87 3 3 3 4 Beispiele 88 3 3 4 Zusammenfassung 90 3 4 Eigenschaften von Interaktionsausdr cken 90 3 4 1 quivalenz von Ausdr cken 91 3 4 1 1 Definitionen 91 3 4 1 2 Anmerkungen 91 3 4 1 3 Beispiel 92 3 4 2 Monotonie von Operatoren 92 3 4 2 1 Lemma 9 3 4 2 2 Definitionen 93 3 4 2 3 Satz 93 3 4 2 4 Anmerkung 93 3 4 3 Induktionsprinzip f r Ausdr cke 94 3 4 3 1 Satz 94 3 4 3 2 Anwendung 94 3 4 4 Vollst ndige und partielle Worte von Ausdr cken 95 3 4 4 1 Lemma 95 3 4 4 2 Satz 95 3 4 5 Vergleich von Operatoren 96 3 4 5 1 Lemma 96 3 4 5 2 Satz 96 3 4 6 Singul re Ausdr cke und parallele Quantoren 98 3 4 6 1 Definition 98 3 4 6 2 Satz 98 3 4 6 3 Korollar 99 3 4 7 Eigenschaften bin rer Operatoren 99 3 4 7 1 Lemma 99 3 4 7 2 Satz 100 3 4 8 Eigenschaften un rer Operatoren 101 3 4 8 1 Lemma 101 3 4 8 2 Sa
389. l sen zu k nnen mu Generizit t engl genericity als Grundkonzept in der Programmiersprache verankert sein wodurch die Anzahl der geeigneten Kandidatinnen bereits drastisch eingeschr nkt wird Aufgrund ihres gro en Bekanntheitsgrades und ihrer weiten Verbreitung dr ngt sich hier die Sprache C Stroustrup95 f rmlich auf die das Kon zept der Generizit t mit Hilfe von Template Klassen und Funktionen relativ gut unterst tzt Auf der anderen Seite wirkt C jedoch durch ein berangebot an Konzepten und durch teilweise fehlerhafte oder inkompatible Implementierungen nicht unbedingt vertrauenerweckend Au erdem vermi t man trotz dieses berangebots nach wie vor einige wichtige Elemente wie z B ein klares Modulkonzept mit expliziten Import Export Schnittstellen wie man es z B von Modula Wirth82 oder Oberon Wirth88 kennt oder Mechanismen zur automatischen Speicherbereinigung engl gar bage collection A 1 2 Offene Typdefinitionen Ebenso wie in anderen imperativen oder objektorientierten Sprachen ist man auch in C gezwun gen einen benutzerdefinierten Typ wie z B einen Recordtyp oder eine Klasse immer zusammen mit seiner Struktur d h seinen Komponenten oder Attributen zu definieren wobei die Definition der At tribute der Definition des Typs hierarchisch untergeordnet ist Demgegen ber stehen Ans tze aus dem Bereich der semantischen Datenmodellierung Hull87 wie z B das bekannte Entity Relationship M
390. l der entsprechende Workflow vergeblich auf ein Synchronisations ereignis des jeweils anderen Workflows warten w rde Dieses Problem k nnte man m glicherweise durch eine flexiblere Interpretation der Inter Workflow Abh ngigkeiten l sen indem man Bedingun gen die sich auf einen momentan nicht aktiven Workflow beziehen au er acht l t Ein weiteres Problem ergibt sich jedoch wenn zwei Untersuchungen U und U aus medizinischer Sicht in beliebiger Reihenfolge durchgef hrt werden k nnen weil in diesem Fall weder die Reihen folge A U Pat abrufen gt U Unt durchf hren U Pat abrufen U Unt durchf hren noch die umgekehrte Reihenfolge B 1 3 L sungsversuche 1 3 3 9 Termin vereinbaren Patient Untersuchung Befund Befund abrufen durchf hren erstellen lesen Untersuchung anordnen Patient vorbereiten Sonographie Inter Workflow Abh ngigkeiten Endoskopie Patient vorbereiten e Sonographie Patient vorbereiten Endoskopie Patient vorbereiten Sonographie Patient abrufen Sonographie Untersuchung durchf hren Endoskopie Patient abrufen Patient vorbereiten Kurzbefund Kurzbefund erstellen lesen Untersuchung Patient anordnen aufkl ren Patient Untersuchung abrufen durchf hren Langbefund Langbefund erstellen lesen Termin vereinbaren Endoskopie Abbildung 1 6 Sepa
391. le D 6 Operatoren von Interaktionsausdr cken und graphen Teil 1 345 Vollst ndige und Eigen Operat Implemen Komplexi partielle Worte schaften Semantik tierung t t a nA amp 0 a AE 4 5 4 1 4 6 2 1 P y P YO U By H z 3 4 7 2 4 5 4 6 4 6 2 3 4 7 3 2 P y 3 4 8 2 PO YO 34101 4 5 4 7 4 6 2 3 4 7 3 2 PO U Dz 3 4 7 2 PO U Wz 3491 4 5 4 2 4 6 2 2 4 7 3 1 m POULO 3 4 8 2 4 5 4 3 4 6 2 2 4 7 3 1 3 Yo 5 oO gt 2 Q 5 Py e P 3 4 7 2 ai te 3 a a 4 5 4 8 4 6 2 4 4733 3 4 8 2 2 4 3 4 10 1 4 7 3 3 2 3 4 11 1 Ey n 3 4 7 2 oC R o ie 4 5 4 4 4 6 2 2 4 7 3 1 PO KO N DE x z 3 4 7 2 Hy KO AV OKE 349 1 FR CESARIS ie z implizit definiert durch Reduktion auf sequentielle Komposition 439 PSA 2 8 implizit definiert durch Reduktion gt auf parallele Komposition rn ir E Joly 3 4 9 1 4 5 7 1 4 6 4 1 4 7 4 1 aly 3 4 6 3 QY 2 3 4 9 1 4 5 7 4 4 6 4 2 4 7 4 2 5 a 3 4 11 1 Q Bor E x me 3 4 9 1 4 5 7 3 4 6 4 1 4 7 4 1 amp QY e sb a oO nr p 3 4 9 1 4 5 7 2 4 6 4 1 4 7 4 1 Q v7 Tabelle D 7 Operatoren von Interaktionsausdr cken und graphen Teil 2 346 Anhang D Wichtige Begriffe und Symbole mentierung sowie Aussagen zur Komplexit t des Operators vorgestellt werden Auf diese Weise hat man f r jeden Operator einen
392. le vollst ndige Worte mit einem partiellen Wort von y konkateniert Ye y B y YO Beispiel Der Ausdruck amp 10 Pf Kopie A4 vgl Abb 3 7 besitzt die folgenden vollst ndigen bzw partiellen Worte 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 4 T0Pf Kopie A4 E Abbildung 3 7 Sequentielle Iteration amp 10 Pf Kopie A4 74 3 3 1 Kapitel 3 Interaktionsausdr cke Y amp 10 Pf Kopie A4 P 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 10 Pf Kopie A4 10 Pf 10 Pf Kopie A4 10 Pf Kopie A4 3 3 1 4 Disjunktion Definitionen Eine Disjunktion oder Entweder oder Verzweigung ist ein Ausdruck y z vgl Abb 3 8 mit belie bigen Teilausdriicken y und z die als Alternativen oder Zweige der Disjunktion bezeichnet werden a Abbildung 3 8 Disjunktion y z Um den Graphen in Abb 3 8 vollst ndig bzw teilweise zu durchlaufen mu einer der beiden Teilgra phen y oder z vollst ndig bzw teilweise durchlaufen werden d h der Ausdruck y z besitzt die fol genden vollst ndigen bzw partiellen Worte Py o z PO U Plz YO o z2 YO UP Beispiel F r den Ausdruck 2 DM 1 DM 1 DM vgl Abb 3 9 gilt 2 DM o 1
393. legt da f nf derartige Wieder holungen parallel ausgef hrt werden d rfen d h da bis zu f nf Patienten gleichzeitig Untersu chung u durchlaufen k nnen Durch die F r alle Verzweigung schlie lich wird diese Bedingung f r alle Untersuchungs u u arten bzw stellen u separat eingehalten 2 7 2 2 Spezielle Kapazit tsbeschr nkungen Anstelle oder auch zus tzlich zu dieser allgemeinen Kapazit tsbeschr nkung ist es m glich spezielle typischerweise restriktivere Bedingungen f r einzelne Untersuchungsstellen zu formulieren indem 56 2 7 2 Kapitel 2 Interaktionsgraphen man die F r alle Verzweigung ber u wegl t und den Parameter u stattdessen durch einen konkreten Wert ersetzt Abbildung 2 65 zeigt dies exemplarisch f r die Sonographie sono in der maximal drei Untersuchungen gleichzeitig durchgef hrt werden sollen 3 ra 3 N Untersuchung N N ee YZ p p sono P Abbildung 2 65 Spezielle Kapazit tsbeschr nkung f r die Sonographie 2 7 2 3 Kopplung parametrisierter Graphen Koppelt man die allgemeine Bedingung aus Abb 2 64 mit dieser speziellen Bedingung vgl Abb 2 66 so d rfen Aktionen die beiden Zweigen der Kopplung gemeinsam sind nur ausgef hrt werden wenn sie in beiden Zweigen gleichzeitig durchlaufen werden k nnen vgl 2 3 2 2 Hierbei stellt sich allerdings die Frage welche Aktionen zu einem Teil Graphen geh ren dessen Aktivit ten paramet
394. lele H lle gelten die folgenden Inklusionsbeziehungen UVEU V und UvU cU cU H f r U VcX Beweis n Offensichtlich gilt uv u v woraus nacheinander die Aussagen UV CU V U c QU und somit U c U folgen Die Behauptung U U C U folgt direkt aus der Definition der sequen tiellen H lle 3 4 5 2 Satz 1 Eine Konjunktion akzeptiert h chstens eine Disjunktion mindestens die Worte die ihre beiden Teilausdr cke akzeptieren yeraoyeo yOZ yezaozcyo z 2 Eine Synchronisation ist restriktiver als einer ihrer Teilausdr cke wenn dessen Alphabet das Al phabet des anderen Teilausdrucks umfa t yozsy f r alz caly yoz lt z f r aly cal 3 Eine Konjunktion ist restriktiver als eine Synchronisation Wenn die Alphabete ihrer Teilausdr cke gleich sind ist die Konjunktion quivalent zur Synchronisation yezsyoz yerz yoz f r a y a z 3 4 Eigenschaften von Interaktionsausdr cken 3 4 5 97 4 Wenn die Alphabete ihrer Teilausdr cke disjunkt sind ist die Synchronisation quivalent zur paral lelen Komposition yoz yeoz fir ay nal 5 Die sequentielle Komposition ist restriktiver als die parallele Komposition Ebenso ist die sequen tielle Iteration restriktiver als die parallele Iteration beide jedoch weniger restriktiv als die Option und ihr Rumpf y z S y Z Y Say S Gy lt S Oy Beweis 1 Die Aussagen ber Konjunktion und Disjunktion folgen unmittelbar aus den Definitionen der Ope
395. ler Komplexit t verarbeitet werden k nnen 7 1 5 Praktischer Einsatz Kapitel 5 Durch die Definition geeigneter Koordinationsprotokolle konnte die zun chst isoliert entwickelte Im plementierung von Interaktionsausdr cken mit einer Schnittstelle umgeben werden die es anderen Programmen erlaubt zuvor spezifizierte Integrit tsbedingungen bei der Ausf hrung von Aktivit ten tats chlich zu ber cksichtigen Anhand zweier alternativer Ans tze zur Implementierung von Work flow Geflechten Adaption von Arbeitslistenprogrammen einerseits und Adaption von Workflow Ausf hrungseinheiten andererseits wurde aufgezeigt wie die genannten Koordinationsprotokolle praktisch angewandt werden k nnen Um Interaktionsgraphen auch in gro en verteilten Systemen sinnvoll und zuverl ssig einsetzen zu k nnen wurden Konzepte zur Partitionierung von Graphen zum Einsatz mehrerer Interaktionsmanager und zum Wiederanlauf nach Systemausf llen erarbeitet Des weiteren wurde ein einfaches Vorgehensmodell zur Definition von Workflow Geflechten entwickelt 7 2 Ausblick Obwohl Interaktionsausdr cke und graphen in der vorliegenden Arbeit bereits sehr ausf hrlich be handelt wurden Kann weder ihre konzeptionelle Entwicklung noch ihre theoretische Untersuchung oder ihre praktische Umsetzung als vollkommen abgeschlossen bezeichnet werden Im folgenden wer den daher einige konzeptionelle Erweiterungsm glichkeiten sowie offene Fragen aus Theorie und Pra xis
396. lling and Analysis Computer Languages 4 1979 49 66 Rochkind88 M J Rochkind UNIX Programmierung fiir Fortgeschrittene Carl Hanser Verlag Miinchen 1988 Rupietta94 W Rupietta G Wernke Umsetzung organisatorischer Regelungen in der Vorgangsbe arbeitung mit WorkParty und ORM In U Hasenkamp S Kirn M Syring eds CSCW Com puter Supported Cooperative Work Informationssysteme fiir dezentralisierte Unternehmensstruktu ren Addison Wesley Bonn 1994 135 154 Schildt99 H Schildt STL Programming from the Ground Up Osborne McGraw Hill Berkeley CA 1999 287 Sch ning95 U Sch ning Theoretische Informatik kurzgefa t 2 Auflage Spektrum Akademi scher Verlag Heidelberg 1995 Schulthei 95a B Schulthei J Meyer R Mangold T Zemmler M Reichert Proze entwurf f r den Ablauf einer station ren Chemotherapie Nr DBIS 5 Interne Ulmer Informatik Berichte Ab teilung Datenbanken und Informationssysteme Universit t Ulm November 1995 Schulthei 95b B Schulthei J Meyer R Mangold T Zemmler M Reichert Proze entwurf am Beispiel eines Ablaufs aus dem OP Bereich Nr DBIS 6 Interne Ulmer Informatik Berichte Abtei lung Datenbanken und Informationssysteme Universit t Ulm December 1995 Schulthei 96 B Schulthei J Meyer R Mangold T Zemmler M Reichert Proze entwurf f r den Ablauf einer ambulanten Chemotherapie Nr DBIS 7 Interne Ulmer Informatik
397. llt ist folgt seine G ltigkeit f r den Ausdruck x unmittelbar aus B 2 3 2 B 2 3 4 Konjunktion Da das Zustandsmodell einer Konjunktion x y z vollkommen analog bzw dual zu dem einer Dis junktion definiert ist ergibt sich auch die Struktur der Folgezust nde von x sowie die Korrektheit des Zustandsmodells und die G ltigkeit des Substitutionsprinzips analog B 2 3 5 Synchronisation Gegeben sei eine Synchronisation x y z mit beliebigen Teilausdr cken y und z f r die das Kor rektheitstheorem gem der globalen Induktionsvoraussetzung bereits bewiesen sei 306 B 2 3 Anhang B Verifikation des Zustandsmodells Definition Die Division w A eines Wortes w amp durch eine Aktionsmenge A c sei definiert durch Q f r w Q w A Ww A f rw w a unda A w A a f rw w a unda A Das Wort w A ergibt sich also indem man aus dem Wort w alle Aktionen a A entfernt Lemma F r ein Wort we u v mit u e U v e V und disjunkten Mengen U V c gilt w V u d h in diesem Fall stellt die Division w V quasi die inverse Operation der Verschr nkung u v dar Beweis Wenn man aus einem Wort w u v4 UpY Mit u u u und v v v vgl 3 2 2 3 alle Aktionen a V entfernt so entfernt man dadurch wegen U A V genau die Aktionen von v d h die Teilworte v v Somit verbleiben genau die Teilworte u u in dieser Reihenfolge d h das Wort u Struktur der Folgezus
398. ln 6 2 4 die als einziger auf regul ren Ausdr cken basierender Formalis mus parametrisierte Ausdr cke und Quantoren unterst tzen In den nachfolgenden Abschnitten 6 2 1 bis 6 2 4 werden die genannten Formalismen jeweils kurz vorgestellt und es wird erl utert mit welchen formalen Methoden ihre Semantik definiert wird und wie die Formalismen implementiert werden k nnen Anschlie end folgt jeweils ein mehr oder weniger umfangreicher Vergleich mit Interaktionsausdr cken Die Resultate dieser Vergleiche werden in 6 2 5 zusammengefa t 6 2 1 Pfadausdr cke Pfadausdriicke Campbell74 Andler79 Campbell79 Campbell80 stellen einen ersten bedeutenden Versuch dar die einfachen Synchronisationsmechanismen der Ebene 2 zu verlassen und Synchronisa tionsbedingungen mit Hilfe erweiterter regul rer Ausdr cke auf einer wesentlich abstrakteren und an wendungsn heren Ebene zu spezifizieren 6 2 1 1 Angebotene Operatoren In ihrer Grundform Campbell74 unterst tzen Pfadausdr cke in der Terminologie von Interaktions ausdr cken die Operatoren f r sequentielle Komposition Disjunktion sowie sequentielle und paralle le Iteration vgl Tab 6 1 Als atomare Ausdr cke dienen Prozeduren einer parallelen imperativen Programmiersprache Konjunktive Verkn pfungen im Sinne der JAA Synchronisation k nnen durch Aneinanderreihen mehrerer Ausdr cke formuliert werden Bezeichnung Pfadausdruck Interaktionsausdruck Seq
399. ln noch Freiheitsgrade offenlie wurde versucht logisch zusammenge h rende Aussagen m glichst aufeinanderfolgend vorzustellen So findet man beispielsweise die grundlegenden Aussagen ber Assoziativit t Kommutativit t und Idempotenz von Operatoren nach einander in den Abschnitten 3 4 7 3 4 8 und 3 4 9 die aufgrund von Abh ngigkeitsbeziehungen aber erst relativ sp t formuliert werden k nnen Da abgeleitete Ausdr cke Multiplikatoren und Makros stets gem ihrer Definition eliminiert werden k nnen vgl 3 3 2 werden im folgenden nur elementare und Quantorausdr cke betrachtet 3 4 1 quivalenz von Ausdr cken 3 4 1 1 Definitionen 1 Zwei Ausdr cke x und x hei en klassisch gleich oder dquivalent in Zeichen x x2 wenn sie dieselben vollst ndigen Worte akzeptieren d h wenn gilt P x P x 2 Zwei Ausdr cke x und x hei en isoliert gleich oder quivalent in Zeichen x x2 wenn sie dieselben vollst ndigen und partiellen Worte akzeptieren und dasselbe Alphabet besitzen d h wenn gilt x P x Wj und a x a 3 Zwei Ausdr cke x und x hei en umfassend gleich oder quivalent in Zeichen x x wenn f r beliebige Parameter p p II und zugeh rige Werte E Q gilt x f rn 0 Oj Oy Oj Oy Ols On _ gt x mit Xp _ a m ae Pn P Pn Be a n f r n gt 0 Pn d h wenn s mtliche Konkretisierungen von x und x isoliert quivalent si
400. los da ein wiederholtes Benutzen ein und desselben Kopierers bereits durch die Belie big oft Verzweigung innerhalb der Abk rzung Kopierer benutzen erlaubt wird Gesch ft verlassen Gesch ft betreten Kopierer benutzen NY k A k Abbildung 2 43 Wiederholte F r ein Verzweigung Gesch ft betreten Kopierer i benutzen C Gesch ft verlassen k Abbildung 2 44 Fehlerhafte Plazierung der Wiederholung 2 3 5 Zusammenfassung Tabelle 2 45 fa t die in den zur ckliegenden Abschnitten neu eingef hrten Operatoren von Interak tionsgraphen noch einmal kurz zusammen und stellt daher zusammen mit Tab 2 26 2 2 6 eine Kompakt bersicht ber die angebotenen Operatoren dar Au erdem sei an dieser Stelle bereits auf Tab 2 74 2 8 1 am Ende des Kapitels verwiesen in der sowohl die Bezeichnungen als auch die graphischen Darstellungen s mtlicher Operatoren zusammengefa t sind Operator Abschnitt Beliebig oft Verzweigung 2 3 1 3 Kopplung 2 3 2 2 Schablonen 2 3 3 F r alle Verzweigung 2 3 4 4 F r ein Verzweigung 2 3 4 6 Tabelle 2 45 Weiterf hrende Operatoren von Interaktionsgraphen 2 4 Zielgerichtetes Durchlaufen von Graphen 2 4 2 41 2 4 Zielgerichtetes Durchlaufen von Graphen Nachdem in den vorangegangenen Abschnitten s mtliche Operatoren vo
401. ls Kommandoargument args 1 bergebene d h als Zeichenkette vorliegende Ausdruck zun chst in einen quivalenten Operatorbaum x vom Typ Expr umgewandelt vgl 4 3 4 dessen in itialer Zustand s mittels der Funktion init bestimmt wird begin Expr x parse expr args 1 State s init x if args 1 Aktionsproblem loop print Action Ser ser N input str if str exit Programmende bei leerer Eingabe Action a parse action str if State s_ trans s a s s else print Illegal action ignored newline else if args 2 Wort und Teilwortproblen Seq Action w parse word args 2 Action a forall a lt lt w s trans s a if final s print Complete word else if s print Partial word else print Illegal word print newline Abbildung 4 22 Hauptprogramm Wenn kein weiteres Kommandoargument bergeben wurde d h wenn die Sequenz args die L n ge 1 besitzt wird in einer Endlosschleife immer wieder eine Zeichenkette str eingelesen und mit Hil fe der Parserfunktion parse action als Aktion a interpretiert Wenn der Zustands bergang trans s a erfolgreich ist d h einen g ltigen Folgezustand s_ liefert ersetzt dieser den aktuellen 160 4 7 1 Kapitel 4 Implementierung von Interaktionsausdr cken Zustand s andernfalls wird darauf hingewiesen da die zuletzt eingegebene Aktion a unzul ssig war und daher ignoriert
402. lt wird Allerdings stellen diese Ausf hrungen kein vollst ndiges Benutzerhandbuch dar was zur Folge hat da an der einen oder anderen Stelle m glicherweise Detailfragen unbeantwortet bleiben 329 330 C 2 1 Anhang C Ein syntaxgesteuerter Editor fiir Interaktionsgraphen A A Patient MA A U vorbereiten u u p u a le ere h a Fe oY h P u u P p u Patient Untersuchung abrufen durchf hren u u p u p u Abbildung C 1 Beispielgraph vgl Abb 2 62 2 7 1 2 C 2 1 Start des Programms Abbildung C 2 zeigt die Oberfl che des Programms unmittelbar nach dem Start e Die erste Zeile d h das oberste Rechteck auf die in C 2 7 genauer eingegangen wird stellt den Pfad des aktuellen Verzeichnisses im Beispiel home dbis heinlein graphen als Pseu dograph dar e Die n chsten beiden Zeilen enthalten die Standardoperatoren von Interaktionsgraphen als leere Mu stergraphen Beles D AAAA oo b dp p d Br C080 6 6 gt Tel H verei pou pou pou fs OD Abbildung C 2 Oberfl che nach dem Start des Programms C 2 Benutzerschnittstelle C 2 3 331 o Entweder oder Verzweigung Sowohl als auch Verzweigung Wiederholung Mehrfach Ausf h rung Eventuell Verzweigung o Fiir ein Verzweigung F r alle Verzweigung Beliebig oft Verzweigung Mehrfach Verzweigung Kopplung e Die letzten beiden Zeilen enthalten als
403. m f r diese Operatoren speziali sierte Definitionen zu entwickeln die die Tatsache ber cksichtigen da bei einem Multiplikatoraus druck mehrmals derselbe Teilausdruck mit sich selbst verkn pft wird Aus Platzgr nden wird auf die entsprechenden Definitionen jedoch nicht n her eingegangen 4 5 6 Vorbereitungen f r Quantorausdr cke 4 5 6 1 Konkretisierte Zust nde Analog zu konkretisierten Aktionen und Ausdr cken vgl 3 3 3 1 erh lt man einen konkretisierten Zustand Sp f r s e p II und e Q indem man jede Aktion a die in s oder einem seiner Teil 140 4 5 6 Kapitel 4 Implementierung von Interaktionsausdr cken zust nde auftritt durch die konkretisierte Aktion ap ersetzt d h indem man den Konkretisierungs operator rekursiv auf alle Komponenten des Zustands s anwendet s f rse T L ap f r s a o I f r s O L r ER e 7 re f r s J r er 0 ah f r s o y z J r 23 DR f r s z l R le Yp Te f r s 6 y T o 42 f r s A Hierf r sei au erdem Re y reR Bale leer und P p Erea definiert F r die in 4 5 7 definierten Zust nde von Quantorausdr cken kann die Definition von Sp in nahelie gender Weise verallgemeinert werden Den initialen Zustand o x eines konkretisierten Ausdrucks Xy erh lt man offensichtlich indem man den initialen Zustand o x des urspr nglichen Ausdrucks x konkretisie
404. m glich 3 3 2 2 Makros Makros oder Abk rzungen und Schablonen stellen ein weiteres n tzliches Hilfsmittel zur Verbesse rung der Lesbarkeit und nderungsfreundlichkeit von Ausdr cken dar vgl 2 2 4 4 Dar ber hinaus unterst tzen sie die Wiederverwendbarkeit von Teil Ausdr cken sowie das wichtige Konzept der Abstraktion indem sie eine Trennung von abstraktem Konzept wie z B wechselseitiger Ausschlu und konkreter Implementierung des Konzepts z B als sequentielle Iteration ber eine Disjunktion erlauben vgl 2 3 3 1 Diese Trennung erm glicht es auch da Makros f r bestimmte anwendungs spezifische Problemstellungen wie z B die temporale Beziehung zwischen zwei Untersuchungsarten vgl 2 7 4 4 von einem Experten erstellt und anschlie end ohne Kenntnis ihrer m glicherweise komplexen internen Struktur von einem weniger ge bten Laien verwendet werden k nnen vgl auch 2 8 2 2 und 5 4 6 Ungeachtet dieser f r den praktischen Einsatz von Interaktionsausdr cken u erst wichtigen Fak toren bieten Makros rein formal betrachtet keinerlei zus tzliche Funktionalit t oder Ausdrucks m chtigkeit da Makroaufrufe in einem Ausdruck bzw Abk rzungen oder Schablonen in einem Gra phen stets durch intelligenten Textersatz eliminiert werden k nnen Aus diesem Grund wird an dieser Stelle nicht n her auf die konkrete syntaktische Notation von Makrodefinitionen und aufrufen eingegangen A
405. mathematisch unge bte Anwender nicht ohne weiteres beherrschbar sind vgl auch 2 8 2 5 war es allerdings nie ein Ziel dieser Arbeit einen derart ausdrucksstarken Formalismus zu entwickeln Vielmehr wurde versucht ausgehend von regul ren Ausdr cken als Basisformalismus und motiviert durch konkrete Anwen dungsbeispiele mit m glichst wenigen zus tzlichen Operatoren und Konzepten einen in sich ge schlossenen Formalismus zu entwickeln mit dem eine Vielzahl praktischer Synchronisationsprobleme zufriedenstellend gel st werden kann In diesem Entwicklungsproze wurden beispielsweise die par allele Iteration und der Synchronisationsoperator als essentielle Konstrukte identifiziert w hrend das Konzept der Rekursion zu keinem Zeitpunkt vermi t wurde Kapitel 4 Implementierung von Interaktionsausdriicken 4 1 Einleitung 4 1 1 Aufgabenstellung Nachdem Interaktionsausdr cke und graphen in den vorangegangenen Kapiteln sowohl anschaulich eingef hrt als auch formal definiert worden sind soll im vorliegenden Kapitel eine konkrete Imple mentierung des Formalismus entwickelt bzw vorgestellt werden d h ein Programm das in der Lage ist f r einen beliebigen Ausdruck x die folgenden Probleme m glichst effizient zu l sen Wort und Teilwortproblem F r ein Wort w amp soll entschieden werden ob es ein vollst ndiges oder partielles Wort des Ausdrucks x darstellt d h ob w x oder w e x gilt Aufgrund der Inklus
406. mehrmals auftritt da p in der Argumentliste von a immer an der selben Position steht In diesem Fall sind die logisch gebildeten Teilgraphen x Yp paarweise wen disjunkt vgl 4 7 2 2 so da die Sowohl als auch Verzweigung x x quivalent zu der Kopplung x x ist Wendet man das Prinzip der Partitionierung auch auf den Graphen in Abb 5 15 an der ebenso wie der zuvor betrachtete Graph x eine Integrit tsbedingung x y f r alle Patienten p formuliert so er p h lt man entsprechend n logische Teilgraphen x xp f r die gilt x x o x Aufgrund des Assoziativ und Kommutativgesetzes vgl 3 4 7 2 kann die Kopplung x x der beiden Gra phen x und x daher wie folgt partitioniert werden xox x o 0x 0 x o 0x o xi O O x O xn Da nun jeder Teilgraph x x wieder identisch wie der vollst ndige Graph x x implementiert werden kann l t sich das Prinzip der Partitionierung auf Kopplungen von Fiir alle Verzweigungen verallgemeinern sofern diese anhand desselben Parameters verzweigen 24 Stunden Unt h uhl hren O end end aD p endo p endo Ch P a P abrufen p sono Abbildung 5 15 Mindestabstand zwischen Endoskopie und Sonographie 5 2 8 5 Anwendung Konkret bedeutet das da man zur Implementierung der Bedingungen x und x n Interaktionsmana ger N N einsetzen kann
407. men handelt es sich um ein etikettiertes Petrinetz Baumgarten96 engl labeled Petri net Peterson77 das neben Stellen Transitionen und Kanten eine Abbildung 4 T von Transitionen t T auf Aktionen a X besitzt Jede Transition t wird mit der Ak tion A t beschriftet 6 5 Petrinetze 6 5 1 263 San Abbildung 6 11 Verwendung von Hilfsstellen Allerdings treten in diesem Beispiel bereits gewisse Probleme bzgl der exakten Interpretation des Petrinetzes auf Betrachtet man nur die zugeh rige Petrinetz Sprache d h die Menge aller m glichen Schaltfolgen des Netzes so entspricht diese unmittelbar der Menge W a b o a c Q a a b a c bzw a b o a c a b a c des korrespondierenden Interaktionsausdrucks a b a c je nachdem ob man beliebige oder nur bestimmte Markierungen des Netzes als zul ssige Endmarkierungen betrachtet Versucht man je doch das Netz Schritt f r Schritt auszuf hren indem man jeweils eine aktivierte Transition die einer in der realen Welt ausgef hrten Aktion entspricht schalten l t so ist man unmittelbar mit den in 2 4 3 diskutierten Entscheidungsproblemen konfrontiert So kann im initialen Zustand von Abb 6 11 sowohl die obere als auch die untere Transition a schalten und abh ngig davon f r welche man sich entscheidet kann anschlie end entweder nur
408. mentierungskonzepte kurz erl utert werden Die speisenden Philosophen verbringen ihr Leben bekanntlich mit Nachdenken und Essen Um es sen zu k nnen betritt ein Philosoph den Speisesaal und setzt sich an seinen Platz an einem runden Tisch in dessen Mitte sich eine Sch ssel mit Spaghetti befindet die niemals leer wird Au erdem liegt f r jeden Philosophen eine Gabel zu seiner linken bereit Bedauerlicherweise sind die Spaghetti in der Sch ssel aber so verschlungen da man sie nur mit zwei Gabeln essen kann Daher benutzt je der Philosoph zum Essen nicht nur seine eigene sondern zus tzlich die Gabel seines rechten Nach barn Dies hat zur Folge da ein Philosoph nur essen kann wenn die Gabeln zu seiner linken und zu seiner rechten gerade verf gbar sind d h wenn seine beiden Nachbarn gerade nicht essen Nach dem Essen legt der Philosoph beide Gabeln zur ck auf den Tisch und verl t den Raum um erneut nachzudenken 5 3 2 1 Aktivit ten Die T tigkeiten der Philosophen wie z B Nachdenken Essen usw k nnen durch Prozeduren think eat etc modelliert werden die als Parameter jeweils nat rliche Zahlen zur Identifika tion von Philosophen bzw Gabeln erhalten vgl Abb 5 24 Das vorangestellte Schl sselwort sync das eine hnliche aber nicht identische Bedeutung wie das Schl sselwort synchronized der Spra che Java besitzt signalisiert dem CH Pr compiler da diese Funktionen in nachfolgenden Synchro nisati
409. mit Interaktionsgraphen Aufgrund dieser konzeptuellen und optischen Verwandtschaft wird im folgenden 6 5 1 zun chst untersucht inwieweit sich Interaktionsgraphen auf einfache Stellen Transitionen Netze 6 5 1 1 bis 6 5 1 5 oder auf Netze mit individuellen Marken 6 5 1 6 und 6 5 1 7 abbilden lassen Anschlie Bend 6 5 2 wird diese Transformation die teilweise zwar schwierig prinzipiell aber durchf hrbar 262 6 5 1 Kapitel 6 Verwandte Arbeiten erscheint kritisch hinterfragt hnlich wie bei Proze algebren ergibt sich hierbei da Petrinetze eini ge f r die Entwicklung von Interaktionsgraphen wesentliche Prinzipien nicht zufriedenstellend unter st tzen und daher zur Beschreibung von Inter Workflow Abh ngigkeiten nicht geeignet sind 6 5 1 Transformation von Interaktionsgraphen in Petrinetze 6 5 1 1 Stellen Transitionen Netze Wie bereits erw hnt besitzen Interaktionsgraphen sowohl was ihre u ere Form als auch ihre in haltliche Zielsetzung betrifft durchaus hnlichkeiten mit Petrinetzen Betrachtet man z B den Gra phen in Abb 6 9 so k nnte man ihn einerseits als graphische Repr sentation des Interaktionsaus drucks a b und andererseits als einfaches Stellen Transitionen Netz auffassen in dem Stellen wie blich durch Kreise und Transitionen durch beschriftete Rechtecke dargestellt sind Au erdem soll angenommen werden da Kanten ohne Pfeile implizit von links nach rechts gerichtet sind
410. ms zu vermeiden f hrt dies dazu da das Aktionsproblem f r sehr viele Ausdr cke in konstanter oder linearer Zeit gel st werden kann so fern der Ausdruck keine parallelen Quantoren enth lt Bei einer zus tzlichen vollst ndigen und ho mogenen Allquantifizierung auf u erster Ebene ergibt sich dann schlimmstenfalls lineare bzw quadratische Zeit vgl die Beweise in 4 7 3 und 4 7 4 250 6 2 4 Kapitel 6 Verwandte Arbeiten Ein weiterer wichtiger Unterschied zwischen Shaws Algorithmus und der AA Implementierung besteht darin da ersterer in der publizierten Form nicht in der Lage ist das Teilwort oder Aktions problem zu l sen obwohl diese Fragestellung auch in den von Shaw skizzierten Anwendungsberei chen von gro er Bedeutung ist Diese Tatsache untermauert die oben erw hnte Aussage da Ereignis und Flu ausdr cke nur zur Spezifikation oder zur Dokumentation nicht jedoch zur realen Implemen tierung von Software Systemen eingesetzt werden 6 2 4 CoCoA Ausf hrungsregeln CoCoA Coordinated Cooperation Agendas Faase96 ist eine Spezifikationssprache f r kooperative Szenarien wie z B die gemeinsame Erstellung eines gr eren Dokuments durch mehrere Auto ren die im Rahmen des ESPRIT Projekts TransCoop an der Universit t Twente entwickelt wurde Neben umfangreichen Beschreibungsmitteln zur Spezifikation kooperierender Aktivit ten bietet die Sprache sogenannte Ausf hrungsregeln an die eine Teilmenge
411. n Langbefund Langbefund erstellen lesen Termin vereinbaren Endoskopie Abbildung 1 5 Explizite Synchronisierung abh ngiger Workflows einige Send und Receive Anweisungen erweitert die durch die workflow bergreifenden gestri chelten Pfeile dargestellt sind Durch die wechselseitige Verkn pfung von Untersuchung anordnen des einen Workflows mit Patient vorbereiten des jeweils anderen Workflows soll erreicht werden da die beiden Vorbereitungsschritte gleichzeitig zur Ausf hrung angeboten werden und daher faktisch verschmolzen werden k nnen auch wenn es sich formal um zwei getrennte Schritte handelt An schlie end kann der Patient wie in Abb 1 4 zur Sonographie und nach deren Durchf hrung zur En doskopie gerufen werden 1 3 2 2 Kritik Diese Vorgehensweise hat zwar gegen ber der Verschmelzung abh ngiger Workflows den Vorteil da einzelne Workflows separat modelliert werden k nnen und ihre Gr e dadurch rein u erlich ber schaubar bleibt An der inh renten Komplexit t der Definitionen ndert diese Tatsache jedoch nur we nig da man zum Verst ndnis einer einzelnen Workflow Spezifikation nun u U s mtliche direkt oder indirekt mit diesem Workflow verbundenen Definitionen ben tigt Hinzu kommt da man bei der Modellierung einzelner Workflows die workflow bergreifenden Pfeile aus Abb 1 5 gar nicht direkt 8 1 3 3 Kapitel 1 Motivation Aufgabenstellung und Uberblick sieh
412. n Auch die Liste der positiven Komplexit tsaussagen in 4 7 5 2 l t sich sicherlich um weitere Krite rien erweitern so da f r eine noch gr ere Menge von Ausdr cken als bisher bewiesen werden kann da sie gutartig oder sogar harmlos sind Eventuell m ssen hierf r allerdings weitergehende Optimie rungen des Zustandsmodells in Betracht gezogen werden da die Gutartigkeit oder Harmlosigkeit ei nes Ausdrucks zum Teil von unscheinbaren Zustandsoptimierungen abh ngen kann vgl 4 8 1 4 Au erdem k nnte man die Komplexit tsaussagen dahingehend erweitern da man nicht nur einzel ne Operatoren sondern auch Kombinationen von Operatoren betrachtet da die Verzweigungsgrade verschachtelter Operatoren oft nicht unabh ngig voneinander sind vgl 4 7 5 3 Schlie lich k nnte es sich lohnen auch die Struktur der zu verarbeitenden Worte in die Komplexit tsbetrachtungen mit einzubeziehen da sich prinzipiell b sartige Ausdr cke oft nur f r bestimmte gezielt konstruierte und h ufig nicht praxisrelevante Aktionsfolgen tats chlich b sartig verhalten 7 2 2 3 Ausdrucksm chtigkeit von Interaktionsausdr cken F r die in 3 5 3 4 ge u erte Vermutung da Interaktionsausdr cke und Kontextfreie Grammatiken bzgl ihrer Ausdrucksm chtigkeit nicht vergleichbar sind gilt es entweder einen Beweis zu finden oder aber sie zu widerlegen d h zu zeigen da Interaktionsausdr cke ausdrucksst rker als kontext freie Grammatike
413. n Formalismen ist jedoch zu ber cksichtigen da bei der Kombination der von Pfadausdr cken angebo tenen Operatoren zum Teil erhebliche Einschr nkungen zu ber cksichtigen sind Campbell74 Zum ersten darf in einer zusammengeh renden Menge von Pfadausdr cken jeder Prozedurname nur einmal auftreten Durch die Einf hrung von Dummy Prozeduren die lediglich eine andere Pro zedur aufrufen kann man diese Einschr nkung zwar prinzipiell umgehen die resultierenden Formu lierungen verlieren allerdings wesentlich an Kompaktheit Eleganz und Verst ndlichkeit Die sequentielle Iteration mu einerseits als u erster Operator jedes Ausdrucks angewandt werden andererseits darf sie nicht verschachtelt werden Dies erkl rt auch ihre zun chst etwas merkw rdig anmutende Notation mit den Worten path und end die im Prinzip als Schl sselworte zur Einbet tung eines Pfadausdrucks in die umgebende ADT Definition dienen Die parallele Iteration darf ebenfalls nicht verschachtelt werden Sequ Sequ Par Par re Formalismus Komp Iter Kompr ier Disj Konj Sync Quant Pfadausdr cke Interaktionsausdr cke Legende Operator wird vollst ndig unterst tzt Operator wird eingeschr nkt unterst tzt Operator wird nicht unterst tzt Tabelle 6 2 Vergleich von Pfad und Interaktionsausdr cken 6 2 Erweiterte regul re Ausdr cke 6
414. n ae gt Ausf hrungs er Programme Einheit Y Interaktions Workflow Manager C Ausf hrungs Einheit Z Abbildung 5 44 Mehrere Interaktionsmanager und Workflow Ausf hrungseinheiten 5 5 3 Adaption von Workflow Ausf hrungseinheiten 5 5 3 1 Aktualisierung von Arbeitslisten Eine zweite M glichkeit Workflow bergreifende Integrit tsbedingungen zu implementieren besteht darin die zentrale Ausf hrungseinheit eines Workflow Management Systems geeignet zu modifizie ren Abbildung 5 45 zeigt das resultierende Zusammenspiel von Interaktionsmanager Workflow Aus f hrungseinheit und Arbeitslistenprogrammen zur Aktualisierung von Arbeitslisten F r jede Aktivit t A die aus Sicht der Workflow Ausf hrungseinheit zul ssig ist wird eine Subscribe Nachricht f r die Startaktion Ag an den Interaktionsmanager gesandt 1 Erst wenn vom Manager eine Permit Nachricht f r die Aktion Ay eintrifft 2 wird den Arbeitsli stenprogrammen mitgeteilt da die Aktivit t A zul ssig ist 3 Trifft sp ter eine zugeh rige Forbid Nachricht ein 4 wird diese Mitteilung widerrufen 5 Dieses Wechselspiel kann sich beliebig oft wiederholen 2 5 Ist eine Aktivit t A aus Sicht der Workflow Ausf hrungseinheit nicht mehr zul ssig so wird eine Cancel Nachricht f r die Startaktion A an den Interaktionsmanager gesandt 6 und den Arbeitsli stenprogrammen mitgeteilt da A nicht mehr zul ssig ist 7 Bei den Ar
415. n d h die Komplexit t konnte von exponentiell auf linear reduziert werden 2 4 5 Zusammenfassung In den vorangegangenen berlegungen wurden im Prinzip schon einige Kerngedanken einer prakti schen mplementierung von Interaktionsgraphen vorweggenommen vgl Kapitel 4 die im folgenden noch einmal kurz zusammengefa t werden 1 Um entscheiden zu k nnen ob eine bestimmte Aktion in einer bestimmten Situation zul ssig ist oder nicht ist es sinnvoll den gegebenen Graphen zielgerichtet zu durchlaufen d h die tats ch lich ausgef hrten Aktionen in notwendige Entscheidungsprozesse miteinzubeziehen 2 Aus verschiedenen Gr nden k nnen und d rfen Graphen Konflikte enthalten d h beim zielgerich teten Durchlaufen k nnen Situationen auftreten in denen Entscheidungen nicht sofort getroffen werden K nnen 3 Um ein deterministisches Systemverhalten zu gew hrleisten das die Souver nit t des Benutzers respektiert d rfen in solchen Situationen keine willk rlichen oder zuf lligen Entscheidungen ge troffen werden weil diese im Widerspruch zur Intention des Benutzers stehen k nnten Vielmehr 48 2 5 1 Kapitel 2 Interaktionsgraphen m ssen Entscheidungen solange aufgeschoben werden bis sie deterministisch getroffen werden k nnen 4 Bei einer naiven Umsetzung dieses Prinzips kann die Menge der zu verwaltenden Zust nde oder Alternativen Gr enordnungen annehmen die praktisch nicht mehr handhabbar sind Daher be steht
416. n d h die Menge der beiden 2 7 Interagierende medizinische Untersuchungsworkflows 2 7 3 57 u A endo o o o o o o sono e e e o e e radio o o o o o o f gt p Meier Maier Meyer Mayer Mayr Mair Abbildung 2 67 Zweidimensionaler Parameterraum Zweigen gemeinsamen Aktivit ten dar w hrend die Menge der wei en Punkte der Menge von Aktivi t ten entspricht die nur im oberen Zweig der Kopplung auftreten Folglich darf eine Aktivit t Untersuchung sono f r Patient p durchf hren nur dann ausgef hrt wer den wenn sie sowohl im oberen als auch im unteren Zweig der Kopplung durchlaufen werden kann was genau dann der Fall ist wenn sich momentan h chstens zwei derartige Aktivit ten in Ausf hrung befinden Sind bereits drei Sonographien aktiv so w rde der obere Zweig der Kopplung zwar die Ausf hrung weiterer zwei erlauben der untere Zweig w rde dies jedoch unterbinden Aktivit ten Untersuchung u f r Patient p durchf hren mit einer Parameterbelegung u sono hinge gen kommen nur im oberen Zweig der Kopplung vor und d rfen daher ausgef hrt werden wenn sie von diesem zugelassen werden Dies ist genau dann der Fall wenn sich momentan h chstens vier der artige Aktivit ten in Ausf hrung befinden Anmerkung In Abb 2 67 wurden die Achsen des Koordinatensystems bewu t nur mit exemplarischen Werten beschriftet die sinnvoll f r die Parameter p bzw u sind obwohl beide Achsen grunds tzlich dieselbe Me
417. n engl traces charakterisiert wobei eine Spur 9 i i Derartige Prozesse werden von Hoare als sequential processes bezeichnet 6 3 ProzeBalgebren 6 3 2 257 nichts anderes als ein partielles Wort im Sinne einer sprachtheoretischen Semantik darstellt Zur Defi nition von Prozessen mittels Rekursionsgleichungen wird eine Fixpunkttheorie verwendet mit deren Hilfe sowohl die Existenz als auch die Eindeutigkeit von L sungen gezeigt werden kann sofern die Gleichungen gewissen syntaktisch nachpriifbaren Bedingungen geniigen Im Fall nichtdeterministischer Prozesse werden zus tzliche Charakteristika von Prozessen wie z B refusals failures und divergences betrachtet deren Erl uterung hier zu weit f hren w rde Inter essant ist jedoch da im Kontext nichtdeterministischer Prozesse die oben erw hnten Bedingungen f r Rekursionsgleichungen aufgehoben werden k nnen Sofern eine gegebene Gleichung von mehr als einem Proze erf llt wird wird derjenige Proze als eindeutige L sung der Gleichung definiert der am wenigsten deterministisch ist und damit im Prinzip eine Art Obermenge aller brigen L sungen darstellt Beispielsweise erh lt man als eindeutige L sung der trivialen Gleichung X X den Proze CHAOS dessen Verhalten wie der Name schon andeutet absolut willk rlich sein kann 6 3 2 3 Implementierung des Formalismus Hoare skizziert f r s mtliche CSP Operatoren eine berraschend einfache
418. n A x f r alle m glichen Ausdr cke x aus der Richtigkeit von B n f r alle n e IN Nach dem Prinzip der vollst ndigen Induktion f r nat rliche Zahlen folgt dies wiederum aus der Richtigkeit von B O und der Richtigkeit der Implikation B in 1 gt B n f r alle n e N 2 Da die atomaren Ausdr cke x a genau die Ausdr cke mit null Operatoren darstellen folgt die Richtigkeit der Aussage B 0 aus der Richtigkeit der Aussage A x f r alle atomaren Ausdr cke x a 3 Wenn ein zusammengesetzter Ausdruck x y x y z oder x y genau n Operatoren P enth lt dann enthalten seine Teilausdr cke y und ggf z h chstens n 1 Operatoren Daher ist die Implikation B n 1 B n f r alle n e IN richtig wenn die Richtigkeit von A x f r alle zu sammengesetzten Ausdr cke x aus der Richtigkeit von A f r alle Teilausdr cke von x folgt 3 4 3 2 Anwendung Um im folgenden Aussagen f r beliebige Ausdr cke x zu beweisen gen gt es also als Induktionsan Jang die Richtigkeit der Aussage f r atomare Ausdr cke direkt zu beweisen und anschlie end als In duktionsschritt die Richtigkeit der Aussage f r einen zusammengesetzten Ausdruck unter der Induk tionsvoraussetzung zu beweisen da die Aussage f r seine Teilausdr cke bereits bewiesen ist F r diesen Induktionsschritt ist i d R eine Fallunterscheidung nach der Struktur des Ausdrucks d h nach seinem Hauptoperator erforderlich 3 4 Eigenschaften von Interakt
419. n CSP Proze wirklich nichtdeterministisch im Sinne von nicht exakt vorhersagbar verhalten was f r Anwendungsbereiche wie Workflow Management nicht ak zeptabel w re Auf der anderen Seite l t sich der AA Disjunktionsoperator nicht exakt auf CSP abbilden Bei der Abbildung auf das Auswahl Konstrukt x gt P y Q verliert man die M glich keit der kontrollierten Mehrdeutigkeit x und y m ssen verschieden sein w hrend man bei der Ab bildung auf einen der Operatoren oder die Vorhersagbarkeit verliert Das f r Interaktionsaus dr cke wesentliche Prinzip der Souver nit t des Benutzers vgl 2 4 3 5 das von Hoare als angelic nondeterminism bezeichnet wird wird in CSP so nicht unterst tzt Da Mehrdeutigkeiten nicht nur durch Disjunktionen hervorgerufen werden k nnen sondern z B auch durch Iterationen oder paralle le Kompositionen hat dieser Unterschied weitreichende Konsequenzen insbesondere auch f r die operationale Semantik und die Implementierung des Formalismus Anmerkung W rde man von einem Proze P 1 Q oder P Q nur die Menge seiner Spuren d h sei ne Sprache betrachten so w re diese f r beide Prozesse tats chlich identisch zur Menge der partiel len Worte des Interaktionsausdrucks P Allerdings w rde man bei dieser Sichtweise einen gro en Teil der Theorie von CSP n mlich gerade die umfassende Behandlung nichtdeterministischer Prozesse ber Bord werfen Der verbleibende Re
420. n Interaktionsgraphen einge f hrt worden sind sollen in den nun folgenden Abschnitten 2 4 bis 2 6 einige grundlegende konzep tionelle Fragen er rtert werden bevor in 2 7 das in Kapitel 1 vorgestellte Anwendungsszenario der interagierenden medizinischen Untersuchungsworkflows wiederaufgegriffen wird 2 4 1 Willk rliche Entscheidungen Ein Interaktionsgraph beschreibt eine Menge zul ssiger Ausf hrungsreihenfolgen die man erh lt wenn man den Graphen gem der in diesem Kapitel erl uterten Regeln durchl uft und die dabei pas sierten Aktionen protokolliert Wie bereits in 2 1 1 erw hnt enthalten die meisten dieser Regeln mehr oder weniger gro e Freiheitsgrade Beispielsweise kann man an einer Entweder oder Verzwei gung entweder nach oben oder nach unten abbiegen und je nachdem f r welchen Zweig man sich entscheidet durchl uft man in der Regel unterschiedliche Folgen von Aktionen An einem Beliebig oft Verzweigungsknoten hat man nicht nur zwei sondern sogar unendlich viele Alternativen Die Mannschaft kann den Rumpf der Verzweigung komplett berspringen oder sich in eine beliebige An zahl von Gruppen aufteilen die den Rumpf unabh ngig voneinander durchlaufen Ebenso kann z B auch der Rumpf einer Wiederholung beliebig oft durchlaufen werden F llt man in jeder dieser Entscheidungssituationen eine willk rliche oder zuf llige Entscheidung d h durchl uft man den Graphen ziellos so erh lt man als Resultat irgendeine zul s
421. n Wert V i der Menge 0 0 p Q T V ersetzt Um aufwen dige Kopieroperationen und unn tige tempor re Objekte zu vermeiden werden die einzelnen Erset zungen mit Hilfe der oben erl uterten Multimengen Operatoren und an Ort und Stelle vorge nommen und sp ter durch Ausf hren der inversen Operationen wieder r ckg ngig gemacht Um die Menge V schrittweise durchlaufen zu k nnen besitzt die Funktion transalt einen wei teren optionalen Parameter i der anfangs den Wert 1 besitzt und bei jedem rekursiven Aufruf um 1 erh ht wird Hat man die Menge V in einer Kette rekursiver Aufrufe vollst ndig durchlaufen was ge nau dann der Fall ist wenn die Bedingung i lt V nicht mehr erf llt ist so entspricht der Para meter T nicht mehr einer urspr nglichen Alternative T s alts sondern einer modifizierten Alter native S XT Nach Definition des Zustands bergangs wird in einer solchen Alternative sukzessive jeder erweiterte Zustand durch seinen transformierten Zustand r 7 f ersetzt um jeweils eine neue Alternative S t t zu erzeugen Da die so entstandenen Alternativen in der Menge A gespei chert werden sollen wird hier kein update in place vorgenommen sondern stattdessen eine Kopie T_ T von T erzeugt und modifiziert Um die Optimierungsfunktion p zu ber cksichtigen werden Alternativen mit einem ung ltigen Zustand Wert Paar t_ bergangen Anmerkung Ebenso wie die Defi
422. n an die es erlauben durch die Definition einer einzigen Vergleichsprozedur cmp alle sechs Vergleichsoperatoren auf einmal f r einen bestimmten Typ wie z B Action zu implementieren Au erdem ist die Prozedur cmp f r alle eingebauten Typen der Sprache einschlie lich Sequenzen vordefiniert was die Formulierung neuer Vergleichsvorschriften erheblich vereinfacht Vgl auch A 2 2 und A 3 2 5 4 4 2 4 Partielle Funktionen Das Schl sselwort part am Anfang einer Funktionsdefinition leitet eine partielle oder st ckweise de finierte Funktion ein deren Rumpf nur ausgef hrt werden darf wenn die im Funktionskopf nach dem Schl sselwort if formulierte Bedingung von den aktuellen Aufrufparametern erf llt wird Dies ent 4 4 Implementierung der formalen Semantik 4 4 2 129 spricht der in mathematischen Texten gebr uchlichen bedingten Formulierung FR Be Xn g x shots Xn falls P x wales Xn die besagt da die Definition f x ee Xn gix a Xn nur zutreffend ist wenn die Funktionsar gumente x x das Pr dikat P x x erf llen Um den Definitionsbereich einer so verein barten Funktion f sukzessive auszudehnen k nnen nach Belieben weitere Zweige mit geeigneten Definitionen gy g3 und zugeh rigen Pr dikaten P P hinzugef gt werden fa BR Xp la rests Xn falls P x Hi Xn f Aer Xn g x SEE Xn falls P x TA Xn Zusammengefa t entspricht dies der Definition
423. n angeh ren ja gerade entwickelt um Anwendern die Niederungen der Ebene 2 der Semaphore angeh ren zu ersparen Das bei Ereignisausdr cken verwendete Konzept ist zwar eher deklarativer Natur f hrt aber den noch oft zu Formulierungen die tendenziell schwerer verst ndlich sind als solche die stattdessen konjunktive Verkn pfungen verwenden vgl das folgende Beispiel Bei beiden Konzepten mu ein Ausdruck f r den die Menge seiner zul ssigen Ausf hrungsreihen folgen weiter eingeschr nkt werden soll um zus tzliche Synchronisationssymbole erweitert d h unter Umst nden nachtr glich ver ndert werden Bei einer konjunktiven Verkn pfung hingegen wie sie von Interaktionsausdr cken unterst tzt wird kann der urspr ngliche Ausdruck unver ndert bernommen werden Somit ist das Konzept der konjunktiven Verkn pfung das einzige das das Prinzip der modularen Kombination von Ausdr cken konsequent unterst tzt Die Semantik der Konjunktion und Synchronisation ist wesentlich leichter zu verstehen als die der obigen Synchronisationsmechanismen Die Tatsache da die entsprechenden Operatoren dar ber hinaus auch einfacher zu implementieren sind ist ein willkommener Nebeneffekt war f r die kon zeptuellen berlegungen jedoch nicht ausschlaggebend Abgesehen von diesen Gr nden wurde bei der Entwicklung von Interaktionsausdr cken nie das Ziel verfolgt einen berechnungsuniversellen Formalismus zu entwickeln Beispiel Da
424. n dieser Gr enordnung 6 1 3 2 Kapitel 1 Motivation Aufgabenstellung und Uberblick Termin vereinbaren Sonographie anordnen Patient Sonographie Befund Befund abrufen durchf hren erstellen lesen Kurzbefund Kurzbefund erstellen lesen Patient vorbereiten Patient aufkl ren Endoskopie anordnen Patient Endoskopie abrufen durchf hren Langbefund Langbefund erstellen lesen Termin vereinbaren Abbildung 1 4 Verschmelzung von Workflows der einzelne um einiges komplexer ist als die hier gezeigten vereinfachten Beispiele Schulthei 95ab Schulthei 96 Konyen96abc so wird schnell klar da dieser Vorgehensweise durch die Komplexit t der resultierenden Gesamtworkflows enge Grenzen gesetzt sind Da sich Abh ngigkeitsbeziehungen au erdem transitiv fortpflanzen ist die Wahrscheinlichkeit relativ gro da man bei einer konsequen ten Anwendung dieser Methode im Endeffekt s mtliche Workflows einer Klinik oder eines anderen Unternehmens zu einem einzigen Mega Workflow verschmelzen m te dessen Komplexit t jedes beherrschbare Ma bersteigt Aus diesen Gr nden mu die auf den ersten Blick durchaus vern nftig erscheinende Idee Inter Workflow Abh ngigkeiten durch das Verschmelzen abh ngiger Workflows zu eliminieren als nicht praktikabel eingestuft werden 1 3 2 Explizite Synchronisierung abh ngiger Workflows 1 3 2 1 Ansatz Da
425. n dort den Entweder oder Ver einigungsknoten sowie den Endknoten der Wiederholung an dem man zu ihrem Anfangsknoten 34 2 3 3 Kapitel 2 Interaktionsgraphen zur ckkehren und den Rumpf erneut betreten kann In der Realit t hat der Angestellte des Kopiergesch fts jetzt das A4 Papierfach wieder geschlossen 5 W hlt man im mittleren Zweig der Kopplung nun den oberen Zweig der Entweder oder Verzwei gung so kann die Aktion Kopie A4 jetzt im oberen und mittleren o Zweig gleichzeitig durchlaufen werden weil die oben erw hnte Gruppe G ebenfalls in der Lage ist diese Aktion zu durchlaufen In der realen Welt hat der Kunde jetzt eine A4 Kopie erstellt und damit sein bisher eingeworfenes Geld verbraucht Anmerkung Im Verlauf dieses Beispiels wurden immer wieder willk rliche Entscheidungen getrof fen Die Mannschaft im oberen Zweig der Kopplung teilt sich in zwei Gruppen auf eine dieser Grup pen durchl uft den unteren Entweder oder Zweig die andere den oberen usw H tte man andere Ent scheidungen getroffen so h tte man mit gro er Wahrscheinlichkeit eine andere Folge von passierten Aktionen erhalten Wollte man f r eine vorgegebene Folge von Aktionen berpr fen ob sie aus Sicht des Graphen zul ssig ist so w re es ratsam den Graphen systematisch und zielgerichtet zu durchlau fen Dies wird in 2 4 genauer erl utert 2 3 2 4 Modulare Kombination Die speziellen Regeln zur Traversierung einer Kopplung die auf den ersten
426. n ei nem erfahrenen Experten erstellt werden k nnen w hrend erstere d h konkrete Abk rzungen oder Schablonen auch von weniger ge bten Anwendern ohne Kenntnis ihrer Implementierung ver wendet werden k nnen 2 8 2 3 Erweiterbarkeit Da Abk rzungen und Schablonen integrale Bestandteile von Interaktionsgraphen darstellen die sich nahtlos in das Gesamtkonzept einf gen ist der Formalismus homogen erweiterbar Beispielsweise k nnen Abk rzungen in derselben Weise wie Aktionen Parameter erhalten und Schablonen in dersel ben Weise wie eingebaute Operatoren verwendet werden Auf diese Weise ist es unter anderem m glich benutzerdefinierte Operatoren wie z B die Blitz Verzweigung in 2 3 3 1 zu definieren eine M glichkeit die man nur in wenigen Formalismen oder Sprachen vorfindet 2 8 2 4 Modulare Kombination Aufgrund der vollst ndigen Orthogonalit t des Formalismus k nnen unabh ngig voneinander ent wickelte Teilgraphen beliebig zu neuen Graphen zusammengef gt werden Insbesondere erlaubt der Kopplungsoperator der von vielen verwandten Formalismen nicht oder nur ansatzweise unterst tzt wird eine schrittweise oder auch nachtr gliche Einschr nkung von Integrit tsbedingungen ohne hierf r die vorliegenden Graphen modifizieren zu m ssen Auch die Tragweite und Bedeutung dieser Aussage wei man vermutlich nur dann richtig einzusch tzen wenn man schlechte Erfahrungen mit anderen Formalismen gemac
427. n gekoppelt werden kann um die Einhaltung der spezifizierten Bedin gungen w hrend der Ausf hrung von Workflows sicherzustellen In Kapitel 6 werden zahlreiche verwandte Arbeiten vorgestellt und mit Interaktionsausdr cken ver glichen Hierbei wird deutlich da die grunds tzliche Idee erweiterte regul re Ausdr cke zur Be schreibung von Synchronisationsbedingungen zu verwenden zwar nicht neu ist da die bisher in der Literatur vorgeschlagenen Ans tze jedoch alle mehr oder weniger l ckenhaft sind und Interak tionsausdr cke somit eine Vereinigung und Erweiterung vieler anderer Formalismen darstellen Au erdem wird erl utert wie sich Interaktionsausdr cke im Detail von potentiell nichtdeterministi schen Formalismen wie Proze algebren und Petrinetzen unterscheiden In Kapitel 7 schlie lich werden die wesentlichen Ergebnisse und Errungenschaften der Arbeit zu sammengefa t und ein Ausblick auf m gliche zuk nftige Arbeiten gegeben Abbildung 1 8 stellt die Struktur der Arbeit graphisch dar und deutet an da sich ihr Inhalt grob in drei Abstraktionsebenen unterteilen l t 1 Sofern man lediglich an den wesentlichen Ideen und Ergebnissen interessiert ist gen gt es die bei den Kapitel der obersten Ebene zu lesen 1 4 Aufgabenstellung und Gliederung der Arbeit 1 4 2 13 Kapitel 1 Kapitel 7 Motivation Aufgaben Zusammenfassung stellung und berbl
428. n get geeignet umbenannt beispielsweise in get_org und durch eine neue Funktion get mit derselben Signatur ersetzt die vor und nach dem Aufruf der ur spr nglichen Funktion get_org jeweils die Hilfsfunktion wait aufruft vgl Abb 5 25 Diese erh lt als Parameter zum einen den Namen der zu synchronisierenden Funktion als Zeichenkette im Beispiel also get und zum anderen die Werte ihrer aktuellen Aufrufparameter die mit Hilfe einer geeignet zu definierenden und i d R statisch berladenen Funktion val bestimmt werden F r numerische Parameter liefert val z B eine textuelle Repr sentation der jeweiligen Zahl Schlie lich wird durch bergabe der Zahl 0 oder 1 angezeigt ob wait am Anfang oder am Ende der zu synchronisierenden Funktion aufgerufen wird Betrachtet man eine Funktion wie z B get als Aktivit t A so entsprechen die Aufrufe von wait am Anfang bzw Ende der Funktion der Ausf hrung der Aktionen A bzw A die das Star ten bzw Beenden der Aktivit t A markieren vgl 2 6 2 Da die Ausf hrung dieser Aktionen von ei nem Interaktionsmanager verfolgt und kontrolliert werden mu vgl 5 3 2 2 implementiert wait das einphasige Koordinationsprotokoll das f r diese Anwendung ausreichend ist vgl 5 2 2 2 Konkret fragt wait mit Hilfe einer Wait Nachricht beim Interaktionsmanager an ob 210 5 3 2 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Philosoph p nimmt
429. n quantifiziert ist wie z B der Beispielausdruck x so k nnen verschiedene Zweige des Quantorausdrucks gemeinsame Aktionen besitzen Im Beispiel geh rt die Aktion a sowohl zum Zweig y als auch zum Zweig yp 4 7 Komplexit tsbetrachtungen 4 7 2 165 4 7 2 3 Injektive und fokussierte Ausdr cke Definitionen 1 Ein Ausdruck x hei t injektiv wenn es zu jeder Aktion a amp h chstens einen Zustand s x gibt der diese Aktion erfolgreich verarbeiten kann d h f r den der Folgezustand s 7 s g ltig ist 2 Der Ausdruck x hei t initial fokussiert wenn f r alle w gilt G x o x d h wenn alle echten Folgezust nde verschieden vom initialen Zustand des Ausdrucks sind 3 Der Ausdruck x hei t terminal fokussiert wenn er h chstens den Zustand T als Endzustand be sitzt Ein Ausdruck der sowohl initial als auch terminal fokussiert ist wird auch als beidseitig fokussiert bezeichnet Anmerkung Die Definition eines injektiven Ausdrucks schlie t nicht aus da es f r ein und densel ben Zustand s verschiedene Aktionsfolgen w w gibt die alle in diesen Zustand f hren d h f r die s 6 x x gilt Anschauliche Interpretation Die Begriffe der Injektivit t und Fokussierung eines Ausdrucks x lassen sich am besten anhand eines Zustands bergangs Diagramms veranschaulichen in dem jeder Endzustand von x durch einen schwarzen Kreis jeder sonstige Zustand s
430. n sind F r letzteres m te man eine Abbildung angeben mit der eine beliebige kontextfreie Grammatik in einen quivalenten Interaktionsausdruck transformiert werden kann w h rend man f r ersteres beweisen m te da sich bestimmte kontextfreie Sprachen nicht mit Hilfe von Interaktionsausdr cken beschreiben lassen Vermutlich besitzen Interaktionssprachen d h Sprachen die durch Interaktionsausdr cke defi niert werden k nnen gewisse Abschlu eigenschaften der Art Wenn ein bestimmtes Wort w oder eine Menge von Worten w wp zur Menge x oder P x geh rt dann enth lt P x bzw B x auch das Wort w das wie folgt aus w oder w w konstruiert werden kann Eine triviale derartige Eigenschaft ist die Abgeschlossenheit von Y x bzgl Pr fixbildung vgl 3 4 4 F r regu l re und kontextfreie Sprachen stellt das Pumping Lemma eine solche Eigenschaft dar und f r einen Interaktionsausdruck x y gilt z B uve V x gt u vcYx Wenn man dann eine kontextfreie Sprache L angeben kann die zwar das Wort w oder die Menge der Worte w w nicht jedoch das Wort w enth lt hat man auf diese Weise gezeigt da L nicht durch einen Interaktionsausdruck beschrieben werden kann 7 2 Ausblick 12 3 277 7 2 2 4 Typisierte Quantorparameter F r bestimmte Anwendungsgebiete k nnte es n tzlich sein typisierte Quantorparameter zu verwen den deren Wertebereich auf eine Teilmenge der M
431. nagement Systemen angemessene Beachtung gefunden haben 6 6 2 d h da die vorliegende Arbeit in dieser Beziehung einen wichtigen wis senschaftlichen Beitrag leistet 6 6 1 Verh ltnis von Workflow Beschreibungssprachen und Interaktionsausdr cken 6 6 1 1 Unterschiede pr skriptiver und deskriptiver Formalismen Auf den ersten Blick m gen die AA Operatoren f r sequentielle Komposition Disjunktion und se quentielle Iteration an die f r imperative Programmier oder auch Workflow Beschreibungssprachen typischen Konstrukte Sequenz Verzweigung und Wiederholung erinnern Bei genauerer Betrachtung ergibt sich jedoch ein wesentlicher Unterschied W hrend man beispielsweise bei einer If then else Verzweigung oder bei einer Repeat until Schleife explizit formulieren mu unter welcher Bedingung der eine oder der andere Zweig durchlaufen bzw der Schleifenk rper wiederholt wird werden derarti 270 6 6 2 Kapitel 6 Verwandte Arbeiten ge Entscheidungen bei Interaktionsausdr cken implizit dadurch getroffen welche Aktionen in der rea len Welt ausgef hrt werden Ein imperatives Programm legt also abh ngig von seiner Eingabe oder gewissen externen Bedingungen exakt fest welche seiner Anweisungen in welcher Reihenfolge aus gef hrt werden und Kann somit als pr skriptive vorschreibende Spezifikation bezeichnet werden Demgegen ber beschreibt ein Interaktionsausdruck in der Regel eine gro e Menge gleichberechtig ter Ausf h
432. nager vor bergehend handlungsunf hig werden Im Gegensatz zu einer Ein Manager Architektur bei der ein Ausfall des einzigen vorhandenen Managers zwangsl ufig das ganze System lahmlegt k nnen beim Einsatz mehrerer Manager einige von ihnen durchaus handlungsf hig bleiben und Klienten bedienen die keinen der momentan ausgefallenen oder blockierten Manager ben tigen Aus der Sicht eines Klienten gestaltet sich das modifizierte dreiphasige Koordinationsprotokoll nun wie folgt vgl Abb 5 7 1 Der Klient schickt Ask Anfragen an alle Interaktionsmanager die die auszuf hrende Aktion a ken nen 2 Antwortet einer dieser Manager mit Reject darf die Aktion momentan nicht ausgef hrt werden In diesem Fall beantwortet der Klient eventuelle Accept Antworten anderer Manager mit Undo Antworten alle betroffenen Manager mit Accept so beginnt der Klient eine Transaktion f hrt die Aktion a aus sichert die Transaktion und verschickt Exec Best tigungen an alle beteiligten Mana ger 3 Antwortet nun einer der Manager mit Abort so mu die Transaktion zur ckgesetzt werden trifft jedoch eine Commit Antwort ein so Kann die Transaktion erfolgreich abgeschlossen werden Alle brigen Antworten k nnen im Prinzip ignoriert werden da sie identisch zur ersten eingetroffenen Antwort sein werden 5 2 7 4 Anmerkungen Da die Antwort auf eine Wait Anfrage auch unter normalen Umst nden sehr lange ausbleiben kann ist dieser Anfragetyp f r ein Koord
433. nd F r n 0 ergibt sich insbesondere da x und x selbst isoliert quivalent sein m ssen 3 4 1 2 Anmerkungen 1 Die klassische quivalenz von Ausdr cken ist lediglich f r den Vergleich von Interaktionsaus dr cken mit klassischen Formalismen wie z B regul ren Ausdr cken oder kontextfreien Gram matiken interessant f r die blicherweise nur vollst ndige Worte betrachtet werden vgl 3 5 Da in diesem Zusammenhang nur konkrete Ausdr cke ohne Parameter betrachtet werden ist eine Unterscheidung von isolierter und umfassender quivalenz hier nicht erforderlich 2 Sind zwei Ausdr cke x und x umfassend quivalent so kann x in jedem Kontext durch x er setzt werden und umgekehrt Wie in 2 5 2 1 Fu note gezeigt wurde m ssen x und x hierf r nicht nur dieselben partiellen und vollst ndigen Worte sondern auch dasselbe Alphabet besitzen Ist letzteres nicht der Fall sind die Ausdr cke nur fast quivalent 3 Gilt eine isolierte Gleichheitsaussage FOs eee Xn 8X e Xn f r alle Ausdr cke x x so gilt offensichtlich auch Panne len 92 3 4 2 Kapitel 3 Interaktionsausdriicke fiir beliebige Konkretisierungen x xp ae Pi der Ausdr cke x i 1 n Daraus folgt aber gem Definition 3 unmittelbar die G ltigkeit der umfassenden Gleichheitsaussage Fr Xn 80 In f r alle Ausdr cke x x E Daher geniigt es zum Beweis der umfassenden Gleichheitsaus
434. nd Schablonen Schritt 1 Aktivit ten Katalog Interaktionsgraph Workflow Interaktionsgraph T T T Allgemeine Inte Workflow Spezielle Inte grit tsbedingungen Definitionen grit tsbedingungen Schritt 2 Schritt 3 Schritt 4 Abbildung 5 40 Vorgehensmodell zur Definition von Workflow Geflechten Dar ber hinaus zeigt die Abbildung da in einem Schritt 0 der ggf auch parallel zu Schritt 1 aus gef hrt werden kann eine Bibliothek von Abk rzungen und Schablonen f r Interaktionsgraphen er stellt werden sollte die in den nachfolgenden Schritten 2 und 4 verwendet werden kann Wie in 2 8 2 2 und 3 3 2 2 erl utert wurde werden Makros wie z B Mindestabstand deren vergleichs weise komplexe interne Struktur nicht unmittelbar ihre an sich einfache Bedeutung und Verwendung widerspiegelt typischerweise von einem Interaktionsgraph Experten erstellt und k nnen dann auch von weniger ge bten Anwendern wie z B Workflow Modellierern benutzt werden 5 4 7 Anmerkungen Ebenso wie die bekannten Phasenmodelle des Software Engineering Schulz90 Denert91 sollte auch das hier beschriebene Vorgehensmodell zur Definition von Workflow Geflechten nicht als starres Schema sondern als sinnvolle Richtschnur verstanden werden In der Praxis laufen die Schritte 1 4 sicherlich nicht immer streng sequentiell sondern teilweise auch berlappend oder iterativ ab M glicherweise ist man aber auch mit der unangenehmen Situation konfrontiert
435. nd d des unteren Zweigs durchlaufen werden Erst dann kann die der Sowohl als auch Verzweigung folgende Aktion e passiert werden Die resultierende Gesamtreihenfolge ist daher a b c d e b Im unteren Zweig wird c passiert bevor im oberen Zweig b passiert wird c vor b a Im oberen Zweig wird b passiert bevor im unteren Zweig d passiert wird b vor d Da der obere Zweig jetzt vollst ndig durchlaufen ist mu jetzt im unteren Zweig d passiert werden bevor die Folgeaktion e passiert werden kann Resultat a c b d e Im unteren Zweig wird d passiert bevor im oberen Zweig b passiert wird d vor b Symmetrisch zum letzten Fall mu jetzt im oberen Zweig b passiert werden bevor die Fol geaktion e passiert werden kann Resultat a c d b e 2 Im unteren Zweig wird c passiert bevor im oberen Zweig a passiert wird c vor a Symmetrisch zum Fall 1 sind jetzt die folgenden Varianten m glich a d vora Resultat c d a b e b avord a d vor b Resultat c a d b e A bvord Resultat c a b d e Die Menge der zul ssigen Ausf hrungsreihenfolgen erh lt man also indem man die Folgen a b und c d beliebig miteinander verschr nkt und anschlie end jeweils ein e anf gt Das Verschr nken zweier Folgen ist vergleichbar mit dem Rei verschlu verfahren an einer Autobahn Engstelle oder dem Zusammenmischen zweier Kartenstapel bei dem
436. nd r o z g ltig d h es gilt y r T K u u u u y r y r und 9 65 As Ar P r so da tats chlich f r alle Worte w X gilt v s w e und 9 r d h s r Zusammen mit Punkt 2 folgt daraus die Transparenz von p gt B 4 Injektive und fokussierte Ausdr cke Dieser Abschnitt enth lt den Beweis des Satzes ber injektive und fokussierte Ausdr cke aus 4 7 2 3 Vor berlegungen Um die Injektivit t eines Ausdrucks x zu zeigen betrachte man eine Aktion a und zwei Zust nde 51 S2 x die beide die Aktion a akzeptieren d h f r die die Folgezust nde s r s und 55 Ta s2 g ltig sind Dann ist zu zeigen da s s gilt B 4 Injektive und fokussierte Ausdr cke B 4 2 325 Da ein ung ltiger Zustand keine Aktionen akzeptiert gen gt es hierbei g ltige Zust nde s und s zu betrachten d h Zust nde die durch die Verarbeitung eines partiellen Worts des Ausdrucks x ent standen sind Au erdem gen gt es Aktionen a a x zu betrachten da nur solche Aktionen von ei nem Zustand des Ausdrucks x erfolgreich verarbeitet werden k nnen vgl 3 4 4 2 B 4 1 Atomare Ausdr cke F r einen atomaren Ausdruck x b folgt die Behauptung da er injektiv und beidseitig fokussiert ist unmittelbar aus seiner operationalen Definition vgl 4 5 4 1 B 4 2 Sequentielle Komposition B 4 2 1 Injektivit t F r eine sequentielle Komposition x y z folgt aus den
437. nd wieder beendet wird Im Hauptprogramm vgl Abb 5 29 werden durch f nf aufeinanderfolgende Aufrufe der Proze funk tion Bd f nf nebenl ufige Philosophen Prozesse erzeugt bevor der Hauptproze selbst zu Ende geht 5 3 2 4 Beispielablauf Abbildung 5 30 zeigt einen m glichen Ablauf der Prozesse phil 1 1 2 und phil 2 2 3 wenn man vereinfachend annimmt da die anderen drei Prozesse erst sp ter gestartet werden oder 16 Auch dieser Programmteil lie e sich unabh ngig von der konkreten Philosophenzahl n wie folgt formulieren der Operator bezeichnet die Modulo Operation for i 1 i lt n i phil i i in 1 5 3 Synchronisation paralleler Programme 5 3 3 213 begin phil tl 15 2 Philosoph 1 i t mit den Gabeln 1 und 2 phil 2 2 3 Philosoph 2 i t mit den Gabeln 2 und 3 phil 3 3 4 Philosoph 3 i t mit den Gabeln 3 und 4 phil 4 4 5 Philosoph 4 i t mit den Gabeln 4 und 5 phil 5 5 1 Philosoph 5 i t mit den Gabeln 5 und 1 Abbildung 5 29 Hauptprogramm momentan vom Betriebssytem suspendiert sind Die Aufrufe der Hilfsfunktion wait kommunizie ren jeweils mit dem Interaktionsmanager der durch die vertikale Linie zwischen den beiden Prozessen symbolisiert wird Beide Prozesse durchlaufen zun chst die Funktionen think die dem Manager unbekannt ist da sie in keinem der beiden Interaktionsausdr cke aus 5 3 2 2 vorkommt und enter sowie get 1 1 bzw get
438. nd wird das Programm von einem zweiten CH spezifischen Pr prozessor bearbeitet der die Deklarationen von offenen Typen und Attributen partiellen Funktionen sowie Initialisierungs und Terminierungsanweisungen in geeignete C Deklarationen umwandelt In einem dritten Schritt wird das so vorverarbeitete Programm von einem gew hnlichen C Com piler bersetzt und mit Bibliotheksmodulen zur Unterst tzung dynamischer Objekte Sequenzen Strings Auspr gungen offener Typen partieller Funktionen u 4 zusammengebunden vgl A 3 2 A 3 2 Bibliotheksmodule A 3 2 1 Dynamische Sequenzen Hinter dem generischen Typ Seq Elem verbirgt sich eine C Template Klasse Repr sentation einer Sequenz template lt class Elem gt class SeqRep int len Lange Anzahl Elemente Elem elems Dynamisches Array von Elementen Dieses Ziel k nnte ebenso durch die Verwendung von C Namensr umen engl namespaces erreicht werden Der Import Pr prozessor realisiert das Konzept von Modulen mit expliziten Import Export Schnittstellen jedoch unabh ngig von einer konkreten Programmierspra che und kann daher in gleicher Weise auch f r andere Sprachen wie z B C AWK o eingesetzt werden die das Konzept von Namens r umen nicht unterst tzen 294 A 3 2 Anhang A Die Programmiersprache CH zur Verwaltung dynamischer Arrays mit Elementen vom Typ Elem Diese Art der Repr sentation er laubt einen direkten
439. nde besitzen zwar eine hierarchische Struktur ihre Tiefe wird jedoch statisch durch die Struktur des vorgegebenen Ausdrucks bestimmt vgl auch 4 7 1 1 d h ein Zustandsbaum kann nicht dy namisch in die Tiefe wachsen Ein dynamisches Wachstum in die Breite ist zwar m glich allerdings werden hierf r immer Mengen oder Multimengen von Teilzust nden verwendet bei denen die Rei henfolge der Elemente irrelevant ist Somit erscheint es schwierig wenn nicht unm glich mit Hilfe derartiger Zust nde das Konzept eines Stacks d h eines Last in first out Containers zu simulieren das man zur L sung des Klammerproblems offensichtlich ben tigt Zwar l t sich ein Stack auch mit Hilfe von Z hlern simulieren man kodiert den Stackinhalt als nat rliche Zahl zur Basis k wenn k die Kardinalit t des Stackalphabets bezeichnet Hopcroft90 und das Konzept eines Z hlers kann prinzipiell mit Hilfe einer parallelen Iteration verwirklicht werden vgl 3 5 3 1 und 3 5 3 2 indem man die Kardinalit t eines bestimmten Zustand Wert Paars in ei ner Alternative als Z hler interpretiert vgl 4 5 7 4 Allerdings sind die M glichkeiten zur Manipu lation solcher Z hler sehr begrenzt Bei der Verarbeitung einer Aktion d h bei einem einzelnen Zu stands bergang werden Kardinalit ten von Zustand Wert Paaren lediglich inkrementiert oder dekre mentiert eine Multiplikation oder Division eines Z hlers mit einem konstanten Faktor bzw eine
440. nde bzw Anwender soll schlie lich K nig sein und nicht der Willk r des Systems ausgeliefert sein mu sich der Automat d h der Inter aktionsgraph bzw das ihn interpretierende Programm gem Variante 2 verhalten d h Entscheidun gen die momentan nicht getroffen werden k nnen solange aufschieben bis sie getroffen werden k n nen Im konkreten Beispiel bedeutet das da man nach Einwurf einer 1 DM M nze im ersten Schritt sowohl die Alternative oberer Zweig als auch die Alternative mittlerer Zweig weiterverfolgen mu Wird als n chstes eine weitere 1 DM M nze eingeworfen so wird r ckwirkend klar da man den oberen Zweig durchlaufen mu da der mittlere Zweig diese Aktion im zweiten Schritt nicht er laubt Daher mu die Alternative mittlerer Zweig jetzt verworfen und nur noch die Alternative obe rer Zweig weiterverfolgt werden Wird im zweiten Schritt jedoch eine 2 DM Miinze eingeworfen so verh lt es sich gerade umgekehrt Die Alternative oberer Zweig wird verworfen weil sie die Aktion 2 DM im zweiten Schritt nicht erlaubt w hrend die Alternative mittlerer Zweig weiterverfolgt wird 2 4 3 2 Einwand Man mag an dieser Stelle einwenden da man den Graphen in Abb 2 48 unmittelbar in einen qui valenten Graphen transformieren kann bei dem die beschriebenen Entscheidungsprobleme oder Kon flikte nicht auftreten indem man die kritische Aktion 1 DM aus den oberen beid
441. nderen migriert werden kann erlaubt keine workflow bergreifende Synchro nisierung von Workflow Ausf hrungen Die Schnittstelle 5 schlie lich erlaubt externen Programmen wie z B einem Interaktionsmanager zwar den aktuellen Status in Ausf hrung befindlicher Work flows abzufragen und so prinzipiell die Ausf hrung von Aktivit ten zu verfolgen sie bietet jedoch keine M glichkeit diese Ausf hrung zu kontrollieren d h bei Bedarf zu unterbinden vgl 5 2 1 6 6 2 2 Semantische Integration von Workflows Eine der wenigen Arbeiten die sich explizit mit interagierenden Workflows befa t ist Casati96 Die dort identifizierten Inter Workflow Abh ngigkeiten sind z T recht hnlich zu denen die mit Interak tionsausdr cken beschrieben werden k nnen So entspricht eine condition action dependency Ay Ay lt cq B beispielsweise dem Ausdruck A O A B Allerdings dient der beschriebene Ansatz zur semantischen Integration von Workflows nur dazu die Beschreibungen mehrerer interagierender Workflows in einem umschlie enden Rahmen konzeptuell zusammenzufassen um so die Interaktionen zwischen den Workflows besser nachvollziehen zu k n nen ber eine implementierungstechnische Umsetzung der Inter Workflow Abh ngigkeiten werden jedoch keine Aussagen gemacht Au erdem beschr nken sich die Ausf hrungen auf kooperierende Workflows deren Interaktionen explizit beabsichtigt sind w hrend konkurrierende Workflows deren
442. ne Menge darstellt oder nicht A 3 2 3 Multimengen Multimengen vom Typ Mset Elem werden als Mengen von Paaren repr sentiert die jeweils aus ei nem Element vom Typ Elem und einer zugeh rigen Elementkardinalit t vom Typ int bestehen Letz A 3 Implementierung der Sprache A 3 2 295 Operation Erl uterung sl s2 Vereinigung der Mengen s1 und s2 sl amp s2 Durchschnitt der Mengen s1 und s2 sl s2 Differenz der Mengen s1 und s2 AS Komplement der Menge s s e Element e zur Menge s hinzuf gen s e Element e aus der Menge s entfernen sl lt lt s2 Ist s1 Teilmenge von s2 s1 gt gt s2 Ist s1 Obermenge von s2 e lt lt s Ist e ein Element der Menge s s gt gt e Enth lt die Menge s das Element e set el en Menge mit den Elementen el en forall e lt lt s Iteration ber alle Elemente e der Menge s Tabelle A 2 Mengenoperationen Auswahl tere bleibt bei den meisten Operationen wie z B m e oder m e zum Hinzuf gen bzw Entfernen einer Auspr gung des Elements e verborgen Kann aber bei Bedarf gezielt abgefragt werden Auch die Iteration forall e lt lt m ber alle Elemente e der Multimenge m unterscheidet sich syntaktisch nicht von einer Iteration ber eine Sequenz oder Menge allerdings wird jedes Element von m unab h ngig von seiner Kardinalit t genau einmal durchlaufen Die Konstante oo repr sentiert die spe zielle Kardinalit t oo Vgl auch 4 6
443. nen f r beliebige Typen definiert Sie rufen die Prozedur cmp mit ihren beiden Argumenten auf und werten deren Resultat aus Terminiert cmp normal werden die beiden Objekte als gleich angese hen tritt eine Ausnahme auf so bestimmt das durch sie bermittelte Vorzeichen welches Objekt das kleinere darstellen soll Dieser Mechanismus funktioniert insbesondere bei verschachtelten Aufrufen von cmp wie sie typischerweise beim Vergleich hierarchischer Objektstrukturen auftreten Sobald an einer Stelle der Aufrufhierarchie eine von null verschiedene Differenz auftritt d h zwei korrespondierende Teilob jekte verschieden sind wird eine Ausnahme ausgel st die s mtliche Inkarnationen von cmp vor zeitig beendet und das passende Vorzeichen zur ckliefert Terminieren alle Aufrufe von cmp nor mal so sind die beiden betrachteten Objektstrukturen gleich Als illustrierendes Beispiel betrachte man die generische Definition der Prozedur cmp f r Se quenzen vom Typ Seq Elem in Abb A 4 Im ersten Schritt werden die L ngen vom Typ int der Sequenzen s1 und s2 durch den rekursiven Aufruf cmp s1 s2 verglichen Sind sie verschie den wird eine entsprechende Ausnahme ausgel st die sowohl cmp s1 s2 als auch cmp sl template lt class Elem gt proc cmp Seq Elem sl Seq Elem s2 L ngen vergleichen cmp sl s2 Einzelne Elemente vergleichen Elem el e2 forall2 el l
444. nfachsten Fall besitzt sowohl ein Interaktionsmanager als auch jeder Klient ei nen persistenten Eingangskanal aus dem er Nachrichten entgegennimmt die an ihn adressiert sind Um eine Nachricht zu verschicken mu man diese direkt in den Eingangskanal des Empf ngers schreiben vgl Abb 5 22 Da ein Empf nger bzw sein Eingangskanal aber vor bergehend nicht er 10 delete entfernt das aktuelle Iterationselement der umgebenden forall Schleife aus der zugeh rigen Sequenz ohne die Iteration zu st ren oder in einen undefinierten Zustand zu versetzen Im n chsten Iterationsschritt wird daher wie gewohnt das n chste Element der Se quenz queue bearbeitet 206 5 2 10 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Eingangskanal Klient Anfragen Mae Anfragen Klient z B Station Best tigungen P m Best tigungen z B Endoskopie Antworten Interaktions Antworten Eingangskanal Amar Eingangskanal des Klienten des Klienten Abbildung 5 22 Verwendung persistenter Nachrichtenkan le reichbar sein kann ist es zumindest f r einen Interaktionsmanager sinnvoll einen zus tzlichen Aus gangskanal zu besitzen in dem er Nachrichten zwischenspeichern kann die nicht sofort zugestellt werden k nnen vgl Abb 5 23 Auf diese Weise ist sichergestellt da ein Manager durch das Ver senden einer Nachricht nicht blockie
445. nfassung 27 Weiterf hrende Operatoren Beispiel M nzkopierer 27 2 3 1 Normalbetrieb 27 2 3 1 1 Einfache Version 27 2 3 1 2 Verbesserte Version 28 2 3 1 3 Beliebig oft Verzweigung 28 2 3 1 4 Komfort Version 30 2 3 2 Papier nachf llen 31 2 3 2 1 Wechselseitiger Ausschlu 31 2 3 2 2 Kopplung 32 2 3 2 3 Beispiel 33 2 3 2 4 Modulare Kombination 34 2 3 3 Schablonen 34 2 3 3 1 Wechselseitiger Ausschlu 34 2 3 3 2 Variable Schablonen 35 2 3 4 Mehrere Kopierer 36 2 3 4 1 Erster Versuch 36 2 3 4 2 Zweiter Versuch 36 2 3 4 3 Allgemeing ltige L sung 37 2 3 4 4 F r alle Verzweigungen 38 2 3 4 5 Beispiel 38 2 3 4 6 F r ein Verzweigungen 39 2 3 5 Zusammenfassung 40 Zielgerichtetes Durchlaufen von Graphen 41 2 4 1 Willk rliche Entscheidungen 41 2 4 2 Zielgerichtete Entscheidungen 41 2 4 3 Aufgeschobene Entscheidungen und deterministisches Verhalten 42 2 4 3 1 Motivation 42 2 4 3 2 Einwand 43 2 4 3 3 Weitere Beispiele 44 2 4 3 4 Inh rent konfliktbehaftete Graphen 44 2 4 3 5 Res mee 45 2 4 4 Komplexit tsbetrachtungen 45 2 4 4 1 Exponentielle Komplexit t 45 2 4 4 2 Lineare Komplexit t 47 2 4 5 Zusammenfassung 47 Sackgassen und endlose Wege 48 2 5 1 Sackgassen 48 2 5 1 1 Beispiel 48 2 5 1 2 Diskussion 48 2 5 2 Endlose Wege 49 2 5 2 1 Beispiele 49 2 5 2 2 Folgerung 50 Aktionen und Aktivit ten 50 2 6 1 Punktuelle Aktionen 50 2 6 2 Zeitlich ausgedehnte und berlappende Aktivit ten 51 2 6 3 Anmerkungen 52 2 6 4 Graphisc
446. ng hnlich wie die Definition des Zustandsmodells in 4 5 ist auch der Beweis nach der Kategorie des Ausdrucks x partitioniert Der Beweis fiir atomare Ausdr cke x in B 2 3 1 stellt hierbei den Zn duktionsanfang dar w hrend die Beweise f r die brigen Ausdruckskategorien in den Abschnitten B 2 3 2 bis B 2 3 8 und B 2 4 1 bis B 2 4 4 zusammen den Induktionsschritt darstellen Um die Behauptungen zu zeigen wird in jedem dieser Abschnitte zun chst eine Aussage ber die Struktur der Folgezust nde o x des Ausdrucks x formuliert und sofern ihre Richtigkeit nicht un mittelbar offensichtlich ist mittels vollst ndiger Induktion nach der L nge des Wortes w bewiesen 302 B 2 2 Anhang B Verifikation des Zustandsmodells Monotonie und Korrektheit des Substitutions yas Invarianz relevan Q Zustandsmodells prinzip 55 i ter Parameterwerte 25 x Oy ao au p 35 oO lt Struktur der Definition von T Ic Folgezust nde o x und z s Korrektheit des Substitutions Zustandsmodells y Yp prinzip A l l l l Korrektheit des Substitutions Monotonie relevan 2 Zustandsmodells prinzip ter Parameterwerte 28 N gt n a z Struktu
447. ng C 9 Konstruktion einer Sequenz 2 C 2 Benutzerschnittstelle C 2 7 337 C 2 7 Schnittstelle zum Dateisystem Um den bis jetzt konstruierten Beispielgraphen zu vervollst ndigen mu die unterste F r ein Ver zweigung noch einen Parameter u erhalten und der gesamte wechselseitige Ausschlu in eine F r al le Verzweigung mit dem Parameter p eingebettet werden vgl Abb C 10 ET I FN Abbildung C 10 Vollst ndiger Beispielgraph Um den so erstellten Graphen in einer Datei abzuspeichern wird er zun chst wie gewohnt markiert Anschlie end bewegt man den Mauszeiger in die oberste Zeile des Fensters und klappt dort die bis jetzt geschlossene Entweder oder Verzweigung auf die alle Dateien des aktuellen Verzeichnisses als Pseudoaktionen einfacher Rahmen und eventuell vorhandene Unterverzeichnisse als Pseudoabk r zungen Doppelrahmen enth lt vgl Abb C 11 Plaziert man den Mauszeiger in eine Datei Ak tion so leuchtet diese rot auf und signalisiert damit da sie als Ziel einer anschlie enden Kopierope ration dienen kann Dr ckt man nun die rechte Maustaste so wird der markierte Graph in einen qui valenten Interaktionsausdruck transformiert und so in die Datei geschrieben Umgekehrt kann man durch Markieren einer Datei Aktion und anschlie endes Kopieren auf die Zeichenfl che oder auch in einen bestehenden Graphen einen Ausdruck aus dieser Datei einlesen und verwenden nachdem er mit Hilfe eines eingebauten
448. ng des Zustandsmodells 4 6 4 153 f r a ao 41 d m ssen f r lediglich die konkreten Parameterwerte der Aktion a eingesetzt werden 4 6 3 3 Erweiterte Zust nde Analog zu 4 5 6 4 wird in Abb 4 17 ein Typ Pair zur Repr sentation von Zustand Wert Paaren ver einbart und die Definition der Zustands bergangsfunktion trans auf derartige erweiterte Zust nde ausgedehnt Neben den Argumenten s und a erh lt diese Variante der Funktion trans einen Quantorparameter p ber den sie wie in 4 6 3 1 beschrieben den Zustand s state vor Durch f hrung des Zustands bergangs konkretisieren kann Aus Gr nden deren genaue Erl uterung hier zu weit f hren w rde mu diese Konkretisierung anschlie end gleich wieder r ckg ngig gemacht wer den um eine unbeabsichtigte Interpretation des Parameters p als Wert s value an anderen Stellen des Programms zu vermeiden Zustand Wert Paar type Pair attr state Pair gt State Zustand attr value Pair gt Value Wert Optimierter Zustands bergang f r ein Zustand Wert Paar Pair trans Pair s Action a Param p p value s value State t trans s state a p value if t return Pair state t value s value else return nil Abbildung 4 17 Zustand Wert Paare 4 6 4 Implementierung von Quantorausdriicken 4 6 4 1 Boolesche Quantorausdriicke Disjunktion Abbildung 4 18 zeigt die Implementierung des Zustandsmodells fiir Disjunk
449. ng verkn pfen um eine L sung f r das Gesamtproblem 3 DM einwerfen zu erhal ten vgl Abb 2 9 2DM 1DM 1DM 1DM Abbildung 2 9 Einwerfen von 3 DM Variante 4 Um diesen Graphen zu durchlaufen biegt man am linken Knoten sowohl nach oben als auch nach unten ab Im oberen Zweig mu man dann am linken O Knoten entweder nach oben oder nach unten abbiegen Biegt man nach oben ab so erh lt man insgesamt eine der beiden Reihenfolgen 1DM 2DM oder 2DM 1 DM je nachdem ob man zuerst die Aktion 1 DM des unteren Zweigs oder die Aktion 2DM durchl uft Biegt man an der O Verzweigung nach unten ab so erh lt man ins gesamt die Reihenfolge 1 DM 1 DM 1 DM und zwar unabh ngig davon ob die Aktion 1 DM des unteren Zweigs im ersten zweiten oder dritten Schritt durchlaufen wird 2 2 3 Einwerfen von 4 DM 2 2 3 1 Variante 1 Der zuletzt vorgestellte L sungsansatz bei dem zwei unabh ngig voneinander entwickelte Teilgra phen zu einem gr eren Graphen zusammengef gt wurden l t sich unmittelbar auf das Problem 4 DM einwerfen bertragen Aufgrund der Gleichung 4 2 2 gen gt es zwei Auspr gungen des Graphen aus Abb 2 3 Einwerfen von 2 DM mittels einer Sowohl als auch Verzweigung zu verkn p fen vgl Abb 2 10 20 2 2 3 Kapitel 2 Interaktionsgraphen 2DM 1DM 1DM 2DM 1DM 1DM
450. nge aller denkbaren Parameterwerte repr sentieren Dementsprechend w rde der Graph in Abb 2 66 z B auch die unsinnige Aktivit t Untersuchung Meier f r Patient sono durchf hren zu lassen Wie in 2 3 4 3 erw hnt sorgt jedoch das f r die Ausf hrung der Untersuchungs Workflows verantwortliche WfMS daf r da derartige Aktivit ten niemals ausgef hrt werden k nnen 2 7 3 Begrenzung von Warteschlangen In Krankenh usern ist es bliche Praxis Patienten rechtzeitig zu einer Untersuchung abzurufen und dann ggf in der Untersuchungsstelle warten zu lassen um so einen eventuellen Leerlauf zu vermei den Allerdings sollte die Anzahl der wartenden Patienten auf ein vern nftiges Ma begrenzt werden Auch dies l t sich mit einem geeigneten Interaktionsgraphen spezifizieren vgl Abb 2 68 hnlich wie beim Graphen in Abb 2 64 wird festgelegt da sich pro Untersuchungsstelle u maximal acht Pa tienten p innerhalb der Sequenz Patient p f r Untersuchung u abrufen Untersuchung u f r Patient p durchf hren befinden d rfen Da f nf von ihnen i d R gleichzeitig untersucht werden befinden sich somit maximal drei in Wartestellung F r Untersuchungsstellen mit geringerer Kapazit t als f nf soll ten analog zu den speziellen Kapazit tsbeschr nkungen auch spezielle Warteschlangen Begren zungs Bedingungen formuliert werden in denen der Faktor 8 durch einen entsprechend niedrigeren Wert ersetzt wird 58 2 7 4 Kapit
451. ngen paarweise disjunkt obwohl formal die Einschr nkung II AQ ausreichend ist Da die tats chliche Kardinalit t der Wertemenge Q in praktischen An wendungen meist nicht bekannt ist wird sie vorsichtshalber als unersch pflich angenommen 3 2 1 2 Abstrakte Aktionen Eine abstrakte Aktion a ay a a ist ein n 1 Tupel bestehend aus einem Aktionsnamen a A und einer Folge a a von Parametern oder Argumenten bei denen es sich entweder um formale Parameter Il oder um konkrete Werte Q handelt F r n 0 erh lt man eine parameterlo se Aktion a do w hrend man f r n IN eine parametrisierte Aktion erh lt Die Menge T do a1 n a n No dg A a eHMuQ bezeichnet die Menge aller abstrakten Aktionen 3 2 1 3 Konkrete Aktionen Eine konkrete Aktion a ay a a ist eine abstrakte Aktion bei der alle Argumente aj a konkrete Werte Q darstellen Dementsprechend bezeichnet die Menge I ao ay ap n No ao A a a E Q die Menge aller konkreten Aktionen 3 2 1 4 Anmerkungen Da die in einem Interaktionsgraphen oder ausdruck verwendeten Aktionen wie z B Patient p f r Untersuchung sono vorbereiten formale Parameter enthalten k nnen handelt es sich hierbei um ab strakte Aktionen aus der Menge I Bei konkret ausgef hrten Aktionen hingegen m ssen alle Argu mente mit konkreten Werten belegt sein z B Patient Meier f r Unter
452. nicht bersteigt Um diese Bedingung zu formulieren wird die Wiederholung in Abb 2 27 die eine strikt alternie rende Ausf hrung der Aktionen 10 Pf und Kopie A4 erzwingt durch eine Beliebig oft Verzweigung er setzt Abb 2 28 die besagt da die Sequenz 10 Pf Kopie A4 beliebig oft parallel durchlaufen wer den darf 10 Pf Kopie A4 Abbildung 2 28 M nzkopierer verbesserte Version 2 3 1 3 Beliebig oft Verzweigung Anschaulich bedeutet das da der Graph in Abb 2 28 wie folgt durchlaufen wird e hnlich wie bei der Mehrfach Verzweigung in 2 2 3 3 stelle man sich eine Mannschaft von L u fern vor die sich am linken Knoten in beliebig viele Gruppen aufteilt e Jede dieser Gruppen durchl uft unabh ngig von den anderen Gruppen den Rumpf der Verzwei gung d h den Teilgraphen zwischen den beiden Knoten e Am rechten Knoten treffen die Gruppen ebenso wie bei der Mehrfach Verzweigung wieder zu sammen und setzen ihre Reise gemeinsam fort sobald die Mannschaft komplett ist d h alle Grup pen eingetroffen sind 2 3 Weiterf hrende Operatoren Beispiel Miinzkopierer 2 3 1 29 Als Grenzfall ist es auch zul ssig da die Mannschaft als ganzes vom linken zum rechten Kno ten springt d h den Rumpf der Verzweigung komplett umgeht ebenso wie der Rumpf einer Wiederholung komplett umgangen werden Kann Will man diese M glichkeit auch graphisch zum Ausdruck bringen so
453. nition des Zustandsmodells f r parallele Quantorausdr cke in 4 5 7 4 sowie die zugeh rige Verifikation in B 2 4 4 einen H hepunkt formaler Komplexit t dieser Arbeit darstellt stellt zweifellos auch die soeben vorgestellte Implementierung der Definitionen einen H hepunkt im plementierungstechnischer Komplexit t dar obwohl die Gesamtl nge des Codes nur etwa 75 Zei len betr gt 30 Die Bezeichnung Komplexit t ist hier nicht formal im Sinne von Berechnungsaufwand sondern umgangssprachlich als Kompliziert heit zu verstehen 4 6 Implementierung des Zustandsmodells 4 6 5 159 Aus diesem Grund w re es nicht verwunderlich wenn auch nach mehrmaliger Lekt re dieses Ab schnitts gewisse Detailfragen offenbleiben Allerdings kann es nicht Sinn und Zweck dieser Ausf h rungen sein ein tiefgehendes und umfassendes Verst ndnis der gesamten Implementierung zu vermit teln Vielmehr sollte der vorliegende Abschnitt 4 6 lediglich einen Einblick in das zentrale Modul des Programms die implementierungstechnische Umsetzung der operationalen Semantik von Interak tionsausdr cken vermitteln 4 6 5 Hauptprogramm Abbildung 4 22 zeigt ein einfaches Hauptprogramm das mit Hilfe der Funktionen init trans und ggf final sowohl das f r praktische Anwendungen wesentliche Aktionsproblem als auch das in 4 1 1 erw hnte Wort und Teilwortproblem l st Mit Hilfe der Parserfunktion parse expr wird der a
454. nn die Alphabete der Teilausdr cke y und z disjunkt sind ist der sequentielle Kompositions operator ebenfalls harmlos Beweis 1 Der Verzweigungsgrad eines Zustands s z R sequentielle Komposition bzw s S y T sequentielle Iteration wird im wesentlichen durch die Kardinalit t der Zustands menge R bzw T bestimmt F r einen initialen Zustand s o x enth lt diese Menge maximal ein 168 4 7 3 Kapitel 4 Implementierung von Interaktionsausdr cken bzw zwei Elemente und bei jedem Zustands bergang 7 s Kommt maximal ein Element hinzu vgl 4 5 4 6 und 4 5 4 7 Daher w chst die Kardinalit t dieser Menge und somit auch der Verzweigungsgrad der Zust nde G x h chstens linear bzgl der L nge n Iwl des Wortes w 2 Ist der linke Teilausdruck y einer sequentiellen Komposition y z terminal fokussiert so bleibt die Zustandsmenge R solange leer bis der Teilausdruck y seinen Endzustand T erreicht Der dann er reichte Gesamtzustand s z T o z wird durch die Optimierung p durch den Teilzu stand o z ersetzt und besitzt ab diesem Zeitpunkt quasi den konstanten Verzweigungsgrad 1 Ist der Rumpf y einer sequentiellen Iteration amp y terminal fokussiert so bleibt die Kardinalit t der Zustandsmenge T bei einem Zustands bergang entweder konstant oder sie erh ht sich um 1 wenn der Endzustand des Rumpfs y erreicht wird Beim n chsten Zustands bergang geht dieser Teil zustand T in den
455. nsformieren In beiden Schleifen wird jeweils der Teil p der Optimierungsfunktion p mitimplementiert indem Zustand Wert Paare mit ung ltigem Zustand nur dann zur Menge T hinzugef gt werden wenn der Zustand r des abstrakten Zweigs g ltig ist Die ab schlie ende Fallunterscheidung implementiert die brigen Optimierungen p und p3 Konjunktion und Synchronisation Die beiden anderen Booleschen Quantoren Konjunktion und Synchronisation werden sehr hnlich implementiert wobei f r den Zustands bergang der Synchronisation wieder die in 4 6 2 2 erw hnte Funktion contains ben tigt wird 4 6 4 2 Parallele Quantorausdr cke Multimengen Analog zu gew hnlichen Mengen k nnte man prinzipiell auch Multimengen mit Hilfe sortierter aber nicht notwendigerweise duplikatfreier Sequenzen repr sentieren Allerdings besitzt dieser An satz gewisse Nachteile 1 Je nach Kardinalit t der einzelnen Elemente enth lt eine Multimenge u U relativ viel Redundanz d h es wird unn tig viel Speicherplatz verbraucht 2 Bei einer Iteration ber alle Elemente einer Multimenge wird der Rumpf der Iteration f r mehrfach vorhandene Elemente entsprechend mehrfach durchlaufen d h es wird unn tig Rechenzeit ver braucht 3 Schlie lich ist dieser Ansatz grunds tzlich nicht geeignet um die spezielle Element Kardinalit t oo zu repr sentieren Aus diesen Gr nden stellt die CH Bibliothek einen speziellen Typ Mset T bereit der ein
456. nt anordnen aufkl ren Patient Untersuchung abrufen durchf hren Langbefund Langbefund erstellen lesen Termin vereinbaren Abbildung 1 2 Workflow Endoskopische Untersuchung sind Beispielsweise k nnen die Schritte Patient vorbereiten Patient aufkl ren und Termin vereinbaren in Abb 1 2 nach Belieben parallel ausgef hrt werden sobald Untersuchung anordnen beendet ist Pa tient abrufen kann nach Beendigung dieser drei Schritte ausgef hrt werden usw 1 1 6 Referenzmodell der Workflow Management Coalition Die Workflow Management Coalition WfMC ein internationales Gremium von Herstellern und An wendern von Workflow Management Systemen WfMC96 Versteegen95 hat im Rahmen ihrer Stan dardisierungsbem hungen ein Referenzmodell f r Workflow Management Systeme entworfen Hol lingsworth94 das in Abb 1 3 etwas vereinfacht dargestellt ist Demnach besteht ein WfMS im enge ren Sinn aus einer zentralen Ausf hrungseinheit engl workflow engine deren Aufgaben in 1 1 2 skizziert wurden und die ber verschiedene Schnittstellen numeriert von 1 bis 5 mit den folgenden Arten von Programmen und Personen interagieren kann 1 Workflow Editoren zur graphischen Modellierung von Workflows durch Workflow Modellierer 2 Arbeitslistenprogramme engl worklist handler als Schnittstelle zu den einzelnen Bearbeitern 3 Schrittprogramme zur Ausf hrung einzelner Arbeitsschritte durch Bearbeiter 4 ggf andere Workflow
457. ntersuchen Meier w u a0 abrufen Meier u untersuchen Meier w u wen U abrufen Meier untersuchen Meier j wen W abrufen Meier untersuchen Meier oy abrufen Meier sono untersuchen Meier sono abrufen Meier endo untersuchen Meier endo Diese Menge enth lt z B die Worte Q abrufen Meier sono untersuchen Meier sono abrufen Meier endo untersuchen Meier endo abrufen Meier sono untersuchen Meier sono abrufen Meier endo untersuchen Meier endo abrufen Meier endo untersuchen Meier endo abrufen Meier radio untersuchen Meier radio abrufen Meier radio untersuchen Meier radio abrufen Meier endo untersuchen Meier endo abrufen Meier sono untersuchen Meier sono USW Patient Untersuchung abrufen durchf hren u Meier u Meier u u Abbildung 3 26 Beispiel eines Disjunktions Quantorausdrucks Ersetzt man im obigen Ausdruck den konkreten Wert Meier e Q durch den formalen Parameter p Il und quantifiziert anschlie end mit Hilfe eines parallelen Quantors ber alle Patienten p so er h lt man den Ausdruck 3 3 Definition von Interaktionsausdr cken 3 3 3 89 G OC abrufen p u untersuchen p u vgl Abb 3 27 p u Da die Menge ae O abrufen u untersuchen a f r jeden Wert Q das leere Wort u enth lt besitzt dieser Ausdruck die folgenden
458. ntierung des Forma lismus erstellt werden Schlie lich sollen Mittel und Wege aufgezeigt werden wie diese Implementierung mit vorhandenen Workflow Management Systemen integriert werden kann um sicherzustellen da die spezifizier ten Inter Workflow Abh ngigkeiten w hrend der Ausf hrung von Workflows tats chlich ber ck sichtigt werden Anmerkung Der zu entwickelnde Formalismus und seine Implementierung sollen die Build und Runtime Komponenten eines WfMSs nicht etwa ersetzen sondern erg nzen indem sie zus tzliche Integrit tsbedingungen spezifizieren und implementieren die bei der Ausf hrung von Workflows zu ber cksichtigen sind Einzelne Workflows sollen also nach wie vor mit Hilfe eines Workflow Editors erstellt und durch eine Workflow Ausf hrungseinheit ausgef hrt werden Allerdings kann die Menge der Arbeitsschritte die aus Sicht eines einzelnen Workflows zu einem bestimmten Zeitpunkt zul ssig sind durch Workflow bergreifende Integrit tsbedingungen wie in Abb 1 7 mehr oder weniger stark eingeschr nkt werden Die zu entwickelnde Implementierung stellt somit einen zus tzlichen Interak tions Manager dar der entweder in eine Workflow Ausf hrungseinheit integriert ist oder in geeigne ter Weise mit dieser kommuniziert vgl 5 5 3 Au erdem wird in 5 3 gezeigt da der Formalismus nicht nur zur Spezifikation und Implementie rung von Inter Workflow Abh ngigkeiten sondern z B auch zur Synchronisation paralleler Pr
459. nzip aber doch quiva lent sind Beispielsweise spielt es keine Rolle welche der zwei Gruppen G und G im Zustand 1 1 weitergeht und die rechte Aktion 10 Pf durchl uft d h die Zust nde 1 2 und 2 1 sind in gewisser Weise gleichwertig Ebenso sind die Zust nde 1 1 2 1 2 1 und 2 1 1 quivalent weil sie alle drei besagen da die Aktion 10 Pf von zwei Gruppen je einmal und von einer Gruppe zweimal durch laufen wurde welche der drei Gruppen die Aktion zweimal durchlaufen hat ist wiederum unerheb lich Formal bedeutet das da zwei Zustandstupel quivalent sind wenn sie durch eine geeignete Per mutation ineinander berf hrt werden k nnen Aus diesem Grund ist es sinnvoller Zust nde nicht wie bisher durch geordnete Tupel sondern durch ungeordnete Multimengen zu beschreiben die zwar Ele mente mehrfach enthalten k nnen bei denen die Reihenfolge der Elemente jedoch irrelevant ist F r die Berechnung der Anzahl N der zu verfolgenden Alternativen bedeutet das Es gibt genau eine Multimenge die 2n Einsen enth lt Es gibt genau eine Multimenge die 2n 2 Einsen und eine Zwei enth lt e Es gibt genau eine Multimenge die 2n 4 Einsen und zwei Zweien enth lt e Es gibt genau eine Multimenge die 2n 6 Einsen und drei Zweien enth lt e Usw e Es gibt genau eine Multimenge die n Zweien enth lt Somit gibt es nach 2n Ausf hrungen der Aktion 10 Pf nur noch n 1 verschiedene Zust nde bzw Al ternative
460. o Best tigungen die im Normalbetrieb zu sp t eingetroffen sind trifft diese Annahme jedoch nicht zu da sie sich beim Wiederanlauf bereits im Eingangskanal befinden und daher nicht als versp tet erkannt werden Da die Funktion receive m bei Zeit berschreitung einfach die als Argument bergebene Nach richt m zur ckliefert vgl 5 2 9 2 ist es sinnvoll diese zus tzlich in den persistenten Eingangskanal des Managers einzuf gen Beim Wiederanlauf findet receive m diese Nachricht dann vor einer eventuell versp tet eingetroffenen Exec oder Undo Nachricht liefert sie zur ck und verh lt sich da her genau so wie zuvor im Normalbetrieb Mit dieser einfachen Modifikation der Hilfsfunktion receive kann die in 5 2 9 beschriebene Implementierung somit unver ndert bernommen wer den 208 5 3 2 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken 5 3 Synchronisation paralleler Programme 5 3 1 Vor berlegungen Pfad und Synchronisierungsausdr cke vgl 6 2 1 und 6 2 2 geh ren zu den wenigen verwandten Ans tzen die prim r als Synchronisationsmechanismus f r parallele oder verteilte Programmierspra chen entwickelt wurden Verglichen mit primitiveren Mechanismen zur Synchronisation nebenl ufiger Prozesse wie z B Semaphoren Dijkstra68ab oder auch kritischen Abschnitten BrinchHansen72 erlauben solche ausdrucksbasierten Formalismen eine wesentlich bersichtlichere und anwendungs orientiertere Formulierung v
461. o96 Shaw78 Hoare85 Harel87 vgl auch 3 3 Die zus tzliche Vereinbarung da in jedem endlichen Betrach tungszeitraum nur endliche viele Aktionen ausgef hrt werden k nnen erlaubt es die Betrachtung auf endliche Aktionsfolgen zu beschr nken 2 6 4 Graphische Darstellung In der graphischen Darstellung werden punktuelle Aktionen wie bisher durch einfache Rechtecke dar gestellt Zeitlich ausgedehnte Aktivit ten wie z B eine Aktivit t schlafen m ten prinzipiell als Se quenz schlafen schlafen dargestellt werden Abb 2 59 Um jedoch anzudeuten da eine solche Sequenz eine logische Einheit darstellt werden die beiden Aktionen zu einem einzigen Rechteck zu sammengefa t das durch einen senkrechten Strich in zwei H lften unterteilt wird die die Start bzw Endeaktion der Aktivit t repr sentieren Abb 2 60 Konzeptuell kann ein solches unterteiltes Recht eck als implizit definierte Abk rzung der entsprechenden Sequenz aufgefa t werden schlafeng schlafen Abbildung 2 59 Aktivit t als Sequenz zweier Aktionen schlafen Abbildung 2 60 Aktivit t als logische Einheit Ein Interaktionsmanager ist zumindest f r einen bestimmten Graphen zentral d h Aktionen ber die dieser Graph eine Aussage macht k nnen nur mit Zustimmung dieses Managers ausgef hrt werden Verschiedene Graphen k nnen aber durchaus von verschiedenen Interak tionsmanagern verwaltet werden um Engp
462. odell Chen76 bei dem Entit ten oder Typen und Beziehungen oder Attribute gleichberechtigt nebeneinander stehen und auch nicht notwendigerweise gleichzeitig d h an derselben Stelle eines Programms definiert werden m ssen hnliches gilt f r Beschreibungstechniken wie z B terminolo gische Logiken MacGregor91 Brachman91 Heinsohn92 aus dem Bereich der Wissensrepr senta tion bei denen Begriffe engl concepts und Rollen engl roles relativ unabh ngig voneinander defi niert werden k nnen und somit beispielsweise die Menge der Rollen d h Attribute eines Begriffs Typs auch noch nachtr glich d h an einer ganz anderen Stelle des Programms erweitert werden kann Diese nach Meinung des Verfassers dieser Arbeit sehr nat rliche Vorgehensweise bei der Defini tion von Datenstrukturen l t sich durch das objektorientierte Konzept der Typerweiterung durch Vererbung bzw Subtypbildung nur bedingt nachbilden weil eine derartige Typerweiterung keine wirkliche Erweiterung eines bestehenden Typs sondern vielmehr die Definition eines neuen erwei terten Typs darstellt Konsequenterweise existiert das Konzept der Vererbung oder Subtypbildung in 289 290 A 2 1 Anhang A Die Programmiersprache CH terminologischen Logiken oder auch erweiterten Entity Relationship Modellen zus tzlich und or thogonal zu der beschriebenen M glichkeit der inkrementellen bzw offenen Typdefinition A 1 3 C als Ba
463. odells Abbildung 5 40 zeigt die einzelnen Schritte zur Definition eines Workflow Geflechts noch einmal im Zusammenhang Au erdem wird angedeutet da sich die zur Erstellung von Interaktionsgraphen und Workflow Definitionen verwendeten Editoren beide auf den zuvor erstellten Aktivit tenkatalog ab st tzen und nur die dort definierten Namen zur Bezeichnung von Aktivit ten erlauben sollten F r den in Anhang C beschriebenen Interaktionsgraph Editor ist dieser Katalog Anschlu tats chlich im plementiert da Aktivit ten dort nur aus einer vorgegebenen Palette ausgew hlt und nicht frei definiert werden d rfen vgl C 1 Ob ein Standard Workflow Editor d h die Build time Komponente eines Workflow Management Systems eine solche A priori Definition von Aktivit ten unterst tzt h ngt stark vom jeweiligen System ab Die meisten heutigen Systeme verleiten eher zu einer En passant Definition von Schritten w hrend der Definition eines Workflows und unterst tzen meist keine Wie derverwendung einmal definierter Schritte In diesem Fall ist die in der Abbildung angedeutete Ver bindung zwischen Aktivit tenkatalog und Workflow Editor nur konzeptioneller Art und mu vom Modellierer durch ein entsprechend diszipliniertes Verhalten praktisch umgesetzt werden 220 5 4 7 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Schritt 0 Abk rzungen u
464. oder d passiert werden Wenn in der Realit t d ausgef hrt wird entscheidet man sich f r die Alternative d vor b 4 Im vierten Schritt kann jetzt nur noch b passiert werden d h der Graph akzeptiert nur diese Ak tion 5 Auch im f nften Schritt besteht keine Wahlm glichkeit mehr es mu e ausgef hrt bzw durchlau fen werden En Abbildung 2 47 Sowohl als auch Verzweigung vgl Abb 2 7 2 2 2 4 2 4 3 Aufgeschobene Entscheidungen und deterministisches Verhalten 2 4 3 1 Motivation Bei vielen Graphen erlaubt die Ausf hrung der jeweils n chsten Aktion allerdings noch keine endg l tige Entscheidung welche der prinzipiell m glichen Alternativen zu w hlen ist Als einfaches Bei spiel betrachte man den Graphen in Abb 2 48 an dessen Entweder oder Verzweigungsknoten man prinzipiell drei Alternativen zur Auswahl hat Wird als erstes eine 2 DM M nze eingeworfen so ist der Fall klar man durchl uft den unteren Zweig und akzeptiert im n chsten Schritt nur noch eine 1 DM M nze Beim Einwurf einer 1 DM M nze im ersten Schritt entsteht jedoch eine Konfliktsitua 1DM 1DM 1DM 1DM 2DM 2DM 1DM Abbildung 2 48 Einwerfen von 3 DM vgl Abb 2 4 2 2 2 1 2 4 Zielgerichtetes Durchlaufen von Graphen 2 4 3 43 tion da zu diesem Zeitpunkt noch nicht entschieden werden kann ob der obere oder der mittlere Zweig gew
465. ogonalit t d h beliebige Kombinier barkeit der angebotenen Operatoren und Abstraktion d h Zusammenfassen und Verbergen komple xer Teilausdr cke eindeutig im Vordergrund 6 2 1 5 Erweiterungen und Variationen Im Laufe der Zeit wurden verschiedene Erweiterungen und Variationen von Pfadausdr cken vorge schlagen insbesondere predicate path expressions Andler79 und open path expressions Camp bell79 Campbell80 Bei letzteren gelang es zwar unter Beibehaltung der einfachen und effizienten Implementierbarkeit einen vollst ndig orthogonalen Formalismus bereitzustellen aber durch den Verzicht auf explizite Iterationen bleibt die Ausdrucksm chtigkeit nach wie vor stark eingeschr nkt Beispielsweise l t sich das einfache Leser Schreiber Problem mit open path expressions nicht mehr l sen da parallele Iteration nur noch implizit auf u erster Ebene hnlich wie urspr nglich die se quentielle Iteration unterst tzt wird 6 2 Erweiterte regul re Ausdr cke 6 2 2 245 6 2 2 Synchronisierungsausdriicke Synchronisierungsausdr cke Govindarajan91 Guo95 Guo96 stellen eine moderne Variante von Pfadausdriicken dar bei denen einerseits versucht wurde unn tige und f r Anwender meist unein sichtige Einschr nkungen zu vermeiden und andererseits gro er Wert auf eine pr zise formale Se mantik gelegt wurde 6 2 2 1 Angebotene Operatoren Das Spektrum der angebotenen Operatoren umfa t wiederum in der Terminologi
466. ogram me eingesetzt werden kann 12 1 4 2 Kapitel 1 Motivation Aufgabenstellung und Uberblick 1 4 2 Gliederung Entsprechend dieser Aufgabenstellung befa t sich der Hauptteil der Arbeit mit den verschiedensten Aspekten des genannten Formalismus die nacheinander wie folgt behandelt werden In Kapitel 2 werden Interaktionsgraphen als graphischer Formalismus zur Beschreibung von Ab h ngigkeiten oder Wechselwirkungen zwischen T tigkeiten lat inter actiones eingef hrt Anhand zahlreicher Beispiele wird schrittweise erl utert wie Interaktionsgraphen aufgebaut sind und nach welchen Regeln sie traversiert bzw durchlaufen werden Gegen Ende des Kapitels 2 7 wird auch das zuvor skizzierte Anwendungsszenario der interagierenden medizinischen Untersuchungs workflows wiederaufgegriffen und anhand von Beispielgraphen illustriert wie die ben tigten Inte grit tsbedingungen mit Hilfe von Interaktionsgraphen spezifiziert werden K nnen In Kapitel 3 werden Interaktionsausdriicke als mathematischer Formalismus mit einer exakt defi nierten Semantik eingef hrt der konzeptionell quivalent zu Interaktionsgraphen ist Auf diese Wei se wird indirekt auch die Semantik von Interaktionsgraphen pr zise definiert die in Kapitel 2 be wu t nur informell und anschaulich festgelegt wurde Au erdem werden in diesem Kapitel zahlrei che formale Eigenschaften sowie Aussagen zur Ausdrucksm chtigkeit von Interaktionsausdr cken vorgestellt Na
467. ogrammiersprachen kennt vgl 4 2 4 Konkretisierte Aktionen und Ausdriicke Ersetzt man in einer abstrakten Aktion a ay a a I jedes Vorkommen eines formalen Pa rameters p II durch einen konkreten Wert Q so erh lt man die konkretisierte Aktion ap die formal wie folgt definiert ist i o falls a p L firi 1 n 025 0 mit a sonst 0 ap In hnlicher Weise erh lt man einen konkretisierten Ausdruck Xp wenn man jede Aktion a von x durch ihre konkretisierte Aktion a ersetzt das hei t P ap f r x a mita ET p O Yp firx Oy mitoe u Gao De y Oz firx yez mitee 0 0 0 e firx OQy mitoe 0 6 0 e q q Anschauliche Interpretation von Quantorausdriicken Anschaulich entspricht ein Quantorausdruck x y einem unendlichen Ausdruck P O vy O y wy Oy vgl Abb 3 24 wEQ i 1 mit Q Ausgehend von dieser Vorstellung werden die Mengen P x Y x und a x durch geeignete Verallgemeinerungen der entsprechenden Definitionen f r elementare Ausdr cke ge m Tab 3 25 definiert a Yp 2 Yp Ta j i l i l ype Abbildung 3 24 Anschauliche Interpretation eines Quantorausdrucks als unendlicher Ausdruck Allerdings k nnte die Menge auch berabz hlbar sein so da eine Aufz hlung i
468. olgezu stand s_ liefert wird eine Antwort vom Typ yes im konkreten Fall Accept zur ckgesandt und auf eine Best tigung des Klienten gewartet Diese wird wie jede andere Nachricht auch mit Hilfe der 5 2 Interaktionsmanager 5 2 9 203 Anfrage m mit Antwort vom Typ yes Accept oder Permit bzw no Reject oder Forbid beantworten je nachdem ob der Zustandstibergang f r m action gelingt oder nicht Falls Accept geantwortet wird Best tigung des Klienten abwarten ggf Zustands bergang tats chlich durchf hren und Commit antworten bei Zeit berschreitung Abort antworten int reply Msg m MsgCat yes MsgCat no Zustands bergang tentativ ausf hren if State s_ trans s m action if yes send m cat yes if yes Accept Auf Best tigung des m receive m if m cat Exec Klienten warten Zustands bergang tats chlich durchf hren und Commit antworten S S_ send m cat Commit return 2 else if m cat Undo Nichts else IA Zeit berschreitung Abort antworten send m cat Abort return 1 else if no send m cat no return 0 I Abbildung 5 20 Implementierung eines Interaktionsmanagers Teil 3 Hilfsfunktion reply Funktion receive empfangen und dekodiert Im Gegensatz zum Aufruf in Abb 5 19 bei dem receive einfach die n chste anstehende Nachricht liefert erh lt die Funktion
469. ollkonstrukte beschrieben werden k nnen Als Beispiel betrachte man den Workflow in Abb 1 4 der durch eine Verschmelzung der beiden Workflows aus Abb 1 1 und 1 2 entstanden ist und der beschreibt welche Arbeitsschritte f r einen Patienten auszuf hren sind f r den sowohl eine Sonographie als auch eine Endoskopie durchgef hrt werden soll Man beachte da der Schritt Patient vorbereiten nur noch einmal vorhanden ist und da die Sonographie vor der Endoskopie durchgef hrt werden mu was in diesem speziellen Fall auch medizinisch sinnvoll ist weil eine Endoskopie die Ergebnisse einer nachfolgenden Sonographie m g licherweise verf lschen w rde 1 3 1 2 Kritik F r dieses einfache Beispiel scheint der Ansatz der Workflow Verschmelzung durchaus sinnvoll zu sein Wenn man jedoch bedenkt da man in realistischen Anwendungen sicher nicht nur zwei son dern mindestens f nf bis zehn voneinander abh ngige Workflows vorliegen hat von denen bereits je Alternativ k nnte man sich vorstellen da derartige Schritte in den Arbeitslisten lediglich deaktiviert werden so da ein Bearbeiter er kennen kann da sie prinzipiell zur Ausf hrung anstehen momentan aber nicht ausgef hrt werden d rfen 3 F r andere Kombinationen von Untersuchungsarten lassen sich solche Reihenfolgen jedoch i d R nicht a priori festlegen Die Anzahl der verschiedenen Untersuchungsarten in einer internistischen Klinik liegt z B mindestens i
470. on Synchronisationsbedingungen Campbell74 Govindarajan91 Guo95 Bei einer geeigneten Integration des Formalismus mit den brigen Teilen einer Programmiersprache ist es au erdem m glich Synchronisationsbedingungen vom eigentlichen Anwendungscode zu tren nen bzw sie vor diesem im Sinne von information hiding vollst ndig zu verbergen Campbell74 Campbell79 Ebenso wie Pfad und Synchronisierungsausdr cke lassen sich auch Interaktionsausdr cke prinzi piell in nahezu beliebige parallele bzw entsprechend erweiterte sequentielle Programmiersprachen in tegrieren Beispielsweise k nnte man die momentan u erst popul re Sprache Java Flanagan98 die die Formulierung nebenl ufiger Programme mit Hilfe von Threads unterst tzt problemlos dahinge hend erweitern da Methoden oder Anweisungsbl cke nicht nur synchronized d h als kritischer Ab schnitt ausgef hrt werden k nnen sondern mit Hilfe von Interaktionsausdr cken wesentlich differen ziertere Synchronisationsbedingungen f r Methodenaufrufe formuliert werden k nnen Aufgrund der Implementierung von Interaktionsausdr cken in CH bietet sich eine Integration mit dieser Sprache al lerdings besonders an 5 3 2 Integration von Interaktionsausdr cken in CH Anhand des Beispiels der speisenden Philosophen engl dining philosophers Dijkstra71 sollen im folgenden die zus tzlichen Sprachkonstrukte einer entsprechend erweiterten Programmiersprache CH sowie die wesentlichen Imple
471. on b a y den Parameter p als Argument enth lt und somit nicht zur Menge der kon kreten Aktionen geh rt Aufgrund der Inklusion Y y c a y vgl 3 4 4 kann der Ausdruck y daher keine nicht leeren partiellen Worte w e besitzen und somit ist der Zu stand G y f r w ung ltig Wenn zwei Aktionen a e ay und by ay gleich sein sollen miissen die Aktionen p a b a y dieselbe Signatur besitzen Aufgrund der vollst ndigen und homogenen Quantifizie rung des Ausdrucks x enthalten a und b beide den Parameter p und zwar an denselben Positionen i j Damit dann ap by gelten kann mu offensichtlich z sein Daraus folgt durch Umkehrschlu da die Alphabete al Yp und a Yo f r x disjunkt sind Anmerkungen 1 Auch die vollst ndige oder homogene Quantifizierung eines Ausdrucks ist eine rein syntaktische Eigenschaft die nicht von Parameterbelegungen abh ngt Daher ist ein konkretisierter Aus druck x7 genau dann vollst ndig und oder homogen quantifiziert wenn der abstrakte Ausdruck x die entsprechende n Eigenschaft en besitzt Die dritte Behauptung des Satzes ist falsch wenn eine der beiden Voraussetzungen fehlt Wenn ein Ausdruck nicht vollst ndig quantifiziert ist wie z B oben der Beispielausdruck x so geh ren Aktionen die nicht vom Parameter p abh ngen im Beispiel die Aktion b zu allen Zwei gen des Quantorausdrucks Wenn ein Ausdruck nicht homoge
472. onen gleich sein soll so kann dies indirekt mittels eines zus tzlichen foral1 Ausdrucks formuliert werden Beispielsweise entspricht dem Interaktionsausdruck Q O Iget p f put p A vgl 5 3 2 2 P die Menge der beiden CoCoA Regeln forall f Fork rder geil E p pitt E Ys forall Fork p Phil order get p f put p f 6 2 4 2 Definition der Semantik Die Semantik einer einfachen Ausf hrungsregel ohne Quantifizierung wird im Prinzip durch die dem Ausdruck entsprechende regul re Menge definiert Ebenso wie bei Interaktionsausdr cken inter essiert man sich jedoch prim r f r die partiellen und weniger f r die vollst ndigen Worte eines Aus drucks Da die in 2 5 und 3 2 3 genannten Sonderf lle Sackgassen und endlose Wege aufgrund g Allerdings wird kein syntaktisches Kriterium zur Aussonderung solcher Ausdr cke genannt 6 2 Erweiterte regul re Ausdr cke 6 2 5 251 der eingeschr nkten Ausdrucksm chtigkeit nicht auftreten kann die Menge P x jedoch mittels Pr fixbildung aus der Menge x abgeleitet werden und mu nicht separat definiert werden Die Semantik einer Menge von Regeln wird hnlich wie die AA Synchronisation mittels Projek tion und Durchschnittsbildung definiert wobei quantifizierte Regeln im Prinzip als Mengen von un endlich vielen einzelnen Regeln betrachtet werden 6 2 4 3 Implementierung des Formalismus Die gesamte Spezifikationssprache CoCoA einschli
473. onsarzt um den Patienten ber m gliche Risiken der Darmspiege lung aufzukl ren d h er startet die Aktivit t aufkl ren X endo was zur Folge hat da der Interak tionsmanager einen Zustands bergang f r die Startaktion aufklareng X endo durchf hrt Abbil dung 5 52 zeigt den resultierenden Zustand in dem der Graph einerseits die Endeaktion aufkl ren X endo und andererseits weitere Startaktionen aufkl ren erlaubt Da die Aktion abrufeny X sono nun nicht mehr zul ssig ist sorgt eine entsprechende Forbid Nachricht des Interak tionsmanagers daf r da die Aktivit t abrufen X sono vor bergehend aus den Arbeitslisten ver schwindet Nach Beendigung des Aufkl rungsgespr chs wird ein Zustands bergang f r die Aktion aufkl ren X endo durchgef hrt der zur Folge hat da sich der Graph wieder in seinem initialen Zustand befindet und somit die Ausf hrung von abrufeng X sono wieder erlaubt Eine entsprechende Permit Nachricht des Interaktionsmanagers sorgt daher daf r da die Aktivit t abrufen X sono wieder in den Arbeitslisten der Sonographie MTAs erscheint vgl Abb 5 53 Au erdem ist jetzt sowohl aus Sicht des WfMSs als auch aus Sicht des Interaktionsmanagers die Aktivit t abrufen X endo zul ssig die somit in den Arbeitslisten der Endoskopie MTAs erscheint Am n chsten Tag wird der Patient als erstes zur Sonographie gerufen indem eine Sonographie MTA die Aktivit t abrufen X sono d h die Aktion
474. onsbedingungen verwendet werden k nnen und deshalb anders als gew hnliche Funktionen be handelt werden m ssen Das Schl sselwort proc steht f r procedure und kennzeichnet eine Funktion ohne R ckgabewert vgl A 2 3 5 3 Synchronisation paralleler Programme 5 3 2 209 Philosoph p denkt nach sync proc think int p prine Phink py lt rt sleep random print newline Philosoph p betritt den Speisesaal und setzt sich an den Tisch sync proc enter int p print enter p newline Philosoph p nimmt Gabel f vom Tisch sync proc get int p int f print get p newline Philosoph p legt Gabel f zur ck auf den Tisch sync proc put int p int f print put p newline Philosoph p i t mit den Gabeln 1 und r sync proc eat int p int 1 int r print reat m P Wr N Tz y Me y na E sleep random print newline Philosoph p verl t den Raum sync proc leave int p print leave p newline Abbildung 5 24 Aktivit ten der Philosophen als zu synchronisierende Prozeduren hnlich wie bei der Implementierung von Pfad und Synchronisierungsausdr cken Campbell74 Govindarajan90 werden derartige Funktionen im Prinzip mit einem Prolog und einem Epilog umge ben die sp ter f r die korrekte Synchronisierung sorgen werden Beispielsweise wird die vom Pro grammierer formulierte Funktio
475. or A ausgef hrt wurde mu auch D vor A ausgef hrt werden IF C RELATIVE_ORDER A THEN D RELATIVE_ORDER A Anders als bei Interaktionsausdr cken m ssen sich die in einer Regel auftretenden Aktivit ten wie A oder B au erdem immer auf eine bestimmte Workflow Definition wie z B den Sonographie oder Endoskopie Workflow beziehen Somit ist es nicht m glich allgemeing ltige Integrit tsbedingungen f r Aktivit ten wie Patient vorbereiten Patient aufkl ren usw zu formulieren die unabh ngig von ih rer Verwendung in konkreten Workflow Definitionen gelten sollen Wie die Beispiele in 5 4 3 zei gen treten derartige Integrit tsbedingungen in praktischen Anwendungen jedoch sehr h ufig auf wes halb ihre Formulierung mit Interaktionsausdr cken explizit unterst tzt wird Neben Ausdrucksmitteln zur Spezifikation von Intra und Inter Workflow Abh ngigkeiten bietet die Sprache LAWS auch M glichkeiten zur Formulierung spezieller Fehlerbehandlungs Strategien die es in Interaktionsausdr cken nicht gibt Beispielsweise beschreibt die Regel ON W A COMPENSATE IF B CONFLICTS_WITH W A AND B HAPPENED_AFTER W A THEN COMPENSATE B RE START B da die Aktivit t B des aktuellen Workflows nach einer Kompensierung der Aktivit t A des Work flows W ebenfalls kompensiert und anschlie end erneut gestartet werden soll sofern die beiden Akti vit ten in Konflikt steh
476. orall t lt lt T V t value Alternative T transformieren Neue Alternativen zur Menge A hinzuf gen transalt T a p V A if A return State expr s expr alts A else return nil Abbildung 4 20 Implementierung paralleler Quantorausdr cke Teil 2 Zustands bergang Transformation einzelner Alternativen Die erste H lfte der Prozedur transalt vgl Abb 4 21 realisiert im Prinzip die in 4 5 7 4 vorgenommene Abbildung einer Alternative 7 auf die Menge XT indem sie mit Hilfe rekursiver Aufrufe in genau k V Zustand Wert Paaren der Alternative T die den Pseudowert p nil ent 28 Der Pr fixoperator erzeugt eine dynamische Kopie eines Objekts 2 Prozeduren d h Funktionen ohne R ckgabewert werden in CH durch das Schl sselwort proc gekennzeichnet vgl A 2 3 158 4 6 4 Kapitel 4 Implementierung von Interaktionsausdriicken Transformation der Alternative T proc transalt Alt T Action a Param p Set Value V Set Alt A int i 1 if i lt V Pair t forall t lt lt T if t value nil Pair t_ state t state value V i T t T tl transalt T a p V A itl TS ee Ee else Pair t t_ forall t lt lt T if t_ trans t a p Alt T_ T TL t TL t_ A I Abbildung 4 21 Implementierung paralleler Quantorausdriicke Teil 3 Transformation von Alternativen halten diesen Wert durch eine
477. orbaum aufzubauen Ebenso wie in C k nnen Variablen wie z B p oder call bei ihrer Deklaration unmittelbar durch einen Konstruktoraufruf initialisiert werden Ei nem mehrwertigen Attribut wie z B params k nnen mit Hilfe des Operators sukzessive mehre re Attributwerte im Beispiel p und u zugeordnet werden 4 3 4 Parser f r Interaktionsausdr cke Nachdem nun sowohl die syntaktische Struktur als auch die interne Repr sentation von Interaktions ausdr cken festgelegt ist kann mit Hilfe von Standard Compilerbau Techniken und Werkzeugen wie z B Lex und Yacc ohne gro e M he ein Parser f r Interaktionsausdr cke konstruiert werden der einen als Zeichenkette vorliegenden Ausdruck in einen quivalenten Operatorbaum transformiert der als Grundlage der weiteren Verarbeitung dient Wie bereits in Abschnitt 4 3 2 erw hnt wurde mu bei der Repr sentation von Quantorausdr cken darauf geachtet werden da das Param Objekt das den Quantorparameter repr sentiert von s mtli chen Action Objekten des Quantorrumpfs die diesen Parameter enthalten als gemeinsames Objekt referenziert wird 126 4 4 1 Kapitel 4 Implementierung von Interaktionsausdriicken Expr example Quantorparameter p und u Param p name p Param u name u Aktionen abrufen und untersuchen Action call name abrufen params p params u Action exam name untersuchen params p params u Sequenz call
478. otation einschlie lich eines zugeh rigen Editors vgl Anhang C be sonders vorteilhaft ist Neben der reinen Spezifikation von Synchronisationsbedingungen wird beim Einsatz von Interaktions ausdr cken jedoch auch die implementierungstechnische Umsetzung der erstellten Spezifikationen un terst tzt sofern die in Kapitel 4 beschriebene Implementierung geeignet in eine Proze ausf hrungs umgebung integriert wird Hierf r wird diese Kernimplementierung zun chst 5 2 zu einem vollst ndigen Interaktionsmanager ausgebaut dessen Dienste ber geeignete Schnittstellen und Pro tokolle 5 2 1 bis 5 2 6 genutzt werden k nnen Au erdem wird erl utert wie das grunds tzliche Problem der Skalierbarkeit durch den Einsatz mehrerer Interaktionsmanager 5 2 7 und ggf eine Partitionierung von Interaktionsgraphen 5 2 8 bew ltigt werden kann Die Beschreibung einer konkreten Interaktionsmanager Implementierung 5 2 9 sowie berlegungen zum Wiederanlauf nach Systemausf llen engl recovery 5 2 10 runden diesen grundlegenden Abschnitt ab Anschlie end wird anhand von zwei wichtigen Einsatzgebieten von Interaktionsausdr cken Syn chronisation paralleler Programme 5 3 und Definition und Implementierung von Workflow Ge flechten 5 4 und 5 5 erl utert wie nebenl ufige Systeme mit Hilfe von Interaktionsgraphen sinnvoll entwickelt werden k nnen und wie der zuvor beschriebene Interaktionsmanager konkr
479. p u und untersuchen p u des zugeh rigen Quantorrumpfs re pr sentieren referenziert Auf diese Weise sind nderungen die w hrend der Verarbeitung des Aus drucks an einem Quantorparameter Objekt vorgenommen werden sofort f r alle Aktions Objekte sichtbar die diesen Parameter referenzieren Dies wird sp ter zur effizienten Konkretisierung von Ausdr cken und Zust nden verwendet vgl 4 6 3 1 4 3 3 Implementierung des Datenmodells Der Programmcode in Abb 4 8 der im folgenden n her erl utert wird stellt eine direkte implementie rungstechnische Umsetzung des Datenmodells aus 4 3 1 mit Hilfe der Programmiersprache CH dar 4 3 3 1 Offene Typen Typen und Attribute werden mit den Schl sselw rtern type bzw attr deklariert w hrend Auspr gungen engl instances eines Aufz hlungstyps mit Hilfe des Schl sselworts inst vereinbart werden Bemerkenswert ist da sowohl attr als auch inst Deklarationen f r einen Typ inkrementell erfol gen k nnen Das bedeutet da ein einmal vereinbarter Typ nachtr glich d h an einer beliebigen an gt Um Speicherplatz zu sparen k nnte man versucht sein auf das Attribut body zu verzichten und den Rumpf eines un ren Operators statt dessen im Attribut left oder right abzulegen Noch weitergehende Optimierungen w rden eventuell auch noch action und param mit left und right verschmelzen da sich implementierungstechnisch hinter allen Attributen lediglich Zeigerwerte verbergen Dera
480. piel betrachte man den Graphen in Abb 2 46 Abh ngig davon ob der Kunde als erstes eine 2 DM oder eine 1 DM M nze in den Automaten einwirft entscheidet man sich beim gt ZEN Abbildung 2 46 Einwerfen von 2 DM vgl Abb 2 3 2 2 1 2DM 42 2 4 3 Kapitel 2 Interaktionsgraphen Durchlaufen des Graphen f r den oberen bzw den unteren Zweig der Entweder oder Verzweigung Im ersten Fall oberer Zweig erreicht man anschlie end sofort das Ende des Graphen d h es sind keine weiteren Aktionen mehr zul ssig w hrend im zweiten Fall unterer Zweig das Einwerfen einer weiteren 1 DM M nze akzeptiert wird Ebenso kann man sich beim Durchlaufen des Graphen in Abb 2 47 in jedem Schritt von den tats ch lich ausgef hrten Aktionen leiten lassen 1 Wie in 2 2 2 4 erl utert k nnte man im ersten Schritt entweder im oberen Zweig der Sowohl als auch Verzweigung die Aktion a durchlaufen oder aber im unteren Zweig c passieren Abh ngig davon welche dieser Aktionen in der realen Welt als erstes ausgef hrt wird entscheidet man sich beim Durchlaufen f r die entsprechende Alternative Kommt beispielsweise c zur Aus f hrung so entscheidet man sich f r die Alternative c vor a 2 Im zweiten Schritt k nnte man nun entweder d oder a durchlaufen Wird in der Realit t jetzt a ausgef hrt so entscheidet man sich f r die Alternative a vor d 3 Im dritten Schritt k nnte jetzt entweder b
481. plementierung von Interaktionsausdr cken Funktionen sorgt hierbei automatisch daf r da bei jedem Funktionsaufruf der passende Zweig der jeweiligen Funktion ausgew hlt wird obwohl viele dieser Zweige erst im weiteren Verlauf des Pro gramms definiert werden Beim Zustands bergang trans werden die durch die Funktion p definierten Optimierungen vorgenommen wenn einer der transformierten Teilzust nde t 1 oder r ung ltig ist was gem 4 6 1 2 quivalent zu der Bedingung t nil bzw t ist Wenn keiner dieser Spezialf lle vor liegt wird ein neuer Zustand erzeugt dessen expr Attribut vom urspr nglichen Zustand s bernom men wird Option Eine Option wy wird gem 4 5 4 3 durch eine spezielle Disjunktion y e mit o e T ersetzt Da der leere bzw fehlende Ausdruck e in nat rlicher Weise durch die Konstante nil repr sentiert wird mu der initiale Zustand dieses speziellen Ausdrucks durch einen entsprechenden Zweig der Funktion init definiert werden Initialer Zustand eines leeren Ausdrucks part State init Expr x if x nil return Success Konjunktion und Synchronisation Die Konjunktion kann vollkommen analog zur Disjunktion implementiert werden Bei einer Synchronisation x y z ist zu beachten da die Teilausdr cke y und z eines Zustands s lo y Z L r nicht explizit repr sentiert werden m ssen da sie indirekt ber die Attribute s expr left und s expr right des Zustands s
482. pr expr oder eine Disjunktion expr amp expr oder eine Konjunktion expr expr oder eine Synchronisation mop factor expr oder ein Multiplikatorausdruck gop par expr oder ein Quantorausdruck FF expr ty oder ein geklammerter Ausdruck ET expr ai ie expr Payee factor Number Ein Faktor ist eine Zahl Ein Multiplikator Operator ist mop 2 far 7 einer der Operatoren oder Ein Quantor Operator ist einer gop a FE BE NR der Operatoren amp oder Abbildung 4 4 Grammatik von Interaktionsausdr cken Aus Kompatibilit tsgr nden zu anderen Formalismen und Programmen k nnen die un ren Opera toren und sowohl pr fix wie in Kapitel 3 eingef hrt als auch postfix wie sonst meist blich angewandt werden Auf eine detaillierte Betrachtung von Multiplikatorausdr cken wird im weiteren Verlauf des Kapitels aus Platzgr nden verzichtet Ebenso werden Makros im folgenden nicht weiter ber cksichtigt da sich die meisten praktisch relevanten Anwendungen des Abstraktionsprinzips mit Hilfe eines vorgeschalteten Standard Makroprozessors abdecken lassen Die Grammatikbegriffe act und par sowie das Terminalsymbol Number wurden bereits in 4 2 1 definiert Anmerkung Durch die M glichkeit un re Operatoren sowohl pr fix als auch postfix anzuwenden entsteht ein weiteres bisher nicht betrachtetes Vorrangproblem
483. q ao y leer vgl 3 4 6 3 d h die Mengen sind gleich Andernfalls enthalten alle Mengen 4 P 2 das leere Wort so da die obige Herleitung in gleicher Weise auch auf die Mengen statt Y angewandt werden kann Synchronisation Bei der Betrachtung der Synchronisation ist wieder auf eine korrekte Behandlung der Alphabete zu achten Mit den abk rzenden Bezeichnungen y Be W oO Yp und x O y gilt q Pp q wen i kx Yo A afo 2 K Yo ll I m oN oO sa ri fe yp e K Yo Distributivit t von bzgl N vgl 3 4 7 1 Die Voraussetzung U c A mit A A B ist f r A a Yo erf llt AN A P yo7 K Vor x y0 a6Q rEQ A B A U B u 3 4 Eigenschaften von Interaktionsausdriicken 3 4 10 105 N Pyar Wer u K Ye Ky Yor o vo amp Yor a x a Yo a x Yor Kx Yor U KY ang Wer Klar De Pra yo C K Vertauscht man die Rollen der Parameter p und q so erh lt man entsprechend afo o 4 P Q Parr or a TEQ Vertauschung der Rollen von und z a a N 27 ea e TEQ und somit afo O ofo O Pp q q pP In gleicher Weise erh lt man auch die Beziehung f r die Menge der partiellen Worte yo oO y yo oO P 4 4 P Vertauschung von Quantoren und bin ren Operatoren Die Beweise zur Vertauschung von Quantoren mit gleichartigen bin ren Operatoren verlaufen
484. r _ Ereignisausdr cke Flu ausdr cke 2 CoCoA Ausf hrungsregeln _ _ Interaktionsausdr cke Abbildung 6 7 Vergleich verschiedener Ausdrucksformalismen haupt nicht unterst tzt wird Abgesehen von den speziellen Synchronisationsmechanismen von Ereignis und Flu ausdr cken vgl 6 2 3 1 stellen die angegebenen Operatoren die Vereinigungs menge aller betrachteten Formalismen dar Abbildung 6 8 zeigt schematisch wie man ausgehend von regul ren Ausdr cken als Basisformalismus durch sukzessive Erweiterungen auf zwei komple ment ren Wegen zu Interaktionsausdr cken gelangen kann CoCoA Aus Par Iter Pfad o P oy f hrungsregeln Ausdr cke a Ko M Regul re Interaktions Ausdr cke Ausdr cke Ko np Synchronisierungs Ereignis Flu Syn Ausdr cke Par Iter Ausdr cke Abbildung 6 8 Zwei komplement re Wege von regul ren zu Interaktionsausdr cken 6 2 5 2 Vollst ndigkeit Beide Darstellungen verdeutlichen da s mtliche bisher in der Literatur vorgeschlagenen Ausdrucks formalismen im Vergleich zu Interaktionsausdr cken unvollst ndig sind Abgesehen von den speziel len Synchronisationsmechanismen von Ereignis und Flu ausdr cken auf die beim Entwurf von In teraktionsausdr cken bewu t verzichtet wurde vgl 6 2 3 4 stellen Interaktionsausdr cke daher ei ne echte Obermenge aller vergleichbar
485. r den w hrend in 4 5 4 2 nur Zust nde von Disjunktionen d h disjunktive Zust nde ber cksichtigt werden usw Auch hier w rde man eine vollst ndige Definition der Funktion t erhalten wenn man alle diese Teildefinitionen zusammenf gt siehe 4 5 4 1 f r einen atomaren Zustand s Ta s siehe 4 5 4 2 f r einen disjunktiven Zustand s In hnlicher Weise verh lt es sich auch mit den Funktionen y gund p 4 5 3 2 Partielle Definition der Optimierungsfunktion Zur Vereinfachung der Darstellung wird die Optimierungsfunktion p nicht direkt sondern als Verket tung Hintereinanderausf hrung dreier Funktionen p p und p3 definiert die unterschiedliche Opti mierungsschritte ausf hren p eliminiert ggf ung ltige Teilzust nde eines Zustands s vgl z B 4 5 4 6 ph ersetzt einen Zustand s ggf durch einen seiner Teilzust nde dto p3 ersetzt einen ung ltigen Zustand s durch den speziellen Zustand ie Zur weiteren Vereinfachung werden die Funktionen p lediglich partiell definiert und an un 10 Ein Zustand s eines zusammengesetzten Ausdrucks x besteht normalerweise aus Zust nden 7 seiner Teilausdr cke die als Teilzust nde von s bezeichnet werden Dieser Zustand wird in 4 5 4 1 eingefiihrt 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 4 135 definierten Stellen s durch die identische Funktion erg nzt Formal ergibt sich die Optimierungs funktion p daher wie folg
486. r Dadurch reduziert sich die Breite der im Beweis von 4 7 3 4 betrachteten Alternative T des Zustands der parallelen Iteration um 1 sofern T diesen Zustand bereits ein oder mehrmals enth lt was nach Ausf hrung der ersten derartigen Aktion der Fall ist 4 7 Komplexit tsbetrachtungen 4 7 5 177 tors konstante Gr e weil sie nur O 1 Aktionen verarbeitet haben und der Gesamtzustand daher nur die Gr enordnung n Dieses Beispiel zeigt da die Verzweigungsgrade verschachtelter Operatoren in vielen F llen nicht unabh ngig voneinander sind und ihr Produkt daher nur eine grobe obere Schranke darstellt Beispiel 2 Auch der Ausdruck 5 Q O untersuchen p u u P der die allgemeine Kapazit tsbeschr nkung f r Untersuchungsstellen beschreibt vgl 2 7 2 1 ist gutartig 1 Der Disjunktionsquantor ist f r alle Belegungen des Parameters u harmlos da sein Rumpf voll st ndig quantifiziert ist Au erdem ist er f r alle Werte von u injektiv und beidseitig fokussiert da sein Rumpf f r alle Wer te von u und p diese Eigenschaften besitzt 2 Die sequentielle Iteration amp ist f r alle Werte von u harmlos da ihr Rumpf jeweils terminal fokus siert ist Au erdem ist sie f r alle Werte von u injektiv da ihr Rumpf jeweils injektiv und beidseitig fokus siert ist 5 3 Der parallele Multiplikator ist f r alle Werte von u harmlos da sein Rumpf jeweils injektiv ist 4 Der parallele Quantor ist gutar
487. r Wortmenge U u v Verschr nkung der Worte u und v U V Verschr nkung der Wortmengen U und V reer amp U n fache Verschr nkung der Wortmenge U mit sich selbst U parallele H lle der Wortmenge U amp U Verschr nkung endlich vieler Wortmengen U U U Verschr nkung unendlich vieler Wortmengen U Q m wen wA Division des Wortes w durch die Aktionsmenge A B 2 3 5 E Menge aller Interaktionsausdr cke e E E 3 3 Y x Menge aller partiellen Worte des Ausdrucks x 323 x Menge aller vollst ndigen Worte des Ausdrucks x a x Alphabet des Ausdrucks x 3 3 1 9 K Komplement des Alphabets von y bzgl des Alphabets von x 3 3 1 10 ap Konkretisierung der Aktion a 3331 xy Konkretisierung des Ausdrucks x cue Tabelle D 1 Symbole und Begriffe der formalen Semantik 341 342 Anhang D Wichtige Begriffe und Symbole Symbol Bedeutung Abschnitt T Wahrheitswert wahr 45 11 L Wahrheitswert falsch De v logische Oder Verkn pfung 4 5 4 2 logische Und Verkn pfung 4 5 4 4 Menge aller Zust nde 4 5 1 1 O x Menge aller Zust nde des Ausdrucks x 4 5 1 2 O x Menge aller optimierten Zust nde des Ausdrucks x 4 5 2 3 o x initialer Zustand des Ausdrucks x T S Zustands bergang des Zustands s durch die Aktion a 45 11 y s ist Zustand s ein giiltiger Zustand oan Ms ist Zustand s ein Endzustand Ty S Zustands bergang des Zustands s durch das Wort w Wy s ist Zus
488. r beiden Iterationsoperatoren auf die Implementierung der zugeh rigen Kompositionsoperatoren zur ckzuf h ren Um hierbei Endlosrekursionen zu vermeiden mu der Parameter start der beiden Hilfsfunktio nen testseq undtestpar in diesem Fall mit dem Wert 1 versehen werden um ein leeres Teil wort u zu verhindern Um zu zeigen wie leicht sich die parallele Iteration bei dieser Vorgehensweise implementieren l t wurde sie nicht wie in 4 3 1 vorgeschlagen auf einen quivalenten Quantorausdruck zur ckge f hrt sondern direkt implementiert Aus diesem Grund wurde in Abb 4 13 unterstellt da der Auf z hlungstyp Category einen zus tzlichen Wert ParIter parallele Iteration besitzt und da der Rumpf des Ausdrucks y ebenso wie bei der sequentiellen Iteration im Attribut x body verf gbar ist 4 4 4 Kritik Obwohl der vorgestellte Algorithmus von Shaw au ergew hnlich kompakt und elegant ist besitzt er den gravierenden Nachteil da er selbst f r triviale parallele Kompositionen und Iterationen exponen tielle Laufzeit bzgl der L nge des Wortes w besitzt Dies liegt darin begr ndet da die Hilfsfunktion testpar im ung nstigsten Fall s mtliche 2 m glichen parallelen Zerlegungen des Wortes w der L nge n in Teilworte u und v durchlaufen mu um festzustellen ob das Wort w auf den Aus druck y z pa t Bei Vorliegen einer parallelen Iteration wird die Funktion testpar zus tzlich mit einer Ve
489. r der Folgezust nde von x S Ww WO V Wy T und analog wex ee O XHe T G ltigkeit des Substitutionsprinzips F r ein Wort w e einen Quantorparameter q II und einen bzgl x und q irrelevanten Parameter wert z Q x q des Wortes w gilt 0 0 0 FO OOS Definition konkretisierter Zust nde 4 5 6 1 o OG D Substitutionsprinzip f r y und z plus Monotonie relevanter Parameterwerte B 2 Korrektheit des einfachen Zustandsmodells B 2 3 305 o 07 ll Struktur der Folgezust nde des Ausdrucks x7 Va O z4 o a B 2 3 3 Option Gegeben sei eine Option x wy mit einem beliebigen Teilausdruck y f r den das Korrektheitstheo rem gem der globalen Induktionsvoraussetzung bereits bewiesen sei Struktur der Folgezust nde Da der Ausdruck x als spezielle Disjunktion x y O e mit o e implementiert wird gilt f r sei ne Folgezust nde offensichtlich f r w Q 0 X Lo 0 y 0 mit Ol sonst und somit W x Wy vV w 0 und X Pw y Vv w Q Korrektheit des Zustandsmodells F r ein Wort w amp gilt we Y Y0 Y0u 0 weWy odr w M Korrektheit des Zustandsmodells f r y K po T odr w Struktur der Folgezust nde von x W x Wy v w 0 und analog wex OX T G ltigkeit des Substitutionsprinzips Da das Substitutionsprinzip f r den leeren Ausdruck e offensichtlich erf
490. r der L Definition von Folgezust nde o x und z s Korrektheit des Substitutions Zustandsmodells nz prinzip A l l l l l I Korrektheit des Substitutions o 2 Zustandsmodells prinzip a 2 P 23 x lt lt Struktur der L Definition von Folgezust nde o x und z s Abbildung B 1 Beweisstruktur Diese lokalen Induktionsbeweise bei denen der Fall w den Induktionsanfang und der Fall w Wa mit w und a X den Induktionsschritt darstellt haben jedoch nichts mit dem zuvor erw hnten globalen Induktionsbeweis nach der Struktur des Ausdrucks x zu tun Abbildung B 1 veranschaulicht die Zusammenh nge zwischen den einzelnen Schritten des globalen Beweises F r atomare Ausdr cke x b unten l t sich die Korrektheit des Zustandsmodells und die G ltigkeit des Substitutionsprinzips direkt aus der Aussage ber die Struktur der Folgezust nde herleiten w hrend man f r elementare Ausdr cke x y und x y z Mitte zus tzlich die Kor rektheit des Zustandsmodells bzw die Giiltigkeit des Substitutionsprinzips ftir die Teilausdriicke y und ggf z ben tigt F r Quantorausdriicke x y oben wird das Substitutionsprinzip f r den p Quantorrumpf y au erdem ben tigt um die Aussage ber die Struktur der Folgezust nde und die Kor rektheit des Zustandsmodells nachzuweisen Dies ist der eigentliche Grund f r die Notwendigkeit des Substitutionsprinzips B 2 Kor
491. r die Aktion a durchf hren noch eigenm chtig entscheiden kann ihn nicht durchzuf hren Durch das Versenden der Accept Nachricht hat er quasi alle Rechte eine derartige Entscheidung zu treffen an den Klienten abgetreten und mu nun dessen Entscheidung abwarten wie lange dies auch dauern mag Andererseits Kann der Manager keine anderen Anfragen bearbeiten solange diese Ent scheidung nicht gef llt ist Auch wenn man davon ausgehen kann da ein Klient Entscheidungen dieser Art nicht mutwillig verz gert so kann doch aufgrund von Programm oder Rechnerabst rzen einerseits und Netzwerkst rungen oder unterbrechungen andererseits jederzeit ein derartiger Fall eintreten Da der Interaktions manager aber vor jeder Aktionsausf hrung um Erlaubnis gefragt werden mu blockiert ein hand 9 Vergleicht man das zweiphasige Koordinationsprotokoll mit einem Zwei Phasen Commit Protokoll so erkennt man da der Klient quasi die Rolle des Commit Koordinators spielt w hrend der Interaktionsmanager einem gew hnlichen Teilnehmer entspricht 5 2 Interaktionsmanager 5 2 4 189 lungsunf higer Interaktionsmanager zwangsl ufig auch jede weitere Aktionsausf hrung in einem Sy stem Bedenkt man au erdem da es sich bei einem Klienten u U um ein lokales Arbeitslistenpro gramm eines Benutzers handelt vgl 5 5 2 dessen B rocomputer PC jederzeit absichtlich oder versehentlich ausgeschaltet oder vom Netzwerk getrennt werden kann so wird
492. r erw nscht vgl 1 2 2 Mit Hilfe der in 2 3 3 eingef hrten Schablone zur Beschreibung eines wechselseitigen Ausschlus ses lassen sich diese Integrit tsbedingungen f r einen einzelnen Patienten durch den Graphen in Abb 2 61 beschreiben der besagt da der Patient zu jedem Zeitpunkt e entweder f r beliebig viele Untersuchungen vorbereitet werden kann oberer Zweig des wechselseitigen Ausschlusses e oder f r beliebig viele Untersuchungen aufgekl rt werden kann mittlerer Zweig e oder sich in genau einer Untersuchungsstelle befinden kann unterer Zweig Patient En Patient a abrufen durchf hren Abbildung 2 61 Integrit tsbedingung f r einen einzelnen Patienten 2 7 1 2 Bedingung f r alle Patienten Ebenso wie sich die Aktionen in einem Kopiergesch ft immer auf einen bestimmten Kopierer bezie hen und daher in 2 3 4 mit einem Parameter k versehen wurden beziehen sich die Aktivit ten in Abb 2 61 sowohl auf einen bestimmten Patienten p als auch auf eine bestimmte Untersuchungsart bzw stelle u Sie sollten daher ebenfalls mit entsprechenden Parametern versehen werden die es er lauben ber Aktivit ten wie z B Patient p f r Untersuchung u abrufen oder Untersuchung u f r Pa 10 Vergleiche die Beispiel Workflows in Abb 1 1 und 1 2 1 1 5 54 2 7 1 Kapitel 2 Interaktionsgraphen tient p durchf hren zu sprechen Bei den Werten des Parameters p handelt
493. r f r Interaktionsausdr cke 125 4 4 Implementierung der formalen Semantik 126 4 4 1 Algorithmus 126 4 4 2 Erl uterungen 127 4 4 2 1 Dynamische Sequenzen 127 4 4 2 2 Zugriff auf Attribute 128 4 4 2 3 Vergleichsoperatoren 128 4 4 2 4 Partielle Funktionen 128 4 4 2 5 Sonstiges 129 4 4 3 Implementierung der Iterationsoperatoren 130 4 4 4 Kritik 130 4 4 5 Konsequenz 130 4 5 Operationale Semantik von Interaktionsausdr cken 131 4 5 1 Einfache Zustandsmodelle 131 4 5 1 1 Basisfunktionen 131 4 5 1 2 Abgeleitete Funktionen 131 4 5 1 3 Korrektheitskriterium 132 4 5 1 4 Anschauliche Interpretation 132 4 5 2 Optimierte Zustandsmodelle 132 4 5 2 1 quivalenz von Zust nden 132 4 5 2 2 Optimierungsfunktion 133 4 5 2 3 Abgeleitete Funktionen 133 4 5 2 4 Korrektheitskriterium 133 4 5 2 5 Satz 133 4 5 3 Konstruktion eines optimierten Zustandsmodells 134 4 5 3 1 St ckweise Definition der Basisfunktionen 134 4 5 3 2 Partielle Definition der Optimierungsfunktion 134 4 5 3 3 Verifikation des Modells 135 4 5 4 Definitionen f r elementare Ausdr cke 135 4 5 4 1 Atomare Ausdr cke 135 4 5 4 2 Disjunktion 135 4 6 4 7 4 5 5 4 5 6 4 5 7 Implementierung des Zustandsmodells 4 6 1 4 6 2 4 6 3 4 6 4 4 6 5 Komplexit tsbetrachtungen 4 7 1 4 7 2 4 7 3 4 7 4 4 7 5 4 5 4 3 4 5 4 4 4 5 4 5 4 5 4 6 4 5 4 7 Option 136 Konjunktion 136 Synchronisation 136 Sequentielle Komposition Sequentielle Iteration 138 4 5 4
494. r unverbindlich erkundigen m chte ob eine Aktion momentan ausgef hrt werden d rfte Zwar k nnte ein Klient das zwei oder dreiphasige Koordinationsprotokoll f r diesen Zweck mi brauchen indem er eine Ask Anfrage an den Interaktionsmanager stellt und im Fall einer Accept Antwort eine Undo Best tigung zur ckschickt Allerdings w rde er auf diese Weise den Manager un n tig belasten da dieser zwischen dem Versenden seiner Accept Antwort und dem Eintreffen der Undo Best tigung normalerweise blockiert ist Au erdem kann ein Klient mit dieser Methode immer nur den augenblicklichen Status einer Aktion in Erfahrung bringen der im n chsten Augenblick schon wieder veraltet sein K nnte Handelt es sich bei einem Klienten beispielsweise um ein Arbeitslistenprogramm eines Workflow Management Sy stems so w re es w nschenswert wenn er seinem Benutzer jederzeit den aktuellen Status aller f r ihn interessanten Aktionen anzeigen k nnte H tte der Klient hierf r nur die bislang betrachteten Nach richtentypen zur Verf gung so m te er die zuvor beschriebene Prozedur f r jede Aktion relativ h u fig wiederholen um jederzeit m glichst aktuelle Statusinformation zu besitzen Dies h tte zur Folge da die Anzahl dieser unverbindlichen Anfragen die den Interaktionsmanager jedesmal unn tig blockieren die Zahl der wirklichen Anfragen bei denen tats chlich eine Aktion ausgef hrt werden soll vermutlich um ein Vielfaches berstei
495. raktionsmanager eine entsprechende Forbid Nachricht an die Arbeitslistenprogramme der Stations rzte die dazu f hrt da die Aktivit t aufkl ren X endo aus den Arbeitslisten entfernt bzw als momentan nicht ausf hr bar gekennzeichnet wird In Abb 5 50 ist diese Aktivit t daher mit abgeschw chter Schrift dargestellt und mit einem gestrichelten Rahmen umgeben der anzeigt da sie zwar aus Sicht des WfMSs nicht jedoch aus Sicht des Interaktionsmanagers zul ssig ist Die beiden grau unterlegten vorbereiten Akti vit ten befinden sich gerade in Ausf hrung Sobald die Schwester mit der Vorbereitung des Patienten fertig ist beendet sie die beiden vorbereiten Aktivit ten gem Abb 5 43 Hierbei f hrt der Interaktionsmanager Zustands berg nge f r die Ende aktionen vorbereiten X sono und vorbereiten X endo durch in deren Folge sich der Graph wieder in seinem initialen Zustand befindet vgl Abb 5 51 Da die Aktion aufkl ren X endo nun wieder zul ssig ist sendet der Interaktionsmanager entsprechende Permit Nachrichten an die betroffenen Ar beitslistenprogramme die dazu f hren da die Aktivit t aufkl ren X endo wieder in den Arbeitsli sten der Stations rzte erscheint Au erdem steht aus Sicht des WfMSs jetzt die Aktivit t abrufen X sono zur Ausf hrung an die auch aus Sicht des Interaktionsmanagers zul ssig ist und daher in den Arbeitslisten der Sonographie MTAs erscheint Am Nachmittag Kommt ein Stati
496. ralleler Quantorzustand kann hnlich wie ein paralleler Kompositionszustand optimiert werden indem Alternativen mit ung ltigen Teilzust nden eliminiert werden p o y p mit A realavon Der initiale Zustand eines parallelen Quantorausdrucks x y enth lt genau eine Alternative die den erweiterten Zustand o y p unendlich oft enth lt R o x y p A mit A loo el 4 6 Implementierung des Zustandsmodells 4 6 1 147 4 6 Implementierung des Zustandsmodells 4 6 1 Vorbereitungen Die in den Abschnitten 4 3 3 1 und 4 4 2 4 vorgestellten Konzepte der offenen Typen und partiellen Funktionen erlauben es die mathematischen Definitionen der Abschnitte 4 5 4 bis 4 5 7 relativ direkt in CH Programmcode umzusetzen Da die Korrektheit des operationalen Modells in Anhang B bewie sen wird erh lt man so auch eine weitgehend verifizierte Implementierung von Interaktionsaus dr cken obwohl die bertragung der mathematischen Funktionsdefinitionen in CH Funktionen nur intuitiv und nicht streng formal verifiziert ist Aus Platzgr nden werden im folgenden nur einige ausgew hlte Kategorien von Ausdr cken be trachtet da sich die Definitionen der brigen Kategorien in hnlicher Weise umsetzen lassen 4 6 1 1 Zust nde Der Zustand eines Ausdrucks wird als offener Typ State vereinbart der zun chst lediglich ein Attri but expr vom Typ Expr besitzt vgl 4 3 1 das auf den zugeh rigen Ausdruck verw
497. ransaktion zu beginnen die er sp ter entweder erfolgreich ab schlie en oder aber zur cksetzen kann Sobald er innerhalb dieser Transaktion die Aktion ausgef hrt und die Transaktion gesichert hat siehe unten sendet er dem Manager eine Exec Best tigung und wartet dann auf dessen endg ltige Antwort Phase 1 Phase 2 Phase 3 vorl ufige BR endg ltige Anfragen Antworten Best tigungen A worte Ask Accept Exec Commit Wait Reject Undo Abort Tabelle 5 6 Nachrichtentypen beim dreiphasigen Koordinationsprotokoll Auf diese Weise wird der Spie umgedreht weil jetzt der Klient so lange handlungsunf hig ist bis er vom Manager eine Commit oder Abort Nachricht erh lt Sollte diese ausbleiben oder sich ver z gern kann der Klient nur warten und ggf periodisch beim Manager nachfragen In aller Regel ist eine solche Blockierung eines Klienten jedoch weit weniger problematisch als die des Managers Sollte die Exec Best tigung des Klienten ausbleiben oder sich zu lange verz gern kann der Inter aktionsmanager seinen Blockierungszustand jederzeit eigenm chtig beenden indem er dem Klienten eine Abort Nachricht schickt 5 2 4 2 Anmerkungen hnlich wie das zweiphasige Koordinationsprotokoll kann auch das dreiphasige Protokoll durch eine Reject Antwort des Managers oder eine Undo Best tigung des Klienten abgek rzt werden In die sen F llen besteht das Protokoll lediglich aus ein bzw zwei Ph
498. rate Spezifikation von Inter Workflow Abh ngigkeiten U Pat abrufen gt U Unt durchf hren gt U Pat abrufen gt U Unt durchf hren a priori vorgeschrieben werden kann Hier br uchte man einen Auswahloperator etwa A B mit dem spezifiziert werden kann da beide Reihenfolgen prinzipiell gleichberechtigt sind und da die Ent scheidung f r die eine oder andere implizit dadurch getroffen wird welcher der Schritte U Patient abrufen zuerst ausgef hrt wird Ein solches Verhalten l t sich jedoch weder mit den bisher verwen deten Kontrollflu kanten noch mit sonstigen imperativen Konstrukten beschreiben Schlie lich ist durch eine rein textuelle Trennung der Inter Workflow Abh ngigkeiten von den ein zelnen Workflow Beschreibungen auch das fr her bereits erw hnte Komplexit tsproblem noch nicht gel st weil auch hier die Menge der zu verwaltenden Bedingungen sehr schnell Gr enordnungen an 10 1 3 4 Kapitel 1 Motivation Aufgabenstellung und berblick nehmen kann die nicht mehr beherrschbar sind sobald nicht nur zwei sondern f nf zehn oder noch mehr voneinander abh ngige Workflows synchronisiert werden m ssen Als abschreckendes Bei spiel versuche man lediglich f r f nf verschiedene Untersuchungsarten von denen jede in einem konkreten Ablaufszenario auch fehlen kann s mtliche zul ssigen Ausf hrungsreihenfolgen der Schritte Patient abrufen und Untersuchung durchf hren aufzuz hlen 1 3 4 De
499. rbeiten loop Msq m receive if contains x m action Je nach Kategori ntweder Unknown Permit oder nichts antworten if m cat Ask m cat Wait send m cat Unknown else if m cat Subscribe send m cat Permit else if m cat Ask Entweder Accept oder Reject antworten und ggf weitere Protokollschritte durchlaufen if reply m Accept Reject 2 complete else if m cat Wait Entweder Accept oder nichts antworten und ggf weitere Protokollschritte durchlaufen Ggf Anfrage in Warteliste stellen switch reply m Accept nil case 2 complete break case 0 queue m break else if m cat Subscribe Entweder Permit oder nichts antworten Anfrage in Abonnentenliste eintragen if reply m Permit nil 0 m cat Forbid sub m else if m cat Cancel Nachricht aus Abonnentenlist ntfernen sub m Abbildung 5 19 Implementierung eines Interaktionsmanagers Teil 2 Hauptprogramm 5 2 9 2 Hilfsfunktion reply Abb 5 20 Anfragen vom Typ Ask werden von der zentralen Hilfsfunktion reply verarbeitet die in diesem Fall mit den Argumenten yes Accept und no Reject aufgerufen wird Um festzustellen ob die Aktion m action im aktuellen Zustand s des Ausdrucks zul ssig ist wird zun chst ein tentativer Zustands bergang trans ausgef hrt Falls dieser einen g ltigen F
500. rektheit des einfachen Zustandsmodells B 2 3 303 Die Aussagen ber die Struktur der Folgezust nde basieren einerseits auf der Definition des initia len Zustands o x und andererseits auf der Definition des Zustands bergangs 7 s Bei der Anwen dung des Substitutionsprinzips auf Teilausdr cke wird implizit die Monotonie relevanter Parameter werte ausgenutzt B 2 1 1 die gew hrleistet da aus der Voraussetzung m Q x q folgt a Q x q f r jedes Teilwort w von w und jeden Teilausdruck x von x In den Beweis des Sub stitutionsprinzips f r Quantorausdr cke flie t au erdem die Invarianz relevanter Parameterwerte ein B 2 1 2 B 2 3 Beweis f r elementare Ausdr cke B 2 3 1 Atomare Ausdr cke Gegeben sei ein atomarer Ausdruck x b mit einer abstrakten Aktion b e T Struktur der Folgezust nde F r die Folgezust nde des Ausdrucks x gilt offensichtlich b f rw o x 5 T f r w lt b sonst und somit T firw Q b Wa f r we lt b B x W X l und g x 6 sonst sonst Korrektheit des Zustandsmodells Die G ltigkeit der Korrektheitskriterien w Ee Yx y x T und w e D x e p x T folgt unmittelbar aus der Struktur der Folgezust nde G ltigkeit des Substitutionsprinzips F r ein Wort w X einen Quantorparameter q Il und einen bzgl x und q irrelevanten Parameter wert z x q des Wortes w k nnen die folgenden F lle unter
501. rerst zu kl ren w re ob sie berhaupt ent scheidbar ist vgl auch 2 5 1 2 4 8 1 3 Sortierte Sequenzen und Vergleichsprozeduren In 2 4 4 wurde anhand eines Beispielausdrucks bzw graphen erl utert da die Zust nde einer par allelen Iteration bei einer naiven Vorgehensweise exponentielle Gr e bzgl der L nge des Wor tes w besitzen w rden obwohl der Ausdruck gem 4 7 5 3 Beispiel 3 gutartig ist Die entschei dende Beobachtung dort da Alternativen eines Zustands quivalent sind wenn sie durch Vertau schen von Tupelkomponenten d h von Teilzust nden einer Alternative ineinander bergef hrt wer den k nnen wird im mathematischen Modell einfach dadurch umgesetzt da Alternativen als Multi mengen repr sentiert werden bei denen lediglich die Kardinalit t nicht jedoch die Anordnung der Elemente relevant ist Die einzelnen Alternativen wiederum stellen ebenso wie z B die Teilzust n de einer sequentiellen Komposition oder Iteration Elemente einer Menge d h eines duplikatfreien Containers dar Das mathematische Modell w rde sich nur unwesentlich ndern wenn man anstelle von Mengen oder Multimengen jeweils geordnete Tupel verwenden w rde bei denen die Anordnung ihrer Elemen te relevant ist Da sich derartige Container insbesondere in einer traditionellen imperativen Pro grammiersprache wie z B C implementierungstechnisch wesentlich leichter umsetzen lassen als Mengen be
502. rfen nur durchlau fen werden wenn sie in beiden Zweigen gleichzeitig passiert werden k nnen wobei die entspre chende Aktion in der realen Welt nur einmal ausgef hrt wird o Allgemein d rfen Aktionen die in n Zweigen der Kopplung auftreten nur durchlaufen werden wenn sie in diesen n Zweigen gleichzeitig passiert werden k nnen Kopie A4 10 Pf Hf 10Pf Kopie A3 F Kopie A4 7 Offnen A4 Sch N lie en A4 7 Kopie A3 Offnen A3 Schlie Ben A3 Abbildung 2 33 Kopplung von Bedingungen 2 3 Weiterf hrende Operatoren Beispiel M nzkopierer 2 3 2 33 e Am Vereinigungsknoten 9 rechts kann die Reise fortgesetzt werden sobald alle Zweige vollst n dig durchlaufen sind Durch die genannten Regeln wird sichergestellt da eine Aktion nur ausgef hrt werden kann wenn sie von allen Zweigen der Kopplung die ber diese Aktion eine Aussage machen zugelassen wird Zweige die ber die fragliche Aktion keine Aussage machen m ssen jedoch nicht ber cksichtigt werden d h sie lassen die Aktion jederzeit zu Anmerkung Ebenso wie bei allen anderen Arten von Interaktionsgraphen k nnen aber grunds tzlich nur Aktionen durchlaufen werden die im Graphen tats chlich vorkommen Das bedeutet da Aktio nen die in keinem Zweig der Kopplung auftreten nie zugelassen werden Vgl jedo
503. risiert sind und der F r ein oder F r alle Verzweigungen enth lt oO u An An a O ae O Sy N u durchf hren 7 p u P Untersuchung en O P p sono a Abbildung 2 66 Kopplung von allgemeiner und spezieller Kapazit tsbeschr nkung Interpretiert man eine F r ein bzw F r alle Verzweigung ber einen Parameter p als unendliche Entweder oder bzw Sowohl als auch Verzweigung bei der der Parameter p alle prinzipiell denkba ren Werte durchl uft so l t sich diese Frage relativ leicht beantworten Der obere Zweig der Kopp lung enth lt die Menge aller Aktivit ten Untersuchung u f r Patient p durchf hren f r alle denkbaren Belegungen der Parameter p und u w hrend der untere Zweig lediglich die Aktivit ten Untersuchung sono f r Patient p durchf hren f r alle denkbaren Belegungen des Parameters p enth lt Tr gt man die m glichen Werte der Parameter p und u f r die Aktivit t Untersuchung durchf h ren jeweils auf einer Achse eines Koordinatensystems auf so entsteht ein zweidimensionaler Para meterraum wie in Abb 2 67 In diesem Raum entspricht die erste Menge von Aktivit ten oberer Zweig der Kopplung der zweidimensionalen Menge aller schwarzen und wei en Punkte w hrend die zweite Menge unterer Zweig der eindimensionalen Menge der schwarzen Punkte entspricht Die se zweite Menge stellt somit auch die Schnittmenge der beiden Menge
504. ritt sowohl die Aktion x als auch die Aktion y akzeptiert Abh ngig davon welche dieser Aktionen durch einen ex ternen Benutzer ausgef hrt wird verh lt sich der Proze anschlie end entweder wie Proze P oder wie Proze Q Da x und y verschieden sein m ssen ist das Verhalten des Prozesses in jedem Fall eindeutig festgelegt Sowohl die Pr fix Konstruktion als auch die bin re Auswahl k nnen als Spezialf lle der allgemeinen Auswahl z B R z mit einer beliebigen Menge B von Aktionen und einer Funktion R z die je dem Wert z B einen bestimmten Proze zuordnet aufgefa t werden F r eine einelementige Menge B x und R x P erh lt man die Pr fix Konstruktion x gt P F r eine zweielementige Menge B x y und R x P R y Q erh lt man die bin re Aus wahl x gt P y gt Q F r eine leere Menge B schlie lich erh lt man den speziellen Proze STOP der zwar nichts tut aber formal als Verankerung gebraucht wird da auf der rechten Seite einer Pr fix Konstruk tion x P immer ein Proze und keine Aktion stehen mu Iterative Prozesse k nnen mit Hilfe von Rekursionsgleichungen definiert werden Wenn F X ein Ausdruck der Gestalt z B gt R z X ist d h mit einem Pr fix beginnt der die Proze variable X enth lt dann bezeichnet uX F X die in diesem Fall eindeutige L sung der Rekursionsgleichung X F X Beispielsweise l t sich ein Proze dessen Verhalten in
505. rittprogramme besitzen Zur Aufl sung weitergehender Inkompatibilit ten lassen sich ebenso wie f r die schwierigeren Probleme der DB Schemaintegration meist keine fertigen Rezepte formulieren vielmehr mu hier in jedem Einzelfall gepr ft werden ob und ggf wie vorlie gende Workflow Definitionen geeignet angepa t werden k nnen damit sie in das Gesamtschema in tegriert werden k nnen 5 5 Implementierung von Workflow Geflechten 5 5 1 berblick Nach den vorangegangenen konzeptionellen berlegungen zur Definition von Workflow Geflechten sollen im folgenden zwei konkrete Alternativen f r ihre Implementierung vorgestellt werden Abschnitt 5 5 2 beschreibt wie die Einhaltung Workflow bergreifender Integrit tsbedingungen quasi auf Anwendungsebene durch den Einsatz adaptierter Arbeitslistenprogramme gew hrleistet werden kann w hrend 5 5 3 die Verwendung adaptierter Workflow Ausf hrungseinheiten erl utert In beiden Abschnitten wird jeweils beschrieben wie die Arbeitslisten von Benutzern aktualisiert wer den und welche Protokollschritte beim Starten und Beenden von Aktivit ten durchlaufen werden m s sen Au erdem wird jeweils erl utert wie sich die Prinzipien von einem einfachen System mit einer Workflow Ausf hrungseinheit und einem Interaktionsmanager auf Systeme mit mehreren derartigen Komponenten verallgemeinern lassen Nach einer zusammenfassenden Diskussion der beiden Alternativen 5 5 4 werden die Pr
506. rogramme die erforderliche Abstimmung mit dem Interaktionsmanager fehlt Ein weiterer Nachteil besteht darin da normalerweise sehr viele Arbeitslistenprogramme gleich zeitig aktiv sind die alle mit dem Interaktionsmanager kommunizieren m ssen Wird eine Aktivit t A die aus Sicht der Workflow Ausf hrungseinheit zul ssig ist beispielsweise an 100 aktive Arbeitsli stenprogramme bermittelt Schritt 1 in Abb 5 41 so senden diese alle eine Subscribe Nachricht f r die Startaktion A an den Manager Ist die Aktion zul ssig so mu dieser wiederum 100 Permit Nachrichten verschicken usw Im Gegensatz hierzu erh lt der Manager bei der Adaption von Ausf h rungseinheiten Abb 5 45 nur eine Subscribe Nachricht und mu entsprechend nur eine Permit Ant wort verschicken Schlie lich sind Arbeitslistenprogramme bzw die Rechner auf denen sie ausgef hrt werden wie bereits erw hnt potentiell unzuverl ssig was den Einsatz des relativ aufwendigen dreiphasigen Koor dinationsprotokolls erfordert Trotz dieser Nachteile ist die Adaption von Arbeitslistenprogrammen insofern interessant als sie wie oben erw hnt mit relativ geringem Zusatzaufwand realisiert werden kann Au erdem stellt sie die einzige M glichkeit dar Inter Workflow Abh ngigkeiten auf Anwendungsebene d h ohne Ein griff in ein WfMS zu implementieren 5 5 4 2 Adaption von Workflow Ausf hrungseinheiten Die Adaption von Workflow Ausf hrungseinheiten besitzt d
507. roten Faden der sich von der anschaulichen Definition in Kapi tel 2 ber die formale Behandlung in Kapitel 3 bis zur operationalen Semantik Implementierung und Komplexit t in Kapitel 4 durch die Arbeit zieht Die beiden Minuszeichen in der Zeile der parallelen Iteration zeigen an da es f r diesen Operator keine operationale Semantik und Im plementierung gibt vgl 4 3 1 w hrend eingeklammerte Abschnittsnummern darauf hinweisen da das entsprechende Thema nur ange rissen und nicht vertieft wird Die Abschnitte 3 4 1 bis 3 4 5 in denen allgemeine Eigenschaften von Interaktionsausdr cken vorgestellt wer den sind nicht aufgef hrt
508. rs and Writ ers Communications of the ACM 14 10 October 1971 667 668 Dadam95 P Dadam K Kuhn M Reichert T Beuter M Nathe ADEPT Ein integrierender An satz zur Entwicklung flexibler zuverl ssiger kooperierender Assistenzsysteme in klinischen An wendungsumgebungen In F Huber W schle H Schauer P Widmayer eds GISI 95 Heraus forderungen eines globalen Informationsverbundes f r die Informatik 25 GI Jahrestagung und 13 Schweizer Informatikertag Z rich Switzerland September 1995 Informatik Aktuell Sprin ger Verlag Berlin 1995 677 686 Dadam96 P Dadam Verteilte Datenbanken und Client Server Systeme Grundlagen Konzepte Realisierungsformen Springer Verlag Berlin 1996 Dadam97 P Dadam W Klas The Database and Information System Research Group at the Uni versity of Ulm ACM SIGMOD Record 26 4 December 1997 75 79 Dadam98 P Dadam M Reichert The ADEPT WfMS Project at the University of Ulm In st European Workshop on Workflow and Process Management WPM Z rich Switzerland 1998 1998 Date98 C J Date H Darwen SQL Der Standard SQL 92 mit den Erweiterungen CLI und PSM Addison Wesley Bonn 1998 DEB93 Special Issue on Workflow and Extended Transaction Systems IEEE Data Engineering Bulletin 16 2 June 1993 DEB95 Special Issue on Workflow Systems IEEE Data Engineering Bulletin 18 1 March 1995 282 Literaturverzeichnis Dener
509. rschachtelungstiefe der Gr enordnung n rekursiv aufgerufen Die hieraus resultierende Komplexit t wird von Shaw selbst als indiskutabel eingestuft Shaw80a Aber selbst wenn man auf die b sartigen parallelen Operatoren verzichten w rde ist die Kom plexit t des Algorithmus nach wie vor inakzeptabel Beispielsweise erh lt man auch f r eine einfache sequentielle Iteration eine Laufzeit der Gr enordnung 2 wenn n wieder die L nge des Wortes w be zeichnet Im Gegensatz dazu lassen sich regul re Ausdr cke die man faktisch erh lt wenn man die parallelen Operatoren wegl t vgl 3 5 2 mit Hilfe endlicher Automaten bekanntlich mit linearer Komplexit t implementieren 4 4 5 Konsequenz Ebenso wie man regul re Ausdr cke blicherweise nicht durch eine Eins zu eins Umsetzung ihrer formalen Semantik sondern durch eine Transformation in ein quivalentes Zustandsmodell in diesem Fall endliche Automaten implementiert mu man f r eine effiziente Implementierung von Interak tionsausdr cken offenbar ebenfalls diesen z T relativ steinigen Umweg einschlagen Aus diesem Grund wird im folgenden Abschnitt 4 5 ein operationales Modell f r Interaktionsaus dr cke bestehend aus hierarchischen Zust nden Zustandspr dikaten und Zustands berg ngen eingef hrt f r das in Anhang B gezeigt wird da es quivalent zur formalen Semantik gem 3 3 4 ist In 4 6 wird dann die eigentliche Implementierung for
510. rstellen lesen Termin vereinbaren Endoskopie Arbeitslisten der Benutzer Station Sonographie Endoskopie Schwester Arzt MTA Arzt MTA Arzt untersuchen X sono abrufen X endo Abbildung 5 54 Zustand nach Abruf zur Sonographie 5 5 Implementierung von Workflow Geflechten 5 5 5 237 Der weitere Verlauf des Beispiels ist nun offensichtlich Die einzige ausf hrbare Aktivit t ist momen tan untersuchen X sono und nach deren Durchf hrung k nnen abrufen X endo und untersuchen X endo ausgef hrt werden Da die Aktivit ten Kurz Lang Befund erstellen lesen im betrachteten Interaktionsgraphen nicht vorkommen k nnen sie nach Belieben berlappend ausgef hrt werden sobald sie aus Sicht des jeweiligen Workflows zul ssig sind Als m gliche Erweiterung des Beispiels k nnte man jedoch annehmen da zu einem beliebigen Zeit punkt weitere Untersuchungen f r den Patienten angeordnet werden In diesem Fall f gen sich die zu geh rigen Workflows automatisch in das vorhandene Workflow Geflecht ein ebenso wie normal ter minierende Workflows das Geflecht wieder verlassen Allerdings k nnen Workflows die abnormal beendet werden z B indem sie vorzeitig abgebrochen werden u U Probleme verursachen Wenn der Sonographie Workflow beispielsweise im obigen Zu stand abgebrochen wird weil sich z B herausstellt da der Patient nicht mehr n chtern ist und die Untersuchung somit nicht durchgef hrt werden kann so bleibt
511. rt Unknown Tabelle 5 10 Zus tzlicher Nachrichtentyp Unknown F r einen Klienten bedeutet eine Antwort vom Typ Unknown jedoch da er die fragliche Aktion Jederzeit ohne den Manager fragen oder informieren zu m ssen ausf hren darf Um unn tige Anfragen an den Interaktionsmanager zu vermeiden kann es daher sinnvoll sein wenn ein Klient a priori wei welche Aktionen der Interaktionsmanager kennt und welche nicht weil er letztere dann eigenm chtig ohne jegliche Kommunikation mit dem Manager ausf hren kann Dies ist insbeson dere beim Einsatz mehrerer Interaktionsmanager sinnvoll um den Kommunikationsaufwand sowie die Belastung der einzelnen Manager zu reduzieren vgl 5 2 7 1 5 2 7 Einsatz mehrerer Interaktionsmanager 5 2 7 1 Motivation Hat man f r eine bestimmte Anwendung mehrere Integrit tsbedingungen in Form von Interaktions graphen entwickelt die alle gleichzeitig eingehalten werden sollen so m ssen die einzelnen Graphen gem 2 3 2 2 bzw 2 7 5 mit Hilfe einer Kopplung verkn pft werden Auf diese Weise wird si chergestellt da eine Aktion genau dann ausgef hrt werden darf wenn sie in allen Graphen in denen sie auftritt gleichzeitig durchlaufen werden kann Aufgrund der soeben erl uterten open world as sumption ist au erdem gew hrleistet da Aktionen die in keinem Graphen vorkommen jederzeit ausgef hrt werden d rfen W rde man nun nicht die Kopplung bzw Synchronisa
512. rt d h die Operationen initialer Zustand und Konkretisierung sind vertauschbar a x o x 4 5 6 2 Relevante Parameterwerte Wie in 3 3 3 1 erl utert entspricht ein Quantorausdruck y anschaulich einem unendlichen Aus p druck Yp Bei Vorliegen einer konkreten Aktion a amp sind von den unendlich vielen Zweigen Yp wen allerdings nur diejenigen wirklich interessant die sich was das Auftreten der Aktion a anbelangt vom abstrakten Zweig y unterscheiden Beispiel Beispielsweise sind f r a abc X Y Z mit X Y Z Q und y abc p Y Z abc X p Z abc X Y Z mit p Ee Il nur die Zweige yp abc X Y Z abc X X Z abc X Y Z und yy abc Y Y Z abc X Y Z abc X Y Z nicht jedoch die Zweige Yp abc a Y Z abc X Z abc X Y Z f r X Y interessant da sich nur die beiden erstgenannten bzgl des Auftretens der jeweils unterstrichenen Aktion a vom abstrakten Zweig y unterscheiden Dies hat zur Folge da sich alle Zweige Yp mit wo X Y was die Verarbeitung der konkreten Aktion a anbelangt genauso wie der abstrakte 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 6 141 Zweig y verhalten werden und dieser somit als Stellvertreter all dieser Zweige verwendet werden kann Folglich m ssen bei der Verarbeitung von a nur noch die Zweige yp und Y gesondert behan delt werden Allgemeines Prinzip Um diese relevanten
513. rt d h er verarbeitet in dieser Phase keine anderen Klientenanfra gen Phase 1 Phase 2 Anfragen Antworten Best tigungen Ask Accept Exec Wait Reject Undo Tabelle 5 4 Nachrichtentypen beim zweiphasigen Koordinationsprotokoll Nat rlich kann auch bei diesem Protokoll nicht verhindert werden da Aktionsausf hrung und Zu stands bergang zeitlich mehr oder weniger auseinanderliegen Es wird jedoch gew hrleistet da w h rend dieser kritischen Phase weder eine andere Aktion noch ein anderer Zustands bergang ausge f hrt wird Somit ist tats chlich sichergestellt da die Aktionen in der realen Welt in derselben Rei henfolge wie die entsprechenden Zust nds berg nge ausgef hrt werden Analog zu Abb 5 3 zeigen die Graphen in Abb 5 5 den Ablauf des zweiphasigen Koordinationspro tokolls f r den Anfragetyp Ask noch einmal im Zusammenhang vgl auch Abb 5 1 entsprechende Graphen f r den Anfragetyp Wait w rde man erhalten wenn man die Zweige mit dem Antworttyp Reject entfernt Wie man sieht besteht das Protokoll nur dann wirklich aus zwei Phasen wenn der Manager die Anfrage des Klienten mit Accept beantwortet da nur in diesem Fall eine Best tigung des 188 5 2 3 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken
514. rt also die spezielle Kardinalit t oo 4 6 Implementierung des Zustandsmodells 4 6 4 157 Zustandsiibergang Beim Zustands bergang vgl Abb 4 20 wird mit Hilfe der Funktion relvals zun chst ebenso wie bei einem disjunktiven Quantorzustand die Menge VO der relevanten Parameterwerte der Ak tion a bestimmt Anschlie end wird f r jede Alternative Te s alts eine Hilfsfunktion transalt aufgerufen die s mtliche neuen Alternativen bestimmt die aus dieser Alternative her vorgehen Als Parameter erh lt die Funktion hierf r 1 die zu transformierende Alternative T 2 die zu verarbeitende Aktion a 3 den Quantorparameter p 4 die Wertmenge V die man erh lt wenn man aus einer Kopie v0 8 der Menge VO alle Werte ent fernt die in der Alternative T bereits vorkommen 5 eine Referenz auf die Menge A in der die transformierten Alternativen gespeichert werden sol len Abschlie end wird berpr ft ob der transformierte Gesamtzustand g ltig ist was genau dann der Fall ist wenn die so erzeugte Menge A nicht leer ist Optimierter Zustandstibergang fiir einen parallelen Quantorzustand part State trans State s Action a if s cat Par amp amp s param Param p s param Set Alt A set Set Value VO relvals s expr a Neue Menge von Alternativen bestimmen Alt T Pair t forall T lt lt s alts Bereits bekannte Werte aus der Menge VO entfernen Set Value V V0 f
515. rt werden kann Eingangskanal Klient Anfragen en e Anfragen Klient z B Station Best tigungen Best tigungen z B Endoskopie ry Interaktions Manager y Antworten Antworten p gt Eingangskanal Ausgangskanal Eingangskanal des Klienten des Managers des Klienten Abbildung 5 23 Zus tzlicher Ausgangskanal des Interaktionsmanagers 5 2 10 2 Schutz vor Datenverlusten Um die kritischen Datenstrukturen s queue und sub nach einem Systemausfall wiederherstellen zu k nnen gibt es prinzipiell verschiedene M glichkeiten 1 Die Datenstrukturen werden nicht im Hauptspeicher sondern in einer Datenbank gehalten S mtli che Anderungsoperationen die durch das Verarbeiten einer Nachricht ausgel st werden finden in nerhalb einer Transaktion statt die auch das Entnehmen der Nachricht aus dem Eingangskanal des 5 2 Interaktionsmanager 5 2 10 207 Managers d h den Aufruf der Funktion receive und das eventuelle Versenden einer Ant wortnachricht d h einen Aufruf der Funktion send durch den die Nachricht entweder direkt zugestellt oder im Ausgangskanal des Managers abgelegt wird umfa t Auf diese Weise ist sicher gestellt da die Teilschritte 1 Entgegennahme einer Nachricht 2 Verarbeitung der Nachricht und 3 Versenden einer Antwortnachricht entweder alle ausgef hrt oder aber alle nicht
516. rtige Opti mierungen die man etwas eleganter auch mit Hilfe varianter Strukturen modellieren k nnte werden in der zur Implementierung des Daten modells verwendeten Programmiersprache jedoch automatisch durch das Laufzeitsystem vorgenommen das daf r sorgt da nichtbelegte Attribute eines Objekts auch keinen Speicherplatz verbrauchen vgl A 2 2 Aus diesem Grund kann man bei der Modellierung und Imple mentierung von Datenstrukturen durchaus verschwenderisch mit Attributen umgehen und jedem Kind seinen eigenen Namen geben 6 CH ist eine Variante der bekannten Programmiersprache C deren wesentliche Konzepte im weiteren Verlauf des Kapitels en passant er l utert werden Anhang A enth lt au erdem eine zusammenfassende bersicht 4 3 Interne Repr sentation von Ausdr cken 4 3 3 123 param cat Expr o O or KE cat Expr o O or kg y param _ cat Expr o O Q K y cat Expr uot joe uot joe name gt Param Abbildung 4 7 Interne Repr sentation des Ausdrucks p u abrufen p u untersuchen p u deren Stelle des Programms um weitere Attribute oder Konstanten erweitert werden kann ohne da hierf r wie bei objektorientierten Programmiersprachen ein neuer abgeleiteter Typ definiert wer den mu Derartige Typen werden in CH als offene Typen
517. ruck x diese Eigenschaft besitzt F r beliebige Interaktionsausdr cke x gilt die Aussage 7 x lt nicht Als Gegenbeispiel betrach te man den Ausdruck x a b sowie Worte w a a der L nge n e IN Da der Aus druck nach Verarbeitung von w genau n b s akzeptiert m ssen zwei Zust nde x und Gy x f r m n verschieden sein d h es gibt unendlich viele verschiedene Zust nde x des Aus drucks x 4 7 2 2 Vollst ndig und homogen quantifizierte Ausdr cke Definitionen Ein Quantorausdruck x y bzw der Quantorrumpf y hei t vollst ndig quantifiziert bzgl des Pp Parameters p wenn jede Aktion b a y des Quantorrumpfs y vom Parameter p abh ngt d h p in ihrer Parameterliste enth lt Der Ausdruck hei t homogen quantifiziert wenn der Parameter p in gleichartigen Aktionen d h Aktionen mit derselben Signatur immer an denselben Positionen auftritt d h wenn f r zwei Ak tionen b bo b b und b bo b1 b3 aus dem Alphabet von y stets gilt ie IN b p ie IN p Beispiele 1 Der Ausdruck x a p b ist homogen aber nicht vollst ndig quantifiziert weil die Ak p tion b nicht vom Parameter p abh ngt 164 4 7 2 Kapitel 4 Implementierung von Interaktionsausdr cken 2 Der Ausdruck x a p a p ist vollst ndig aber nicht homogen quantifiziert weil p der Parameter p in den gleichartigen Aktionen a
518. rung von Disjunktions Quantorausdriicken aus folgt unter der Annahme da die Zweige in derselben Reihenfolge implementiert sind wie sie im Text vorgestellt werden da die Bedingung x cat Disj amp amp x param aus Abb 4 18 vor der Bedingung x cat Disj aus Abb 4 15 4 6 2 2 berpr ft wird und somit f r einen Dis junktions Quantorausdruck f r den die erstgenannte Bedingung erf llt ist der Zweig in Abb 4 18 ausgef hrt wird w hrend f r eine bin re Disjunktion f r die diese Bedingung nicht erf llt ist der Zweig in Abb 4 15 gew hlt wird Auf diese Weise ist es hnlich wie in objektorientierten Program miersprachen m glich eine allgemeine Funktion oder Methode die auf einer bestimmten Menge 4 6 Implementierung des Zustandsmodells 4 6 4 155 von Objekten definiert ist nachtr glich durch eine speziellere Variante zu berschreiben die auf einer Teilmenge dieser Objekte operiert Beim Zustands bergang wird in der ersten forall Schleife die Menge aller transformierten Zu stand Wert Paare t_ f r t s pairs bestimmt und gleichzeitig die zugeh rigen Werte t value mit Hilfe des Operators aus der Menge V der relevanten Parameterwerte der Aktion a entfernt so da die verbleibende Menge V der Menge Q y p Q T entspricht Die Werte dieser Menge wer den in der zweiten forall Schleife dazu verwendet den Zustand s state des abstrakten Zweigs zu konkretisieren und dann ebenfalls zu tra
519. rung von Workflows 2 1 1 5 Beispiel 2 1 1 6 Referenzmodell der Workflow Management Coalition 3 1 2 Inter Workflow Abh ngiskeiten 4 1 2 1 Parallele Workflows 4 1 2 2 Workflow bergreifende Synchronisationsbedingungen 4 1 2 3 Aufgabenstellung 5 1 3 L sungsversuche 5 1 3 1 Verschmelzung abh ngiger Workflows 5 1 3 1 1 Ansatz 5 1 3 1 2 Kritik 5 1 3 2 Explizite Synchronisierung abh ngiger Workflows 6 1 3 2 1 Ansatz 6 1 3 2 2 Kritik 7 1 3 3 Separate Spezifikation von Inter Workflow Abh ngigkeiten 8 1 3 3 1 Ansatz 8 1 3 3 2 Kritik 8 1 3 4 Deskriptive Spezifikation von Inter Workflow Abh ngigkeiten 10 1 3 4 1 Ansatz 10 1 3 4 2 Kritik 10 1 4 Aufgabenstellung und Gliederung der Arbeit 11 1 4 1 Aufgabenstellung 11 1 4 2 Gliederung 12 2 Interaktionsgraphen 15 2 1 Einleitung 15 2 1 1 Zielsetzung 15 2 1 2 berblick 15 2 2 Grundlegende Operatoren Beispiel M nzautomaten 15 2 2 1 Einwerfen von2DM 15 2 2 2 Einwerfen von3DM 16 2 2 2 1 Variante 1 16 2 2 2 2 Variante2 17 2 2 2 3 Variante3 17 2 2 2 4 Sowohl als auch Verzweigungen 18 2 2 2 5 Variante 4 19 2 2 3 Einwerfen von4DM 19 2 2 3 1 Variante 1 19 2 2 3 2 Variante2 20 2 2 3 3 Mehrfach Verzweigungen 20 2 2 4 Einwerfen von5 DM 21 2 2 4 1 Variantel 21 2 2 4 2 Variante2 21 2 3 2 4 25 2 6 2 2 4 3 Kleinere M nzen 22 2 2 4 4 Abk rzungen 24 2 2 5 Warenausgabe 24 2 2 5 1 Wiederholung 24 2 2 5 2 Eventuell Verzweigung 26 2 2 5 3 Mehrfach Ausf hrung 27 2 2 6 Zusamme
520. rungsreihenfolgen ohne die tats chlich auszuf hrende Folge exakt festzulegen Dement sprechend kann man Interaktionsausdr cke als deskriptiven beschreibenden Formalismus bezeich nen vgl auch 1 3 4 1 6 6 1 2 Gegenseitige Erg nzung pr skriptiver und deskriptiver Formalismen Aufgrund dieser prinzipiellen Verschiedenheit werden Interaktionsausdr cke typischerweise f r ande re Aufgaben oder Problemstellungen eingesetzt als imperative Formalismen Beispielsweise eignen sie sich sehr gut zur Spezifikation allgemeiner ntegrit tsbedingungen vgl z B 5 4 3 deren For mulierung mit imperativen Konstrukten meist sehr m hsam wenn berhaupt m glich ist Auf der an deren Seite erweisen sie sich als ungeeignet wenn es darum geht konkrete Ausf hrungsreihenfolgen festzulegen die auf expliziten Bedingungen beruhen Aus diesen Gr nden sollten Interaktionsaus dr cke und imperative Konstrukte nicht etwa als Konkurrenten betrachtet werden deren Vor und Nachteile gegeneinander abgewogen werden m ten sondern vielmehr als Partner die sich gegensei tig erg nzen k nnen wie dies beispielsweise beim Einsatz von Interaktionsausdr cken als Synchroni sationsmechanismus in parallelen Programmiersprachen der Fall ist vgl 5 3 2 2 Da Workflow Beschreibungssprachen was den Aspekt der Kontrollflu modellierung anbelangt im wesentlichen nichts anderes als graphische Notationen f r imperative Konstrukte darstellen gelten diese
521. ruppen nach und nach abspaltet Man beginnt also mit einer einzelnen Gruppe G4 die anf ngt den Rumpf der Verzwei gung zu durchlaufen Wird in diesem initialen Zustand die einzig zul ssige Aktion 10 Pf ausgef hrt so mu die Grup pe G die linke Aktion 10 Pf durchlaufen Wird die Aktion 10 Pf ein zweites Mal ausgef hrt gibt es bereits zwei Alternativen a Entweder setzt die Gruppe G ihre Reise fort biegt am Entweder oder Verzweigungsknoten nach unten ab und durchl uft die rechte Aktion 10 Pf b oder man spaltet am linken Knoten eine zweite Gruppe G ab die die linke Aktion 10Pf durchl uft Formal kann man die resultierenden Zust nde wie folgt mit Hilfe von Tupeln beschreiben a Das Ein Tupel 2 besagt da es eine Gruppe G gibt die 2 mal die Aktion 10 Pf durchlaufen hat b w hrend das Zwei Tupel 1 1 anzeigt da es zwei Gruppen G und G gibt die beide 1 mal die Aktion 10 Pf passiert haben Allgemein repr sentiert ein n Tupel k k mit k k E 1 2 einen Zustand in dem 46 2 4 4 Kapitel 2 Interaktionsgraphen n Gruppen G G im Rumpf der Beliebig oft Verzweigung unterwegs sind und jede Grup pe G die Aktion 10Pf k mal durchlaufen hat i 1 n Die Gesamtzahl der ausgef hrten 10 Pf Aktionen entspricht daher der Quersumme k k des Tupels a b c a b c d e Wird die Aktion 10 Pf ein drittes Mal ausgef hrt ergeben
522. rwendung einer reilwortorientierten Semantik d h einer unabh ngigen Defi nition der Menge der partiellen Worte dar zumindest was die L sung des Aktionsproblems betrifft W rde man n mlich dem klassischen Ansatz folgend verlangen da ein Ausdruck mit Sackgassen d h ein insgesamt unerf llbarer Ausdruck bereits im ersten Schritt keine Aktion akzeptieren darf so w re das operationale Modell in der vorliegenden Form zum Scheitern verurteilt weil es im allgemei nen erst nach einigen Zustands berg ngen erkennen Kann da ein Ausdruck eine Sackgasse d h einen unerf llbaren Teilausdruck besitzt 34 mit Ausnahme der expliziten Negativbeispiele 4 8 Riickblick 4 8 1 179 Sofern man nur an einer L sung des Wortproblems interessiert ist stellt dies ebenso wie bei endli chen Automaten kein Problem dar weil man sich in diesem Fall nur f r den Wert des Pr dikats g s des letzten Zustands s o x interessiert Zur L sung des Aktionsproblems mu man jedoch anhand eines Zwischenzustands o x mit einem Pr fix u w entscheiden ob die n chste vorliegende Aktion akzeptiert werden darf oder nicht Wollte man hier die klassische Semantik implementieren die eine Aktion nur akzeptiert wenn das bis jetzt verarbeitete Wort zu einem vollst ndigen Wort des Aus drucks erg nzt werden kann so br uchte man zus tzliche theoretische Methoden und praktische Algorithmen zur Beantwortung dieser Frage wobei zualle
523. rzichtet wer den da sie bei der syntaktischen Analyse eines Ausdrucks durch einen quivalenten Quantorausdruck ersetzt wird vgl 4 3 1 4 6 3 Vorbereitungen f r Quantorausdr cke 4 6 3 1 Konkretisierung von Aktionen Ausdr cken und Zust nden Im Gegensatz zu 3 3 3 1 und 4 5 6 1 wo durch die Konkretisierung einer Aktion eines Ausdrucks oder eines Zustands s ein neues im wesentlichen zwar dupliziertes stellenweise aber modifiziertes mathematisches Objekt Sp entsteht werden abstrakte Objekte im folgenden durch eine geeignete An Ort und Stelle Modifikation engl in place modification tempor r in konkretisierte Objekte ver wandelt Auf diese Weise kann ein abstraktes Objekt bei Bedarf ohne aufwendige Kopieroperationen konkretisiert werden und ggf kann ein und dasselbe abstrakte Objekt zu verschiedenen Zeitpunkten mehrere verschiedene konkretisierte Objekte repr sentieren Konkret wird hierf r mit Hilfe der CH Anweisung p value v in das Attribut value eines Parameter Objekts p das f r einen Quantorparameter bisher unbenutzt war mit einem bestimmten Wert v belegt und so zum Ausdruck gebracht da der Parameter p momentan diesen Wert v repr sen tiert Da ein Parameter Objekt gem 4 3 2 von s mtlichen Aktions Objekten die diesen Parameter in ihrer Argumentliste enthalten als gemeinsames Objekt referenziert wird werden durch diese Wert zuweisung alle betroffenen Aktionen und damit auch alle Ausdr cke und
524. s Gr nden der bersichtlichkeit werden die vollst ndigen Aktivit tenbezeichnungen Untersuchung anordnen Termin vereinbaren usw zum Teil durch die zugeh rigen T tigkeitsw rter anordnen vereinbaren usw abgek rzt 230 5 5 5 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Aktivit ten eines Workflows die mit einem Haken versehen sind wurden bereits ausgef hrt w h rend eingerahmte Aktivit ten sowohl aus Sicht des WfMSs als auch aus Sicht des Interaktionsmana gers zul ssig sind und somit in den Arbeitslisten der Benutzer erscheinen Sobald eine Stationsschwester anhand ihrer Arbeitsliste erkennt da Patient X f r die Untersuchungen sono und endo vorbereitet werden mu beginnt sie diese beiden Aktivit ten zu starten Hierbei lau fen jeweils die in Abb 5 42 dargestellten Protokollschritte ab in deren Verlauf der Interaktionsmana ger jeweils einen Zustands bergang f r die Startaktionen vorbereiteny X sono und vorbereiteny X endo durchf hrt In der Folge akzeptiert der betrachtete Graph f r diesen Patienten nur noch die zugeh rigen Endeaktionen vorbereiten X sono und vorbereiten X endo sowie weite re vorbereiteng Aktionen Ersteres wird in Abb 5 50 durch die beiden Marken in der rechten H lfte der Aktivit t vorbereiten angezeigt w hrend letzteres wie zuvor durch die Marke in der linken H lfte angezeigt wird Da die Startaktion aufklareng X endo nun nicht mehr zul ssig ist sendet der Inte
525. s Kapitels nicht unn tig zu behindern An hang A erl utert kurz die wesentlichen Konzepte der zur Implementierung verwendeten Programmier sprache CH bei der es sich um eine Variante von C handelt w hrend Anhang B umfangreiche Be weise enth lt die im wesentlichen die Korrektheit der operationalen Semantik d h ihre quivalenz zur formalen Semantik zeigen Anhang C beschreibt einen syntaxgesteuerten Editor f r Interaktionsgraphen und geh rt inhaltlich zu Kapitel 5 In Anhang D schlie lich werden alle wichtigen Begriffe und Symbole die in dieser Ar beit eingef hrt und verwendet werden tabellarisch zusammengefa t Kapitel 2 Interaktionsgraphen 2 1 Einleitung 2 1 1 Zielsetzung Im vorliegenden Kapitel werden Interaktionsgraphen als graphischer Formalismus zur Beschreibung von Abh ngigkeiten oder Wechselwirkungen zwischen T tigkeiten lat inter actiones vorgestellt Im Gegensatz zum nachfolgenden Kapitel 3 in dem die exakte Semantik von Interaktionsgraphen bzw ausdr cken mit Hilfe formaler Sprachen spezifiziert wird werden Interaktionsgraphen in diesem Kapitel informell und anschaulich eingef hrt und erl utert Um die Bedeutung eines Graphen zu ver stehen stelle man sich vor da man ihn hnlich wie ein Syntaxdiagramm nach bestimmten in den folgenden Abschnitten erl uterten Regeln von links nach rechts durchl uft und die Folge der hier bei passierten Aktionen als zul ssige Ausf hrungsreihenfolge int
526. s Zustands bergangs T4 o A mit u r or e A UCI am ir eA F r J r A gilt t40 r ta oa y 65 ou 0 On 2 5 und L Ta r o y Ta o5 z o y ou jeweils mit a AY 8 A mit A oxa O o z 2 5 AS U oz y oua 0 AC 0 A mit A o y o z u v AS A 314 B24 Anhang B Verifikation des Zustandsmodells Korrektheit des Zustandsmodells F r ein Wort w gilt w e P x YO Kz due Wy v V z weu yv Korrektheit des Zustandsmodells fiir y und z amp Ju veitweu dv y y v z Definition von A Alu v e AR Yr O y Struktur der Folgezust nde von x lt m V man T v eA und analog wex OHH G ltigkeit des Substitutionsprinzips F r ein Wort w e einen Quantorparameter q II und einen bzgl x und q irrelevanten Parameter wert z Q x q des Wortes w gilt Z 0 AZ mit A o 9 0 0 u v A Definition konkretisierter Zust nde 4 5 6 1 o A mit Ay Ay O 2 u vy eae Substitutionsprinzip f r y und z plus Monotonie relevanter Parameterwerte lo Ay mit Ap oulyg ov z7 Ie vl AR Struktur der Folgezust nde des Ausdrucks x yj z4 o x7 B 2 4 Beweis fiir Quantorausdriicke B 2 4 1 Disjunktions Quantorausdr cke Gegeben sei ein Disjunktions Quantorausdruc
527. s entsprechen sind lediglich Synonyme eines vorde finierten Typs String der die Menge aller Zeichenketten Strings repr sentiert Der Typ Param beschreibt einen Parameter bzw ein Argument einer Aktion Je nachdem ob ein Objekt dieses Typs das Attribut name oder value besitzt repr sentiert es entweder einen Quantorpa rameter p II oder einen konkreten Wert Sind beide Attribute vorhanden so wird ein Para meter p II beschrieben dem momentan ein konkreter Wert Q zugeordnet ist vgl 4 6 3 1 Der Typ Action beschreibt abstrakte Aktionen a T die aus einem Namen vom Typ Aname ein wertiges Attribut name und einer Folge von Parametern oder Argumenten vom Typ Param mehr wertiges Attribut params bestehen Der Typ Category repr sentiert einen Aufz hlungstyp mit den Elementen bzw Werten Atom Sequ Par Disj Conj Sync Iter zur Beschreibung von Ausdrucks Kategorien deren Verwendung im folgenden n her erl utert wird Der Typ Expr schlie lich dient zur Repr sentation beliebiger Interaktionsausdr cke mit Ausnahme paralleler Iterationen die gem 3 4 11 durch parallele Quantorausdr cke ersetzt werden k nnen Diese Ersetzung wird bereits bei der syntaktischen Analyse eines Ausdrucks vorgenommen Tabelle 4 6 zeigt die Verwendung und Belegung der Attribute cat action left right body und param des Typs Expr f r die verschiedenen Ausdrucks Kategorien Wie man sieht verweisen die Attribute le
528. s folgende einfache Beispiel entnommen aus Shaw80b zum Vergleich von Ereignis Flu und Interaktionsausdr cken demonstriert insbesondere das Prinzip der modularen Kombination von Aus dr cken Gegeben sei ein Erzeuger Proze der abwechselnd die Aktivit ten produce zum Erzeugen irgendei nes Objektes und put zum Ablegen eines erzeugten Objekts in einem Zwischenpuffer ausf hrt Ge geben sei weiterhin ein Verbraucher Proze der abwechselnd die Aktivit ten get und consume aus f hrt um jeweils ein Objekt aus dem Zwischenpuffer zu holen und anschlie end irgendwie zu ver brauchen Die zul ssigen Ausf hrungsreihenfolgen dieser beiden Prozesse k nnen in TAA Notation durch die Ausdr cke produce put bzw a get consume beschrieben werden Sofern der Zwischenpuffer jeweils nur ein Objekt aufnehmen kann m ssen auch die Aktivit ten put und get alternierend ausgef hrt werden put get Zur Beschreibung des Gesamtsystems mit Hilfe von Interaktionsausdriicken werden diese drei Teil ausdr cke einfach intuitiv Konjunktiv mittels Synchronisation verkn pft amp produce put amp get consume o amp put get Bei der Verwendung von Ereignisausdr cken m ssen die beiden ersten Teilausdr cke zun chst um zus tzliche Symbole erweitert werden die die zu synchronisierenden Aktivit ten put und get umge 6 2 Erweiterte regul re Ausdr cke 6 2 3 249 ben amp produce pu
529. s geeignete Mechanismen wie z B shared variables message queues re mote procedure calls o 4 angeboten werden damit die Sprache f r reale Programmierprojekte einge setzt werden kann Au erdem w ren Ausdrucksmittel wie parbegin und parend Dijkstra68a sinn voll mit denen Parallelit t nicht nur f r komplette Prozeduren sondern auch f r einzelne Anweisun gen formuliert werden kann Allerdings war die Entwicklung einer YAPPL yet another parallel programming language nie ein Ziel dieser Arbeit Vielmehr sollte die in diesem Abschnitt vorgestellte PMPPL poor man s par allel programming language lediglich verdeutlichen wie Interaktionsausdr cke hnlich wie Pfad und Synchronisierungsausdr cke prinzipiell als High level Synchronisationsmechanismus in par allelen Programmiersprachen eingesetzt werden k nnen Au erdem wird das in 5 3 2 verwendete Vorgehensmodell zur Entwicklung paralleler Programme Definition von Aktivit ten Definition von Synchronisationsbedingungen und schlie lich Definition von Prozessen im nachfolgenden Ab schnitt 5 4 wiederaufgegriffen um Systeme nebenl ufiger Workflows zu entwickeln 214 5 3 3 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken phil l 1 2 Interaktionsmanager phil 2 2 3 loop loop think 1 Wait Wait think 2 wait
530. s r chen wenn man doch einmal mit einem Problem konfrontiert ist bei dem man eine Kombination von Operatoren ben tigt oder zumindest gewinnbringend einsetzen k nnte die man bis dahin f r vollkommen irrele vant gehalten hat Aus diesem Grund kann die konsequente Entwicklung eines vollst ndigen und orthogonalen For malismus einschlie lich einer praxistauglichen Implementierung als ein wesentlicher Beitrag die ser Arbeit betrachtet werden 6 3 Proze algebren 6 3 1 Einleitung Neben den im vorangegangenen Abschnitt diskutierten Ausdrucksformalismen bei denen die hn lichkeit zu Interaktionsausdr cken offensichtlich ist gibt es eine weitere Klasse von Formalismen meist als Proze algebren bezeichnet bei denen die Verwandtschaft weniger stark ausgepr gt ist Ne ben reinen Beschreibungsmitteln zur Spezifikation sequentieller und paralleler typischerweise auch kommunizierender Prozesse bieten diese stark mathematisch ausgerichteten Formalismen auch einen Regelapparat zur Verifikation von Prozessen bzw Proze systemen Implementierungsaspekte spielen 254 6 3 2 Kapitel 6 Verwandte Arbeiten jedoch zumeist nur eine untergeordnete Rolle obwohl es zum Teil Werkzeuge zum experimentellen Umgang mit einem Formalismus gibt Cleaveland90 Moller99 vgl auch 6 3 2 3 Im folgenden soll exemplarisch einer der bekanntesten und einflu reichsten Vertreter von Proze al gebren CSP von Hoare Hoare85 vorgestellt und mit
531. sage die Richtigkeit der isolierten Gleichheitsaussage f r alle Ausdr cke x x Z zu zeigen 3 4 1 3 Beispiel Die Ausdr cke x alp alq und m a lp Oalg mit pzgell sind isoliert quivalent denn es gilt wegen a p a q D x P xa 0 P x und a x a p alq a x F r z Q gilt jedoch x 4103 17 al alz mit x1 B a N Pla r a A lal und x4 N a w0 Oa z mit x5 B a o U a z a a U lala a lala E x d h x und x sind nicht umfassend quivalent Dementsprechend kann x normalerweise nicht durch x ersetzt werden ohne die Bedeutung eines bergeordneten Ausdrucks zu ver ndern 3 4 2 Monotonie von Operatoren 3 4 2 1 Lemma Die Mengenoperationen Vereinigung und Durchschnitt Konkatenation und Verschr nkung sowie se quentielle und parallele H lle sind monoton und abgeschlossen d h aus U CU c A und V c V c A f r eine Teilmenge A c X folgt UUMEWUWEAN UNWEUHNWEA UMEeEULWCA Ui V CU 8 V c A Ui c U c A U C U C A Beweis Die Aussagen geh ren entweder zum mathematischen Allgemeinwissen oder folgen unmittelbar aus den Definitionen der jeweiligen Operationen vgl 3 2 2 2 und 3 2 2 3 3 4 Eigenschaften von Interaktionsausdriicken 3 4 2 93 3 4 2 2 Definitionen 1 Ein Ausdruck x akzeptiert h chstens die Worte die ein Ausdruck x akzeptiert in Zeichen x C xX
532. sausdr cke z B zur Synchronisation der Prozeduren eines parallelen Programms vgl 5 3 so gen gt es v llig wenn f r jede einzelne konkret aufgerufene Prozedur entschieden werden kann ob ihre Ausf hrung momentan zul ssig ist oder nicht die Menge aller momentan zul ssigen Prozeduraufrufe ist ohne Bedeutung Auch beim Einsatz von Interaktionsgraphen zur Spezifikation und Implementierung von Inter Workflow Abh ngigkeiten vgl 5 5 gen gt es wenn jeweils f r einzelne konkrete Aktivit ten ent schieden werden kann ob sie momentan gestartet werden d rfen oder nicht da die Menge aller po tentiell zul ssigen Aktivit ten von einem Workflow Management System bestimmt wird Aus diesen Gr nden Kann die Bestimmung der im n chsten Schritt zul ssigen Aktionen als optio nale Nice to have Komponente einer Implementierung von Interaktionsausdr cken betrachtet wer den auf die im weiteren nicht n her eingegangen wird Prim res Ziel des Kapitels ist also die Entwicklung einer Software Komponente die das Aktionspro blem f r einen gegebenen Interaktionsausdruck m glichst effizient l sen kann Quasi als Abfallpro dukt wird hierbei auch eine algorithmische L sung des Wort und Teilwortproblems anfallen Da das vorliegende Kapitel aber noch zum anwendungsunabh ngigen Grundlagenteil der Arbeit geh rt Ebe ne 3 in Abb 1 8 wird hier noch nicht n her erl utert wie die entwickelte Software Komponente tat s chlich zur Koor
533. sch umgesetzt und in 4 7 bez glich seiner Komplexit t untersucht Hierbei ergibt sich zwar da der so entwickelte Algorithmus f r gezielt konstruierte b sartige Ausdr cke nach wie vor exponentielle Laufzeit besitzt da praktisch relevante Ausdr cke wie z B s mtliche in dieser Arbeit vorgestellten Beispielausdr cke aber mit polynomieller Komplexit t verarbeitet werden k nnen Abschnitt 4 8 enth lt einen R ckblick auf die Implementierung und fa t die f r diesen Erfolg we sentlichen Faktoren noch einmal kurz zusammen Abbildung 4 1 skizziert in groben Z gen die Gesamtarchitektur des zu entwickelnden Programms das aus vier Modulen besteht die in den angegebenen Abschnitten mehr oder weniger detailliert beschrie ben werden Die von unten nach oben gerichteten gestrichelten Pfeile deuten Import Beziehungen zwischen Modulen an w hrend die brigen Pfeile anzeigen wie ein gegebener Ausdruck nacheinan der von den einzelnen Modulen verarbeitet wird und welche Datenstrukturen hierbei ausgetauscht werden Das Modul parse verwandelt einen gegebenen Ausdruck in der Abbildung exemplarisch a b Oc der ihm vom Hauptprogramm bergeben wird in einen quivalenten Operatorbaum der vom Modul state sowohl zur Bestimmung des initialen Zustands als auch zur Berechnung der Folgezust nde des Ausdrucks verwendet wird Durch Auswertung dieser Zust nde ist das Hauptpro 4 2 Syntax von Interaktionsausdr cken 4 2 1 115
534. scher Objektdeklarationen aufgebaut wird A 3 2 7 Initialisierungs und Terminierungsanweisungen Anweisungsbl cke die mit einem der Schl sselworte begin oder end gekennzeichnet sind werden ebenfalls auf gew hnliche parameter und resultatlose C Funktionen abgebildet deren Adressen in einer doppelt verketteten Liste gespeichert werden Die Bibliotheksfunktion main die vom C Laufzeitsystem nach dem Start des Programms aufgerufen wird durchl uft diese Liste zun chst vor w rts und ruft hierbei nacheinander die einzelnen Initialisierungsfunktionen d h begin Bl cke auf Anschlie end wird die Liste r ckw rts durchlaufen und die Terminierungsfunktionen end Bl cke ausgef hrt A 4 Anmerkungen Bei der Sprache CH bzw ihrer derzeitigen Implementierung handelt es sich um einen experimentel len Prototyp mit gewissen Einschr nkungen bez glich Robustheit Fehlertoleranz und Effizienz Bei spielsweise wurden die beiden in A 3 1 erw hnten Pr prozessoren mit relativ geringem Aufwand in der Unix Skriptsprache AWK Aho79 geschrieben was zur Folge hat da sie zum einen nicht sehr effizient und zum anderen relativ intolerant in Bezug auf fehlerhafte Eingaben sind Bei der Entwicklung der Bibliotheksmodule wurde zwar gro er Wert auf Korrektheit Lesbarkeit und konomische Speicherplatzverwendung gelegt nicht jedoch auf eine maximal effiziente Imple mentierung Dies hat zur Folge da der Zugriff auf ein Element
535. schieden werden 1 F r w gilt offensichtlich ow bg ol 2 F r w b mu wegen w amp b e Lund daher da b folglich unabh ngig vom Parameter q ist bz b und somit w b7 gelten Daraus folgt aber ou 1 1 Sue 3 F r w bg folgt durch Widerspruch ebenfalls daB b be und somit w b gilt Aus der An nahme b Db b w rde n mlich folgen Qu x 9 g o Q be a b oe Q be b 5 oc Q be bo l meQ bee be az 304 B 2 3 Anhang B Verifikation des Zustandsmodells im Gegensatz zur Voraussetzung 7 Q x q Daher gilt wie im Fall 2 0 0 7 T1 o x7 4 F r alle anderen Worte w e amp gilt offensichtlich 0 0 i o x7 Somit gilt f r alle w amp die Beziehung o Siler B 2 3 2 Disjunktion Gegeben sei eine Disjunktion x y z mit beliebigen Teilausdriicken y und z fiir die das Korrekt heitstheorem gem der globalen Induktionsvoraussetzung bereits bewiesen sei Struktur der Folgezust nde F r die Folgezust nde des Ausdrucks x gilt offensichtlich Beweis unmittelbar durch vollst ndige In duktion nach der L nge des Wortes w x O op Fy 2 und somit WCX P V yyh und g x pO v 2 Korrektheit des Zustandsmodells F r ein Wort w gilt we V x YOy U Vz we Y y oder we Wz Korrektheit des Zustandsmodells fiir y und z yy T oder y zv T u rn Wy Struktu
536. schr nkt ausgef hrt werden 2 3 4 3 Allgemeing ltige L sung Die Zahl 10 im obigen Beispiel wurde absolut willk rlich gew hlt um einen konkreten Wert vor Au gen zu haben reale Kopiergesch fte k nnen nat rlich sowohl mehr als auch weniger Kopierger te be sitzen und diese Anzahl ndert sich vermutlich von Zeit zu Zeit Ebenso willk rlich ist die Annah me da die einzelnen Kopierer mit den nat rlichen Zahlen von 1 bis 10 bezeichnet werden Sinnvoller w re vermutlich eine Identifikation ber ihre Seriennummer Inventarnummer oder hnliches Dann 10 m te man die Summenschreibweise allerdings durch eine Notation der Art ersetzen in der k 1 keQ die Indexmenge Q die Nummern aller Kopierer des betrachteten Kopiergesch fts enth lt Dies ist jedoch aus verschiedenen Gr nden unpraktisch Zum einen ndert sich die Menge Q immer wieder wenn ein neuer Kopierer angeschafft oder ein alter ausgemustert wird Zum anderen ist ihr konkreter Inhalt vom konkret betrachteten Kopiergesch ft abh ngig d h es ist auf diese Weise nicht m glich eine allgemeing ltige Integrit tsbedingung zu formulieren die auf beliebige Kopiergesch f te angewandt werden kann Schlie lich ist es einfach l stig wenn man in einer Inventarliste o die konkreten Nummern aller Kopierger te nachschlagen mu wenn man eigentlich formulieren m chte da die Integrit tsbedingung die durch den Rumpf der Verzweigung beschrieben wird f r all
537. sdruck x a p a q mit p q e II gem Behauptung 2 injektiv und beidseitig fokussiert da die Aktionen a p und a q verschieden sind Dasselbe gilt auch f r den konkretisierten Ausdruck ip a q a z wenn die Werte und x verschieden sind Sind die Werte jedoch gleich so erf llt der resultierende Ausdruck Xp T a a q die Vorausset zung von Behauptung 2 nicht mehr Tats chlich ist dieser Ausdruck nicht mehr injektiv da er sowohl im initialen Zustand als auch nach erfolgreicher Verarbeitung der ersten Aktion die Aktion a q ak zeptiert Ebenso lassen sich Ausdr cke formulieren deren initiale oder terminale Fokussierung abh n gig von bestimmten Parameterbelegungen ist 4 7 Komplexit tsbetrachtungen 4 7 3 1 167 Aus diesen Gr nden mu bei Argumentationen die sich auf die Injektivit t oder Fokussierung ei nes Teil Ausdrucks st tzen sorgf ltig darauf geachtet werden da diese Eigenschaften f r alle in Frage kommenden Parameterbelegungen d h f r alle entsprechenden Konkretisierungen des Aus drucks erf llt sind Dies betrifft insbesondere die Aussagen zur parallelen Iteration in 4 7 3 4 sowie zu parallelen Multiplikatoren in Tab 4 27 4 7 5 2 die in den Beispielen 1 und 2 von 4 7 5 3 ver wendet werden 4 7 3 Aussagen zu elementaren Operatoren Nach den vorangegangenen Vorbereitungen ist es nun m glich konkrete Komplexit tsaussagen so wohl zu elementaren Operatoren als auch zu Qu
538. selbst kann auch die Verschr nkung von n beliebigen Mengen U U C amp induktiv definiert werden 0 fiir n 0 U n 1 1 Bu Jeu f rn gt 0 L amp Anschaulich bedeutet das da man aus jeder Menge U ein Wort u w hlt die Menge aller m glichen Verschr nkungen dieser Worte bestimmt und diesen Vorgang f r alle m glichen Kombinationen der Worte u U wiederholt Versucht man auf dieselbe Art und Weise unendlich viele Mengen U Q miteinander zu ver schr nken d h aus jeder Menge U jeweils ein Wort u zu w hlen und diese miteinander zu ver schr nken so sind die resultierenden Worte aufgrund der oben erw hnten Beziehung Iwl lul Ivl f r we u v potentiell unendlich lang und somit nicht mehr Elemente der Menge amp Endliche Worte e Z erh lt man offensichtlich nur wenn von den gew hlten Worten u U fast alle d h alle bis auf endlich viele leer sind und somit bei der Verschr nkung ignoriert werden k nnen Sofern also alle Mengen U das leere Wort enthalten gen gt es jeweils endlich viele Worte u o E Uo f r paarweise verschiedene Werte Q miteinander zu verschr nken und diesen Vorgang f r alle m glichen Kombinationen von Werten zu wiederholen Dies wird durch die folgende Definition formalisiert 3 Durch die Notation E Q soll ausgedr ckt werden da die Werte Q paarweise verschieden sind d h da
539. setzt wird siehe un ten Anders als bei den brigen Quantorzust nden tr gt auch die homogene Behandlung von Zust nden des abstrakten und der konkreten Zweige mit Hilfe des Pseudowerts p vgl 4 5 6 4 und ihre Zu sammenfassung in jeweils einer Multimenge pro Alternative zu einer Vereinfachung der nachfolgen den Definitionen bei Ein paralleler Quantorzustand s y p A ist genau dann ein g ltiger Zustand bzw ein Endzu stand wenn er mindestens eine Alternative besitzt die nur g ltige bzw Endzust nde enth lt y s V AvE s V A Gt TeAteT TeAteT Beim Zustands bergang wird hnlich wie bei der elementaren parallelen Komposition aus jeder Alternative S eine Menge neuer Alternativen S t t erzeugt bei denen jeweils ein erweiterter Zu stand 7 durch den transformierten Zustand r t t ersetzt wird Bei den Alternativen S handelt es sich ee nicht um die urspr nglichen Alternativen T A sondern um modifizierte Multimen gen S T I i o X o a ai bei denen jeweils k erweiterte Zust nde t p T des ab strakten Zweigs y durch konkretisierte Zustand Wert Paare Cae o ersetzt wurden Hierbei ent sprechen die Werte genau denjenigen relevanten Parameterwerten der Aktion a die in der urspr nglichen Alternative T nicht vorkommen Ta s y p A mit A S t r tEeS Se XT TEA und k k k ar T 5 i pl la EA Ut P ET X o 040 pan i 1 Ein pa
540. sformationsvorschrift in der die Verbotskante von sg nach 1 durch einen doppelt durchgestrichenen Pfeil gekennzeichnet ist Das Teilnetz s h m entspricht dem linken Knoten der Beliebig oft Verzweigung und wirkt als Markengenerator der die Stelle s mit beliebig vielen Marken versorgt deren Anzahl in der Stelle s gez hlt wird Analog entspricht das Teilnetz s t s4 dem rechten Knoten und dient als Markenverbraucher der durch das Schalten der Transition 1 aktiviert wird und anschlie end jede Marke die von f in die Stel le s gelegt wurde und nach Passieren des Verzweigungsrumpfes in der Stelle s erscheint verbraucht hierbei wird der Z hler s entsprechend dekrementiert Sobald dieser Z hler den Wert null erreicht d h s keine Marken mehr tr gt kann Transition 1 schalten und damit die Ausf hrung der Beliebig oft Verzweigung beenden Allerdings funktioniert die so konstruierte Schaltung nur korrekt solange Beliebig oft Verzweigun gen nicht verschachtelt werden Andernfalls tritt das Problem auf da die Transition t einer inneren Verzweigung nicht unterscheiden kann ob alle Marken in der Stelle sg von einer einzigen oder von mehreren verschiedenen Marken der Stelle s abstammen d h ob die innere Verzweigung ein oder mehrmals durchlaufen wird Im ersten Fall darf t tats chlich erst schalten wenn die Stelle s leer ist 14 st die Markenzahl einer Stelle s h chstens n
541. sich folgende drei Alternativen Ausgehend vom Zustand 1 1 wird eine dritte Gruppe G3 abgespalten die die linke Aktion 10 Pf durchl uft Resultierender Zustand 1 1 1 Ausgehend vom selben Zustand 1 1 geht eine der beiden Gruppen weiter und durchl uft die rechte Aktion 10 Pf Resultat 1 2 oder 2 1 Ausgehend vom Zustand 2 wird eine zweite Gruppe G abgespalten die die linke Aktion 10 Pf durchlauft Resultat ebenfalls 2 1 Wird die Aktion 10 Pf ein viertes Mal ausgefiihrt ergeben sich die folgenden fiinf Alternativen Ausgehend vom Zustand 1 1 1 wird eine vierte Gruppe G abgespalten die die linke Ak tion 10 Pf durchlauft Resultat 1 1 1 1 Ausgehend vom selben Zustand 1 1 1 geht eine der drei Gruppen weiter und durchl uft die rechte Aktion 10 Pf Resultat 1 1 2 oder 1 2 1 oder 2 1 1 Ausgehend vom Zustand 1 2 wird eine dritte Gruppe G3 abgespalten die die linke Aktion 10 Pf durchlauft Resultat erneut 1 2 1 Ausgehend vom selben Zustand 1 2 geht die Gruppe G weiter und durchliuft die rechte Aktion 10 Pf Resultat 2 2 Ausgehend vom symmetrischen Zustand 2 1 erh lt man entsprechend einen der Zust nde 2 1 1 oder wiederum 2 2 5 Usw Wie die folgenden berlegungen zeigen erh lt man auf diese Weise nach 2n Ausf hrungen der Ak tion 10 Pf eine Anzahl N von mehr als 2 verschiedenen Tupeln die alle die Quersumme 2n besitzen sieh
542. sierung von Arbeitslisten 221 5 5 2 2 Starten von Aktivit ten 222 5 5 2 3 Beenden von Aktivit ten 223 5 5 2 4 Verallgemeinerung auf mehrere Interaktionsmanager und Ausf hrungseinheiten 224 5 5 3 Adaption von Workflow Ausf hrungseinheiten 225 5 5 3 1 Aktualisierung von Arbeitslisten 225 5 5 3 2 Starten von Aktivit ten 226 5 5 3 3 Beenden von Aktivit ten 226 5 5 3 4 Verallgemeinerung auf mehrere Interaktionsmanager und Ausf hrungseinheiten 227 5 5 4 Diskussion 228 5 5 4 1 Adaption von Arbeitslistenprogrammen 228 5 5 4 2 Adaption von Workflow Ausf hrungseinheiten 228 5 3 5 Beispiel 229 6 Verwandte Arbeiten 239 6 1 Einleitung 239 6 1 1 Synchronisation paralleler Prozesse 239 6 1 2 berblick 239 6 2 Erweiterte regul re Ausdr cke 240 6 2 1 Pfadausdr cke 240 6 2 1 1 Angebotene Operatoren 240 6 2 1 2 Definition der Semantik 241 6 2 1 3 Implementierung des Formalismus 241 6 2 1 4 Vergleich mit Interaktionsausdr cken 242 6 2 1 5 Erweiterungen und Variationen 244 6 2 2 Synchronisierungsausdr cke 245 6 2 2 1 Angebotene Operatoren 245 6 2 2 2 Definition der Semantik 245 6 2 2 3 Implementierung des Formalismus 245 6 2 2 4 Vergleich mit Interaktionsausdr cken 246 6 2 3 Ereignis und Flu ausdr cke 246 6 2 3 1 Angebotene Operatoren 246 6 2 3 2 Definition der Semantik 247 6 2 3 3 Implementierung des Formalismus 247 6 2 3 4 Vergleich mit Interaktionsausdr cken 247 6 2 4 CoCoA Ausf hrungsregeln 250 6 2 4 1 Angebotene Oper
543. sig sind usw Offensichtlich l t sich das Aktionsproblem wie oben beschrieben direkt auf das Teilwortproblem zur ckf hren und umgekehrt Auch die Bestimmung der im n chsten Schritt zul ssigen Aktionen l t sich theoretisch z B auf das Aktionsproblem reduzieren indem man f r jede Aktion a X berpr ft ob sie im n chsten Schritt zul ssig ist oder nicht Da die Menge X jedoch potentiell unendlich gro ist ist diese Reduktion praktisch nicht anwendbar F r praktische Anwendungen von Interaktionsausdr cken bzw graphen wie sie z B im nachfol genden Kapitel 5 beschrieben werden ist die L sung des Wort und Teilwortproblems von untergeord neter Bedeutung weil man meist keine abgeschlossene Folge von Aktionen vorliegen hat f r die nachtr glich entschieden werden soll ob es sich um ein partielles oder vollst ndiges Wort des Aus drucks x handelt Vielmehr werden Aktionen normalerweise sukzessive ausgef hrt und es mu je weils sofort entschieden werden ob eine bestimmte Aktion im aktuellen Zustand der Verarbeitung zu l ssig ist oder nicht Aus diesem Grund kommt dem Aktionsproblem in praktischen Anwendungen die gr te Bedeutung zu Die Bestimmung der im n chsten Schritt zul ssigen Aktionen mag auf den ersten Blick ebenfalls sehr wichtig erscheinen erweist sich f r viele Anwendungsgebiete jedoch als unn tig Verwendet 113 114 4 1 2 Kapitel 4 Implementierung von Interaktionsausdriicken man Interaktion
544. sige Ausf h rungsreihenfolge Die Menge aller zul ssigen Ausf hrungsreihenfolgen w rde man erhalten wenn man den Graphen hnlich wie ein Labyrinth systematisch exploriert d h alle durch die Regeln erlaubten Alternativen verfolgt 2 4 2 Zielgerichtete Entscheidungen Beim praktischen Einsatz von Interaktionsgraphen interessiert man sich allerdings weder f r die Men ge aller zul ssigen Ausf hrungsreihenfolgen eines Graphen noch f r irgendeine zuf llig erzeugte Fol ge von Aktionen Wesentlich interessanter ist hier die Fragestellung ob eine konkret vorliegende Ak tionsfolge aus Sicht des Graphen zul ssig ist und wenn dies der Fall ist ob eine bestimmte Ak tion im n chsten Schritt zul ssig ist oder nicht Insbesondere die zweite Frage die in 4 1 1 als Ak tionsproblem bezeichnet wird ist f r den Einsatz von Interaktionsgraphen als Synchronisationsme chanismus von entscheidender Bedeutung Wann immer in der realen Welt eine Aktion ausgef hrt werden soll mu anhand des Graphen und der bisher ausgef hrten Aktionen entschieden werden k n nen ob die Aktion zul ssig ist oder nicht Um diese Frage beantworten zu k nnen ist es sinnvoll den gegebenen Graphen nicht willk rlich oder ziellos zu durchlaufen sondern die tats chlich in der realen Welt ausgef hrten Aktionen als Richtschnur oder Leitlinie zu verwenden d h erforderliche Entscheidungen zielgerichtet zu treffen Beispiele Als einfaches Beis
545. sissprache Trotz dieser M ngel bleibt C zumindest als Basissprache interessant da sie durch ihren Multi Pa radigmen Charakter beispielsweise wird klassisches imperatives oder auch funktional ausgerichte tes Programmieren ebenso unterst tzt wie typisch objektorientierte Vorgehensweisen sowie durch eine Vielzahl fortgeschrittener Konzepte wie z B Templates Ausnahmebehandlung oder berladen von Operatoren die M glichkeit bietet Spracherweiterungen bis zu einem gewissen Grad in der Sprache selbst oder aber mit Hilfe einfacher Pr prozessoren die nur einige wenige Schl sselworte in terpretieren m ssen zu implementieren So ist man beispielsweise durch automatische Konstruktor und Destruktoraufrufe prinzipiell in der Lage automatische Speicherbereinigung auf Bibliotheksebe ne zu implementieren Vor diesem Hintergrund k nnte man die Programmiersprache CH als eine mit moderatem Aufwand realisierte Erweiterung von C bezeichnen die ihre Muttersprache C unter anderem um offene Typen siehe oben automatische Speicherbereinigung partielle Funktionen und explizite Import Ex port Schnittstellen erweitert siehe auch A 2 2 Da auf der anderen Seite jedoch fast alle Konzepte gemieden oder h chstens zur Implementierung der Spracherweiterungen benutzt werden die man ty pischerweise mit C assoziiert Klassen Vererbung virtuelle Funktionen ist diese Bezeichnung eher irref hrend Eigentlich handelt es sich um ein be
546. sition beide bzw alle Zweige beschritten werden e Bei einer Konjunktion werden die Zweige strikt synchronisiert w hrend sie bei einer parallelen Komposition vollkommen unabh ngig durchlaufen werden Die Synchronisation stellt eine h ufig ben tigte Zwischenform dar 6 2 5 3 Orthogonalit t Neben dem Problem der Unvollst ndigkeit leiden viele verwandte Ans tze an mangelnder Orthogona lit t Die negativen Konsequenzen hieraus insbesondere im Blick auf die modulare Kombination von Ausdr cken wurden bereits mehrfach erw hnt Aus diesem Grund wurden Interaktionsausdr cke vollst ndig orthogonal entworfen d h an jeder Stelle eines Ausdrucks an der ein atomarer Ausdruck d h eine Aktion stehen darf darf auch ein be liebig komplexer Teilausdruck stehen vgl 2 8 2 1 Insbesondere ist die Anwendbarkeit von kon junktiven Operatoren und Quantoren nicht wie bei fast allen anderen Ans tzen auf die oberste Ebene von Ausdr cken beschr nkt 6 2 5 4 Res mee Sicherlich h tte man die Kernteile dieser Arbeit d h die formale und operationale Semantik sowie die Implementierung von Interaktionsausdr cken wesentlich vereinfachen und reduzieren K nnen wenn man der immer wieder aufgetretenen Versuchung erlegen w re doch an der einen oder anderen Stelle Kompromisse bzgl Vollst ndigkeit und Orthogonalit t des Formalismus einzugehen Allerdings lehrt die Erfahrung doch immer wieder da sich derartige Kompromisse eines Tage
547. skriptive Spezifikation von Inter Workflow Abh ngigkeiten 1 3 4 1 Ansatz Die zuletzt beschriebenen Probleme haben deutlich gemacht da die bisher verwendeten pr skripti ven Methoden Jablonski95a zur Spezifikation von Inter Workflow Abh ngigkeiten ungeeignet sind weil sie Ausf hrungsreihenfolgen zu explizit und starr vorschreiben Die Einf hrung des Auswahl operators A B der im Prinzip von regul ren Ausdr cken Hopcroft90 Sch ning95 bernommen wurde stellt jedoch einen ersten Schritt in Richtung einer st rker deskriptiv ausgerichteten Modellie rung dar weil er zwar eine Menge prinzipiell zul ssiger Ausf hrungsreihenfolgen beschreibt jedoch keine bestimmte Reihenfolge vorschreibt bernimmt man von regul ren Ausdr cken auch noch den Iterationsoperator so l t sich das eben noch fast unl sbar erscheinende Synchronisationsproblem der Schritte Patient abrufen und Un tersuchung durchf hren einfach wie folgt l sen Mit Hilfe des regul ren Ausdrucks U Patient abrufen gt U Untersuchung durchf hren und der im Augenblick noch informellen Vereinbarung da die Variable U in jedem Iterationsschritt f r eine beliebige Untersuchungsart stehen kann wird auf eine kompakte bersichtliche und allge meing ltige Art und Weise beschrieben da die Schritte Patient abrufen und Untersuchung durchf h ren f r einen bestimmten Patienten strikt sequentiell ausgef hrt werden m ssen Auch die weitergehende Bedingung da
548. snach weis des einfachen Zustandsmodells erbracht 4 5 6 4 Erweiterte Zust nde Ein erweiterter Zustand ist ein Zustand Wert Paar t bestehend aus einem Zustand r Oy des konkretisierten Zweigs Yp und dem zugeh rigen Wert Q Als Sonderfall werden au erdem Paare t p zugelassen die aus einem Zustand r y des abstrakten Zweigs y und dem Quantorparame ter p als Pseudowert bestehen Dadurch k nnen die Zust nde des abstrakten Zweigs y sp ter in gleicher Weise wie die der konkretisierten Zweige beschrieben und verarbeitet werden Aus Gr nden der Bequemlichkeit werden die Funktionen 7 y und wie folgt auf erweiterte Zu st nde ausgedehnt z lt c vllt y und dlt o tr Projiziert man eine Menge T von erweiterten Zust nden auf die Menge so erh lt man die Menge AT eQ 3reE t o eT aller Werte von T 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 7 1 143 4 5 7 Definitionen f r Quantorausdr cke 4 5 7 1 Disjunktions Quantorausdr cke Ein disjunktiver Quantorzustand d h ein Zustand eines Disjunktions Quantorausdrucks x Q y ist P ein 5 Tupel s O y p r T mit einem Zustand r des abstrakten Zweigs y und einer endlichen Menge T von erweiterten Zust nden gewisser konkretisierter Zweige Yp Neben diesen Teilzust nden enth lt ein disjunktiver Quantorzustand den Rumpf y sowie den Parameter p des Ausdrucks x die beide f r die Definition des Zus
549. ssachusetts Institute of Tech nology 1981 Nodine92 M H Nodine S Ramaswamy S B Zdonik A Cooperative Transaction Model for De sign Databases In A K Elmagarmid ed Database Transaction Models for Advanced Applica tions Morgan Kaufmann Publishers San Mateo CA 1992 53 85 Nye92a A Nye Xlib Programming Manual for Version 11 of the X Window System O Reilly Sebastopol CA 1992 Nye92b A Nye Xlib Reference Manual for X11 Release 4 and Release 5 O Reilly Sebastopol CA 1992 Ogden78 W F Ogden W E Riddle W C Rounds Complexity of Expressions Allowing Concur rency In Proc 5th ACM Symp on Principles of Programming Languages 1978 185 194 286 Literaturverzeichnis Ozsu91 M T Ozsu P Valduriez Principles of Distributed Database Systems Prentice Hall Engle wood Cliffs NJ 1991 Peterson77 J L Peterson Petri Nets ACM Computing Surveys 9 3 September 1977 223 252 Rastogi93 R Rastogi S Mehrotra H F Korth A Silberschatz Transcending the Serializability Requirement JEEE Data Engineering Bulletin 16 2 June 1993 8 11 Reichert97a M Reichert K Kuhn P Dadam Optimierung von Leistungsprozessen im Kranken haus Erfahrungen Perspektiven und Grenzen Nr DBIS 28 Interne Ulmer Informatik Berichte Abteilung Datenbanken und Informationssysteme Universit t Ulm June 1997 Reichert97b M Reichert P Dadam A Framework for Dyn
550. sseres C Koenig95 oder um ein C mit offenen Typen partiellen Funktionen etc anstelle eines C mit Klassen Stroustrup83 wie C anfangs ge nannt wurde Allerdings sollte die Bezeichnung besseres C ebenfalls nicht mit Erweiterung von C gleichgesetzt werden da es in CH auf Anwenderebene beispielsweise keine Zeiger gibt Somit trifft die Bezeichnung Variante von C bzw C vermutlich am besten die eigentliche Intention Anmerkung Der Buchstabe H des Namens CH entsteht wenn man die Symbolfolge des Na mens C horizontal kr ftig beschneidet und vertikal etwas dehnt Dies soll zum Ausdruck bringen da die Sprache C zun chst erheblich eingeschr nkt und anschlie end an einigen wenigen Stellen gezielt erweitert wurde Auch die Verwendung der Schriftart Helvetica Narrow soll darauf hinweisen da CH im Gegensatz zu ihrer Mutter C eine schlanke Sprache mit wenigen Kernkonzepten dar stellt A 2 Sprachumfang A 2 1 Ausgew hlte Konzepte von C Neben den meisten Konzepten von ANSI C Kernighan90 d h einer standardisierten und typsiche ren Version von C enth lt die Sprache CH die folgenden ausgew hlten Konzepte von C Variablen Deklarationen k nnen nicht nur am Anfang sondern auch zwischen den Anweisungen ei nes Blocks sowie im Bedingungsteil von Anweisungen wie if und for stehen Dadurch ist es m glich Variablen erst dann zu deklarieren wenn sie wirklich ben tigt werden Variablen k nnen mit beliebigen
551. st w re was die formale Semantik betrifft zweifel los sehr hnlich zu Interaktionsausdr cken Wie bereits mehrfach erw hnt besteht ein wesentlicher Beitrag dieser Arbeit jedoch darin diese formale Semantik geeignet mit Leben zu f llen d h eine effiziente Implementierung des Formalismus bereitzustellen die die Souver nit t des Benutzers re spektiert d h an keiner Stelle nichtdeterministische Entscheidungen trifft F r diese Aufgabe bieten Theorien wie CSP jedoch keinerlei Unterst tzung weil sie Prozesse wie PI IQ oder P einfach nichtdeterministisch implementieren was vergleichsweise trivial ist Terminationsverhalten Ein weiterer wesentlicher Unterschied zwischen CSP und Interaktionsausdr cken besteht im Termina tionsverhalten von Prozessen bzw Ausdr cken W hrend ein Proze in CSP vollkommen autonom entscheiden mu wann er terminiert mu ein Interaktionsausdruck lediglich signalisieren da er ter minationsbereit ist was genau dann der Fall ist wenn er ein vollst ndiges Wort verarbeitet hat d h wenn sein aktueller Zustand ein Endzustand ist und kann die endg ltige Terminationsentscheidung dem syntaktisch bergeordneten Ausdruck berlassen Dieser Unterschied ist vor allem im Kontext von Wiederholungen von Bedeutung Prinzipiell l t sich eine sequentielle Iteration P mit einem beliebigen Proze P in CSP als L sung der Rekur sionsgleichung X P X definieren Allerdings ist dieser Proze P
552. stand Auch die Pr dikate y und g entsprechen denen eines konjunktiven Quantorzustands PSEA AYO ayo er Ao Beim Zustands bergang mu jedoch hnlich wie bei einer elementaren Synchronisation das Alpha bet der einzelnen Zweige ber cksichtigt werden Ta s 0 y p r T mit T TU r a o Q 0 p QM7 T 8OlteT und der Hilfsfunktion t f r a e U AS AR mit A a y v t zeQ T t sonst Anmerkung Die Menge U A3 U Qa U a y7 a x TEQ 2 Op TEQ 17 beschreibt das Alphabet des Gesamtausdrucks x w hrend die Menge A a y aly dem Al phabet des Zweigs Yp entspricht Ihre Differenzmenge enth lt daher all jene Aktionen des Aus drucks x die nicht im betrachteten Zweig Yp vorkommen und entspricht somit der Menge x De aus 3 3 3 2 Die Menge A die beim Aufruf der Hilfsfunktion r r auftritt sei identisch zur Menge A de finiert Da der Parameter p quasi durch sich selbst ersetzt wird bleibt er faktisch unver ndert Man beachte da die Hilfsfunktion 3 ebenso wie die Zustands bergangsfunktion 7 einerseits mit dem gew hnlichen Zustand r und andererseits mit erweiterten Zust nden t T c x Q aufge rufen wird Der initiale Zustand wird analog zu einem Konjunktions Quantorzustand definiert o x 0 y p o y 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 7 1 145 4 5 7 4 Parallele Quantorausdr cke Multimengen Eine Multimeng
553. stands bergang nicht durchf hrt und eine Abort Antwort an den Klienten schickt Abgesehen davon da der Klient nun zwei widerspr chliche Antworten erh lt von einem Manager Commit vom anderen Abort befinden sich nun auch die beiden Manager in inkonsistenten Zust nden Im einen Graphen wurde a durchlaufen im anderen nicht Abbildung 5 11 Gefahr inkonsistenter Zust nde Der gro e Vorteil des dreiphasigen Koordinationsprotokolls die Tatsache da ein Manager eine vorl ufige Accept Antwort jederzeit durch eine endg ltige Abort Antwort widerrufen kann erweist sich beim Einsatz mehrerer Manager als ebenso gro er Nachteil da man in einem System in dem mehrere Beteiligte dieses Recht besitzen Keine verbindlichen Entscheidungen mehr treffen kann 5 2 Interaktionsmanager 5 2 7 195 5 2 7 3 Modifiziertes Koordinationsprotokoll Um das zuletzt beschriebene Problem zu l sen darf ein Manager bei Ausbleiben der Exec oder Undo Best tigung des Klienten die Antwort Abort nicht mehr eigenm chtig verschicken sondern mu sich zuvor mit den brigen von der Anfrage betroffenen Managern abstimmen Sofern einer von ihnen bereits eine Best tigung des Klienten erhalten hat k nnen die brigen Manager diese Nachricht ber nehmen und entsprechend reagieren Entsprechendes gilt wenn einer der Manager Reject geantwortet hat weil in diesem Fall jeder der Manager fr her oder sp ter ein
554. stitutionsprinzips fiir einen Wert 2 0 p Q T 0 tp 02 099 Daraus folgt XT X oz yp o il u u Me ag Eo Q E l F r Se XT undt S gilt daher K S 14 7 0 o yp 0 mit u Da a f r ein k N i 1 i i 1 y p A mit A 2 o y o 2 u Li ii a I l I Ya A k EN Pozo p P i l i l 3 Lemma o y p A mit a or sf o Eu A Y Oy y 0 E l 1 y p Ay Korrektheit des Zustandsmodells F r ein Wort w e X gilt we W x P e n 3 Wegen Y y f r alle Q gilt Cite U ees wen neIN i l O 0 Q n amp din eN o 0 Q uj yp w e Qu i l Korrektheit des Zustandsmodells fiir yi JneN o 0 E Ome iw Ou va i 1 u O B d A gilt o 0 2 0 0 p Andernfalls f ge fehlende Werte w und zugeh rige Worte u hinzu O falls Q y p 1 p sonst lt 4 K W hle dann u f ri gt n und und beachte das Substitutionsprinzip f r y un B 2 Korrektheit des einfachen Zustandsmodells B 2 4 321 e 3 A E o 2 y PE p yup i 1 i 1 1 W hle T gt on yg ATeEA VteT w t Struktur der Folgezust nde von x S wi0xoy V AAT TeA tET Die quivalenz wex e O xX T ergibt sich vollkommen analog wenn man zus tzlich die fol
555. suchung sono vorbereiten d h diese Aktionen m ssen aus der Menge X der konkreten Aktionen stammen Zur Vereinfachung der Notation k nnen parameterlose Aktionen ag auch als ag und parametrisierte Aktionen do a1 a in der Form agla a geschrieben werden Nach der Einf hrung von Quantorausdr cken in 3 3 3 werden formale Parameter auch als Quantorparameter bezeichnet 3 2 Grundbegriffe und Bezeichnungen 3 2 2 67 3 2 2 Worte Wortmengen und zugeh rige Operationen 3 2 2 1 Worte Ein Wort w wy W der L nge Iwl n ist eine Folge von n konkreten Aktionen w w Das Wort der L nge 0 wird auch als leeres Wort bezeichnet Wie allgemein blich wird mit E wy W n No wi Wn E die Menge aller Worte ber dem Alphabet X bezeichnet Entsprechend bezeichnet A w W n No Wis o W A die Menge aller Worte ber einer beliebigen Teilmenge A c 2 Anmerkung Da es sich bei den Aktionen w eines Wortes w per Definition um konkrete Aktionen han delt entspricht ein Wort einer konkret ausgef hrten Aktionsfolge 3 2 2 2 Konkatenation und sequentielle H lle Die Konkatenation zweier Worte u uj Um und v Vvj v gelegentlich auch als Produkt von u und v bezeichnet ist definiert als das Wort uv uj Mi der L nge lu vl m n lul lvl Die Konkatenation zweier Wortmengen U V c X ist definiert als die Menge aller Worte
556. t EOS p s falls definiert Tr t s f r i 1 2 3 p s lali mit oE pe r i Die Funktionen p und p werden in den nachfolgenden Abschnitten je nach Ausdruckskategorie ge eignet definiert w hrend p3 global wie folgt definiert ist p3 s L falls y s L 4 5 3 3 Verifikation des Modells Um die Korrektheit des einfachen Zustandsmodells ohne die Optimierungsfunktion p zu beweisen m ssen im Anschlu an die Definition der Basisfunktionen zun chst Aussagen ber die Beschaffen heit der Folgezust nde o x sowie der zugeh rigen Pr dikate y x und x formuliert und verifi ziert werden bevor das in 4 5 1 3 genannte Korrektheitskriterium bewiesen werden kann Da die entsprechenden Beweisschritte z T relativ umfangreich und auch nicht sonderlich interessant sind wurden sie komplett in Anhang B B 2 3 und B 2 4 ausgelagert Gem 4 5 2 5 mu anschlie end noch die Transparenz der Optimierungsfunktion p nachgewie sen werden um die Korrektheit des optimierten Zustandsmodells zu zeigen Auch dieser Nachweis findet sich in Anhang B B 3 2 4 5 4 Definitionen f r elementare Ausdr cke 4 5 4 1 Atomare Ausdr cke Ein atomarer Zustand d h ein Zustand eines atomaren Ausdrucks ist entweder eine abstrakte Aktion b e I oder einer der Wahrheitswerte T oder L Ein Zustand b e T ist g ltig aber kein Endzustand v b T ab 1 Der Zustand T ist ein Endzustand und daher auch ein g ltig
557. t bzw amp get consume Die eigentliche Synchronisationsbedingung verwendet dann gerade die komplement ren Symbole 8 und mittels paralleler Komposition erh lt man den Gesamtausdruck produce put amp get consume a Bei Verwendung von Flu ausdr cken geht man im Prinzip sehr hnlich vor allerdings synchronisie ren sich die entsprechenden Signal und Wait Symbole selbst so da der dritte Teilausdruck entf llt c produce put 02 get o consume Man beachte jedoch die Notwendigkeit des vorangestellten o zur Initialisierung des Semaphors 1 Diese L sung unterscheidet sich nur noch syntaktisch von einer gew hnlichen Semaphorl sung des Erzeuger Verbraucher Problems Die L sung mit Ereignisausdr cken besitzt immerhin den Vorteil da die eigentliche Synchronisa tionsbedingung separat im dritten Teilausdruck der parallelen Komposition formuliert werden kann was sich positiv auf ihre nderungsfreundlichkeit auswirkt Wollte man beispielsweise den einele mentigen durch einen unbegrenzten Puffer ersetzen so m te man nur diesen dritten Teilausdruck durch den Ausdruck ersetzen w hrend man bei der L sung mit Flu ausdr cken den kompletten Ausdruck umformulieren m te produce put o gt amp get consume Im Vergleich zur Formuli
558. t bzw das Zustand Wert Paar t p in der Alternative T vorkommt Da jede Auspr gung eines Zustands t mindestens eine Aktion des Wortes w verbraucht hat kann die Kardinalit t c eines Zustands h chstens n Iwl betragen Daher gibt es maximal n g ltige Tu pel c c und somit maximal n verschiedene Alternativen Da jede Alternative h chstens k 1 Zust nde enth lt kann der Verzweigungsgrad eines Zustands somit nicht gr er als k 1 nk wer den Wenn der Ausdruck y und somit auch der Ausdruck y injektiv und initial fokussiert ist wird eine Aktion a von h chstens einem Zustand einer Alternative akzeptiert Aufgrund der Optimierungsfunk tion p folgt daraus da sich die Anzahl der Alternativen nicht vergr ern kann und somit konstant den Wert 1 beh lt Au erdem ist die Breite einer Alternative T d h die Anzahl der verschiedenen Zustand Wert Paare t p e T h chstens n 1 da sie initial den Wert 1 besitzt und bei jedem Zu stands bergang h chstens um 1 zunimmt vgl 4 5 7 4 Somit ist auch der Verzweigungsgrad eines Zustands h chstens von der Gr enordnung n Wenn der Ausdruck y und somit auch der Ausdruck y sowohl quasi regul r als auch injektiv und initial fokussiert ist lassen sich die obigen berlegungen wie folgt kombinieren Aufgrund der Injek tivit t von y besitzt ein Zustand nur eine Alternative deren Breite aufgrund der Quasi Regularit t von y h chstens
559. t in der sich der Zustand des Darms wieder normalisiert hat Dies bedeutet da die Untersuchungen Sonographie und Endoskopie f r einen Patienten p beliebig oft in beliebiger Reihenfolge durchgef hrt werden k nnen sofern nach einer Endoskopie jeweils eine bestimmte Wartezeit z B 24 Stunden eingehalten wird Verwendet man zur graphischen Darstellung dieser Wartezeit eine Stoppuhr so kann die genannte Bedingung durch den Graphen in Abb 2 69 be schrieben werden 24 Stunden Untersuchung durchf hren Ch p endo P PTE p endo durchf hren p sono Abbildung 2 69 Mindestabstand zwischen Endoskopie und Sonographie erste Formulierung 2 7 4 2 Pseudo Aktivit ten Konzeptuell entspricht eine Stoppuhr einer Pseudo Aktivit t die nicht von einem gew hnlichen Be nutzer sondern von einem speziellen Agenten automatisch ausgef hrt wird sobald sie aus Sicht des Graphen zul ssig ist Die Stoppuhr in Abb 2 69 oder genauer eine Auspr gung dieser Stoppuhr wird also immer dann gestartet wenn eine Aktivit t Untersuchung endo f r Patient p durchf hren be endet wurde Die Ausf hrungsdauer dieser Pseudo Aktivit t entspricht genau der als Parameter ber 2 7 Interagierende medizinische Untersuchungsworkflows 2 7 4 59 gebenen Zeitspanne im Beispiel also 24 Stunden Das bedeutet da der obere Zweig des wechselsei tigen Ausschlusses erst 24 Stunden nach Beendigung der Endoskopie
560. t lt sl e2 lt lt s2 cmp el e2 Abbildung A 4 Vergleich von Sequenzen A 4 Anmerkungen 297 s2 als auch eventuell bergeordnete Aufrufe von cmp beendet Andernfalls terminiert cmp s1 s2 normal so da anschlie end jeweils korrespondierende Elemente el und e2 von s1 bzw s2 miteinander verglichen werden wobei abh ngig vom konkreten Elementtyp Elem die pas sende Variante von cmp verwendet wird die ihrerseits rekursive Aufrufe von cmp enthalten k nnte usw Sobald zwei Elemente oder Teilobjekte von ihnen verschieden sind wird wiederum ei ne Ausnahme ausgel st und der gesamte Vergleichsvorgang abgebrochen Sind alle Elemente paar weise gleich terminiert cmp sl s2 normal wodurch angezeigt wird da s1 und s2 gleich sind A 3 2 6 Partielle Funktionen Jeder Zweig einer partiellen Funktion f wird auf eine gew hnliche C Funktion mit einem vom CH Pr prozessor generierten Namen abgebildet die vor der Ausf hrung ihres Rumpfes die Auswahl bedingung des Zweigs berpr ft Ist diese nicht erf llt bricht die Funktion mit einer Ausnahme ab Auf diese Weise kann die eigentliche Funktion f die vom Pr prozessor generiert wird nachein ander jeden ihrer Zweige aufrufen bis der erste Zweig normal d h ohne die genannte Ausnahme terminiert Die Adressen der einzelnen Zweige einer Funktion werden hierf r in einer einfach verket teten Liste gespeichert die vom Pr prozessor mit Hilfe stati
561. t nde F r die Folgezust nde des Ausdrucks x gilt 0 x o YZ wO D mit wy wie y und w w k z und somit W X Wu OAM und Py BW A Py Beweis Vollst ndige Induktion nach der L nge des Wortes w 1 F r das leere Wort w gilt wegen w w Q on o y und o z o 2 Daher stimmt die Behauptung f r o x genau mit der Definition des initialen Zustands o x ber ein 2 F r ein Wort w w a gilt Ow x 7 04 2 Induktionsvoraussetzung f r o x t 0 y z r mit I 0 y Wy We und r og z w W k z Definition des Zustands bergangs T4 K B 2 Korrektheit des einfachen Zustandsmodells B 2 3 307 Pr t je f r a a z a y x y ET a Z t 1 sonst r f r a a y a z z und r T r sonst e A MA y f r a K y Es gilt w w a x y Wy ay x y fy ay Seay l op Q Ow Y f r a x y u Daraus folgt l Tall 10 9 Cw aO 0 0 sonst u d h es gilt generell Ow y und analog r o z o yy Z Ow Y o Korrektheit des Zustandsmodells F r ein Wort w gilt w E P x YO k y No Pe e z we YO Kx O und we VW z x z T Ju e P Y y E K O w eu v und Au E P 2 v K zZ iw u v lt lt Aus w u v mit u Y y c a y U und YE k y V folgt wegen U AV aufgrund des Lemmas u
562. t weil die Ereignis Operationen mit denen sie realisiert werden in den Spezifikationen der ein zelnen Schritte verborgen sind Schlie lich liegt das Ereigniskonzept auf einer Bewertungsskala fiir Synchronisationsmethoden etwa auf der gleichen Ebene wie einfache Semaphoroperationen Dijkstra68ab d h relativ weit un ten deren ausschlie liche und unmittelbare Verwendung zur Synchronisation nebenl ufiger Prozes se bekanntlich sehr schnell zu un bersichtlichen und schwer pflegbaren Formulierungen f hrt Freis leben87 Dies liegt unter anderem darin begr ndet da bei einer solchen Vorgehensweise die Details der Proze bzw Workflow Synchronisation direkt mit den eigentlichen Proze bzw Workflow Be schreibungen verwoben sind 1 3 3 Separate Spezifikation von Inter Workflow Abh ngigkeiten 1 3 3 1 Ansatz Aus den soeben erl uterten Gr nden besteht ein erster wichtiger Schritt zu einer wirklich praktikablen L sung des Workflow Synchronisationsproblems darin die Spezifikation der Inter Workflow Abh n gigkeiten von der Beschreibung der einzelnen Workflows zu trennen Das bedeutet da man das in 1 1 3 erw hnte Grundprinzip von Workflow Management n mlich die Trennung der Gesamtablauf Beschreibung von der Implementierung der einzelnen Schritte eine Ebene h her erneut anwendet Man trennt die Spezifikation der Inter Workflow Abh ngigkeiten von der Modellierung der einzelnen Workflows und erh ht damit sowohl
563. t dem Graphen in Abb 2 57 Obwohl sich die Mannschaft auch hier am Verzweigungsknoten in unendlich viele Gruppen aufteilt Kann sie ihre Reise jederzeit am Ver einigungsknoten gemeinsam fortsetzen weil jede der Gruppen die M glichkeit hat diesen Knoten di rekt d h ohne Passieren einer Aktion zu erreichen Abbildung 2 57 Graph ohne endlose Wege 2 5 2 2 Folgerung Aus der Betrachtung dieser einfachen Beispiele folgt anschaulich sofort die folgende Behauptung die in 3 4 6 auch formal bewiesen wird Eine F r alle Verzweigung enth lt genau dann endlose Wege wenn ihr Rumpf keinen leeren Weg enth lt Interessant ist in diesem Zusammenhang auch da die Frage ob ein Graph einen leeren Weg enth lt sehr einfach syntaktisch entschieden werden Kann Auch dies wird in 3 4 6 gezeigt 2 6 Aktionen und Aktivit ten 2 6 1 Punktuelle Aktionen Bereits in 2 2 2 3 wurde erw hnt da zwei M nzen immer in einer bestimmten Reihenfolge in ei nen Automaten eingeworfen werden m ssen weil er normalerweise nur einen M nzschlitz besitzt Das bedeutet da sich zwei Ausf hrungen der T tigkeit M nze einwerfen zeitlich nicht berlappen k nnen Da es au erdem schwierig ist die Ausf hrung einer solchen T tigkeit zeitlich exakt zu fassen In 3 4 1 1 werden zwei Graphen als quivalent definiert wenn sie dieselben Aktionsfolgen akzeptieren und dieselben Aktionen enthal ten Da letzteres f r
564. t direkt implementierungstechnisch umsetzen Stattdessen wen P m ssen Quantorparameter denen momentan kein bestimmter Wert zugeordnet ist beim Vergleich der Aktion a mit einer Aktion b des Aus drucks x als Platzhalter f r einen beliebigen Wert behandelt werden Sofern derselbe Parameter in einer Aktion b mehrmals als Argument auftritt mu er allerdings an allen Stellen denselben Wert repr sentieren Per Konvention enden die Namen mehrwertiger Attribute jeweils mit einem Plural s 4 6 Implementierung des Zustandsmodells 4 6 2 151 Zus tzliches Zustandsattribut attr rights State gt gt State Zust nde des rechten Teilausdrucks Initialer Zustand einer sequentiellen Komposition part State init Expr x if x cat Sequ State 1 init x left Set State R set if final l R init x right return State expr x left 1 rights R Endzustands Indikator eines sequentiellen Kompositions Zustands part bool final State s if s cat Sequ State r forall r lt lt s rights if final r return true return false Optimierter Zustands bergang f r einen sequ Kompositions Zustand part State trans State s Action a if s cat Sequ State 1 trans s left a Set State R set if final l R init s expr right State r r_ forall r lt lt s rights if r_ trans r a R rj if R 1 if l 1 Success re
565. t enth lt kann die konkretisierte Men ge Ap ebendiese Aktion nur enthalten wenn A eine Aktion enth lt die durch die Konkretisie rung as gleich a wird Da dies offensichtlich nur f r einen Wert m glich ist der in der Parameterli ste von a vorkommt gilt somit Qy Pp T a n a f ra ap a n a l Au erdem ist die Bedingung 4 a f r ein A c a y nur erf llbar wenn die Breite a d h die Anzahl der Parameter der Aktion a kleiner oder gleich der maximalen Breite von Aktionen e aly ist d h wenn lal lt k m a gilt Somit gilt f r beliebige Aktionen a aGea y ao a1 an QO P S a n a f rn lt k 9 0 p sonst und deshalb Q 0 p lt k max f rallea eX aea y 15 Dieser berlegung liegt die Beobachtung zugrunde da das Resultat eines Zustands bergangs 7 s f r s y letztlich nur von den atomaren Zustands berg ngen 7 b f r b a y abh ngt da alle anderen Zustands berg nge die Aktion a rekursiv an ihre Teilzust nde weiterreichen Das Resultat eines atomaren Zustands bergangs z b wiederum h ngt lediglich vom Wahrheitswert der Bedingung a b nicht jedoch von der exakten Beschaffenheit der Aktion b ab vgl 4 5 4 1 142 4 5 6 Kapitel 4 Implementierung von Interaktionsausdriicken wobei die Konstante k nicht von der Aktion a sondern nur vom Ausdruck y abh ngt Insbesondere ist die Menge 2 0 p stets endlich
566. t mehr eintreten wird Dies setzt jedoch voraus da das Ereignis e verz gerbar engl delayable ist und da man ggf zuverl ssig wei da e nicht mehr eintreten kann z B weil der Agent der e ausf hren kann bereits terminiert ist Die Existenzabh ngigkeit e gt e kann eingehalten werden indem man e solange verz gert bis e eingetreten ist ggf mu man e zur ckweisen wenn e definitiv nicht mehr eintreten wird oder indem man e erzwingt nachdem e aufgetreten ist Letztere Strategie setzt jedoch voraus da das Ereignis e erzwingbar engl enforceable ist Falls weder e verz gerbar noch e erzwingbar ist kann die Einhaltung der Bedingung e e nicht gew hrleistet werden In Attie93 und Tang95 werden verschiedene M glichkeiten zur automatischen Generierung von Zustandsautomaten beschrieben die jeweils einen gegebenen Ausdruck implementieren und mit Hilfe eines enforcement protocols daf r sorgen da die durch ihn spezifizierte Bedingung bei der Ausf h rung von Aktionen eingehalten wird sofern dies prinzipiell m glich ist siehe oben 6 4 1 4 Vergleich mit Interaktionsausdr cken Obwohl gelegentlich behauptet oder zumindest suggeriert wird da die beiden Basisoperatoren lt und zur Spezifikation beliebiger Abh ngigkeitsbeziehungen ausreichend sind Tang95 Jablon ski95a lassen sich mit ihnen offensichtlich keine Iterationen beschreiben Jedes Ereignis e eines Ausdrucks E kann in e
567. t verzichten will Prinzipiell k nnte man nun versuchen semantische Kriterien zu finden mit deren Hilfe f r einen gegebenen Graphen berpr ft werden kann ob er sackgassenfrei ist d h ob es mindestens einen gangbaren Weg durch den Graphen gibt oder nicht Aus verschiedenen Gr nden wurde diese Frage im Rahmen dieser Arbeit jedoch nicht weiter verfolgt 1 Zuallererst m te gekl rt werden ob das Sackgassen bzw Erf llbarkeitsproblem f r Interak tionsgraphen bzw ausdr cke berhaupt entscheidbar ist Da die Ausdrucksm chtigkeit von In teraktionsgraphen teilweise ber die von kontextfreien Grammatiken hinausgeht vgl 3 5 3 und das Erf llbarkeitsproblem f r kontextsensitive Grammatiken bekanntlich nicht entscheidbar ist Hopcroft90 Sch ning95 ist die Antwort auf diese Frage keineswegs offensichtlich und ihre Kl rung m glicherweise schwierig und aufwendig 7 Gemeint ist die Frage ob die durch einen Graphen bzw Ausdruck definierte Sprache vgl 3 2 3 leer ist oder nicht In der Literatur wird dies auch als Leerheits oder Leere Problem bezeichnet Sch ning95 Hopcroft90 2 5 Sackgassen und endlose Wege 2 5 2 49 2 Sofern das Problem entscheidbar ist m te als n chstes untersucht werden ob es auch effizient entscheidbar ist Wenn auch dies der Fall ist m ssen konkrete Kriterien formuliert werden die f r beliebige Graphen entscheiden ob sie sackgassenfrei sind oder nicht Auch die Formulierun
568. t91 E Denert Software Engineering Springer Verlag Berlin 1991 Dijkstra68a E W Dijkstra Cooperating Sequential Processes In F Genuys ed Programming Languages Academic Press London 1968 Dijkstra68b E W Dijkstra The Structure of the T H E Multiprogramming System Communica tions of the ACM 11 5 May 1968 341 346 Dijkstra71 E W Dijkstra Hierarchical Ordering of Sequential Processes Acta Informatica 1 1971 115 138 DPDB95 Special Issue on Software Support for Work Flow Management Distributed and Parallel Databases 3 2 April 1995 DSEJ96 Special Issue on Workflow Systems Distributed Systems Engineering Journal 3 4 De cember 1996 Elmagarmid92 A K Elmagarmid ed Database Transaction Models for Advanced Applications Morgan Kaufmann Publishers San Mateo CA 1992 Emerson90 E A Emerson Temporal and Modal Logic In J van Leeuwen ed Handbook of Theoretical Computer Science Volume B Formal Models and Semantics Elsevier Science Pub lishers B V North Holland Amsterdam 1990 995 1072 Even95 S J Even F J Faase R A de By Language Features for Cooperation in an Object Ori ented Database Environment Memoranda Informatica 95 40 University of Twente The Nether lands September 1995 Faase96 F J Faase S J Even R A de By Introduction to CoCoA TransCoop Deliverable IV 3 Technical Report TC REP UT D4 3 033 University of Tw
569. tand 7 s ein g ltiger Zustand 4 5 1 2 9 5 ist Zustand 7 s ein Endzustand 0 x Zustand des Ausdrucks x nach Verarbeitung des Wortes w W x ist Zustand o x ein g ltiger Zustand 4 5 1 2 Q X ist Zustand o x ein Endzustand s s s und sind quivalente Zust nde 4 5 2 1 p s Optimierung des Zustands s 4 5 2 2 Pi P2 P3 partiell definierte Optimierungsfunktionen Be BEE En 4 5 3 2 Pi P2 P3 vervollst ndigte Optimierungsfunktionen 7 5 optimierter Zustands bergang des Zustands s durch die Aktion a 5 optimierter Zustandstibergang des Zustands s durch das Wort w Oy X optimierter Zustand des Ausdrucks x nach Verarbeitung des Wortes w 4 5 2 3 x ist Zustand G x ein g ltiger Zustand Q x ist Zustand x ein Endzustand Sp konkretisierter Zustand 4 5 6 1 2 0 p Menge der relevanten Parameterwerte der Aktion a bzgl des Ausdrucks y und des Quantorparameters p 4562 2 0 p Menge der relevanten Parameterwerte des Wortes w Tt bzgl des Ausdrucks y und des Quantorparameters p a Breite Anzahl der Parameter der Aktion a 4 5 6 2 t a erweiterter Zustand Zustand Wert Paar 4 5 6 4 Q T Menge aller Werte der Zustand Wert Paar Menge T ee M M Summe Differenz der Multimengen M und M 45 74 Mte Summe Differenz der Multimenge M und des Elements e aa n Ve Multimenge bestehend aus den Elementen e 4 5 7 4 Se Multimenge die das Element e unendlich oft enth lt i l Ay Menge der sequentiellen Reste
570. tands bergangs ben tigt werden Ein solcher Zustand ist genau dann ein g ltiger Zustand bzw ein Endzustand wenn er mindestens ei nen entsprechenden Teilzustand besitzt YS YOY V Y AISAN O Die Zustandsiibergangsfunktion t s wird rekursiv auf alle Teilzust nde angewandt Zuvor wird je doch der Zustand r des abstrakten Zweigs y f r jeden relevanten Parameterwert Q y p der Ak tion a der in der Menge T bzw Q T noch nicht enthalten ist zu einem erweiterten Zustand la o konkretisiert Ta s O y p r T mit r t r TT TU r a o0 Q 0 p Q7 und T 7 t T Wenn der Zustand r ungiiltig ist kann ein disjunktiver Quantorzustand optimiert werden indem un g ltige erweiterte Zust nde t T eliminiert werden pis O y p 4 7 mit T teT y fallsy r L Wenn hierbei nur ein Zustand Wert Paar T verbleibt kann der gesamte Zustand durch den Zu stand ersetzt werden p s T falls y r und T T f r ein Q Anmerkung Durch das Entfernen ung ltiger erweiterter Zust nde t T wird die beim Zustands ber gang relevante Menge Q T verkleinert Damit dies keine unerw nschten Nebenwirkungen hat darf die Optimierung p nur vorgenommen werden wenn der Zustand r ung ltig ist Die Optimierung p K nnte prinzipiell auch wie folgt verallgemeinert werden p s t falls v r Lund T t f r ein Q Fiir die implementierungstechnische Ums
571. te ber cksichtigt Ebenso wie die Attribut oder Konstanten Deklarationen eines offenen Typs inkrementell erfolgen k nnen k nnen auch die Zweige einer st ckweise definierten Funktion nach und nach an unter schiedlichen Stellen des Programmcodes formuliert und bei Bedarf erg nzt werden Partielle Funktio nen stellen somit das prozedurale Pendant zu inkrementell definierten Datentypen dar und werden daher meist in Kombination mit diesen eingesetzt vgl 4 6 4 4 2 5 Sonstiges Eine Bit shift Operation x lt lt n verschiebt das Bitmuster der Zahl x um n Positionen nach links 1 lt lt n entspricht daher genau der Zweierpotenz von n und 1 lt lt n 1 einem Bitmuster mit genau n Ein sen Die Hilfsfunktion select w i b die in der Funktion testpar Abb 4 13 verwendet wird und nichts mit der Sprache CH zu tun hat selektiert aus dem Wort w diejenigen Aktionen und f gt 130 4 4 5 Kapitel 4 Implementierung von Interaktionsausdr cken sie zu einem neuen Teilwort zusammen die an Positionen stehen an denen das Bitmuster i den Wert b 0 oder 1 besitzt Hierbei wird idealisierend angenommen da die Breite des Bitmusters i mindestens so gro wie die L nge des Wortes w ist 4 4 3 Implementierung der Iterationsoperatoren Die Kompaktheit und Eleganz des Algorithmus resultiert nicht zuletzt aus der Tatsache da die in 3 4 10 genannten Rekursionsgleichungen dazu verwendet werden die Implementierung de
572. tergrundbereiche dunkler als blaue dargestellt werden Die Abbildung zeigt au erdem da die kopierte Aktivit t Patient vorbereiten dunkelrot automatisch mit einer einelementigen Sequenz hellblau umgeben wurde Will man die markierte Aktivit t nun in eine der Standard Verzweigungen einbetten so positioniert man den Mauszeiger an die entsprechende Stelle beispielsweise in die F r ein Verzweigung in der dritten Zeile links und dr ckt dort die mittlere Maustaste Auf diese Weise wird der markierte Teil graph quasi dorthin kopiert Da es sich bei der Verzweigung die das Ziel dieser Kopieroperation dar stellt jedoch um einen vordefinierten Mustergraphen handelt der nicht ver ndert werden darf wird die Operation stattdessen auf einer neu erzeugten Kopie des Verzweigungsgraphen ausgef hrt die an schlie end an die Stelle des markierten Teilgraphen tritt vgl Abb C 4 Um der so erzeugten F r ein Verzweigung den Parameter u zuzuweisen Kann dieser ebenfalls durch Markieren und Kopieren von der Aktivit t Patient vorbereiten bernommen werden wobei es gleichg ltig ist ob man als Ziel der Kopieroperation das Parameterfeld des linken oder des rechten Operatorsymbols w hlt hnlich wie oben kann nun die gesamte Fiir ein Verzweigung in eine Be liebig oft Verzweigung und diese wiederum in einen wechselseitigen Ausschlu eingebettet werden vgl Abb C 5 C 2 3 Weitere n tzliche Operationen Wenn der erstellte Graph zusamm
573. test x left w amp amp test x right w Abbildung 4 11 Implementierung der formalen Semantik Teil 1 Atomare und Boolesche Ausdr cke 4 4 Implementierung der formalen Semantik 4 4 2 127 Uberpriife ob w ein vollst Wort der sequ Komp y z darstellt bool testseq Expr y Expr z Word w int start Zerschneide w an einer beliebigen Stelle i in Teilworte u und v w ist genau dann ein vollst Wort der sequ Komposition y z wenn es ein i gibt f r das u ein vollst Wort von y und v ein vollst Wort von z ist for int i start 1 lt w itt Word u w 1 i Word v w i 1 w if test y u amp amp test z v return true return false Uberpriife ob w ein vollst Wort der sequ Komposition x darstellt part bool test Expr x Word w if x cat Sequ return testseq x left x right w 0 berpr fe ob w ein vollst Wort der sequ Iteration x darstellt part bool test Expr x Word w if x cat Iter w ist genau dann ein vollst Wort der sequ Iteration x y wenn w das leere Wort ist oder wenn w ein vollst Wort der sequ Komposition y x ist return w testseq x body x w 1 Abbildung 4 12 Implementierung der formalen Semantik Teil 2 Sequentielle Komposition und Iteration der vorgestellten Form l st er prinzipiell das Wortproblem f r elementare Ausdr cke mit Ausnahme der Synchronisation eine Erweiterun
574. tgesetzt indem dieses Zustandsmodell 2 Begriindung Bezeichnet man mit f n die Gesamtzahl der rekursiven Aufrufe des Zweigs x cat Iter der Funktion test x w Abb 4 12 unten f r ein Wort w der L nge n so gilt f r n gt 0 Ein Aufruf von test x w ruft die Hilfsfunktion testseq auf die n mal rekursiv test x v mit Worten v der L nge n 1 n 2 0 aufruft Beachte Der Parameter z der Funktion testseq entspricht dem Parameter x der Funktion test Die Aufrufe test y u werden nicht weiter betrachtet Somit gilt f r f n die Beziehung f n f n 1 f n 2 f 0 1 Ersetzt man hierin f n 2 f 0 1 durch f n 1 was aufgrund derselben Formel f r n n 1 m glich ist so erh lt man f n f n 1 f n 1 2 f n 1 Zusammen mit dem Induktionsanfang f 0 1 ergibt sich hier aus die Behauptung f n 2 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 1 131 praktisch umgesetzt wird und in 4 7 wird gezeigt daB sich der Umweg gelohnt hat weil der resul tierende Algorithmus f r eine sehr gro e und praktisch relevante Teilmenge von Interaktionsaus dr cken eine effiziente und damit praktisch verwendbare Implementierung darstellt 4 5 Operationale Semantik von Interaktionsausdr cken 4 5 1 Einfache Zustandsmodelle 4 5 1 1 Basisfunktionen Ein einfaches Zustandsmodell f r Interaktionsausdr cke besteht aus einer Menge von Zust nden bei denen es sich prinzipiell
575. theitsgrades und seiner terminologischen Verwandtschaft zu Inter Workflow Abh ngiskei ten wird im folgenden zun chst der Ansatz der inter task dependencies vorgestellt und mit Interak tionsausdr cken verglichen 6 4 1 Anschlie end werden exemplarisch zwei weitere Ans tze disku tiert bei denen grunds tzlich hnliche Ideen wie bei der Entwicklung von Interaktionsausdr cken ver folgt wurden 6 4 2 6 4 1 Inter task dependencies 6 4 1 1 Angebotene Operatoren In Klein91 wurden erstmals zwei grundlegende Operatoren zur Beschreibung von Abh ngigkeiten in verteilten Systemen vorgeschlagen die in verschiedenen Folgearbeiten Attie93 Tang95 zur Spezifi kation von inter task dependencies verwendet werden 10 SKIP ist hnlich wie STOP ein Proze der nichts tut aber anders als STOP erfolgreich terminiert 260 6 4 1 Kapitel 6 Verwandte Arbeiten e Die Reihenfolgebeziehung e lt e legt fest da das Ereignis e vor dem Ereignis e eintreten mu sofern beide Ereignisse tats chlich eintreten e Die Existenzabh ngigkeit e e entspricht einer logischen Implikation Wenn das Ereignis e ein tritt dann mu auch das Ereignis e eintreten ber die Reihenfolge von e und e wird jedoch kei ne Aussage gemacht Zur Beschreibung komplexerer Abh ngigkeiten k nnen diese Operatoren nach Belieben kombiniert und durch logische Operatoren verkn pft werden Ein komplexer Ausdruck E wird dann ebenfalls als
576. tiert wird er im Gegensatz zu einer einfachen Aktion mit ei nem Doppelrahmen umgeben vgl auch 2 2 4 4 Auf den ersten Blick w rde es gen gen die Mannschaft in einzelne L ufer aufzuteilen Ber cksichtigt man jedoch da Mehrfach Ver zweigungen verschachtelt werden k nnen so ben tigt man tats chlich Gruppen von L ufern die sich an einer inneren Verzweigung erneut in Teilgruppen aufteilen k nnen usw 2 2 Grundlegende Operatoren Beispiel M nzautomaten 2 2 4 21 e Am rechten Knoten treffen die Gruppen wieder zusammen und warten aufeinander d h die Ge samtmannschaft setzt ihre Reise erst dann fort wenn alle Gruppen diesen Synchronisationsknoten erreicht haben 2 2 4 Einwerfen von 5 DM 2 2 4 1 Variante 1 Eine L sung f r das Problem Einwerfen von 5 DM erh lt man nun offensichtlich indem man die 4 DM L sung Abb 2 11 wiederum mit Hilfe einer Sowohl als auch Verzweigung um einen weiteren 1 DM Zweig erweitert Will man dar ber hinaus das Einwerfen einer einzelnen 5 DM M n ze akzeptieren so kann dies durch eine zus tzliche Entweder oder Verzweigung dargestellt werden Abb 2 13 5DM 2DM 2 1DM 1DM 1DM Abbildung 2 13 Einwerfen von 5 DM Variante 1 2 2 4 2 Variante 2 Offensichtlich quivalent zu dieser Darstellung ist der Graph in Abb 2 14 den man durch folgende Umformungen aus Abb 2 13 erh lt
577. tig da sein Rumpf vollst ndig und homogen quantifiziert ist P Anmerkung Auch hier gilt wie in Beispiel 1 da der Verzweigungsgrad des parallelen Quantorzu stands h chstens linear bzgl der L nge n der ausgef hrten Aktionsfolge w chst Somit ist die Gr e der Zust nde des Gesamtausdrucks in diesem Beispiel h chstens von der Gr enordnung n Beispiel 3 Der Ausdruck 10 Pf k Kopie A4 k 10 Pf k Kopie AS k k der ein Kopiergesch ft mit beliebig vielen A4 A3 Kopierern beschreibt vgl 2 3 4 3 ist ebenfalls gutartig 1 Der gesamte Rumpf der parallelen Iteration ist regul r und daher f r jede Belegung des Parame ters k harmlos 2 Die parallele Iteration ist f r jeden Wert von k gutartig da ihr Rumpf quasi regul r ist 3 Der Allquantor ist gutartig da sein Rumpf vollst ndig und homogen quantifiziert ist k Anmerkung Da der Rumpf y 10Pf k der parallelen Iteration in diesem Beispiel nicht in jektiv ist er akzeptiert in zwei verschiedenen Zust nden die Aktion 10 Pf k ist der Verzweigungs grad der parallelen Iteration hier nicht notwendig linear beschr nkt Stattdessen kann man dem Be weis in 4 7 3 4 entnehmen da der Verzweigungsgrad die Gr enordnung nk mit k n y 1 und y ay besitzt Da die Zustandszahl n y offensichtlich gleich 4 ist ein L ufer kann sich am An fang des entsprechenden Graphen am Verzweigungsknoten der Entweder oder Verz
578. tion ebenfalls akzeptieren Aufgrund der Voraussetzung y N a z amp ist dies jedoch nicht m glich so da dieser Fall nicht eintreten kann Zusammenfassend ergibt sich da zwei Zust nde s1 s x die beide die Aktion a akzeptieren gleich sind Daraus folgt die Injektivit t des Ausdrucks x B 4 2 2 Initiale Fokussierung Ist der Teilausdruck y initial fokussiert d h gilt 6 y o y f r alle w so gilt offensichtlich Z y A z o y 2 o x 6 Z 6 x d h auch der Ausdruck x ist dann initial fokussiert B 4 2 3 Terminale Fokussierung Da die Zust nde der Gestalt A keine Endzust nde sind besitzt der Ausdruck x offensichtlich diesel ben Endzust nde wie der Teilausdruck z Daher folgt aus der terminalen Fokussierung von z auch die terminale Fokussierung von x B 4 2 4 Spezialfall Die Behauptung da eine Sequenz a a von paarweise verschiedenen Aktionen 44 a in jektiv und beidseitig fokussiert ist folgt nun unmittelbar durch vollst ndige Induktion nach n wobei die Aussage ber atomare Ausdr cke den Induktionsanfang darstellt B 4 3 Sequentielle Iteration F r eine sequentielle Iteration x amp y folgt aus der terminalen Fokussierung von y hnlich wie oben bei der sequentiellen Komposition a y o y T f rwe amp y A a e y 6 0 f r w uv mit u y maximal lang und v B F r zwei Zust nde s s
579. tion expr an den Interaktionsmanager bermittelt wer den begin expr f expr 4 get p H e put p p p enter p leave p Der Interaktionsmanager der implizit durch den ersten Aufruf der Funktion expr gestartet wird verkn pft alle an ihn bergebenen Ausdr cke mittels einer Kopplung die anschlie end wie in 5 2 2 1 beschrieben verarbeitet wird Als Nachrichtenkan le k nnen entweder Hauptspeicher Da tenstrukturen oder einfache Interprozekommunikations Mechanismen wie z B Pipes Message queues oder Sockets Rochkind88 Stevens92 verwendet werden je nachdem ob der Interaktions manager und seine Klienten als Threads innerhalb eines Prozesses oder als eigenst ndige Prozesse ab laufen vgl 5 3 2 3 Auf eine persistente Speicherung von Nachrichten kann aus Performance Gr nden verzichtet werden da bei einem Systemausfall i d R alle beteiligten Prozesse komplett neu gestartet werden m ssen 5 3 2 3 Prozesse Nachdem auf diese Weise sowohl die elementaren Proze schritte in Form von Prozeduren oder Funktionen als auch die zugeh rigen Synchronisationsbedingungen in Form von Interaktionsaus dr cken spezifiziert wurden ben tigt man noch ein Sprachmittel zur Erzeugung nebenl ufiger Pro zesse Hierf r Kann das Schl sselwort proc das in CH eine Funktion ohne R ckgabewert kennzeich net durch das Wort process ersetzt werden das besagt da jeder A
580. tion x x O x der einzelnen Aus dr cke x an einen einzigen Interaktionsmanager bergeben sondern jeden Ausdruck x von einem ei genen Manager verwalten lassen so w re die Semantik exakt dieselbe Eine Aktion a darf genau dann ausgef hrt werden wenn sie von allen Managern die die Aktion kennen gleichzeitig erlaubt wird d h wenn sie in allen Graphen x in denen sie auftritt gleichzeitig durchlaufen werden kann Mana ger die die Aktion a nicht kennen m ssen entweder gar nicht gefragt werden oder sie w rden die 194 5 2 7 Kapitel 5 Praktischer Einsatz von Interaktionsausdr cken Anfrage mit einer Unknown Nachricht beantworten was prinzipiell quivalent ist Der Spezialfall ei ner global unbekannten Aktion die in keinem der Ausdr cke x vorkommt wird ebenfalls gleich behandelt da f r eine solche Aktion keiner der Manager um Erlaubnis gefragt werden mu In praktischen Anwendungen kann die Verwendung mehrerer Interaktionsmanager die Performance und Skalierbarkeit eines Systems u U entscheidend verbessern H tte man beispielsweise paarweise disjunkte Ausdr cke x vorliegen so m te ein Klient der eine bestimmte Aktion ausf hren m chte immer nur denjenigen Manager um Erlaubnis fragen in dessen Ausdruck die Aktion vorkommt Auf diese Weise w rde sich die Anfragelast der Klienten die einen einzelnen Manager m glicherweise berfordern w rde auf n Manager verteilen Kommt eine Aktion in mehreren Aus
581. tions Quantorausdr cke prim r aus Gr nden der konzeptionellen Voll st ndigkeit eingef hrt wurden Somit existiert zu jedem kommutativen bin ren Operator 0 O vgl 3 4 7 ein zugeh riger Quantor P Die sequentielle Komposition nimmt unter den bin ren Operatoren insofern eine Sonderstellung ein als sie offensichtlich nicht kommutativ ist Aus diesem Grund kann sie nicht ohne weiteres zu einem Quantor verallgemeinert werden da sowohl in der anschaulichen Interpretation gem Abb 3 24 als auch in den formalen Definitionen in Tab 3 25 implizit die Kommutativit t des jeweiligen Opera tors bzw der Mengenoperationen Vereinigung Durchschnitt und Verschr nkung vgl 3 4 7 aus genutzt wird die gew hrleistet da die Bedeutung des Quantorausdrucks y unabh ngig von einer bestimmten Reihenfolge oder Anordnung der Werte Q ist E 88 3 3 3 Kapitel 3 Interaktionsausdriicke 3 3 3 4 Beispiele Bezeichne im folgenden abrufen p u die T tigkeit Patient p f r Untersuchung u abrufen und untersuchen p u die T tigkeit Untersuchung u f r Patient p durchf hren Im Gegensatz zu 2 7 wird zur Vereinfachung angenommen da es sich bei diesen T tigkeiten um punktuelle Aktionen und nicht um zeitlich ausgedehnte Aktivit ten handelt Dann besitzt der Ausdruck amp O abrufen Meier u untersuchen Meier u vgl Abb 3 26 u die folgenden vollst ndigen Worte aa abrufen Meier u u
582. tions Quantorausdriicke wie es in 4 5 7 1 definiert wurde Da eine bin re Disjunktion und ein Disjunktions Quantorausdruck gem Tab 4 6 4 3 1 beide zur Kategorie Dis geh ren und daher anhand des Kriteriums x cat Dis j nicht unterschieden werden k nnen wird hier zus tzlich die Existenz des Attributs x param berpr ft das nur bei Quan torausdr cken vorhanden ist um einen Quantorausdruck von einem bin ren Ausdruck derselben Ka tegorie unterscheiden zu k nnen Hierbei wird ausgenutzt da beim Aufruf einer partiellen Funktion wie z B init die Auswahlkriterien der einzelnen Zweige in umgekehrter Definitionsreihenfolge ausgewertet werden und jeweils der erste Zweig dessen Bedingung erf llt ist ausgef hrt wird Dar 24 Tats chlich gen gt es sogar diejenigen Werte a zu betrachten f r die b p gilt Au erdem m ssen nur Aktionen b berpr ft werden die dieselbe Signatur d h denselben Namen und dieselbe Anzahl von Argumenten wie a besitzen 25 Da die hier definierte Funktion trans eine andere Signatur besitzt als die bisher betrachtete st ckweise definierte Funktion trans handelt es sich syntaktisch gesehen um zwei vollkommen verschiedene Funktionen die nur zuf llig denselben Namen besitzen Die Funktion trans wird also sowohl statisch als auch dynamisch berladen Wenn man diese doppelte berladung eines Funktionsnamens als verwirrend empfindet k nnte man die hier definierte Funktion
583. tliche Aktionen in Abb 2 39 mit einem Parameter z B k zu versehen der in geeigneter Art und Weise einen der zehn 2 3 Weiterf hrende Operatoren Beispiel Miinzkopierer 2 3 4 37 Kopierer identifiziert Verwendet man zur Bezeichnung der Kopierer konkret die nat rlichen Zahlen von 1 bis 10 so kann die korrekte Integrit tsbedingung wie in Abb 2 40 formuliert werden Der Teil graph zwischen den beiden Knoten beschreibt die gew nschte Bedingung f r einen einzelnen Ko 10 pierer k und mit Hilfe der Summennotation wird im Prinzip eine Sowohl als auch Verzweigung k l mit zehn derartigen Zweigen fiir k 1 bis 10 formuliert 1 O O 10 Pf x k 0 Kopie A4 1 10Pf Kopie A3 k k Abbildung 2 40 Kopiergesch ft mit zehn Kopierern zweiter Versuch Der Graph wird also durchlaufen indem man zehn verschiedene Auspr gungen des Teilgraphen mit den Parameterbelegungen k 1 bis k 10 unabh ngig voneinander durchl uft Der erste dieser Teilgraphen enth lt somit nur Aktionen mit der Parameterbelegung k 1 der zweite nur solche mit der Belegung k 2 usw Jeder Teilgraph sorgt daher unabh ngig von den anderen Teilgraphen daf r da die Aktionen an seinem Kopierer in einer zul ssigen Reihenfolge ausgef hrt werden und durch die Verkn pfung mittels einer Sowohl als auch Verzweigung k nnen Aktionen an verschiede nen Kopierern beliebig berlappend oder ver
584. ttelbar dem formalen Operator so wie der graphischen Darstellung von Sequenzen mit Hilfe waagrechter Linien Sequentielle Iteration Das Zeichen wird sowohl in der Literatur als auch in Programmen die mit regul ren Ausdr cken arbeiten als Operator f r die sequentielle H lle verwendet Als weitere Merk hilfe kann dienen da das Zeichen optisch aus mehreren Minuszeichen sequentielle Komposition zusammengesetzt ist Parallele Komposition Das Zeichen das umgangssprachlich oft als und gesprochen wird soll an deuten da bei einer parallelen Komposition y z im Gegensatz zu einer Disjunktion die Teilgra phen y und z durchlaufen werden m ssen Als weitere Merkhilfe Kann dienen da das Zeichen aus zwei Strichen zusammengesetzt ist ebenso wie der Operator aus zwei Kreisen besteht Parallele Iteration In Analogie zur sequentiellen Iteration ist das Zeichen zur Notation der paralle len Iteration optisch aus mehreren Pluszeichen parallele Komposition zusammengesetzt Disjunktion Das Zeichen wird z B bei der E BNF Notation von Grammatiken Sch ning95 den oben genannten Unix Werkzeugen sowie den Programmiersprachen C und C als logischer Oder Operator verwendet Als weitere Merkhilfe kann dienen da das Zeichen aus einem Strich besteht ebenso wie der Operator aus einem Kreis besteht Konjunktion Das Zeichen amp stellt auch umgangssprachlich ein allgemein bliches Symbol f r ei nen logis
585. tualisierung von Arbeits listen sowie zum Starten und Beenden von Aktivit ten lassen sich ohne weiteres auf Systemarchitek turen verallgemeinern in denen es mehrere Interaktionsmanager oder Workflow Ausf hrungseinhei ten gibt vgl Abb 5 44 In der Arbeitsliste eines Benutzers stehen dann zu jedem Zeitpunkt all jene Aktivit ten die aus Sicht irgendeiner Workflow Ausf hrungseinheit und aus Sicht aller Interaktionsmanager zul ssig sind Beim Starten und Beenden einer Aktivit t A sind jeweils eine Ausf hrungseinheit und alle Inter aktionsmanager die die Aktion Ag bzw A kennen involviert Zur Koordination dieser Manager kann entweder das modifizierte dreiphasige Koordinationsprotokoll vgl 5 2 7 3 oder eventuell auch das zweiphasige Koordinationsprotokoll vgl 5 2 3 1 verwendet werden Anmerkung In 5 2 7 4 wurde erl utert da der Anfragetyp Wait f r ein Koordinationsprotokoll mit mehreren Interaktionsmanagern grunds tzlich ungeeignet ist da die Antwort auf eine solche Anfrage u U sehr lange ausbleiben kann Da die Accept Antwort f r eine Endeaktion A aber gem 5 5 2 3 normalerweise sofort eintrifft tritt dieses Problem beim Einsatz normaler Graphen nicht auf 5 5 Implementierung von Workflow Geflechten 5 5 3 225 Interaktions Workflow Manager A Ausf hrungs Einheit X Interakti Workflow Ta B ae a Arbeitsliste
586. turn R 1 if R 1 return State expr s expr left l rights R else return nil Abbildung 4 16 Implementierung der sequentiellen Komposition leeren Menge set initialisiert und anschlie end mit Hilfe des Operators ggf um das Element init x right erweitert In der Funktion final wird mit Hilfe der Iterationsanweisung forall berpr ft ob die Menge s rights einen Teilzustand r enth lt der ein Endzustand ist Wenn dies der Fall ist liefert die Funktion true andernfalls false Beim Zustands bergang trans wird der Teilzustand s left rekursiv transformiert Die Men ge R wird in der gleichen Weise wie in der Funktion init initialisiert und anschlie end um die Menge aller g ltigen Zust nde r erweitert die durch Transformation eines Zustands r s rights entstehen Durch die Beschr nkung auf g ltige Teilzust nde r_ wird bereits der Teil p der Optimierungsfunktion p implementiert w hrend die verbleibenden Teile p und p3 durch die Fallunterscheidung am Ende der Funktion trans abgedeckt werden 2 Da Mengen in CH als sortierte duplikatfreie Sequenzen repr sentiert werden vgl A 3 2 2 ist der Typ Set State syntaktisch qui valent zu Seq State vgl 4 4 2 1 Neben typischen Listen und Array orientierten Operationen wie z B Einf gen am Anfang und En de und Elementzugriff mittels Index unterst tzen Sequenzen daher auch mengenbezogene Operationen wie Vereinigung Durchschnitt
587. tz 102 3 4 9 Eigenschaften von Quantoren 102 3 4 9 1 Satz 102 3 4 9 2 Beweis 103 3 4 10 Rekursionsgleichungen der Iterationsoperatoren 105 3 4 10 1 Satz 105 3 4 10 2 Anmerkung 106 3 4 11 Redundanz der parallelen Iteration 106 3 4 11 1 Satz 106 3 4 11 2 Anmerkung 106 3 5 Ausdrucksm chtigkeit von Interaktionsausdr cken 107 3 5 1 Definitionen 107 3 5 2 Vergleich von Interaktionsausdr cken mit regul ren Ausdr cken 107 3 5 3 Vergleich von Interaktionsausdr cken mit kontextfreien Grammatiken 108 3 5 3 1 berlegenheit von Interaktionsausdr cken 108 3 5 3 2 Ebenb rtigkeit von Interaktionsausdr cken 109 3 5 3 3 Unterlegenheit von Interaktionsausdr cken 109 3 5 3 4 Unvergleichbarkeit von Interaktionsausdr cken und kontextfreien Grammatiken 110 3 5 3 5 Bezug zu Ereignis und Flu ausdr cken 111 3 5 4 Zusammenfassung 111 4 Implementierung von Interaktionsausdr cken 113 4 1 Einleitung 113 4 1 1 Aufgabenstellung 113 4 1 2 berblick 114 4 2 Syntax von Interaktionsausdr cken 115 4 2 1 Aktionen 115 4 2 2 Ersatzdarstellung und Vorrang von Operatoren 117 4 2 3 Klammern 118 4 2 4 Multiplikatoren und Quantoren 118 4 2 5 Grammatik von Interaktionsausdr cken 119 4 3 Interne Repr sentation von Ausdr cken 120 4 3 1 Datenmodell 120 4 3 2 Beispiel 122 4 3 3 Implementierung des Datenmodells 122 4 3 3 1 Offene Typen 122 4 3 3 2 Ein und mehrwertige Attribute 124 4 3 3 3 Konstruktorfunktionen 125 4 3 3 4 Beispiel 125 4 3 4 Parse
588. u erdem werden Makros im folgenden ebenso wie Multiplikatorausdr cke nicht weiter ber cksichtigt 3 3 3 Quantorausdr cke 3 3 3 1 Definitionen Ein Quantorausdruck ist ein Ausdruck y vgl Abb 3 23 mit einem Operator O O p einem formalen Parameter p e II der in diesem Zusammenhang auch als Quantorparameter be zeichnet wird und einem beliebigen Teilausdruck y der als Rumpf des Quantorausdrucks bzw als Wirkungsbereich des Quantors bezeichnet wird Typischerweise h ngt der Ausdruck y vom Quan p torparameter p ab d h er enth lt in der Regel abstrakte Aktionen a ay a a T die p als Argument besitzen d h f r die p a a gilt L P P Abbildung 3 23 Quantorausdruck y P Der Quantorrumpf y kann nach Belieben weitere Quantorausdr cke enthalten allerdings wird zur Vereinfachung angenommen da keiner dieser inneren Quantoren denselben Parameter p benutzt d h da Quantorparameter eindeutig sind Da Parameter ggf umbenannt werden k nnen stellt dies keine echte Einschr nkung dar Au erdem Kann diese Vereinbarung in einer praktischen Implementie 7 Man beachte in diesem Zusammenhang da Makros nicht rekursiv sein d rfen vgl 2 2 4 4 sowie 2 8 2 5 86 3 3 3 Kapitel 3 Interaktionsausdriicke rung durch geeignete Sichtbarkeitsregeln engl scope rules ersetzt werden wie man sie von block orientierten Pr
589. u akzeptieren da eine Aktivit t nicht exakt im selben Moment gestartet oder be endet werden kann in dem eine andere Aktivit t gestartet oder beendet wird A gt Ay B 0 A 1 B 1 Zeit Abbildung 2 58 Zeitlich berlappende Ausf hrung von Aktivit ten Vergleicht man die Ausf hrung von Aktivit ten mit der von Programmen auf einem Einprozessor rechner so werden zwei Programme vom Betriebssystem tats chlich immer in einer bestimmten Rei henfolge gestartet selbst wenn die beiden Benutzer die ihre Ausf hrung veranlassen gleichzeitig die Returntaste dr cken Auf einem Mehrprozessorsystem oder in einem Rechnernetz w re es zwar prinzipiell m glich da zwei Programme exakt gleichzeitig gestartet oder beendet werden sofern man jedoch s mtliche Start und Endeaktionen in einer gemeinsamen Protokolldatei aufzeichnet er h lt man auch hier wieder eine rein sequentielle Folge von Aktionen in der gleichzeitig ausgef hrte Aktionen durch geeignete Synchronisationsmechanismen bei der Protokollschreibung k nstlich in eine bestimmte Reihenfolge gebracht werden Beim konkreten Einsatz von Interaktionsgraphen zur Synchronisation von Workflows oder sonsti gen Prozessen ist das Szenario sehr hnlich Die zu synchronisierenden Workflowschritte oder Aktivi 52 2 6 4 Kapitel 2 Interaktionsgraphen t ten k nnen zwar prinzipiell von verschiedenen Benutzern an verschiedenen Rechnern gestartet wer den i
590. u96 S Yu E Mail Kommunikation ber Synchronisierungsausdr cke Dept of Computer Science The University of Western Ontario London Ontario Canada September 1996 Zave85 P Zave A Distributed Alternative to Finite State Machine Specifications ACM Transac tions on Programming Languages and Systems 7 1 January 1985 10 36 Anhang A Die Programmiersprache CH A 1 Motivation A 1 1 Grenzen imperativer und objektorientierter Programmiersprachen Die Programmiersprache CH die zur Implementierung von Interaktionsausdr cken verwendet wurde vgl Kapitel 4 insbesondere 4 3 3 4 4 2 und 4 6 stellt eine pers nliche und pragmatische Ant wort des Verfassers dieser Arbeit auf eine Reihe von Unzul nglichkeiten herk mmlicher imperativer Programmiersprachen wie z B Modula oder C dar die in der allt glichen Programmierpraxis im mer wieder zu Reibungs und Effizienzverlusten f hren und auch durch objektorientierte Sprachen wie z B Smalltalk oder Java nicht oder nur bedingt berwunden werden Obwohl manche dieser L cken durch geeignete Bibliotheksfunktionen geschlossen werden k nnen st t man bei vielen an deren doch an prinzipielle Grenzen der Ausdrucksm chtigkeit dieser Sprachen beispielsweise bei dem Versuch allgemeine Containertypen wie Listen oder Mengen zu implementieren die anschlie Bend typsicher f r beliebige Elementtypen verwendet werden k nnen Um das zuletzt genannte Problem befriedigend
591. uantifizierung die gem 4 7 2 2 impliziert da die Zweige Yp paarweise disjunkte Alphabete besitzen folgt hnlich wie bei der bin ren Disjunktion in B 4 4 1 da eine Aktion b von h chstens einem konkretisierten Zweig Yp bzw Zustand o y er folgreich verarbeitet werden kann w hrend der Zustand o y des abstrakten Zweigs y beim ersten Zustands bergang in einen ung ltigen Zustand bergeht Beachtet man zus tzlich die Optimierungs funktion p4 so gilt daher f r Worte w b 6 X o y p L l n o wobei den einzigen relevanten Parameterwert der Aktion b darstellt vgl 4 7 2 2 Daraus folgt sowohl die Injektivit t als auch die initiale Fokussierung des Ausdrucks x hnlich wie oben bei der bi n ren Disjunktion B 4 6 2 Terminale Fokussierung Ist der Rumpf y terminal fokussiert so besitzt jeder Zweig Yp h chstens den Zustand T als Endzu stand Aufgrund der Optimierung lo y p L T T und der Tatsache da der initiale Zustand o x O y p o y kein Endzustand ist besitzt der Ausdruck x daher h chstens den Zustand T als Endzustand und ist somit terminal fokussiert Anhang C Ein syntaxgesteuerter Editor f r Interaktionsgraphen C 1 Einleitung Um die praktische Erstellung von Interaktionsgraphen zu erleichtern wurde im Rahmen dieser Arbeit ein syntaxgesteuerter Editor entwickelt der sich durch einfache Bedienbarkeit automatische Forma tierung und implizit
592. ucht werden Au erdem wird durch ein derartiges Modulkonzept unabh ngig von objektorientierten Konzepten wie Klassen oder Methoden auf eine einfache und flexible Weise das Prinzip der Datenabstrak tion bzw kapselung unterst tzt Wirth82 Anstelle von starren und gef hrlichen C Vektoren Arrays auf der einen Seite und oftmals unn tig komplizierten und unhandlichen C Containerklassen Kofler93 Schildt99 auf der anderen Seite gibt es einen einfachen und doch m chtigen und flexiblen Containertyp Sequenz der alle blichen Anwendungen von Containern wie z B sortierte oder unsortierte Listen Stacks Mengen usw gut unterst tzt Insbesondere gibt es ein sehr einfaches terator Konzept mit Hilfe einer forall An weisung Als Spezialfall solcher dynamischer Sequenzen wird ein flexibler Stringtyp unterst tzt Vgl auch 4 4 2 1 4 6 2 3 und 4 8 1 3 sowie A 3 2 1 und A 3 2 2 Anstelle von varianten Modula Records C struct bzw union Typen oder C Klassen gibt es offene Typen mit einer erweiterbaren Menge optionaler Attribute Auf diese Weise ist es beispielsweise m glich einen Strukturtyp der in einem Modul definiert und exportiert wird in einem anderen Modul um zus tzliche Komponenten zu erweitern ohne da hier f r das erste Modul ge ndert oder ein neuer abgeleiteter Typ eingef hrt werden m te Objekte eines offenen Typs k nnen eine beliebige Teilmenge der Attribute des Typs besitzen wobei
593. uck a 4 b c mit Option 3 3 1 6 Parallele Komposition Definitionen Eine parallele Komposition oder Sowohl als auch Verzweigung ist ein Ausdruck y z vgl Abb 3 12 mit beliebigen Teilausdr cken y und z die als Komponenten oder Zweige der parallelen Komposition bezeichnet werden 76 3 3 1 Kapitel 3 _Interaktionsausdr cke ad Abbildung 3 12 Parallele Komposition y z Um den Graphen in Abb 3 12 vollst ndig zu durchlaufen m ssen die beiden Teilgraphen y und z un abh ngig voneinander vollst ndig durchlaufen werden Daher erh lt man ein vollst ndiges Wort des Ausdrucks y z indem man ein vollst ndiges Wort von y mit einem vollst ndigen Wort von z ver schr nkt y z P y z Will man den Graphen nur teilweise durchlaufen so bricht man die Traversierung der Teilgraphen y und z jeweils an einer beliebigen Stelle ab d h man erh lt ein partielles Wort des Ausdrucks y z indem man ein partielles Wort von y mit einem partiellen Wort von z verschr nkt Yy z Yy Wz Beispiel Der Ausdruck 2DM 1 DM 1DM 1 DM vgl Abb 3 13 besitzt die folgenden vollst ndigen bzw partiellen Worte 2DM 1 DM 1DM 1DM 2DM o 1 DM 1DM 1 DM 2DM 1 DM 1 DM 1 DM 2DM 1 DM U 1 DM 1 DM 1 DM 2 DM 1 DM 1 DM 2DM U 1 DM 1DM 1DM 2 DM 1 DM 1 DM 2DM 1 DM 1 DM
594. uentielle Komposition y z y 2z Disjunktion y Z yoz Sequentielle Iteration path y end ey Parallele Iteration y y Synchronisation yz yoz Tabelle 6 1 Operatoren von Pfadausdr cken Pfadausdr cke werden stets als Teil einer ADT Abstrakter Datentyp bzw Klassen Definition for muliert und dann auf jedes Objekt dieses Typs separat angewandt In der Terminologie von Interak tionsausdr cken bedeutet dies da jeder Ausdruck implizit mittels eines parallelen Quantors ber al le Objekte des Typs quantifiziert wird gt TAA steht f r Interaktionsausdruck bzw Interaktionsausdr cke 6 2 Erweiterte regul re Ausdr cke 6 2 1 241 Beispiel Die folgende L sung des elementaren Leser Schreiber Problems zu jedem Zeitpunkt darf entweder ein Schreiber oder beliebig viele Leser auf ein Datenobjekt zugreifen Courtois71 stellt ein einfaches Beispiel eines Pfadausdrucks dar path read write end Transformiert man diesen Ausdruck gem Tab 6 1 und ber cksichtigt die oben erw hnte implizite Quantifizierung von Pfadausdr cken so erh lt man den entsprechenden Interaktionsausdruck amp read p O write p P 6 2 1 2 Definition der Semantik Urspr nglich wurde die Semantik von Pfadausdr cken nur verbal bzw durch ihre Abbildung auf Se maphoroperationen siehe unten definiert Campbell74 Campbell79 Sp ter kamen Vorschl ge f r eine pr zisere formale Behandlung hinzu wie z B die Abbildung einer T
595. ufruf der so definierten Funktion in einem eigenen Proze ausgef hrt werden soll Abbildung 5 27 zeigt eine derartige Proze funktion die den Lebenszyklus eines Philosophen p beschreibt der mit den Gabeln 1 und r i t Auch diese Funktion wird vom CH Pr compiler umbenannt und durch eine neue Funktion mit der selben Signatur ersetzt die f r die Erzeugung eines neuen Prozesses sorgt wobei an dieser Stelle of fenbleibt ob es sich bei Prozessen um leichtgewichtige Threads oder um echte Betriebssystemprozes se auf einem oder mehreren Rechnern handelt Zur Illustration zeigt Abb 5 28 wie mit Hilfe des Unix Systemaufrufs fork 2 jeweils ein neuer Betriebssystemproze auf demselben Rechner er zeugt wird Eine Proze funktion kehrt also einerseits sofort zu ihrem Aufrufer zur ck und erzeugt an 13 Um noch unabh ngiger von der konkreten Anzahl n der Philosophen bzw Gabeln zu sein k nnte man diese auch als Konstante vereinba ren const int n 5 und den zweiten Ausdruck dann als expr n 1 formulieren 1a Enth lt ein Ausdruck wie in der vorigen Fu note erw hnt symbolische Konstanten und oder arithmetische Operatoren so werden diese aus der Zeichenketten Darstellung des Interaktionsausdrucks extrahiert und separat im Stil der C Bibliotheksfunktion printf bergeben expr d n 1 15 Die Funktion f ork spaltet den aufrufenden Proze in zwei nahezu identische Prozesse auf wobei im neu erzeugten Kind
596. um beliebige mathematische Objekte handeln kann sowie den folgenden vier Basisfunktionen Die Initialisierungsfunktion 0 2 ordnet jedem Ausdruck x einen initialen Zustand o x Ozu Die Zustands bergangsfunktion t X X ordnet einem Zustand s und einer konkreten Aktion a einen transformierten Zustand s t s zu Die Zustandspr dikate y gt T und gt T L ordnen jedem Zustand s zwei Wahrheitswerte w s und g s zu die mit T wahr bzw _L falsch bezeichnet werden Zust nde f r die w s T gilt hei en g ltige Zust nde Zust nde mit os T Endzust nde Anmerkung o sigma steht f r initial state r tau f r transition Die Pr dikate y und stehen in di rekter Beziehung zu den Mengen Y und vgl 4 5 1 3 T steht f r true das gespiegelte entspre chend f r das Gegenteil false Dem blichen Stil mathematischer Arbeiten folgend werden diese Kurzbezeichnungen wie bereits in Kapitel 3 sprechenderen Namen wie z B state trans oder true vorgezogen um Formeln nicht unn tig aufzubl hen 4 5 1 2 Abgeleitete Funktionen Aufbauend auf diesen Basisfunktionen k nnen die folgenden abgeleiteten Funktionen eines Zu standsmodells definiert werden Durch mehrfache Anwendung der Zustands bergangsfunktion r erh lt man zun chst die Folgezu st nde s eines beliebigen Zustands s s s f r w Q RT TalTa s f r w w a mit
597. und elegante Implementie rung in einer funktionalen Programmiersprache wie z B LISP Selbst Systeme von unendlich vie len Rekursionsgleichungen lassen sich relativ direkt in entsprechende Funktionsdefinitionen umset zen Auf diese Weise erh lt man unmittelbar eine einfache Testumgebung in der man das dynamische Verhalten von Prozessen experimentell untersuchen kann Da bei dieser Implementierung jedoch kei nerlei Wert auf Laufzeit Effizienz gelegt wird ist sie f r einen realen Einsatz sicherlich nicht geeig net Anders verh lt es sich mit Abbildungen von CSP auf bestimmte parallele Programmiersprachen wie z B Ada oder Occam die geeignete Konstrukte zur Formulierung von Nebenl ufigkeit Nichtde terminismus und Kommunikation bereitstellen Insbesondere Occam May83 Sch tte88 lehnt sich auch syntaktisch sehr stark an CSP an so da man es durchaus als Implementierung von CSP be zeichnen k nnte Im Vergleich zu modernen strukturierten Programmiersprachen ist Occam jedoch eher als Assembler der parallelen Programmierung zu bezeichnen Bal89 6 3 2 4 Vergleich mit Interaktionsausdr cken CSP ist zweifellos ein sehr m chtiger formaler Apparat dessen M glichkeiten z T weit ber die von Interaktionsausdr cken hinausgehen Neben den hier skizzierten Konzepten hat man im Prinzip eine vollst ndige parallele Programmiersprache mit einer pr zisen formalen Semantik sowie zugeh rigen Verifikationsm glichkeiten zur Verf gung
598. ung ltigen Zustand ber der durch die Optimierung p entfernt wird Da sich die Kardinalit t von 7 somit wieder um 1 verringert kann sie insgesamt nicht gr er als 2 werden 3 Da die Menge R bzw T nur Zust nde des rechten Teilausdrucks z bzw des Iterationsrumpfs y enth lt ist ihre Kardinalit t au erdem durch die Anzahl 7 z bzw n y beschr nkt die f r einen quasi regul ren Ausdruck z bzw y eine endliche Konstante darstellt die nicht von der L nge n abh ngt 4 Wenn die Alphabete der Teilausdr cke y und z disjunkt sind so folgt durch hnliche berlegungen wie in B 4 2 da die Kardinalit t der Menge R nicht gr er als 1 werden kann Folgerungen Die erste Behauptung des Satzes besagt da die in praktischen Anwendungen sehr h ufig auftreten den sequentiellen Operatoren grunds tzlich bedenkenlos angewandt werden k nnen Zusammen mit der Aussage ber Boolesche Operatoren 4 7 3 1 impliziert die zweite Behaup tung da regul re Ausdr cke harmlos sind und somit sehr effizient d h mit konstantem Berech nungsaufwand f r einen Zustands bergang verarbeitet werden Daher l t sich das Wortproblem f r regul re Ausdr cke in linearer Zeit l sen d h die Implementierung regul rer Ausdr cke mit Hilfe hierarchischer Zust nde ist zwar komplizierter aber nicht komplexer als eine Implementierung durch endliche Automaten Hopcroft90 Sch ning95 Anmerkung Die sequentiellen Operatoren s
599. ung durchl uft und am Ent weder oder Verzweigungsknoten nach unten abbiegt erh lt man die Aktionsfolge 10 Pf 10 Pf Kopie A3 d h man kann nach Einwurf von zwei Groschen eine A3 Kopie erstellen Wird der Rumpf von zwei Gruppen durchlaufen die beide den oberen Zweig der Entweder oder Verzweigung w hlen so kann sich unter anderem die Folge 10 Pf 10 Pf Kopie A4 Kopie AA ergeben d h nach Einwurf von zwei Groschen kann man auch zwei A4 Kopien erstellen Wenn eine Gruppe den oberen und die andere den unteren Zweig durchl uft erh lt man u a die Folgen Kopie A4 10 Pf lt _ O 10 Pf Kopie A3 Abbildung 2 30 M nzkopierer Komfort Version 2 3 Weiterf hrende Operatoren Beispiel Miinzkopierer 2 3 2 31 10 Pf 10 Pf 10 Pf Kopie A4 Kopie A3 und 10 Pf 10 Pf 10 Pf Kopie A3 Kopie A4 d h nach Einwurf von drei Groschen kann man z B eine A4 und eine A3 Kopie in beliebiger Reihenfolge erstellen e Da die beiden Gruppen den Rumpf der Beliebig oft Verzweigung unabh ngig voneinander durch laufen sind aber auch die Reihenfolgen 10 Pf Kopie A4 10 Pf 10 Pf Kopie A3 10 Pf 10 Pf Kopie A4 10 Pf KopieA3 und 10 Pf 10 Pf Kopie A3 10 Pf Kopie A4 m glich usw 2 3 2 Papier nachf llen 2 3 2 1 Wechselseitiger Ausschlu Von Zeit zu Zeit mu bei einem Kopierer Papier nachgef llt werden
600. unmittelbar aus den zugeh rigen positiven zur Spezifikation zul ssiger Reihenfolgen ableiten las sen Bez glich Ausdrucksm chtigkeit st t man mit regul ren Ausdr cken zweifellos sehr schnell an Grenzen w hrend man mit LR O Grammatiken prinzipiell s mtliche deterministisch kontextfreien Sprachen beschreiben kann Nodine92 Hopcroft90 Sie stellen daher einen guten Kompromi zwi schen m glichst hoher Ausdrucksm chtigkeit auf der einen Seite und effizienter Implementierbarkeit auf der anderen Seite dar Au erdem besitzen sie im Gegensatz zu allgemeineren LR k Grammati ken die angenehme Eigenschaft da ein Wort zeichenweise ohne Verwendung von Look ahead Sym bolen analysiert werden kann Allerdings fehlt ihnen das im Kontext dieser Arbeit wesentliche Kon zept der Parallelit t also insbesondere die h ufig ben tigte parallele Iteration sowie parallele Quanto ren vgl z B 2 7 5 6 5 Petrinetze Petrinetze Peterson77 Reisig86 Baumgarten96 sind ein weit verbreiteter und vielseitig einsetzbarer Formalismus zur Spezifikation nebenl ufiger Systeme Obwohl sie im Gegensatz zu Interaktionsaus dr cken keine spezifischen Operatoren wie z B oder f r sequentielle oder parallele Komposi tion anbieten k nnen die mit diesen Operatoren assoziierten Konzepte z B sequentielle oder paral lele Ausf hrung von Aktionen dennoch modelliert werden Au erdem besitzen sie rein u erlich ge wisse hnlichkeiten
601. unterst tzt da alle mo mentan zul ssigen Aktionen optisch hervorgehoben werden Desweiteren w re eine Kopplung des Editors mit einem zus tzlichen Komplexit ts bzw Optimierer Modul sinnvoll das den erstellten Graphen bzw Ausdruck bez glich seiner Komplexit t analysiert und potentiell b sartige Operatoren oder Teilausdr cke optisch kennzeichnet Eventuell k nnte das System sogar Verbesserungsvorschl ge anbieten sofern geeignete Transformationsregeln zur Verf gung stehen Unabh ngig davon k nnte ein automatischer Optimierer nat rlich auch wie bei Datenbanksystemen f r den Anwender trans parent unter der Oberfl che eingesetzt werden 7 2 3 2 Integration mit Workflow Management Systemen Obwohl in 5 5 aufgezeigt wurde wie sich Workflow Geflechte durch den Einsatz eines oder mehre rer Interaktionsmanager konkret implementieren lassen wurde diese Integration von Interaktionsgra phen mit Workflow Management Systemen bisher nur rudiment r f r ein einziges WfMS tats chlich durchgef hrt Der Grund f r diese Zur ckhaltung liegt vor allem darin da die in 5 5 3 beschrie bene Adaption von Workflow Ausf hrungseinheiten die gem 5 5 4 der Adaption von Arbeitsli stenprogrammen eindeutig berlegen ist ein sehr aufwendiges Unterfangen darstellt Erschwerend kommt hinzu da heutige Workflow Management Systeme f r eine derartige Adaption keinerlei Schnittstellen oder Ansatzpunkte vorsehen
602. urchlaufen werden w hrend Aktionen die beiden Zweigen gemeinsam sind wie bei der Konjunktion gleichzeitig durchlaufen werden m s sen Um diese Regeln formal zu fassen wird eine Synchronisation zun chst in eine quivalente Kon junktion transformiert Transformation in eine Konjunktion Bezeichnet man mit y Ym BZW z z die Aktionen die nur im Teilausdruck y bzw z nicht jedoch im Teilausdruck z bzw y vorkommen so kann der Ausdruck y z schrittweise wie folgt umgeformt werden ohne seine urspr ngliche Bedeutung zu ver ndern 1 Zun chst wird der obere Zweig y durch eine parallele Komposition y amp z O Zn ersetzt vgl Abb 3 18 Dadurch sind die Aktionen z4 z jetzt beiden Zweigen der Synchronisation gemeinsam d h sie d rfen nur noch durchlaufen werden wenn sie in beiden Zweigen gleichzeitig passiert werden k nnen Da die sequentielle Iteration z Z jedoch unabh ngig vom Teilgraphen y durchlaufen wird k nnen die Aktionen z z im oberen Zweig der Synchronisation jederzeit passiert wer den d h im Gesamtausdruck d rfen sie nach wie vor genau dann durchlaufen werden wenn sie 80 3 3 1 Kapitel 3 Interaktionsausdriicke Z1 Ta ER N r5 KWa Na VJ Z E y Z Abbildung 3 18 Transformation der Synchronisation y z Schritt 1 im unter
603. urde eine einfache Graphikbibliothek verwen det die auf dem X Window System Nye92ab basiert Der Quellcode des Programms umfa t insge samt etwa 2200 Zeilen Ein Graph wird intern hnlich wie in 4 3 als Operatorbaum repr sentiert auf dem s mtliche nde rungsoperationen durchgef hrt werden Allerdings k nnen Sequenz und Verzweigungsknoten nicht nur zwei sondern beliebig viele Operanden besitzen Jeder Graph bzw Teilgraph besitzt einen logischen Mittelpunkt sowie Ausdehnungen nach links rechts oben und unten die nach jeder nderungsoperation mit Hilfe einer rekursiven Funktion measure von innen nach au en engl bottom up bestimmt werden Die Abmessungen von Akti vit ten Parametern und Faktoren sind hierbei durch die Ausdehnung der entsprechenden Zeichenket ten vorgegeben Eine zweite rekursive Funktion position legt anschlie end von au en nach innen engl top down die Koordinaten der Mittelpunkte aller Teilgraphen fest Die Elemente einer Sequenz werden dabei so ausgerichtet da ihre Mittelpunkte auf einer gemeinsamen horizontalen Linie liegen w h rend bei einer Verzweigung die Mittelpunkte aller Zweige auf einer vertikalen Linie liegen Mit die sen Informationen kann eine dritte Funktion draw einen Graphen zeichnen indem sie zun chst sei nen Hintergrund als farbiges Rechteck und anschlie end seine geometrischen und textuellen Elemente sowie seine Teilgraphen rekursiv ausgibt Zur Darstellung benutzer
604. usdr cke 162 4 7 2 2 Vollst ndig und homogen quantifizierte Ausdr cke 4 7 2 3 Injektive und fokussierte Ausdr cke 165 Aussagen zu elementaren Operatoren 167 4 7 3 1 Boolesche Operatoren 167 4 7 3 2 Sequentielle Operatoren 167 4 7 3 3 Parallele Komposition 168 4 7 3 4 Parallele Iteration 170 Aussagen zu Quantoren 172 4 7 4 1 Boolesche Quantoren 172 4 7 4 2 Parallele Quantoren 173 Zusammenfassung 174 4 7 5 1 Komplexit tshierarchie von Interaktionsausdr cken 4 7 5 2 Tabellarischer berblick 175 163 174 162 152 161 4 7 5 3 Beispiele 176 4 7 5 4 Res mee 178 4 8 Riickblick 178 4 8 1 4 8 2 Erfolgsfaktoren 178 4 8 1 1 Operationale Semantik 178 4 8 1 2 Teilwortorientierte Semantik 178 4 8 1 3 Sortierte Sequenzen und Vergleichsprozeduren 179 4 8 1 4 Zustandsoptimierungen 180 4 8 1 5 Fazit 180 Umfang und Qualit t der Implementierung 180 5 Praktischer Einsatz von Interaktionsausdr cken 183 5 1 Einleitung 183 5 2 Interaktionsmanager 184 5 3 5 2 1 5 2 2 5 2 3 5 2 4 5 2 5 5 2 6 5 2 7 5 2 8 5 2 9 Konzeption 184 Einphasiges Koordinationsprotokoll 185 5 2 2 1 Beschreibung 185 5 2 2 2 Kritik 186 Zweiphasiges Koordinationsprotokoll 187 5 2 3 1 Beschreibung 187 5 2 3 2 Kritik 188 Dreiphasiges Koordinationsprotokoll 189 5 2 4 1 Beschreibung 189 5 2 4 2 Anmerkungen 189 Abonnierte Nachrichten 191 5 2 5 1 Motivation 191 5 2 5 2 Beschreibung 191 Sonderbehandlung unbek
605. usdruck e Somit sind Interaktionsausdr cke mindestens so ausdrucksstark wie regul re Ausdr cke Im folgen den Abschnitt 3 5 3 1 wird au erdem ein Beispiel eines Interaktionsausdrucks angegeben dessen Sprache nicht kontextfrei und somit auch nicht regul r ist Daher sind Interaktionsausdr cke sogar echt ausdrucksst rker als regul re Ausdr cke Anmerkung Da regul re Ausdr cke bzw Mengen abgeschlossen bzgl Durchschnittsbildung sind Hopcroft90 Sch ning95 stellt die Hinzunahme der Konjunktion keine Erweiterung der Ausdrucks m chtigkeit von regul ren Ausdr cken dar Ebenso l t sich durch Konstruktion eines geeigneten Produktautomaten Coleman94 Harel87 zeigen da auch die parallele Komposition und die Syn chronisation theoretisch redundant sind Dies bedeutet da abgesehen von parametrisierten Ausdr cken und Quantoren lediglich die parallele Iteration eine echte Erweiterung der Ausdrucksm chtigkeit gegen ber regul ren Aus dr cken darstellt oder anders ausgedr ckt Elementare Interaktionsausdr cke ohne parallele Iteration besitzen die gleiche Ausdrucksm chtigkeit wie regul re Ausdr cke 3 5 3 Vergleich von Interaktionsausdr cken mit kontextfreien Grammatiken 3 5 3 1 berlegenheit von Interaktionsausdr cken F r den Interaktionsausdruck x Ga ab ac eo a b c vgl Abb 3 29 gilt L x x Pllaa 8b ac ola b c P aa 0b ac NP a b c a b c k m n EMN a fw e a b c w w
606. usf hrungsreihenfolgen also indem man beliebig viele Folgen 10 Pf Kopie A4 miteinander verschr nkt Zur Veranschaulichung der Verschr nkung von n Folgen stelle man sich eine n spurige Autobahn vor die sich an einer Baustelle auf eine Spur verengt Auf jeder der n Spuren steht eine Schlange von Fahrzeugen die sich nun nach einem beliebigen Schema auf eine einzige Spur f deln und so die Baustelle passieren Wenn auf jeder der n Spuren jeweils ein Fahrzeug mit der Aufschrift 10 Pf und dahinter eines mit der Aufschrift Kopie A4 steht kann letzteres fr hestens dann einf deln wenn sein Vordermann eingef delt hat Somit haben zu jedem Zeitpunkt mindestens so viele 10 Pf Autos wie Kopie A4 Autos die Engstelle passiert bertragen auf Folgen von Aktionen be deutet das da zu jedem Zeitpunkt mindestens so viele 10 Pfennig M nzen eingeworfen wie Kopien erstellt wurden 2 3 1 4 Komfort Version Abbildung 2 30 beschreibt eine weitere Verbesserung des M nzkopierers aus Abb 2 28 Nach Ein wurf einer 10 Pfennig M nze kann man entweder eine A4 Kopie erstellen oberer Zweig der Entwe der oder Verzweigung oder aber eine weitere 10 Pfennig M nze einwerfen und dann eine A3 Kopie erstellen unterer Zweig Durch die umgebende Beliebig oft Verzweigung k nnen wiederum beliebig viele dieser Sequenzen gleichzeitig aktiv sein was interessante Kombinationsm glichkeiten er ffnet Wenn beispielsweise eine Gruppe den Rumpf der Beliebig oft Verzweig
607. ust nden 1 entfernt werden besteht die Menge eines op timierten Zustands p s daher aus einer einzigen Alternative Die Breite einer Alternative T d h die Anzahl der verschiedenen Zustand Wert Paare t a T ist auch hier hnlich wie beim Spezialfall der parallelen Iteration in 4 7 3 4 von der Gr enord nung n da sie initial den Wert 1 besitzt und bei jedem Zustands bergang h chstens um einen konstan ten Wert zunimmt Somit ist der Verzweigungsgrad der Zust nde s y p A ebenfalls von der Gr enordnung n Folgerung Da die vollst ndige und homogene Quantifizierung eines Ausdrucks obwohl sie auf den ersten Blick restriktiv erscheinen mag in praktischen Anwendungen des Allquantors den Normalfall dar stellt kann dieser Operator normalerweise bedenkenlos angewandt werden Anmerkungen 1 Parallele Quantorausdr cke die lediglich vollst ndig nicht jedoch homogen quantifiziert sind sind nicht notwendigerweise gutartig Als Gegenbeispiel betrachte man den Ausdruck x y mit y o a p 0 O o alq D p q q und ein Wort w a o a 3 4 mit paarweise verschiedenen Werten Q Da der Ausdruck nicht homogen quantifi ziert ist sind die Alphabete der Zweige Yp f r verschiedene Werte Q nicht disjunkt sondern es gilt B O a yp o a yp alwi a N Daher wird eine Aktion a stets von zwei Zweigen yp und Yp des Ausdrucks x
608. ustandszahl n x eines Ausdrucks x ist definiert als die Anzahl der verschiedenen Zust n de 6 x des Ausdrucks x die man erh lt wenn w alle Worte der Menge amp durchl uft n x w 5 0 w 2 4 7 2 Teilklassen von Ausdr cken Da beliebige Interaktionsausdr cke wie in 4 7 3 3 gezeigt werden wird potentiell b sartig sind be steht das Ziel der folgenden Abschnitte darin m glichst gro e und praktisch relevante Teilklassen von Ausdr cken zu identifizieren f r die gezeigt werden kann da sie gutartig oder sogar harmlos sind 4 7 2 1 Quasi regul re Ausdr cke Definition Gem 3 5 2 stellen die Operatoren f r Konjunktion Synchronisation und parallele Komposition keine Erweiterung der Ausdrucksm chtigkeit regul rer Ausdr cke dar Daher werden Interaktionsaus dr cke die weder Quantoren noch parallele Iterationen enthalten wobei die parallele Iteration als spezieller Quantor aufgefaBt werden kann vgl 3 4 11 im folgenden als quasi regul re Ausdr cke bezeichnet Anmerkung Quasi regul re Ausdr cke k nnen nichtsdestotrotz parametrisiert sein d h zum Bei spiel konstante Parameterwerte enthalten oder im Wirkungsbereich von Quantoren stehen Die Defini tion verlangt lediglich da die Ausdr cke selbst weder Quantorausdriicke noch parallele Iterationen enthalten Satz Ein quasi regul rer Ausdruck x besitzt nur endlich viele verschiedene Zust nde d h es gilt n x lt 4
609. uting Surveys 16 2 June 1984 111 152 Jensen91 K Jensen G Rozenberg eds High Level Petri Nets Theory and Application Springer Verlag 1991 JUS98 Special Issue on Workflow and Process Management Journal of Intelligent Information Systems Integrating Artificial Intelligence and Database Technologies 10 2 March 1998 Jones96 R Jones R Lins Garbage Collection Algorithms for Automatic Dynamic Memory Mana gement John Wiley amp Sons Chichester 1996 Kamath98 M Kamath K Ramamritham Failure Handling and Coordinated Execution of Concur rent Workflows In Proc 14th Int Conf on Data Engineering ICDE Orlando FL February 1998 IEEE Computer Society 1998 334 341 Kernighan86 B W Kernighan R Pike Der UNIX Werkzeugkasten Carl Hanser Verlag M nchen 1986 Kernighan90 B W Kernighan D M Ritchie Programmieren in C Zweite Ausgabe ANSI C Carl Hanser Verlag Miinchen 1990 Klein91 J Klein Advanced Rule Driven Transaction Management Extended Abstract In Proc 36th IEEE Computer Society Int Conf COMPCON San Francisco CA March 1991 1991 562 567 Koenig95 A Koenig B Stroustrup Foundations for Native C Styles Software Practice and Experience 25 S4 December 1995 45 86 Kofler93 T Kofler Robust Iterators in ET Structured Programming 14 1993 62 85 Konyen96a I Konyen M Reichert B Schulthei R Mangold Ein Proze
610. utung ver wendet w enth lt die Aktion a bzw w enth lt alle Aktionen von w obwohl Worte strenggenommen keine Mengen darstellen 299 300 B 2 1 Anhang B Verifikation des Zustandsmodells gt Jaew ae alx a 2 Definition der relevanten Parameterwerte einer Aktion gt daew re Q x q Definition der relevanten Parameterwerte eines Wortes gt red a gq Damit ist die Behauptung f r die Teilausdr cke y und ggf z eines elementaren Ausdrucks x sowie f r die konkretisierten Teilausdr cke Yp eines Quantorausdrucks x gezeigt da deren Alphabet je weils im Alphabet von x enthalten ist 2 F r den abstrakten Zweig y eines Quantorausdrucks x y gilt p m ae ao a gt Aadeady a d4 aeX 5 Wegen ay e amp mu unabh ngig vom Parameter p sein d h es gilt a f r alle w Q gt 3 eal fa a gt ae a x a F gt man diese Zwischenschritte oben zwischen Zeile 1 und 2 ein so erh lt man die verblei bende Behauptung B 2 1 2 Invarianz relevanter Parameterwerte Satz Gegeben sei ein Quantorausdruck x y ein Wort w amp ein Quantorparameter q Il sowie ein p bzgl x und q irrelevanter Parameterwert z Q x q Dann gilt 2 07 p 0 P d h die relevanten Parameterwerte des Quantorrumpfs y ndern sich nicht wenn man y zu y4 kon kretisiert B 2 Korrektheit des einfachen Zustandsmodells B 2 2 301 Bew
611. ve Information Systems CoopIS Kiawah Island SC 1997 1997 99 108 Bauer98 T Bauer P Dadam Architekturen fiir skalierbare Workflow Management Systeme Klassi fikation und Analyse Nr 98 02 Ulmer Informatik Berichte Fakult t f r Informatik Universit t Ulm January 1998 Bauer99 T Bauer P Dadam Verteilungsmodelle f r Workflow Management Systeme Klassifika tion und Simulation Informatik Forschung und Entwicklung 14 4 December 1999 203 217 Baumgarten96 B Baumgarten Petri Netze Grundlagen und Anwendungen 2 Auflage Spektrum Akademischer Verlag Heidelberg 1996 Bergstra90 J A Bergstra J W Klop An Introduction to Process Algebra In J C M Baeten ed Applications of Process Algebra Cambridge Tracts in Theoretical Computer Science 17 Cambridge University Press Cambridge 1990 1 21 Bernstein90 P A Bernstein M Hsu B Mann Implementing Recoverable Requests Using Queues In Proc ACM SIGMOD Int Conf on Management of Data 1990 112 122 Berzins77 V Berzins D Kapur Denotational and Axiomatic Definitions for Path Expressions Computational Structures Group Memo 153 1 Laboratory for Computer Science Massachusetts Institute of Technology November 1977 Boehm88 H Boehm M Weiser Garbage Collection in an Uncooperative Environment Soft ware Practice and Experience 18 9 September 1988 807 820 Boehm95 H J Boehm R Atkinson M Plass
612. von Interaktionsausdr cken darstellen 6 2 4 1 Angebotene Operatoren Eine Ausf hrungsregel ist ein deterministischer regul rer Ausdruck d h ein Ausdruck der die Ope ratoren Disjunktion und sequentielle Komposition und Iteration enthalten kann und direkt ohne Um weg ber einen nichtdeterministischen Automaten in einen deterministischen endlichen Automaten transformiert werden kann Ausdr cke wie z B a b O a c oder Ga a b bei deren Abar beitung u U mehrere Alternativen gleichzeitig verfolgt werden miissen sind nicht zul ssig Aus Gr nden der Bequemlichkeit wird die beliebige Reihenfolge n Aktivit ten A A d rfen sequentiell in beliebiger Reihenfolge ausgef hrt werden als zus tzlicher Operator angeboten wo durch die prinzipielle Ausdrucksm chtigkeit jedoch nicht erh ht wird Ausf hrungsregeln k nnen Parameter enthalten ber die auf u erster Ebene mittels eines forall Quantors quantifiziert werden kann dessen Semantik dem Synchronisationsquantor von In teraktionsausdr cken entspricht Ebenso wird eine Menge von Ausf hrungsregeln implizit nach Syn chronisationssemantik verkn pft Der spezielle Parameterwert _ kann verwendet werden um anzuzeigen da f r diesen Parameter ein beliebiger Wert zul ssig ist Dies entspricht einer eingeschr nkten Variante des Disjunktionsquan tors bei dem der Rumpf aus einer einzigen Aktion besteht Wenn ein Wert zwar beliebig aber f r mehrere Akti
613. von P Ill Q deterministisch Andernfalls kann willk rlich entschieden werden welcher Proze die Aktion konsumiert was nat rlich wesentlichen Einflu auf das weitere Verhalten von P Ill Q haben kann Der Interaktionsausdruck P Q hingegen schiebt in diesem Fall die Entscheidung auf ob die Aktion von P oder von O konsumiert wird d h er verfolgt anschlie end zwei entsprechende Alternativen Sequentielle Komposition berraschenderweise gibt es unter den bisher eingef hrten Operatoren noch keinen der die sequen tielle Komposition zweier beliebiger Prozesse erlaubt Die Pr fix Konstruktion x P erlaubt nur auf der rechten Seite einen Proze w hrend auf der linken Seite eine einzelne Aktion stehen mu Die allgemeine sequentielle Komposition P Q wird erst eingef hrt nachdem unter Zuhilfenahme eines speziellen Aktionssymbols der Begriff eines erfolgreich terminierenden Prozesses definiert ist Au erdem werden noch verschiedene Arten von Interrupts definiert die alle auf der Grundform P Q basieren die besagt da die Ausf hrung des Prozesses P jederzeit durch die Ausf hrung des Prozesses Q unterbrochen im Sinne von abgebrochen werden kann 6 3 2 2 Definition der Semantik Sowohl f r deterministische als auch f r nichtdeterministische Prozesse werden pr zise mathema tisch fundierte Definitionen gegeben Ein deterministischer Proze wird beispielsweise eindeutig durch sein Alphabet und die Menge seiner Spure
614. von aus da a anschlie end tats chlich ausgef hrt wird d h er f hrt intern bereits einen entsprechenden Zustands bergang durch Ist die Aktion momentan nicht zul ssig wird eine Ask Anfrage mit einer entsprechenden Reject Nachricht beantwortet w hrend eine Wait Anfrage die dem oben erw hnten Antrag entspricht zu n chst unbeantwortet bleibt Sie wird vom Interaktionsmanager solange aufbewahrt bis sie schlie lich mit einer Accept Nachricht positiv beantwortet werden kann F r einen Klienten hat eine Anfrage mittels Ask zwei potentielle Vorteile Zum einen wird sie sofort beantwortet zum anderen ist der Klient im Falle einer negativen Antwort Reject zu nichts verpflich tet Die Antwort auf eine Wait Anfrage kann hingegen sehr lange ausbleiben und der Klient ist ver pflichtet nach ihrem Eintreffen die Aktion a tats chlich auszuf hren Sofern diese Verpflichtung f r einen Klienten kein Problem darstellt hat Wait gegen ber Ask jedoch den Vorteil da der Klient f r jede Aktion die er ausf hren m chte nur einmal eine Wait Anfrage stellen mu w hrend er bei Ver wendung von Ask seine Anfrage u U mehrmals wiederholen mu Abbildung 5 3 zeigt zwei Interaktionsgraphen die die Abfolge der verschiedenen Nachrichtentypen f r eine bestimmte Aktion a und einen einzelnen Klienten sowie ihr Zusammenspiel mit dem Zu stands bergang auf Managerseite unterer Graph und der tats chlichen Aktionsausf hrung auf Klien
615. w V w k y Wy und analog u w au u et gt we wlke y e YO und w w k z e W z Korrektheit des Zustandsmodells f r y und z S y Q T ud T Struktur der Folgezust nde von x Wy 2 Yu A Wy T und analog wex Ox T G ltigkeit des Substitutionsprinzips F r ein Wort w e amp einen Quantorparameter q II und einen bzgl x und q irrelevanten Parameter wert z Q x q des Wortes w gilt T 0 9 0 95 20 9 O Definition konkretisierter Zust nde 4 5 6 1 m 1 mT mT Bee 0 0 2 Substitutionsprinzip f r y und z plus Monotonie relevanter Parameterwerte Beachte aber da w und w zun chst unver ndert bleiben Il u u 308 B 2 3 Anhang B Verifikation des Zustandsmodells o We Za eu a 0 amp mT mT q aly und andererseits a ay gt AGE ay ay a gt a eafy F r eine Aktion a amp des Wortes w gilt einerseits a aly gt a a u u un das hei t ae a y ae a y7 und analog a a z ae alz7 Wegen a x a y U z und a a U a fir xj yf Oz F OZ gilt daher auch a a x amp a e a x und somit aex y aex J und acexKl ae k Daraus folgt schlie lich w w x y w k ws und w w k z w k Z wz 4a Te Ten Time 0 5 2 0 0 p Struktur der Folgezust nde des Ausdrucks Z 0 X ile B 2 3 6 Sequentielle Komposit
616. weigung zwi schen den Aktionen 10 Pf k und Kopie A3 k des unteren Entweder oder Zweigs oder am Ende des Graphen befinden erh lt man konkret die Gr enordnung n gt 178 4 8 1 Kapitel 4 Implementierung von Interaktionsausdr cken Da der Verzweigungsgrad des parallelen Quantorzustands wieder maximal lineare Gr e besitzt er h lt man insgesamt Zust nde der Gr enordnung lt n Da aber auch in diesem Beispiel die Verzwei gungsgrade der Operatoren und vermutlich nicht unabh ngig voneinander sind ist auch diese k Absch tzung eher pessimistisch 4 7 5 4 Res mee Ebenso wie f r diese drei repr sentativen Beispiele l t sich mit Hilfe der vorgestellten Komplexi t tsaussagen f r s mtliche in dieser Arbeit genannten Beispiele insbesondere f r die des Ab schnitts 2 7 zeigen da sie gutartig oder sogar harmlos sind Diese Tatsache zusammen mit der Erfahrung anderer praktischer Beispiele gibt Grund zu der Annahme da die meisten wenn nicht alle praktisch relevanten Ausdr cke gutartig sind und da b sartige Ausdr cke zusammen mit ei nem passenden Wort gezielt konstruiert werden m ssen 4 8 R ckblick Nach diesen grunds tzlich positiven und erfreulichen Aussagen zur Komplexit t der entwickelten Im plementierung sollen im nachfolgenden Abschnitt 4 8 1 die wesentlichen Faktoren zusammengefa t werden die f r diesen Erfolg ausschlaggebend sind Au erdem wird in
617. weite Aktion 10Pf und schlie lich die Aktion Kopie A3 jeweils mit der Parameterbelegung k U7 In der Realit t bedeutet das da am Kopierer U7 zwei Groschen eingeworfen und eine A3 Kopie erstellt wurde 5 Die zweite Teilgruppe der Gruppe X5 durchl uft ebenfalls die Aktion Kopie A4 d h am Kopie rer X5 wird eine weitere A4 Kopie erstellt 6 Da beide Teilgruppen der Gruppe X5 nun den Beliebig oft Vereinigungsknoten erreicht haben kann die Gruppe X5 als ganzes nach rechts weitergehen und erreicht somit den rechten Knoten Dasselbe gilt auch f r die Gruppe U7 7 Die brigen unendlich vielen Gruppen die am linken Knoten gebildet wurden und dort irgend welche nicht n her interessierenden Nummern zugeordnet bekamen k nnen den Rumpf der Be liebig oft Verzweigung Komplett berspringen vgl 2 3 1 3 und so direkt ohne irgendeine Ak tion zu passieren den rechten Knoten erreichen 8 Da somit alle unendlich vielen Gruppen den rechten Knoten erreicht haben k nnte die gesamte Mannschaft nach rechts weitergehen wenn der Graph dort noch nicht zu Ende w re 2 3 4 6 F r ein Verzweigungen Abbildung 2 42 zeigt einen letzten Basisoperator von Interaktionsgraphen die F r ein Verzweigung O O Ebenso wie eine F r alle Verzweigung im Prinzip eine unendliche Sowohl als auch Ver k k zweigung darstellt entspricht eine Fiir ein Verzweigung einer Entweder oder Verzweigung mit unend lich vielen Zweigen von d
618. werden Bedin gungen zur koordinierten Ausf hrung von Workflows in CREW immer als Teil einer oder mehrerer Workflow Definitionen formuliert Dementsprechend ist auch ihre implementierungstechnische Um setzung unmittelbar mit der Ausf hrung der einzelnen Workflows verkn pft da Workflow Definitio nen einschlie lich eventueller Integrit tsbedingungen auf eine einheitliche Menge von Event Condi tion Action Regeln ECA rules abgebildet werden Vergleicht man den Ansatz mit den in 1 3 diskutierten Versuchen zur L sung des Workflow Koor dinations Problems so entspricht er konzeptionell der expliziten Synchronisierung abh ngiger Work flows 1 3 2 mit den dort bereits erl uterten Nachteilen Zwar gehen die Ausdrucksm glichkeiten der angebotenen Sprache LAWS LAnguage for Workflow Specification ber einfache Ereignisope 272 6 6 2 Kapitel 6 Verwandte Arbeiten rationen hinaus im Vergleich zu Interaktionsausdr cken sind sie jedoch sehr eingeschr nkt Beispiels weise kann zwar der wechselseitige Ausschlu zweier Aktivit ten direkt formuliert werden A CONFLICTS_WITH B der wechselseitige Ausschlu zweier Aktivit ten Sequenzen wie z B A B und C D mu jedoch m hsam von Hand programmiert werden A und C d rfen nicht gleichzeitig ausgef hrt werden A CONFLICTS_WITH C Wenn A vor C ausgef hrt wurde mu auch B vor C ausgef hrt werden IF A RELATIVE_ORDER C THEN B RELATIVE_ORDER C Wenn C v
619. wird Wird das Programm mit einem zweiten Kommandoargument args 2 aufgerufen so wird dieses mit Hilfe der Parserfunktion parse word als Wort w d h als Folge von Aktionen a interpretiert F hrt man f r jede dieser Aktionen einen Zustands bergang trans s a durch so erh lt man letzt lich den Folgezustand x des gegebenen Ausdrucks x Wenn dieser Zustand s ein Endzustand ist stellt das vorliegende Wort w gema 4 5 2 4 ein vollst ndiges Wort von x dar handelt es sich ledig lich um einen g ltigen Zustand so ist w immerhin ein partielles Wort von x andernfalls stellt w eine unzul ssige Aktionsfolge des Ausdrucks x dar 4 7 Komplexit tsbetrachtungen 4 7 1 Vor berlegungen und Definitionen Betrachtet man die Definition der optimierten Zustands bergangsfunktion 7 s in 4 5 bzw ihre im plementierungstechnische Umsetzung trans in 4 6 so erkennt man da ihr Berechnungsauf wand im wesentlichen von der Gr e des Zustands s abh ngt d h von der Anzahl der Knoten in ei ner baumartigen Repr sentation dieses Zustands vgl Abb 4 23 Die Zustands bergangsfunktion wiederum stellt das Kernst ck der Algorithmen zur L sung des Wort Teilwort und Aktionsproblems dar vgl 4 6 5 Um daher Aussagen ber die Komplexit t dieser Algorithmen treffen zu K nnen soll im folgenden untersucht werden wie gro die Zust nde x eines Ausdrucks x unter bestimm ten Voraussetzungen werden k nnen o Pf
620. wortung von telefonischen Kundenanfragen sehr hilfreich sein Kann In der Regel gibt es f r einen Arbeitsschritt nicht nur einen sondern eine ganze Menge potentieller Bearbeiter die diesen Schritt ausf hren k nnen weil sie entsprechende F higkeiten oder Kompeten zen besitzen d h weil sie die erforderliche Rolle oder Funktion einnehmen K nnen In diesem Fall wird der Schritt zun chst allen in Frage kommenden Bearbeitern zur Ausf hrung angeboten sobald einer von ihnen den Schritt tats chlich ausf hrt oder f r sich reserviert d h erkl rt da er ihn sp ter ausf hren wird sorgt das WfMS daf r da er aus den Arbeitslisten der brigen Bearbeiter wieder entfernt wird J ablonski95ab 1 1 3 Grundprinzip von Workflow Management Im Gegensatz zu monolithischen Anwendungssystemen bei denen Arbeitsabl ufe meist fest im Programmcode verdrahtet sind besteht ein wichtiges Grundprinzip von Workflow Management da rin da der Kontroll und Datenflu eines Workflows explizit und unabh ngig von der Implementie Te nach System erfolgt diese Aktualisierung der Arbeitslisten entweder vollautomatisch oder nur auf explizite Anforderung eines Bearbei ters In jedem Fall wird jedoch sichergestellt da ein Schritt von genau einem Bearbeiter ausgef hrt wird 2 1 1 5 Kapitel 1 Motivation Aufgabenstellung und Uberblick rung der einzelnen Schrittprogramme festgelegt und somit auch ge ndert werden kann Jablonski97
621. x wie bisher in die Stelle s sowie in die Stelle s zur ck und erh ht die Z hlermarke n in der Stel le s um eins Initial enth lt diese Stelle eine Marke mit dem Wert 1 Komplement r dazu entnimmt die Verbraucher Transition t eine von ft generierte Marke x n aus der Stelle s sowie eine zu ihr passende Marke x aus den Stellen s und s und legt die Marke x in die Stelle s zur ck Die Ab schlu Transition t schlie lich entnimmt diese Marke x aus der Stelle s4 unter der Voraussetzung da die Stelle s keine derartige Marke enth lt und propagiert sie in die Stelle ss x x gt 1 57 n n l x x n x n x x x ty Lo O Air gt 1 gt Sy x S S S S 2 s 3 Ix 4 5 x Abbildung 6 19 Allgemeing ltige Transformation einer Beliebig oft Verzweigung Durch den Einsatz der Z hlermarke n wird gew hrleistet da die Marken die in der Stelle s abge legt werden und anschlie end den Rumpf der Beliebig oft Verzweigung durchlaufen unterscheidbar sind Daher erh lt die Transition r einer inneren Beliebig oft Verzweigung die sich zwischen s und s3 der u eren Verzweigung befindet unterschiedliche Marken x n x m anstelle von x die sie in der Stelle s der inneren Verzweigung ablegt Die Transition 1 der inneren Verzweigung ist dann schaltbereit sobald sich in der Stelle s4 eine Marke x n befindet die Stelle s jedoch kein
622. y 3 Definition konkretisierter Zust nde 4 5 6 1 25 0 97 Ry mit R R 0 v 4 0 s Substitutionsprinzip f r y und z plus Monotonie relevanter Parameterwerte Aufgrund des Substitutionsprinzips und der Definition von A gilt au erdem A u un 3 AO Arly E 27 onla Ree mit R azz v A z Struktur der Folgezust nde des Ausdrucks x7 yj 27 mT xt B 2 3 7 Sequentielle Iteration Oy Gegeben sei eine sequentielle Iteration x G y mit einem beliebigen Teilausdruck y f r den das Kor rektheitstheorem gem der globalen Induktionsvoraussetzung bereits bewiesen sei Definition Die Menge A y der iterativen Reste des Wortes w bzgl des Teilausdrucks y sei definiert als AS y v e L An No Wy Uy E E W Uj Un Vy Pu O 9 0 A y enth lt also diejenigen Suffixe v von w die man erh lt wenn man am Anfang von w beliebig viele vollst ndige Worte u von y entfernt Lemma F r ein Wort w w a gilt AS y F a Fe AI U O IF E ABO Gna Beweis AS y v E In No i gt Up E E W Uy Uy Vs Pu O Pap O Da w mit a endet mu entweder v oder ein u mit a enden f r das u U v gilt Im ersten Fall gilt a v A y f r ein Wort p e L mit uj u 7 woraus ve AS y folgt Im zweiten Fall gilt offensichtlich A9 y und u a f r ein
623. zug nglich sind Der f r den Zustands bergang erforderliche Alphabettest a a z a y bzw ae a y a z vgl 4 5 4 5 kann mit Hilfe ei ner Funktion bool contains Expr x Action a realisiert werden die rekursiv tiberpriift ob die Aktion a im Alphabet des Ausdrucks x enthalten ist oder nicht Unter Verwendung dieser Hilfsfunktion kann auch die Synchronisation hnlich zur Dis junktion und Konjunktion implementiert werden 4 6 2 3 Sequentielle Operatoren Sequentielle Komposition Zur Repr sentation sequentieller Kompositionszust nde s z l R wird der Typ State erneut er weitert diesmal um ein mehrwertiges Attribut rights zur Speicherung der Zustandsmenge R vgl Abb 4 16 Auf eine explizite Repr sentation des Teilausdrucks z kann hnlich wie der Implemen tierung der Synchronisation in 4 6 2 2 verzichtet werden da er indirekt ber das Attribut s expr right des Zustands s zug nglich ist Gem 4 5 4 6 enth lt die Menge R beim initialen Zustand einer sequentiellen Komposition ge nau dann den initialen Zustand o z des rechten Teilausdrucks wenn der initiale Zustand 1 des linken Teilausdrucks ein Endzustand ist Daher wird die Variable R in der Funktion init zun chst mit der 18 Da die Wertemenge Q einerseits unendlich gro und andererseits nicht konkret bekannt ist l t sich die formale Definition alx U aly des Alphabets eines Quantorausdrucks x y allerdings nich
624. zusetzen die zwar m glichst unabh ngig voneinander agieren sollten im Zweifelsfall aber doch wechselseitig Koordiniert werden m ssen Hierf r werden ebenfalls geeignete Koordinationsprotokolle eingesetzt vgl 5 2 7 3 5 2 2 Einphasiges Koordinationsprotokoll 5 2 2 1 Beschreibung Die einfachste Form der Kommunikation zwischen einem Klienten und dem Interaktionsmanager be steht aus einer Anfrage des Klienten ob eine bestimmte Aktion momentan ausgef hrt werden darf oder nicht und einer zugeh rigen Antwort des Managers Da ein Klient h ufig nur an einer positiven Antwort interessiert ist kann er eine Anfrage auch in Form eines Antrags stellen der vom Manager erst dann bewilligt wird wenn die angefragte Aktion ausgef hrt werden darf Tabelle 5 2 zeigt die Schl sselw rter oder Nachrichtentypen des entsprechenden einphasigen Ko ordinationsprotokolls bei dem pro geplanter Aktionsausf hrung zwei Nachrichten zwischen Klient und Interaktionsmanager ausgetauscht werden Anfragen Antworten Ask Accept Wait Reject Tabelle 5 2 Nachrichtentypen beim einphasigen Koordinationsprotokoll Die Nachrichten Ask und Wait fragen beide beim Interaktionsmanager an ob eine bestimmte Ak tion a im aktuellen Zustand des Ausdrucks x zul ssig ist Ist dies der Fall antwortet der Manager mit einer entsprechenden Accept Nachricht die besagt da die Aktion a ausgef hrt werden darf au er dem geht der Manager da
625. zweigungen Konkret bedeutet dies da man anstelle der Teilgraphen x an jeden Manager den vollst ndigen Graphen x aus Abb 5 12 bergibt und lediglich die Menge der Aktionen einschr nkt f r die er zu st ndig ist Hierbei mu sichergestellt werden da Aktionen mit demselben Wert des Parameters p immer von ein und demselben Manager bearbeitet werden Beispielsweise k nnten alle Klienten eine bestimmte Hashfunktion verwenden die jedem m glichen Wert f r p eindeutig eine Managernummer ie 1 zuordnet Zur Veranschaulichung dieser auf den ersten Blick m glicherweise berraschenden Erkenntnis stelle man sich beispielsweise zwei verschiedene Finanz mter vor Im einen Amt werden alle Steuererkl rungen von einem einzigen Beamten bearbeitet w hrend die Arbeit im anderen Amt auf mehrere Be amte verteilt wird Beispielsweise ist dort ein Beamter f r die Anfangsbuchstaben A H ein zweiter f r I P und ein dritter f r Q Z zust ndig Vergleicht man die Arbeit dieser drei Beamten mit der des einen Beamten im ersten Finanzamt so stellt man fest da ihre T tigkeiten vollkommen identisch sind und sich durch nichts unterscheiden Jeder Beamte nimmt Steuererkl rungen entgegen pr ft sie auf Vollst ndigkeit und Richtigkeit usw Da der eine Beamte Steuererkl rungen mit beliebigen An fangsbuchstaben bearbeitet w hrend die anderen nur eine Teilmenge des Alphabets erhalten ist voll kommen irrelevant Wesentlich f r eine
626. zweigungen in quivalente Entweder oder Verzweigungen transformieren was prinzipiell m glich ist da alle Zweige endlich sind d h weder Wiederholungen noch Beliebig oft Verzweigun gen enthalten Das Resultat dieser Transformationen entspricht einer primitiven Aufz hlung aller m glichen M nzfolgen wie in Abb 2 15 das man durch Ausklammern gemeinsamer Pr fixe hnlich wie oben konfliktfrei machen k nnte vgl Abb 2 50 W rde man dieses Verfahren jedoch auf die Graphen in Abb 2 17 und 2 18 anwenden so erg ben sich Graphen deren Gr e wie bereits in 2 2 4 3 erl utert jedes vern nftige und praktisch handhabbare Ma bersteigen w rde TDM TDM 1DM d 1DM d ZDM 2DM 1DM 1DM 1DM 1DM 20M 2DM 1DM 1DM 1DM q Y d 2DM 2DM TDM 5 DM Abbildung 2 50 Einwerfen von 5 DM ohne Konflikte 2 4 3 4 Inh rent konfliktbehaftete Graphen Schlie lich gibt es auch Graphen wie z B die Beschreibung des Komfort M nzkopierers in Abb 2 51 die inh rent konfliktbehaftet sind d h deren Konflikte sich grunds tzlich nicht durch quivalenztransformationen eliminieren lassen Dies liegt darin begr ndet da eine Beliebig oft Ver zweigung im Prinzip eine unendliche Entweder oder Verzweigung wie

Download Pdf Manuals

image

Related Search

Related Contents

Manual MX90 FINAL MESMO!  Tecniche e strumenti per il troubleshooting di un sistema DNS  EMOBILE GL09P 取扱説明書  Cadex C7000 Series Battery Analyzer User's Manual - HY-LINE  Conceptronic 56kbps USB voice/fax/modem  

Copyright © All rights reserved.
Failed to retrieve file