Abstract

The paper deals with verification of flow control in concurrent programs. We use the Ada language model as reference. After translation of Ada programs into Petri nets (named Ada nets for Ada programs), we show how one can fully exploit the relationship between the behavior of the concurrent program and the structure of the corresponding Petri net. Using the siphon structure, we specify 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 also provide a formal justification of guidelines (such as client/server paradigm) that programmers observe traditionally in order to build correct concurrent programs. Several examples are presented to show the effectiveness of using a structure theory of Petri nets for static analysis of concurrent programs.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.