Skip to main content

Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events

  • Chapter
Formal Methods for Software Architectures (SFM 2003)

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

Abstract

Developing a good software architecture for a complex system is a critically important step for insuring that the system will satisfy its principal objectives. Unfortunately, today descriptions of software architecture are largely based on informal “box-and-line” drawings that are often ambiguous, incomplete, inconsistent, and unanalyzable. This need not be the case. Over the past decade a number of researchers have developed formal languages and associated analysis tools for software architecture. In this paper I describe a number of the representative results from this body of work.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abowd, G., Allen, R., Garlan, D.: Formalizing style to understand descriptions of software architecture. ACM Transactions on Software Engineering and Methodology (October 1995)

    Google Scholar 

  2. Allen, R.: A Formal Approach to Software Architecture. PhD thesis, Carnegie Mellon, School of Computer Science, Issued as CMU Technical Report CMU-CS-97-144 (January 1997)

    Google Scholar 

  3. Allen, R., Douence, R., Garlan, D.: Specifying and analyzing dynamic software architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, p. 21. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  4. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology (July 1997)

    Google Scholar 

  5. Allen, R., Garlan, D., Ivers, J.: Formal modeling and analysis of the HLA component integration standard. In: Proceedings of the 6th International Symposium on the Foundations of Software Engineering (FSE-6), Lake Buena Vista, Florida. ACM Press, New York (November 1998)

    Google Scholar 

  6. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading (1998) ISBN 0-201-19930-0

    Google Scholar 

  7. Binns, P., Vestal, S.: Formal real-time architecture specification and analysis. In: Tenth IEEE Workshop on Real-Time Operating Systems and Software, New York, NY (May 1993)

    Google Scholar 

  8. Clements, P., Bachmann, F., Bass, L., GArlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Reading (2002)

    Google Scholar 

  9. Coglianese, L., Szymanski, R.: DSSA-ADAGE: An Environment for Architecture-based Avionics Development. In: Proceedings of AGARD 1993 (May 1993)

    Google Scholar 

  10. Failures Divergence Refinement: User Manual and Tutorial. Formal Systems (Europe) Ltd., Oxford, England, 1.2β edn. (October 1992)

    Google Scholar 

  11. Garlan, D., Allen, R., Ockerbloom, J.: Exploiting style in architectural design environments. In: Proceedings of SIGSOFT 1994: The Second ACM SIGSOFT Symposium on the Foundations of Software Engineering, December 1994, pp. 179–185. ACM Press, New York (1994)

    Google Scholar 

  12. Garlan, D., Cheng, S.-W., Schmerl, B.: Increasing system dependability through architecture-based self-repair. In: Romanovsky, A., de Lemos, R., Gacek, C. (eds.) Architecting Dependable Systems. Springer, Heidelberg (2003)

    Google Scholar 

  13. Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, p. 47. Cambridge University Press, Cambridge (2000)

    Google Scholar 

  14. Garlan, D., Perry, D.: Introduction to the special issue on software architecture. IEEE Transactions on Software Engineering 21(4) (April 1995)

    Google Scholar 

  15. Georgiadis, I., Magee, J., Kramer, J.: Self-organising software architectures for distributed systems. In: Proceedings of the First ACM SIGSOFT Workshop on Self-Healing Systems, WOSS 2002 (2002)

    Google Scholar 

  16. Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  17. Inverardi, P., Wolf, A.: Formal specification and analysis of software architectures using the chemical, abstract machine model. IEEE Transactions on Software Engineering, Special Issue on Software Architecture 21(4), 373–386 (1995)

    Google Scholar 

  18. Kruchten, P.B.: The 4+1 view model of architecture. IEEE Software, 42–50 (November 1995)

    Google Scholar 

  19. Luckham, D.C., Augustin, L.M., Kenney, J.J., Veera, J., Bryan, D., Mann, W.: Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, Special Issue on Software Architecture 21(4), 336–355 (1995)

    Google Scholar 

  20. Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989. Springer, Heidelberg (1995)

    Google Scholar 

  21. Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. Wiley, Chichester (1999)

    MATH  Google Scholar 

  22. Medvidovic, N., Oreizy, P., Robbins, J.E., Taylor, R.N.: Using object-oriented typing to support architectural design in the C2 style. In: SIGSOFT 1996: Proceedings of the Fourth ACM Symposium on the Foundations of Software Engineering. ACM Press, New York (October 1996)

    Google Scholar 

  23. Medvidovic, N., Taylor, R.N.: Architecture description languages. In: Jazayeri, M. (ed.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301. Springer, Heidelberg (1997)

    Google Scholar 

  24. Metayer, D.L.: Software architecture styles as graph grammars. In: Proceedings of the Fourth ACM Symposium on the Foundations of Software Engineering. ACM SIGSOFT (October 1996)

    Google Scholar 

  25. Monroe, R.T.: Rapid Develpoment of Custom Software Design Environments. PhD thesis, Carnegie Mellon University (July 1999)

    Google Scholar 

  26. Moriconi, M., Qian, X., Riemenschneider, R.: Correct architecture refinement. IEEE Transactions on Software Engineering, Special Issue on Software Architecture 21(4), 356–372 (1995)

    Google Scholar 

  27. Oriezy, P., et al.: An architecture-based approach to self-adaptive software. IEEE Intelligent Systems 14(3), 54–62 (1999)

    Article  Google Scholar 

  28. Owre, S., Rushby, J.M., Shankar, N.: PVS: A prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992)

    Google Scholar 

  29. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  30. Shaw, M., DeLine, R., Klein, D.V., Ross, T.L., Young, D.M., Zelesnik, G.: Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering, Special Issue on Software Architecture 21(4), 314–335 (1995)

    Google Scholar 

  31. Shaw, M., Garlan, D.: Formulations and formalisms in software architecture. In: van Leeuwen, J. (ed.) Computer Science Today. LNCS, vol. 1000. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  32. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  33. Spitznagel, B., Garlan, D.: Architecture-based performance analysis. In: 10th International Conference on Software Engineering and Knowledge Engineering (SEKE 1998), San Francisco, CA (June 1998)

    Google Scholar 

  34. Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A component- and message-based architectural style for gui software. IEEE Transactions on Software Engineering 22(6), 390–406 (1996)

    Article  Google Scholar 

  35. Wermelinger, M.: Formal specification and analysis of dynamic reconfiguration of software architecture. In: Proceedings of the 20th International Conference on Software Engineering, vol. 2, pp. 178–179. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Garlan, D. (2003). Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events. In: Bernardo, M., Inverardi, P. (eds) Formal Methods for Software Architectures. SFM 2003. Lecture Notes in Computer Science, vol 2804. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39800-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39800-4_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20083-3

  • Online ISBN: 978-3-540-39800-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics