{"title":"基于Petri网的微服务故障检测","authors":"Sulochan Naik, Meenakshi D'Souza","doi":"10.1145/3578527.3578541","DOIUrl":null,"url":null,"abstract":"Despite higher adoption of Microservices worldwide, there is a lack of work on possible fault detection during early phases such as at requirements and design phase. We propose a novel way to detect faults using model checking CTL specifications and a SMT solver. Requirements of a system involving microservices are mapped to Netflix’s Conductor specification which is later converted into Petri nets for further analysis. Traversal analysis on the converted Petri nets not only allows us to detect a faulty specification but to correct it and adopt a better design. We tried our methodology on the TrainTicket benchmark system and we are able to detect seven faults from the benchmark application using our approach.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"90 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Detection of Faults in Microservices using Petri Nets\",\"authors\":\"Sulochan Naik, Meenakshi D'Souza\",\"doi\":\"10.1145/3578527.3578541\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Despite higher adoption of Microservices worldwide, there is a lack of work on possible fault detection during early phases such as at requirements and design phase. We propose a novel way to detect faults using model checking CTL specifications and a SMT solver. Requirements of a system involving microservices are mapped to Netflix’s Conductor specification which is later converted into Petri nets for further analysis. Traversal analysis on the converted Petri nets not only allows us to detect a faulty specification but to correct it and adopt a better design. We tried our methodology on the TrainTicket benchmark system and we are able to detect seven faults from the benchmark application using our approach.\",\"PeriodicalId\":326318,\"journal\":{\"name\":\"Proceedings of the 16th Innovations in Software Engineering Conference\",\"volume\":\"90 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-02-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 16th Innovations in Software Engineering Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3578527.3578541\",\"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 of the 16th Innovations in Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3578527.3578541","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Detection of Faults in Microservices using Petri Nets
Despite higher adoption of Microservices worldwide, there is a lack of work on possible fault detection during early phases such as at requirements and design phase. We propose a novel way to detect faults using model checking CTL specifications and a SMT solver. Requirements of a system involving microservices are mapped to Netflix’s Conductor specification which is later converted into Petri nets for further analysis. Traversal analysis on the converted Petri nets not only allows us to detect a faulty specification but to correct it and adopt a better design. We tried our methodology on the TrainTicket benchmark system and we are able to detect seven faults from the benchmark application using our approach.