Kapitel 13: Prozessmodellierung und Workflow-Management

Slides:



Advertisements
Ähnliche Präsentationen
Alexander Stuber & Partner
Advertisements

Cadastre for the 21st Century – The German Way
PSI and Competition The General Framework
E-Solutions mySchoeller.com for Felix Schoeller Imaging
P. Marwedel Informatik 12, U. Dortmund
R. Zankl – Ch. Oelschlegel – M. Schüler – M. Karg – H. Obermayer R. Gottanka – F. Rösch – P. Keidler – A. Spangler th Expert Meeting Business.
Credit Management SAP Best Practices Baseline Package
INSURANCE AUDIT FINANCIAL SERVICES Risk margins: An area of conflict between accounting and supervision Joachim Kölschbach Vienna, October 2005.
Steinbeis Forschungsinstitut für solare und zukunftsfähige thermische Energiesysteme Nobelstr. 15 D Stuttgart WP 4 Developing SEC.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter.
NUMEX – Numerical experiments for the GME Fachhochschule Bonn-Rhein-Sieg Wolfgang Joppich PFTOOL - Precipitation forecast toolbox Semi-Lagrangian Mass-Integrating.
Wozu die Autokorrelationsfunktion?
Lehrstuhl für Künstliche Intelligenz - Univ. Würzburg Optimization of simulated biological multi-agent systems by means of evolutionary processes Alexander.
POST MARKET CLINICAL FOLLOW UP
CTS2 based Terminology Server – Overview – Project eBPG
Deutsche Gesellschaft für Technische Zusammenarbeit GmbH Integrated Experts as interface between technical cooperation and the private sector – An Example.
Comparative Adjectives. The term comparison of adjectives is used when two or more persons or things have the same quality (height, size, color, any characteristic)
Isabelle/HOL ( Kripke Structures & Model Checking ) Ying Wang, Nelli Bärsch, Bartosz Rynarzewski,
2.3 Timed Automata and Real-Time Statecharts
Machen Sie sich schlau am Beispiel Schizophrenie.
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Sanjay Patil Standards Architect – SAP AG April 2008
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
A good view into the future Presented by Walter Henke BRIT/SLL Schweinfurt, 14. November 2006.
Morphology and Syntax More on sentence structure.
Centre for Public Administration Research E-Government for European Cities Thomas Prorok
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
Z Corp Customer Examples
Deutsch 1 G Stunde. Dienstag, der 11. September 2012 Deutsch 1 (G Stunde)Heute ist ein E - Tag Unit: Introduction to German & Germany Objectives: Learn.
Bundesamt für Wehrtechnik und Beschaffung THE COST EFFECTIVE DEVELOPMENT OF HLA FEDERATIONS FOR COMPUTER- ASSISTED EXERCISES (CAX) K. Pixius 23-Sep-02.
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Alp-Water-Scarce Water Management Strategies against Water Scarcity in the Alps 4 th General Meeting Cambery, 21 st September 2010 Water Scarcity Warning.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Quelle: Standish Group, 2006 Fourth Quarter Research Report, CHAOS Research Results.
Department of Computer Science Homepage HTML Preprocessor Perl Database Revision Control System © 1998, Leonhard Jaschke, Institut für Wissenschaftliches.
States in the development of a new service During the development a service will pass through a chain of stages determining the service.
Verben Wiederholung Deutsch III Notizen.
SIT-MOON ESPRIT Project Nr st Review, Brussels, 27th of April 1998 slide 1 Siemens AG Österreich Robotiker Technische Universität Wien Politecnico.
1 Competence Center ELANFraunhofer FOKUS COLORPICKER: Zum Auswählen der korrekten Farbe mit dem Tool »Farbe auswählen« auf das jeweilige Feld unten klicken.
Berner Fachhochschule Hochschule für Agrar-, Forst- und Lebensmittelwissenschaften HAFL Recent activities on ammonia emissions: Emission inventory Rindvieh.
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Nouns. What is a noun O A noun is the name of a person, O place, O animal O or thing.
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
External Labels – The rules For all external labels the following rules apply (external labels are all labels which are not inside of a shape) - all labels.
© Boardworks Ltd of 8 Time Manner Place © Boardworks Ltd of 8 This icon indicates that the slide contains activities created in Flash. These.
By: Jade Bowerman. German numbers are quite a bit like our own. You start with one through ten and then you add 20, 30, 40 or 50 to them. For time you.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
Adjectiv Endungen Lite: Adjective following articles and pre-ceeding nouns. Colors and Clothes.
Berner Fachhochschule Hochschule für Agrar-, Forst- und Lebensmittelwissenschaften HAFL 95% der Ammoniakemissionen aus der Landwirtschaft Rindvieh Pflanzenbau.
AVL-Trees (according to Adelson-Velskii & Landis, 1962) In normal search trees, the complexity of find, insert and delete operations in search.
Sentence Structure Subject and verb are always together. Subject and verb are always together. Subject and verb must agree Subject and verb must agree.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Lehrstuhl für Steuerrecht und Öffentliches Recht Prof. Dr. Roland Ismer MSc Econ. (LSE)/Prof. Dr. Klaus Meßerschmidt Grundlagen Staats- und Verwaltungsrecht.
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
1 Stevens Direct Scaling Methods and the Uniqueness Problem: Empirical Evaluation of an Axiom fundamental to Interval Scale Level.
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
Selectivity in the German Mobility Panel Tobias Kuhnimhof Institute for Transport Studies, University of Karlsruhe Paris, May 20th, 2005.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
TUM in CrossGrid Role and Contribution Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation.
Data Mining Spectral Clustering Junli Zhu SS 2005.
© Handwerkskammer für München und Oberbayern, Max-Joseph-Straße 4, München Dietmar Schneider Foreign Trade Department of the Chamber of Trade and.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Modalverben.
Numbers Greetings and Good-byes All about Me Verbs and Pronouns
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Computer Services Business challenge
 Präsentation transkript:

Kapitel 13: Prozessmodellierung und Workflow-Management Statecharts Ereignis-Prozess-Ketten 13.2 Workflow-Management für Geschäftsprozesse 13.3 Semantik von Statecharts 13.4 Eigenschaften von Statecharts und deren Verifikation Informationssysteme SS2004

Workflow Application Example 1: Credit Request Processing Check Credit Worthiness Enter Credit Request Make Decision Check Risk Informationssysteme SS2004

Workflow Application Example 2: Journal Refereeing Process Remind referee 1 Receive review 1 Contact referee 1 Send paper ... Choose referees Contact referee 2 Make editorial decision ... Contact referee 3 Receive submitted paper Notify author Informationssysteme SS2004

What is Workflow Management? Computer-supported business processes: coordination of control and data flow between distributed - automated or intellectual - activities Credit requests, insurance claims, etc. Tax declaration, real estate purchase, etc. Student exams, journal refereeing, etc. Electronic commerce, virtual enterprises, etc. Application examples: Informationssysteme SS2004

Business Benefits of Workflow Technology Business process automation (to the extent possible and reasonable) shorter turnaround time, less errors, higher customer satisfaction better use of intellectual resources for exceptional cases Transparency understanding & analyzing the enterprise Fast & easy adaptation Business Process Reengineering (BPR) Informationssysteme SS2004

13.1 Specification Method and Environment Requirements: Solutions: • Visualization Statecharts (Harel et al. 1987) (alt.: Petri Net variants, temporal logic, process algebra, script language) • Refinement & Composability • Rigorous Semantics • Import / export BPR tools  WFMS  WFMS Interoperability with other methods & tools • Wide acceptance & standard compliance Statecharts included in UML industry standard (Unified Modeling Language, OMG 1997)) Informationssysteme SS2004

Informationssysteme SS2004

Informationssysteme SS2004

Informationssysteme SS2004

Activitychart Example 1 DE KW RSK ENT ERROR KREDIT_AC Kunden- daten Informationssysteme SS2004

Statechart Example 1 KREDIT_SC KR_S DE_S RSK_S KW_S ENT_S FINI_S INIT_S ERROR_S KREDIT_SC [DE_NOK or KW_NOK or RSK_NOK or ENT_NOK or] [DE_OK and not (Betrag < 1000] [DE_OK and Betrag < 1000] [ENT_OK] [KW_OK and RSK_OK]] Informationssysteme SS2004

Statechart Example 2 Select Conf Check Flight Hotel Cost Go No / Budget:=1000; Trials:=1; [Fok & Eok] / Cost := ConfFee + TravelExpenses [Cost  Budget] [Cost > Budget & Trials < 3] / Trials++ [Cost > Budget & Trials  3] [!Found] [Found] / Cost:=0 Tutorials Compute Fee Airfare CheckTravel Expenses CheckConfFee Informationssysteme SS2004

E-Commerce Workflow: Activitychart Versandhaus_AC Kreditkartennummer, Betrag, ... KreditkartePrüfung_ACT Bestellung_ACT KreditkartenBelastung_ACT Kreditkartennummer, Betrag, ... E-Mail_ACT Bestellnummer, e-mail-Adr., ... Name, Adresse, Bestellnummer, ... LagerErmittlung_ACT Bestellnummer, Bestellliste, ... LagerID, Bestellliste, ... Bezahlung_ACT Versandgarantie @Versandhaus_SC LagerInstruierung_ACT Lieferanschrift, ... Informationssysteme SS2004

E-Commerce Workflow: Statechart Versandhaus_SC Versandhaus_INIT_S /st!(Bestellung_ACT) [Bestellung_DONE and KreditkartenZahlung] /st!(KreditkartenPrüfung_ACT) Bestellung_S KreditkartenPrüfung_S [Bestellung_DONE and Rechnungszahlung] [KreditkarteOK and KreditkartenPrüfung_DONE] Lieferung_S Bestätigung_SC Versand_SC [KreditkartenFehler] [in(Bestätigung_EXIT_S) and in(Versand_EXIT_S) and Rechnungszahlung] /st!(Bezahlung_ACT) [... KreditkartenZahlung] /st!(KreditkartenBelastung_ACT) KreditkartenBelastung_S [KreditkartenBelastung_DONE] [ZahlungEingegangen] Bezahlung_S Versandhaus_EXIT_S Informationssysteme SS2004

E-Commerce Sub-Workflows Bestätigung_INIT_S Bestätigung_SC E-Mail_S Bestätigung_EXIT_S /st!(E-Mail_ACT) [E-Mail_DONE] Versand_INIT_S Versand_EXIT_S LagerInstruierung_S [VersandGarantiert] LagerErmittlung_S /st!(LagerErmittelung_ACT) [AllesAbgeschickt] [LagerErmittelt] /fs!(VersandGarantiert) st!(LagerInstruierung_ACT) Versand_SC Informationssysteme SS2004

Ereignis-Prozeß-Ketten (EPKs) (1) Funktion (Aktion) Bedingung Akteur (Stelle, Rolle) Input- Daten Output- Tätigkeit Informationssysteme SS2004

Ereignis-Prozeß-Ketten (EPKs) (2) Funktion  Beding- ung 1 ung 2 Ereignis 1 Ereignis 2 ... Ver- zwei- gung  (Fork- Join-) Split Informationssysteme SS2004

EPK-Beispiel   DE Start DE_OK KW KW_OK RSK RSK_OK ENT Betrag < 1000  1000  KW KW_OK RSK RSK_OK ENT Informationssysteme SS2004

Import from BPR Tools Event process chains (EPCs à la Aris Toolset): - process decomposed into functions - completed functions raise events that trigger further functions - control-flow connectors Informationssysteme SS2004

Import from BPR Tools (continued) Informationssysteme SS2004

13.2 Workflow Management System Architecture specification Workflow server ... Activities / Applications Informationssysteme SS2004

WfMC Reference Architecture Workflow Management System (WFMS) Process Definition Tools Administration & Monitoring Tools Other WF Enactment Services Workflow Engine Workflow Enactment Service Workflow Client Applications Invoked Applications Informationssysteme SS2004

13.3 Abstract Syntax of Statecharts (1) D M L K H G E J State set S State tree (with node types AND or XOR) Transition t: (source, target, [c]/a) Transition set T Variable set V Informationssysteme SS2004

Abstract Syntax of Statecharts (2) J C F K M L D E G H AND XOR Informationssysteme SS2004

Operational Semantics of Statecharts (1) Execution state of statechart (S,T,V): subset states  S of currently active states s.t. root of S is in states if s in states and type of s is AND then all children of s are in states if s in states and type of s is XOR then exactly one child of s is in states Execution context of statechart (S,T,V): current values of variables defined by val: V  Dom Configuration of statechart (S,T,V): (states, val) Initial configuration Informationssysteme SS2004

Operational Semantics of Statecharts (2) Evaluation of expression in configuration: eval (expr, conf) defined inductively Effect of action on context: modification of variable values in val fire(conf) = set of transitions t = (source, target, [cond]/action) with source(t) in states for which eval(cond, conf) = true Informationssysteme SS2004

Operational Semantics of Statecharts (3) for transition t: a = lca (source(t), target(t)) src(t) = child of a in subtree of source(t) tgt(t) = child of a in subtree of target(t) when t fires: set of left states source*(t): src(t) is in source*(t) if s in source*(t) then all children of s are in source*(t) set of entered states target*(t): tgt(t) and target(t) are in target*(t) if s in target*(t) and type of s is AND then all children of s are in target*(t) if s in target*(t) and type of s is XOR then exactly one child of s with initial transition is in target*(t) Informationssysteme SS2004

Operational Semantics of Statecharts (4) For a given configuration conf = (states, val) a successor configuration conf‘ = (states‘, val‘) is derived by selecting one transition t from fire(conf) with the effect: states‘ = states – source*(t)  target*(t) val‘ captures the effect of action(t) and equals val otherwise The operational semantics of a statechart (S,V,T) is the set of all possible executions along configurations conf0, conf1, conf2, ... with initial configuration conf0 and confi+1 being a successor configuration of confi Informationssysteme SS2004

Digression: Finite State Automata Definition: Ein endlicher Automat (finite state automaton) ist ein 5-Tupel M = (Z, , , z0, E) mit ·   einer endlichen Zustandsmenge Z ·   einem Alphabet (d.h. einer endlichen Menge von Zeichen)  ·   einer Transitionsfunktion : Z    Z ·   einem Startzustand z0 ·   einer Menge von Endzuständen E  Z M geht in z  Z mit Eingabe x   in (z,x)  Z über. wird homomorph zur Funktion *: Z  *  Z erweitert: *(z, au) = *( (z,a),u) mit zZ, a, u *. Die Menge L(M) = {w  * | *(z0,w)  E}  * ist die vom Automat M akzeptierte Sprache. Informationssysteme SS2004

FSA Example 1 . +, – 1 .. 9 0 .. 9 Start Vorzeichen Null Mantisse E Exponent Fehler +, – 1 .. 9 0 .. 9 andere Zeichen beliebige Zeichen Punkt . Informationssysteme SS2004

FSA Example 2 ... {F,W,Z,K}  {W,K} {F,Z} {F,W,K} {Z} {Z} {F,W,K} {F,Z} {W,K}  {F,W,Z,K} {K} {F,W,Z} {F,K,Z} {W} {W} {F,K,Z} {F,W,Z} {K} FZ {W,Z} {F,K} FW {Z,K} {F,W} FK ... F Informationssysteme SS2004

Mapping Statecharts into FSAs Represent SC configurations as states of a FSA: Step 1: abstract conditions on infinite-domain variables into Boolean vars formal mapping: 1: val  B1  B2  ...  Bm Step 2: capture set of active SC states (in SC hierarchy and in components) by powerset automaton 2: states  2S =: Z Step 3: encode SC context into extended state space of FSA by an injective mapping 3: Z  B1  B2  ...  Bm  Z’ such that there is a transition from z1 to z2 in the FSA iff 3-1(z2) is a possible successor configuration of 3-1(z1) in the SC Informationssysteme SS2004

Example: From SC To FSA (1) Select Conf Check Flight Hotel Cost Go No / Budget:=1000; Trials:=1; [Fok & Eok] / Cost := ConfFee + TravelExpenses [Cost  Budget] [Cost > Budget & Trials < 3] / Trials++ [Cost > Budget & Trials  3] [!Found] [Found] / Cost:=0 Tutorials Compute Fee Airfare CheckTravel Expenses CheckConfFee Informationssysteme SS2004

Example: From SC To FSA (2) SelectConf, !F,!Fok,!Eok, !Bok,Tok CheckCost, F,Fok,Eok, Bok,!Tok No, Bok,Tok !Bok,!Tok Go, ... 1 3 2 4 5 7 8 9 6 CheckConfFee, CheckTravelExpenses, F,!Fok,!Eok, Informationssysteme SS2004

13.4 Guaranteed Behavior and Outcome of Mission-critical Workflows Crucial for workflows in banking, medical applications, electronic commerce, etc. Safety properties (invariants): nothing bad ever happens Liveness properties (termination, fairness, etc.): something good eventually happens Formalization of properties Verification method Mathematical model Model checking Temporal logic Finite-state automaton Informationssysteme SS2004

CTL: Computation Tree Logic propositional logic formulas quantifiers ranging over execution paths modal operators referring to future states all finally (inevitably): exists globally: exists finally (possibly): all next: exists next: all globally: AX p EX p AG p AF p EG p EF p combination: EF AG p Informationssysteme SS2004

Critical Properties of the Example Workflow formalized in CTL (Computation Tree Logic) Can we ever exceed the budget ? not EF ( in(Go) and !Bok ) AG ( not in(Go) or Bok ) Do we always eventually reach a decision ? AF ( in(Go) or in(No) ) Can the trip still be approved after a proposal that would have exceeded the budget ? EF ( (in(CheckCost) and !Bok) => ( EF (in(Go)) ) ) Informationssysteme SS2004

CTL Syntax Definition: Eine atomare CTL-Formel ist eine aussagenlogische Formel über elementaren Aussagen (bzw. Booleschen Variablen). Die Menge der in CTL erlaubten Formeln ist induktiv wie folgt definiert: Jede atomare CTL-Formel ist eine Formel. Wenn P und Q Formeln sind, dann sind auch EX (P), AX (P), EG (P), AG (P), EF (P), AF (P), (P), P, PQ, PQ, PQ und PQ Formeln. Informationssysteme SS2004

CTL Semantik (1) Definition: Gegeben sei eine Menge P atomarer aussagenlogischer Formeln. Eine Kripke-Struktur M über P ist ein 4-Tupel (S, s0, R, L) mit einer endlichen Zustandsmenge S, einem Startzustand s0  S, einer Transitionsrelation R  S  S, einer Funktion L: S  2P, die einem Zustand wahre Aussagen zuordnet. Definition: Eine Kripke-Struktur M = (S, s0, R, L) ist ein Modell einer Formel F, wenn M,s0 |= F. Eine Formel heißt erfüllbar, wenn sie mindestens ein Modell hat, ansonsten unerfüllbar. Eine Formel F heißt allgemeingültig (oder Tautologie), wenn jede Kripke-Struktur über den atomaren Aussagen von F ein Modell von F ist. Informationssysteme SS2004

CTL Semantik (2) Definition: Die Interpretation  einer Formel F mit atomaren Aussagen P ist eine Abbildung auf eine Kripke-Struktur M=(S, s0, R, L) über Aussagen P, so dass die Wahrheitswerte von Teilformeln p bzw. p1, p2 von F in den Zuständen s von M, in Zeichen: M,s |= p, wie folgt sind: (i) M,s |= p mit einer aussagenlogischen Formel p gilt g.d.w. p  L(s); (ii) M,s |= p g.d.w. nicht M,s |= p gilt; (iii) M,s |= p1  p2 g.d.w. M,s |= p1 und M,s |= p2; (iv) M,s |= p1  p2 g.d.w. M,s |= p1 oder M,s |= p2; (v) M,s |= EX p g.d.w. es tS gibt mit (s,t)R und M,t |= p; (vi) M,s |= AX p g.d.w. für alle tS mit (s,t)R gilt: M,t |= p; (vii) M,s |= EG p g.d.w. es t1, ..., tk S gibt mit t1=s, (ti, ti+1)R für alle i und tk=tj für ein j:1j<k oder tk ohne Nachfolger, so dass M,ti |= p für alle i; (viii) M,s |= AG p g.d.w. für alle tS mit (s,t)R* gilt: M,t |= p; (ix) M,s |= EF p g.d.w. es tS gibt mit (s,t)R* und M,t |= p; (x) M,s |= AF p g.d.w. es für alle tS mit (s,t)R* einen Zustand t’S gibt mit a) (t,t’)R* oder b) (s,t’)R* und (t’,t)R*, so dass M,t’ |= p gilt. Informationssysteme SS2004

Model Checking Für CTL-Formel F und Transitionssystem (Kripke-Struktur) M teste, ob M ein Modell von F ist, indem man induktiv alle Zustände von M mit q markiert, in denen die Teilformel q von F wahr ist. Sei q eine Teilformel von F, seien p, p1, p2 direkte Teilformeln von q und seien P, P1, P2 die mit p, p1, p2 markierten Zustände von M. q ist eine atomare Aussage (Boolesche Variable): Markiere alle Zustände s mit qL(s) mit q (ii) q hat die Form p: Markiere S – P mit q (iii) q hat die Form p1  p2: Markiere P1  P2 mit q (iv) q hat die Form p1  p2: Markiere P1  P2 mit q (v) q hat die Form EX p: Markiere alle Vorgänger von P mit q, also alle sS, für die es ein xP gibt mit R(s,x) (vi) q hat die Form AX p: Markiere s mit q, wenn alle Nachfolger von s mit p markiert sind Informationssysteme SS2004

Model Checking: Fall EF (vii) q hat die Form EF p: Löse Rekursion EF p  p  EX (EF p). (Fixpunktgleichung Q = P  pred(Q) ) Q := P; Qnew := Q  pred(Q); while not (Q = Qnew) do Q := Qnew; od; Informationssysteme SS2004

Model Checking: Fall EG (viii) q hat die Form EG p: Löse Rekursion EG p  p  EX (EG p) :   Q := P; Qnew := Q ; repeat for each s in Q do if s has successors and no successor of s is in Q then Qnew := Q - {s}; fi; od; until (Q = Qnew); Informationssysteme SS2004

Model Checking: Fall AG (ix) q hat die Form AG p: Löse Rekursion AG p  p  AX (AG p)   Q := P; repeat Qnew := Q; for each s in Q do if s has successors and one successor of s is not in Q then Q := Q - {s} fi; od; until (Q = Qnew); Alternativ wegen AG p   EF (p): Berechne Zustandsmenge Q’ zur Formel EF (p) und markiere dann die Zustandsmenge S – Q’ mit q. Informationssysteme SS2004

Model Checking: Fall AF (x) q hat die Form AF p: Löse Rekursion AF p  p  AX (AF p) Q := P; repeat Qnew := Q; for each s in pred(Q) do if all successors of s are in Q then Q := Q  {s}; fi; od; until (Q = Qnew);   Alternativ wegen AF p   EG (p): Berechne Zustandsmenge Q’ zur Formel EG (p) und markiere dann die Zustandsmenge S – Q’ mit q. Informationssysteme SS2004

Model Checking: Beispiel 1 AG ( not in(Go) or Bok ) SelectConf, !F,!Fok,!Eok, !Bok,Tok CheckCost, F,Fok,Eok, Bok,!Tok No, Bok,Tok !Bok,!Tok Go, ... 1 3 2 4 5 7 8 9 6 CheckConfFee, CheckTravelExpenses, F,!Fok,!Eok, Markiere mit Bok: mit in(Go): mit in(Go): mit (Bok  in(Go)): mit AG (Bok  in(Go)): Informationssysteme SS2004

Model Checking: Beispiel 2 AF (in(Go)  in(No)) SelectConf, !F,!Fok,!Eok, !Bok,Tok CheckCost, F,Fok,Eok, Bok,!Tok No, Bok,Tok !Bok,!Tok Go, ... 1 3 2 4 5 7 8 9 6 CheckConfFee, CheckTravelExpenses, F,!Fok,!Eok, Markiere mit in(Go): mit in(No): mit in(Go)  in(No): mit AF (in(Go)  in(No)): Informationssysteme SS2004

Model Checking: Beispiel 3 EF ( (in(CheckCost) and !Bok) => ( EF (in(Go)) ) ) SelectConf, !F,!Fok,!Eok, !Bok,Tok CheckCost, F,Fok,Eok, Bok,!Tok No, Bok,Tok !Bok,!Tok Go, ... 1 3 2 4 5 7 8 9 6 CheckConfFee, CheckTravelExpenses, F,!Fok,!Eok, Markiere mit in(Go): mit EF (in(Go)): mit not in(CheckCost) or Bok: mit (in(CheckCost) and !Bok) => ( EF (in(Go)): mit EF ( (in(CheckCost) and !Bok) => ( EF (in(Go)) ) ): Informationssysteme SS2004

Guaranteed Behavior of Workflows Leverage computer-aided verification techniques for finite-state concurrent systems Efficiency gain with encoding of FSM as OBDD Further requirements: - User-friendly macros for CTL - More expressive logic - Adding assertions on behavior of invoked apps - Adding real-time (clock variables) Preserving guaranteed behavior in distributed, failure-prone system environment System guarantees Informationssysteme SS2004