A classification and comparison framework for software architecture description languages
Open accessAbstract
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.
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Cites
Communicating Sequential Processes
Hoare, T. (1985) · Cited by 8,853 · see citing works
Statecharts: a visual formalism for complex systems
Harel, D. (1987) · Science of Computer Programming · doi:10.1016/0167-6423(87)90035-9 · Cited by 6,771 · see citing works
Software architecture: perspectives on an emerging discipline
Shaw, M., & Garlan, D. (1996) · CERN Document Server (European Organization for Nuclear Research) · Cited by 2,936 · see citing works
A calculus of mobile processes, I
Milner, R., Parrow, J., & Walker, D. (1992) · Information and Computation · doi:10.1016/0890-5401(92)90008-4 · Cited by 2,864 · see citing works
Communicating sequential processes
Boyle, R. (1985) · Data Processing · doi:10.1016/0011-684x(85)90108-x · Cited by 2,036 · see citing works
Foundations for the study of software architecture
Perry, D. E., & Wolf, A. L. (1992) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/141874.141884 · Cited by 2,023 · see citing works
Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use
Jensen, K. (2011) · Cited by 2,002 · see citing works
Krueger, C. W. (1992) · ACM Computing Surveys · doi:10.1145/130844.130856 · Cited by 1,429 · see citing works
A formal basis for architectural connection
Allen, R., & Garlan, D. (1997) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/258077.258078 · Cited by 1,254 · see citing works
Abstractions for software architecture and tools to support them
Shaw, M., DeLine, R. A., Klein, D., et al. (1995) · IEEE Transactions on Software Engineering · doi:10.1109/32.385970 · Cited by 814 · see citing works
Specification and analysis of system architecture using Rapide
Luckham, D. C., Kenney, J. J., Augustin, L. M., et al. (1995) · IEEE Transactions on Software Engineering · doi:10.1109/32.385971 · Cited by 767 · see citing works
Specifying distributed software architectures
Magee, J., Dulay, N., Eisenbach, S., et al. (1995) · Lecture notes in computer science · doi:10.1007/3-540-60406-5_12 · Cited by 766 · see citing works
Garlan, D., Monroe, R. T., & Wile, D. S. (2010) · doi:10.1145/1925805.1925814 · Cited by 655 · see citing works
Larch: Languages and Tools for Formal Specification
Guttag, J. V., Horning, J. J., Garland, S. J., et al. (1993) · Springer eBooks · doi:10.1007/978-1-4612-2704-5 · Cited by 619 · see citing works
Architecture-based runtime software evolution
Oreizy, P., Medvidović, N., & Taylor, R. N. (1997) · Cited by 581 · see citing works
Self-citationThe Z notation: A reference manual
Madey, J. (1990) · Science of Computer Programming · doi:10.1016/0167-6423(90)90091-q · Cited by 560 · see citing works
Architectural mismatch or why it's hard to build systems out of existing parts
Garlan, D., Allen, R., & Ockerbloom, J. M. (1995) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1145/225014.225031 · Cited by 555 · see citing works
Dynamic structure in software architectures
Magee, J., & Kramer, J. (1996) · doi:10.1145/239098.239104 · Cited by 539 · see citing works
A Formal Approach to Software Architectures
Allen, R. J., & Garlan, D. (1992) · World Computer Congress on Algorithms, Software, Architecture · Cited by 537 · see citing works
The essential distributed objects survival guide
Orfali, R., Harkey, D., & Edwards, J. (1996) · Cited by 506 · see citing works
The Verilog hardware description language
Naveen Kumar, N., Rohith, S., & Kumar, H. V. (1991) · Choice Reviews Online · doi:10.5860/choice.29-2154 · Cited by 503 · see citing works
An event-based architecture definition language
Luckham, D. C., & Vera, J. (1995) · IEEE Transactions on Software Engineering · doi:10.1109/32.464548 · Cited by 486 · see citing works
A component- and message-based architectural style for GUI software
Taylor, R. N., Medvidović, N., Anderson, K. M., et al. (1995) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1145/225014.225042 · Cited by 454 · see citing works
Self-citationConnecting tools using message passing in the Field environment
Reiss, S. P. (1990) · IEEE Software · doi:10.1109/52.56450 · Cited by 414 · see citing works
Reasoning about time in higher-level language software
Shaw, A. (1989) · IEEE Transactions on Software Engineering · doi:10.1109/32.29487 · Cited by 369 · see citing works
Formalizing architectural connection
Allen, R. J., & Garlan, D. (1994) · KiltHub Repository · doi:10.5555/257734.257745 · Cited by 364 · see citing works
Fundamentals of Software Engineering
Hojjat, H., & Caltais, G. (2025) · Lecture notes in computer science · doi:10.1007/978-3-031-87054-5 · Cited by 333 · see citing works
Correct architecture refinement
Moriconi, M., Qian, X., & Riemenschneider, R. A. (1995) · IEEE Transactions on Software Engineering · doi:10.1109/32.385972 · Cited by 330 · see citing works
Exploiting style in architectural design environments
Garlan, D., Allen, R., & Ockerbloom, J. M. (1994) · doi:10.1145/193173.195404 · Cited by 322 · see citing works
Architecture-based runtime software evolution
Oreizy, P., Medvidović, N., & Taylor, R. N. (2002) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1109/icse.1998.671114 · Cited by 306 · see citing works
Self-citationA survey of architecture description languages
Clements, P. (1996) · doi:10.5555/857204.858261 · Cited by 284 · see citing works
Purtilo, J. M. (1994) · ACM Transactions on Programming Languages and Systems · doi:10.1145/174625.174629 · Cited by 272 · see citing works
A language and environment for architecture-based software development and evolution
Medvidović, N., Rosenblum, D. S., & Taylor, R. N. (1999) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1145/302405.302410 · Cited by 266 · see citing works
Self-citationInverardi, P., & Wolf, A. L. (1995) · IEEE Transactions on Software Engineering · doi:10.1109/32.385973 · Cited by 248 · see citing works
An introduction to the theoretical aspects of Coloured Petri Nets
Jensen, K. (1994) · Lecture notes in computer science · doi:10.1007/3-540-58043-3_21 · Cited by 244 · see citing works
Modechart: a specification language for real-time systems
Jahanian, F., & Mok, A. K. (1994) · IEEE Transactions on Software Engineering · doi:10.1109/32.368134 · Cited by 213 · see citing works
Module interconnection languages
Prieto-Díaz, R., & Neighbors, J. M. (1986) · Journal of Systems and Software · doi:10.1016/0164-1212(86)90002-6 · Cited by 212 · see citing works
Using object-oriented typing to support architectural design in the C2 style
Medvidović, N., Oreizy, P., Robbins, J. E., et al. (1996) · doi:10.1145/239098.239106 · Cited by 190 · see citing works
Using style to understand descriptions of software architecture
Abowd, G. D., Allen, R. J., & Garlan, D. (1993) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/167049.167055 · Cited by 183 · see citing works
Shaw, M. (1996) · Lecture notes in computer science · doi:10.1007/bfb0030517 · Cited by 168 · see citing works
A survey of architecture description languages
Clements, P. (2002) · doi:10.1109/iwssd.1996.501143 · Cited by 163 · see citing works
Structuring parallel and distributed programs
Magee, J., Dulay, N., & Kramer, J. (1993) · Software Engineering Journal · doi:10.1049/sej.1993.0011 · Cited by 147 · see citing works
Using weaves for software construction and analysis
Gorlick, M. M., & Razouk, R. R. (1991) · doi:10.5555/256664.256677 · Cited by 129 · see citing works
The CODE 2.0 graphical parallel programming language
Newton, P., & Browne, J. C. (1992) · ACM International Conference on Supercomputing (ICS) · doi:10.1145/143369.143405 · Cited by 126 · see citing works
DOMAIN-SPECIFIC SOFTWARE ARCHITECTURES FOR GUIDANCE, NAVIGATION AND CONTROL
Binns, P., Englehart, M., Jackson, M. R., et al. (1996) · International Journal of Software Engineering and Knowledge Engineering · doi:10.1142/s0218194096000107 · Cited by 115 · see citing works
ADLs and dynamic architecture changes
Medvidović, N. (1996) · doi:10.1145/243327.243340 · Cited by 115 · see citing works
Integrating architecture description languages with a standard design method
Robbins, J. E., Medvidović, N., Redmiles, D., et al. (1998) · doi:10.5555/302163.302184 · Cited by 114 · see citing works
ANNA A Language for Annotating Ada Programs
(1987) · Lecture notes in computer science · doi:10.1007/3-540-17980-1 · Cited by 110 · see citing works
Capturing Software Architecture Design Expertise with Armani
Monroe, R. T. (2018) · doi:10.1184/r1/6704348 · Cited by 106 · see citing works
Formulations and formalisms in software architecture
Shaw, M., & Garlan, D. (1995) · Lecture notes in computer science · doi:10.1007/bfb0015251 · Cited by 98 · see citing works
Abstractions and implementations for architectural connections
Shaw, M., DeLine, R. A., & Zelesnik, G. (2002) · doi:10.1109/cds.1996.509340 · Cited by 93 · see citing works
Specifying Dynamism in Software Architectures
Allen, R. J., Douence, R., & Garlan, D. (2018) · Figshare · doi:10.1184/r1/6609776 · Cited by 85 · see citing works
Using off-the-shelf middleware to implement connectors in distributed software architectures
Dashofy, E. M., Medvidović, N., & Taylor, R. N. (1999) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1145/302405.302407 · Cited by 69 · see citing works
Self-citationAllen, R., & Garlan, D. (1994) · doi:10.21236/ada277611 · Cited by 67 · see citing works
Characteristics of Higher-Level Languages for Software Architecture.
Shaw, M., & Garlan, D. (1994) · doi:10.21236/ada292215 · Cited by 63 · see citing works
Partial orderings of event sets and their application to prototyping concurrent, timed systems
Luckham, D. C., Vera, J., Bryan, D., et al. (1993) · Journal of Systems and Software · doi:10.1016/0164-1212(93)90027-u · Cited by 62 · see citing works
Using style to understand descriptions of software architecture
Abowd, G. D., Allen, R. J., & Garlan, D. (1993) · doi:10.1145/256428.167055 · Cited by 62 · see citing works
Formal modeling and analysis of the HLA component integration standard
Allen, R. J., Garlan, D., & Ivers, J. (1998) · ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE) · doi:10.1145/288195.288251 · Cited by 60 · see citing works
Using weaves for software construction and analysis
Gorlick, M. M., & Razouk, R. R. (2002) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1109/icse.1991.130620 · Cited by 59 · see citing works
Domains of concern in software architectures and architecture description languages
Medvidović, N., & Rosenblum, D. S. (1997) · Cited by 58 · see citing works
Reuse of off-the-shelf components in C2-style architectures
Medvidović, N., Oreizy, P., & Taylor, R. N. (1997) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1145/253228.253838 · Cited by 58 · see citing works
Self-citationMoriconi, M., Qian, X., Riemenschneider, R. A., et al. (2002) · Proceedings - IEEE Symposium on Security and Privacy/Proceedings of the ... IEEE Symposium on Security and Privacy · doi:10.1109/secpri.1997.601320 · Cited by 56 · see citing works
Assessing the Suitability of a Standard Design Method for Modeling Software Architectures
Medvidović, N., & Rosenblum, D. S. (1999) · IFIP advances in information and communication technology · doi:10.1007/978-0-387-35563-4_10 · Cited by 54 · see citing works
Extending Design Environments to Software Architecture Design
Robbins, J. E., Hilbert, D. M., & Redmiles, D. (1998) · Automated Software Engineering · doi:10.1023/a:1008652607643 · Cited by 54 · see citing works
LILEANNA: a parameterized programming language
Tracz, W. (2002) · doi:10.1109/asr.1993.291716 · Cited by 52 · see citing works
Issues in the Runtime Modification of Software Architectures
Oreizy, P. (1997) · Cited by 50 · see citing works
Three Concepts of System Architecture
Luckham, D. C., Vera, J., & Meldal, S. (1995) · Cited by 44 · see citing works
Integrating architecture description languages with a standard design method
Robbins, J. E., Medvidović, N., Redmiles, D., et al. (2002) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1109/icse.1998.671120 · Cited by 43 · see citing works
Style-based refinement for software architecture
Garlan, D. (1996) · doi:10.1145/243327.243607 · Cited by 34 · see citing works
Compositional semantics of a real-time prototyping language
KRÄMER, B. J., Luqi, & Berzins, V. (1993) · IEEE Transactions on Software Engineering · doi:10.1109/32.232012 · Cited by 32 · see citing works
Visual programming-in-the-large versus visual programming-in-the-small
Gorlick, M. M., & Quilici, A. (2002) · doi:10.1109/vl.1994.363631 · Cited by 31 · see citing works
Tooltalk and Open Protocols: Inter-Application Communication
Julienne, A. M., & Holtz, B. C. (1994) · Cited by 29 · see citing works
Summary of the Dagstuhl workshop on software architecture
Garlan, D., Tichy, W. F., & Paulisch, F. N. (1995) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/219308.219320 · Cited by 27 · see citing works
Candidate Model Problems in Software Architecture
Shaw, M., Garlan, D., Allen, R., et al. (2018) · KiltHub Repository · doi:10.1184/r1/6621305 · Cited by 26 · see citing works
Features of Architecture Description Languages
Kogut, P. A., & Clements, P. (1995) · Cited by 26 · see citing works
Multilanguage interoperability in distributed systems. Experience report
Maybee, M., Heimbigner, D. M., & Osterweil, L. J. (2002) · doi:10.1109/icse.1996.493440 · Cited by 25 · see citing works
Parametrized programming in LILEANNA
Tracz, W. (1993) · doi:10.1145/162754.162815 · Cited by 23 · see citing works
A CASE Tool for Software Architecture Design
Ng, K., Kramer, J., & Magee, J. (1996) · Springer eBooks · doi:10.1007/978-1-4613-1439-4_5 · Cited by 22 · see citing works
Succeedings of the second international software architecture workshop (ISAW-2)
Wolf, A. L. (1997) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/251759.251844 · Cited by 21 · see citing works
ANNA, a language for annotating Ada programs: reference manual
Luckham, D. C. (1987) · Springer eBooks · Cited by 19 · see citing works
Formal Methods in Describing Architectures
Clements, P. (1995) · Cited by 12 · see citing works
Allen, R. J. (1996) · doi:10.1145/243327.243626 · Cited by 10 · see citing works
Extending design environments to software architecture design
Robbins, J. E., Hilbert, D. M., & Redmiles, D. (2002) · Knowledge-Based Software Engineering Conference (KBSE) · doi:10.1109/kbse.1996.552824 · Cited by 10 · see citing works
A CASE tool for software architecture design
Ng, K., Kramer, J., & Magee, J. (1996) · Automated Software Engineering · doi:10.1007/bf00132569 · Cited by 4 · see citing works
Flagged first, then by citations
Research works printed but not linked: 19
- R. Allen. HLA: A Standards Effort as Architectural Style. In A. L. Wolf, ed.. Proceedings of theSecond International Software Architecture Workshop (ISAW-2), pages 130-133, San Francisco, CA, October 1996.
- B. W. Boehm and W. L. Scherlis. Megaprogramming. In Proceedings ofthe Software Technology Conference 1992, pages 63-82, Los Angeles, April 1992. DARPA.
- M. R. Cagan. The HP SoftBench Environment: An Architecture for a New Generation of Software Tools. Hewlett-Packard Journal, pages 36-47, June 1990.
- P. C. Clements. ASurvey ofArchitecture Description Languages. In Proceedings of the Eighth International Workshop on Software Specification andDesign, Paderbom, Germany, March 1996.
- D. Garlan, editor. Proceedings ofthe FirstInternational Workshop on Architectures for Software Systems, Seattle, WA, April 1995.
- J. V. Guttag and J.J.Homing. Larch: Languages and Toolsfor Formal Specification. Springer-Verlag, 1993.
- D. Garlan and M. Shaw. An Introduction to Software Architecture: Advances in Software Engineering and Knowledge Engineering, volume I. World Scientific Publishing, 1993.
- W. L. Hursch, L. M. Seiter, and C. Xiao. In any CASE: Demeter. American Programmer, pages 46-56, October 1991.
- P. Kogut and P. Clements. Feature Analysis of Architecture Description Languages. In Proceedings of the Software Technology Conference (STC'95), Salt Lake City, April 1995.
- J. Magee and J. Kramer. Modelling Distributed Software Architectures. In Proceedings of the First International Workshop on Architectures for Software Systems, pages 206-222, Seattle, WA. April 1995.
- N. Medvidovic and R. N. Taylor. Reusing Off-the-Shelf Components to Develop a Family ofApplications in the C2 Architectural Style. To appear in Proceedings ofthe International Workshop on Development and Evolution ofSojiware Architecturesfor Product Families, Las Navas del Marques. Avila, Spain, November 1996.
- N. Medvidovic, R. N. Taylor, and E. J. Whitehead, Jr. Formal Modeling ofSoftware Architectures at Multiple Levels of Abstraction. In Proceedings of the California Software Symposium 1996, pages 28-40, Los Angeles, CA. April 1996.
- J. E. Robbins and D. Redmiles. Software architecture design from the perspective of human cognitive needs. In Proceedings of the California Software Symposium (CSS'96}, Los Angeles, CA, USA, April 1996.
- J. M. Spivey. The Znotation: a reference manual. Prentice Hall, New York, 1989.
- R. N. Taylor, N. Medvidovic, K. M. Anderson, E.J.Whitehead, Jr., J. E. Robbins, K. A. Nies, P. Oreizy, and D. L. Dubrow. A Component-and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineerins pages 390-406, June 1996.
- W. Tracz. Parameterized Programming in LILEANNA. In Proceedings of ACM Symposium onApplied Computing (SAC'93), February 1993.
- W. Tracz. LILEANNA: AParameterized Programming Language. In Proceedings of the Second International Workshop on Software Reuse, pages 66-78, Lucca Italv March 1993.
- IEEE, Inc. IEEE Standard VHDL Language Reference Manual. IEEE Standard 1076- 1987. Los Alamitos, CA, IEEE CS Press, 1987.
- A. L. Wolf, editor. Proceedings ofthe Second International Software Architecture Workshop (ISAW-2), San Francisco, CA, October 1996.
Cited by
Sorted by citations
Enriching software architecture documentation
Jansen, A., Avgeriou, P., & van der Ven, J. S. (2009) · Journal of Systems and Software · doi:10.1016/j.jss.2009.04.052 · Cited by 85 · see citing works
Software Architecture in Practice: Challenges and Opportunities
Wan, Z., Zhang, Y., Xia, X., Jiang, Y., & Lo, D. (2023) · Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3611643.3616367 · Cited by 30 · see citing works
“…approaches for documenting the relevant views of software architecture to help practitioners successfully use it, maintain it, and build a software system from it, including unified modeling language, architecture description languages (e.g., [58]), and domain-specific languages (e.g., [59]).”
BackgroundStop the software architecture erosion: building better software systems
Merkle, B. (2010) · Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion · doi:10.1145/1869542.1869563 · Cited by 10 · see citing works
- Authors
- Medvidovic, N., & Taylor, R. N.
- Affiliations
- Dept. of Comput. Sci., Univ. of Southern California, Los Angeles, CA, USA
- University of California, Irvine (US)
- ORCID
- Taylor, R.N.
- Venue
- IEEE Transactions on Software Engineering
- Published
- 2000-01
- Volume
- 26
- Issue
- 1
- Pages
- 70-93
- ISSN
- 0098-5589 (ISSN-L)
- 1939-3520
- 2326-3881
- OpenAlex
- W2162366870
- Cited by
- 1,987
- References
- 84
- Citations by year
- 2026: 9 · 2025: 13 · 2024: 14 · 2023: 12 · 2022: 16 · 2021: 23 · 2020: 33 · 2019: 31 · 2018: 46 · 2017: 42 · 2016: 49 · 2015: 73 · 2014: 68 · 2013: 80 · 2012: 88
- FWCI
- 329.95
- Type
- journal article
- Language
- en
- Open access
- green
- escholarship.org
- Licence
- Locations
- IEEE Transactions on Software Engineering (publishedVersion)
- eScholarship (California Digital Library) (submittedVersion)
- HAL (submittedVersion)
- Topics
- Physical Sciences › Computer Science › Software › Model-Driven Software Engineering Techniques
- Physical Sciences › Computer Science › Artificial Intelligence › Advanced Software Engineering Methodologies
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Keywords
- architecture description languages, software architecture, modeling notation, formal specification, module interconnection, simulation languages, programming languages, architectural modeling
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review