Software & Systems Modeling

, Volume 15, Issue 1, pp 179–217 | Cite as

An executable formal semantics for UML-RT

  • Ernesto PosseEmail author
  • Juergen Dingel
Regular Paper


We propose a formal semantics for UML-RT, a UML profile for real-time and embedded systems. The formal semantics is given by mapping UML-RT models into a language called kiltera, a real-time extension of the \(\pi \)-calculus. Previous attempts to formalize the semantics of UML-RT have fallen short by considering only a very small subset of the language and providing fundamentally incomplete semantics based on incorrect assumptions, such as a one-to-one correspondence between “capsules” and threads. Our semantics is novel in several ways: (1) it deals with both state machine diagrams and capsule diagrams; (2) it deals with aspects of UML-RT that have not been formalized before, such as thread allocation, service provision points, and service access points; (3) it supports an action language; and (4) the translation has been implemented in the form of a transformation from UML-RT models created with IBM’s RSA-RTE tool, into kiltera code. To our knowledge, this is the most comprehensive formal semantics for UML-RT to date.


UML-RT RTE Modelling Semantics 



We are indebted to Bran Selic for his support and his insights into the semantics of UML-RT. We also thank Malina Software, IBM Canada, and the Natural Sciences and Engineering Research Council of Canada (NSERC) and the Ontario Centres for Excellence (OCE), which provided financial support. We would also like to thank Eyrak Paen for his implementation of the transformation, which was instrumental in the proper definition of the mapping. Finally, Karolina Zurowska and Eric Rapos also provided very useful input on RoseRT and RSA-RTE.


  1. 1.
    Benghazi Akhlaki, K., Capel Tuñón, M.I., Holgado Terriza, J.A., Mendoza Morales, L.E.: A methodological approach to the formal specification of real-time systems by transformation of UML-RT design models. Sci. Comput. Program. 65, 41–56 (2007)Google Scholar
  2. 2.
    Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control 60(1–3), 109–137 (1984)CrossRefMathSciNetzbMATHGoogle Scholar
  3. 3.
    Bertolino, A., De Angelis, G., Bartolini, C., Lipari, G.: A UML Profile and a Methodology for Real-Time Systems Design. Technical Report, Istituto di Scienza e Tecnologie dell’Informazione “A. Faedo” (2005)Google Scholar
  4. 4.
    de Melo Bezerra, J., Hirata, C.M.: A Semantics for UML-RT Using \(\pi \)-Calculus. In: Proceedings of International Workshop on Rapid System Prototyping (RSP’07) (2007)Google Scholar
  5. 5.
    de Melo Bezerra, J., Hirata, C.M.: A polyadic pi-calculus approach for the formal specification of UML-RT. Adv. Softw. Eng. 2009, (2009). doi: 10.1155/2009/656810
  6. 6.
    Boudol, G.: Asynchrony and the \(\pi \)-Calculus (Note). Technical Report 1702, INRIA-Sophia Antipolis (1992)Google Scholar
  7. 7.
    Capel, M.I., Mendoza, L.E., Akhlaki, K.B., Holgado, J.A.: A semantic formalization of UML-RT models with CSP+T processes applicable to real-time systems verification. In: Proceedings of Jornadas de Ingeniería del Software y Bases de Datos (JISBD’06), pp. 283–292 (2006)Google Scholar
  8. 8.
    Cho, S.M., Kim, H.-H., Cha, S.D., Bae, D.-H.: A semantics of sequence diagrams. Inf. Process. Lett. 84(3), 125–130 (2002)CrossRefMathSciNetzbMATHGoogle Scholar
  9. 9.
    Damm, W., Josko, B., Pnueli, A., Votintseva, A.: Understanding UML: a formal semantics of concurrency and communication in real-time UML. In: Proceedings of FMCO’02. LNCS, pp. 71–98. Springer, Berlin (2002)Google Scholar
  10. 10.
    Dingel, J., Paen, E., Posse, E., Rahman, R., Zurowska, K.: Definition and implementation of a semantic mapping for UML-RT using a timed pi-calculus. In: Proceedings of the Second International Workshop on Behaviour Modelling: Foundation and Applications, BM-FA ’10, pp. 1:1–1:8. ACM, New York, NY (2010)Google Scholar
  11. 11.
    Douglass, B.P.: Real-time UML. Formal Techniques in Real-Time and Fault-Tolerant Systems, Volume 2469 of LNCS, pp. 53–70. Springer, Berlin (2002)Google Scholar
  12. 12.
    Engels, G., Heckel, R., Küster, J.M., Groenewegen, L.: Consistency-preserving model evolution through transformations. In: Proceedings of the Fifth International Conference on the Unified Modeling Language—The Language and its Applications, pp. 212–227. Springer, Berlin (2002)Google Scholar
  13. 13.
    Eshuis, R., Wieringa, R.: A Formal Semantics for UML Activity Diagrams—Formalising Workflow Models. Technical Report. University of Twente (2001)Google Scholar
  14. 14.
    Fecher, H., Kyas, M., De Roever, W.-P., De Boer, F.S.: Compositional operational semantics of a UML-Kernel-model language. Electron. Notes Theor. Comput. Sci. 156, 79–96 (2006)CrossRefGoogle Scholar
  15. 15.
    Ferreira, P., Sampaio, A., Mota, A.: Viewing CSP specifications with UML-RT diagrams. Electron. Notes Theor. Comput. Sci. 195(0), 57–74 (2008). Proceedings of the Brazilian Symposium on Formal Methods (SBMF 2006)Google Scholar
  16. 16.
    Fischer, C., Olderog, E.-R., Wehrheim, H.: A CSP view on UML-RT structure diagrams. In: Proceedings Fundamental Approaches to Software Engineering (FASE’01), Volume 2029 of LNCS, pp. 91–108. Springer, Berlin (2001)Google Scholar
  17. 17.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, Chapter 3, pp. 47–67. Cambridge University Press, New York, NY (2000)Google Scholar
  18. 18.
    Grosu, R., Broy, M., Selic, B., Stefanescu, G.: Behavioral Specifications of Businesses and Systems, Chapter 6: What is Behind UML-RT?, pp. 73–88. Kluwer, Dordrecht (1999)Google Scholar
  19. 19.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)CrossRefMathSciNetzbMATHGoogle Scholar
  20. 20.
    Honda, K., Tokoro, M.: An object calculus for asynchronous communication. In: Proceedings of ECOOP ’91, Volume 512 of LNCS, pp. 133–147. Springer, Berlin (1991)Google Scholar
  21. 21.
    IBM: General Description Language. IBM, 9 March (2005)Google Scholar
  22. 22.
    IBM: IBM Rational Rose Technical Developer, Version 7.0. IBM, (2010)
  23. 23.
    IBM: IBM Rational Software Architect, RealTime Edition, Version 7.5.2. IBM (2010)
  24. 24.
    IEEE Computer Society: IEEE Standard \(\text{ Verilog }^{\textregistered }\) Hardware Description Language, IEEE Standard \(1364^{{\rm TM}}\)-2001, 28 September (2001)Google Scholar
  25. 25.
    IEEE Computer Society: IEEE Standard VHDL Language Reference Manual, IEEE Standard \(1076^{{\rm TM}}\)-2008, 26 January (2009)Google Scholar
  26. 26.
    IEEE Computer Society: IEEE Standard for the SystemC Language, IEEE Standard \(1666^{\rm TM}\)-2011, January (2012)Google Scholar
  27. 27.
    IEEE Computer Society: IEEE Standard for SystemVerilog—Unified Hardware Design, Specification, and Verification Language, IEEE Standard \(1800^{\rm TM}\)-2012, 21 February (2013)Google Scholar
  28. 28.
    International Telecommunications Union: Specification and description language (SDL). ITU-T Recommendation Z.100., November (1999)Google Scholar
  29. 29.
    Jefferson, D.R.: Virtual time. ACM-TOPLAS 7(3), 404–425 (1985)CrossRefMathSciNetGoogle Scholar
  30. 30.
    Lano, K., Clark, D.: UML 2 Semantics and Applications. Chapter Ch. 8—Axiomatic Semantics of State Machines, pp. 179–204. Wiley, New York (2009)Google Scholar
  31. 31.
    Leue, S., Stefanescu, A., Wei, W.: An AsmL semantics for dynamic structures and run time schedulability in UML-RT. In: Paige, R.F., Meyer, B. (eds.) Proceedings of Objects, Components, Models and Patterns (TOOLS EUROPE 2008), Volume 11 of Lecture Notes in Business Information Processing, pp. 238–257. Springer, Berlin (2008)Google Scholar
  32. 32.
    Li, X., Liu, Z., Jifeng, H.: A formal semantics of UML sequence diagrams. In: Proceedings of the 2004 Australian Software Engineering Conference, pp. 168–177 (2004)Google Scholar
  33. 33.
    Merseguer, J., Bernardi, S., Campos, J., Donatelli, S.: A compositional semantics for UML state machines aimed at performance evaluation. In: Proceedings of the 6th International Workshop on Discrete Event Systems, pp. 295–302. IEEE Computer Society Press (2002)Google Scholar
  34. 34.
    Milner, R.: A Calculus of Communicating Systems. Springer, Berlin (1980)CrossRefzbMATHGoogle Scholar
  35. 35.
    Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes, Parts I and II. Reports ECS-LFCS-89-85 and ECS-LFCS-89-86 86. Computer Science Dept., University of Edinburgh (1989)Google Scholar
  36. 36.
    Möller, M.O., David, A., Yi, W.: Verification of UML statechart with real-time extensions. In: Fundamental Approaches to Software Engineering (FASE’2002), Volume 2306 of LNCS, pp. 218–232. Springer, Berlin (2003)Google Scholar
  37. 37.
    Mrowka, R., Szmuc, T.: UML Statecharts Compositional Semantics in LOTOS. In: 2008 International Symposium on Parallel and Distributed Computing, pp. 459–463. IEEE Computer Society Press (2008)Google Scholar
  38. 38.
    Muthiayen, D.: Real-Time Reactive System Development: A Formal Approach Based on UML and PVS. PhD thesis. Concordia University (2000)Google Scholar
  39. 39.
    Ng, M.Y., Butler, M.: Towards formalizing UML state diagrams in CSP. In: Proceedings of SEFM’03, pp. 138–147. IEEE Computer Society (2003)Google Scholar
  40. 40.
    Object Management Group: UML Profile For Schedulability, Performance, And Time v1.1., January (2005)
  41. 41.
    Object Management Group: UML Profile For MARTE: Modeling And Analysis Of Real-Time Embedded Systems v1.1., June (2011)
  42. 42.
    Object Management Group: UML Superstructure Specification v2.4.1., August (2011)
  43. 43.
    Object Management Group: OMG Systems Modeling Language (OMG \(\text{ SysML }^{\rm TM}\)). June (2012)
  44. 44.
    Object Management Group: UML Superstructure Specification v2.5. September (2012)
  45. 45.
    Paltor, I.: The Semantics of UML State Machines. Technical report (1999)Google Scholar
  46. 46.
    Posse, E.: Modelling and Simulation of Dynamic Structure, Discrete-Event Systems. Ph.D. Thesis. School of Computer Science, McGill University (2008)Google Scholar
  47. 47.
    Posse, E.: A Real-Time Extension to the \(\pi \)-calculus. Technical Report 2009-557. School of Computing, Queen’s University, (2009)
  48. 48.
    Posse, E.: The \(\pi _{klt}\)-Calculus: Formal Definition. Technical Report 2012-591, School of Computing, Queen’s University,, July (2012)
  49. 49.
    Posse, E., Dingel, J.: kiltera: a language for timed, event-driven, mobile and distributed simulation. In: Proceedings of the 14th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications (DS-RT 2010) (2010) Google Scholar
  50. 50.
    Posse, E., Dingel, J.: Theory and implementation of a real-time extension to the \(\pi \)-calculus. In: Proceedings of the International Conference on Formal Techniques for Distributed Systems (FMOODS & FORTE’10), LNCS (2010)Google Scholar
  51. 51.
    Posse, E., Vangheluwe, H.: kiltera: a simulation language for timed, dynamic structure systems. In: Proceedings of the 40th Annual Simulation Symposium (ANSS’07) (2007)Google Scholar
  52. 52.
    Ramos, R., Sampaio, A., Mota, A.: A semantics for UML-RT active classes via mapping into Circus. In: Proceedings of the International Conference on Formal Methods for Open Object-Based Distributed Systems FMOODS’05, Volume 3535 of LNCS, pp. 99–114. Springer, Berlin (2005)Google Scholar
  53. 53.
    SAE International: Architecture Analysis & Design Language (AADL). SAE Standard AS5506b, 10 September (2012)Google Scholar
  54. 54.
    Selic, B.: Using UML for modeling complex real-time systems. In: Mueller, F., Bestavros, A. (eds.) Languages, Compilers, and Tools for Embedded Systems (LCTES’98), Volume 1474 of LNCS, pp. 250–260. Springer, Berlin (1998)Google Scholar
  55. 55.
    Selic, B.: Personal Communication, 1 February (2012)Google Scholar
  56. 56.
    Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object Oriented Modeling. Wiley, New York (1994)zbMATHGoogle Scholar
  57. 57.
    Selic, B., Rumbaugh, J.: Using UML for Modeling Complex Real-Time Systems. Whitepaper, Rational Software Corp (1998)Google Scholar
  58. 58.
    Shankar, S., Asa, S.: Formal semantics of UML with real-time constructs. In: UML, Volume 2863 of LNCS, pp. 60–75. Springer, Berlin (2003)Google Scholar
  59. 59.
    Störrle, H., Hausmann, J.H.: Towards a formal semantics of UML 2.0 activities. In: Proceedings German Software Engineering Conference, Volume 65 of LNI, pp. 117–128 (2005)Google Scholar
  60. 60.
    von der Beeck, M.: A structured operational semantics for UML-statecharts. SoSyM 1(2), 130–141 (2002)Google Scholar
  61. 61.
    von der Beeck, M.: A formal semantics of UML-RT. In: Proceedings of MoDELS’06, pp. 768–782 (2006)Google Scholar
  62. 62.
    Yeung, W.L., Leung, K.R.P.H., Wang, J., Dong, W.: Improvements towards formalizing UML state diagrams in CSP. In: Proceedings of APSEC-’05, pp. 176–184. IEEE Computer Society (2005)Google Scholar
  63. 63.
    Zeigler, B.P., Praehofer, H., Kim, T.G.: Theory of Modeling and Simulation, 1st edn. Academic Press, New York (1976)Google Scholar
  64. 64.
    Zeigler, B.P., Praehofer, H., Kim, T.G.: Theory of Modeling and Simulation, 2nd edn. Academic Press, New York (2000)Google Scholar
  65. 65.
    Zhang, T., Huang, S., Huang, H.: An operational semantics for UML RT-statechart in model checking context. In: Proceedings of the 4th International Conference on Internet Computing for Science and Engineering (ICICSE), pp. 12–18 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Modelling and Analysis in Software Engineering, School of ComputingQueen’s UniversityKingstonCanada

Personalised recommendations