Experience in modeling a concurrent software system using STATEMATE

STATEMATE was used to produce an executable model of a software system which would be implemented as a concurrent program with multiple tasks. In addition, the STATEMATE prototyper was used to produce executable Ada code which exhibited the same behavioral characteristics as the STATEMATE model. By augmenting this code with an Ada implementation of low-level primitive activities and a graphical interface, a working prototype of the system was produced. STATEMATE was found to be extremely helpful in recognizing ambiguity and deficiencies in the software requirements; however, limitations of both the tool set and the methodology were revealed. The ADARTS design method was used to produce an independent design of the same application which was implemented in Ada. Comparisons are drawn between the two implementations.<<ETX>>