search menu icon-carat-right cmu-wordmark

Characteristics of Higher Level Languages for Software Architecture

Technical Report
System designers use two primary ways of defining software architecture; this paper explains why neither alternative is adequate.
Publisher

Software Engineering Institute

CMU/SEI Report Number
CMU/SEI-94-TR-023

Abstract

As the size and complexity of software systems increases, the design and specification of overall system structure or software architecture emerges as a central concern. Architectural issues include the gross organization of the system, protocols for communication and data access, assignment of functionality to design elements, and selection among design alternatives.  

Currently, system designers have at their disposal two primary ways of defining software architecture: they can use the modularization facilities of existing programming languages and module inter connection languages; or they can describe their designs using informal diagrams and idiomatic phrases (such as "client-server organization"). 

In this paper, we explain why neither alternative is adequate. We consider the nature of architectural description as it is performed informally by systems designers. Then we show that regularities in these descriptions can form the basis for architectural description languages. Next, we identify specific properties that such languages should have. Finally, we illustrate how current notations fail to satisfy those properties.

Cite This Technical Report

Shaw, M., & Garlan, D. (1994, December 1). Characteristics of Higher Level Languages for Software Architecture. (Technical Report CMU/SEI-94-TR-023). Retrieved April 24, 2024, from https://insights.sei.cmu.edu/library/characteristics-of-higher-level-languages-for-software-architecture/.

@techreport{shaw_1994,
author={Shaw, Mary and Garlan, David},
title={Characteristics of Higher Level Languages for Software Architecture},
month={Dec},
year={1994},
number={CMU/SEI-94-TR-023},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://insights.sei.cmu.edu/library/characteristics-of-higher-level-languages-for-software-architecture/},
note={Accessed: 2024-Apr-24}
}

Shaw, Mary, and David Garlan. "Characteristics of Higher Level Languages for Software Architecture." (CMU/SEI-94-TR-023). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, December 1, 1994. https://insights.sei.cmu.edu/library/characteristics-of-higher-level-languages-for-software-architecture/.

M. Shaw, and D. Garlan, "Characteristics of Higher Level Languages for Software Architecture," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Report CMU/SEI-94-TR-023, 1-Dec-1994 [Online]. Available: https://insights.sei.cmu.edu/library/characteristics-of-higher-level-languages-for-software-architecture/. [Accessed: 24-Apr-2024].

Shaw, Mary, and David Garlan. "Characteristics of Higher Level Languages for Software Architecture." (Technical Report CMU/SEI-94-TR-023). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 1 Dec. 1994. https://insights.sei.cmu.edu/library/characteristics-of-higher-level-languages-for-software-architecture/. Accessed 24 Apr. 2024.

Shaw, Mary; & Garlan, David. Characteristics of Higher Level Languages for Software Architecture. CMU/SEI-94-TR-023. Software Engineering Institute. 1994. https://insights.sei.cmu.edu/library/characteristics-of-higher-level-languages-for-software-architecture/