The following is additional material made available after the workshop.
ADLs support the concepts of component, connector and configuration as the means of expressing system structure. Components have well-defined interfaces for connection to other components. Components support the object-oriented goal of re-use, and so appear as types and instances. Component types may be stored in a library to facilitate retrieval, and may be parameterised for generality. Connectors may be explicit connections between components. In some ADLs the connections are implicit bindings among components. Configurations show how components are linked via connectors. Most approaches define configurations explicitly, although in some cases the configuration may be inferred only from the connections. Configurations represent architectural notions such as hierarchical decomposition, pipe-and-filter connection of components, `blackboard models' and `software buses'. Issues addressed by configuration include support for dynamic architecture changes, extensibility and scalability of an architecture, and constraints on how components are put together.
Although ADLs emphasise architectural aspects, they are often supported by formal specification languages. ADLs thus have strong similarities to the idea of architectural semantics, although the approaches are rather different. The notion of architectural style is central to much of the work on software architecture [Garlan-Allen-Ockerbloom-1994,Shaw-Garlan-1996]. In this context it refers to the way that a family of related systems is structured. Architectural styles may be embodied in a reference architecture or in an idiom such as the configurations mentioned above.
There are connections with the work on DSSA (Domain-Specific Software Architecture [Batory-OMalley-1992,Tracz-1994]). Here the idea is to use a reference architecture to develop applications in a particular domain (e.g. compilers [Perry-Wolf-1992]). A similar idea arises with the notion of application frameworks [Deutsch-1989]. Other work on formal models and architecture includes [Clements-1995].
Allen-Garlan-1994 R. Allen and G. Garlan. Formalizing architectural connection. In Proc. 16th International Conference on Software Engineering, pages 71-80, Sorrento, Italy, May 1994.
Batory-OMalley-1992 D. Batory and S. O'Malley. The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering, 1(4), Oct. 1992.
Clements-1995 P. C. Clements. Formal methods in describing architectures. In Proc. Workshop on Formal Methods in Software Architecture, Monterrey, California, USA, 1995.
Deutsch-1989 L. P. Deutsch. Design Reuse and Frameworks in the Smalltalk-80 Programming System. In A. J. Perlis, editor, Software Reusability II, ACM Press, 1989.
Erdogmus-1997 H. Erdogmus. Architecture-driven verification of concurrent systems. Nordic Journal of Computing, 4:380-413, 1997.
Garlan-Allen-Ockerbloom-1994 D. Garlan, R. Allen, and J. Ockerbloom. Exploiting style in architectural design environments. In Proc. 2nd. Symposium on the Foundations of Software Engineering, pages 75-188, New York, USA, Dec. 1994. ACM Press.
Garlan-Monroe-Wile-1997 D. Garlan, R. T. Monroe, and D. Wile. ACME: An architecture description interchange language. In Proc. CASCON'97, pages 169-183, Toronto, Canada, Nov. 1997.
Garlan-Perry-1995 D. Garlan and D. Perry. Introduction to the special issue on software architecture. IEEE Transactions on Software Engineering, 21(4), Apr. 1995.
Luckham-Augstin-Kenney-Veera-Bryan-Mann-1995 D. C. Luckham, L. M. Augstin, J. J. Kenney, J. Veera, D. Bryan, and W. Mann. Specification and analysis of system architectures using Rapide. IEEE Transactions on Software Engineering, 21(4), Apr. 1995.
Magee-Kramer-1996 J. Magee and J. Kramer. Dynamic structure in software architectures. In Proc. 4th. Symposium on the Foundations of Software Engineering, pages 3-14, San Francisco, California, USA, Oct. 1996.
Medvidovic-Taylor-1997 N. Medvidovic and R. N. Taylor. A framework for classifying and comparing architecture description languages. In Proc. 6th. European Software Engineering Conference/Proc. 5th. Symposium on the Foundations of Software Engineering, pages 60-76, Zurich, Switzerland, Sept. 1997.
Medvidovic-Taylor-Whitehead-1996 N. Medvidovic, R. N. Taylor, and J. E. J. Whitehead. Formal modeling of software architectures at multiple levels of abstraction. In Proc. California Software Symposium 1996, pages 28-40, Los Angeles, California, USA, Apr. 1996.
Moriconi-Qian-Riemenschneider-1995 M. Moriconi, X. Qian, and R. A. Riemenschneider. Correct architecture refinement. IEEE Transactions on Software Engineering, pages 356-372, Apr. 1995.
Perry-Wolf-1992 D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. ACM Software Engineering Notes, 17(4), 1992.
Shaw-Garlan-1996 M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs, New Jersey, USA, 1996.
Tracz-1994 W. Tracz. Domain-Specific Software Architecture (DSSA) Frequently Asked Questions (FAQ). ACM Software Engineering Notes, 19(2):52-56, Apr. 1994.
Up one level to FORCES September 1999 Workshop