Skip to main content

Formal Analysis of Architectural Patterns

  • Conference paper
Software Architecture (EWSA 2004)

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

Included in the following conference series:

Abstract

Architectural patterns characterize and specify structural and behavioral properties of (sub)systems, thus allowing the provision of solutions for classes of problems.

In this paper we show the use of architectural patterns as an abstraction to carry on, and reuse, formal reasoning on systems whose configuration can dynamically change.

This kind of systems is hard to model and to reason about due to the fact that we cannot simply build a model with fixed topology (i.e. fixed number of components and connectors) and validate properties of interest on it.

The work presented in this paper proposes an approach that given an architectural pattern which expresses a class of systems configurations and a set of properties of interest (i) selects, if any, a minimal configuration for which the specified properties make sense, (ii) an abstraction of the chosen architectural model erformed, in order to reduce the complexity of the verification phase. In this stage, abstractions are driven by the properties of interest. The output of this abstraction step can be model-checked, tested and analyzed by using a standard model-checking framework. (iii) The verification results obtained in the previous step are lifted to generic configurations by performing manual reasoning driven by the constraints posed by the architectural pattern.

The approach will be applied by using an event-based architectural pattern to a publish/subscribe system, the Siena middleware, in order to validate its features and its mobility extension.

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. Buchi, J.R.: On a decision method in restricted second order arithmetic. In: Proc. of the International Congress of Logic, Methodology and Philosophy of Science, pp. 1–11. Stanford University Press, Stanford (1960)

    Google Scholar 

  2. Caporuscio, M.: CoMETA - Mobility support in the Siena publish/subscribe middleware. Master’s thesis, Università degli Studi dell’Aquila - Dipartimento di Informatica, L’Aquila - Italy (March 2002)

    Google Scholar 

  3. Caporuscio, M., Carzaniga, A., Wolf, A.L.: Design and evaluation of a support service for mobile, wireless publish/subscribe applications. IEEE Transactions on Software Engineering 29(12), 1059–1071 (2003)

    Article  Google Scholar 

  4. Caporuscio, M., Inverardi, P., Pelliccione, P.: Compositional verification of middleware-based software architecture descriptions. In: Proceedings of the International Conference on Software Engineering (ICSE 2004), Edimburgh (2004) (to appear)

    Google Scholar 

  5. Carzaniga, A., Di Nitto, E., Rosenblum, D.S., Wolf, A.L.: Issues in supporting event-based architectural styles. In: 3rd International Software Architecture Workshop, Orlando, Florida (November 1998)

    Google Scholar 

  6. Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Achieving Scalability and Expressiveness in an Internet-Scale Event Notification Service. In: Proceedings of the Nineteenth Annual ACM Symposium on Principles of Distributed Computing, Portland, OR, July 2000, pp. 219–227 (2000)

    Google Scholar 

  7. Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and Evaluation of a Wide-Area Event Notification Service. ACM Transactions on Computer Systems 19(3), 332–383 (2001)

    Article  Google Scholar 

  8. Carzaniga, A., Wolf, A.L.: Content-based networking: A new communication infrastructure. In: König-Ries, B., Makki, K., Makki, S.A.M., Pissinou, N., Scheuermann, P. (eds.) IMWS 2001. LNCS, vol. 2538, pp. 59–68. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  9. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Massachusetts Institute of Technology (2001)

    Google Scholar 

  10. Compare, D., Inverardi, P., Pelliccione, P., Sebastiani, A.: Integrating modelchecking architectural analysis and validation in a real software life-cycle. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 114–132. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  11. Fugetta, A., Picco, G., Vigna, G.: Understanding Code Mobility. IEEE Transaction on Software Engineering 24(5) (1998)

    Google Scholar 

  12. 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, ACM Press, New York (December 1994)

    Google Scholar 

  13. Garlan, D., Khersonsky, S., Kim, J.S.: Model Checking Publish-Subscribe Systems. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 166–180. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (September 2003)

    Google Scholar 

  15. Inverardi, P., Muccini, H., Pelliccione, P.: Automated Check of Architectural Models Consistency using SPIN. In: The Automated Software Engineering Conference Proceedings (ASE 2001), San Diego, California (November 2001)

    Google Scholar 

  16. Inverardi, P., Muccini, H., Pelliccione, P.: Charmy: A framework for model based consistency checking. Technical report, Department of Computer Science, University of L’Aquila (January 2003)

    Google Scholar 

  17. Inverardi, P., Muccini, H., Pelliccione, P.: Checking Consistency Between Architectural Models Using SPIN. In: Proc. the First Int. Workshop From Software Requirements to Architectures, STRAW 2001 (year 2001)

    Google Scholar 

  18. Object Management Group (OMG). Unified Modeling Language (UML) Version 1.5 (March 2003), http://www.omg.org/uml/

  19. Pnueli, A.: The temporal logic of programs. In: Proc. 18th IEEE Symposium on Foundation of Computer Science, pp. 46–57 (1977)

    Google Scholar 

  20. Roman, G.-C., Picco, G.P., Murphy, A.L.: Software Engineering for Mobility: A Roadmap. In: Finkelstein, A. (ed.) The Future of Software Engineering, pp. 241–258. ACM Press, New York (2000) (invited contribution)

    Google Scholar 

  21. Shaw, M., Clemens, P.: Toward boxology: preliminary classification of architectural styles. In: Proc. on the second International Software Architecture Workshop (ISAW2), S. Francisco, CA USA (October 1996)

    Google Scholar 

  22. Stafford, J.A., Richardson, D.J., Wolf, A.L.: Chaining: A software architecture dependence analysis technique. Technical Report CU-CS-845-97, Department of Computer Science, University of Colorado, Boulder, Colorado (September 1997)

    Google Scholar 

  23. Stafford, J.A., Wolf, A.L.: Architecture-level dependence analysis in support of software maintenance. In: Third International Software Architecture Workshop, Orlando, Florida, November 1998, pp. 129–132 (1998)

    Google Scholar 

  24. Zhao, J.: Software Architecture Slicing. In: Proceedings of the 14th Annual Conference of Japan Society for Software Science and Technology (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Caporuscio, M., Inverardi, P., Pelliccione, P. (2004). Formal Analysis of Architectural Patterns. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds) Software Architecture. EWSA 2004. Lecture Notes in Computer Science, vol 3047. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24769-2_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24769-2_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22000-8

  • Online ISBN: 978-3-540-24769-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics