Advertisement

Software & Systems Modeling

, Volume 12, Issue 2, pp 349–367 | Cite as

A model for dynamic reconfiguration in service-oriented architectures

  • José Luiz Fiadeiro
  • Antónia Lopes
Special Section Paper

Abstract

The importance of modelling the dynamic characteristics of the architecture of software systems has long been recognised. However, the nature of the dynamics of service-oriented applications goes beyond what is currently addressed by architecture description languages (ADLs). At the heart of the service-oriented approach is the logical separation between the service need and the need-fulfillment mechanism, i.e., the provision of the service: the binding between the requester and the provider is deferred to run time and established at the instance level, i.e., each time the need for the service arises. As a consequence, computation in the context of service-oriented architectures transforms not only the states of the components that implement applications but also the configurations of those applications. In this paper, we present a model for dynamic reconfiguration that is general enough to support the definition of ADLs that are able to address the full dynamics of service-oriented applications. As an instance of the model, we present a simple service-oriented ADL derived from the modelling language srml that we developed in the Sensoria project.

Keywords

Software architecture Service-oriented computing Dynamic formal modelling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abreu J., Bocchi L., Fiadeiro J.L., Lopes A.: Specifying and composing interaction protocols for service-oriented system modelling. In: Derrick, J., Vain, J. (eds) FORTE. LNCS, vol. 4574, pp. 358–373. Springer, Berlin (2007)Google Scholar
  2. 2.
    Abreu J., Mazzanti F., Fiadeiro J.L., Gnesi S.: A model-checking approach for service component architectures. In: Lee, D., Lopes, A., Poetzsch-Heffter, A. (eds) FMOODS/FORTE. LNCS, vol. 5522, pp. 219–224. Springer, Berlin (2009)Google Scholar
  3. 3.
    Allen, R., Douence, R., Garlan, D.: Specifying and analyzing dynamic software architectures. In: FASE, pp. 21–37 (1998)Google Scholar
  4. 4.
    Batista T.V., Joolia A., Coulson G.: Managing dynamic reconfiguration in component-based systems. In: Morrison, R., Oquendo, F. (eds) EWSA. LNCS, vol. 3527, pp. 1–17. Springer, Berlin (2005)Google Scholar
  5. 5.
    Bistarelli S., Montanari U., Rossi F.: Semiring-based constraint satisfaction and optimization. J. ACM 44(2), 201–236 (1997)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Bistarelli S., Santini F.: A nonmonotonic soft concurrent constraint language for SLA negotiation. Electron. Notes Theor. Comput. Sci 236, 147–162 (2009)CrossRefGoogle Scholar
  7. 7.
    Bocchi, L., Fiadeiro, J.L., Gilmore, S., Abreu, J., Solanki, M., Vankayala, V.: A formal approach to modelling time properties of service oriented systems. In: Handbook of Research on Non-Functional Properties for Service-Oriented Systems: Future Directions. Advances in Knowledge Management Book Series. IGI Global (2012, in press)Google Scholar
  8. 8.
    Bocchi L., Fiadeiro J.L., Lapadula A., Pugliese R., Tiezzi F.: From architectural to behavioural specification of services. Electron. Notes Theor. Comput. Sci 253(1), 3–21 (2009)CrossRefGoogle Scholar
  9. 9.
    Bocchi L., Fiadeiro J.L., Lopes A.: Service-oriented modelling of automotive systems. In: COMPSAC. IEEE Computer Society, pp. 1059–1064 (2008)Google Scholar
  10. 10.
    Bocchi L., Fiadeiro J.L., Lopes A.: A use-case driven approach to formal service-oriented modelling. In: Margaria, T., Steffen, B. (eds) ISoLA. Communications in Computer and Information Science, vol. 17, pp. 155–169. Springer, Berlin (2008)Google Scholar
  11. 11.
    Bocchi L., Hong Y., Lopes A., Fiadeiro J.L.: From BPEL to SRML: A formal transformational approach. In: Dumas, M., Heckel, R. (eds) WS-FM. LNCS, vol. 4937, pp. 92–107. Springer, Berlin (2007)Google Scholar
  12. 12.
    Boreale M. et al.: SCC: a service centered calculus. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds) WS-FM. LNCS, vol. 4184, pp. 38–57. Springer, Berlin (2006)Google Scholar
  13. 13.
    Broy, M.: From “formal methods” to system modeling. In: Jones, C.B., Liu, C.B., Woodcock, J. (eds.) Formal Methods and Hybrid Real-Time Systems. Lecture Notes in Computer Science, vol. 4700, pp. 24–44. Springer, Berlin (2007)Google Scholar
  14. 14.
    Bruni R., Bucchiarone A., Gnesi S., Hirsch D., Lluch-Lafuente A.: Graph-based design and analysis of dynamic software architectures. In: Degano, P., Nicola, R.D., Meseguer, J. (eds) Concurrency Graphs and Models. LNCS, vol. 5065, pp. 37–56. Springer, Berlin (2008)CrossRefGoogle Scholar
  15. 15.
    Bruni, R., Lluch-Lafuente, A., Montanari, U., Tuosto, E.: Service oriented architectural design. In: Barthe,G., Fournet, G. (ed.) TGC. Lecture Notes in Computer Science, vol. 4912, pp. 186–203. Springer, Berlin (2007)Google Scholar
  16. 16.
    Carbone, M., Honda, K., Yoshida, N.: Structured communication-centred programming for web services. In: De Nicola [18], pp. 2–17Google Scholar
  17. 17.
    Coulson, G., Blair, G.S., Grace, P., Taïani, F., Joolia, A., Lee, K., Ueyama, J., Sivaharan, T.: A generic component model for building systems software. ACM Trans. Comput. Syst. 26(1), (2008)Google Scholar
  18. 18.
    De Nicola, R. (ed): Programming Languages and Systems. LNCS, vol. 4421. Springer, Berlin (2007)Google Scholar
  19. 19.
    Elfatatry A.: Dealing with change: components versus services. Commun. ACM 50(8), 35–39 (2007)CrossRefGoogle Scholar
  20. 20.
    Fargier, H., Lang, J., Schiex, T.: Mixed constraint satisfaction: a framework for decision problems under incomplete knowledge. In: AAAI/IAAI, vol. 1, pp. 175–180 (1996)Google Scholar
  21. 21.
    Fiadeiro J.L.: Categories for Software Engineering. Springer, Berlin (2004)Google Scholar
  22. 22.
    Fiadeiro J.L., Lopes A.: A model for dynamic reconfiguration in service-oriented architectures. In: Babar, M.A., Gorton, I. (eds) ECSA. LNCS, vol. 6285, pp. 70–85. Springer, Berlin (2010)Google Scholar
  23. 23.
    Fiadeiro, J.L., Lopes, A., Abreu, J.: A formal model for service-oriented interactions. Sci. Comput. Program (2011, in print)Google Scholar
  24. 24.
    Fiadeiro J.L., Lopes A., Bocchi L.: An abstract model of service discovery and binding. Formal Asp. Comput. 23(4), 433–463 (2011)CrossRefGoogle Scholar
  25. 25.
    Fiadeiro, J.L., Lopes, A., Bocchi, L., Abreu, J.: The Sensoria reference modelling language. In: Wirsing and Hölzl [45], pp. 61–114Google Scholar
  26. 26.
    Garlan D., Cheng S.-W., Huang A.-C., Schmerl B.R., Steenkiste P.: Rainbow: architecture-based self-adaptation with reusable infrastructure. IEEE Comput. 37(10), 46–54 (2004)CrossRefGoogle Scholar
  27. 27.
    Gilmore S., Hillston J.: The PEPA workbench: a tool to support a process algebra-based approach to performance modelling. In: Haring, G., Kotsis, G. (eds) Computer Performance Evaluation. LNCS, vol. 794, pp. 353–368. Springer, Berlin (1994)Google Scholar
  28. 28.
    Kon F., Costa F.M., Blair G.S., Campbell R.H.: The case for reflective middleware. Commun. ACM 45(6), 33–38 (2002)CrossRefGoogle Scholar
  29. 29.
    Lapadula, A., Pugliese, R., Tiezzi F.: A calculus for orchestration of web services. In: De Nicola [18], pp. 33–47Google Scholar
  30. 30.
    Léger M., Ledoux T., Coupaye T.: Reliable dynamic reconfigurations in a reflective component model. In: Grunske, L., Reussner, R., Plasil, F. (eds) CBSE. LNCS, vol. 6092, pp. 74–92. Springer, Berlin (2010)Google Scholar
  31. 31.
    Lucchi R., Mazzara M.: A π-calculus based semantics for WS-BPEL. J. Log. Algebr. Program. 70(1), 96–118 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  32. 32.
    Magee, J., Kramer J.: Dynamic structure in software architectures. In: SIGSOFT FSE, pp. 3–14 (1996)Google Scholar
  33. 33.
    Morrison, R., Kirby, G.N.C., Balasubramaniam, D., Mickan, K., Oquendo, F., Cîmpan, S., Warboys, B., Snowdon, B., Greenwood, R.M.: Support for evolving software architectures in the archware ADL. In: WICSA, pp. 69–78. IEEE Computer Society (2004)Google Scholar
  34. 34.
    Oquendo F.: π-ADL: an architecture description language based on the higher-order typed pi-calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT Softw. Eng. Notes 29(3), 1–14 (2004)CrossRefGoogle Scholar
  35. 35.
    Oquendo F.: Formal approach for the development of business processes in terms of service-oriented architectures using π-ADL. In: Lee, J., Liang, D., Cheng, Y.C. (eds) SOSE, pp. 154–159. IEEE Computer Society, Berlin (2008)Google Scholar
  36. 36.
    Oreizy P., Taylor R.N.: On the role of software architectures in runtime system reconfiguration. IEE Proc. Softw. 145(5), 137–145 (1998)CrossRefGoogle Scholar
  37. 37.
    OSOA. Service component architecture: Building systems using a service oriented architecture, 2005. White paper available from http://www.osoa.org
  38. 38.
    Perry D.E., Wolf A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  39. 39.
    Reichel H.: Initial Computability, Algebraic Specifications, and Partial Algebras. Oxford University Press Inc., New York (1987)zbMATHGoogle Scholar
  40. 40.
    Sanz M.L., Qayyum Z., Cuesta C.E., Marcos E., Oquendo F.: Representing service-oriented architectural models using π-ADL. In: Morrison, R., Balasubramaniam, D., Falkner, K.E. (eds) ECSA. LNCS, vol. 5292, pp. 273–280. Springer, Berlin (2008)Google Scholar
  41. 41.
    Simonot, M., Aponte V.: A declarative formal approach to dynamic reconfiguration. In: Proceedings of the 1st international workshop on Open component ecosystems, IWOCE’09, pp. 1–10. ACM, New York, 2009Google Scholar
  42. 42.
    Tiberghien A., Merle P., Seinturier L.: Specifying self-configurable component-based systems with fractoy. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds) ASM. LNCS, vol. 5977, pp. 91–104. Springer, Berlin (2010)Google Scholar
  43. 43.
    Wermelinger M., Fiadeiro J.L.: A graph transformation approach to software architecture reconfiguration. Sci. Comput. Program. 44(2), 133–155 (2002)zbMATHCrossRefGoogle Scholar
  44. 44.
    Wermelinger, M., Lopes, A., Fiadeiro, J.L.: A graph based architectural (re)configuration language. In: ESEC / SIGSOFT FSE, pp. 21–32 (2001)Google Scholar
  45. 45.
    Wirsing, M., Hölzl, M. (eds): Rigorous Software Engineering for Service-Oriented Systems. LNCS, vol. 6582. Springer, Berlin (2011)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of LeicesterLeicesterUK
  2. 2.Faculty of SciencesUniversity of LisbonLisbonPortugal

Personalised recommendations