The Need for a Multilevel Context-Aware Software Architecture Analysis and Design Method with Enterprise and System Architecture Concerns as First Class Entities

Traditional analysis and design approaches focus on "fit for purpose." Experience with contextual environment concerns demonstrates that "fit to context" is a consideration that is equally significant for the appropriateness of the chosen architecture. We propose a multilevel, context-aware approach to software architecture that (1) treats contextual environment concerns as first class entities and (2) groups concerns and techniques of different abstraction, scope and grain into separate explicit levels. We categorize contextual environment concerns into enterprise and system. The proposed method groups software architecture in macro-architecture and micro-architecture levels. In a significant departure from most current software architecture practices, we view and treat macro-architecture as a decision analysis discipline while applying the engineering modeling and design practices used in traditional software architecture methods to the micro-architecture level. In this paper we introduce the software architecture approach and method, discuss our current research, and identify the topics that must be addressed and further defined to complete the method.

[1]  Kari Känsälä,et al.  Software Product Family Evaluation , 2003, SPLC.

[2]  Pierre America,et al.  Multi-view Variation Modeling for Scenario Analysis , 2003, PFE.

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

[4]  Aliaksandr Birukou,et al.  A survey of existing approaches for pattern search and selection , 2010, EuroPLoP.

[5]  Krzysztof Czarnecki,et al.  Evolution of the Linux Kernel Variability Model , 2010, SPLC.

[6]  Jos Nijhuis,et al.  Design Decisions: The Bridge between Rationale and Architecture , 2006 .

[7]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[8]  Marten van Sinderen,et al.  Towards a Flexible Service Integration through Separation of Business Rules , 2010, 2010 14th IEEE International Enterprise Distributed Object Computing Conference.

[9]  Michael Weiss,et al.  Goal-Oriented Design of Business Models and Software Architectures , 2006, 2006 Canadian Conference on Electrical and Computer Engineering.

[10]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[11]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[12]  Robert Lagerström,et al.  Enterprise architecture analysis with extended influence diagrams , 2007, Inf. Syst. Frontiers.

[13]  Dieter K. Hammer,et al.  Tool Support for Architectural Decisions , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

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

[15]  Paul Taylor,et al.  Knowledge management with patterns , 2003, CACM.

[16]  Colin J. Neill,et al.  How Business Goals Drive Architectural Design , 2007, Computer.

[17]  Daniel Gross,et al.  Evolving system architecture to meet changing business goals: an agent and goal-oriented approach , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[18]  Plamen Petrov,et al.  A Systemic Methodology for Software Architecture Analysis and Design , 2011, 2011 Eighth International Conference on Information Technology: New Generations.

[19]  Katarina Stanoevska-Slabeva,et al.  Overview of business models for Web 2.0 communities , 2006, GeNeMe.

[20]  Jing Wang,et al.  From software architecture to design patterns: a case study of an NFR approach , 2005, Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and First ACIS International Workshop on Self-Assembling Wireless Network.

[21]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[22]  Leonard J. Bass,et al.  Making Practical Use of Quality Attribute Information , 2008, IEEE Software.

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

[24]  Olaf Zimmermann,et al.  An architectural decision modeling framework for service-oriented architecture design , 2009 .

[25]  James D. Herbsleb,et al.  Global Software Engineering: The Future of Socio-technical Coordination , 2007, Future of Software Engineering (FOSE '07).

[26]  Paul Clements,et al.  Attribute-Driven Design (ADD), Version 2.0 , 2006 .

[27]  Annie I. Antón,et al.  Goal-based requirements analysis , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[28]  Eoin Woods,et al.  The system context architectural viewpoint , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[29]  Peng Liang,et al.  Architectural design decision: Existing models and tools , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

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

[31]  John Mylopoulos,et al.  From task-oriented to goal-oriented Web requirements analysis , 2003, Proceedings of the Fourth International Conference on Web Information Systems Engineering, 2003. WISE 2003..

[32]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[33]  Frank Leymann,et al.  Reusable Architectural Decision Models for Enterprise Application Development , 2007, QoSA.

[34]  Paul Clements,et al.  Relating Business Goals to Architecturally Significant Requirements for Software Systems , 2010 .

[35]  G. J. Muller,et al.  CAFCR: A Multi-view Method for Embedded Systems Architecting. Balancing Genericity and Specificity , 2004 .

[36]  R. Kazman,et al.  Quality-Attribute Based Economic Valuation of Architectural Patterns , 2007, 2007 First International Workshop on the Economics of Software and Computation.

[37]  Robert L. Nord,et al.  Generalizing a Model of Software Architecture Design from Five Industrial Approaches , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[38]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[39]  Amir Raveh,et al.  Pattern Language for Online Communities , 2007, EuroPLoP.

[40]  Robert L. Nord,et al.  Global Analysis: moving from software requirements specification to structural views of the software architecture , 2005, IEE Proc. Softw..

[41]  Frank Leymann,et al.  Combining Pattern Languages and Reusable Architectural Decision Models into a Comprehensive and Comprehensible Design Method , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[42]  Robert L. Nord,et al.  Software Architecture in Industrial Applications , 1995, 1995 17th International Conference on Software Engineering.

[43]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[44]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[45]  Antony Tang,et al.  A rationale-based architecture model for design traceability and reasoning , 2007, J. Syst. Softw..

[46]  Cesare Pautasso,et al.  Restful web services vs. "big"' web services: making the right architectural decision , 2008, WWW.

[47]  Richard C. Holt,et al.  Linux as a case study: its extracted software architecture , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).