Carnegie Mellon University Computer Science Technical Report, CMU-CS-94-210, December 1994.
Currently system designers have at their disposal two primary ways of designing software architecture: they can use the modularization facilities of existing programming languages and module interconnection 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.
For further information, please visit the home pages of the ABLE research project and Carnegie Mellon University's Composable Systems Group.
Last modified: 10/15/2001. For comments and problems, contact firstname.lastname@example.org.