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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abowd, G., Allen, R., Garlan, D.: Formalizing style to understand descriptions of software architecture. ACM Transactions on Software Engineering and Methodology (October 1995)
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)
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)
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology (July 1997)
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)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading (1998) ISBN 0-201-19930-0
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)
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)
Coglianese, L., Szymanski, R.: DSSA-ADAGE: An Environment for Architecture-based Avionics Development. In: Proceedings of AGARD 1993 (May 1993)
Failures Divergence Refinement: User Manual and Tutorial. Formal Systems (Europe) Ltd., Oxford, England, 1.2β edn. (October 1992)
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)
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)
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)
Garlan, D., Perry, D.: Introduction to the special issue on software architecture. IEEE Transactions on Software Engineering 21(4) (April 1995)
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)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall, Englewood Cliffs (1985)
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)
Kruchten, P.B.: The 4+1 view model of architecture. IEEE Software, 42–50 (November 1995)
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)
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)
Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. Wiley, Chichester (1999)
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)
Medvidovic, N., Taylor, R.N.: Architecture description languages. In: Jazayeri, M. (ed.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301. Springer, Heidelberg (1997)
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)
Monroe, R.T.: Rapid Develpoment of Custom Software Design Environments. PhD thesis, Carnegie Mellon University (July 1999)
Moriconi, M., Qian, X., Riemenschneider, R.: Correct architecture refinement. IEEE Transactions on Software Engineering, Special Issue on Software Architecture 21(4), 356–372 (1995)
Oriezy, P., et al.: An architecture-based approach to self-adaptive software. IEEE Intelligent Systems 14(3), 54–62 (1999)
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)
Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)
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)
Shaw, M., Garlan, D.: Formulations and formalisms in software architecture. In: van Leeuwen, J. (ed.) Computer Science Today. LNCS, vol. 1000. Springer, Heidelberg (1995)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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