From UML to Process Algebra and Back: An Automated Approach to Model-Checking Software Design Artifacts of Concurrent Systems

  • Daniela Remenska
  • Jeff Templon
  • Tim A. C. Willemse
  • Philip Homburg
  • Kees Verstoep
  • Adria Casajus
  • Henri Bal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7871)


One of the challenges in concurrent software development is early discovery of design errors which could lead to deadlocks or race-conditions. For safety-critical and complex distributed applications, traditional testing does not always expose such problems. Performing more rigorous formal analysis typically requires a model, which is an abstraction of the system. For object-oriented software, UML is the industry-adopted modeling language. UML offers a number of views to present the system from different perspectives. Behavioral views are necessary for the purpose of model checking, as they capture the dynamics of the system. Among them are sequence diagrams, in which the interaction between components is modeled by means of message exchanges. UML 2.x includes rich features that enable modeling code-like structures, such as loops, conditions and referring to existing interactions. We present an automatic procedure for translating UML into mCRL2 process algebra models. Our prototype is able to produce a formal model, and feed model-checking traces back into any UML modeling tool, without the user having to leave the UML domain. We argue why previous approaches of which we are aware have limitations that we overcome. We further apply our methodology on the Grid framework used to support production activities of one of the LHC experiments at CERN.


formal methods software engineering UML 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    OMG: UML Specifications,
  2. 2.
    Distefano, S., Scarpa, M., Puliafito, A.: From UML to Petri Nets: The PCM-Based Methodology. IEEE Trans. Software Eng. 37(1), 65–79 (2011)CrossRefGoogle Scholar
  3. 3.
    Bernardi, S., Donatelli, S., Merseguer, J.: From UML Sequence Diagrams and Statecharts to Analysable Petri Net Models. In: Proc. WOSP 2002, pp. 35–45 (2002)Google Scholar
  4. 4.
    Petriu, D.C., Shen, H.: Applying the UML Performance Profile: Graph Grammar-Based Derivation of LQN Models from UML Specifications. In: Field, T., Harrison, P.G., Bradley, J., Harder, U. (eds.) TOOLS 2002. LNCS, vol. 2324, pp. 159–177. Springer, Heidelberg (2002)Google Scholar
  5. 5.
    Tribastone, M., Gilmore, S.: Automatic Extraction of PEPA Performance Models from UML Activity Diagrams Annotated with the MARTE Profile. In: Proc. WOSP 2008 (2008)Google Scholar
  6. 6.
    Tribastone, M., Gilmore, S.: Automatic Translation of UML Sequence Diagrams into PEPA Models. In: Proc. QEST 2008, pp. 205–214 (2008)Google Scholar
  7. 7.
    Guelfi, N., Mammar, A.: A Formal Semantics of Timed Activity Diagrams and its PROMELA Translation. In: Proc. APSEC 2005, pp. 283–290 (2005)Google Scholar
  8. 8.
    Jussila, T., et al.: Model Checking Dynamic and Hierarchical UML State Machines. In: Proc. MoDeVa 2006 (2006)Google Scholar
  9. 9.
    Bandyopadhyay, A., Ghosh, S.: Test Input Generation Using UML Sequence and State Machines Models. In: Proc. ICST 2009. IEEE Computer Society (2009)Google Scholar
  10. 10.
    Pickin, S., Jard, C., Le Traon, Y., Jéron, T., Jézéquel, J.-M., Le Guennec, A.: System Test Synthesis from UML Models of Distributed Software. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, pp. 97–113. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Whittle, J.: Transformations and Software Modeling Languages: Automating Transformations in UML. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 227–242. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Cao, H., Ying, S., Du, D.: Towards Model-based Verification of BPEL with Model Checking. In: Proc. CIT 2006. IEEE Computer Society (2006)Google Scholar
  13. 13.
    Siveroni, I., Zisman, A., Spanoudakis, G.: Property Specification and Static Verification of UML Models. In: Proc. ARES 2008. IEEE Computer Society (2008)Google Scholar
  14. 14.
    Sarma, M., Kundu, D., Mall, R.: Automatic Test Case Generation from UML Sequence Diagram. In: Proc. ADCOM 2007 (2007)Google Scholar
  15. 15.
    Rasch, H., Wehrheim, H.: Checking the Validity of Scenarios in UML Models. In: Steffen, M., Zavattaro, G. (eds.) FMOODS 2005. LNCS, vol. 3535, pp. 67–82. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    María, Merino, P., Pimentel, E.: Debugging UML Designs with Model Checking. Journal of Object Technology 1(2), 101–117 (2002)CrossRefGoogle Scholar
  17. 17.
    Korenblat, K.P., Priami, C.: Toward Extracting pi-calculus from UML Sequence and State Diagrams. Electronic Notes in Theoretical Computer Science 101 (2004)Google Scholar
  18. 18.
    Hvid Hansen, H., Ketema, J., Luttik, B., Mousavi, M., van de Pol, J., dos Santos, O.M.: Automated Verification of Executable UML Models. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 225–250. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  19. 19.
    Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., de Vink, E.P., Wesselink, W., Willemse, T.A.C.: An Overview of the mCRL2 Toolset and Its Recent Advances. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 199–213. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  20. 20.
    Tsaregorodtsev, A., et al.: DIRAC: A Community Grid Solution. In: Proc. CHEP 2007 (2007)Google Scholar
  21. 21.
    Remenska, D., et al.: Using Model Checking to Analyze the System Behavior of the LHC Production Grid. In: Proc. CCGRID 2012, pp. 335–343 (2012)Google Scholar
  22. 22.
    Broy, M., Crane, M.L., Dingel, J., Hartman, A., Rumpe, B., Selic, B.: 2nd UML 2 Semantics Symposium: Formal Semantics for UML. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 318–323. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  23. 23.
    Lazăr, C., Lazăr, I., Pârv, B., Motogna, S., Czibula, I.: Tool Support for fUML Models. Int. J. of Computers, Communications & Control 5(5) (2010)Google Scholar
  24. 24.
    Diskin, Z., Dingel, J.: Mappings, maps and tables: Towards formal semantics for associations in UML2. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 230–244. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  25. 25.
    Remenska, D., Homburg, P.: The mCRL2⇔UML transformation toolset,
  26. 26.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 372–387. Springer, Heidelberg (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Daniela Remenska
    • 1
    • 3
  • Jeff Templon
    • 3
  • Tim A. C. Willemse
    • 2
  • Philip Homburg
    • 1
  • Kees Verstoep
    • 1
  • Adria Casajus
    • 4
  • Henri Bal
    • 1
  1. 1.Dept. of Computer ScienceVU University AmsterdamThe Netherlands
  2. 2.Dept. of Computer ScienceTU EindhovenThe Netherlands
  3. 3.NIKHEFAmsterdamThe Netherlands
  4. 4.Universitat de BarcelonaSpain

Personalised recommendations