Abstract
Both specification and verification of business processes are gaining more and more attention in the field. Most of the existing works in the last years are dealing with important, yet very specialized, issues. Among these, we can enumerate compensation constructs to cope with exceptions generated by long running business transactions, fully programmable fault and compensation handling mechanism, web service area, scope-based compensation and shared-labels for synchronization, and so on. The main purpose of this paper is to present a semi-automatized framework to describe and analyse business processes. Business analysts can now use a simple specification language (e.g., BPMN [Obj06]) to describe any type of activity in a company, in a concurrent and modular fashion. The associated programs (e.g., BPDs [Obj06]) have to be executed in an appropriate language (e.g., BPEL4WS [ACD+03]). Much more, they have to be confirmed to be sound, via some prescribed (a priori) conditions. We suggest how all the issues can be embedded in a unifying computer tool. We link our work with similar approaches and we justify our particular choices (besides BPMN and BPD): the TLA+ language for expressing the imposed behavioural conditions and Petri Nets ([EB87], [EB88]) to describe an intermediate semantics. In fact, we want to manage in an appropriate way the general relationship diagram (Fig. 1). Examples and case studies are provided.
Similar content being viewed by others
References
Altintas I, Berkley C, Jaeger E, Jones M, Ludascher B, Mock S (2004) Kepler: an extensible system for design and execution of scientific workflows. In: SSDBM ’04: proceedings of the 16th international conference on scientific and statistical database management. IEEE Computer Society, Washington, DC, p 423
Andrei S, Chin WN (2004) Incremental satisfiability counting for real-time systems. In: The tenth IEEE real-time and embedded technology and applications symposium (RTAS’2004), Toronto, Canada
Andrei S, Chin WN, Cheng AMK, Lupu M (2006) Automatic debugging of real-time systems based on incremental satisfiability counting. IEEE Trans Comput 55(7): 830–842
Andrews T, Curbera F, Dholakia H, Goland Y, Klein J, Leymann F, Roller KLD, Smith D, Thatte S, Trickovic I, Weerawarana S (2003) Business Process Execution Language for Web Services, version 1.1. BEA Systems, International Business Machines Corporation, Microsoft Corporation, SAP AG, Siebel Systems
Andrei S (1995) The determinant of the boolean formulae. Analele Universităţii Bucureşti, Informatică XLIV: 83–92
Andrei S (2004) Counting for satisfiability by inverting resolution. Artif Intell Rev 22(4): 339–366
Arkin A (2002) Business Process Modeling Language (BPML), version 1.0. Business Process Management Initiative, November
Bayens T (2004) The state of workflow. http://www.jboss.com/products/jbpm/stateofworkflow
Butler M, Ferreira C, Ng MY (2005) Precise modelling of compensating business transactions and its application to bpel. J Univers Comput Sci 11(5): 712–743
Cimatti A, Clarke E, Giunchiglia E, Giunchiglia F, Pistore M, Roveri M, Sebastiani R, Tacchella A (2002) Nusmv 2: an opensource tool for symbolic model checking. In: Proceedings of CAV’02, Lecture Notes in Computer Science. Springer, Heidelberg
Clarke EM, Emmerson EA (1982) Design and synthesis of synchronization skeletons using branching-time temporal logic. Lect Notes Comput Sci 131: 52–71
Curbera F, Khalaf R (2004) Implementing bpel4ws: The architecture of a bpel4ws implementation. In: GGF 10 Workshop: workflow in grid systems, Berlin, March 2004. IBM T.J. Watson Research Center
Chang C-L, Lee RC-T (1997) Symbolic logic and mechanical theorem proving. Academic Press, Orlando
Cook SA (1971) The complexity of theorem-proving procedures. In: STOC’71: proceedings of the third annual ACM symposium on theory of computing. ACM, New York, pp 151–158
Clarke EM, Wing JM, Alur R, Cleaveland R, Dill D, Emerson A, Garland S, German S, Guttag J, Hall A, Henzinger T, Holzmann G, Jones C, Kurshan R, Leveson N, McMillan K, Moore J, Peled D, Pnueli A, Rushby J, Shankar N, Sifakis J, Sistla P, Steffen B, Wolper P, Woodcock J, Zave P (1996) Formal methods: state of the art and future directions. ACM Comput Surv 28(4): 626–643
Davis M, Logemann G, Loveland D (1962) A machine program for theorem-proving. Commun ACM 5: 394–397
Dubois O (1991) Counting the number of solutions for instances of satisfiability. Theor Comput Sci 81: 49–64
Fernandez C, Best E (1987) Notations and terminology on petri net theory. Arbeitspapiere der GMD, p 195
Fernandez C, Best E (1988) Nonsequential processes. a petri net point of view. EATCS monographs on theoretical computer science
Ferrara A (2004) Web services: a process algebra approach. In: ICSOC’04: proceedings of the second international conference on service oriented computing. ACM, New York, pp 242–251
Giunchiglia E, Giunchiglia F, Sebastiani R, Tacchella A (2000) Sat vs. translation based decision procedures for modal logics: a comparative evaluation. J Appl Non-Classical Logics 10(2)
Garey MR, Johnson DS (1990) Computers and intractability; a guide to the theory of NP-completeness. W.H. Freeman, New York
Grumberg O, Long DE (1994) Model checking and modular verification. ACM Trans Programm Lang Syst 16(3): 843–871
BPMI Notation Working Group (2004) Business Process Modeling Notation (BPMN), version 1.0
Hylands C, Lee E, Liu J, Liu X, Neuendorffer S, Xiong Y, Zhao Y, Zheng H (2003) Overview of the ptolemy project
Holzmann GJ (2004) SPIN model checker, the: primer and reference manual. Addison–Wesley, Reading
Hooker JN (1993) Solving the incremental satisfiability problem. J Logic Programm 15(12): 177–186
Iwana K (1989) CNF satisfiability test by counting and polynomial average time. Siam J Comput 18(2): 385–391
Jifeng H, Huibiao Z, Geguang P (2007) A model for BPEL-like languages. J Front Comput Sci China 1(1): 9–19
Jahanian F, Mok AK (1986) Safety analysis of timing properties in real-time systems. IEEE Trans Softw Eng SE-12(9): 890–904
Jahanian F, Mok AK (1987) A graph-theoretic approach for timing analysis and its implementation. IEEE Trans Comput C-36(8): 961–975
Koehler J, Tirenni G, Kumaran S (2002) From business process model to consistent implementation: a case for formal verification methods. In: Proceedings of sixth IEEE international enterprise distributed object computing conference (EDOC), pp 96–106
Lamport L (1994) The temporal logic of actions. ACM Trans Program Lang Syst 16(3): 872–923
Lamport L (2002) Specifying systems: the TLA+ language and tools for hardware and software engineers. Addison–Wesley, Reading
Lawford MS (1987) Model reduction of discrete real-time systems. PhD thesis, University of Toronto, Canada
Object Management Group (2006) Business process modeling notation (BPMN), Final Adopted Specification, dtc/06-02-01
Peltz C (2003) Web services orchestration. a review of emerging technologies, tools and standards. Technical report, Hewlett Packard Co., January
Qiu Z, Wang S, Pu G, Zhao X (2005) Semantics of bpel4ws-like fault and compensation handling. In: FM, pp 350–365
Roj J, Owen M (2003) Bpmn and business process management—introduction to the new business process modeling standard. Technical report, BPMI Library. http://www.bpmi.org/downloads/LIB-2003-09-1.pdf, September
Sassone V (1994) Strong concatenable processes: an approach to the category of petri net computations. BRICS Report Series RS-94-33, BRICS
Salaün G, Bordeaux L, Schaerf M (2004) Describing and reasoning on web services using process algebra. In: ICWS’04: proceedings of the IEEE international conference on web services. IEEE Computer Society, Washington, DC, p 43
Thompson S (1991) Type theory and functional programming. Addison–Wesley, Reading
Tiplea FL, Jucan T, Masalagiu C (1991) Conditional petri net languages. J Inf Process Cybern (former E.I.K.) 1(27): 55–66
Tiplea FL, Tiplea A (2002) A simulation preorder for abstraction of reactive systems. In: Proceedings of VMCAI 2002, Springer, Heidelberg, pp 272–288
Turner KJ (2005) Formalising web services. In: FORTE, pp 473–488
Valiant LG (1979) The complexity of enumeration and reliability problems. SIAM J Comput 8(3): 410–421
van der Aalst WMP (2003) Inheritance of business processes: A journey visiting four notorious problems. Petri Net Technology for Communication-Based Systems, pp 383–408
Viroli M (2004) Towards a formal foundation to orchestration languages. Electr. Notes Theor Comput Sci 105: 51–71
White SA (2004) Introduction to BPMN. http://www.bpmn.org/Documents/IntroductiontoBPMN.pdf
Whittemore J, Kim J, Sakallah K (2001) SATIRE: a new incremental satisfiability engine. In: Proceedings of the 38th ACM/IEEE conference on design automation, pp 542–545
Yu Y, Manolios P, Lamport L (1999) Model checking TLA+ specifications. In: Conference on correct hardware design and verification methods, pp 54–66
Zhang W (1996) Number of models and satisfiability of sets of clauses. Theor Comput Sci 155(1): 277–288
Author information
Authors and Affiliations
Corresponding author
Additional information
by C.B. Jones and J.C.P. Woodcock
Rights and permissions
About this article
Cite this article
Masalagiu, C., Chin, WN., Andrei, Ş. et al. A rigorous methodology for specification and verification of business processes. Form Asp Comp 21, 495–510 (2009). https://doi.org/10.1007/s00165-009-0106-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-009-0106-y