Flush: a system development tool based on scade/lustre

  • Authors:
  • Jan Mikáč;Paul Caspi

  • Affiliations:
  • Laboratoire Verimag (CNRS, UJF, INPG), France;Laboratoire Verimag (CNRS, UJF, INPG), France

  • Venue:
  • Proceedings of the 10th international workshop on Formal methods for industrial critical systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.02

Visualization

Abstract

In safety-critical control systems, the Scade/Lustre development environment has proved its value, with notable achievements such as the Hong-Kong subway signalling system and Airbus A380 flight controls. The interest of the approach comes from the synchronous data-flow style of the Lustre language which makes is well-adapted to the culture of control engineers. At the same time Lustre is endowed with simple formal semantics which makes it amenable to formal development.The currently running Flush project consists of building a formal system development tool on top of it, by taking advantage of the formal properties of the Lustre language. To this end, a refinement calculus is defined, encompassing both functional and temporal aspects. Refinement proof obligations are generated, and several proof approaches can be used to discharge them: model-checking, abstract interpretation, and theorem proving through repeated induction and, finally translation to PVS proof obligations. The resulting methodology is illustrated on the island example used by J.R. Abrial for presenting the B system method.