Petri net models of concurrent Ada programs
Abstract In this paper we give a translation of a subset of the programming language Ada to Petri nets. The subset contains Ada rendezvous and dynamic task creation, but does not contain loops. The design of the translation algorithm was influenced by methods of denotational semantics which made the implementation of the algorithm particularly simple in the programming language ML. This approach makes possible proofs about the nature of the Petri net models. Properties of a concurrent Ada program can be studied by analyzing the Petri net model. It is possible to determine the possible interleavings of statements and do static deadlock detection. We are interested in applying the models of Ada programs to the problem of determining which program segments form the critical path in the time it takes an Ada program to execute.