Formulations and Formalisms in Software Architecture

Mary Shaw, and David Garlan

Computer Science Today: Recent Trends and Developments, Jan van Leeuwen (Ed). Published as Lecture Notes in Computer Science, Volume 1000, Springer Verlagm pp. 307-323, 1995.

Online links: Postscript PDF

Abstract
Software architecture is the level of software design that ad- dresses the overall structure and properties of software systems. It provides a focus for certain aspects of design and development that are not appropriately addressed within the constituent modules. Architectural design depends heavily on accurate specications of subsystems and their interactions. These specications must cover a wide variety of properties, so the specication notations and associated methods must be selected or developed to match the properties of interest. Unfortunately, the available formal methods are only a partial match for architectural needs, which entail description of structure, packaging, environmental assumptions, representation, and performance as well as functionality. A prerequisite for devising or selecting a formal method is sound understanding of what needs to be formalized. For software architecture, much of this understanding is arising through progressive codication, which begins with real-world examples and creates progressively more precise models that eventually support formalization. This paper explores the pro- gressive codication of software architecture: the relation between emerging models and the selection, development, and use of formal systems.
Keywords


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 able-help@cs.cmu.edu.