Position Statement for Panel on Grand Challenges in Embedded Software

Abstract

Embedded software design is part of embedded system design, which by its very nature, requires a deep and coherent integration of competencies in software, hardware, and controller design. The scientific challenge is in setting up embedded systems as a new discipline, which systematically and even-handedly marries computation and physicality, performance and robustness. Our aim is not to discuss this grand challenge presented in detail in [1], but rather to identify missing pieces for applying the formal methods paradigm to embedded systems design. Formal methods, in particular formal verification, have been successfully applied to hardware design, and more recently, to software design. To what extent is it possible to adapt existing methods and tools to embedded systems? Design is the process of deriving a system that meets given requirements. Correctness can be demonstrated using formal models meeting the requirements and representing a design at some level of abstraction. For some classes of systems, it is possible to derive a design from a model which by-construction meets the requirements (e.g. hardware synthesis). For others, a design is obtained as the result of a a creative process using existing algorithms and principles for organizing computation, pre-defined functions, data, components, etc. In this case, correctness may be established by a posteriori verification, to show that a model, which is an adequate abstraction of the design, meets the given requirements. There are two non-trivial obstacles to transposing the formal methods paradigm to embedded systems. Faithful modeling: Contrary to pure software or hardware, for a given embedded system, we do not know how to derive a model that faithfully represents its behavior at the proper level of abstraction. Embedded systems are heterogeneous. They are composed of a large variety of components, each having different characteristics, from a large variety of viewpoints, each highlighting different dimensions of a system. We need models representing systems at varying degrees of detail and interrelated in an abstraction hierarchy. A

Extracted Key Phrases

Cite this paper

@inproceedings{Sifakis2007PositionSF, title={Position Statement for Panel on Grand Challenges in Embedded Software}, author={Joseph Sifakis}, year={2007} }