Verification in Concurrent Programming with Petri nets Structural Techniques
Résumé
This paper deals with verification of flow control in concurrent programs. We use Ada language model as reference. After translation of Ada programs into Petri nets (named Ada nets for Ada programs), we show how one can ful exploit the relationship between the behavior of the concurrent program and the structure of the corresponding Petri net. Using the siphon structure, we precise some structural conditions for behavioral properties such as deadlock-freeness and liveness that correct concurrent programs must satisfy. These conditions can be proved or disproved using efficient algorithms. We provide also a formal justification of guidelines (such as client/server paradigm) that programmers observe traditionally in order to built correct concurrent programs. Several examples are presented to show the effectiveness of using structure theory of Petri nets for static analysis of concurrent programs.
Voir le lien ici