Results 1 - 10
of
31
R-OSGi: Distributed Applications Through Software Modularization
- In Proceedings of the ACM/IFIP/USENIX 8th International Middleware Conference
, 2007
"... Abstract. In this paper we take advantage of the concepts developed for centralized module management, such as dynamic loading and unloading of modules, and show how they can be used to support the development and operation of distributed applications. We do so through R-OSGi, a distributed middlewa ..."
Abstract
-
Cited by 62 (12 self)
- Add to MetaCart
(Show Context)
Abstract. In this paper we take advantage of the concepts developed for centralized module management, such as dynamic loading and unloading of modules, and show how they can be used to support the development and operation of distributed applications. We do so through R-OSGi, a distributed middleware platform that extends the centralized, industrystandard OSGi specification to support distributed module management. To the developer, R-OSGi looks like a conventional module management tool. However, at deployment time, R-OSGi can be used to turn the application into a distributed application by simply indicating where the different modules should be deployed. At run time, R-OSGi represents distributed failures as module insertion and withdrawal operations so that the logic to deal with failures is the same as that employed to deal with dependencies among software modules. In doing so, R-OSGi greatly simplifies the development of distributed applications with no performance cost. In the paper we describe R-OSGi and several use cases. We also show with extensive experiments that R-OSGi has a performance comparable or better than that of RMI or UPnP, both commonly used distribution mechanisms with far less functionality than R-OSGi. 1
LooCI: A loosely-coupled component infrastructure for networked embedded systems
- Proceedings of the 7th International Conference on Advances in Mobile Computing & Multimedia, Kuala Lumpur
, 2009
"... Considerable research has been performed in applying run-time reconfigurable component models to the domain of wireless sensor networks. The ability to dynamically deploy and reconfigure software components has clear advantages in sensor network deployments, which are typically large in scale and ex ..."
Abstract
-
Cited by 22 (9 self)
- Add to MetaCart
(Show Context)
Considerable research has been performed in applying run-time reconfigurable component models to the domain of wireless sensor networks. The ability to dynamically deploy and reconfigure software components has clear advantages in sensor network deployments, which are typically large in scale and expected to operate for long periods in the face of node mobility, dynamic environmen-tal conditions and changing application requirements. To date, research on component and binding models for sensor networks has primarily focused on the development of specialized component models that are optimized for use in resource-constrained environments. However, current approaches impose signif-icant overhead upon developers and tend to use inflexible binding models based on remote procedure calls. To address these concerns, we introduce a novel component and binding model for networked embedded systems (LooCI). LooCI components are designed to impose minimal additional overhead on developers. Furthermore, LooCI components use a novel event-based binding model that al-
MUSIC: Middleware support for self-adaptation in ubiquitous and service-oriented environments
- In Software Engineering for Self-Adaptive Systems. Pp
, 2009
"... Abstract. Self-adaptive component-based architectures facilitate the building of systems capable of dynamically adapting to varying execution context. Such a dynamic adaptation is particularly relevant in the domain of ubiquitous computing, where numerous and unexpected changes of the execution con ..."
Abstract
-
Cited by 18 (2 self)
- Add to MetaCart
(Show Context)
Abstract. Self-adaptive component-based architectures facilitate the building of systems capable of dynamically adapting to varying execution context. Such a dynamic adaptation is particularly relevant in the domain of ubiquitous computing, where numerous and unexpected changes of the execution context prevail. In this paper, we introduce an extension of the MUSIC component-based planning framework that optimizes the overall utility of applications when such changes occur. In particular, we focus on changes in the service provider landscape in order to plug in interchangeably components and services providing the functionalities defined by the component framework. The dynamic adaptations are operated automatically for optimizing the application utility in a given execution context. Our resulting planning framework is described and validated on a motivating scenario of the MUSIC project.
The Software Fabric for the Internet of Things
- Proceedings of the 1st International Conference on the Internet of Things
, 2008
"... Abstract. One of the most important challenges that need to be solved before the “Internet of Things ” becomes a reality is the lack of a scalable model to develop and deploy applications atop such a heterogeneous collection of ubiquitous devices. In practice, families of hardware devices or of soft ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
(Show Context)
Abstract. One of the most important challenges that need to be solved before the “Internet of Things ” becomes a reality is the lack of a scalable model to develop and deploy applications atop such a heterogeneous collection of ubiquitous devices. In practice, families of hardware devices or of software platforms have intrinsic characteristics that make it very cumbersome to write applications where arbitrary devices and platforms interact. In this paper we explore constructing the software fabric for the “Internet of Things ” as an extension of the ideas already in use for modular software development. In particular, we suggest to generalize the OSGi model to turn the “Internet of Things ” into a collection of loosely coupled software modules interacting through service interfaces. Since OSGi is Java-based, in the paper we describe how to use OSGi concepts in other contexts and how to turn non-Java capable devices and platforms into OSGi-like services. In doing this, the resulting software fabric looks and feels like well known development environments and hides the problems related to distribution and heterogeneity behind the better understood concept of modular software design. 1
Dynamic planning and weaving of dependability concerns for self-adaptive ubiquitous services
- In Proc. of the 2009 ACM Symposium on Applied Computing (Honolulu, Hawaii). SAC '09. ACM
"... Ubiquitous computing and service-oriented computing enable the development of a new trend of applications that can opportunely interact with services discovered in the surrounding landscape. Al-though sporadic, this type of interaction requires the deployment of dependable mechanisms to ensure the c ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
(Show Context)
Ubiquitous computing and service-oriented computing enable the development of a new trend of applications that can opportunely interact with services discovered in the surrounding landscape. Al-though sporadic, this type of interaction requires the deployment of dependable mechanisms to ensure the correct completion of the in-teractions. However, the integration and the configuration of these mechanisms depends not only on the type of service accessed, but also on the surrounding environment. Such a variability requires an extensive effort of the developers to support the alternative mech-anisms. Thus, to reduce this effort, we propose to integrate the Aspect-Oriented Programming (AOP) principles into the MUSIC planning-based adaptation middleware in order to dynamically plan and weave dependability concerns into the application depending on the execution context. In particular, this paper introduces our continuous support for AOP, which includes i) a uniform model for describing the dependable application configurations and ii) a modular middleware platform for weaving and configuring the de-pendability concerns when necessary.
Design, Measurement
"... SwissQM is a novel sensor network platform for acquiring data from the real world. Instead of statically hand-crafted programs, SwissQM is a virtual machine capable of executing bytecode programs on the sensor nodes. By using a central and intelligent gateway, it is possible to either push aggregati ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
(Show Context)
SwissQM is a novel sensor network platform for acquiring data from the real world. Instead of statically hand-crafted programs, SwissQM is a virtual machine capable of executing bytecode programs on the sensor nodes. By using a central and intelligent gateway, it is possible to either push aggregation and other operations into the network, or to execute them on the gateway. Since the gateway is built in an entirely modular style, it can be dynamically extended with new functionality such as user interfaces, user defined functions, or additional query optimizations. The goal of this demonstration is to show the flexibility and the unique features of SwissQM.
AOCI: Weaving Components in a Distributed Environment
"... 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 re ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
(Show Context)
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. 1
DR-OSGi: Hardening Distributed Components with Network Volatility Resiliency
"... Abstract. Because middleware abstractions remove the need for lowlevel network programming, modern distributed component systems expose network volatility (i.e., frequent but intermittent outages) as application-level exceptions, requiring custom manual handling. Unfortunately, handling network vola ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
(Show Context)
Abstract. Because middleware abstractions remove the need for lowlevel network programming, modern distributed component systems expose network volatility (i.e., frequent but intermittent outages) as application-level exceptions, requiring custom manual handling. Unfortunately, handling network volatility effectively is nontrivial—the programmer must consider not only the specifics of the application, but also of its target deployment environment. As a result, to make a distributed component application resilient against network volatility, programmers commonly create custom solutions that are ad-hoc, tedious, and error-prone. In addition, these solutions are difficult to customize for different networks and to reuse across different applications. To address these challenges, this paper presents a systematic approach to hardening distributed components to become resilient against network volatility. Specifically, we present an extensible framework for enhancing a distributed component application with the ability to continue executing in the presence of network volatility. To accommodate the diverse hardening needs of various combinations of networks and applications, our framework not only provides a collection of hardening strategies, but also simplifies the creation of new strategies. Our reference implementation, built on top of the R-OSGi infrastructure, is called DR-OSGi 1. DR-OSGi imposes a very low overhead on the hardened applications, requires no changes to their source code, and is plug-in extensible. Applying DR-OSGi to several realistic distributed applications has hardened them with resiliency to effectively withstand network volatility.
ROCS: a Remotely Provisioned OSGi Framework for Ambient Systems
- In NOMS 2010, Osaka Japon, 04 2010. IEEE/IFIP. http://hal.inria.fr/inria-00436041/PDF/PID1073261.pdf
"... Abstract—One of the challenges of ambient systems lies in providing all the available services of the environment to the ambient devices, even if they do not physically host those services. Although this challenge has come to find a solution through cloud computing, there are still few devices and o ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
(Show Context)
Abstract—One of the challenges of ambient systems lies in providing all the available services of the environment to the ambient devices, even if they do not physically host those services. Although this challenge has come to find a solution through cloud computing, there are still few devices and operating systems that enable applications execution by only uploading the required components into the runtime environment. The ROCS (Remote OSGi Caching Service) framework is a novel proposal which relies on a heavy-weighted standard Java/OSGi stack. It is distributed between class servers and ambient devices to provide full functionalities to resource-constrained environments. The ROCS framework provides improvements in two areas. First, it defines a minimal bootstrap environment that runs a standard Java/OSGi stack. Secondly, it provides an architecture for loading any necessary missing class from remote servers into memory at runtime. Our first results show similar performances when classes are either remotely downloaded into the main memory from a local network or from a flash drive. These results suggest a way to design minimalistic middleware that dynamically obtain their applications from the network as a first step towards cloud-aware operating systems. I.