Advertisement

How to Implement a Theory of Correctness in the Area of Business Processes and Services

  • Niels Lohmann
  • Karsten Wolf
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6336)

Abstract

During the previous years, we presented several results concerned with various issues related to the correctness of models for business processes and services (i. e., interorganizational business processes). For most of the results, we presented tools and experimental evidence for the computational capabilities of our approaches. Over the time, the implementations grew to a consistent and interoperable family of tools, which we call service-technology.org .

This paper aims at presenting this tool family service-technology.org as a whole. We briefly sketch the underlying formalisms and covered problem settings and describe the functionality of the participating tools. Furthermore, we discuss several lessons that we learned from the development and use of this tool family. We believe that the lessons are interesting for other academic tool development.

Keywords

Business Process Model Check Business Process Model Operating Guideline Partial Order Reduction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    van der Aalst, W.M.P.: The application of Petri nets to workflow management. Journal of Circuits, Systems and Computers 8(1), 21–66 (1998)CrossRefGoogle Scholar
  2. 2.
    van der Aalst, W.M.P., van Dongen, B.F., Günther, C.W., Mans, R.S., de Medeiros, A.K.A., Rozinat, A., Rubin, V., Song, M., Verbeek, H.M.W.E., Weijters, A.J.M.M.T.: ProM 4.0: Comprehensive support for real process analysis. In: Kleijn, J., Yakovlev, A. (eds.) ICATPN 2007. LNCS, vol. 4546, pp. 484–494. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    van der Aalst, W.M.P., Hofstede, A.H.M.t.: YAWL: yet another workflow language. Inf. Syst. 30(4), 245–275 (2005)CrossRefGoogle Scholar
  4. 4.
    Alves, A., et al.: Web Services Business Process Execution Language Version 2.0. OASIS Standard, OASIS (2007)Google Scholar
  5. 5.
    Badouel, E., Darondeau, P.: Theory of regions. In: Reisig, W., Rozenberg, G. (eds.) APN 1998. LNCS, vol. 1491, pp. 529–586. Springer, Heidelberg (1998)Google Scholar
  6. 6.
    Beck, K.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley, Reading (2005)Google Scholar
  7. 7.
    Berthelot, G., Lri-Iie: Checking properties of nets using transformation. In: Rozenberg, G. (ed.) APN 1985. LNCS, vol. 222, pp. 19–40. Springer, Heidelberg (1986)CrossRefGoogle Scholar
  8. 8.
    Billington, J., Christensen, S., van Hee, K.M., Kindler, E., Kummer, O., Petrucci, L., Post, R., Stehno, C., Weber, M.: The Petri net markup language: Concepts, technology, and tools. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 483–505. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Carmona, J., Cortadella, J., Kishinevsky, M.: Genet: a tool for the synthesis and mining of Petri nets. In: ACSD 2009, pp. 181–185. IEEE, Los Alamitos (2009)Google Scholar
  10. 10.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  11. 11.
    Cortadella, J., Kishinevsky, M., Kondratyev, A., Lavagno, L., Yakovlev, A.: Petrify: A tool for manipulating concurrent specifications and synthesis of asynchronous controllers. Trans. Inf. and Syst. E80-D(3), 315–325 (1997)Google Scholar
  12. 12.
    Dadam, P., Reichert, M.: The ADEPT project: a decade of research and development for robust and flexible process support. Computer Science - R&D 23(2), 81–97 (2009)Google Scholar
  13. 13.
    Decker, G., Kopp, O., Leymann, F., Weske, M.: BPEL4Chor: Extending BPEL for modeling choreographies. In: ICWS 2007, pp. 296–303. IEEE, Los Alamitos (2007)Google Scholar
  14. 14.
    Decker, G., Overdick, H., Weske, M.: Oryx - an open modeling platform for the BPM community. In: Dumas, M., Reichert, M., Shan, M.-C. (eds.) BPM 2008. LNCS, vol. 5240, pp. 382–385. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Desel, J., Esparza, J.: Free Choice Petri Nets. Cambridge University Press, Cambridge (1995)zbMATHCrossRefGoogle Scholar
  16. 16.
    Dumas, M., Spork, M., Wang, K.: Adapt or perish: Algebra and visual notation for service interface adaptation. In: Dustdar, S., Fiadeiro, J.L., Sheth, A.P. (eds.) BPM 2006. LNCS, vol. 4102, pp. 65–80. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Fahland, D.: Translating UML2 Activity Diagrams Petri nets for analyzing IBM WebSphere Business Modeler process models. Informatik-Berichte 226, Humboldt-Universität zu Berlin, Berlin, Germany (2008)Google Scholar
  19. 19.
    Fahland, D., Favre, C., Jobstmann, B., Koehler, J., Lohmann, N., Völzer, H., Wolf, K.: Instantaneous soundness checking of industrial business process models. In: Dayal, U., Eder, J., Koehler, J., Reijers, H.A. (eds.) Business Process Management. LNCS, vol. 5701, pp. 278–293. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  20. 20.
    Berkelaar, M., et al.: lpsolve: Mixed Integer Linear Programming (MILP) Solver, http://lpsolve.sourceforge.net
  21. 21.
    Fu, X., Bultan, T., Su, J.: Conversation protocols: a formalism for specification and verification of reactive electronic services. Theor. Comput. Sci. 328(1-2), 19–37 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Gierds, C., Mooij, A.J., Wolf, K.: Specifying and generating behavioral service adapter based on transformation rules. Preprint CS-02-08, Universität Rostock, Rostock, Germany (2008)Google Scholar
  23. 23.
    Gottschalk, K.: Web Services Architecture Overview. IBM whitepaper, IBM developerWorks (2000), http://ibm.com/developerWorks/web/library/w-ovr
  24. 24.
    Hamez, A., Hillah, L., Kordon, F., Linard, A., Paviot-Adet, E., Renault, X., Thierry-Mieg, Y.: New features in CPN-AMI 3: focusing on the analysis of complex distributed systems. In: ACSD, pp. 273–275. IEEE, Los Alamitos (2006)Google Scholar
  25. 25.
    van Hee, K.M., Oanea, O., Post, R., Somers, L.J., van der Werf, J.M.E.M.: Yasper: a tool for workflow modeling and analysis. In: ACSD 2006, pp. 279–282. IEEE, Los Alamitos (2006)Google Scholar
  26. 26.
    Hinz, S., Schmidt, K., Stahl, C.: Transforming BPEL to Petri nets. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 220–235. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  27. 27.
    Kaschner, K.: Safira: Implementing set algebra for service behavior. In: CEUR Workshop Proceedings, ZEUS 2010, vol. 563, pp. 49–56. CEUR-WS.org (2010)Google Scholar
  28. 28.
    Kaschner, K., Wolf, K.: Set algebra for service behavior: Applications and constructions. In: Dayal, U., Eder, J., Koehler, J., Reijers, H.A. (eds.) BPM 2009. LNCS, vol. 5701, pp. 193–210. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  29. 29.
    Kiepuszewski, B., Hofstede, A.H.M.t., van der Aalst, W.M.P.: Fundamentals of control flow in workflows. Acta Inf. 39(3), 143–209 (2003)zbMATHCrossRefGoogle Scholar
  30. 30.
    Liske, N., Lohmann, N., Stahl, C., Wolf, K.: Another approach to service instance migration. In: Baresi, L., Chi, C.-H., Suzuki, J. (eds.) ICSOC 2009. LNCS, vol. 5900, pp. 607–621. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  31. 31.
    Lohmann, N.: Correcting deadlocking service choreographies using a simulation-based graph edit distance. In: Dumas, M., Reichert, M., Shan, M.-C. (eds.) BPM 2008. LNCS, vol. 5240, pp. 132–147. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  32. 32.
    Lohmann, N.: A feature-complete Petri net semantics for WS-BPEL 2.0. In: Dumas, M., Heckel, R. (eds.) WS-FM 2007. LNCS, vol. 4937, pp. 77–91. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  33. 33.
    Lohmann, N., Kleine, J.: Fully-automatic translation of open workflow net models into simple abstract BPEL processes. In: Modellierung 2008. Lecture Notes in Informatics (LNI), vol. P-127, pp. 57–72. GI (2008)Google Scholar
  34. 34.
    Lohmann, N., Kopp, O., Leymann, F., Reisig, W.: Analyzing BPEL4Chor: Verification and participant synthesis. In: Dumas, M., Heckel, R. (eds.) WS-FM 2007. LNCS, vol. 4937, pp. 46–60. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  35. 35.
    Lohmann, N., Massuthe, P., Stahl, C., Weinberg, D.: Analyzing interacting BPEL processes. In: Dustdar, S., Fiadeiro, J.L., Sheth, A.P. (eds.) BPM 2006. LNCS, vol. 4102, pp. 17–32. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  36. 36.
    Lohmann, N., Massuthe, P., Wolf, K.: Operating guidelines for finite-state services. In: Kleijn, J., Yakovlev, A. (eds.) ICATPN 2007. LNCS, vol. 4546, pp. 321–341. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  37. 37.
    Lohmann, N., Verbeek, H., Dijkman, R.M.: Petri net transformations for business processes – a survey. In: Jensen, K., van der Aalst, W.M.P. (eds.) ToPNoC II. LNCS, vol. 5460, pp. 46–63. Springer, Heidelberg (2009); Special Issue on Concurrency in Process-Aware Information SystemsCrossRefGoogle Scholar
  38. 38.
    Lohmann, N., Verbeek, H., Ouyang, C., Stahl, C.: Comparing and evaluating Petri net semantics for BPEL. Int. J. Business Process Integration and Management 4(1), 60–73 (2009)CrossRefGoogle Scholar
  39. 39.
    Lohmann, N., Weinberg, D.: Wendy: A tool to synthesize partners for services. In: Lilius, J., Penczek, W. (eds.) PETRI NETS 2010. LNCS, vol. 6128, pp. 297–307. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  40. 40.
    Lohmann, N., Wolf, K.: Realizability is controllability. In: Laneve, C. (ed.) WS-FM 2010. LNCS, vol. 6194, pp. 110–127. Springer, Heidelberg (2010)Google Scholar
  41. 41.
    Massuthe, P., Weinberg, D.: Fiona: A tool to analyze interacting open nets. In: CEUR Workshop Proceedings, AWPN 2008, vol. 380, pp. 99–104. CEUR-WS.org. (2008)Google Scholar
  42. 42.
    Mendling, J., Moser, M., Neumann, G., Verbeek, H.M.W., van Dongen, B.F., van der Aalst, W.M.P.: Faulty EPCs in the SAP reference model. In: Dustdar, S., Fiadeiro, J.L., Sheth, A.P. (eds.) BPM 2006. LNCS, vol. 4102, pp. 451–457. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  43. 43.
    Mennicke, S., Oanea, O., Wolf, K.: Decomposition into open nets. In: CEUR Workshop Proceedings, AWPN 2009, vol. 501, pp. 29–34. CEUR-WS.org (2009)Google Scholar
  44. 44.
    Milner, R.: Communication and concurrency. Prentice-Hall, Inc., Englewood Cliffs (1989)zbMATHGoogle Scholar
  45. 45.
    Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  46. 46.
    Oanea, O., Wimmel, H., Wolf, K.: New algorithms for deciding the siphon-trap property. In: Lilius, J., Penczek, W. (eds.) PETRI NETS 2010. LNCS, vol. 6128, pp. 267–286. Springer, Heidelberg (2010)Google Scholar
  47. 47.
    Ouyang, C., Verbeek, E., van der Aalst, W.M.P., Breutel, S., Dumas, M., Hofstede, A.H.M.t.: Formal semantics and analysis of control flow in WS-BPEL. Sci. Comput. Program. 67(2-3), 162–198 (2007)zbMATHCrossRefGoogle Scholar
  48. 48.
    Prasad, M.R., Biere, A., Gupta, A.: A survey of recent advances in SAT-based formal verification. STTT 7(2), 156–173 (2005)CrossRefGoogle Scholar
  49. 49.
    Reichert, M., Rinderle-Ma, S., Dadam, P.: Flexibility in process-aware information systems. In: Jensen, K., van der Aalst, W.M.P. (eds.) ToPNoC II. LNCS, vol. 5460, pp. 115–135. Springer, Heidelberg (2009); Special Issue on Concurrency in Process-Aware Information SystemsCrossRefGoogle Scholar
  50. 50.
    Schröter, C., Schwoon, S., Esparza, J.: The Model-Checking Kit. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 463–472. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  51. 51.
    Somenzi, F.: CUDD: CU Decision Diagram Package, http://vlsi.colorado.edu/~fabio/CUDD/
  52. 52.
    Stahl, C., Massuthe, P., Bretschneider, J.: Deciding substitutability of services with operating guidelines. In: Jensen, K., van der Aalst, W.M.P. (eds.) ToPNoC II. LNCS, vol. 5460, pp. 172–191. Springer, Heidelberg (2009); Special Issue on Concurrency in Process-Aware Information SystemsCrossRefGoogle Scholar
  53. 53.
    Stahl, C., Reisig, W., Krstic, M.: Hazard detection in a GALS wrapper: A case study. In: ACSD 2005, pp. 234–243. IEEE, Los Alamitos (2005)Google Scholar
  54. 54.
    Sürmeli, J.: Profiling services with static analysis. In: CEUR Workshop Proceedings, AWPN 2009, vol. 501, pp. 35–40. CEUR-WS.org (2009)Google Scholar
  55. 55.
    Talcott, C.L., Dill, D.L.: Multiple representations of biological processes. In: Priami, C., Plotkin, G. (eds.) Transactions on Computational Systems Biology VI. LNCS (LNBI), vol. 4220, pp. 221–245. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  56. 56.
    Vanhatalo, J., Völzer, H., Leymann, F.: Faster and more focused control-flow analysis for business process models through SESE decomposition. In: Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.) ICSOC 2007. LNCS, vol. 4749, pp. 43–55. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  57. 57.
    Verbeek, H.M.W., van der Aalst, W.M.P., Hofstede, A.H.M.t.: Verifying workflows with cancellation regions and OR-joins: An approach based on relaxed soundness and invariants. Comput. J. 50(3), 294–314 (2007)CrossRefGoogle Scholar
  58. 58.
    Verbeek, H.M.W., Basten, T., van der Aalst, W.M.P.: Diagnosing workflow processes using Woflan. Comput. J. 44(4), 246–279 (2001)zbMATHGoogle Scholar
  59. 59.
    Weber, M., Kindler, E.: The Petri Net Kernel. In: Ehrig, H., Reisig, W., Rozenberg, G., Weber, H. (eds.) Petri Net Technology for Communication-Based Systems. LNCS, vol. 2472, pp. 109–124. Springer, Heidelberg (2003)Google Scholar
  60. 60.
    Weinberg, D.: Efficient controllability analysis of open nets. In: Bruni, R., Wolf, K. (eds.) WS-FM 2008. LNCS, vol. 5387, pp. 224–239. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  61. 61.
    Wolf, K.: Generating Petri net state spaces. In: Kleijn, J., Yakovlev, A. (eds.) ICATPN 2007. LNCS, vol. 4546, pp. 29–42. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  62. 62.
    Wolf, K.: Does my service have partners? In: Jensen, K., van der Aalst, W.M.P. (eds.) Transactions on Petri Nets. LNCS, vol. 5460, pp. 152–171. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  63. 63.
    Wolf, K., Stahl, C., Ott, J., Danitz, R.: Verifying livelock freedom in an SOA scenario. In: ACSD 2009, pp. 168–177. IEEE, Los Alamitos (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Niels Lohmann
    • 1
  • Karsten Wolf
    • 1
  1. 1.Institut für InformatikUniversität RostockRostockGermany

Personalised recommendations