Affiliation:
1. Alabama A & M University, USA
2. Middle Tennessee State University, USA
3. Florida International University, USA
Abstract
The approach aims at solving the above problems by including the analysis and verification of two different levels of software development process–design level and implementation level-and bridging the gap between software architecture analysis and verification and the software product. In the architecture design level, to make sure the design correctness and attack the large scale of complex systems, the compositional verification is used by dividing and verifying each component individually and synthesizing them based on the driving theory. Then for those properties that cannot be verified on the design level, the design model is translated to implementation and runtime verification technique is adapted to the program. This approach can highly reduce the work on the design verification and avoid the state-explosion problem using model checking. Moreover, this approach can ensure both design and implementation correctness, and can further provide a high confident final software product. This approach is based on Software Architecture Model (SAM) that was proposed by Florida International University in 1999. SAM is a formal specification and built on the pair of component-connector with two formalisms – Petri nets and temporal logic. The ACV approach places strong demands on an organization to articulate those quality attributes of primary importance. It also requires a selection of benchmark combination points with which to verify integrated properties. The purpose of the ACV is not to commend particular architectures, but to provide a method for verification and analysis of large scale software systems in architecture level. The future research works fall in two directions. In the compositional verification of SAM model, it is possible that there is circular waiting of certain data among different component and connectors. This problem was not discussed in the current work. The translation of SAM to implementation is based on the restricted Petri nets due to the undecidable issue of high level Petri nets. In the runtime analysis of implementation, extraction of the execution trace of the program is still needed to get a white box view, and further analysis of execution can provide more information of the product correctness.
Reference65 articles.
1. AbadiM.LamportL. (1989). Composing specifications. In de BakkerJ. W.de RoeverW.-P.RozenbergG. (Eds.), Stepwise refinement of distributed systems-models, formalisms, correctness (Vol. 430, pp. 1–41). Berlin: Springer-Verlag.
2. Aldrich, J. Chambers, C. & Notkin, D. (2002). Archjava: Connecting software architecture to implementation. In International Conference on Software Engineering, Orlando,FL.
3. Allen, R. J. (1997). A formal approach to software architecture. Unpublished doctoral thesis.
4. Aspect, J. Project. (2004). AspectJ project. Retrieved from http://eclipse.org/aspectj/
5. Belhaouari, H., & Peschanski, F. (2008). A lightweight container architecture for runtime verification. In proceedings of 8th international runtime verification workshop, LNCS 5289. (pp. 173–187). Springer-Verlag.