Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A Classification and Comparison Framework for Software Architecture Description Languages

Published: 01 January 2000 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    G. Abowd R. Allen and D. Garlan, “Using Style to Understand Descriptions of Software Architecture,” Proc. First ACM SIGSOFT Symp. Foundations of Software Eng., pp. 9-20, Dec. 1993.
    [2]
    R. Allen, “A Formal Approach to Software Architecture,” PhD Thesis, Carnegie Mellon Univ., CMU Technical Report CMU-CS-97-144, May 1997.
    [3]
    R. Allen R. Douence and D. Garlan, “Specifying Dynamism in Software Architectures,” Proc. Workshop Foundations of Component-Based Systems, pp. 11-22, Sept. 1997.
    [4]
    R. Allen and D. Garlan, “A Formal Basis for Architectural Connection,” ACM Trans. Software Eng. and Methodology, vol. 6, no. 3, pp. 213-249, July 1997.
    [5]
    R. Allen D. Garlan and J. Ivers, “Formal Modeling and Analysis of the HLA Component Integration Standard,” Proc. Sixth ACM SIGSOFT Symp. Foundations of Software Eng., pp. 70-79, Nov. 1998.
    [6]
    P. Binns M. Engelhart M. Jackson and S. Vestal, “Domain-Specific Software Architectures for Guidance, Navigation, and Control,” Int'l J. Software Eng. and Knowledge Eng., vol. 6, no. 2, 1996.
    [7]
    P.C. Clements, “Formal Methods in Describing Architectures,” Proc. Workshop Formal Methods and Architecture, 1995.
    [8]
    P.C. Clements, “A Survey of Architecture Description Languages,” Proc. Eighth Int'l Workshop Software Specification and Design, Mar. 1996.
    [9]
    P.C. Clements, “Working Paper for the Constraints Sub-Group,” EDCS Architecture and Generation Cluster, Apr. 1997. http://www.sei.cmu.edu/~edcs/CLUSTERS/ARCH/index.html.
    [10]
    E.M. Dashofy N. Medvidovic and R.N. Taylor, “Using Off-the-Shelf Middleware to Implement Connectors in Distributed Software Architectures,” Proc. 21st Int'l Conf. Software Eng. (ICSE '99), pp. 3-12, May 1999.
    [11]
    Proc. First International Workshop Architectures for Software Systems, D. Garlan, ed., Apr. 1995.
    [12]
    D. Garlan, “An Introduction to the Aesop System,” July 1995. http://www.cs.cmu.edu/afs/cs/project/able/www/aesop/html/aesop-overview.ps.
    [13]
    D. Garlan, “Style-Based Refinement for Software Architecture,” Proc. Second Int'l Software Architecture Workshop (ISAW-2), A.L. Wolf, ed., pp. 72-75, Oct. 1996.
    [14]
    D. Garlan R. Allen and J. Ockerbloom, “Exploiting Style in Architectural Design Environments,” Proc. SIGSOFT '94: Foundations of Software Eng., pp. 175-188, Dec. 1994.
    [15]
    D. Garlan R. Monroe and D. Wile, “ACME: An Architecture Description Interchange Language,” Proc. CASCON '97, Nov. 1997.
    [16]
    “Summary of the Dagstuhl Workshop Software Architecture,” ACM Software Eng. Notes, D. Garlan, F.N. Paulisch, and W.F. Tichy, eds., pp. 63-83, July 1995.
    [17]
    D. Garlan J. Ockerbloom and D. Wile, “Towards an ADL Toolkit,” EDCS Architecture and Generation Cluster, Dec. 1998. http://www.cs.cmu.edu/~spok/adl/index.html.
    [18]
    C. Ghezzi M. Jazayeri and D. Mandrioli, Fundamentals of Software Engineering. Prentice Hall, 1991.
    [19]
    J.A. Goguen and T. Winkler, “Introducing OBJ3,” Technical Report SRI-CSL-88-99, SRI Int'l, 1988.
    [20]
    M. Gorlick and A. Quilici, “Visual Programming in the Large versus Visual Programming in the Small,” Proc. IEEE Symp. Visual Languages, pp. 137-144, Oct. 1994.
    [21]
    M.M. Gorlick and R.R. Razouk, “Using Weaves for Software Construction and Analysis,” Proc. 13th Int'l Conf. Software Eng. (ICSE13), pp. 23-34, May 1991.
    [22]
    P. Hagger, “QAD, a Modular Interconnection Language for Domain Specific Software Architectures,” technical report, Univ. of Maryland, June 1993.
    [23]
    D. Harel, “Statecharts: A Visual Formalism for Complex Systems,” Science of Computer Programming, 1987.
    [24]
    C.A.R. Hoare, Communicating Sequential Processes. Prentice Hall, 1985.
    [25]
    P. Inverardi and A.L. Wolf, “Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model,” IEEE Trans. Software Eng., vol. 21, no. 4, pp. 373-386, Apr. 1995.
    [26]
    F. Jahanian and A.K. Mok, “Modechart: A Specification Language for Real-Time Systems,” IEEE Trans. Software Eng., vol. 20, no. 12, pp. 933-947, Dec. 1994.
    [27]
    P. Kogut and P.C. Clements, “Features of Architecture Description Languages,” draft of a CMU/SEI Technical Report, Carnegie Mellon Univ., Dec. 1994.
    [28]
    P. Kogut and P.C. Clements, “Feature Analysis of Architecture Description Languages,” Proc. Software Technology Conf. (STC '95), Apr. 1995.
    [29]
    C.W. Krueger, “Software Reuse,” Computing Surveys, vol. 24, no. 2, pp. 131-184, June 1992.
    [30]
    D. Luckham, ANNA, a Language for Annotating Ada Programs: Reference Manual, Berlin: Springer-Verlag, 1987.
    [31]
    D.C. Luckham J.J. Kenney L.M. Augustin J. Vera D. Bryan and W. Mann, “Specification and Analysis of System Architecture Using Rapide,” IEEE Trans. Software Eng., vol. 21, no. 4, pp. 336-355, Apr. 1995.
    [32]
    D.C. Luckham and J. Vera, “An Event-Based Architecture Definition Language,” IEEE Trans. Software Eng., vol. 21, no. 9, pp. 717-734, Sept. 1995.
    [33]
    D.C. Luckham J. Vera D. Bryan L. Augustin and F. Belz, “Partial Orderings of Event Sets and Their Application to Prototyping Concurrent, Timed Systems,” J. Systems and Software, vol. 21, no. 3, pp. 253-265, June 1993.
    [34]
    D.C. Luckham J. Vera and S. Meldal, “Three Concepts of System Architecture,” Technical Report, CSL-TR-95-674, Stanford Univ., Palo Alto, Calif., July 1995.
    [35]
    J. Magee N. Dulay S. Eisenbach and J. Kramer, “Specifying Distributed Software Architectures,” Proc. Fifth European Software Eng. Conf. (ESEC '95), Sept. 1995.
    [36]
    J. Magee and J. Kramer, “Dynamic Structure in Software Architectures,” Proc. ACM SIGSOFT '96: Fourth Symp. Foundations of Software Eng. (FSE4), pp. 3-14, Oct. 1996.
    [37]
    Proc. Third Int'l Software Architecture Workshop, J. Magee and D.E. Perry, eds., Nov. 1998.
    [38]
    N. Medvidovic, “ADLs and Dynamic Architecture Changes,” Proc. Second Int'l Software Architecture Workshop (ISAW-2), A.L. Wolf, ed., pp. 24-27, Oct. 1996.
    [39]
    N. Medvidovic P. Oreizy J.E. Robbins and R.N. Taylor, “Using Object-Oriented Typing to Support Architectural Design in the C2 Style,” Proc. ACM SIGSOFT '96: Fourth Symp. Foundations Software of Eng. (FSE4), pp. 24-32, Oct. 1996.
    [40]
    N. Medvidovic and D.S. Rosenblum, “Domains of Concern in Software Architectures and Architecture Description Languages,” Proc. USENIX Conf. Domain-Specific Languages, pp. 199-212, Oct. 1997.
    [41]
    N. Medvidovic and D.S. Rosenblum, “Assessing the Suitability of a Standard Design Method for Modeling Software Architectures,” Proc. First Working IFIP Conf. Software Architecture (WICSA1), pp. 161-182, Feb. 1999.
    [42]
    N. Medvidovic D.S. Rosenblum and R.N. Taylor, “A Language and Environment for Architecture-Based Software Development and Evolution,” Proc. 21st Int'l Conf. Software Eng. (ICSE '99), pp. 44-53, May 1999.
    [43]
    N. Medvidovic R.N. Taylor and E.J. Whitehead Jr., “Formal Modeling of Software Architectures at Multiple Levels of Abstraction,” Proc. California Software Symp., pp. 28-40, Apr. 1996.
    [44]
    R. Milner J. Parrow and D. Walker, “A Calculus of Mobile Processes, parts I and II,“ J. Information and Computation, vol. 100, pp. 1-40 and 41-77, 1992.
    [45]
    R. Monroe, “Capturing Software Architecture Design Expertise with Armani,” Technical Report CMU-CS-98-163, Carnegie Mellon Univ., Oct. 1998.
    [46]
    M. Moriconi and R.A. Riemenschneider, “Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies,” Technical Report SRI-CSL-97-01, SRI Int'l, Mar. 1997.
    [47]
    M. Moriconi X. Qian and R.A. Riemenschneider, “Correct Architecture Refinement,” IEEE Trans. Software Eng., vol. 21, no. 4, pp. 356-372, Apr. 1995.
    [48]
    M. Moriconi X. Qian R.A. Riemenschneider and L. Gong, “Secure Software Architectures,” Proc. 1997 IEEE Symp. Security and Privacy, May 1997.
    [49]
    P. Newton and J.C. Browne, “The CODE 2.0 Graphical Parallel Programming Language,” Proc. ACM Int'l Conf. Supercomputing, July 1992.
    [50]
    K. Ng J. Kramer and J. Magee, “A CASE Tool for Software Architecture Design,” J. Automated Software Eng., vol. 3, nos. 3/4, pp. 261-284, 1996.
    [51]
    P. Oreizy, “Issues in the Runtime Modification of Software Architectures,” Technical Report, UCI-ICS-96-35, Univ. of California, Irvine, Aug. 1996.
    [52]
    P. Oreizy N. Medvidovic and R.N. Taylor, “Architecture-Based Runtime Software Evolution,” Proc. 20th Int'l Conf. Software Eng. (ICSE '98), pp. 177-186, Apr. 1998.
    [53]
    R. Orfali D. Harkey and J. Edwards, The Essential Distributed Objects Survival Guide. John Wiley & Sons, 1996.
    [54]
    D.E. Perry and A.L. Wolf, “Foundations for the Study of Software Architectures,” SIGSOFT Software Eng. Notes, vol. 17, no. 4, pp. 40-52, Oct. 1992.
    [55]
    R. Prieto-Diaz and J.M. Neighbors, “Module Interconnection Languages,” J. Systems and Software, vol. 6, no. 4, pp. 307-334, Oct. 1989.
    [56]
    J. Purtilo, “The Polylith Software Bus,” ACM Trans. Programming Languages and Systems, vol. 16, no. 1, pp. 151-174, Jan. 1994.
    [57]
    “UML Semantics,” Rational Partners, Object Management Group document ad/97-08-04, Sept. 1997. http://www.omg.org/docs/ad/97-08-04.pdf.
    [58]
    “UML Notation Guide,” Rational Partners, Object Management Group document ad/97-08-05, Sept. 1997. http://www.omg.org/docs/ad/97-08-05.pdf.
    [59]
    J.E. Robbins D.M. Hilbert and D.F. Redmiles, “Extending Design Environments to Software Architecture Design,” Proc. Knowledge-Based Software Eng. Conf. (KBSE), pp. 63-72, Sept. 1996.
    [60]
    J.E. Robbins N. Medvidovic D.F. Redmiles and D.S. Rosenblum, “Integrating Architecture Description Languages with a Standard Design Method,” Proc. 20th Int'l Conf. Software Eng. (ICSE '98), pp. 209-218, Apr. 1998.
    [61]
    M. Shaw, “Procedure Calls Are the Assembly Language of System Interconnection: Connectors Deserve First Class Status,” Proc. Workshop Studies of Software Design, May 1993.
    [62]
    M. Shaw R. DeLine D.V. Klein T.L. Ross D.M. Young and G. Zelesnik, “Abstractions for Software Architecture and Tools to Support Them,” IEEE Trans. Software Eng., vol. 21, no. 4, pp. 314-335, Apr. 1995.
    [63]
    M. Shaw R. DeLine and G. Zelesnik, “Abstractions and Implementations for Architectural Connections,” Proc. Third Int'l Conf. Configurable Distributed Systems, May 1996.
    [64]
    M. Shaw and D. Garlan, “Characteristics of Higher-Level Languages for Software Architecture,” Technical Report, CMU-CS-94-210, Carnegie Mellon Univ., Dec. 1994.
    [65]
    M. Shaw and D. Garlan, “Formulations and Formalisms in Software Architecture,” Computer Science Today: Recent Trends and Developments. J. van Leeuwen, ed. Springer-Verlag, 1995.
    [66]
    M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Apr. 1996.
    [67]
    J.M. Spivey, The Z Notation: A Reference Manual. New York, Prentice Hall, 1989.
    [68]
    M. Shaw D. Garlan R. Allen D. Klein J. Ockerbloom C. Scott and M. Schumacher, “Candidate Model Problems in Software Architecture,” unpublished manuscript, Nov. 1995. http://www.cs.cmu.edu/afs/cs/project/compose/www/html/ModProb/.
    [69]
    A. Terry R. London G. Papanagopoulos and M. Devito, “The ARDEC/Teknowledge Architecture Description Language (ArTek), Version 4.0,” technical report, Teknowledge Federal Syst., and U.S. Army Armament Research, Development, and Eng. Center, July 1995.
    [70]
    W. Tracz, “LILEANNA: A Parameterized Programming Language,” Proc. Second Int'l Workshop Software Reuse, pp. 66-78, Mar. 1993.
    [71]
    S. Vestal, “A Cursory Overview and Comparison of Four Architecture Description Languages,” technical report, Honeywell Technology Center, Feb. 1993.
    [72]
    S. Vestal, “MetaH Programmer's Manual, Version 1.09,” technical report, Honeywell Technology Center, Apr. 1996.
    [73]
    Proc. Second International Software Architecture Workshop (ISAW-2), A.L. Wolf, ed., Oct. 1996.
    [74]
    A.L. Wolf, Succeedings of the Second Int'l Software Architecture Workshop (ISAW-2), ACM SIGSOFT, vol. 22, no. 1, pp. 42-56, Jan. 1997.

    Cited By

    View all
    • (2024)Collaborative Solutions to Software Architecture Challenges Faced by IT ProfessionalsInternational Journal of Human Capital and Information Technology Professionals10.4018/IJHCITP.34283915:1(1-29)Online publication date: 9-Apr-2024
    • (2024)Modeling microservice architecturesJournal of Systems and Software10.1016/j.jss.2024.112041213:COnline publication date: 1-Jul-2024
    • (2024)Software design analysis and technical debt management based on design rule theoryInformation and Software Technology10.1016/j.infsof.2023.107322164:COnline publication date: 10-Jan-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Software Engineering
    IEEE Transactions on Software Engineering  Volume 26, Issue 1
    January 2000
    95 pages
    ISSN:0098-5589
    Issue’s Table of Contents

    Publisher

    IEEE Press

    Publication History

    Published: 01 January 2000

    Author Tags

    1. Software architecture
    2. architecture description language
    3. classification
    4. comparison.
    5. component
    6. configuration
    7. connector
    8. definition

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Collaborative Solutions to Software Architecture Challenges Faced by IT ProfessionalsInternational Journal of Human Capital and Information Technology Professionals10.4018/IJHCITP.34283915:1(1-29)Online publication date: 9-Apr-2024
    • (2024)Modeling microservice architecturesJournal of Systems and Software10.1016/j.jss.2024.112041213:COnline publication date: 1-Jul-2024
    • (2024)Software design analysis and technical debt management based on design rule theoryInformation and Software Technology10.1016/j.infsof.2023.107322164:COnline publication date: 10-Jan-2024
    • (2024)Verifying consistency of software product line architectures with product architecturesSoftware and Systems Modeling (SoSyM)10.1007/s10270-023-01114-423:1(195-221)Online publication date: 1-Feb-2024
    • (2024)Scratchy: A Class of Adaptable Architectures with Software-Managed Communication for Edge Streaming ApplicationsDesign and Architectures for Signal and Image Processing10.1007/978-3-031-62874-0_6(68-79)Online publication date: 17-Jan-2024
    • (2023)Software Architecture in Practice: Challenges and OpportunitiesProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616367(1457-1469)Online publication date: 30-Nov-2023
    • (2023)A Model-Based, Quality Attribute-Guided Architecture Re-Design Process at GoogleProceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice10.1109/ICSE-SEIP58684.2023.00011(61-73)Online publication date: 17-May-2023
    • (2023)Software architecture for quantum computing systems — A systematic reviewJournal of Systems and Software10.1016/j.jss.2023.111682201:COnline publication date: 1-Jul-2023
    • (2022)Automata-Based Approach to Manage Self-Adaptive Component-Based ArchitecturesInternational Journal of Software Innovation10.4018/IJSI.29762310:1(1-22)Online publication date: 8-Apr-2022
    • (2022)Enabling automated integration of architectural languagesJournal of Systems and Software10.1016/j.jss.2021.111106184:COnline publication date: 3-Jan-2022
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media