DocumentCode :
1183334
Title :
Formal verification of real-time embedded software in an object-oriented application framework
Author :
Hsiung, P.-A. ; Lee, T.-Y. ; Fu, J.-M. ; See, W.-B.
Author_Institution :
Dept. of Comput. Sci. & Inf. Eng., Nat. Chung Cheng Univ., Chiayi, Taiwan
Volume :
151
Issue :
6
fYear :
2004
Firstpage :
417
Lastpage :
434
Abstract :
With the rapid escalation in design complexity of real-time embedded software, application frameworks have become an almost indispensable tool because they greatly ease the work of a designer by performing tedious tasks on behalf of a designer and by reusing semi-complete application codes. To ensure code quality and reliability, computer-aided analysis is also performed for the generated application software in some frameworks. However, when the target is real-time embedded systems, the correctness of the software in terms of satisfying all user-given real-time and embedded constraints becomes a primary objective for such frameworks. To guarantee correctness, formal verification in the form of model checking is a viable solution due to its full automation capability. Nevertheless, little is known from either the existing literature or industrial experience on how formal verification can be integrated into an object-oriented application framework, whose primary purpose was previously only to design and generate application software. This work contributes to the state-of-art technology by showing how a design framework and a verification framework can be integrated. Three main issues are tackled: (i) what to verify; (ii) when to verify; and (iii) how to verify. As a solution to these three issues the authors propose a mapping from the object-oriented model to a formal model, a schedule-verify-map strategy and a compositional verification methodology, respectively. These have been implemented in a component-based framework and experiments performed to illustrate their feasibility. Due to the incorporation of industry de-facto standards such as real-time Unified Modelling Language and real-time Java, in the proposed techniques it should now be possible for an engineer to gain access to theoretically proven formal verification technologies that would otherwise be considered to be inaccessible to an engineer unskilled in verification techniques.
Keywords :
Java; Unified Modeling Language; computer aided software engineering; embedded systems; object-oriented programming; program verification; software quality; software reliability; automation; code quality; code reliability; component-based framework; compositional verification methodology; computer-aided analysis; embedded constraints; formal model; formal verification; model checking; object-oriented application framework; object-oriented model; real-time Java; real-time Unified Modelling Language; real-time constraints; real-time embedded software; schedule-verify-map strategy; semicomplete application code reuse; software correctness;
fLanguage :
English
Journal_Title :
Computers and Digital Techniques, IEE Proceedings -
Publisher :
iet
ISSN :
1350-2387
Type :
jour
DOI :
10.1049/ip-cdt:20041102
Filename :
1367413
Link To Document :
بازگشت