710 likes | 837 Views
Dependable Workflow Technology. Gerhard Weikum University of the Saarland, Germany weikum@cs.uni-sb.de http://www-dbs.cs.uni-sb.de/. 1983:. „We don‘t know where we are heading, but we want to be there first!“. 2002:. „Time to market is everything!“.
E N D
DependableWorkflow Technology Gerhard Weikum University of the Saarland, Germany weikum@cs.uni-sb.de http://www-dbs.cs.uni-sb.de/
1983: „We don‘t know where we are heading, but we want to be there first!“ 2002: „Time to market is everything!“ Guiding Mottos- 20 Years Ago and Now -
• Shift gears to build highly dependable systems with predictable, guaranteed behavior !!! Dependable workflow technology: • Provably correct behavior • World-wide failure masking • Guaranteed QoS with „autonomic“ systems http://www-dbs.cs.uni-sb.de/~mlite/ Conclusion • Time to market, featurism, and $$$ • Dependability and service guarantees ???
What I Can Offer • Overview of the area • Relevant foundations • Logic, formal spec, verification • Fault-tolerant computing • Stochastic performance modeling • Interesting research problems What Do You Want?
Outline Part A: WF Specification and Verification Part B: WF System Architecture and Configuration • WF Execution Infrastructure • What Is It All About? • Failure Handling • WF Specification Techniques • Stochastic Modeling • Statecharts • WF System Configuration • CTL and Model Checking • Summary and Open Research Issues • Summary and Open Research Issues
Outline Part A: WF Specification and Verification Part B: WF System Architecture and Configuration • WF Execution Infrastructure What Is It All About? • Failure Handling • WF Specification Techniques • Stochastic Modeling • Statecharts • WF System Configuration • CTL and Model Checking • Summary and Open Research Issues • Summary and Open Research Issues
Workflow Application Example 1:Credit Request Processing Check Credit Worthiness Enter Credit Request Make Decision Check Risk
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
Application examples: Credit requests, insurance claims, etc. Tax declaration, real estate purchase, etc. Student exams, journal refereeing, etc. Electronic commerce, virtual enterprises, etc. What is Workflow Management? Computer-supported business processes: coordination of control and data flow between distributed - automated or intellectual - activities
Workflow Management System Architecture Workflow specification Workflow server ... Applications
Baroque specification Non- scalable performance Failure-prone execution Workflow ManagementSystem Architecture Workflow specification Workflow server ... Applications
The Great Vision Make e-Business as simple as amoeba business ! “And, as amoebas, you’ll have no problems recruiting other sales reps ... just keep dividing and selling, dividing and selling.”
Business Benefits ofWorkflow 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)
Technical Benefits ofWorkflow Technology Application Integration (by loose coupling of activities) without having to tackle enterprise-wide data integration problems supports incremental long-term migration from stand-alone applications to electronic processes Support for Legacy Applications by wrapping them into business activities Extends Transactions to Long-lived Processes Scalability, Reliability, Availability, Manageability
Workflow Management Systems (WFMS):Products and Research Prototypes • • MQSeries Workflow / WebSphere (IBM) Wide and CrossFlow (EU projects) • • Adept (U Ulm) BizTalk (MS) • • Wasa (U Muenster)) Staffware • • Opera (ETH Zurich) Changeengine / E-Speak (HP) • • Mentor-lite (U Saarland) jFlow / WebLogic (BEA) • • CMI (MCC) InConcert (Tibco) • • Meteor (U Georgia) SAP Workflow ... ... + workflow technology embedded in E-Commerce products and ERP systems
Workflow Management System (WFMS) WfMC Reference Architecture Process Definition Tools Administration & Monitoring Tools Other WF Enactment Services Workflow Engine Workflow Enactment Service Workflow Client Applications Invoked Applications
Integration with Internet Technologies XML (ebXML, ...) XML (WSFL, XLANG, ...) UDDI HTTP, DHTML WSDL, SOAP, EJB, CORBA
Hard Issues and Research Directions computational complexity Blues problems (NP-complete) business (bureaucratic) complexity Rap problems (e-complete) system complexity Techno problems (DB-complete) semantic complexity Psychedelic problems (AI-complete)
Outline Part A: WF Specification and Verification Part B: WF System Architecture and Configuration • WF Execution Infrastructure What Is It All About? • Failure Handling WF Specification Techniques • Stochastic Modeling • Statecharts • WF System Configuration • CTL and Model Checking • Summary and Open Research Issues • Summary and Open Research Issues
Specification in WFMS Products <flowModel name="totalSupplyFlow" <serviceProviderType="totalSupply"> <serviceProvider name="buyer" type="buyer" /> ... <activity name="submitPO"> ... </activity> <controlLink source="submitPO" target="processPO"/> <controlLink source="processPO" target="processPayment"/> ... <dataLink source="submitPO" target="processPO"> <map sourceMessage="purchaseOrder" targetMessage="purchaseOrder"/> </dataLink> ... graphs ... ...and scripts imprecise or ad hoc semantics
Statecharts (Harel et al. 1987) (alt.: Petri Net variants, temporal logic, process algebra, script language) Import / export BPR tools WFMS WFMS Statecharts included in UML industry standard (Unified Modeling Language, OMG 1997)) Specification Methods Requirements: Solutions: • Visualization • Refinement & Composability • Rigorous Semantics • Interoperability with other methods & tools • Wide acceptance & standard compliance
describes process structure • nodes: activities • edges: data flow Example of Harel-style Activitychart
describes process behavior • nodes: execution states • edges: control flow • transition labels: • event [condition] / action rules Example of Harel-style Statechart
Example of Workflow-style Activitychart CREDIT_REQUEST_AC Customer Data DE CCW RSK Customer Data Customer Data Customer Data DEC ERROR DE: Data Entry CCW: Check Credit Worthiness RSK: Risk Assessment DEC: Decision
Example of Workflow-style Statechart CREDIT_REQUEST_SC DE_S [DE_OK and not (Amount < 1000] INIT_S CR_S [DE_NOK or CCW_NOK or RSK_NOK or DEC_NOK or] CCW_S RSK_S [CCW_OK and RSK_OK]] DEC_S [DE_OK and Amount < 1000] [DEC_OK] ERROR_S END_S
CheckConfFee / Budget:=1000; Trials:=1; Go Check Flight Select Tutorials [Cost Budget] Compute Fee Select Conf [Found] / Cost:=0 Check Cost Check Airfare [Cost > Budget & Trials 3] Check Hotel [Fok & Eok] / Cost := ConfFee + TravelExpenses [!Found] Check Hotel No CheckTravel Expenses [Cost > Budget & Trials < 3] / Trials++ More Sophisticated Statechart Example
E-Commerce Workflow: Activitychart ECommerce_AC Name, Date, CreditCardNumber, ... CreditCardCheck NewOrder CreditCardCharge CreditCardNumber, Amount, ... Notify OrderNumber, EmailAddress., ... Name, Address, OrderNumber, ... FindStore OrderNumber, ItemList, ... StoreID, ItemList, ... Payment Acknowledgement @ECommerce_SC CheckStore OrderNumber, Address, ...
[Notify_DONE] Notify_INIT_S Notify_S Notify_EXIT_S Delivery_INIT_S [ItemAvailable and CheckStore_DONE] FindStore_S CheckStore_S [ItemsLeft and FindStore_DONE] /fs!(ItemAvailable) [AllItemsProcessed] Delivery_EXIT_S E-Commerce Workflow: Statechart ECommerce_SC INIT_S [CreditCardNotOK and [PayByCreditCard and CreditCardCheck_DONE] NewOrder_S CreditCardCheck_S NewOrder_DONE] [PayByBill and [CreditCardOK and NewOrder_DONE] Cr editCardCheck_DONE] Shipment_S [in(Notify_EXIT_S) and [in(Notify_EXIT_S) and in(Delivery_EXIT_S) and in(Delivery_ EXIT_S) and PayByCreditCard] PayByBill] CreditCardCharge_S Payment_S [CreditCardCharge_DONE] [Payment_DONE] EC_EXIT_S
Workflow AdministrationFrom Organizational Viewpoint • Worklist Management: Who is assigned which pieces of work? • Work History Management and Evaluation: Which processes are late? Which process types have inherent bottlenecks? How can we improve work effectivity?
Worklist Management • Assignment: Work Items Actors (where a work item is a non-automated activity that is ready to be started) • Static Mapping onto Roles • Dynamic Resolution of Roles into Actors (based on competence, availability, experince, etc.) + additional functions: - enforcing constraints (e.g., dual control) - monitoring of deadlines and alerting - priority control - load balancing
Worklist Management Implementation Typical solution: worklist manager and worklist DB on server , worklist GUI for clients
Worklist Management Example Find all actors who are capable of performing the role, have the necessary permissions, and are currently available. Among those, assign the work item to the actor with the lowest current workload.
Worklist Management Strategies Parameters to be considered: • organizational structure of the enterprise • actors´ expertise and experience • actors´ availability and load • workflow-instance-specific restrictions Implementation of a worklist strategy: • specifying the strategy as a workflow • implement the activities • (queries against organizational databases) • integrate the strategy into the workflow
E1[C1] /st!(activity1) E2[C2] /st!(activity2) . . . S1 S2 S2 E2[C2] /st!(activity2) AcceptWI /st!(activity1) E1[C1] .../st!(insertWL) S1 . . . . . . . . . S2.1 S2.n Integration of Worklist Strategies Rationale: Worklist strategies are workflows themselves! Original specification Work assignment strategy included as nested statechart
Event Process Chains (EPCs) for Business Process Modeling condition event popular in BPR tools used in SAP Workflow input data actor (role) action function output data
function function condition 1 condition 2 event 1 event 2 event 1 event 2 (fork- join) split ... ... ... ... branching Event Process Chains: Control Flow Constructs
Start DE Event Process Chains: Simple Example DE_OK Amount < 1000 Amount 1000 CCW RSK CCW_OK RSK_OK DE: Data Entry CCW: Check Credit Worthiness RSK: Risk Assessment DEC: Decision DEC
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
Automatic Conversion EPC SC Event process chains can (often) be automatically converted into statecharts
Outline Part A: WF Specification and Verification Part B: WF System Architecture and Configuration • WF Execution Infrastructure What Is It All About? • Failure Handling WF Specification Techniques • Stochastic Modeling Statecharts • WF System Configuration • CTL and Model Checking • Summary and Open Research Issues • Summary and Open Research Issues
A B J C K D E L F M G H Abstract Syntax of Statecharts (1) State set S State tree (with node types AND or XOR) Transition t: (source, target, [c]/a) Transition set T Variable set V
A XOR B J AND XOR C F K L M XOR XOR XOR XOR XOR D E G H XOR XOR XOR XOR Abstract Syntax of Statecharts (2)
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
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
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)
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
Outline Part A: WF Specification and Verification Part B: WF System Architecture and Configuration • WF Execution Infrastructure What Is It All About? • Failure Handling WF Specification Techniques • Stochastic Modeling Statecharts • WF System Configuration CTL and Model Checking • Summary and Open Research Issues • Summary and Open Research Issues