scispace - formally typeset
Journal ArticleDOI

A classification and comparison framework for software architecture description languages

TLDR
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.
Abstract
Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. Architecture description languages (ADLs) have been proposed as modeling notations to support architecture-based development. There is, however, little consensus in the research community on what is an ADL, what aspects of an architecture should be modeled in an ADL, and which of several possible ADLs is best suited for a particular problem. Furthermore, the distinction is rarely made between ADLs on one hand and formal specification, module interconnection, simulation and programming languages on the other. This paper attempts to provide an answer to these questions. It motivates and presents a definition and a classification framework for ADLs. The utility of the definition is demonstrated by using it to differentiate ADLs from other modeling notations. The framework is used to classify and compare several existing ADLs, enabling us, in the process, to identify key properties of ADLs. The comparison highlights areas where existing ADLs provide extensive support and those in which they are deficient, suggesting a research agenda for the future.

read more

Content maybe subject to copyright    Report

Citations
More filters
Journal ArticleDOI

The Palladio component model for model-driven performance prediction

TL;DR: The Palladio component model (PCM) is used to specify component-based software architectures in a parametric way to enable the prediction of extra-functional properties, and the resulting prediction accuracy is sufficient to support the evaluation of architectural design decisions.
Journal ArticleDOI

The FRACTAL component model and its support in Java

TL;DR: The paper describes JULIA, a Java implementation of the FRACTAL model, a small but efficient runtime framework, which relies on a combination of interceptors and mixins for the programming of reflective features of components.
Proceedings ArticleDOI

Software Architecture as a Set of Architectural Design Decisions

TL;DR: A new perspective on software architecture is presented, which views software architecture as a composition of a set of explicit design decisions, which makes architectural design decisions an explicit part of a software architecture.
Book

Building Reliable Component-Based Software Systems

TL;DR: This paper presents case Studies: Component-Based Development in Industrial Applications, which highlights the need to understand the role of software components in the development of software products.
Proceedings ArticleDOI

ArchJava: connecting software architecture to implementation

TL;DR: A case study applying ArchJava to a circuit-design application suggests that ArchJava can express architectural structure effectively within an implementation, and that it can aid in program understanding and software evolution.
References
More filters
Journal ArticleDOI

Communicating sequential processes

TL;DR: It is suggested that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method.
Journal ArticleDOI

Statecharts: A visual formalism for complex systems

TL;DR: It is intended to demonstrate here that statecharts counter many of the objections raised against conventional state diagrams, and thus appear to render specification by diagrams an attractive and plausible approach.
Book

The Z notation: a reference manual

TL;DR: Tutorial introduction background the Z language the mathematical tool-kit sequential systems syntax summary and how to use it to solve sequential systems problems.
Book

Software architecture: perspectives on an emerging discipline

TL;DR: 1. architectural Styles, 2. Shared Information Systems, 3. Education of Software Architects, 4. Architectural Design Guidance.