Software Architecture as a Set of Architectural Design Decisions

  title={Software Architecture as a Set of Architectural Design Decisions},
  author={Anton Jansen and J. Bosch},
  journal={5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05)},
  • A. Jansen, J. Bosch
  • Published 6 November 2005
  • Computer Science
  • 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05)
Software architectures have high costs for change, are complex, and erode during evolution. We believe these problems are partially due to knowledge vaporization. Currently, almost all the knowledge and information about the design decisions the architecture is based on are implicitly embedded in the architecture, but lack a first-class representation. Consequently, knowledge about these design decisions disappears into the architecture, which leads to the aforementioned problems. In this paper… 

Figures from this paper

An architectural design decision-centric approach to architectural evolution
A meta-model of architectural design decisions for making them more explicit is proposed and an architectural design decision-centric approach to architectural evolution is provided.
Architectural design decisions
A conceptual model of architectural design decisions is presented that explains the parts that this concept is made of and how it relates to other concepts and two approaches have been developed, which help to reduce architectural knowledge vaporization.
Modeling and Documenting the Evolution of Architectural Design Decisions
  • R. Capilla, F. Nava, J. C. Dueñas
  • Computer Science
    Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007)
  • 2007
This research paper extends a previous work to detail issues related to the evolution of architectural design decisions and the need for maintaining and evolving the decisions made in the past turns critical for the success of the development of the system.
An Executable Design Decision Representation Using Model Transformations
  • M. Biehl, Martin Törngren
  • Computer Science
    2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications
  • 2010
An executable representation for design decisions using model transformations which is independent of a particular component model or architectural description language is proposed which gets all the advantages of explicitly captured design decisions while preventing the high capturing cost since the corresponding architectural change can be computed automatically.
An Integrated Approach to Quality Achievement with Architectural Design Decisions
An integrated approach for acquiring good software architecture with respect to its requirements, which is called AQUA, which defines decision centric process of finding, evaluating, and changing the decisions.
Towards Precise Architectural Decision Models
This work defines a formal background for the controlled process of making changes in architectural decision models that are documented using that notation, called Maps of Architectural Decisions, that can support the process ofMaking changes in the software architecture.
Model-Driven approach to Software Architecture design
This paper defines an architecture design method that enables the systematic and assisted construction of the SA of Enterprise Applications, taking into account major quality attributes involved in this family of systems.
Documenting after the fact: Recovering architectural design decisions
Design Decisions: The Bridge between Rationale and Architecture
Software architecture can be seen as a decision making process; it involves making the right decisions at the right time. Typically, these design decisions are not explicitly represented in the
Using variability modeling principles to capture architectural knowledge
This work proposes to use the proven expertise from COVAMOF, a framework for managing variability, to solve the issues that arise when relating quality attributes to architectural decisions.


Software Architecture: The Next Step
The traditional view on software architecture suffers from a number of key problems that cannot be solved without changing the authors' perspective on the notion of software architecture.
Evaluation of tool support for architectural evolution
  • A. Jansen, J. Bosch
  • Computer Science
    Proceedings. 19th International Conference on Automated Software Engineering, 2004.
  • 2004
This work presents a set of requirements that tools should support for architectural evolution: the notion of architectural design decisions, and evaluates existing software architecture tools against these architectural requirements.
Foundations for the study of software architecture
A model of software architecture that consists of three components: elements, form, and rationale is presented, which provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements.
Taming architectural evolution
This paper introduces three of those: the provision of design guidance at the architectural level, the use of specialized software connectors to ensure run-time reliability during component upgrades, and the creation of component-level patches to be applied to deployed system configurations.
A Classification and Comparison Framework for Software Architecture Description Languages
A definition and a classification framework for architecture description languages are presented and the utility of the definition is demonstrated by using it to differentiate ADLs from other modeling notations, enabling us, in the process, to identify key properties ofADLs.
Design patterns: elements of reuseable object-oriented software
The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out
Documenting software architectures: views and beyond
This lecture maps the concepts and templates explored in this tutorial with well-known architectural prescriptions, including the 4+1 approach of the Rational Unified Process, the Siemens Four Views
Design pattern rationale graphs: linking design to source
The DPRG approach and tool are introduced, and case studies are presented to show that a DPRG can, at low-cost, help a developer identify design goals in a pattern, and can improve a developer's confidence about how those goals are realized in a code base.
A Survey of Design Rationale Systems: Approaches, Representation, Capture and Retrieval
This survey is structured around classes of fundamentally different approaches, their representation schema, their capture methods and retrieval techniques, and concludes with an assessment of current state-of-the-art and a discussion of critical open research issues.
The Koala Component Model for Consumer Electronics Software
The authors believe that the answer lies in the use and reuse of software components that work within an explicit software architecture, and the Koala model, a component-oriented approach, is their way of handling the diversity of software in consumer electronics.