Providing early feedback in the development cycle through automated application of model checking to software architectures

The benefits of evaluating properties of software architectures stem from two important software architecture roles: (1) providing an opportunity to evaluate requirements and correct defects prior to implementation; and (2) serving as a blueprint for system developers. The paper focuses on a new software architecture evaluation tool called Architecture Analysis Dynamic Environment (Arcade) that uses model checking to provide software architecture safety and liveness evaluation during the requirements gathering and analysis phase. Model checking requires expertise not typically held by systems analysts and software developers. Thus, two barriers to applying model checking must be addressed: (1) translation of the software architecture specification to a form suitable for model checking, and (2) interpretation of the results of model checking. Arcade provides an automated approach to these barriers, allowing model checking of software architectures to be added to the list of techniques available to software analysts and developers focusing on requirements gathering and analysis.

[1]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[2]  S. R. Jernigan,et al.  Requirements Evolution and Reuse Using the Systems Engineering Process Activities (SEPA) , 1999, Australas. J. Inf. Syst..

[3]  K. Suzanne Barber,et al.  Performance evaluation of domain reference architectures , 2002, SEKE '02.

[4]  Alexander L. Wolf,et al.  Software testing at the architectural level , 1996, ISAW '96.

[5]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[6]  K. Suzanne Barber,et al.  Tool support for systematic class identification in object-oriented software architectures , 2000, Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000.

[7]  Mark Klein,et al.  Performing architecture tradeoff analysis , 1998, ISAW '98.

[8]  Paul Clements,et al.  Recommended Best Industrial Practice for Software Architecture Evaluation. , 1997 .

[9]  Gerard J. Holzmann,et al.  v-Promela: a visual, object-oriented language for SPIN , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[10]  Shing-Chi Cheung,et al.  Checking subsystem safety properties in compositional reachability analysis , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[11]  Shing-Chi Cheung,et al.  Verification of liveness properties using compositional reachability analysis , 1997, ESEC '97/FSE-5.

[12]  K. Suzanne Barber,et al.  Evaluating dynamic correctness properties of domain reference architectures , 2003, J. Syst. Softw..

[13]  Prasanta K. Bose,et al.  Automated translation of UML models of architectures for verification and simulation using SPIN , 1999, 14th IEEE International Conference on Automated Software Engineering.

[14]  K. Suzanne Barber,et al.  A Multi-Level Software Architecture Metamodel to Support the Capture and Evaluation of Stakeholder Concerns , 2001, Multi-Conference on Systemics, Cybernetics and Informatics.