Industrial Use of Formal Methods
Publication Date: June 2012 Hardback 320 pp.
Although formal analysis programming techniques may be quite old, the introduction of formal methods only dates from the 1980s. These techniques enable us to analyze the behavior of a software application, described in a programming language. It took until the end of the 1990s before formal methods or the B method could be implemented in industrial applications or be usable in an industrial setting. Current literature only gives students and researchers very general overviews of formal methods. The purpose of this book is to present feedback from experience on the use of “formal methods” (such as proof and model-checking) in industrial examples within the transportation domain. This book is based on the experience of people who are currently involved in the creation and evaluation of safety critical system software. The involvement of people from within the industry allows us to avoid the usual problems of confidentiality which could arise and thus enables us to supply new useful information (photos, architecture plans, real examples, etc.). Topics covered by the chapters of this book include SPARK – a language and tool-set for high-integrity software development, model-based Testing, AltaRica, Polyspace, Escher Verification Studio Perfect Developer and Escher C Verifier, DEPLOY and AeS.
1. SPARK – A Language and Tool-Set for High-Integrity Software Development, Ian O’Neill.
2. Model-Based Testing Automatic Generation of Test Cases Using the Markov Chain Model, Héléne Le Guen, Frederique Vallée and Anthony Faucogney.
3. Safety Analysis of the Embedded Systems with the AltaRica Approach, Pierre Bieber and Christel Seguin.
4. Polyspace®, Patrick Munier.
5. Escher Verification Studio Perfect Developer and Escher C Verifier, Judith Carlton and David Crocker.
6. Partial Applications of Formal Methods, Aryldo G. Russo Jr.
7. Event-B and Rodin, Michael Butler, Asieh Salehi Fathabadi and Renato Silva.
8. Conclusion, Jean-Louis Boulanger.
About the Authors
Jean-Louis Boulanger is currently an Independent Safety Assessor (ISA) in the railway domain focusing on software elements. He is a specialist in the software engineering domain (requirement engineering, semi-formal and formal method, proof and model-checking). He also works as an expert for the French notified body CERTIFER in the field of certification of safety critical railway applications based on software (ERTMS, SCADA, automatic subway, etc.). His research interests include requirements, software verification and validation, traceability and RAMS with a special focus on SAFETY.