Results 1 - 10
of
14
Tool Support for Architectural Decisions
- Proceedings of the 6th working IEEE/IFIP Conference on Software Architecture
, 2007
"... In contrast to software architecture models, architectural decisions are often not explicitly documented, and therefore eventually lost. This contributes to major problems such as high-cost system evolution, stakeholders miscommunication, and limited reusability of core system assets. An approach is ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
In contrast to software architecture models, architectural decisions are often not explicitly documented, and therefore eventually lost. This contributes to major problems such as high-cost system evolution, stakeholders miscommunication, and limited reusability of core system assets. An approach is outlined that systematically and semiautomatically documents architectural decisions and allows them to be effectively shared by the stakeholders. A first attempt is presented that partially implements the approach by binding architectural decisions, models and the system implementation. The approach is demonstrated with an example demonstrating its usefulness with regards to some industrial use cases. 1.
N.: Reusable Architectural Decision Models for Enterprise Application Development
- Proc. of QoSA 2007. LNCS
, 2007
"... Abstract. In enterprise application development and other software construction projects, a critical success factor is to make sound architectural decisions. Text templates and tool support for capturing architectural decisions exist, but have failed to reach broad adoption so far. One of the inhibi ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
Abstract. In enterprise application development and other software construction projects, a critical success factor is to make sound architectural decisions. Text templates and tool support for capturing architectural decisions exist, but have failed to reach broad adoption so far. One of the inhibitors we perceived on large-scale industry projects is that architectural decision capturing is regarded as a retrospective and therefore unwelcome documentation task which does not provide any benefit during the original design work. A major problem of such a retrospective approach is that the decision rationale is not available to decision makers when they identify, make, and enforce decisions. Often a large, possibly distributed, community of decision makers is involved in these three steps. In this paper, we propose a new conceptual framework for proactive decision identification, decision maker collaboration, and decision enforcement. Based on a meta model capturing reuse and collaboration aspects explicitly, our framework instantiates decision models from requirements models and reusable decision templates. These templates capture knowledge gained on other projects employing the same architectural style. As an exemplary application of these concepts to service-oriented architecture shows, reusable architectural decision models can speed up the decision identification and improve the quality of the decision making. Reusable architectural decision models can also simplify the exchange of architecture design rationale within and between project teams, and expose decision outcome as model transformation parameters in model-driven software development. Keywords: Architectural decision, architectural knowledge, MDA, SOA. 1
A Tool for Managing Software Architecture Knowledge
- Proceedings of the 2 nd Workshop on Sharing and Reusing Architectural Knowledge, ICSE Workshops, IEEE DL
, 2007
"... This paper describes a tool for managing architectural knowledge and rationale. The tool has been developed to support a framework for capturing and using architectural knowledge to improve the architecture process. This paper describes the main architectural components and features of the tool. The ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
This paper describes a tool for managing architectural knowledge and rationale. The tool has been developed to support a framework for capturing and using architectural knowledge to improve the architecture process. This paper describes the main architectural components and features of the tool. The paper also provides examples of using the tool for supporting wellknown architecture design and analysis methods. 1.
Architectural Knowledge: Getting to the Core
"... Abstract. Different organizations or organizational units are likely to store and maintain different types of information about their software architectures. This inhibits effective management of architectural knowledge. We experimented with a model of architectural knowledge to characterize the use ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Abstract. Different organizations or organizational units are likely to store and maintain different types of information about their software architectures. This inhibits effective management of architectural knowledge. We experimented with a model of architectural knowledge to characterize the use of architectural knowledge in four different organizations. Based on this experimentation we identified four perspectives on architectural knowledge management, and additionally adjusted the model to better align theory with practice. The refined model defines a minimal set of concepts with supposedly complete coverage of the architectural knowledge domain. Because of the minimalistic aspect of the model, we refer to it as a ‘core model ’ of architectural knowledge. Supporting evidence for the validity of our model, i.e. the supposed complete coverage, has been obtained by an attempt to falsify this claim through a comparison with selected literature. Application of the core model to characterize the use of architectural knowledge indicates possible areas of improvement for architectural knowledge management in the four organizations. 1
Reusable Architectural Decisions for DSL Design Foundational Decisions in DSL Development
"... Domain-specific languages (DSL) receive a constantly growing attention in the area of software development. However, so far the documentation of reusable architectural knowledge for DSL design is rather limited. In this paper, we systematically explore the DSL design space by combining reusable arch ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Domain-specific languages (DSL) receive a constantly growing attention in the area of software development. However, so far the documentation of reusable architectural knowledge for DSL design is rather limited. In this paper, we systematically explore the DSL design space by combining reusable architectural decision modeling and software patterns. In particular, we have explored three reusable architectural decisions in this design space: the decision for the type of DSL development process, the decision for the concrete syntax style, and the decision for developing an external vs. an embedded DSL. These decisions are foundational for each DSL project. Each of these decisions has a number of (candidate) patterns for DSL design. These (candidate) patterns define alternative solutions in the shared context and problem space of the respective reusable architectural decision. 1
Architectural Decision Models as Micro-Methodology for Service-Oriented Analysis and Design
"... Abstract. During the construction of service-oriented architectures, service modelers concern themselves with the characteristics of good services and how such services can be designed. For instance, they look for advice regarding interface granularity and criteria to assess whether existing softwar ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Abstract. During the construction of service-oriented architectures, service modelers concern themselves with the characteristics of good services and how such services can be designed. For instance, they look for advice regarding interface granularity and criteria to assess whether existing software assets are fit for reuse in service-oriented environments. There are no straightforward answers to such questions – service identification, specification and realization techniques are required. Service identification and specification are well covered by existing methodologies; for service realization, architectural decision models can be leveraged. At present, the construction of architectural decision models is an education- and labor-intensive undertaking; if such models exist at all, they often are isolated from other artifacts. In this paper, we propose a new engineering approach to service modeling that leverages reusable architectural decision models as its central service realization concept. We outline a multi-level decision tree and position it as a prescriptive service realization methodology for three engagement types observed in practice. The benefits of service engineering with reusable architectural decision models are semiautomatic decision identification in analysis models, improved decision making quality, and better decision enforcement and risk mitigation capabilities.
A Model for structuring Software Architecture Project Memories, submitted
, 2005
"... Abstract. In order to prevent knowledge dispersion in the software architecting process, it is crucial to deploy sound mechanisms to manage and share vital architectural knowledge. Continuous organizational learning is an important vehicle to address this issue. We present a model that provides a ge ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. In order to prevent knowledge dispersion in the software architecting process, it is crucial to deploy sound mechanisms to manage and share vital architectural knowledge. Continuous organizational learning is an important vehicle to address this issue. We present a model that provides a generic structure for software architecture project memories. Key concepts in this model are design decisions and their rationale. This focus ensures that not only the software artifacts themselves are subject to an organization's knowledge management efforts, but also the technical, organizational, political and economic influences on these artifacts. In our current work, we empirically validate the model presented in this paper. Case studies are being performed in which we forward engineer (capture) and reverse engineer (recover) architectural knowledge by means of the presented model.
Aspects in architectural description: report on a first workshop at aosd 2007
- SIGSOFT Software Engineering Notes
"... ..."
Issues in Applying Empirical Software Engineering to Software Architecture
"... Abstract. Empirical software engineering focuses on the evaluation of software engineering technologies, such as processes and tools, by comparing related sets of data. It has contributed a valuable body of knowledge in several areas such as Software Economics and Software Quality, which in turn dro ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. Empirical software engineering focuses on the evaluation of software engineering technologies, such as processes and tools, by comparing related sets of data. It has contributed a valuable body of knowledge in several areas such as Software Economics and Software Quality, which in turn drove important advances in related tools and techniques. Unfortunately this is not (yet) the case for software architecture, where empirical studies are still few. Such a condition demands for further empirical research efforts on the topic of software architecture and suggests specific areas of improvement. In this paper we discuss several essential, innovative, and maybe provocative, questions such as: Why do we have so few applications of empirical software engineering on software architecture? Which are the main difficulties? What can we do?
Reusable Architectural Decision Model for Model and Metadata Repositories
"... Abstract. Models are gaining importance in software development, for instance in the MDD field, as well as in other disciplines such as biology and physics. Hence, tool support is needed to manage these models and metadata about the models. Model repositories support this trend by managing these mod ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. Models are gaining importance in software development, for instance in the MDD field, as well as in other disciplines such as biology and physics. Hence, tool support is needed to manage these models and metadata about the models. Model repositories support this trend by managing these model artifacts. While setting up model and metadata repositories, architects have to make several fundamental design decisions and balance various forces. In this paper we describe reusable knowledge in form of reusable architectural decisions for ITarchitects in setting-up, planning, and developing model and metadata repositories, as well as the main decision drivers. Our decisions are documented in a reusable architectural decision model that can be instantiated for a concrete system. It also supports a lightweight approach to architecture documentation. A case study illustrates the decisions made when setting up our own data access object model repository by walking through the reusable architectural decision model. 1

