Procedure calls are the assembly language of software interconnection: Connectors deserve first-class status

  • Mary Shaw
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1078)


Software designers compose systems from components written in some programming language. They regularly describe systems using abstract patterns and sophisticated relations among components. However, the configuration tools at their disposal restrict them to composition mechanisms directly supported by the programming language. To remedy this lack of expressiveness, we must elevate the relations among components to first-class entities of the system, entitled to their own specifications and abstractions.


Programming Language Software Architecture Order Restriction Procedure Call System Composition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Robert Allen and David Garlan. Formalizing Architectural Connection. Proc. Sixteenth International Conference on Software Engineering, 1994.Google Scholar
  2. (2).
    Brian Beach. Connecting Software Components with Declarative Glue. Proc. Fourteenth International Conference on Software Engineering, 1992.Google Scholar
  3. [3]
    Barry W. Boehm and William L. Scherlis. Megaprogramming. Proc. DARPA Software Technology Conference 1992, pp. 63–82.Google Scholar
  4. (4).
    Frank DeRemer and Hans H. Kron. Programming-in-the-large versus Programming-in-the-small. IEEE Transactions on Software Engineering, SE-2(2):80–86, June 1976.Google Scholar
  5. (5).
    David Garlan and Mary Shaw. An Introduction to Software Architecture. In V. Ambriola and G. Tortora (eds), Advances in Software Engineering and Knowledge Engineering, Volume I, World Scientific Publishing Company, 1993.Google Scholar
  6. [6]
    Dewayne E. Perry and Alexander L. Wolf. Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes, vol 17, no 4, October 1992, pp. 40–52.Google Scholar
  7. [7]
    R. Prieto-Diaz and J. M. Neighbors. Module Interconnection Languages. Journal of Systems and Software vol 6, no 4, November 1986, pp. 307–334.Google Scholar
  8. (8).
    James Purtilo and Joanne Atlee. Module Reuse by Interface Adaptation. Software: Practice and Experience, 21(6): 539–556, June 1991.Google Scholar
  9. (9).
    Mary Shaw and David Garlan. Characteristics of Higher-Level Languages for Software Architecture. Unpublished manuscript, 1993.Google Scholar
  10. [10]
    Gio Wiederhold, Peter Wegner, and Stefano Ceri. Toward Megaprogramming. Stanford University Technical Report STAN-CS-90-1341, 1990.Google Scholar
  11. (11).
    Gio Wiederhold. Mediators in the Architecture of Future Information Systems. IEEE Computer, 25(3):38–49, March 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Mary Shaw
    • 1
  1. 1.Carnegie Mellon UniversityPittsburgh

Personalised recommendations