1.
Introduction Formalization of BPMN Basic ideas for proofs/implementation Conclusions and future workAutomating the Transformation from BPMN Models to CSP+T Speciﬁcations 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 speciﬁcation 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 speciﬁcation 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 speciﬁcation 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 inﬂuential and decisive to obtain any useful model BPMN–semantics formalization The speciﬁcation 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 veriﬁcation of business processes? Formalization of BPMN semantics: opens the way to business process models veriﬁcation Veriﬁcation of Business Processes: supports analysts to improve the quality of IT target models BPM validation or veriﬁcation?: 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 workﬂow nets [Verbeek 2001] PA approach and BPMN formalization [Wong 2007] UML–activity semantics and veriﬁcation [Eshuis 2002] Business Process Model for formal veriﬁcation [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 veriﬁcation 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 speciﬁcation Integrate model–checkers or other state-of-the-art veriﬁcation 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 veriﬁcation method for BPM task models Modiﬁcation of an ideal development cycle of BPMs by merging the veriﬁcation 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 speciﬁcation Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workA speciﬁc type of ﬂowchart: 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 speciﬁcation 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 ﬂow ; link : P(Transition × Message ﬂow ); depend : P(Message ﬂow × Message ﬂow ); loopMax : N] Capel, Mendoza From BPMN to CSP+T
13.
Introduction Formalization of BPMN Business Process graphical speciﬁcation 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 speciﬁcation 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(ﬁn, abt) • (i → X ✷ ﬁn → null ✷ abt → stop) And Y = ( i : Process set • α(Pi ) ◦ P(i)) Only the sequence of external interactions of the BPD The transformed executable speciﬁcation is a parallel composition of CSP subprocesses Capel, Mendoza From BPMN to CSP+T
15.
Introduction Formalization of BPMN Business Process graphical speciﬁcation 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 speciﬁcation 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 speciﬁcation Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workParallel Fork Gateway One branch P(i) for each outgoing control ﬂow 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)) ✷ ﬁn → SKIP i=1 Capel, Mendoza From BPMN to CSP+T
18.
Introduction Formalization of BPMN Business Process graphical speciﬁcation 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 ﬂows Pinclusive (n, R, P(1) . . . P(n)) = (init.R → SKIP; X (n))✷ ﬁn → 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 speciﬁcation 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 ﬂows Pexclusive (n, R, P(1) . . . P(n), P(Def )) = (init.R → SKIP; X (n))✷ ﬁn → 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 speciﬁcation 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 ﬂows 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 speciﬁcation 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 ✷ ﬁn → 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) ✷ ﬁn → SKIP Capel, Mendoza From BPMN to CSP+T
22.
Introduction Formalization of BPMN Business Process graphical speciﬁcation 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 deﬁnition of delays associated to BPMN 2.0 intermediate event timers is not enough to deﬁne precise constraints in business process speciﬁcations New analysis entities should be included in BPMN that can address temporal and resource constraints And they have to have associated quantiﬁable operators to express enabled intervals, deadlines, etc. Capel, Mendoza From BPMN to CSP+T
23.
Introduction Formalization of BPMN Business Process graphical speciﬁcation 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 speciﬁcation 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 speciﬁcation 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 speciﬁcation Basic ideas for proofs/implementation Formalization of a BPD subset Conclusions and future workSemantical interpretation The communication must take place within the intervals deﬁned 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 speciﬁcations 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 signiﬁcant 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
31.
Introduction Formalization of BPMN Product–Service Sell case study Basic ideas for proofs/implementation BTransformer utilization Conclusions and future workDeﬁnition and speciﬁcation of PSS business process The speciﬁcation 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 deﬁnition(1) Some properties of interest for the PSS are absolute deadline for complete task model execution, task execution according to a predeﬁned order, safety properties preservation, any product/service request will be ﬁnally 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 deﬁnition(2) Figure: Büchi automaton for Customer properties speciﬁcation Figure: Büchi automaton for Company properties speciﬁcation 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 Veriﬁcation with FDR 2.0(1) According to trace/failures semantics of CSP, it can be ascertained that the following reﬁnements satisﬁed: 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 Veriﬁcation with FDR 2.0(1) There is two ways to solve the mismatch between the Customer process and its speciﬁcation: To change the internal design of the bpmn–Customer or the speciﬁcation of the Customer process It makes much more sense to change the speciﬁcation in this case, since the business rules allow cancellations up until the product has been delivered We changed Customer speciﬁcation 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 veriﬁcation 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 veriﬁcation 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 veriﬁcation of bpel4ws business collaborations. E-Commerce and Web Technologies. LNCS 3182:76-85, 2008 H.Eshuis. semantics and veriﬁcation of uml activity diagrams for workﬂow 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 Reﬁnement – 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 veriﬁcation. Information and Software Technology,54,149:161, 2012. S. Morimoto. A survey of formal veriﬁcation 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 Speciﬁcations. Journal of Universal Computer Science, v. 9 (11):1277-1295, 2003. H.Verbeek, T.Basten, W.Van der Aalst. Diagnosing workﬂow processes using woﬂan. 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
Be the first to comment