Architecture Level Prediction of Software Quality Attributes

The concept of software architecture emerged in the eighties as an abstraction of all the design decisions pertaining to broad system structure, component coordination, system deployment, and system operation. As such, software architecture deals less with functional attributes than with operational attributes of a software system. So much so that a sound discipline of software architecture consists in identifying and prioritizing important non functional attributes that we want to optimize in the software system, and using them as a guide in making architectural decisions. We know of no architectural description language that allows us to represent and reason about non functional quality attributes such as response time, throughput, failure probability, security, availability, etc. In this paper, we present a modified version of ACME, and present a compiler of this language that allows us to analyze and reason about non functional attributes of software systems.

[1]  Robert J. Allen A formal approach to software architecture , 1997 .

[2]  Leonard J. Bass,et al.  Attribute-Based Architecture Styles , 1999, WICSA.

[3]  Edoardo Bontà,et al.  Automatic code generation: from process algebraic architectural descriptions to multithreaded java programs , 2008 .

[4]  Jiacun Wang,et al.  Introducing software architecture specification and analysis in SAM through an example , 1999, Inf. Softw. Technol..

[5]  Douglas C. Schmidt,et al.  Pattern Oriented Software Architecture: On Patterns and Pattern Languages (Wiley Software Patterns Series) , 2007 .

[6]  L. S. Maurya,et al.  COMPARISON OF SOFTWARE ARCHITECTURE EVALUATION METHODSFOR SOFTWARE QUALITY ATTRIBUTES , 2010 .

[7]  Jerome A. Rolia,et al.  A Toolset for Performance Engineering and Software Design of Client-Server Systems , 1995, Perform. Evaluation.

[8]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[9]  Bradley R. Schmerl,et al.  AcmeStudio: supporting style-centered architecture development , 2004, Proceedings. 26th International Conference on Software Engineering.

[10]  David Garlan,et al.  Architecture-driven modelling and analysis , 2007 .

[11]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[12]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[13]  Eila Niemelä,et al.  A Survey on Software Architecture Analysis Methods , 2002, IEEE Trans. Software Eng..

[14]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[15]  Neil J. Gunther,et al.  The Practical Performance Analyst , 1998 .

[16]  Alessandro Aldini,et al.  On the usability of process algebra: An architectural view , 2005, Theor. Comput. Sci..

[17]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..

[18]  Mikael Lindvall,et al.  An Empirically-Based Process for Software Architecture Evaluation , 2004, Empirical Software Engineering.

[19]  Simonetta Balsamo,et al.  Performance Evaluation at the Software Architecture Level , 2003, SFM.

[20]  D. Garlan,et al.  Architecture-driven Modelling and Analysis 1 , 2006 .

[21]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[22]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..