Towards UML-based formal specifications of component-based real-time software

UML-RT is achieving increasing popularity as a modeling language for real-time applications. Unfortunately UML-RT is not formally well defined and it is not well suited for supporting the specification stage: e.g., it does not provide native constructs to represent time and non-determinism. UML+ is an extension of UML that is formally well defined and suitable for expressing the specifications of real-time systems (e.g., the properties of a UML+ model can be formally verified). However, UML+ does not support design and development. This article addresses the translation of UML+ into UML-RT, thus posing the basis for a development framework where UML+ and UML-RT are used together, in order to remove each other’s limitations. Specifications are written using UML+, they are automatically verified by means of formal methods, and are then converted – through a semi-automatic process – in an equivalent UML-RT model that becomes the starting point for the implementation.

[1]  Constance L. Heitmeyer,et al.  Comparing different approaches for specifying and verifying real-time systems , 1993 .

[2]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[3]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[4]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[5]  Rik Eshuis,et al.  Semantics and Verification of UML Activity Diagrams for Workflow Modelling , 2002 .

[6]  Luigi Lavazza,et al.  Combining UML and formal notations for modelling real-time systems , 2001, ESEC/FSE-9.

[7]  Ludovic Apvrille,et al.  TURTLE: a real-time UML profile supported by a formal validation toolkit , 2004, IEEE Transactions on Software Engineering.

[8]  Vieri Del Bianco,et al.  Model checking UML specifications of real time software , 2002, Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002. Proceedings..

[9]  Amir Pnueli,et al.  What is in a Step: On the Semantics of Statecharts , 1991, TACS.

[10]  Rik Eshuis,et al.  Requirements Level Semantics for UML Statecharts , 2000, FMOODS.

[11]  Amir Pnueli,et al.  Timed and Hybrid Statecharts and Their Textual Representation , 1992, FTRTFT.

[12]  Luigi Lavazza,et al.  An application of the DESS modeling approach: The Car Speed Regulator , 2001 .

[13]  Carlo Ghezzi,et al.  TRIO: A logic language for executable specifications of real-time systems , 1990, J. Syst. Softw..

[14]  Jerry M. Mendel,et al.  IEEE control systems society , 2004, IEEE Control Systems.

[15]  Luigi Lavazza,et al.  A FORMALIZATION OF UML STATECHARTS FOR REAL-TIME SOFTWARE MODELING , 2002 .

[16]  Alexandre David,et al.  From HUPPAAL to UPPAAL - A Translation from Hierarchical Timed Automata to Flat Timed Automata , 2001 .

[17]  Farn Wang,et al.  Model-Checking Distributed Real-Time Systems with States, Events, and Multiple Fairness Assumptions , 2004, AMAST.

[18]  Heinrich Hußmann,et al.  Analysing UML Active Classes and Associated State Machines - A Lightweight Formal Approach , 2000, FASE.

[19]  Michel Poize,et al.  TAXYS=Esterel+Kronos. A tool for verifying real-time properties of embedded systems , 2001, Proceedings of the 40th IEEE Conference on Decision and Control (Cat. No.01CH37228).

[20]  LavazzaLuigi,et al.  Combining UML and formal notations for modelling real-time systems , 2001 .

[21]  Joseph Sifakis,et al.  Modeling Real-Time Systems-Challenges and Work Directions , 2001, EMSOFT.

[22]  Ernst-Rüdiger Olderog,et al.  A CSP View on UML-RT Structure Diagrams , 2001, FASE.

[23]  Sergio Yovine,et al.  KRONOS: a verification tool for real-time systems , 1997, International Journal on Software Tools for Technology Transfer.

[24]  Rajeev Alur,et al.  Model-checking for real-time systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.