=Paper=
{{Paper
|id=Vol-1256/paper10
|storemode=property
|title=Visual Specification Language and Automatic Checking of Business Process
|pdfUrl=https://ceur-ws.org/Vol-1256/paper10.pdf
|volume=Vol-1256
|dblpUrl=https://dblp.org/rec/conf/vecos/HichamiABM14
}}
==Visual Specification Language and Automatic Checking of Business Process==
Visual Specification Language and Automatic Checking of Business Process 93 El Hichami • Al Achhab • Berrada • El Mohajir Visual Specification Language and Automatic Checking of Business Process Outman El Hichami Mohammed Al Achhab Ismail Berrada Faculty of Sciences, UAE, National School of Applied Sciences, Faculty of Sciences, USMBA, Tetouan, Morocco Tetouan, Morocco Fez, Morocco el.hichami.outman@taalim.ma alachhab@ieee.ma iberrada@univ-lr.fr Badr Eddine El Mohajir Faculty of Sciences, UAE, Tetouan, Morocco b.elmohajir@ieee.ma In this work we propose a visual language for specifying behavioral properties of business processes (BP). We use Business process modeling notation (BPMN) to modelize BP, Petri Net as underlying formal foundations, and SPIN model checker to validate the dynamic behaviors of this process. The objective of this paper is to propose graphical property specification language which can be used during the design phase of BP. The proposed visual language uses the same concepts as established in BPMN to specify the properties to be verified. A semantic interpretation for properties expressed is given based en temporal logic formulas. The advantage of the proposed language is that it hides the temporal logic used for the specification of properties, and the knowledge of this logic is not needed. Business process, Model-checking, BPMN, Petri Net, Dynamic behavior 1. INTRODUCTION Van der Aalst and Van Dongen (2013); Fahland et al. (2011). Most of these approaches are based on In recent years, researchers have become increas- the mapping of BPMN to a formal presentation like ingly interested in developing methods and tools Petri Net Murata and Koh (1989); El Hichami et al. for the specification and validation of Business Pro- (2014), YAWL Sun et al. (2008), PROMELA1 , and cesses (BP) behavior. The Business Process Mod- PNML Hillah et al. (2010), in order to use the formal eling Notation BPMN OMG (2011) is emerging as a analysis tools available for these models. When widely accepted approach in the domain of Business model-cheking is considered for formally verifying Process Management Hofstede et al. (2003) and be- BP properties, the specifications of this properties coming increasingly indispensable in business rela- should be expressed by temporal logic formulas. tionship, web services AbuJarour and Awad (2014), Temporal properties are not always easy to write or etc. BPMN is a standard and a well-known diagram- read and need strong background knowledge. matic notation for supporting the specification of BP. It provides symbols to a simple graphical specifi- The objective of this paper is to propose a user- cation for defining the control flow of the business friendly graphical interface that business experts process in the early phases of process development. can use to specify and verify business processes. BPMN diagrams afford a notation that is readily Furthermore, this approach allows the integration of understandable by all business users: the designer formal verification techniques of BPMN models in expert, the technical developers, the business peo- the design phase. ple who will manage and monitor these processes. The intent of this paper is to collect properties The mix of constructs found in BPMN and the lack of (patterns) that occur commonly in the specification an unambiguous definition of some notations, makes of BP. Most specification formalisms in this domain it possible to create models with semantic errors. are a bit tricky to use. To make them easier to use, Therefore, several approaches have been proposed our patterns use the same concepts as established to the formal validation of BPMN Takemura (2008); 1 spinroot.com/spin/Man/promela.html Al Achhab et al. (2014); Bryans et al. (2009); 1 Visual Specification Language and Automatic Checking of Business Process 94 El Hichami • Al Achhab • Berrada • El Mohajir in BPMN and come with descriptions that illustrate 3.1. BPMN how to map well-understood conceptions of BP behavior into precise statements in common formal BPMN is a graphical notation designed for both specification languages like linear temporal logic business process design and business process im- (LTL) MANNA and PNUELI (1992) and computation plementation. BPMN process models are composed tree logic (CTL) Heljanko (1997). The rest of the of: paper proceeds as follows: Section 2 discusses the related work. Section 3 provides formal definitions 1. Events: and notations of BPMN used in the rest of this (a) Start Event: it indicates where a particular paper and the mapping from BPMN modules process will start; to Petri Net. Section 4 describes a graphical (b) End Event: it indicates where a process property specification language. Section 5 describes will end. our verification process of BP and case study. We develop experiments and analysis in Section 2. Task: is a generic type of work to be done 6. Section 7 concludes the paper, and draws during the course of a BP. perspectives. 3. Sequence flow: it links two objects in a process diagram. 2. RELATED WORK 4. Gateways: Current research in this area are largely concen- (a) And-split Gateway: is where a single trated on a translation of BPMN models to a formal branch is divided into two or more language, and the specification of the proprieties parallel branches which are executed is written in temporal logic, and does not consider concurrently; a visual language for specifying these proprieties (b) And-join Gateway: is where two or more to be verified. In Dijkman et al. (2007), the au- different branches of the process merge thors introduce an approach, based on Petri Net, into one single branch; to formalize and analyze BPMN while abstracting data information. However, they only consider safety (c) Or-split Gateway: it routes the sequence properties of BPMN. In Van der Aalst et al. (2007), flow to exactly one of the outgoing the authors have developed a tool, called Prom2 , branches based on conditions; to verify BPMN models. The property specification (d) Or-join Gateway: it awaits one incoming logic supported by Prom, is restricted to the linear branch to complete before triggering the temporal logic (LTL). In Sakr et al. (2013), the outgoing flow. authors have implemented a concept proof of their approach with existing software namely the open Fig. 1 provides an overview of a subset of BPMN modeling platform Oryx Decker et al. (2008) and elements related to control-flow specification, these the BPMN-Q query language Awad (2007). This include sequence flows. An object can be an event, approach is based on the decomposition of BPMN- activity or gateway. A sequence flow links two objects Q. However, This verification approach may fail be- in a process diagram and denotes a control flow cause not all properties of a query can be satisfied relation. and the decomposition phase is complicated. To the best of our knowledge, all the above works assume that the verification phase comes after the design phase. Thus, a strong background knowledge of temporal logic is required. Our approach has the merit of integrating the verification process in the design stage allowing a gradual validation of BP. This phase can be avoided by implementing a specification interface. 3. BASIC DEFINITIONS Figure 1: The basic elements of BPMN In this section, we give the basic definitions, notations of BPMN, and Petri Net used in this paper. 2 http://www.promtools.org/prom6/ 2 Visual Specification Language and Automatic Checking of Business Process 95 El Hichami • Al Achhab • Berrada • El Mohajir 3.1.1. Example For further clarification, we give a simple example adapted from Raedts et al. (2007) of the recruitment process. Fig. 2 illustrates the BPMN model of the hiring process since the creation of the job until the candidate is rejected or accepted. Figure 2: BPMN model of the recruitment process Figure 3: Mapping BPMN to Petri Net 3.2. Petri Net 4. A VISUAL LANGUAGE FOR BP PROPERTY SPECIFICATION (BPVSL) Petri Net is widely used tool for the representation, validation and verification of BP Van der Aalst (1997, In this section, we show how the designer can 1998); Barkaoui et al. (2007). A Petri Net is a tuple specify the properties to be verified using a N = (P, T, F ) where: graphical interface based on the same concepts as established in BPMN. The framework uses 1. P 6= ∅ is a finite set of places; this specification as a guide to implement the transformation to LTL MANNA and PNUELI (1992) 2. T 6= ∅ is a finite set of transitions with P ∩T = ∅; or CTL Heljanko (1997) temporal logic, even though 3. F ⊆ (P × T ) ∪ (T × P ) is the flow relation. the designer has no notions of these temporal logic languages. A place can contain zero or more tokens. A token is represented by a black dot. The global state of a Before illustrating the BPVSL that we propose, we Petri Net, also called a marking, is the distribution give the set of properties that may be needed by the of tokens over places. Formally, a marking of a Petri designer: Net N is a function M : P → N. The initial marking • Safety property: that “nothing bad” will happen, of N is denoted by M0 . ever, during the execution of a system like the An example of Petri Net is shown in Fig. 4. absence of dead transitions (deadlocks). 3.3. Transforming BPMN models to Petri Net • Liveness property: that “something good” will happen, eventually, during the execution of a In order to analyze formally BPMN models, several system like the absence of cyclical behaviors. transformations have been proposed Lohmann et al. (2009); Dijkman et al. (2008). Fig. 3 depicts the • Fairness property: under certain conditions, an mapping from BPMN tasks, events, and gateways event may occur repeatedly, is a special type of to Petri Net modules proposed by Dijkman et al. a safety property. (2008). A task or an intermediate event is mapped onto a transition with one input place and one output • Invariant property: is a special case of a safety place. The transition, being labelled with the name of property. This type of property is satisfied with that task (respectively event), models the execution all system states. of the task (respectively event). A start or end event • Response property: if action A occurs then is mapped onto a similar module except that a silent eventually action B will occur. transition is used to signal when the process starts or ends. The Petri net, representing the recuitment process of Fig. 2, that is produced by applying the mapping rules mentioned above is given in Fig. 4. 3 Visual Specification Language and Automatic Checking of Business Process 96 El Hichami • Al Achhab • Berrada • El Mohajir Figure 4: Petri Net model for the recruitment process • Φ: means Φ is true in next state; 4.1. Response Properties • ♦Φ: means Φ is true in some future state; To specify the dynamic behavior of a BP, five models • Φ: means Φ is true in all future states; of response properties (Fig. 5) are considered in our • Φ1U Φ2: means Φ1 is true in all future states BP Visual Specification Language (BPVSL). until Φ2 holds. 4.3. Computation tree logic (CTL) The syntax of CTL is inductively defined as: Φ ::= p|¬|Φ|Φ ∧ Φ|Φ ∨ Φ|Φ → Φ. Thus, in addition to introducing temporal operators, it introduces for-all and existential quantifiers: • AΦ: means Φ has to hold in every future state on every execution path; • EΦ: means Φ has to hold in every future state on some execution path; Figure 5: Patterns of response properties • A♦Φ: means Φ has to hold in some future state in every execution path; The following sections provide some of the most frequently interpretation of this patterns. The • E♦Φ: means Φ has to hold in some future state designer can use a graphical interface to specify the in some execution path. source and the target extremities of property to be verified. Then, the framework proposes the collection For more details see MANNA and PNUELI (1992); of the gateways and arrow types in order to choose Heljanko (1997). the desirable semantic. 4.4. Specification language and semantic of Φ1 4.2. Linear temporal logic (LTL) Temporal logic as extension of boolean logic may be used as formal language to express the properties Figure 6: Graphical specification of Φ1 that must be satisfied by the runs of a BPMN model. LTL is the logic we use in this paper. Formal semantics of Φ1: The syntax of LTL is inductively defined as: • Every time ti is executed, tj has to be executed Φ ::= p|¬|Φ|Φ ∧ Φ|Φ ∨ Φ|Φ → Φ| Φ|♦Φ|Φ|ΦU Φ. afterwards: (ti ⇒ ♦tj ), (LTL formula). Such p is a atomic proposition (task in BPMN). The intuitive meanings of the associated LTL formulas • All paths from ti to tj : (ti ⇒ A♦tj ), (CTL are given below: formula). 4 Visual Specification Language and Automatic Checking of Business Process 97 El Hichami • Al Achhab • Berrada • El Mohajir • Every time ti is executed, tj has to be executed afterwards: (ti ⇒ ♦tj ), (LTL formula). Formal semantics Φ4: 4.5. Specification language and semantic of Φ2 • Every time tasks ti and tj are simultaneously executed, tk has to be executed afterwards: ((ti ∧ tj ) ⇒ ♦tk ), (LTL formula). • When merging parallel branches, outgoing branch on all potential paths: ((ti ∧tj ) ⇒ A♦tk ), (CTL formula). Figure 7: Graphical specification of Φ2 • Every time tasks ti and tj are simultaneously executed, tk has to be executed afterwards: ((ti ∧ tj ) ⇒ ♦tk ), (LTL formula). Formal semantics of Φ2: 4.8. Specification language and semantic of Φ5 • Every time ti is executed, tj and tk have to be executed in parallel afterwards: (ti ⇒ (♦tj ∧ ♦tk )), (LTL formula). • When ti is executed, tj and tk have to be executed afterwards, while the two outgoing branches are activated in parallel, each branch Figure 10: Graphical specification of Φ5 on all potential paths: (ti ⇒ (A♦tj ∧ A♦tk )), (CTL formula). • Every time ti is executed, tj and tk have to be Formal semantics Φ5: executed in parallel afterwards: (ti ⇒ (♦tj ∧ ♦tk )), (LTL formula). • Every time one of the tasks ti or tj is executed, it is followed by the task tk : ((ti ∨ tj ) ⇒ ♦tk ), 4.6. Specification language and semantic of Φ3 (LTL formula). • One of the tasks ti or tj will be eventually followed by the task tk on each potential path: ((ti ∨ tj ) ⇒ A♦tk ), (CTL formula). • Every time one of the tasks ti or tj is executed, it is followed by the task tk : ((ti ∨ tj ) ⇒ ♦tk ), Figure 8: Graphical specification of Φ3 (LTL formula). 4.9. Safety and Liveness properties Formal semantics Φ3: In order to meet the requirements of the designer, • Every time ti is executed, one of the tasks ti we propose to add for each property to be verified a or tk has to be executed afterwards: (ti ⇒ sets of properties in order to define safety, liveness, (♦tj ∨ ♦tk )), (LTL formula). invariant and fairness properties. • One of the tasks tj or tk eventually is executed 4.9.1. A safety property after the task ti on each potential path: (ti ⇒ are conditions that are verified along any execution (A♦tj ∨ A♦tk )), (CTL formula). path. These type of properties are usually associated • Every time ti is executed, one of the tasks ti with some critical behaviour, thereby they should or tk has to be executed afterwards: (ti ⇒ always hold. Then, the quantifier () is good for the (♦tj ∨ ♦tk )), (LTL formula). safety property. For example, in the case of BPMN model of the recruitment process, the company 4.7. Specification language and semantic of Φ4 never recruits a “bad candidate”. 4.9.2. A liveness property These type of properties involved in the temporal concept with eventually. Thus, the quantifier (♦) is good for the liveness property. Practically, in the case of BPMN model of the recruitment process, never Figure 9: Graphical specification of Φ4 reach the “good candidate”. 5 Visual Specification Language and Automatic Checking of Business Process 98 El Hichami • Al Achhab • Berrada • El Mohajir 5. VERIFICATION PROCESS AND CASE STUDY types in order to choose between the different semantics of φ2. The verification process proposed of BP (Fig. 11), the designer uses a graphical interface to modelize the BPMN and to specify the desired properties to be verified using BPVSL. The framework uses this specification as a guide to implement the transformation to corresponding LTL temporal logic. Figure 13: Visual specification of φ2 Example 3: Let φ3 be the property given by: Task “Find candidates” will be executed after the tasks “CV not approved” or “Not successful interviews”. This property can be interpreted with the visual presentation of Fig. 14. Similar to the specification of φ1 and φ2, when the first source extremity “CV not approved” of φ3 is selected, the designer selects the task “CV not approved” as the second source extremity of φ3 to be executed in conditional with the Figure 11: Verification process of BPMN task “CV not approved”, and the reachable task “Find candidates” as the target extremity of φ3. Finally, the designer can choose between the collection of the As examples, we show how to specify three gateways and arrow types. response properties using BPVSL. Example 1: We could use the specification language semantics of Φ1 to specify the following property (φ1): Does the task “Setup payroll” will happen after the tasks “Find candidates” This property can be interpreted with the visual presentation of Fig. 12. When the source extremity of φ1 is selected, the framework proposes only the reachable tasks as target extremities of φ1. Then, the designer can specify the arrow types between the task “Find candidates” and “Setup payroll”. Figure 14: Visual specification of φ3 6. EXPERIMENTS AND ANALYSIS In this paper, we use the SPIN tools3 to validate the LTL formulas. In these experiments, we discuss the Figure 12: Visual specification of φ1 verification of three models of response properties Φ1, Φ2 and Φ3 of Section 5. Example 2: Let φ2 be the property given by: the 6.1. Transforming Petri Net to PROMELA task “Study CVs” and task “Evaluate interviews” will be executed in parallel and after task “Receive In order to simulate Petri Net using SPIN, it is candidate CVs”. This property can be interpreted necessary to translate Petri Net models into SPIN with the visual presentation of Fig. 13. In fact, models-specified using PROMELA. the designer has first to select a task “Receive candidate CVs”, then the designer has to select only In Holzmann (2003), the authors propose a method the reachable tasks “Study CVs” to be executed to describe a Petri Net into PROMELA that can be in parallel with the task “Evaluate interviews” as simulated and verified with the SPIN model checker. the target extremities of φ2. Finally, the framework In this method, a Petri Net system is represented proposes the collection of the gateways and arrow 3 http://spinroot.com/spin/Man/ 6 Visual Specification Language and Automatic Checking of Business Process 99 El Hichami • Al Achhab • Berrada • El Mohajir as a single process. The process describes each add1(M[19]} firing of its transitions. An outline of the PROMELA :: atomic{remove1(M[14]) -> fire(X[14]); program of the Petri Net corresponding to the add1(M[15]} recruitment process is given bellow: :: atomic{remove1(M[15]) -> fire(X[15]); add1(M[16]} #define Place 25 :: atomic{remove1(M[16]) -> fire(X[16]); #define Transition 25 add1(M[5]} int M[Place]; /* Marking */ :: atomic{remove1(M[9]) -> fire(X[17]); int X[Transition]; /* Firing count */ add1(M[17]} /* A firing of Transition t*/ :: atomic{remove1(M[17]) -> fire(X[18]); /* remove specifies the change of the add1(M[18]} marking of preset of t */ :: atomic{remove1(M[14]) -> fire(X[19]); /* add specifies the change of the marking add1(M[19]} of postset of t */ :: atomic{remove1(M[19]) -> fire(X[20]); /* fire (x) increments the element add1(M[20]} corresponding to t in X[t] */ :: atomic{remove2(M[18],M[20]) -> #define remove1(x) (x>0) -> x-- fire(X[21]); add1(M[21])} #define remove2(x,y) (x>0 && y>0) :: atomic{remove1(M[21]) -> fire(X[22]); -> x--; y-- add1(M[22]} #define add1(x) x++ :: atomic{remove1(M[22]) -> fire(X[23]); #define add2(x,y) x++; y++ add1(M[23]} #define fire(x) x++ :: atomic{remove1(M[23]) -> fire(X[24]); /* Process representing Petri Net */ add1(M[24]} init od { } M[0]=1; /* Set the initial marking */ (The PROMELA description of Petri Net shown in Fig. 4) do :: atomic{remove1(M[0]) -> fire(X[0]); 6.2. LTL formulas add1(M[1]} :: atomic{remove1(M[1]) -> fire(X[1]); The properties to be verified in SPIN have to add1(M[2]} be expressed as LTL formulas. LTL formulas :: atomic{remove1(M[2]) -> fire(X[2]); corresponding to to the response properties φ1, φ2 add1(M[3]} and φ3 to be verified can be rewritten as follows: :: atomic{remove1(M[3]) -> fire(X[3]); add1(M[4]} • φ1: Does the task “Setup payroll” will happen :: atomic{remove1(M[4]) -> fire(X[4]); after the tasks “Find candidates” ; add1(M[5]} LTL formula: [ ]((M [5] >= 1) − > <> :: atomic{remove1(M[5]) -> fire(X[5]); (M [21] >= 1)); add1(M[6]} :: atomic{remove1(M[6]) -> fire(X[6]); • φ2: Task “Study CVs” and task “Evaluate add2(M[7], M[12])} interviews” will be executed in parallel and after :: atomic{remove1(M[7]) -> fire(X[7]); task “Receive candidate CVs” ; add1(M[8]} LTL formula: [ ]((M [3] >= 1) − > <> :: atomic{remove1(M[8]) -> fire(X[8]); (M [12] >= 1 && M [8] >= 1)); add1(M[9]} • φ3: Task “Find candidates” will be executed :: atomic{remove1(M[8]) -> fire(X[8]); after the tasks “CV not approved” or “Not add1(M[17]} successful interviews”. :: atomic{remove1(M[9]) -> fire(X[9]); LTL formula: [ ]((M [15] >= 1 | | M [10] >= 1) add1(M[10]} − > <> (M [5] >= 1)). :: atomic{remove1(M[10]) -> fire(X[10]); add1(M[11]} 6.3. Experimental results :: atomic{remove1(M[11]) -> fire(X[11]); add1(M[5]} In this section, we give some statistics in order to :: atomic{remove1(M[12]) -> fire(X[12]); show the performance of our approach. We present add1(M[13]} the size, the memory and the verification time of the :: atomic{remove1(M[13]) -> fire(X[13]); verification of φ1, φ2 and φ3 on the Petri Net related add1(M[14]} to Fig. 4. :: atomic{remove1(M[13]) -> fire(X[13]); 7 Visual Specification Language and Automatic Checking of Business Process 100 El Hichami • Al Achhab • Berrada • El Mohajir We first investigated in Table 1 and Table 2 the REFERENCES results without Safety properties and with Liveness properties. ter Hofstede, A., van der Aalst, W., A., Weske, In Table 3 we present the results with Safety M. (2003) Business process management: A properties(invalid deadlock) and without Liveness survey. In Weske, M., ed.: Business Process properties. Management. Volume 2678 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg. Table 1: Experiments without Safety properties and with Liveness properties(acceptance cycles) Mohammed AbuJarour and Ahmed Awad. (2014) Web Services and Business Processes: A Round Trip. Web Services Foundations : pp. 3-29. States Transitions Memory Times (Mb) (s) OMG. (2011) Business Process Modeling Notation φ1 8310907 1.4110983e+08 1023.946 83.8 (BPMN) Version 2.0. OMG Final Adopted Specifi- φ2 8311225 1.2663418e+08 1023.946 74 cation. Object Management Group. φ3 8311136 1.2658587e+08 1023.946 71.5 T. Takemura. (2008) Formal semantics and verifica- tion of BPMN transaction and compensation. In Table 2: Experiments without Safety properties and Proc. of APSCC 2008, pp. 284-290. IEEE. with Liveness properties(acceptance cycles and enforce fairness property) J. W. Bryans, J. S. Fitzgerald, A. Romanovsky, and A. Roth. (2009) Formal modelling and analysis States Transitions Memory Times of business information applications with fault (Mb) (s) tolerant middleware. In Proc. of ICECCS 2009, pp. φ1 8059677 1.3712059e+08 1023.946 83.5 68-77. IEEE Computer Society. φ2 8059995 1.2277647e+08 1023.946 71.4 O. El Hichami, M. Al Achhab, I. Berrada and B. φ3 8047291 1.2276921e+08 1023.946 70.1 El Mohajir. Graphical specification and automatic verification of business process, the International Table 3: Experiments with Safety properties(invalid Conference on Networked systems. NETYS 2014, deadlock) LNCS 8593, Springer, pp. 1-6. W.M.P. van der Aalst and B.F. van Dongen. (2013) States Transitions Memory Times Discovering Petri Nets From Event Logs. T. Petri (Mb) (s) Nets and Other Models of Concurrency 7: 372- φ1 8059582 64672621 1023.946 27.2 422. φ2 8059582 57992022 1023.946 24.1 φ3 8004931 55834127 1023.946 25.6 Dirk Fahland, Cdric Favre, Jana Koehler, Niels Lohmann, Hagen Volzer, Karsten Wolf. (2011) Analysis on demand: Instantaneous soundness checking of industrial business process models. 7. CONCLUSION Data Knowl. Eng. 70(5): pp.448-466. The paper proposes a visual language for specifying T. Murata and J.Y. Koh (1989) Petri nets: Properties, business process behavior. We use BPMN to Analysis and Applications. an invited surve y modelize BP, Petri Net as underlying formal paper, Proceedings of the IEEE, Vol.77, No.4 foundations, and spin model checker to perform pp.541-580. automated analysis. The principal objective of this paper is to propose a graphical framework which use O. El Hichami, M. Al Achhab, I. Berrada, R. Oucheikh the same notation as established in BPMN. In this and B. El Mohajir. (2014) An Approach Of way the designer can specify and validate the BP Optimisation And Formal Verification Of Workflow properties during the design phase. Several formal Petri Nets. Journal of Theoretical and Applied semantics for these properties are expressed as Information Technology, Vol.61, No.3 pp. 486-495. temporal logic formulas. J.-H. Ye, S.-X. Sun, L. Wen, and W. Song. (2008) Transformation of BPMN to YAWL. In CSSE (2), pp. 354-359. IEEE Computer Society. L. Hillah, F. Kordon, L. Petrucci, and N. Trves. (2010) PNML Framework: an extendable reference implementation of the Petri Net Markup Language, LNCS 6128, pp. 318–327. 8 Visual Specification Language and Automatic Checking of Business Process 101 El Hichami • Al Achhab • Berrada • El Mohajir R. M. Dijkman, M. Dumas, and C Ouyang. (2007) Heljanko, K. (1997) Model checking the branching Formal semantics and analysis of BPMN process time temporal logic CTL, Research Report A45, models using Petri nets. Technical Report 7115, Helsinki University of Technology, Digital Systems Queensland University of Technology, Brisbane. Laboratory, Espoo, Finland. W.M.P. van der Aalst, B.F. van Dongen, C.W. G nther, G.J. Holzmann. (2005) The Model Checker Spin, R.S. Mans, A.K. Alves de Medeiros, A. Rozinat, Addison-Wesley, p.596, 2003. V. Rubin, M. Song, H.M.W. Verbeek, and A.J.M.M. Weijters. (2007) ProM 4.0: Comprehensive Sup- port for Real Process Analysis. In J. Kleijn and A. Yakovlev, editors, Application and Theory of Petri Net and Other Models of Concurrency (ICATPN 2007), volume 4546 of LNCS, Springer-Verlag, Berlin, pp. 484-494. Sherif Sakr, Ahmed Awad, Matthias Kunze. (2013) Querying Process Models Repositories by Aggre- gated Graph Search, in Springer Berlin Heidel- berg. Volume 132, pp 573-585. Decker, G., Overdick, H., Weske, M. (2008) Oryx - Sharing Conceptual Models on the Web. In: Conceptual Modeling - ER. LNCS 5231, Springer Verlag, pp. 536-537. Awad, A. (2007) BPMN-Q: A Language to Query Business Processes. In EMISA, pp. 115-128. Ivo Raedts, Marija Petkovic, Yaroslav S. Usenko, Jan Martijn E. M. van der Werf, Jan Friso Groote, and Lou J. Somers. (2007) Transformation of BPMN Models for Behaviour Analysis. MSVVEIS, INSTICC PRESS, pp. 126-137. W.M.P. van der Aalst. (1997) Verification of Workflow Nets. ICATPN 97, Volume 1248 of LNCS, pp. 407- 426. W.M.P. van der Aalst. (1998) The Application of Petri Net to Workflow Management. The Journal of Circuits, Systems and Computers, Vol.8, No.1, pp. 21-66. Kamel Barkaoui and Rahma Ben Ayed and Zohra Sba. (2007) Workflow Soundness Verification based on Structure Theory of Petri Net, IJCIS Journal, 51-62. Niels Lohmann, Eric Verbeek, Remco M. Dijkman. (2009) Petri Net Transformations for Business Processes - A Survey. T. Petri Net and Other Models of Concurrency 2. 46-63, Springer Berlin Heidelberg. Dijkman, Remco M., Dumas, Marlon, Ouyang, Chun. (2008) Semantics and analysis of business process models in BPMN. Information and Software Technology, 50(12), pp. 1281-1294. Z.MANNA, A.PNUELI. (1992) The temporal logic of reactive and concurrent systems, Springer-Verlag New York, Inc., New York, NY, USA. 9