Mohd Anuaruddin bin Ahmadon, S. Yamaguchi, B. Gupta
{"title":"基于petri网的软件进化方法","authors":"Mohd Anuaruddin bin Ahmadon, S. Yamaguchi, B. Gupta","doi":"10.1109/IACS.2016.7476122","DOIUrl":null,"url":null,"abstract":"In conventional software development, a program evolves as programmers make changes to its source code. Thus, the process of developing new version or verifying important software specifications based on its original design is difficult. In this paper, we introduced a model-driven development approach to support software evolution. We proposed two key methods in our approach. First, we proposed a reverse engineering method by translating a software program into a Petri net model. Second, we proposed a model-driven verification method to confirm that important execution sequence of the software model can be preserved throughout the evolution. In our approach, a program's code can always be reconstructed as a model and be verified even though changes are made at the source code level or vice versa. In other words, our approach is bidirectional. Then, we illustrated the proposed method with an example of a multithreaded program.","PeriodicalId":6579,"journal":{"name":"2016 7th International Conference on Information and Communication Systems (ICICS)","volume":"5 6","pages":"264-269"},"PeriodicalIF":0.0000,"publicationDate":"2016-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"A Petri-net based approach for software evolution\",\"authors\":\"Mohd Anuaruddin bin Ahmadon, S. Yamaguchi, B. Gupta\",\"doi\":\"10.1109/IACS.2016.7476122\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In conventional software development, a program evolves as programmers make changes to its source code. Thus, the process of developing new version or verifying important software specifications based on its original design is difficult. In this paper, we introduced a model-driven development approach to support software evolution. We proposed two key methods in our approach. First, we proposed a reverse engineering method by translating a software program into a Petri net model. Second, we proposed a model-driven verification method to confirm that important execution sequence of the software model can be preserved throughout the evolution. In our approach, a program's code can always be reconstructed as a model and be verified even though changes are made at the source code level or vice versa. In other words, our approach is bidirectional. Then, we illustrated the proposed method with an example of a multithreaded program.\",\"PeriodicalId\":6579,\"journal\":{\"name\":\"2016 7th International Conference on Information and Communication Systems (ICICS)\",\"volume\":\"5 6\",\"pages\":\"264-269\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 7th International Conference on Information and Communication Systems (ICICS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IACS.2016.7476122\",\"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 7th International Conference on Information and Communication Systems (ICICS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IACS.2016.7476122","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
In conventional software development, a program evolves as programmers make changes to its source code. Thus, the process of developing new version or verifying important software specifications based on its original design is difficult. In this paper, we introduced a model-driven development approach to support software evolution. We proposed two key methods in our approach. First, we proposed a reverse engineering method by translating a software program into a Petri net model. Second, we proposed a model-driven verification method to confirm that important execution sequence of the software model can be preserved throughout the evolution. In our approach, a program's code can always be reconstructed as a model and be verified even though changes are made at the source code level or vice versa. In other words, our approach is bidirectional. Then, we illustrated the proposed method with an example of a multithreaded program.