Modelling and Analysis of Time-related Properties in Web Service Compositions Raman KazhamiakinParitosh K. PandyaMarco Pistore
WESC'052 Problem in Hands Service composition distributed business processesService composition as a way to obtain new functionality by combining existing services into distributed business processes re-usage of existing heterogeneous applications BPEL behaviorstack of standards (e.g. BPEL) for different aspects of WS compositions (e.g. behavior) correctnessAnalyze correctness of the WS composition quantitativequantitative properties (deadlocks, livelocks, LTL properties) qualitativequalitative properties (performance, time, resource allocation) Time-related Time-related properties are particularly relevant necessity to support Long-Running Transactions compatibility of time-consuming tasks w.r.t. the expected timing constraints compatibility of local timed commitments of different involved parties
WESC'053 Case Study: e-Government Application Environmental Protection AgencyDomain: Environmental Protection Agency authorization for the establishment and operation of a waste disposal or recycling plant complex distributed processSettings: complex distributed process involving various actors state authorities (province board) local public services (agencies, administrations, secretaries) consultants and experts (environmental engineers) process clients (companies, information requestors) composition of Web ServicesScenario: composition of Web Services representing actors’ interfaces BPEL specifications to model the behavior of each participant long-term process that also contains time-consuming activities necessity to comply with variety of functional and timing constraints posed by different parties
WESC'054 Procedure Manager Province Board Technical Committee Secretary Service Waste Management Office Citizen Service Initial Request Register Protocol Preliminary Notification Evaluate Documents Prepare Integration Public Notification Receive Notification Receive Notification Provide Integration Collect Integration Start Procedure Invoke TC Technical Analysis Verify Reviews Conference Call Modify Date Final Call Provide Evaluation Provide Evaluation Conference Send Acts Receive Acts Provide Decision Receive Decision
WESC'055 Procedure Manager Province Board Technical Committee Secretary Service Waste Management Office Citizen Service Initial Request Register Protocol Preliminary Notification Evaluate Documents Prepare Integration Public Notification Receive Notification Receive Notification Provide Integration Collect Integration Start Procedure Invoke TC Technical Analysis Verify Reviews Conference Call Modify Date Final Call Provide Evaluation Provide Evaluation Conference Send Acts Receive Acts Provide Decision Receive Decision Long activities: manual tasks, decisions,… Timeouts Within 5 days
WESC'056 Procedure Manager Province Board Technical Committee Secretary Service Waste Management Office Citizen Service Initial Request Register Protocol Preliminary Notification Evaluate Documents Prepare Integration Public Notification Receive Notification Receive Notification Provide Integration Collect Integration Start Procedure Invoke TC Technical Analysis Verify Reviews Conference Call Modify Date Final Call Provide Evaluation Provide Evaluation Conference Send Acts Receive Acts Provide Decision Receive Decision Complex timed requirements: Constraints, regulations, commitments Within 30 days after registration At least 5 days before conference Within 30 days after registration, and at least 10 days before conference Within 90 days after the 1 st call
WESC'057 Timed analysis GoalGoal Analysis of time-related issues in WS compositions defined by a set of BPEL specifications Formalize the composition model with explicit representation of time Represent BPEL timed constructs and activity durations annotations Represent and analyze complex timed requirements and constraints Concentrate on “business” time and neglect “technical” time SolutionSolution WSTTSWeb Service Timed State Transition System (composition behavior) DC(subset of) Duration Calculus (complex timed requirements) ImplementationImplementation Discrete time model Quantified Discrete-time Duration Calculus + DCVALID tool NuSMV state of the art model checker
WESC'058 previous workBased on previous work on non-timed analysis of BPEL compositions Timed AutomataClosely related to the formalism of Timed Automata WS Timed State Transition SystemEach BPEL process is encoded as WS Timed State Transition System WSTTS (X, S, s 0, A, Tr, Inv): X – set of global clocks (timers) S – set of states, s 0 – initial state A – set of actions (message input, message output, internal action) Tr – S x A x Φ x 2 X x S – transition relation Inv – invariants function from S to Φ where φ in Φ has the form true | φ 1 AND φ 2 | x ~ c with ~ in {>, =,<=} Formal Model SS’ a φ Y:=0 Action a is fired condition φ over timers is true timers in subset Y are reset
WESC'059 previous workBased on previous work on non-timed analysis of BPEL compositions Timed AutomataClosely related to the formalism of Timed Automata WS Timed State Transition SystemEach BPEL process is encoded as WS Timed State Transition System Semantics of WSTTS network: Global Timed Transitions System Time elapsing transition: global state is not changed all timers synchronously increment Internal action of some WSTTS: internal transition of some WSTTS is executed timers are not changes Shared communication action of two WSTTS: two WSTTS execute shared transitions timers are not changes Formal Model X’:=X+d X’:=X a
WESC'0510 Instant activities Mapping to WSTTS <invoke name="Customer Call“ operation="sendCall“ partnerLink="CustomerPL"/> x := 0 x ≤ 0 sendCall Duration annotations <empty name=“Verify Reviews“ duration=“lessEqual(3D)”/> x := 0 x ≤ 0 x ≤ 3 BPEL timeout (for) … x := 0 x ≤ 5 modifyDate x = 5 BPEL timeout (until) … x := 0 gt ≤ 12 modifyDate gt = 12
WESC'0511 Formal Model : Interval Specifications Duration CalculusDuration Calculus Properties over intervals Allows to express complex timed requirements of behavioral specifications [P] 0 Single state satisfying propositional formula P [[P]P is satisfied in all states of the behavior (except the last one) D 1 ^D 2 D 1 is satisfied in the 1 st subinterval of behavior and D 2 in the 2 nd D 1 AND D 2 Interval satisfies both formulae ¬DInterval does not satisfy the formula len ~ cThe duration of interval is ~ c P PPPPP¬P¬P D1D1 D2D2 D1D1 D2D2 D1D1 x =ax =a+c
WESC'0512 Interval Formula Example Every intervalregistration conferencetwo subintervalscall in between 1 st lasts at most 302 nd at least 10 Every interval of the behavior that starts with the registration and ends with the conference consists of two subintervals with the call in between, such that the 1 st lasts at most 30, and the 2 nd at least 10 days. registrationconferencecall len ≤ 30len ≥ 10 [] ( ([registration] 0 ^ true ^ [conference] 0 ) → ( (len ≤ 30) ^ [call] 0 ^ (len ≥ 10) ) )
WESC'0513 Implementation [Annotated] BPEL specifications WSTTS composition model NuSMV Specification Timed assumptions (QDDC) Verification properties (LTL,QDDC) NuSMV model checker Counterexample 1. Translate annotated BPEL specification into WSTTS composition model M 2. Translate QDDC properties D i into automata A(D i ) 3. Translate (negation of) property P into automaton A(¬P) 4. Generate NuSMV specification for the behavioral analysis 5. Verification and counterexample generation
WESC'0514 Conclusions What is done…What is done… modelling and analysis of time-related properties of WS compositions Formal model for the definition of timed behavior of the composition Mapping of BPEL constructs Extension with durations annotations for modelling of simple properties Application of duration calculus for modelling of complex requirements What is to be done…What is to be done… Translation optimizations and better analysis techniques State space clustering math-sat techniques Alternative encoding UPPAAL model checking Quantitative Analysis Automated extraction of time bounds from the specifications
WESC'0515 Questions ?