Abstract
As the size of system software increases, the algorithms and data structures
of the computation no longer constitute the major design problems. When
systema are constructed from many components, the organization of the overall
system - the software architecture - presents a new set of dsign problems.
This level of design has been address a number of ways including informal
diagrams and descriptive terms, module interconnection languages, templates
and frmeworks for systems that serve the needs of specific domains, and
formal models of component integration mechanisms.