Sixth International Conference on Quality Software (QSIC'06)
A Method for Realizing Software Architecture Design
Beijing, China
October 27-October 28
ISBN: 0-7695-2718-3
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 AspectJ code; the above code segments are then integrated into Java code.
Citation:
Yujian Fu, Zhijiang Dong, Xudong He, "A Method for Realizing Software Architecture Design," qsic, pp.57-64, Sixth International Conference on Quality Software (QSIC'06), 2006