{"title":"Petri网结构技术在并发编程中的验证","authors":"Kamel Barkaoui, Jean-François Pradat-Peyre","doi":"10.1109/HASE.1998.731604","DOIUrl":null,"url":null,"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.","PeriodicalId":340424,"journal":{"name":"Proceedings Third IEEE International High-Assurance Systems Engineering Symposium (Cat. No.98EX231)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-11-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"17","resultStr":"{\"title\":\"Verification in concurrent programming with Petri nets structural techniques\",\"authors\":\"Kamel Barkaoui, Jean-François Pradat-Peyre\",\"doi\":\"10.1109/HASE.1998.731604\",\"DOIUrl\":null,\"url\":null,\"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.\",\"PeriodicalId\":340424,\"journal\":{\"name\":\"Proceedings Third IEEE International High-Assurance Systems Engineering Symposium (Cat. No.98EX231)\",\"volume\":\"26 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1998-11-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"17\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings Third IEEE International High-Assurance Systems Engineering Symposium (Cat. No.98EX231)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HASE.1998.731604\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings Third IEEE International High-Assurance Systems Engineering Symposium (Cat. No.98EX231)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HASE.1998.731604","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Verification in concurrent programming with Petri nets structural techniques
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.