Abstract
We describe an approach to support UML-based development of embedded systems by formal techniques. A subset of UML is extended with timing annotations and given a formal semantics. UML models are translated, via XMI, to the input format of formal tools, to allow timed and non-timed model checking and interactive theorem proving. Moreover, the Play-Engine tool is used to execute and analyze requirements by means of live sequence charts. We apply the approach to a part of an industrial case study, the MARS system, and report about the experiences, results and conclusions.
Article PDF
Similar content being viewed by others
References
Arons, T., Hooman, J., Kugler, H., Pnueli, A., van der Zwaag, M.: Deductive verification of UML models in TLPVS. In: Proc. UML 2004, pp. 335–349. LNCS, vol. 3273. Springer, Heidelberg (2004)
de Boer, F.S., Bonsangue, M.M., Jacob, J., Stam, A., van der Torre, L.W.N.: Enterprise architecture analysis with XML. In: HICSS (2005)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison Wesley (1999)
Bornot, S., Sifakis, J.: Relating time progress and deadlines in hybrid systems. In: International Workshop HART, pp. 286–300. LNCS, vol. 1201. Springer, Heidelberg (1997)
Bozga, M., Graf, S., Mounier, L.: IF-2.0: A validation environment for component-based real-time systems. In: Conf. on Computer Aided Verification (CAV), pp. 343–348. LNCS, vol. 2404. Springer, Heidelberg (2002)
Bozga, M., Graf, S., Ober, I., Ober, I., Sifakis, J.: The IF toolset. In: School on Formal Methods for the Design of Computer, Communication and Software Systems: Real Time, pp. 237–267. LNCS, vol. 3185. Springer, Heidelberg (2004)
Burmester, S., Giese, H., Schäfer, W.: Model-driven architecture for hard real-time systems: From platform independent models to code. In: Model Driven Architecture - Foundations and Applications, First European Conference (ECMDA-FA), pp. 25–40. LNCS, vol. 3748, Springer, Heidelberg (2005)
Damm W. and Harel D. (2001). LSCs: Breathing life into message sequence charts. Formal Methods System Des. 19(1): 45–80
Damm W., Josko B., Pnueli A. and Votintseva A. (2005). A discrete- time UML semantics for concurrency and communication in safety-critical applications. Sci. Comput. Program. 55(1–3): 81–115
Damm, W., Josko, B., Votintseva, A., Pnueli, A.: A formal semantics for a UML kernel language. Available via http://www-omega.imag.fr/ Part I of IST/33522/WP1.1/D1.1.2, Omega Deliverable (2003)
Douglass, B.: Real-time design patterns: robust scalable architecture for real-time systems. Object Technology. Addison-Wesley (2003)
Graf S., Ober I. and Ober I. (2006). A real-time profile in UML. Int. J. Softw. Tools Technol. Transf. (STTT) 8(4): 113–127
Harel, D., Gery, E.: Executable object modeling with statecharts. IEEE Comput. 31–42 (1997)
Harel D. and Kugler H. (2002). Synthesizing state-based object systems from LSC specifications. Int. J. Foundations Comput. Sci. (IJFCS) 13(1): 5–51
Harel, D., Kugler, H., Marelly, R., Pnueli, A.: Smart play-out of behavioral requirements. In: Conf. on Formal Methods in Computer-Aided Design (FMCAD), pp. 378–398. LNCS, vol. 2517. Springer, Heidelberg (2002)
Harel, D., Kugler, H., Pnueli, A.: Smart play-out extended: Time and forbidden elements. In: Conf. on Quality Software (QSIC), pp. 2–10. IEEE Computer Society Press (2004)
Harel, D., Kugler, H., Pnueli, A.: Synthesis revisited: Generating statechart models from scenarios-based requirements. In: Formal Methods in Software and System Modeling, pp. 309–324. LNCS, vol. 3393. Springer, Heidelberg (2005)
Harel, D., Kugler, H., Weiss, G.: Some methodological observations resulting from experience using LSCs and the play-in/play-out approach. In: Scenarios: Models, Algorithms and Tools, pp. 26–42. LNCS, vol. 3466. Springer, Heidelberg (2005)
Harel, D., Marelly, R.: Playing with time: On the specification and execution of time-enriched LSCs. In: Symp. on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), pp. 193–202 (2002)
Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Heidelberg (2003)
Harel D. and Marelly R. (2003). Specifying and executing behavioral requirements: the play in/play-out approach. Softw. System Model. (SoSyM) 2(2): 82–107
Hooman, J.: Compositional verification of real-time applications. In: Compositionality—The Significant Difference (COMPOS), pp. 276–300. LNCS, vol. 1536. Springer, Heidelberg (1998)
Hooman J. and van der Zwaag M. (2006). A semantics of communicating reactive objects with timing. Int. J. Softw. Tools Technol. Transf. (STTT) 8(4): 97–112
Knapp, A., Merz, S., Rauh, C.: Model checking timed UML state machines and collaborations. In: Symp. on Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT), pp. 395–414. LNCS, vol. 2469. Springer, Heidelberg (2002)
Kugler, H., Harel, D., Pnueli, A., Lu, Y., Bontemps, Y.: Temporal logic for scenario-based specifications. In: Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), pp. 445–460. LNCS, vol. 3440. Springer, Heidelberg (2005)
Kwon, G.: Rewrite rules and operational semantics for model checking UML statecharts. In: UML 2000, pp. 528–540. LNCS, vol. 1939. Springer, Heidelberg (2000)
Kyas, M., Fecher, H., de Boer, F., Jacob, J., Hooman, J., van der Zwaag, M., Arons, T., Kugler, H.: Formalizing UML models and OCL constraints in PVS. In: Semantic Foundations of Engineering Design Languages (SFEDL), vol. 115, pp. 39–47. Electronic Notes in Theoretical Computer Science (ENTCS) (2005)
Larsen, K., Petterson, P., Yi, W.: UPPAAL: Status & developments. In: Conf. on Computer Aided Verification (CAV), pp. 456–459. LNCS, vol. 1254. Springer, Heidelberg (1997)
Latella D., Majzik I. and Massink M. (1999). Automatic verification of a behavioural subset of UML statechart diagrams using the SPIN model-checker. Formal Aspects Comput. 11(6): 637–664
Lavazza, L., Quaroni, G., Venturelli, M.: Combining UML and formal notations for modelling real-time systems. In: European Software Engineering Conference, pp. 196–206. ACM SIGSOFT (2001)
Marelly, R., Harel, D., Kugler, H.: Multiple instances and symbolic variables in executable sequence charts. In: Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pp. 83–100 (2002)
Mota E., Clarke E.M., Groce A., Oliveira W., Falcão M. and Kanda J. (2004). VeriAgent: an approach to integrating UML and formal verification tools. Electron. Notes Theor. Comput. Sci. (ENTCS) 95: 111–129
Ober I., Graf S. and Ober I. (2006). Validating timed UML models by simulation and verification. Int. Journal on Soft. Tools Technol. Transf. (STTT) 8(4): 128–145
OMG: UML 2.0 Superstructure. http://www.omg.org/cgi-bin/doc?formal/05-07-04 (2005)
OMG: UML Profile for Schedulability, Performance, and Time, v1.1. Available from http://www.omg.org/cgi-bin/doc?formal/2005-01-02 (2005)
Owre, S., Rushby, J., Shankar, N.: PVS: A prototype verification system. In: Conference on Automated Deduction, pp. 748–752. Lecture Notes in Artificial Intelligence, vol. 607. Springer, Heidelberg (1992)
Owre S., Rushby J., Shankar N. and von Henke F. (1995). Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Trans. Softw. Eng. 21(2): 107–125
Paltor, I.P., Lilius, J.: Formalising UML state machines for model-checking. In: UML’99: The Unified Modeling Language—Beyond the Standard, pp. 430–445. LNCS, vol. 1723. Springer, Heidelberg (1999)
Pnueli, A., Arons, T.: TLPVS: A PVS-based LTL verification system. In: Verification: Theory and Practice, pp. 598–625. LNCS, vol. 2772. Springer, Heidelberg (2003)
PVS: http://pvs.csl.sri.com/
Reggio, G., Astesiano, E., Choppy, C., Hußmann, H.: Analysing UML active classes and associated statecharts—a lightweight formal approach. In: Conf. on Fundamental Approaches to Software Engineering (FASE), pp. 127–146. LNCS, vol. 1783. Springer, Heidelberg (2000)
Schinz, I., Toben, T., Mrugalla, C., Westphal, B.: The Rhapsody UML verification environment. In: Conf. on Software Engineering and Formal Methods (SEFM), pp. 174–183. IEEE Computer Society Press (2004)
Selic B., Gullekson G. and Ward P. (1994). Real-Time Object-Oriented Modeling. Wiley, New York
Shen, W., Compton, K.J., Huggins, J.: A toolset for supporting UML static and dynamic model checking. In: Computer Software and Applications Conference (COMPSAC), pp. 147–152 (2002)
Traoré I., Aredo D.B. and Ye H. (2004). An integrated framework for formal development of open distributed systems. Inform. Softw. Technol. 46(5): 281–286
Xie, F., Levin, V., Browne, J.C.: Objectcheck: A model checking tool for executable object-oriented software system designs. In: Conf. on Fundamental Approaches to Software Engineering (FASE), pp. 331–335. LNCS, vol. 2306. Springer, Heidelberg (2002)
Yovine, S.: Kronos: a verification tool for real-time systems. Int. J. Softw. Tools Technol. Transf. 1(1–2), (1997)
Z.120 ITU-TS Recommendation Z.120: Message Sequence Chart (MSC). ITU-TS, Geneva (1996)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Susanne Graf.
This work has been supported by EU-project IST 33522 – OMEGA “Correct Development of Real-Time Embedded Systems in UML”. For more information, see http://www-omega.imag.fr/. During this project, the second author was at theWeizmann Institute of Science, the third author at VERIMAG, the fourth author at OFFIS, and the fifth author at NLR.
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://creativecommons.org/licenses/by-nc/2.0 ), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Hooman, J., Kugler, H., Ober, I. et al. Supporting UML-based development of embedded systems by formal techniques. Softw Syst Model 7, 131–155 (2008). https://doi.org/10.1007/s10270-006-0043-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-006-0043-7