Model Checking of UML-RT Models Using Lazy Composition

  • Karolina Zurowska
  • Juergen Dingel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8107)


Formal analysis of models is an important aspect of the Model Driven Development (MDD) paradigm. In this paper we introduce a technique to analyze models with hierarchically organized and asynchronously communicating components as found in, e.g., UML-RT. Typically, the more components are composed during analysis, the less scalable it becomes. In our technique we reduce composition by leveraging the communication topology and the property to be checked. To this end we introduce an extension of Computation Tree Logic (CTL) to express properties of models and we show an algorithm to check such properties. In the algorithm, components are represented by their symbolic execution trees and their composition is lazy, i.e., only performed when necessary. To demonstrate some of the benefits of the technique, its implementation for UML-RT models and case studies are discussed.


State Machine Model Check Atomic Proposition Symbolic Execution Computation Tree Logic 
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.
    eTrice: Real-Time Modeling Tools,
  2. 2.
  3. 3.
    IBM Rational Software Architect, RealTime Edition, Version 8.0.3,
  4. 4.
    The KLEE Symbolic Virtual Machine,
  5. 5.
  6. 6.
    Unified Modeling Language (UML 2.0) Superstructure,
  7. 7.
    Action Language for Foundational UML (ALF) (2010)Google Scholar
  8. 8.
    Balasubramanian, D., Pasareanu, C., Whalen, M., Karsai, G., Lowry, M.: Polyglot: Modeling and analysis for multiple statechart formalisms. In: ISSTA 2011 (2011)Google Scholar
  9. 9.
    Balasubramanian, D., Pasareanu, C., Whalen, M., Karsai, G., Lowry, M.: Improving symbolic execution for statechart formalisms. In: MoDeVVa 2012 (2012)Google Scholar
  10. 10.
    Clarke, E.M., Grumberg, O.J., Peled, D.A.: Model checking. MIT Press, Cambridge (1999)Google Scholar
  11. 11.
    Giese, H., Tichy, M., Burmester, S., Schäfer, W., Flake, S.: Towards the compositional verification of real-time UML designs. In: ESEC/FSE 2003, pp. 38–47 (2003)Google Scholar
  12. 12.
    Godefroid, P., Klarlund, N., Sen, K.: Dart: Directed automated random testing. SIGPLAN Not. 40(6), 213–223 (2005)CrossRefGoogle Scholar
  13. 13.
    Graf, S., Steffen, B.: Compositional minimization of finite state systems. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, Springer, Heidelberg (1992)Google Scholar
  14. 14.
    Jensen, H., Larsen, G., Skou, A.: Scaling up Uppaal. In: Formal Techniques in Real-Time and Fault-Tolerant Systems, pp. 641–678 (2000)Google Scholar
  15. 15.
    Leue, S., Stefanescu, A., Wei, W.: An AsmL Semantics for Dynamic Structures and Run Time Schedulability in UML-RT. Tech. rep., University of Konstanz (2008)Google Scholar
  16. 16.
    Lind-Nielsen, J., Andersen, H.R., Behrmann, G., Hulgaard, H., Kristoffersen, K., Larsen, K.G.: Verification of large state/event systems using compositionality and dependency analysis. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, p. 201. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  17. 17.
    Mehlitz, P.: Trust your model — verifying aerospace system models with Java JavaPathFinder. In: IEEE Aerospace Conference (2008)Google Scholar
  18. 18.
    Miller, S., Whalen, M., Cofer, D.: Software model checking takes off. CACM 53(2), 58–64 (2010)CrossRefGoogle Scholar
  19. 19.
    Saaltink, M., Meisels, I.: Using SPIN to sanalyse RoseRT models. Tech. rep., ORA Canada (1999)Google Scholar
  20. 20.
    Schäfer, T., Knapp, A., Merz, S.: Model checking UML state machines and collaborations. Electronic Notes in Theoret. Comp. Science 55(3), 1–13 (2001)CrossRefGoogle Scholar
  21. 21.
    Selic, B., Gullekson, G., Ward, P.T.: Real-time Object Oriented Modeling and Design. Wiley (1994)Google Scholar
  22. 22.
    Valmari, A.: Compositional state space generation. In: Rozenberg, G. (ed.) APN 1993. LNCS, vol. 674, pp. 427–457. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  23. 23.
    Vergauwen, B., Lewi, J.: A linear local model checking algorithm for CTL. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, Springer, Heidelberg (1993)Google Scholar
  24. 24.
    Visser, W., Dwyer, M., Whalen, M.: The hidden models of model checking. Software and Systems Modeling 11(4), 541–555 (2012)Google Scholar
  25. 25.
    Zheng, H.: Compositional reachability analysis for efficient modular verification of asynchronous designs. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 29(3), 329–340 (2010)CrossRefGoogle Scholar
  26. 26.
    Zurowska, K., Dingel, J.: Symbolic execution of UML-RT state machines. In: SAC-SVT (2012)Google Scholar
  27. 27.
    Zurowska, K., Dingel, J.: Modular Symbolic Execution of Communicating and Hierarchically Composed UML-RT State Machines. In: Goodloe, A.E., Person, S. (eds.) NFM 2012. LNCS, vol. 7226, pp. 39–53. Springer, Heidelberg (2012)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Karolina Zurowska
    • 1
  • Juergen Dingel
    • 1
  1. 1.School of ComputingQueen’s UniversityKingstonCanada

Personalised recommendations