Combining UML and formal notations for modelling real-time systems

  • Authors:
  • Luigi Lavazza;Gabriele Quaroni;Matteo Venturelli

  • Affiliations:
  • CEFRIEL - Politecnico di Milano, P.Za Leonardo da Vinci, 32, 20133 Milano, Italia;Technology Reply srl, Via Ripamonti, 89, 20139 Milano, Italia;TXT e-solutions, Via Frigia, 27, 20126 Milano, Italia

  • Venue:
  • Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

This article explores a dual approach to real-time software development. Models are written in UML, as this is expected to be relatively easy and economic. Then models are automatically translated into a formal notation that supports the verification of properties such as safety, utility, liveness, etc. In this way, developers can exploit the advantages of formal notations while skipping the complex and expensive formal modelling phase. The proposed appraoch is applied to the Generalised Railroad Crossing (GRC) problem, one of the best known benchmarks porposed in the literature. A UML model of the GRC is built, and then translated into TRIO (a first order temporal logic). The resulting specification properties are tested by a history checking tool which exploits the formality of TRIO. The work described here highlights the shortcomings of UML as a real-time modelling language, proposes enhancements and workarounds to overcome UML limitations, and demonstrates the viability of using UML as a front-end for a formal real-time notation. By translating the GRC model into TRIO, we also give formal semantics to some of the UML constructs.