Skip to main content
Log in

A middleware platform for the dynamic evolution of distributed component-based systems

  • Published:
Computing Aims and scope Submit manuscript

Abstract

In this paper, we present a middleware platform that supports the dynamic evolution of distributed component-based systems. It leverages the concept of ontologies to model the context of a system and an intrinsic mechanism is integrated to causally connect the dynamic architecture specification to the running system implementation. The ontological modeling covers both the environmental and the architectural knowledge using semantic data modeling. The intrinsic mechanism can automatically derive a run-time polymorphic architecture object to coordinate the involved components. The ontology based contextual representation and the polymorphic architecture-driven dynamic evolution are the two underpinnings of the platform. A scenario application—including the two primitive evolution actions—with the performance analysis is discussed to illustrate the feasibility.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. https://juddi.apache.org/.

  2. http://axis.apache.org/.

  3. http://tomcat.apache.org/.

  4. Available at http://moon.nju.edu.cn/twiki/pub/ICSatNJU/YuZhou/saon.owl.

References

  1. Akerman A, Tyree J (2006) Using ontology to support development of software architectures. IBM Syst J 45(4):813–825

    Article  Google Scholar 

  2. Baldauf M, Dustdar S, Rosenberg F (2007) A survey on context-aware systems. Intern J Ad Hoc Ubiquitous Comput 2(4):263–277

    Article  Google Scholar 

  3. Baresi L, Di Nitto E, Ghezzi C (2006) Toward open-world software: issue and challenges. Computer 39(10):36–43

    Article  Google Scholar 

  4. Bettini C, Brdiczka O, Henricksen K, Indulska J, Nicklas D, Ranganathan A, Riboni D (2010) A survey of context modelling and reasoning techniques. Perv Mob Comput 6(2):161–180

    Article  Google Scholar 

  5. Brun Y, Di Marzo Serugendo G, Gacek C, Giese H, Kienle H, Litoiu M, Müller H, Pezzè M, Shaw M (2009) Engineering self-adaptive systems through feedback loops. Softw Eng Self-Adaptive Syst. pp 48–70

  6. Cleland-Huang J, Hanmer RS, Supakkul S et al (2013) The twin peaks of requirements and architecture. IEEE Softw 30(2):24–29

    Google Scholar 

  7. De Lemos R, Giese H, Müller HA et al (2013) Software engineering for self-adaptive systems: a second research roadmap. In: Software engineering for self-adaptive systems II, Springer, Berlin, pp 1–32

  8. Dey AK (2001) Understanding and using context. Pers Ubiquitous Comput 5(1):4–7

    Article  Google Scholar 

  9. Fleury M, Reverbel F (2003) The JBoss extensible server. In: Proceedings of the ACM/IFIP/USENIX 2003 international conference on middleware, Springer, New York, pp 344–373

  10. Garlan D, Cheng SW, Huang AC et al (2004) Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37(10):46–54

    Google Scholar 

  11. Garlan D, Monroe RT, Wile D (2000) Acme: architectural description of component-based systems. Foundations Compon Based Syst 68:47–68

    Google Scholar 

  12. Gennari J, Musen M, Fergerson R, Grosso W, Crubézy M, Eriksson H, Noy N, Tu S (2003) The evolution of Protégé: an environment for knowledge-based systems development. Intern J Hum Comp Stud 58(1):89–123

    Article  Google Scholar 

  13. Gui N, De Florio V, Sun H, Blondia C (2011) Toward architecture-based context-aware deployment and adaptation. J Syst Softw 84(2):185–197

    Article  Google Scholar 

  14. Haarslev V, Moller R (2001) RACER system description. In: Proceedings of the International Joint Conference on Automated Reasoning (IJCAR 2001) vol 2083, pp 701–705

  15. Henderson-Sellers B (2011) Bridging metamodels and ontologies in software engineering. J Syst Softw 84(2):301–313

    Article  Google Scholar 

  16. Kyaruzi J, van Katwijk J (1999) Beyond components-connections-constraints: dealing with softwarearchitecture difficulties. In: 14th IEEE International Conference on Automated Software Engineering, pp 235–242

  17. Ma X, Baresi L, Ghezzi C, Panzica La Manna V, Lu J (2011) Version-consistent dynamic reconfiguration of component-based distributed systems. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, ACM, New York, pp 245–255

  18. Ma X, Zhou Y, Pan J et al (2007) Constructing self-adaptive systems with polymorphic software architecture. In: SEKE, pp 2–8

  19. Magee J, Kramer J (1996) Dynamic structure in software architectures. In: ACM SIGSOFT Software Engineering Notes, ACM, New York, vol. 21, pp 3–14

  20. McGuinness DL, Van Harmelen F (2004) OWL web ontology language overview. W3C recomm 10(2004-03):10

    Google Scholar 

  21. Moore B, Dean D, Gerber A, Wagenknecht G, Vanderheyden P (2004) Eclipse development using the graphical editing framework and the eclipse modeling framework. IBM Redbooks, San Jose, California, US

  22. Morrison R, Balasubramaniam D, Kirby G, Mickan K, Warboys B, Greenwood R, Robertson I, Snowdon B (2007) A framework for supporting dynamic systems co-evolution. Automated Softw Eng 14(3):261–292

    Article  Google Scholar 

  23. Oreizy P, Medvidovic N, Taylor R (2008) Runtime software adaptation: framework, approaches, and styles. In: Companion of the 30th international conference on Software engineering, ACM, New York, pp 899–910

  24. Papazoglou M, Traverso P, Dustdar S, Leymann F (2007) Service-oriented computing: state of the art and research challenges. IEEE Comp 40(11):38–45

    Article  Google Scholar 

  25. Psaier H, Dustdar S (2011) A survey on self-healing systems: approaches and systems. Computing 91(1):43–73

    Article  Google Scholar 

  26. Reynolds D (2004) Jena 2 inference support. Online manual. http://jena.sourceforge.net/inference/index.html

  27. des Rivieres J, Wiegand J (2004) Eclipse: a platform for integrating development tools. IBM Syst J 43(2):371–383

    Article  Google Scholar 

  28. Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Autonom Adaptive Syst (TAAS) 4(2):14

    Google Scholar 

  29. Satyanarayanan M et al (2001) Pervasive computing: vision and challenges. IEEE Pers Commun 8(4):10–17

    Article  Google Scholar 

  30. Seinturier L, Merle P, Rouvoy R, Romero D, Schiavoni V, Stefani JB (2012) A component-based middleware platform for reconfigurable service-oriented architectures. Software 42(5):559–583

    Google Scholar 

  31. Stojanovic L, Schneider J, Maedche A, Libischer S, Studer R, Lumpp T, Abecker A, Breiter G, Dinger J (2004) The role of ontologies in autonomic computing systems. IBM Syst J 43(3):598–616

    Article  Google Scholar 

  32. Taylor RN, Medvidovic N, Dashofy EM (2009) Software architecture: foundations, theory, and practice. Wiley Publishing, New York

    Google Scholar 

  33. Zhou Y, Yan X, Huang Z (2012) A graph transformation based approach for modeling component-level migration in mobile environments. In: Computer Software and Applications Conference Workshops (COMPSACW), 2012 IEEE 36th Annual, pp 152–157

Download references

Acknowledgments

The work was partially funded by the Chinese Fundamental Research Funds for Central Universities under Grant No. NS2012135 and the NSF of China under Grant No. 61202002, No. 61272083, and No. 61379157.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yu Zhou.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zhou, Y., Ma, X. & Gall, H. A middleware platform for the dynamic evolution of distributed component-based systems. Computing 96, 725–747 (2014). https://doi.org/10.1007/s00607-014-0396-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-014-0396-7

Keywords

Mathematics Subject Classification (2010)

Navigation