Software & Systems Modeling

, Volume 15, Issue 1, pp 281–302 | Cite as

Synthesizing object life cycles from business process models

  • Rik Eshuis
  • Pieter Van Gorp
Regular Paper


Unified modeling language (UML) activity diagrams can model the flow of stateful business objects among activities, implicitly specifying the life cycles of those objects. The actual object life cycles are typically expressed in UML state machines. The implicit life cycles in UML activity diagrams need to be discovered in order to derive the actual object life cycles or to check the consistency with an existing life cycle. This paper presents an automated approach for synthesizing a UML state machine modeling the life cycle of an object that occurs in different states in a UML activity diagram. The generated state machines can contain parallelism, loops, and cross-synchronization. The approach makes life cycles that have been modeled implicitly in activity diagrams explicit. The synthesis approach has been implemented using a graph transformation tool and has been applied in several case studies.


Process models State machines UML Model transformation 


  1. 1.
    Aho, A., Sethi, R., Ullman, J.: Compilers: Principles, Techniques, and Tools. Addison Wesley, Reading (1986)Google Scholar
  2. 2.
    Börger, E., Cavarra, A., Riccobene, E.: An ASM semantics for UML activity diagrams. In: Rus, T. (ed.) Proceedings of the international conference on Algebraic Methodology and Software Technology (AMAST 2000), Lecture Notes in Computer Science 1826, pp. 293–308. Springer, Berlin (2000)Google Scholar
  3. 3.
    BPMN Task Force: Business Process Model and Notation (BPMN) Version 2.0. Object Management Group. OMG Document Number formal/2011-01-03 (2011)Google Scholar
  4. 4.
    Cabanillas, C., Resinas, M., Cortés, A.R., Awad, A.: Automatic generation of a data-centered view of business processes. In: Mouratidis, H., Rolland, C. (eds.) CAiSE 2011. Lecture Notes in Computer Science, vol. 6741, pp. 352–366. Springer, Berlin (2011)Google Scholar
  5. 5.
    Dick, N., Huschens, J.: IAA the IBM insurance application architecture. In: Bernus, P., Mertins, K., Schmidt, G. (eds.) Handbook on Architectures of Information Systems, International Handbooks on Information Systems, pp. 619–637. Springer, Berlin (1998)Google Scholar
  6. 6.
    Dumas, M., Fjellheim, T., Milliner, S., Vayssière, J.: Event-based coordination of process-oriented composite applications. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) Business Process Management, vol. 3649, pp. 236–251. Springer, Berlin (2005)CrossRefGoogle Scholar
  7. 7.
    Engels, G., Förster, A., Heckel, R., Thöne, S.: Process modeling using UML. In: Dumas, M., van der Aalst, W., ter Hofstede, A. (eds.) Process-Aware Information Systems, pp. 85–117. Wiley, New York (2005)Google Scholar
  8. 8.
    Engels, G., Küster, J.M., Heckel, R., Groenewegen, L.: A methodology for specifying and analyzing consistency of object-oriented behavioral models. In: Tjoa, A.M., Gruhn, V. (eds.) Proceedings of ESEC / SIGSOFT FSE, pp. 186–195 (2001)Google Scholar
  9. 9.
    Eshuis, R.: Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15(1), 1–38 (2006)CrossRefGoogle Scholar
  10. 10.
    Eshuis, R.: Translating safe Petri nets to statecharts in a structure-preserving way. In: Cavalcanti, A., Dams, D. (eds.) Proceedings of FM 2009, Lecture Notes in Computer Science, vol. 5850, pp. 239–255. Springer, Berlin (2009)Google Scholar
  11. 11.
    Eshuis, R.: Statechartable Petri nets. Form. Asp. Comput. 25(5), 659–681 (2013)CrossRefMathSciNetzbMATHGoogle Scholar
  12. 12.
    Eshuis, R., Van Gorp, P.: Synthesizing object life cycles from business process models. In: Atzeni, P., Cheung, D.W., Ram, S. (eds.) Proceedings of ER 2012, Lecture Notes in Computer Science, vol. 7532, pp. 307–320. Springer, Berlin (2012)Google Scholar
  13. 13.
    Esparza, J.: Reduction and synthesis of live and bounded free choice Petri nets. Inf. Comput. 114(1), 50–87 (1994)CrossRefMathSciNetzbMATHGoogle Scholar
  14. 14.
    Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.: Grgen: a fast SPO-based graph rewriting tool. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) Proceedings of ICGT 2006, Lecture Notes in Computer Science, vol. 4178, pp. 383–397. Springer, Berlin (2006)Google Scholar
  15. 15.
    Giese, H., Graf, J., Wirtz, G.: Closing the gap between object-oriented modeling of structure and behavior. In: France, R.B., Rumpe, B. (eds.) Proceedings of UML’99, Lecture Notes in Computer Science, vol. 1723, pp. 534–549. Springer, Berlin (1999)Google Scholar
  16. 16.
    von Hanxleden, R., Fuhrmann, H., Spönemann, M.: KIELER–the KIEL integrated environment for layout eclipse rich client. In: Macii, E. (ed.) Proceedings of the Design, Automation and Test in Europe University Booth (DATE’11). Grenoble, France (2011)Google Scholar
  17. 17.
    Harel, D.: On visual formalisms. Commun. ACM 31(5), 514–530 (1988)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Harel, D., Kugler, H.: Synthesizing state-based object systems from LSC specifications. Int. J. Found. Comp. Sci. 13(1), 5–51 (2002)CrossRefMathSciNetzbMATHGoogle Scholar
  19. 19.
    Harel, D., Kugler, H.: The Rhapsody semantics of statecharts (or, on the executable core of the UML)—preliminary version. In: Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) Integration of Software Specification Techniques for Applications in Engineering, Lecture Notes in Computer Science, vol. 3147, pp. 325–354. Springer, Berlin (2004)CrossRefGoogle Scholar
  20. 20.
    Harel, D., Naamad, A.: The STATEMATE semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5(4), 293–333 (1996)CrossRefGoogle Scholar
  21. 21.
    Hecht, M., Ullman, J.: Characterizations of reducible flow graphs. J. ACM 21, 367–375 (1974)CrossRefMathSciNetzbMATHGoogle Scholar
  22. 22.
    I-Logix: Rhapsody. (2005)
  23. 23.
    Kumaran, S., Liu, R., Wu, F.Y.: On the duality of information-centric and activity-centric models of business processes. In: Bellahsene, Z., Léonard, M. (eds.) CAiSE, Lecture Notes in Computer Science, vol. 5074, pp. 32–47. Springer, Berlin (2008)Google Scholar
  24. 24.
    Küster, J.M., Ryndina, K., Gall, H.: Generation of business process models for object life cycle compliance. In: Alonso, G., Dadam, P., Rosemann, M. (eds.) Proceedings of BPM, Lecture Notes in Computer Science, vol. 4714, pp. 165–181. Springer, Berlin (2007)Google Scholar
  25. 25.
    Lin, C.P., Jeng, L.D., Lin, Y.P., Jeng, M.: Management and control of information flow in CIM systems using UML and Petri nets. Int. J. Comp. Integr. Manuf. 18(2&3), 107–121 (2005)Google Scholar
  26. 26.
    Liu, R., Kumar, A.: An analysis and taxonomy of unstructured workflows. In: van der Aalst, W., Benatallah, B., Casati, F., Curbera, F. (eds.) Proceedings of 3rd Conference on Business Process Management (BPM 2005), Lecture Notes in Computer Science, vol. 3649, pp. 268–284. Springer, Berlin (2005) Google Scholar
  27. 27.
    Massink, M., Latella, D., Gnesi, S.: On testing UML statecharts. J. Logic Algebr. Progr. 69(1–2), 1–74 (2006)CrossRefMathSciNetzbMATHGoogle Scholar
  28. 28.
    Mellor, S.J., Balcer, M.J.: Executable UML—A Foundation for Model-Driven Architecture. Addison Wesley object technology series. Addison-Wesley, Reading (2002)Google Scholar
  29. 29.
    Mendling, J., Hafner, M.: From WS-CDL choreography to BPEL process orchestration. J. Enterp. Inf. Manage. 21(5), 525–542 (2008)CrossRefGoogle Scholar
  30. 30.
    Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S.M., Zave, P.: Matching and merging of statecharts specifications. In: Proceedings of ICSE, pp. 54–64. IEEE Computer Society (2007)Google Scholar
  31. 31.
    No Magic Inc: MagicDraw.
  32. 32.
    Redding, G., Dumas, M., ter Hofstede, A.H.M., Iordachescu, A.: Generating business process models from object behavior models. IS Manag. 25(4), 319–331 (2008)Google Scholar
  33. 33.
    Schrefl, M., Stumptner, M.: On the design of behavior consistent specializations of object life cycles in OBD and UML. In: Papazoglou, M.P., Spaccapietra, S., Tari, Z. (eds.) Advances in Object-Oriented Data Modeling, pp. 65–104. MIT Press, Cambridge (2000)Google Scholar
  34. 34.
    Shlaer, S., Mellor, S.: Object Oriented Life Cycles: Modeling the World in States. Prentice Hall, Englewood Cliffs (1991)Google Scholar
  35. 35.
    Software, I.R.: Rose. (2005)
  36. 36.
    Sparx Systems: Enterprise Architect.
  37. 37.
    Universal business language version, 2.1. OASIS (2013)Google Scholar
  38. 38.
    UML Revision Taskforce: OMG UML Specification v. 1.5. Object Management Group. OMG Document Number formal/2003-03-01. (2003)
  39. 39.
    UML Revision Taskforce: UML 2.3 Superstructure Specification. Object Management Group. OMG Document Number formal/2010-05-05 (2010)Google Scholar
  40. 40.
    Van Gorp, P.: Applying traceability and cloning techniques to compose input-destructive model transformations into an input-preserving chain. In: Lano, K., Kolahdouz-Rahimi S. (eds.) 1st Workshop on Composition and Evolution of Model Transformations, King’s College, London, UK (2011)Google Scholar
  41. 41.
    Van Gorp, P., Eshuis, R.: Transforming process models: executable rewrite rules versus a formalized java program. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) Proceedings of MoDELS 2010, Lecture Notes in Computer Science, vol. 6395, pp. 258–272. Springer, Berlin (2010)Google Scholar
  42. 42.
    Whittle, J., Jayaraman, P.K.: Synthesizing hierarchical state machines from expressive scenario descriptions. ACM Trans. Softw. Eng. Methodol. 19(3), 8 (2010)CrossRefGoogle Scholar
  43. 43.
    Whittle, J., Schumann, J.: Generating statechart designs from scenarios. In: ICSE, pp. 314–323 (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Eindhoven University of Technology EindhovenThe Netherlands

Personalised recommendations