Towards a Practical Approach to Check UML/fUML Models Consistency Using CSP

  • Islam Abdelhalim
  • Steve Schneider
  • Helen Treharne
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6991)


This work provides an underpinning for a systems modelling approach based on UML and fUML together. It uses UML state diagrams as a starting point for modelling system object behaviour abstractly, then refining each state diagram by adding the implementation decisions in a form of a fUML activity diagram. Maintaining behavioural consistency between each UML state diagram and its corresponding fUML activity diagram is an important but difficult task. In this paper we introduce a framework that automates checking such consistency in a practical way.

The framework is based on formalizing these diagrams into the process algebra CSP to do trace refinement checking using FDR2. One of the main contributions in this work is that we transform FDR2 output (counter-example in case of inconsistency) back to the UML/fUML model in a way that allows the modeller to debug the consistency problem. To be able to provide this kind of interactive feedback, the generated CSP model is augmented with traceability information. A case tool plugin based on the Epsilon model management framework has been developed to support our approach.


Model Check State Diagram Activity Diagram Case Tool Executable Model 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    OMG: Semantics of a foundational subset for executable UML models (fUML) - Version 1.0 (February 2011),
  2. 2.
    Schneider, S.: Concurrent and Real-Time Systems: the CSP Approach. Wiley, Chichester (1999)Google Scholar
  3. 3.
    Formal Systems Oxford: FDR 2.91 manual (2010)Google Scholar
  4. 4.
    Ramos, R., Sampaio, A., Mota, A.: A semantics for UML-RT active classes via mapping into circus. In: Steffen, M., Tennenholtz, M. (eds.) FMOODS 2005. LNCS, vol. 3535, pp. 99–114. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Graw, G., Herrmann, P.: Transformation and verification of Executable UML models. Electron. Notes Theor. Comput. Sci. 101, 3–24 (2004)CrossRefzbMATHGoogle Scholar
  6. 6.
    Hnatkowska, B., Huzar, Z., Kuzniarz, L., Tuzinkiewicz, L.: A systematic approach to consistency within UML based software development process. In: Blekinge Institute of Technology, Research Report 2002:06. UML 2002. Workshop on Consistency Problems in UML-based Software Development, pp. 16–29 (2002)Google Scholar
  7. 7.
  8. 8.
  9. 9.
    Treharne, H., Turner, E., Paige, R.F., Kolovos, D.S.: Automatic generation of integrated formal models corresponding to UML system models. In: Oriol, M., Meyer, B. (eds.) TOOLS EUROPE 2009. Lecture Notes in Business Information Processing, vol. 33, pp. 357–367. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    MagicDraw case tool,
  11. 11.
    Barnes, J., Chapman, R., Johnson, R., Widmaier, J., Cooper, D., Everett, B.: Engineering the tokeneer enclave protection software. In: 1st IEEE International Symposium on Secure Software Engineering (March 2006)Google Scholar
  12. 12.
    Abdelhalim, I., Sharp, J., Schneider, S.A., Treharne, H.: Formal Verification of Tokeneer Behaviours Modelled in fUML Using CSP. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 371–387. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Mellor, S.J., Balcer, M.J.: Executable UML, A Foundation for Model-Driven Architecture. Addison-Wesley, Reading (2002)Google Scholar
  14. 14.
    OMG: fUML Reference Implementation,
  15. 15.
    OMG: Unified modeling language (UML) superstructure (version 2.3) (2010)Google Scholar
  16. 16.
    Gruninger, M., Menzel, C.: Process Specification Language: Principles and Applications. AI Magazine 24(3), 63–74 (2003)Google Scholar
  17. 17.
    Metadata Interchange (XMI), X,
  18. 18.
    Dimitrios kolovos, L.R., Paige, R.: The Epsilon BookGoogle Scholar
  19. 19.
    Turner, E., Treharne, H., Schneider, S., Evans, N.: Automatic generation of CSP || B skeletons from xUML models. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigun, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 364–379. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    Ng, M.Y., Butler, M.: Towards formalizing UML state diagrams in CSP. In: Cerone, A., Lindsay, P. (eds.) 1st IEEE International Conference on Software Engineering and Formal Methods, pp. 138–147. IEEE Computer Society, Los Alamitos (2003)Google Scholar
  21. 21.
    Hansen, H.H., Ketema, J., Luttik, B., Mousavi, M., van de Pol, J.: Towards model checking Executable UML specifications in mCRL2. In: ISSE, pp. 83–90 (2010)Google Scholar
  22. 22.
    Balser, M., Bäumler, S., Reif, W., Thums, A.: Interactive verification of UML state machines. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 434–448. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    Zhao, X., Long, Q., Qiu, Z.: Model checking dynamic UML consistency. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 440–459. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    Varró, D., Asztalos, M., Bisztray, D., Boronat, A., Dang, D.H., Geiss, R., Greenyer, J., Gorp, P.V., Kniemeyer, O., Narayanan, A., Rencis, E., Weinell, E.: Transformation of UML Models to CSP: A Case Study for Graph Transformation Tools. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) AGTIVE 2007. LNCS, vol. 5088, pp. 540–565. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  25. 25.
    Bisztray, D., Ehrig, K., Heckel, R.: Case Study: UML to CSP Transformation. In: Applications of Graph Transformation with Industrial Relevance (2007)Google Scholar
  26. 26.
    Cabot, J., Clarisó, R., Riera, D.: Verifying UML/OCL operation contracts. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 40–55. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  27. 27.
    Shah, S.M.A., Anastasakis, K., Bordbar, B.: From UML to Alloy and back again. In: MoDeVVa 2009: Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation, pp. 1–10. ACM, New York (2009)Google Scholar
  28. 28.
    Thierry-Mieg, Y., Hillah, L.M.: UML behavioral consistency checking using instantiable Petri nets. In: ISSE, vol. 4(3), pp. 293–300 (2008)Google Scholar
  29. 29.
    Planas, E., Cabot, J., Gómez, C.: Verifying action semantics specifications in UML behavioral models. In: van Eck, P., Gordijn, J., Wieringa, R. (eds.) CAiSE 2009. LNCS, vol. 5565, pp. 125–140. Springer, Heidelberg (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Islam Abdelhalim
    • 1
  • Steve Schneider
    • 1
  • Helen Treharne
    • 1
  1. 1.Department of ComputingUniversity of SurreyUK

Personalised recommendations