AOCI: Weaving Components in a Distributed Environment

  • Authors:
  • Guido Söldner;Sven Schober;Wolfgang Schröder-Preikschat;Rüdiger Kapitza

  • Affiliations:
  • Dept. of Comp. Sciences 4, University of Erlangen-Nürnberg, Germany;Dept. of Comp. Sciences 4, University of Erlangen-Nürnberg, Germany;Dept. of Comp. Sciences 4, University of Erlangen-Nürnberg, Germany;Dept. of Comp. Sciences 4, University of Erlangen-Nürnberg, Germany

  • Venue:
  • OTM '08 Proceedings of the OTM 2008 Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008. Part I on On the Move to Meaningful Internet Systems:
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Mobile and embedded devices like PDAs, mobile phones, and all kinds of consumer hardware populate the world we live in. Despite the vision of ubiquitous computing and its idea of spontaneous interaction among these devices more than fifteen years ago, most of them are still isolated and restricted in their interaction capabilities. One reason for this limitation is the poor support for dynamic adaptation and evolution of software in distributed environments. This paper proposes AOCI, an Aspect-Oriented Component Infrastructure that takes the core ideas of AOP, the separation of concerns and system modularization to make them more adaptable and evolvable, to the domain of component systems. Components are usually considered as black boxes that can be combined to a complex system using their outer interfaces. In the context of our infrastructure, components export possible adaptation points, which are enriched by ontological information. This enables the application of AOP techniques without detailed knowledge about the component's internals, enabling dynamic and distributed adaptation. Our prototype is based on OSGi and provides a complete infrastructure to weave local as well as remote components. We demonstrate the feasibility of our approach by adapting the RUBiS infrastructure (a web-based bidding system) to support dynamic user-centric error detection.