Skip to main content

Formal approaches to software architecture

  • Architecture
  • Conference paper
  • First Online:

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

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.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Robert Allen and David Garlan. Formalizing architectural connection. In Proceedings of the Sixteenth International Conference on Software Engineering, May 1994.

    Google Scholar 

  5. Alex Berson. Client/Server Architecture. McGraw Hill, 1992.

    Google Scholar 

  6. Norman Delisle and David Garlan. Applying formal specification to industrial problems: A specification of an oscilloscope. IEEE Software, September 1990.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. C.A.R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. Steven P. Reiss. Connecting tools using message passing in the field program development environment. IEEE Software, July 1990.

    Google Scholar 

  14. Mary Shaw and David Garlan. Characteristics of higher-level languages for software architecture, 1993.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. J.M. Spivey. The Z Notation: A Reference Manual. Prentice Hall, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Alex Lamb

Rights and permissions

Reprints 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

Publish with us

Policies and ethics