90 likes | 193 Views
Implementation of SCS. Choice of language. Factors Affecting Choice. functional characteristics of language support tools expertise. Characteristics of Language [Carre et al, 1990]. logical soundness complexity of definition expressive power security verifiability
E N D
Implementation of SCS Choice of language
Factors Affecting Choice • functional characteristics of language • support tools • expertise
Characteristics of Language [Carre et al, 1990] • logical soundness • complexity of definition • expressive power • security • verifiability • bounded space and time requirements Carre, Jennings, MacLennan, Farrow and Garnsworthy, SPARK - The SPADE Ada Kernel, Southampton, Program Validation Limited, 1990
Common Programming Problems [Clutterbuck, 1992] • side-effects • aliasing • failure to initialise • expression evaluation errors Clutterbuck, Drive Report: review of current tools and techniques for the development of safety critical software., in Software in Safety Related Systems,(Wichmann ed.), Wiley, 1992
wild jumps overwrites semantics model of maths operational arithmetic data typing exception handling safe subsets exhaustion of memory separate compilation well understood Comparison of Languages: Criteria [Cullyer, 1991] Cullyer, Goodenough and Wichmann, The choice of computer languages for safety critical systems, Software Engineering Journal, 6(2), 51-8
Tools • validated compiler • static verification tools • testing tools • proving tools
Expertise • productivity • number of mistakes • widely used languages
Languages in Use • Ada • Boeing, European Space Agency, NASA, European Rail, Eurotunnel • C++ • Boeing, NASA, Lucas • But, Boeing 757 & 767 use 140 languages in all
Languages for SCS • high safety integrity • safe subsets of Ada or Pascal, possibly safe subset of Modula-2 • low safety integrity • standard Ada, Pascal, Modula-2, structured assembly languages • Generally agreed NOT C or C++