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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Akerman A, Tyree J (2006) Using ontology to support development of software architectures. IBM Syst J 45(4):813–825
Baldauf M, Dustdar S, Rosenberg F (2007) A survey on context-aware systems. Intern J Ad Hoc Ubiquitous Comput 2(4):263–277
Baresi L, Di Nitto E, Ghezzi C (2006) Toward open-world software: issue and challenges. Computer 39(10):36–43
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
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
Cleland-Huang J, Hanmer RS, Supakkul S et al (2013) The twin peaks of requirements and architecture. IEEE Softw 30(2):24–29
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
Dey AK (2001) Understanding and using context. Pers Ubiquitous Comput 5(1):4–7
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
Garlan D, Cheng SW, Huang AC et al (2004) Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37(10):46–54
Garlan D, Monroe RT, Wile D (2000) Acme: architectural description of component-based systems. Foundations Compon Based Syst 68:47–68
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
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
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
Henderson-Sellers B (2011) Bridging metamodels and ontologies in software engineering. J Syst Softw 84(2):301–313
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
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
Ma X, Zhou Y, Pan J et al (2007) Constructing self-adaptive systems with polymorphic software architecture. In: SEKE, pp 2–8
Magee J, Kramer J (1996) Dynamic structure in software architectures. In: ACM SIGSOFT Software Engineering Notes, ACM, New York, vol. 21, pp 3–14
McGuinness DL, Van Harmelen F (2004) OWL web ontology language overview. W3C recomm 10(2004-03):10
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
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
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
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
Psaier H, Dustdar S (2011) A survey on self-healing systems: approaches and systems. Computing 91(1):43–73
Reynolds D (2004) Jena 2 inference support. Online manual. http://jena.sourceforge.net/inference/index.html
des Rivieres J, Wiegand J (2004) Eclipse: a platform for integrating development tools. IBM Syst J 43(2):371–383
Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Autonom Adaptive Syst (TAAS) 4(2):14
Satyanarayanan M et al (2001) Pervasive computing: vision and challenges. IEEE Pers Commun 8(4):10–17
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
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
Taylor RN, Medvidovic N, Dashofy EM (2009) Software architecture: foundations, theory, and practice. Wiley Publishing, New York
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
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
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-014-0396-7