Scaling Up Software Architecture Evaluation Processes

As software systems become larger and more decentralized, increasinglycross organizational boundaries and continue to change, traditional structuraland prescriptive software architectures are becoming more rule-centric forbetter accommodating changes and regulating distributed design and developmentprocesses. This is particularly true for Ultra-Large-Scale (ULS) systemsand industry-wide reference architectures. However, existing architecturedesign and evaluation processes have mainly been designed for structural architectureand do not scale up to large and complex system of systems. In this paper,we propose a new software architecture evaluation process - EvaluationProcess for Rule-centric Architecture (EPRA). EPRA reuses and tailors existingproven architecture analysis process components and scales up to complexsoftware-intensive system of systems. We exemplify EPRA's use in an architectureevaluation exercise for a rule-centric industry reference architecture.

[1]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[2]  Liming Zhu,et al.  Tradeoff and Sensitivity Analysis in Software Architecture Evaluation Using Analytic Hierarchy Process , 2005, Software Quality Journal.

[3]  Grace A. Lewis,et al.  Model Problems in Technologies for Interoperability: OWL Web Ontology Language for Services (OWL-S) , 2006 .

[4]  David Carney,et al.  Topics in Interoperability: System-of-Systems Evolution , 2005 .

[5]  Liming Zhu,et al.  Mining patterns to support software architecture evaluation , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[6]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[7]  PerOlof Bengtsson,et al.  Architecture-Level Modifiability Analysis , 2002 .

[8]  Liming Zhu,et al.  UML Profiles for Design Decisions and Non-Functional Requirements , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[9]  Liming Zhu,et al.  Desiderata for Languages to be Used in the Defnition of Reference Business Processes , 2007, Int. J. Softw. Informatics.

[10]  Jan Bosch,et al.  Software Reuse: Methods, Techniques, and Tools , 2004, Lecture Notes in Computer Science.

[11]  Mark Klein,et al.  Quantifying the costs and benefits of architectural decisions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[12]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .

[13]  Leonard J. Bass,et al.  The essential components of software architecture design and analysis , 2006, J. Syst. Softw..

[14]  Grace A. Lewis,et al.  Model Problems in Technologies for Interoperability: Web Services , 2006 .

[15]  Liming Zhu,et al.  Resource-oriented business process modeling for ultra-large-scale systems , 2008, ULSSIS '08.

[16]  David Carney,et al.  Some Current Approaches to Interoperability , 2005 .

[17]  Felix Bachmann,et al.  Deriving Architectural Tactics: A Step Toward Methodical Architectural Design , 2003 .

[18]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[19]  G. Clark,et al.  Reference , 2008 .

[20]  Jan Bosch,et al.  Architecture-level modifiability analysis (ALMA) , 2004, J. Syst. Softw..

[21]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[22]  David Carney,et al.  Topics in Interoperability: Concepts of Ownership and Their Significance in Systems of Systems , 2005 .

[23]  David Carney,et al.  Topics in Interoperability: Infrastructure Replacement in a System of Systems , 2005 .

[24]  Hany H. Ammar,et al.  Architectural-Level Risk Analysis Using UML , 2003, IEEE Trans. Software Eng..

[25]  Douglas C. Schmidt,et al.  Ultra-Large-Scale Systems: The Software Challenge of the Future , 2006 .

[26]  Rick Kazman,et al.  Categorizing Business Goals for Software Architectures , 2005 .

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

[28]  Liming Zhu,et al.  Reference Architecture for Lending Industry in ULS Systems , 2007, International Workshop on Software Technologies for Ultra-Large-Scale Systems (ULS '07).