Your SlideShare is downloading. ×

Presen sew-35-12(beamer)

387
views

Published on

IEEE SOftware Engineering Workshop (SEW-35), 10/13-2012, Heraklion, Crete,Greece

IEEE SOftware Engineering Workshop (SEW-35), 10/13-2012, Heraklion, Crete,Greece

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
387
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workAutomating the Transformation from BPMN Models to CSP+T Specifications M.I. Capel1 L.E. Mendoza2 1 School of Computer Engineering and Telecommunications University of Granada (Spain) Email: mcapel@ugr.es 2 Processes and Systems Department Simón Bolívar University Caracas (Venezuela) Email: lmendoza@usb.ve 35th IEEE Annual Software Engineering Workshop, Heraklion, Crete (Greece) 10/13-2012 Capel, Mendoza From BPMN to CSP+T
  • 2. Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workAgenda 1 Introduction Motivation Business Process Modelling notations Previous work Our approach to BPMN formalization 2 Formalization of BPMN Business Process graphical specification Formalization of a BPD subset 3 Basic ideas for proofs/implementation Product–Service Sell case study BTransformer utilization Capel, Mendoza From BPMN to CSP+T
  • 3. Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workAgenda 1 Introduction Motivation Business Process Modelling notations Previous work Our approach to BPMN formalization 2 Formalization of BPMN Business Process graphical specification Formalization of a BPD subset 3 Basic ideas for proofs/implementation Product–Service Sell case study BTransformer utilization Capel, Mendoza From BPMN to CSP+T
  • 4. Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workAgenda 1 Introduction Motivation Business Process Modelling notations Previous work Our approach to BPMN formalization 2 Formalization of BPMN Business Process graphical specification Formalization of a BPD subset 3 Basic ideas for proofs/implementation Product–Service Sell case study BTransformer utilization Capel, Mendoza From BPMN to CSP+T
  • 5. Introduction Motivation Formalization of BPMN Business Process Modelling notations Basic ideas for proofs/implementation Previous work Conclusions and future work Our approach to BPMN formalizationOpen issues Business Process Models’ Analysis: Transformation of BPMN models into executable models Environmental conditions and non–functional requirements are influential and decisive to obtain any useful model BPMN–semantics formalization The specification of this notation developed by the Business Process Management Initiative (BPMI) does not include a formal semantics The lack of a formal semantics impedes “compiling" BPMN and generating code into a business process execution language (BPEL) Capel, Mendoza From BPMN to CSP+T
  • 6. Introduction Motivation Formalization of BPMN Business Process Modelling notations Basic ideas for proofs/implementation Previous work Conclusions and future work Our approach to BPMN formalizationValidation or verification of business processes? Formalization of BPMN semantics: opens the way to business process models verification Verification of Business Processes: supports analysts to improve the quality of IT target models BPM validation or verification?: not everyone in the Community agrees which one to take on Strengths and weaknesses of each way Capel, Mendoza From BPMN to CSP+T
  • 7. Introduction Motivation Formalization of BPMN Business Process Modelling notations Basic ideas for proofs/implementation Previous work Conclusions and future work Our approach to BPMN formalizationDifferent approaches to BPM formalization Analyser and workflow nets [Verbeek 2001] PA approach and BPMN formalization [Wong 2007] UML–activity semantics and verification [Eshuis 2002] Business Process Model for formal verification [Arias 2008] Capel, Mendoza From BPMN to CSP+T
  • 8. Introduction Motivation Formalization of BPMN Business Process Modelling notations Basic ideas for proofs/implementation Previous work Conclusions and future work Our approach to BPMN formalizationMain objectives Compositional verification of of non–functional requirements,including temporal behaviour of the model Formal semantics of BPD modelling entities that precludes any ambiguity in business process behaviour specification Integrate model–checkers or other state-of-the-art verification tools for software Capel, Mendoza From BPMN to CSP+T
  • 9. Introduction Motivation Formalization of BPMN Business Process Modelling notations Basic ideas for proofs/implementation Previous work Conclusions and future work Our approach to BPMN formalizationThe proposal A set of transformation rules: {temporal contructs} ⊆ BPMN → {CSP + T} process calculus An easy verification method for BPM task models Modification of an ideal development cycle of BPMs by merging the verification of BP properties with the design process of the task model Capel, Mendoza From BPMN to CSP+T
  • 10. Introduction Motivation Formalization of BPMN Business Process Modelling notations Basic ideas for proofs/implementation Previous work Conclusions and future work Our approach to BPMN formalizationFundamental insight of the proposal We take full advantage of strengths that formalization of BPMN–constructs can provide to the analysis of business processes properties at design time, which will have an im- portant impact when these models are executed. Capel, Mendoza From BPMN to CSP+T
  • 11. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workA specific type of flowchart: the Business ProcessDiagram (BPD) Gateways Events Activities Flows Figure: Example of a BPD Capel, Mendoza From BPMN to CSP+T
  • 12. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workDenotational semantics of the BPD subsetType : pgate | xgate | ogate | start | end N | abort N | task Task | link PName | bpmn BName | pool PlName | miseq Task × N | miseqs | BName × N | mipar Task × N | mipars BName × NState = [type : Type; in, out, error : P Transition; exit : P(N × Transition); send , receive, reply, accept, break : P Message flow ; link : P(Transition × Message flow ); depend : P(Message flow × Message flow ); loopMax : N] Capel, Mendoza From BPMN to CSP+T
  • 13. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workBPMN graphical representation of a state links & dependences Type in Type exit_3 N exit_2 out exit_1 send/receive error Figure: Black–box model of a BPMN-entity state. Capel, Mendoza From BPMN to CSP+T
  • 14. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workDenotation of a state Each BPD has a semantic state entity associated to it Represented by the following semantic function : [bpmn] bpmn : P Name → Local → Process hide : P Name → Local → P Event function name = (Y | [αY ]X )hide(| S |)) Where X = ✷i : αY hide(fin, abt) • (i → X ✷ fin → null ✷ abt → stop) And Y = ( i : Process set • α(Pi ) ◦ P(i)) Only the sequence of external interactions of the BPD The transformed executable specification is a parallel composition of CSP subprocesses Capel, Mendoza From BPMN to CSP+T
  • 15. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workBPD representation of BPMN modelling entities Figure: BPMN Elements Extended Graphical Representation. Capel, Mendoza From BPMN to CSP+T
  • 16. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workExtended Business Process Modelling Notation Firstly, EBPMN needs the semantic precision given by a formal language to its basic elements to transform business processes into executable models A set of EBPMN constructs can be transformed into CSP+T terms with soundness Parallel Fork Gateway Parallel Join Gateway Data–based OR gateways Event–based OR gateways OR–join gateways Capel, Mendoza From BPMN to CSP+T
  • 17. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workParallel Fork Gateway One branch P(i) for each outgoing control flow depicted by the gate state Pagate.1 (m, R, P(1) . . . P(n)) = (init.R → SKIP; P(R); m [A] : N • init.P(i) → SKIP; P(i)) ✷ fin → SKIP i=1 Capel, Mendoza From BPMN to CSP+T
  • 18. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workData–based OR Gateway Inclusive gateways that are used for selection of a set of output branches among all the outgoing flows Pinclusive (n, R, P(1) . . . P(n)) = (init.R → SKIP; X (n))✷ fin → SKIP X (i) = (i > 1 & (condition(i) & init.P(i)→ SKIP; P(i) ✷¬condition(i) & SKIP) X (i − 1)) ✷(i = 1 & condition(i) & init.P(i)→ SKIP; P(i)) Capel, Mendoza From BPMN to CSP+T
  • 19. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workData–based OR Gateway(2) Exclusive gateways that are used for selecting only one among a set of mutually exclusive alternative output flows Pexclusive (n, R, P(1) . . . P(n), P(Def )) = (init.R → SKIP; X (n))✷ fin → SKIP X (n) = (✷i=n condition(i) & init.P(i) → SKIP; P(i)) i=1 ✷(∧i=n ¬condition(i) & init.P(Def ) → SKIP ; P(Def )) i=1 Capel, Mendoza From BPMN to CSP+T
  • 20. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workEvent–based OR Gateway An external events–based choice for selecting a set of alternative sequence flows P(event.based ) = init.P(m) → SKIP; P(m); P(inclusive|exclusive) (n, P(m), P(1), . . . , P(n)) P(x) =? x Capel, Mendoza From BPMN to CSP+T
  • 21. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workOR–Join Gateway The exclusive OR–Join (XOR.join) can be modelled by a “select” of mutually exclusive alternatives PXOR.join (n, P(1) . . . P(n), R) = (✷i=n init.P(i) → SKIP; P(i); init.R →; P(R)) i=1 ✷ fin → SKIP The inclusive OR-Merge is equivalent to a barrier synchronization Pincl.join (n, P(1) . . . P(n), R) = |||i=n (condition(i) & init.P(i) → SKIP; P(i) i=1 ✷¬condition(i) & SKIP); init.R →; P(R) ✷ fin → SKIP Capel, Mendoza From BPMN to CSP+T
  • 22. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workFormalization of temporal extensions of EBPMN In many models, not to abide time constraints or resources abuse causes the violation of business process rules The definition of delays associated to BPMN 2.0 intermediate event timers is not enough to define precise constraints in business process specifications New analysis entities should be included in BPMN that can address temporal and resource constraints And they have to have associated quantifiable operators to express enabled intervals, deadlines, etc. Capel, Mendoza From BPMN to CSP+T
  • 23. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workStart event, maximum and minimum time of an Activity We opted for an extension that includes a maximum and minimum duration time for each BPMN activity: Figure: Temporal Annotations of the Activity Capel, Mendoza From BPMN to CSP+T
  • 24. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workSemantical interpretation The execution time of bpmn S1 activity does not overrun its maximum range, nor occurs before its minimum starting time elapses: vS1 + S1.ran.min ≤ s(ǫS2 ) ≤ vS1 + S1.ran.max. The corresponding CSP+T process term:P(S1) =ǫS1 ✶ vS1 → SKIP; (I(Time, vS1 + S1.ran.min).ǫS2 → SKIP; P(S2)✷ǫend → SKIP) Time = S1.ran.max − S1.ran.min Capel, Mendoza From BPMN to CSP+T
  • 25. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workService Tasks Message sending/reception must be carried out within the time limits of the activities that sends/receives These activities do not enter a deadlock state 1) (vS1 < s(ǫm1 ) ≤ (vS1 + S1.ran.min)) ∧ (vS2 < s(ǫm1 ) < (vS2 + S2.ran.min)) 2) (vS2 < s(ǫm2 ) ≤ (vS2 + S2.ran.min)) ∧ (vS1 < s(ǫm2 ) < (vS1 + S1.ran.min)) Capel, Mendoza From BPMN to CSP+T
  • 26. Introduction Formalization of BPMN Business Process graphical specification Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workSemantical interpretation The communication must take place within the intervals defined by the conditions: s(ǫm1 ), s(ǫm2 ) ∈ [max{vS1 , vS2 }, min{vS1 + S1.ran.min, vS2 + S2.ran.min}] The corresponding CSP+T process terms are P(S1) =(ǫS1 ✶ vS1 → SKIP; (I(MI, MA).ǫm1 !(x , vS1 ) → SKIP; I(MI, MA).ǫm2 ?(y , vS2 ) → SKIP; I(Time, vS1 + S1.ran.min).ǫS3 → P(S3) ✷ǫend.1 → SKIP)) P(S2) =(ǫS2 ✶ vS2 → SKIP; (I(MI, MA).ǫm1 ?(x , vS1 ) → SKIP; I(MI, MA).ǫm2 !(y , vS2 ) → SKIP; I(Time, vS2 + S2.ran.min).ǫS4 → P(S4) ✷ǫend.2 → SKIP)) Capel, Mendoza From BPMN to CSP+T
  • 27. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workBTransformer Tool This tool has been invented as model transformation manager: BPMN model → CSP+T model Implemented in Eclipse Includes Model Transformation Language (MTL) and ATLAS Transformation Language (ATL) features Familiar environment to the business process analyst Automatic generation of CSP+T formal specifications from any BPMN model Capel, Mendoza From BPMN to CSP+T
  • 28. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workBtransformer Tool (2) Capel, Mendoza From BPMN to CSP+T
  • 29. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workCase Study A significant complex process of any Customer Relationship Management (CRM) business process Each BPD is encapsulated by a BPMN state, showing a high collaboration between business–model participants Capel, Mendoza From BPMN to CSP+T
  • 30. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workBPD of the Product–Service Sell abort task vs21 Co_s4 task start 2 task start task end.2 task task Co_s6 task task end.2 Co_s2 Co_s21 Co_s1 Co_s3 agate task Co_s5 agate Co_s7 Co_s8 m2.min m2.max m3.min m3.max m6.min m6.max m7.min m7.maxvs2 m1.min m1.max m4.min m4.max m5.min m5.max end.1 task task Cu_s5 task Cu_s6 start 1 task N t.Cu_s4 Cu_s1 Cu_s2 abort agate task Cu_s3vs1 Ycus = (P(start.1) Pserv .1 () Pserv .2 () Pxgate.1 ()) Pserv .1 (P(cu s1), P(co s1), Pmiseq (cu s2), Pmiseqs (co s2)) Pserv .2 (Pmiseq (cu s2), Pmysub (co s2), Pxgate.1 (), Pinterr ()) Ycom = (P(start.2) Pserv .1 () Pmiseqs (co s2) Pinterr (P(co s3), (Pagate.1 () Pagate.2 ()), ( P(co s4) P(abort.2))) Pinterr () Pxgate.1 (2, Pmiseq (cu s2), (P(cu s4) Pserv .3 () P(cu s6) Pagate.2 () P(co s7) P(co s8) P(end .2)) P(end .1)), (P(cu s3) Psend (m) P(abort.1))) Pmiseqs (co s2) = (P(start.3) P(co s21) Pserv .3 (P(cu s5), P(co s3), P(cu s6), Pagate.2 ()) P(end .3)) Pagate.1 (2, Pinterr (), P(co s6), P(co s5)) Pagate.2 (2, P(co s6), P(co s5), (P(co s7) P(co s8) P(end .2))) Capel, Mendoza From BPMN to CSP+T
  • 31. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workDefinition and specification of PSS business process The specification of BPMN modelling entities that represent the business participants: [bpmnCompany] Com = (P(start.2) Pserv .1 () Pmiseqs (co s2) Pinterr () and the Customer: [bpmnCustomer ] (P(start.1) Pserv .1 () Pserv .2 () Pxgate.1 ()) The collaboration between Customer and Company is denoted by the parallel composition CSP+T process term: PSS = (Cus | [αCus αCom] | Com){| msg1} Capel, Mendoza From BPMN to CSP+T
  • 32. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workPSS Properties definition(1) Some properties of interest for the PSS are absolute deadline for complete task model execution, task execution according to a predefined order, safety properties preservation, any product/service request will be finally responded, the model participants cannot be unsynchronized, and a product/service should only be delivered/performed after receiving a previous request. We will only demonstrate the following liveness property: φ = AG[a,b] (Communication request ⇒ (1) AF[a+1,b] Receive and acknowledge) Capel, Mendoza From BPMN to CSP+T
  • 33. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workPSS Properties definition(2) Figure: Büchi automaton for Customer properties specification Figure: Büchi automaton for Company properties specification Capel, Mendoza From BPMN to CSP+T
  • 34. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workModel Verification with FDR 2.0(1) According to trace/failures semantics of CSP, it can be ascertained that the following refinements satisfied: T (φCus ) ⊑F Cus, T (φCom ) ⊑F Com, (2) However, FDR 2.0 gives the following counter–example: ( starts.Cus.cu s1, starts.Cus.cu s2 , {starts.Cus s3}) After requesting information about the product, the model will get blocked if the cutomer cancels the product sell! Capel, Mendoza From BPMN to CSP+T
  • 35. Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workModel Verification with FDR 2.0(1) There is two ways to solve the mismatch between the Customer process and its specification: To change the internal design of the bpmn–Customer or the specification of the Customer process It makes much more sense to change the specification in this case, since the business rules allow cancellations up until the product has been delivered We changed Customer specification formula accordingly, to avoid deadlock situation: φ = AG[a,b] (P/S delivery request ⇒ (3) AF[a+1,b] Receive and acknowledge) Capel, Mendoza From BPMN to CSP+T
  • 36. Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workSummary Set of transformation rules fro BPMN 2.0 constructs, in order to advance towards the verification of task models derived from business processes Temporal EBPMN constructs formalization A formal semantics based on CSP+T has been proposed to gve a precise semantics to the duretion of bpmn tasks and processes Case study discussed A Customer Relationship Management (CRM) system has been presented, as a business process model to verify Outlook Ongoing work focuses on modelling task models of industrial–case size which are amenable to fornal verification with model–checking techniques Capel, Mendoza From BPMN to CSP+T
  • 37. Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workReferences I W. Aalst. Challenges in business process analysis. In: Enterprise Information Systems. Lecture Notes in Business Information Processing, v. 12: 27–42. Heidelberg: Springer, 2009. J.Arias, L.Sánchez, C.Delgado. Formal verification of bpel4ws business collaborations. E-Commerce and Web Technologies. LNCS 3182:76-85, 2008 H.Eshuis. semantics and verification of uml activity diagrams for workflow modelling. PhD, University of Tweente, 2002 Capel, Mendoza From BPMN to CSP+T
  • 38. Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workReferences II Formal Systems Europe Ltd. Failures–Divergence Refinement – FDR2 User Manual. Formal Systems Europe Ltd., Oxford, 2005 L.E. Mendoza, M.I. Capel, M.A. Pérez. Conceptual framework for business processes compositional verification. Information and Software Technology,54,149:161, 2012. S. Morimoto. A survey of formal verification for business process modeling. I. Journal of Operations and Quantitative Management, 14(4): 237–247, 2008. Capel, Mendoza From BPMN to CSP+T
  • 39. Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workReferences III F. Scuglik and M. Sveda. Automatically Generated CSP Specifications. Journal of Universal Computer Science, v. 9 (11):1277-1295, 2003. H.Verbeek, T.Basten, W.Van der Aalst. Diagnosing workflow processes using woflan. The Computer Journal 44(4):246-279(2001) P.Y.H. Wong, J. Gibbons.A Relative Timed Semantics for BPMN. Electronic Notes in Theoretical Computer Science 229, 59:75, Elsevier, 2009. Capel, Mendoza From BPMN to CSP+T