Abstract
An important goal in software engineering is to describe complex software systems at an architectural level of abstraction. While good software engineers routinely employ architectural concepts in their designs these concepts are typically used idiomatically and in an ad hoc fashion. What appears to be missing is a formal basis for software architecture. But what exactly does this mean? In this paper we illustrate by example three approaches to formalizing software architecture. The first represents an industrial development effort to formalize a specific class of applications. The second shows how to use formalism to understand the design space for a commonly used architectural style. The third considers the problem of providing a formal basis for the generic notion of architectural interconnection.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Gregory Abowd, Robert Allen, and David Garlan. Using style to give meaning to software architecture. In Precedings of SIGSOFT'98: Foundations of Software Engineering, December 1993.
Robert Allen and David Garlan. A formal approach to software architectures. In Jan van Leeuwen, editor, Proceedings of IFIP'92. Elsevier Science Publishers B.V., September 1992.
Robert Allen and David Garlan. Beyond definition/use: Architectural interconnection. In Proceedings of the ACM Interface Definition Language Workshop, Portland, OR, January 1994. SIGPLAN Notices.
Robert Allen and David Garlan. Formalizing architectural connection. In Proceedings of the Sixteenth International Conference on Software Engineering, May 1994.
Alex Berson. Client/Server Architecture. McGraw Hill, 1992.
Norman Delisle and David Garlan. Applying formal specification to industrial problems: A specification of an oscilloscope. IEEE Software, September 1990.
David Garlan and Norman Delisle. Formal specifications as reusable frameworks. In VDM'90: VDM and Z — Formal Methods in Software Development, pages 150–163, Kiel, Germany, April 1990. Springer-Verlag, LNCS 428.
David Garlan and David Notkin. Formalizing design spaces: Implicit invocation mechanisms. In VDM'91: Formal Software Development Methods, pages 31–44, Noordwijkerhout, The Netherlands, October 1991. Springer-Verlag, LNCS 551.
David Garlan, Mary Shaw, Chris Okasaki, Curtis Scott, and Roy Swonger. Experience with a course on architectures for software systems. In Proceedings of the Sixth SEI Conference on Software Engineering Education. Springer Verlag, LNCS 376, October 1992. Also available as a CMU/SEI technical report, CMU/SEI-92-TR-17.
C.A.R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.
G.E. Krasner and S.T. Pope. A cookbook for using the model-view-controller user interface paradigm in Smalltalk-80. Journal of Object Oriented Programming, 1(3):26–49, August/September 1988.
David Notkin, David Garlan, William G. Gris wold, and Kevin Sullivan. Adding implicit invocation to languages: Three approaches. In S. Nishio and A. Yonezawa, editors, Proceedings of the JSSST International Symposium on Object Technologies for Advanced Software, pages 489–510. Springer-Verlag LNCS, no. 742, November 1993.
Steven P. Reiss. Connecting tools using message passing in the field program development environment. IEEE Software, July 1990.
Mary Shaw and David Garlan. Characteristics of higher-level languages for software architecture, 1993.
Mary Shaw. Procedure calls are the assembly language of system interconnection: Connectors deserve first-class status. In Proceedings of the Workshop on Studies of Software Design, May 1993.
J.M. Spivey. The Z Notation: A Reference Manual. Prentice Hall, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Garlan, D. (1996). Formal approaches to software architecture. In: Lamb, D.A. (eds) Studies of Software Design. WSSD 1993. Lecture Notes in Computer Science, vol 1078. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030520
Download citation
DOI: https://doi.org/10.1007/BFb0030520
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61285-8
Online ISBN: 978-3-540-68434-3
eBook Packages: Springer Book Archive