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, enabl...
|
2751
|
Communicating sequential processes
– Hoare
- 1978
|
|
1751
|
Statecharts: A visual formalism for complex systems
– Harel
- 1987
|
|
1014
|
Software Architecture: Perspectives on an Emerging Discipline
– Shaw, Garlan
- 1996
|
|
987
|
The Z Notation: A Reference Manual
– Spivey
|
|
593
|
Coloured Petri Nets Basic Concepts Analysis Methods and Practical Use Vol
– Jensen
- 1992
|
|
500
|
Foundations for the study of software architecture
– Perry, Wolf
- 1992
|
|
499
|
A formal basis for architectural connection
– Allen, Garlan
- 1997
|
|
464
|
An introduction to software architecture
– Garlan, Shaw
- 1993
|
|
280
|
Specifying distributed software architectures
– Magee, Dulay, et al.
- 1995
|
|
277
|
Larch: Languages and Tools for Formal Specification
– Horning, Guttag
- 1993
|
|
267
|
Specification and analysis of system architecture using Rapide
– Luckham, Augustin, et al.
- 1995
|
|
262
|
Abstractions for software architecture and tools to support them
– Shaw, DeLine, et al.
- 1995
|
|
248
|
Kommunikation mit Automaten
– Petri
- 1962
|
|
247
|
Architectural mismatch, or, why it’s hard to build systems out of existing parts
– Garlan, Allen, et al.
- 1995
|
|
239
|
Formalizing architectural connections
– Allen, Garlan
- 1994
|
|
226
|
A Formal Approach to Software Architecture
– Allen
- 1997
|
|
216
|
The Essential Distributed Objects Survival Guide
– Orfali, Harkey, et al.
- 1996
|
|
208
|
Connecting tools using message passing in the field environment
– Reiss
- 1990
|
|
206
|
ACME: An architecture description interchange language
– Garlan, Monroe, et al.
- 1997
|
|
199
|
An Event-Based Architecture Definition Language
– Luckham, Vera
- 1995
|
|
175
|
Software reuse
– Krueger
- 1992
|
|
173
|
The Polylith Software Bus
– Purtilo
- 1994
|
|
167
|
The Verilog Hardware Description Language
– Thomas, Moorby
- 1991
|
|
157
|
Programming{in{the{Large Versus Programming{ in{the{Small
– DeRemer, Kron
- 1976
|
|
154
|
Architecture-Based Runtime Software Evolution
– Oreizy, Medvidovic, et al.
- 1998
|
|
146
|
Correct architecture refinement
– Moriconi, Quian, et al.
- 1995
|
|
144
|
Dynamic Structure in Software Architectures
– Magee, Kramer
- 1996
|
|
135
|
Ockerbloom: Exploiting style in architectural design environments
– Garlan, Allen, et al.
- 1994
|
|
132
|
A Calculus of Mobile
– Milner, Parrow, et al.
- 1992
|
|
115
|
A component- and message-based architectural style for GUI software
– Taylor, Medvidovic, et al.
- 1996
|
|
107
|
A language and environment for architecture-based software development and evolution
– Medvidovic, Rosenblum, et al.
- 1999
|
|
103
|
Formal specification and analysis of software architectures using the chemical abstract machine model
– Inverardi, Wolf
- 1995
|
|
99
|
Introducing OBJ3
– Goguen, Winkler
- 1988
|
|
98
|
Module Interconnection Languages, The
– Prieto-Diaz, Neighbors
- 1986
|
|
95
|
Toward megaprogramming
– Wiederhold, Wegner, et al.
- 1992
|
|
92
|
Using style to understand descriptions of software architecture
– Abowd, Allen, et al.
- 1993
|
|
88
|
Structuring parallel and distributed programs
– Magee, Dulay, et al.
- 1992
|
|
87
|
Modechart: A Specification Language for Real-Time Systems
– Jahanian, Mok
- 1994
|
|
85
|
The CODE 2.0 Graphical Parallel Programming Language
– Newton, Browne
- 1992
|
|
73
|
A Survey of Architecture Description Languages
– Clements
- 1996
|
|
64
|
Using Weaves for software construction and analysis
– Gorlick, Razouk
- 1991
|
|
63
|
Integrating Architecture Description Languages with a Standard Design Method (Working Paper
– Robbins, Medvidovic, et al.
- 2001
|
|
61
|
Garlan: Formal Connectors
– Allen, D
- 1994
|
|
59
|
The HP SoftBench Environment: An architecture for a new qeneration of software tools
– Cagan
- 1990
|
|
48
|
Unified Method for Object-Oriented Development
– Booch, Rumbaugh
- 1995
|
|
48
|
Abstractions and implementations for architectural connections
– Shaw, DeLine, et al.
|
|
44
|
Extending design environments to software architecture design. Automated Software Engineering
– Robbins, Hilbert, et al.
- 1998
|
|
44
|
Using object-oriented typing to support architectural design in the C2 style
– Medvidovic, Oreizy, et al.
- 1996
|
|
40
|
Using off-the-shelf middleware to implement connectors in distributed software architectures
– Dashofy, Medvidovic, et al.
|
|
40
|
Capturing Software Architecture Design Expertise With Armani
– Monroe
- 1998
|