Abstraction and Refinement of Concurrent Programs and Formal Specification
Résumé
Formal methods allow to model systems and systems properties by providing accurate mathematical notations (type theory, set theory, . . . ). Implementations can be derived from a formal specification using methods based on refinement. Therefore, from a pragmatic industrial point of vue, the dual work based on abstraction is very important too for verifying safety critical systems, but also for addressing questions like maintenance, reverse ingineering of codes, modifications of programming language, code evolution, inspection of open codes to ensure their correctness with respect to the specification, program comprehension.