Author_Institution :
Projet REFLECS, Inst. Nat. de Recherche en Inf. et Autom., Le Chesnay, France
Abstract :
It is widely recognized that real-time, fault-tolerant and distributed computing technologies play a key role in the deployment of many current and future (civilian or defense) critical and complex applications. Computing systems needed to support such applications are referred to as C3 systems. Lack of a clear identification of those issues involved with designing and dimensioning C3 systems can only lead to failures, as recently demonstrated by a number of sizeable projects that have been aborted or suspended in Europe and in the USA, in various application domains. The paper describes a systems engineering methodology that, given some specification <P, p> of a particular systems engineering problem, permits to develop a specification <S, s> of a C3 system such that <S, s> probably satisfies <P, p>. It is explicitly assumed that <P, p> includes arbitrarily stringent timeliness requirements, arbitrary distribution requirements as well as arbitrarily stringent dependability requirements. Moving from <P, p> to <S, s> involves some number of design stages and one final dimensioning stage. It is shown how to verify whether every single design decision satisfies the logical part of <P, p> as well as whether a dimensioning decision satisfies the physical part of <P, p>. This methodology is fully orthogonal to formal specification methods or formal software engineering methods currently in use. It does not rest on any particular programming language either
Keywords :
command and control systems; formal specification; large-scale systems; real-time systems; safety-critical software; software fault tolerance; systems analysis; systems engineering; C3 systems; arbitrarily stringent dependability requirements; arbitrarily stringent timeliness requirements; arbitrary distribution requirements; civilian applications; critical complex computing system design; critical complex computing system dimensioning; defense applications; design decision; dimensioning decision; distributed computing technologies; fault-tolerant computing technologies; formal software engineering methods; formal specification methods; programming language; real-time computing technologies; specification; systems engineering methodology; verification; Air traffic control; Computer applications; Design methodology; Distributed computing; Europe; Fault tolerance; Safety; Software engineering; Stock markets; Systems engineering and theory;