1 / 71

Dependable Workflow Technology

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!“.

bliss
Télécharger la présentation

Dependable Workflow Technology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DependableWorkflow Technology Gerhard Weikum University of the Saarland, Germany weikum@cs.uni-sb.de http://www-dbs.cs.uni-sb.de/

  2. 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 -

  3. 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 ???

  4. 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?

  5. 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

  6. 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

  7. Workflow Application Example 1:Credit Request Processing Check Credit Worthiness Enter Credit Request Make Decision Check Risk

  8. 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

  9. 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

  10. Workflow Management System Architecture Workflow specification Workflow server ... Applications

  11. Baroque specification Non- scalable performance Failure-prone execution Workflow ManagementSystem Architecture Workflow specification Workflow server ... Applications

  12. 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.”

  13. 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)

  14. 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

  15. 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

  16. 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

  17. Integration with Internet Technologies XML (ebXML, ...) XML (WSFL, XLANG, ...) UDDI HTTP, DHTML WSDL, SOAP, EJB, CORBA

  18. 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)

  19. 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

  20. 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

  21. 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

  22. describes process structure • nodes: activities • edges: data flow Example of Harel-style Activitychart

  23. describes process behavior • nodes: execution states • edges: control flow • transition labels: • event [condition] / action rules Example of Harel-style Statechart

  24. Refinement of Harel-style Statechart

  25. 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

  26. 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

  27. 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

  28. 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, ...

  29. [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

  30. 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?

  31. 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

  32. Worklist Management Implementation Typical solution: worklist manager and worklist DB on server , worklist GUI for clients

  33. 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.

  34. 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

  35. 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

  36. 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

  37. function function   condition 1 condition 2 event 1 event 2 event 1 event 2 (fork- join) split ... ... ... ... branching   Event Process Chains: Control Flow Constructs

  38. 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

  39. 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

  40. Import from BPR Tools (continued)

  41. Automatic Conversion EPC SC Event process chains can (often) be automatically converted into statecharts

  42. Automatic Conversion EPC  SC

  43. 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

  44. 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

  45. 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)

  46. 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

  47. 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

  48. 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)

  49. 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

  50. 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

More Related