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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
OMG: UML Specifications, http://www.omg.org/spec
Distefano, S., Scarpa, M., Puliafito, A.: From UML to Petri Nets: The PCM-Based Methodology. IEEE Trans. Software Eng. 37(1), 65–79 (2011)
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)
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)
Tribastone, M., Gilmore, S.: Automatic Extraction of PEPA Performance Models from UML Activity Diagrams Annotated with the MARTE Profile. In: Proc. WOSP 2008 (2008)
Tribastone, M., Gilmore, S.: Automatic Translation of UML Sequence Diagrams into PEPA Models. In: Proc. QEST 2008, pp. 205–214 (2008)
Guelfi, N., Mammar, A.: A Formal Semantics of Timed Activity Diagrams and its PROMELA Translation. In: Proc. APSEC 2005, pp. 283–290 (2005)
Jussila, T., et al.: Model Checking Dynamic and Hierarchical UML State Machines. In: Proc. MoDeVa 2006 (2006)
Bandyopadhyay, A., Ghosh, S.: Test Input Generation Using UML Sequence and State Machines Models. In: Proc. ICST 2009. IEEE Computer Society (2009)
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)
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)
Cao, H., Ying, S., Du, D.: Towards Model-based Verification of BPEL with Model Checking. In: Proc. CIT 2006. IEEE Computer Society (2006)
Siveroni, I., Zisman, A., Spanoudakis, G.: Property Specification and Static Verification of UML Models. In: Proc. ARES 2008. IEEE Computer Society (2008)
Sarma, M., Kundu, D., Mall, R.: Automatic Test Case Generation from UML Sequence Diagram. In: Proc. ADCOM 2007 (2007)
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)
MarÃa, Merino, P., Pimentel, E.: Debugging UML Designs with Model Checking. Journal of Object Technology 1(2), 101–117 (2002)
Korenblat, K.P., Priami, C.: Toward Extracting pi-calculus from UML Sequence and State Diagrams. Electronic Notes in Theoretical Computer Science 101 (2004)
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)
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)
Tsaregorodtsev, A., et al.: DIRAC: A Community Grid Solution. In: Proc. CHEP 2007 (2007)
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)
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)
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)
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)
Remenska, D., Homburg, P.: The mCRL2⇔UML transformation toolset, https://github.com/remenska/NFM
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)