SoftContract: Model-Based Design of Error-Checking Code and Property Monitors

This paper discusses a model-based design flow for requirements in distributed embedded software development. Such requirements are specified using a language similar to Linear Temporal Logic which allows one to reason about time and sequencing. They consist of assertions which must hold for a design, given some assumptions on its environment. They can be checked both during simulation and, at least for a subset, even on the target. Of course the guarantee of correctness is ensured only as long as the assertion express the complete design intent, and the simulation stimuli cover all possible cases. While this is generally not true, the simulation-based approach is a practical manner to ensure correctness with a good degree of confidence, while avoiding the intricacies of software formal verification. Assertions related to deadline satisfaction can also be checked statically by a schedulability analysis tool. The key contribution of the paper is the extension to the embedded software domain of assertion-based verification, and the automated generation of property-checking code in multiple target languages, from simulation, to prototyping, to final production.

[1]  Aloysius K. Mok,et al.  Integrated design tools for hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[2]  Aloysius K. Mok,et al.  Modechart: A Specification Language for Real-Time Systems , 1994, IEEE Trans. Software Eng..

[3]  M. G. Harbour,et al.  MAST Real-Time View: a graphic UML tool for modeling object-oriented real-time systems , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[4]  Guangtian Liu,et al.  Early detection of timing constraint violation at runtime , 1997, Proceedings Real-Time Systems Symposium.

[5]  Jun Wei,et al.  Declarative Performance Modeling for Component-Based System using UML Profile for Schedulability, Performance and Time , 2006, Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM'06).

[6]  Peter David Cornwell Reusable component engineering for hard real-time systems , 1998 .

[7]  Manas Saksena,et al.  Guidelines for automated implementation of executable object oriented models for real-time embedded control systems , 1997, Proceedings Real-Time Systems Symposium.

[8]  Alan Burns,et al.  Hrt-Hood: A Structured Design Method for Hard Real-Time ADA Systems , 1995 .