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.
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
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)
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)
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)
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)
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)
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)
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)
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)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Massachusetts Institute of Technology (2001)
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)
Fugetta, A., Picco, G., Vigna, G.: Understanding Code Mobility. IEEE Transaction on Software Engineering 24(5) (1998)
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)
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)
Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (September 2003)
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)
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)
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)
Object Management Group (OMG). Unified Modeling Language (UML) Version 1.5 (March 2003), http://www.omg.org/uml/
Pnueli, A.: The temporal logic of programs. In: Proc. 18th IEEE Symposium on Foundation of Computer Science, pp. 46–57 (1977)
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)
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)
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)
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)
Zhao, J.: Software Architecture Slicing. In: Proceedings of the 14th Annual Conference of Japan Society for Software Science and Technology (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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