How to verify concurrent Ada programs
Alan Burns, Andy J. Wellings · 1999
Ada 95 is an expressive concurrent programming language with which it is possible to build complex multi-tasking applications. Much of the complexity of these applications stem from the interactions between the tasks. This paper argues that model checking tools are now mature enough that they can be used by engineers to verify the logical correctness of their tasking algorithms. The paper illustrates the approach by showing the correctness of an Ada implementation of the atomic action protocol.