=Paper=
{{Paper
|id=Vol-2245/modevva_paper_1
|storemode=property
|title=ProVer: An SMT-based Approach for Process Verification
|pdfUrl=https://ceur-ws.org/Vol-2245/modevva_paper_1.pdf
|volume=Vol-2245
|authors=Souheib Baarir,Reda Bendraou,Hakan Metin,Yoann Laurent
|dblpUrl=https://dblp.org/rec/conf/models/BaarirBML18
}}
==ProVer: An SMT-based Approach for Process Verification==
ProVer: An SMT-based Approach for Process Verification Souheib Baarir1, Reda Bendraou1, Hakan Metin1, Yoann Laurent2 1 Laboratoire d'Informatique de Paris 6, Paris, France FirstName.LastName@lip6.fr 2 IQVIA, laurent.yoann@gmail.com Abstract Inconsistencies can range from very basic syntactical errors, to more complex issues such as deadlocks, inconsistent Business processes are used to represent the enterprise’s allocation of resources and time on process’s activities or any business and services it delivers. They are also used as a proprietary business constraints that might be violated by means to enforce customer’s satisfaction and to create an potential process executions. added value to the company. It is then more than critical to seriously consider the design of such processes and to make Some process models, depending on the business domain (ex. sure that they are free of any kind of inconsistencies. Healthcare or military), can be very complex and may contain more than 250 activities with very sophisticated control and This paper highlights the issues with current approaches data flows, resource and time constraints [Christov for process verification and proposes a new approach called 14][Simidchieva 10]. Trying to analyze these processes and ProVer. Three important design decisions will be motivated: to verify them without the help of a tool would be 1) the use of UML AD as a process modeling language, 2) the unmanageable. In [Mendling 09], a study demonstrated that formalization of the UML AD concepts for process over 2000 inspected process models, 10% of these models verification as well as a well-identified set of properties in where unsound. An equivalent study on SAP repository first-order logic (FOL) and 3) the use of SMT (Satisfiability containing more than 600 complex process models Modulo Theories) as a mean to verify properties spanning demonstrated that more than 20% had flaws. [Mendling 06, different process’s perspectives in a very optimal way. The 07]. Similarly, Gruhn et al. [Gruhn 07] collected 285 EPC originality of ProVer is the ability for non-experts to express (Even-Driven Process Chains) from different sources i.e., properties on processes than span the control, data, time, and repositories, scientific papers, thesis, etc., and came to the resource perspectives using the same tool. conclusion that even though process models were syntactically correct, more than 38% of them were unsound. Introduction Finally, Vanhatalo et al. [Vanhatalo 07] analyzed more than Processes, whatever the field (ex. software, military or 340 Business process models with a focus and the control healthcare), are everywhere. They represent the building flow aspect to realize that half of them were invalid i.e., block of any information system nowadays. Business contained deadlocks or unreachable activities. processes are used to represent the enterprise’s business and More than 20 years after the introduction of business services it delivers. They are also used as a mean to enforce processes, it is quite surprising to realize that, despite the customer’s satisfaction and to create an added value to the different approaches and tools provided by the literature for company. Software processes are critical as well since they model verification, such ratio of errors still persist in the represent the guaranty to respect development process’s domain of process models. One possible reason could be the deadlines and to ensure a certain quality of the delivered complexity of some process models and the fact that they software, which in some cases will end up being the integrate different perspectives and properties that need to be company’s information system itself. It is then more than checked, each one requiring a specific tool or approach to critical to seriously consider the design of such processes and validate it [Gruhn 06]. to make sure that they are free of any kind of inconsistencies. In the following we give a motivating example to explain our point. Figure 1. The ProcessOrder business process example extracted from the UML Specification. Motivating Example. Process models are mainly driven process model [Peterson 81]. However, verifying the property by three perspectives: Control flow, Data flow and Resources. “is the invoice always produced after the execution of the Fill In addition, more complexity can be introduced by other Order action?” (cf. Figure 1), implies using data from the constraints related to the “Time” perspective as well as to system domain and imposes to use Colored Petri Nets some project’s specific business constraints (ex. some (CPN)[Jensen 87]. Even if Petri nets, with their different resources can be substitutable under some circumstances, variants, can represent anything defined in terms of an some activities can be skipped under some conditions, etc.). algorithm, this does not imply that the modeling effort is Figure 1 presents an example which highlights process acceptable. Hofstede's and Wohed’s paper [Hofstede 02] perspectives. The notation used is UML Activity diagrams. gives concrete examples of some Workflow Patterns that need The goal of this process is to manage the reception, very complex Petri nets extensions and tricks to represent processing, payment and shipping of customers’ orders. The them while this is expressed very naturally in UML Activity process contains 7 actions connected to control nodes diagrams (AD) [Wohed 05] or Business Process Modeling (DecisionNode, ForkNode…) and represents the control flow Notation (BPMN) [OMG 11] which are among the modeling perspective. The data perspective is represented through the languages that support most of the workflow patterns as so-called input/output Pins (see notation details in the figure). demonstrated in [Van der Aalst 03]. When it comes to the They represent what an action might require to trigger its properties to be checked on process models, most of the execution or what it might produce as the result of its approaches focus on the control flow aspect [Van der Aalst execution. Some organizational aspects/constraints are 11b], only a few of them address the data perspective [Awad annotated on the diagram such as the resources used by 09, Trcka 09, Knuplesch 10] or the time perspective [Eshuis actions (ex. BankConnector) and time constraints on top of 02, Guelfi 05, Watahiki 11]. No approach proposes to address each action in terms of hours. Time units could also be used all these perspectives in a unified way. For instance, in the instead. process depicted in figure 1, expressing a property such as “is it possible to reach the end of the process in less than 8 hours One way to validate such process models is to use formal while making sure that the invoice artifact is produced and verification techniques such as Model-Checking. In the field without using the BankConnector resource?” would be of business processes many approaches have been proposed challenging. for process verification [Eshuis 06, Wong 07, Liu 07, Trck 09, Fahland 09, Van der Aalst 11]. They address essentially what Another obstacle for the limited adoption of formal it is called soundness properties [Van der Aalst 11]. These techniques and approaches for process model verification in properties guarantee the absence of deadlocks, unreachable the industry comes from the process modelers’ resistance to activities, and other anomalies that can be detected without express process constraints and properties using formal domain knowledge. However none of these approaches was languages [Emerson 90, Smith 02, Keleppe 03, Awad 07 & really adopted in the industry [Morimoto 08]. Their 08]. Due to the lack of mathematical background, properties complexity, the requirement of a mathematical background to are usually expressed in natural language and then given to use them and very often, a lack of a user-friendly tooling experts that will translate these properties into a mathematical support was an obstacle for their adoption [Gruhn 06, formalism with the eventual risk of misinterpreting what was Mendling 09]. But more specifically, let’s illustrate what we initially required by the process modeler [Smith 02]. Other believe to be an issue in the current approaches and the process modelers would prefer going through the process problems we intended to contribute to with our work. In the model and double checking it or by adding some exception following we categorize the different issues we identified handlers in the process model and extra checks in order to after a review of the state of the art in the domain of software make sure that the process is sound. Of course, this is not and business process verification. A detailed review of the feasible in the case of complex and sophisticated process different approaches (more than 23) is given in [Laurent 18] models. These will definitely need a Model-Checking tool to ensure that the properties/constraints are satisfied whatever Identified issues in process verification. A major the process execution. LTL (Linear Temporal Logic) [Pnueli point with current process verification approaches is about the 77] or CTL (Computation Tree Logic)[Hafer 87] are usually formalism and tools they rely on for performing the used to express these properties. verification. Whatever the process modeling language (PML), a formal semantics is given to the language by mapping its Finally, current approaches and Model-Checking tools constructs to either variants of automata [Guelfi 05, Eshuis are not fully integrated to process modeling tools and the 06], Petri nets [Van der Aalst 98 & 11, Trcka 09, Fahland 09, verification workflow is not always fully automated. Some Jung 10] or process algebra [Wong 07, Liu 07]. However, this translation steps of the process models and of the properties to means that we are relying on the semantics of the targeted be checked towards the verification formalism have to be formal language concepts in terms of expressiveness, e.g. done manually in some approaches [Van der Aalst 99, Petri Nets, instead of the modeling language itself. For Dijkman 08]. Moreover, usually the results of the verification instance, if one wants to check the following in case of a counter-example is found is not explicitly property/constraint: “is the Close Order action always reported graphically on the process model so that the process executed?”, he can use classical Petri nets to represent the modeler can clearly identify the problem. Instead, the existing approaches propose a list of states representing the process semantics of UML AD is given in natural language in the execution that failed. standard specification which could be ambiguous and a source of misinterpretations. However, the OMG (Object In conclusion, the issues we identified during a thorough Management Group) issued a new standard called fUML study of the literature for process model verifications are: 1) (Semantics of a Foundational Subset for Executable UML the need to rely on the semantics of a target formal language Models) that aims at giving a precise semantics to a subset of which may limit the expressiveness of process models; 2) the UML [OMG 11b]. The operational semantics of this subset inability of current approaches to support the different process are given in a pseudo java-code which is supposed to reduce perspectives (control flow, data flow, time and resources) in a ambiguity however; there are no mathematical and formal unified way; 3) lack of a user-friendly tooling support which representations of this semantics that can be used discourages the use of the current approaches and limits their straightforwardly as input to model-checking tools. adoption by the industry. To face this issue, we decided to provide a formalization In the following section we draw the main lines of our of UML AD semantics based on the fUML specification approach for process verification called ProVer. Three instead of relying on a translation of UML AD towards important design decisions will be highlighted and motivated: other formalisms such as Petri nets for instance. We aimed 1) the use of UML AD as a process modeling language, 2) the to define a formal model of fUML using First-Order Logic formalization of the UML AD concepts for process (FOL). The formalization addresses a subset of fUML that verification as well as a well-identified set of properties in includes the set of concepts required for process modeling as first-order logic (FOL) and 3) the use of SMT (Satisfiability identified in [Bendraou 05]. Current formalizations proposed Modulo Theories) as a mean to verify properties spanning in the literature focus mainly on the control-flow aspects of different process’s perspectives in a very optimal way. the process preventing to verify many kinds of properties Section 3 gives more details about the role of SMT in ProVer related to data-flow, resources and timing constraints [Van der while Section 4 will detail the tooling support and the Aalst 11]. Therefore, our formalization covers both control validation aspects. Section 5 concludes this work and draws and data-flow of the process through the use of the UML AD future steps of this contribution notations and takes into account organizational data such as ProVer: a framework for Process resources and time constraints. Verification At this aim, we have formally reduced the representation of a software process to a vertex-labeled graph. Each graph's The traditional approach to achieve the verification of a node corresponds to a UML Activity node according to its model (a process model in our case) with respect to a given type (i.e. Control, Executable or Object Node). Each graph's property consists beforehand in defining the two entities arc corresponds to a UML Activity edge (i.e. Control or formally: a) the process modeling language concepts and b) Object Flow). The execution semantics of this formalism is the properties to be verified. A process model is then based on the notions of states, enabling and firing of submitted to a so-called model-checker tool, which will transitions, similar to those used in the Colored Petri Nets answer the question of (un)satisfaction of the given property [Jensen 87]. To be able to reason about each dimension of the by the process model. process, the formalization covers both control and data-flow In the following sub-sections, we will detail our design of the process through the use of the AD notations, and takes choices and contributions regarding the ProVer framework. into account the associated organizational data such as resources and timing constraints. We partially published this UML Activity Diagram formalization for process modeling: formalization in [Laurent 14] and we extended it for the our choice of UML as PML was mainly driven by the purpose of this work in order to cover more UML Concepts. following arguments: Due to space constraints we can introduce it here but the - UML is a standard and widespread modeling language in interested reader can find it in [Laurent 18]. the industry with a mature tooling support. Once we had formalized the UML AD in FOL, we opted - UML AD has proven to be a good candidate as PML in for an implementation based on Satisfiability Modulo many works presented in the literature [Bendraou 10]. Theories (SMT) technologies. SMT is an area of automated deduction that studies methods for checking the satisfiability - UML AD has proven to be one of the most expressive of first-order formulas with respect to some logical theory T languages in terms of satisfying the so well-known of interest [Barret 09]. What distinguishes SMT from general workflow patterns as presented by [Van Der Aalst 03]. automated deduction is that the background theory T need not However, the approach presented here can be applied to any be finitely or even first-order axiomatizable, and that PML such as BPMN but a formalization of BPMN concepts is specialized inference methods are used for each theory. By required in order to achieve that. This represents the cost to being theory-specific and restricting their language to certain adapt our approach to other PMLs. classes of formulas (such as, typically but not exclusively, quantifier-free formulas), these specialized methods can be One of the main challenges we had to face was that the implemented in solvers that are more efficient in practice than general-purpose theorem provers. Typical theories of interest possible process's executions. They are related to the Time include formalizations of various forms of arithmetic, arrays, and Resource perspectives of a process. Examples of such finite sets, bit vectors, algebraic datatypes, strings, floating properties are to make sure, for instance, that the process or an point numbers, equality with uninterpreted functions, and activity will terminate before a given deadline whatever the various combinations of these. These theories are supported execution path, make sure that there will be enough agents to by a standard called SMT-LIB perform the activities of the process, etc. A detailed [http://smtlib.cs.uiowa.edu/language.shtml] and are identification and formalization of such properties are then implemented in many efficient solvers (z3, Yices, CVC4, etc.) required in order to verify them on process models and to Category Definition (1) Syntactical SynWorkflow Syntactical errors on the process (e.g. the source and target of an edge are different) Syntactical errors on the organizational part of the process (e.g. the same agent cannot be SynOrganizational assigned more than one time to the same activity) (2) Soundness OptionToComplete A started process can always complete ProperCompletion No other activity should be running when the process terminates NoDeadTransition All the activities must be reachable Soundness with data MissingData Data is always present when needed (e.g. no data missing to start an activity) UselessData Data created is always used (e.g. no data created but never used before the process ends) Data can never be in an inconsistent state (e.g. no data modified by multiple activities in InconsistentData parallel) (3) Organizational There is enough time to perform the activities (e.g. the process will terminate before X InTime hours/days) MissingResource No missing resource to start an activity (e.g. there are enough agents to do the process) InefficientResourceUse No resources that are inefficiently used (e.g. the agents have always activity to do) (4) Business ExistenceActivity A is executed more / less / (between) X (and Y) times ExistenceTimeActivity A is executed before / after / (between) X (and Y) time unit ExistenceTimeData ArtefactA is available before / after/(between) X (and Y) time unit ExistenceTimeResource ResourceA is used before / after/(between) X (and Y) time unit Relation A is executed before / after / in-parallel / in-exclusion / (between) B (and C) RelationData ArtefactA is available before /after / in-exclusion of ArtefactB ArtefactA is available before / after/in-parallel / in-exclusion / (between) the execution of B RelationActivityData (and C) LogicBased e.g. Existence(A) implies Existence(B) else Existence(C) …. e.g. Existence(A) implies (ExistenceData(ArtefactA) and ExistenceData(ArtefactB)) Table 1. Overview of the software properties we identified Categorization of process perspectives and properties: as integrate them into our process verification tool. mentioned earlier, the literature addresses essentially what it Once we formalized the UML AD, we also formalized a is called soundness properties [Van der Aalst 11] which aim set of process properties that we identified through a detailed to detect some Behavioral issues on process executions vs. study of the literature. This set addresses the four process Syntactical errors. Business processes and more particularly aspects introduced earlier (Control and Data flow, Time and software processes are concerned with additional and critical Resources) plus another one that we called Business constraints related to their human-oriented nature. They imply properties which refers to every project’s specific constraints many creative tasks that rely on many factors such as time, that have to be defined by the process modelers depending on human agents and resource management. The success of a the project’s context. This set comes in the form of a library software process depends also on the application of many best of properties described both in natural language and LTL practices and organizational constraints. We call these which is the logic we have chosen to express our properties constraints Organizational properties and we consider them as and which covered all of them in terms of expressivity. In a a subcategory of Behavioral properties since a state space separate work [Khelladi 15], we also studied the four most exploration is required to guarantee their preservation for all used software development methods namely RUP, SCRUM, the result into the process model editor. XP and KANBAN in order to extract from each of them, a set In the following sections we will zoom-in SMT choice of best practices and constraints that should be enforced and the translation details. We will give examples of some during the development process. This resulted in a ready-to- concepts and properties expressed in SMT before to present use library of constraints that we integrated to our process the graphical interface of our tool. A user guide of the tool modelling and verification tool so process modelers can presenting all the details of the GUI is given here annotate their process models with one of these [Bendraou16]. Use of SMT for process verification The verification process that we adopted is the well- known Bounded Model Checking (BMC) procedure [Clarke01]. Classically, this procedure inputs, 1) an initial state (for the system), 2) the transition relation, 3) a property to verify and, 4) a length bound k, then outputs the (un)satisfaction of the of system w.r.t the property up the bound k. The implementation of such a procedure is done by Figure 2. ProVer: overview of the approach constructing a logical formula that is satisfiable if and only if properties/constraints to make sure that the process model the underling transition system can realize a sequence of k doesn’t violate any of them. state transitions that satisfy the property. If such a path Table 1 depicts the set of properties we identified and segment cannot be found at the given length k, the search their categorization. continues for larger k. The procedure is symbolic, i.e., symbolic Boolean variables are utilized; thus, when a check is Now that we have introduced the formalization of both the done for a specific path segment of length k, all path segments PML and the properties, the next sub-section gives an of length k are being examined. The formula that is formed is overview of the ProVer tool. given to a satisfiability solving program and if a satisfying Overview of the approach. In this section, we briefly assignment is found, that assignment is a witness for the path highlight the different steps required to run a process model segment of interest. verification using ProVer, then we present its internal architecture and the steps we followed in order to build this framework. First, the process modeler needs either to design a process model or to import an existing one (see (1) in figure 2). In our tool, UML AD is used as a process modeling language. Secondly, the process modelers can choose among the library of predefined properties proposed by ProVer and which Figure 3. A process model with UML AD representing a covers different process perspectives (Control/ Data flow, selling process Time or Resources). This is done either by checking boxes If the formula is propositional and not very large then a basic (see (2.a) in figure 2) or by using an annotation-based Boolean SAT-solver can solve it efficiently. Things become language we defined in [Khelladi 15] (see (2.b) in figure 2). more complicated when the formula is FOL! Actually, a first Process models and the properties are then translated into attempt to solve such formula is to transform it to SMT specification which implements the semantics of UML propositional one and use SAT-solvers. However, this AD as defined by our FOL formalization and based on the transformation is memory and time consuming and, most of fUML standard (see (3) in figure 2). The SMT solver all degenerative! For example, when comparing two 32-bits performs the verification (see (4) in figure 2) and if a counter- integer variables, we have to use 64 binary variables and example is found, this is highlighted in the process model compare them bitwise. So, the approach will have serious editor on the process model in red with a message of the efficiency issues when the treated models are large. unsatisfied property (see (5) in figure 2). The other option is to explore Satisfiability Modulo Theories As we can see in the figure, the steps we followed in order to (SMT). This area handles FOL formulae directly by use of realize ProVer were 1) formalization of UML AD semantics simple transformation based on the SMT-LIB standard as well as the set of properties in FOL; 2) implementation of [Barret 15]. The SMT option seems to be very promising and the UML AD / Properties semantics and UML AD syntax in is strengthened by the results obtained by SMT-solvers in the SMT; 3) implementation of the translations from UML AD/ last SMT competitions (2014 and 2015). Properties specifications => SMT; 3) graphical integration of Property Alloy4SPV ProVer Speed Up Result Check Completion 24 0.8 30 Verified Run Completion 33 1.5 22 Model Found Check Total Time 6 154 2 64 Verified Run Total Time 6 63 2 23 Model Found Check Existence Reserve Counter Example 20 2 10 Stock = 0 Found Run Existence Reserve 22 1 22 Model Found Stock = 0 Table 2. Alloy approach (Alloy4SPV, with Alloy Analyzer) Vs. SMT-based approach (ProVer with z3 solver), performance for properties expressed on the process on figure 3. ProcessModel er Front-end << > UML fUML> AD Verification Obeo plugin Tool VerificationQuery:ProcessPrope ProcessModel:UMLA rty < > FOL2SMT Translator Back-end VerificationQuery:SMTProble ProcessModel:SMTProblem m < > SMT- Solver VerificationResult : SMTSolution Figure 4. Architecture of the ProVer tool Actually, solvers, like z3 (form Microsoft), Yices (from some properties verification on another example, the OpenUP SRI International), show their ability to solve very process, not presented here. The next section gives more complicated problems (from both academic and industrial details about ProVer architecture. worlds) in a reasonable time. Tooling support: architecture and To give an idea on the effectiveness of our SMT-based approach, we use an example representing a selling process validation. (see Figure. 3). The process includes 7 activities and 4 The architecture of our tool is highlighted in Fig. 4. It is based decision nodes (one from each type). Table 2 shows some on the two classical layers: the front-end and the back-end. results comparing our SAT-based approach (implemented in The former allows the interaction with the final user in a Alloy4SPV [Laurent 14b]) with respect to the SMT-based friendly graphical way. It inputs the UML AD representing one. The first column of Table 2 represents the checked the business process as well as the properties to be analysed. properties, while the second highlights the execution time (in It outputs the result of the verification. The Obeo UML Tool seconds) with Alloy4SPV. The third column mentions the component is dedicated to the input of the studied process execution time of our ProVer tool (SMT-based) and the last model and the output of the verification result, while the column exhibits the result of the verification. We can clearly FUML AD Verification plugin component deals with the input notice here the efficiency of our SMT-based approach just by of the properties to be verified. It is worth noting that no looking the speed up we obtain for each property. mathematical background is needed to operate these inputs The results obtained so far are very interesting i.e. 64x and interpret the results. All the properties can be selected faster in the example shown above and up to 92x faster for through an integrated and ready to use library of properties. Due to space limit we can’t present in details the GUI of the - fireStart(Dec,t) = (and (= (select XToDec (+ t 1)) (- (select XToDec t) 1)) tool but a user guide can be found here [Bendraou 16]. A ; Remove a token from XToDec java-like annotation language has also been developed to ease (= (select Dec (+ t 1)) (+ (select Dec t) 1)) ; Add a token to Dec the specification of customized properties [Khelladi 15]. (= (select DecToY (+ t 1)) (= (select DecToY t) 1)) The two other components are FOL2SMT Translator and the ; Between t and t+1 instants the marking of DecToY must remain the same SMT-solver components form the back-end. The former is the (= (select DecToZ (+ t 1)) (= (select DecToZ t) 1)) heart of the tool. It implements the verification request of the ; Between t and t+1 instants the marking user as a FOL formula that is written in the SMT-LIB of DecToZ must remain the same ) language. The produced SMT problem is then submitted to - fireFinish(Dec,t) = (and (= (select Dec (+ t 1)) the SMT-solver component that resolves it. The result of that (- (select Dec t) 1)) ; Remove a token from XToDec resolution is a feedback that is directly highlighted in the (= (select XtoDec (+ t 1)) (select XToDec t)) process model editor tool in a user friendly way. If the ; Between t and t+1 instants the marking of XToDec must remain the same property is violated then an example (a path) of such a (or (and (= (select DecToY (+ t 1)) violation is highlighted. (+ (select DecToY t) 1)) Since the most complicated part in our tool is the one (= (select DecToZ (+ t 1)) (select DecToZ t))) dedicated to the translation of a FOL formula to the SMT-LIB ; Move the token to DecToY (choice 1) language, let us give some hints about its implementation by (and (= (select DecToY (+ t 1)) (select DecToY t)) mean of a very simple example. (= (select DecToZ (+ t 1)) (+ (select DecToZ t) 1))) Consider the Figure 5. A decision node in an AD ; Move the token to DecToZ (choice 2) AD element of )) figure 5. It is a Actually, we operate such a transformation for all decision node elements of AD that are necessary for the modeling of (called Dec), that business processes. The implementation of this transformation inputs the XtoDec needed nearly 2000 lines of code in java. arc and outputs two arcs: DecToY and Conclusion DecToZ. According The most important contributions of this work are (i) the to the semantics identification of a reusable and configurable library of defined in [Laurent 14], the execution of such a node properties addressing all the process aspects (control, data considers two situations: (i) the node is ready to start; (ii) the flow, time and resources), (ii) the formalization of this node is ready to finish. The former case is identified by the library as well as the UML AD semantics in first order presence of a token on the input arc and the absence of any on logic. This makes these definitions reusable for any other the decision node. In this case, the resulting action consists in purposes such as the mapping to other model-checker moving the token from the input arc to the node. The later formalism. In our case we opted for SMT theories. case is formalized by the presence of token on the decision node. Here, the resulting action is to move the token from the The second undeniable contribution is the integration node to one of the outputs (chosen arbitrarily). and the verification of all process perspectives in a unified and integrated way thanks to our formalization and of our If we note by enableStart(Dec, t) the predicate that use of SMT theories, within a user-friendly tool for process represents the case (i) at time stamp t and enableFinish(Dec,t) verification and execution. This framework has been adopted the predicate that represents the case (ii) at time stamp t, then by our MeRGE industrial partners (European project) using the SMT-LIB language we can write: [MeRGE 12] and integrated to the MeRGE platform, an EMF - enableStart(Dec,t)=(and (>(select XToDec t) eclipse framework for the development of safety critical 0) (=(select Dec t)0) systems. - enableFinish(Dec,t) = (>(select Dec t)0) Regarding our feedback using SMT for process Actually, Dec, XtoDec, DecToY and DecToZ are verification it can be summarized in the following points: (1) represented as arrays of integers indexed by integers. Each handling complex constraints in a compact way, hence saving entry of these arrays defines the “marking” (number of memory; (2) treating specific constraints with dedicated tokens) of the element at the given time stamp. For example, algorithms, hence saving time. (select Dec t) returns the marking of Dec at time t. We are currently working on the validation of our Similarly, if we consider fireStart(Dec,t) as the predicate approach on bigger process models from the Healthcare that starts the execution of the decision node at time stamp t, domain (more than 200 activities). We are also investigating while fireFinish(Dec,t) the one that terminates its execution, the difference in performance according the property checked we obtain the following encoding: and the solver used. Indeed, in our experiments, the verification time for some properties was different from one solver into another. [Mendling 06] J an Mendling et al.. Faulty epcs in the sap reference References model. In Buss. Proc. Manag., pp 451–457. Springer, 2006. [Awad 07] Awad. Bpmn-q : A language to query business processes. [Laurent 14] Y. Laurent et al. “Formalization of fUML: An Application to In EMISA, volume 119, pages 115–128, 2007 Process Verification”, CAiSE 2014, Springer, pp . 347-363 [Awad 09] A. Awad et al. “Specification, verification and explanation of [Laurent 14b] Y. Laurent et al. Alloy4SPV : a Formal Framework for violation for data aware compliance rules”. In Service-Oriented Software Process Verification, 10th ECMFA, LNCS, pp.83-100, 2014 Computing, pp 500–515. Springer, 2009 [Laurent 18] Y. Laurent’s PhD Thesis document, LIP6, March 2018, [Barret 09] C. Barrett et al. Satisfiability Modulo Theories. In A. Biere, https://drive.google.com/open?id=14p9i4ulLacjdUIgFhZKUVI0wfQa4x6hP Marij J. H. Heule, H. van Maaren, and T. Walsh, editors, Handbook of [Liu 07]Liu, Y., et. al.: A static compliance-checking framework for Satisfiability, Vo. 185, chapter 26, pp 825–885. IOS Press, Feb. 2009. business process models. IBM Systems Journal 46(2) (2007) 335-361 [Barret 15] C. Barrett et al. The SMT-LIB Standard: Version 2.5. In [Mendling 07] Jan Mendling, Gustaf Neumann, and Wil Van Der Aalst. Tec. report of Dep. of Comp. Science, The University of Iowa. 2015. Understanding the occurrence of errors in process models based on [Bendraou 05] R. Bendraou et al. "UML4SPM : A UML2.0-Based metrics. In On the Move to Meaningful Internet Systems 2007 : metamodel for Software Process Modeling", in Proceedings of the CoopIS, DOA, ODBASE, GADA, and IS, pp 113–130. Springer, 2007. ACM/IEEE 8th International Conference on Model Driven Engineering [Mendling 09] Jan Mendling. Empirical studies in process model Languages and Systems (MoDELS’05), Montego Bay, Jamaica, Oct. verification. In TPNOMC II, pp 208–224. Springer, 2009. 2005, LNCS, Vol. 3713, PP 17-38 [MeRGE 12] Merge, ITEA project, safety & security. http://www.merge- [Bendraou 10] R. Bendraou et al. “A comparison of six uml-based project.eu/. last vist Oct 2015. languages for software process modeling”.Trans. Software Eng. 2010 [Morimoto 08] S.Morimoto. A survey of formal verification for business [Bendraou 16] ProVer Guide: process modeling. In Computational Science–ICCS 2008, pages 514– https://pagesperso.lip6.fr/Reda.Bendraou/sites/Reda.Bendraou/IMG/p 522. Springer, 2008 df/prover_user_guide.pdf [OMG 11] Object Management Group (OMG). Business process [Christov 14] S.C. Christov, G. S. Avrunin , L.A. Clarke, American model and notation (bpmn) version 2.0, jan 2011 Medical Informatics Association Annual Symposium (AMIA 2014), [OMG 11b] OMG. Semantics of a foundational subset for executable November 15-17, 2014, Wash., DC, pp. 395-404. (UM-CS-2014-022) uml models (fuml) version 1.0. http: //www.omg.org/spec/FUML/, 2011 [Clarke01] E. Clarke et al. Model Checking Using Satisfiability Solving. [Peterson 81] Peterson J.L. Petri net theory and the modeling of In journal of FMSD. Kluwer Academic Publishers. July 2001. systems. 1981. 5, 29 [Dijkman 08] R.M. Dijkman et al. “Semantics and analysis of business [Pnueli 77] A. Pnueli. The temporal logic of programs. In FCS, pp 46– process models in bpmn”. Information and Software Technology, 57. 1977. 50(12) :1281–1294, 2008 [Simidchieva 10] B I. Simidchieva, et al., Proceedings of the 2010 [Eshuis 02] Eshuis H. “Semantics and verification of uml activity Electronic Voting Technology Workshop/Workshop on Trustworthy diagrams for workflow modelling”. 2002 Elections (EVT/WOTE '10), August 9-10, 2010, Washington, DC. [Emerson 90] E.A. Emerson. Temporal and modal logic. “Handbook of [Smith 02] R.L Smith et al. An approach supporting property Theoretical Computer Science” Volume B. Formal Models and elucidation. In Proceedings of the 24th ICSE., pp 11–21. ACM, 2002 Semantics (B), 995 :1072, 1990 [Trcka 09] N. Trcka et al. Data-flow anti-patterns: Discovering data- [Eshuis 06] H. Eshuis. “Symbolic model checking of uml activity flow errors in workflows. In CAISE, Springer (2009). 425-439. diagrams”. TOSEM 15(1), (2006) 1-38 [Van der Aalst 98] van der Aalst, W.M.: The application of petri nets to [Fahland 09] D. Fahland et al. “Instantaneous soundness checking of workflow management. JCSC 8(01) (1998) 21-66. industrial business process models”. BPM. 2009. 278-293 [Van der Aalst 99] van der Aalst, W.M. Formalization and verification [Hafer 87] Hafer and Wolfgang Thomas. “Computation tree logic ctl* of event-driven process chains. IST, 41(10): 639–650, 1999 and path quantifiers in the monadic theory of the binary tree”. In Automata, Lang. and Prog., pp 269–279. Springer 1987 [Van Der Aalst 03] van Der Aalst, W.M., Ter Hofstede, A.H., Kiepuszewski, B., Barros, A.P.: Workflow patterns. Distributed and [Hofstede 02] T.Hofstede, A.: Workflow patterns: On the expressive parallel databases 14(1) (2003) 5, 51 power of petri-net-based workflow languages. In: of DAIMI, University of Aarhus, Citeseer (2002) [Van der Aalst 11] van der Aalst,et al. “Soundness of workflow nets: classification, decidability, and analysis”. Formal Aspects of [Guelfi 05]Guelfi, N., Mammar, A.: A formal semantics of timed activity Computing 23(3) (2011) 333-363 diagrams and its promela translation. In: Software Engineering Conference, 2005. APSEC'05. 12th Asia-Pacific, IEEE (2005) [Vanhatalo 07] J.Vanhatalo et al.. Faster and more focused control- flow analysis for business process models through sese [Gruhn 06] V. Gruhn and R.Laue. “Complexity metrics for business decomposition. In ICSOC 2007, pp 43–55. Springer, 2007. 3, 33, 143 process models”. In 9th international conference on business information systems (BIS 2006), volume 85, pages 1–12, 2006. [Watahiki 11]K. Watahiki et al. Formal verification of business processes with temporal and resource constraints. In Systems, Man, [Gruhn 07] V.Gruhn and R. Laue.” What business process modelers and Cybernetifcs (SMC), pp1173–1180., 2011 can learn from programmers”. S. of Comp. Prog., 65(1) :4–13, 2007. [Wohed 05] Wohed et al. Pattern-based analysis of the control-ow [Khelladi 15]D. Khelladi et al. A framework to formally verify perspective of uml activity diagrams. In: Conceptual Modeling ER conformance of a software process to a software method. SAC 2015 : 2005. Springer (2005) 63-78 1518-1525 [Wong 07] Wong, P., Gibbons, J.: A process-algebraic approach to [Knuplesch 10] D. Knuplesch et al. On enabling data-aware workflow specification and refinement. In: Software Composition, compliance checking of business process models. Con. Modeling–ER Springer (2007) 51-65 2010, pages 332–346, 2010 [Kleppe 03] A. Kleppe et al. The model driven architecture: practice and promise, 2003 [Jensen 87] K. Jensen. Coloured petri nets. Springer, 1987 [Jung 10] Jung, H.T., Joo, S.H.: Transformation of an activity model colored petri net model. In: TISC, IEEE (2010) 32-37