Formal Design of Structural and Dynamic Features of Publish/Subscribe Architectural Styles

  • Imen Loulou
  • Ahmed Hadj Kacem
  • Mohamed Jmaiel
  • Khalil Drira
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4758)

Abstract

This paper proposes a compositional formal approach to design correct publish/subscribe architecture styles. We provide a set of patterns and the corresponding composition rules to build architecture styles. The defined patterns and rules respect the principle of information propagation requiring that produced information have to reach all the subscribed consumers. We describe patterns as graphs and we use the Z notation to specify formally the semantic of each pattern and each rule. We prove consistency and correctness using the Z-Eves theorem prover. We show how to consider the interconnection topology between dispatchers as well as the subscription mechanism by simple refinements. We also show how to construct the Z specification of the designed architecture style based on applied rules. Moreover, we describe the dynamics of architecture via guarded graph-rewriting rules whose body describe the structural constraints and whose guards mainly describe the functional constraints of the system. We express these rules entirely with the Z notation also, obtaining a unified approach which handles both the static and the dynamic aspects.

Keywords

software architecture publish/subscribe style style composition formal specification architecture modeling dynamic architecture graph rewriting 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Spivey, J.M.: The Z notation: a reference manual. Prentice-Hall, Inc., Upper Saddle River (1989)MATHGoogle Scholar
  2. 2.
    Luckham, D.C., Kenney, J.L., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering 21(4), 336–355 (1995)CrossRefGoogle Scholar
  3. 3.
    Oquendo, F.: π-Method: A Model-Driven Formal Method for Architecture-Centric Software Engineering. ACM SIGSOFT Software Engineering Notes 31(3), 1–13 (2006)CrossRefGoogle Scholar
  4. 4.
    Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)CrossRefGoogle Scholar
  5. 5.
    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, pp. 47–68. Cambridge University Press, Cambridge (2000)Google Scholar
  6. 6.
    Carneiro de Paula, V.C., Ribeiro-Justo, G.R., Cunha, P.R.F.: Specifying and verifying reconfigurable software architectures. In: PDSE 2000: Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems, pp. 21–31 (2000)Google Scholar
  7. 7.
    Le Métayer, D.: Describing software architecture styles using graph grammars. IEEE Transactions On Software Engineering 24(7), 521–533 (1998)CrossRefGoogle Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    Cugola, G., Di Nitto, E., Fuggetta, A.: The JEDI event-based infrastructure and its application to the development of the OPSS WFMS. IEEE Transactions on Software Engineering 27(9), 827–850 (2001)CrossRefGoogle Scholar
  10. 10.
    Baresi, L., Ghezzi, C., Zanolin, L.: Modeling and validation of publish/subscribe architectures. In: Beydeda, S., Gruhn, V. (eds.) Testing Commercial off the shelf Components And Systems, pp. 273–292 (2005)Google Scholar
  11. 11.
    Fenkam, P., Gall, H., Jazayeri, M.: A systematic approach to the development of event based applications. In: SRDS 2003. The 22nd Symposium on Reliable Distributed Systems, Florence, Italy, October 2003, pp. 199–208 (2003)Google Scholar
  12. 12.
    Baldoni, R., Scipioni, S., Tucci-Piergiovanni, S.: Communication channel management for maintenance of strong overlay connectivity. In: ISCC 2006. Proceedings of the 11th IEEE Symposium on Computers and Communications, Washington, DC, USA, pp. 63–68. IEEE Computer Society Press, Los Alamitos (2006)Google Scholar
  13. 13.
    Parzyjegla, H., Muhl, G.G., Jaeger, M.A.: Reconfiguring publish/subscribe overlay topologies. In: ICDCSW 2006. Proceedings of the 26th IEEE International ConferenceWorkshops on Distributed Computing Systems, Washington, DC, USA, p. 29. IEEE Computer Society Press, Los Alamitos (2006)Google Scholar
  14. 14.
    Cugola, G., Frey, D., Murphy, A.L., Picco, G.P.: Minimizing the reconfiguration overhead in content-based publish-subscribe. In: SAC 2004, pp. 1134–1140. ACM Press, New York (2004)CrossRefGoogle Scholar
  15. 15.
    Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.-M.: The many faces of publish/subscribe. ACM Comput. Surv. 35(2), 114–131 (2003)CrossRefGoogle Scholar
  16. 16.
    Wermelinger, M.A.: Specification of software architecture reconfiguration. PhD thesis, Université Nova de Lisbon, Septembre (1999)Google Scholar
  17. 17.
    Chassot, C., Guennoun, K., Drira, K.: Architectural adaptability management for mobile cooperative systems. In: MUE 2007. International Conference on Multimedia and Ubiquitous Engineering, Seoul, Korea, pp. 1130–1135 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Imen Loulou
    • 1
  • Ahmed Hadj Kacem
    • 1
  • Mohamed Jmaiel
    • 1
  • Khalil Drira
    • 1
  1. 1.University of Sfax, Research Unit ReDCAD, B.P. W.3038 Sfax, Tunisia, LAAS-CNRS, 7 avenue de Colonel Roche, 31007 Toulouse Cedex 4France

Personalised recommendations