Skip to main content

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

  • Conference paper
NASA Formal Methods (NFM 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7871))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. OMG: UML Specifications, http://www.omg.org/spec

  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)

    Article  Google Scholar 

  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. 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. 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. Tribastone, M., Gilmore, S.: Automatic Translation of UML Sequence Diagrams into PEPA Models. In: Proc. QEST 2008, pp. 205–214 (2008)

    Google Scholar 

  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. Jussila, T., et al.: Model Checking Dynamic and Hierarchical UML State Machines. In: Proc. MoDeVa 2006 (2006)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. Sarma, M., Kundu, D., Mall, R.: Automatic Test Case Generation from UML Sequence Diagram. In: Proc. ADCOM 2007 (2007)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  16. María, Merino, P., Pimentel, E.: Debugging UML Designs with Model Checking. Journal of Object Technology 1(2), 101–117 (2002)

    Article  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  20. Tsaregorodtsev, A., et al.: DIRAC: A Community Grid Solution. In: Proc. CHEP 2007 (2007)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  25. Remenska, D., Homburg, P.: The mCRL2⇔UML transformation toolset, https://github.com/remenska/NFM

  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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Remenska, D. et al. (2013). From UML to Process Algebra and Back: An Automated Approach to Model-Checking Software Design Artifacts of Concurrent Systems. In: Brat, G., Rungta, N., Venet, A. (eds) NASA Formal Methods. NFM 2013. Lecture Notes in Computer Science, vol 7871. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38088-4_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38088-4_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38087-7

  • Online ISBN: 978-3-642-38088-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics