{"title":"Isabelle/HOL中Peterson解的互斥验证","authors":"Xiaojun Ji, Li-Hui Song","doi":"10.1109/TSA.2016.22","DOIUrl":null,"url":null,"abstract":"Peterson's solution is a classical algorithm for mutual exclusion problem. But rigorous works on analyzing its properties of safety or liveness are rare so far. In theorem prover Isabelle/HOL, we formally modelled Peterson's solution for two processes, and proved that it satisfies mutual exclusion property. With Paulson's inductive approach, the algorithm is inductively defined as a set of all possible event lists of two concurrent processes, in which event is defined as atomic action of concurrent processe. All of the reasoning codes have been checked by Isabelle/HOL. Comparing with those works based on model checking, our work can be easily generalized to the analysis of Peterson's solution for n (n>2) processes. And the model we defined for Peterson's solution could be extended to analyze liveness property of Peterson's solution. The process of proving also produces some good advices on how to programming Peterson's solution.","PeriodicalId":114541,"journal":{"name":"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Mutual Exclusion Verification of Peterson's Solution in Isabelle/HOL\",\"authors\":\"Xiaojun Ji, Li-Hui Song\",\"doi\":\"10.1109/TSA.2016.22\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Peterson's solution is a classical algorithm for mutual exclusion problem. But rigorous works on analyzing its properties of safety or liveness are rare so far. In theorem prover Isabelle/HOL, we formally modelled Peterson's solution for two processes, and proved that it satisfies mutual exclusion property. With Paulson's inductive approach, the algorithm is inductively defined as a set of all possible event lists of two concurrent processes, in which event is defined as atomic action of concurrent processe. All of the reasoning codes have been checked by Isabelle/HOL. Comparing with those works based on model checking, our work can be easily generalized to the analysis of Peterson's solution for n (n>2) processes. And the model we defined for Peterson's solution could be extended to analyze liveness property of Peterson's solution. The process of proving also produces some good advices on how to programming Peterson's solution.\",\"PeriodicalId\":114541,\"journal\":{\"name\":\"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)\",\"volume\":\"77 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/TSA.2016.22\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TSA.2016.22","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Mutual Exclusion Verification of Peterson's Solution in Isabelle/HOL
Peterson's solution is a classical algorithm for mutual exclusion problem. But rigorous works on analyzing its properties of safety or liveness are rare so far. In theorem prover Isabelle/HOL, we formally modelled Peterson's solution for two processes, and proved that it satisfies mutual exclusion property. With Paulson's inductive approach, the algorithm is inductively defined as a set of all possible event lists of two concurrent processes, in which event is defined as atomic action of concurrent processe. All of the reasoning codes have been checked by Isabelle/HOL. Comparing with those works based on model checking, our work can be easily generalized to the analysis of Peterson's solution for n (n>2) processes. And the model we defined for Peterson's solution could be extended to analyze liveness property of Peterson's solution. The process of proving also produces some good advices on how to programming Peterson's solution.