Towards a Generic Framework for Evaluating Component-Based Software Architectures

The evaluation of software architectures is crucial to ensure that the design of software systems meets the requirements. We present a generic methodical framework that enables the evaluation of component-based software architectures. It allows to determine system characteristics on the basis of the characteristics of its constituent components. Basic prerequisites are discussed and an overview of different architectural views is given, which can be utilised for the evaluation process. On this basis, we outline the general process of evaluating software architectures and provide a taxonomy of existing evaluation methods. To illustrate the evaluation of software architectures in practice, we present some of the methods in detail.

[1]  Raffaela Mirandola,et al.  CB-SPE Tool: Putting Component-Based Performance Engineering into Practice , 2004, CBSE.

[2]  Willem P. de Roever,et al.  The Need for Compositional Proof Systems: A Survey , 1997, COMPOS.

[3]  Antonio Brogi,et al.  Dynamically Adapting the Behaviour of Software Components , 2002, COORDINATION.

[4]  Chris Abts,et al.  COCOTS: A COTS Software Integration Lifecycle Cost Model - Model Overview and Preliminary Data Collection Findings , 2000 .

[5]  Gabriel A. Moreno,et al.  Packaging Predictable Assembly , 2002, Component Deployment.

[6]  Steffen Becker,et al.  Classifying Software Component Interoperability Errors to Support Component Adaption , 2004, CBSE.

[7]  Robert J. Kauffman,et al.  An Empirical Test of Object-Based Output Measurement Metrics in a Computer Aided Software Engineering (Case) Environment , 1991, J. Manag. Inf. Syst..

[8]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[9]  Alan W. Brown Large Scale Component Based Development , 2000 .

[10]  Mark Klein,et al.  On the Relationship of Software Architecture to Software Component Technology , 2001 .

[11]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[12]  Alan Snyder Encapsulation and inheritance in object-oriented programming languages , 1986, OOPSLA 1986.

[13]  Amir Pnueli,et al.  Compositionality : the significant difference : international symposium, COMPOS '97, Bad Malente, Germany, September 8-12, 1997 : revised lectures , 1998 .

[14]  Simonetta Balsamo,et al.  Towards Simulation-Based Performance Modeling of UML specifications , 2003 .

[15]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

[16]  Daniel M. Yellin,et al.  Protocol specifications and component adaptors , 1997, TOPL.

[17]  Steffen Becker,et al.  The Impact of Software Component Adaptors on Quality of Service Properties , 2004 .

[18]  John D. McGregor,et al.  Issues in Predicting the Reliability of Composed Components , 2002 .

[19]  Roger C. Cheung A User-Oriented Software Reliability Model , 1980, IEEE Trans. Software Eng..

[20]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[21]  Claes Wohlin,et al.  An additive reliability model for the analysis of modular software failure data , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

[22]  Katerina Goseva-Popstojanova,et al.  Architecture-based approaches to software reliability prediction , 2003 .

[23]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[24]  Mikael Lindvall,et al.  Evaluating software architectures , 2004, Adv. Comput..

[25]  Bev Littlewood,et al.  A Reliability Model for Systems with Markov Structure , 1975 .

[26]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[27]  Jesse H. Poore,et al.  Planning and certifying software system reliability , 1993, IEEE Software.

[28]  Sven Overhage,et al.  UnSCom: A Standardized Framework for the Specification of Software Components , 2004, Net.ObjectDays.

[29]  Mehdi Jazayeri,et al.  Software Architecture for Product Families: Principles and Practice , 2000 .

[30]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..

[31]  Amir Pnueli,et al.  Compositionality: The Significant Difference , 1999, Lecture Notes in Computer Science.

[32]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[33]  Xin Wang,et al.  Deriving Software Performance Models from Architectural Patterns by Graph Transformations , 1998, TAGT.

[34]  Wilhelm Hasselbring,et al.  The Dublo architecture pattern for smooth migration of business information systems: an experience report , 2004, Proceedings. 26th International Conference on Software Engineering.

[35]  Paola Inverardi,et al.  Experimenting different software architectures performance techniques: a case study , 2004, WOSP '04.

[36]  James Ledowc Availability Modeling of Modular Software , 1999 .

[37]  Aditya P. Mathur,et al.  On the estimation of reliability of a software system using reliabilities of its components , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[38]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[39]  Barry W. Boehm,et al.  Cost models for future software life cycle processes: COCOMO 2.0 , 1995, Ann. Softw. Eng..

[40]  Jan Bosch,et al.  Assessing optimal software architecture maintainability , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[41]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[42]  Virgílio A. F. Almeida,et al.  Capacity Planning for Web Services: Metrics, Models, and Methods , 2001 .

[43]  Kurt C. Wallnau,et al.  Volume III: A Technology for Predictable Assembly from Certifiable Components , 2003 .

[44]  Ye Wu,et al.  An architecture-based software reliability model , 1999, Proceedings 1999 Pacific Rim International Symposium on Dependable Computing.

[45]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[46]  Paola Inverardi,et al.  An approach to performance evaluation of software architectures , 1998, WOSP '98.

[47]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[48]  Clemens Szyperski,et al.  Component software , 1997 .

[49]  Barry Boehm,et al.  COCOTS: a COTS software integration cost model - model overview and preliminary data findings , 2000 .