{"title":"A Method for Realizing Software Architecture Design","authors":"Yujian Fu, Zhijiang Dong, Xudong He","doi":"10.1109/QSIC.2006.2","DOIUrl":null,"url":null,"abstract":"A software architecture design provides a high-level abstraction of system topology, functionality, and/or behavior; which provides the basis for early system understanding and analysis as well as the foundation for subsequent detailed design and implementation. However, research on software architecture in the past decade primarily focused on architecture description languages and their analysis techniques and less progress was made on automatically realizing software architecture designs. In this paper, we present a method for automatically generating an implementation from a software architectural description. The implementation not only captures the functionality of the given architecture description, but also contains additional monitoring code for ensuring desirable behavior properties through run-time verification. Our method takes a software description written in SAM, a software architecture model integrating dual formal methods Petri nets and temporal logic, and generates Java code. More specifically, the structure of a SAM architecture description produces Arch-Java code the behavior models of components/connectors represented in Petri nets lead to plain Java code, and the property specifications defined in temporal logic generates Aspect J code; the above code segments are then integrated into Java code","PeriodicalId":378310,"journal":{"name":"2006 Sixth International Conference on Quality Software (QSIC'06)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2006 Sixth International Conference on Quality Software (QSIC'06)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QSIC.2006.2","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9
Abstract
A software architecture design provides a high-level abstraction of system topology, functionality, and/or behavior; which provides the basis for early system understanding and analysis as well as the foundation for subsequent detailed design and implementation. However, research on software architecture in the past decade primarily focused on architecture description languages and their analysis techniques and less progress was made on automatically realizing software architecture designs. In this paper, we present a method for automatically generating an implementation from a software architectural description. The implementation not only captures the functionality of the given architecture description, but also contains additional monitoring code for ensuring desirable behavior properties through run-time verification. Our method takes a software description written in SAM, a software architecture model integrating dual formal methods Petri nets and temporal logic, and generates Java code. More specifically, the structure of a SAM architecture description produces Arch-Java code the behavior models of components/connectors represented in Petri nets lead to plain Java code, and the property specifications defined in temporal logic generates Aspect J code; the above code segments are then integrated into Java code