ABSTRACT
Ubiquitous computing aims at dynamically supporting users in everyday life with applications on mobile and embedded devices in the surroundings. Component frameworks, such as OSGi, ease the dynamic management of such application software. Yet, OSGi focuses on Java, while many mobile devices only support native languages with reasonable performance. Furthermore, Java may increase the costs for devices, and even small additional costs are a relevant factor for mass-market production.
This paper presents nOSGi, the first native OSGi implementation. Our C++ prototype implements the features of the OSGi R4 specification and runs without any modifications on standard POSIX systems with support for ELF binaries. It provides the core functionality of the OSGi module, life cycle and service layer in a native C++ environment. We measured considerable improvements of performance and memory consumption in comparison to common Java OSGi frameworks. Successful tests on various platforms, such as x86, x64, Sun SPARC and ARM demonstrate the portability of nOSGi.
- Apache Software Foundation. Apache Felix. http://felix.apache.org/.Google Scholar
- Apple Inc. Mac OS X ABI Mach-O file format reference. Mac OS X Reference Library, February 2009.Google Scholar
- Alexander Broekhuis. Celix proposal. http://wiki.apache.org/incubator/CelixProposal.Google Scholar
- Cacaovm.org. cacaovm. http://www.cacaovm.org/.Google Scholar
- Eclipse Foundation. Equinox. http://www.eclipse.org/equinox/.Google Scholar
- C. Escoffier, D. Donsez, and R. S. Hall. Developing an OSGi-like service platform for .NET. CCNC '06: 3rd IEEE Consumer Communications and Networking Conference, pages 213--217, January 2006.Google ScholarCross Ref
- Xiaohui Gu, Alan Messer, Ira Greenberg, Dejan Milojicic, and Klara Nahrstedt. Adaptive offloading for pervasive computing. IEEE Pervasive Computing, 3:66--73, July 2004. Google ScholarDigital Library
- T. Howes. A string representation of LDAP search filters. IETF RFC 1960, June 1996. Google ScholarDigital Library
- ISO/IEC. Standard for programming language C++. ISO/IEC 14882:2003, October 2003.Google Scholar
- Steffen Kächele, Jörg Domaschka, and Franz J. Hauck. COSCA: an easy-to-use component-based PaaS cloud system for common applications. In Proceedings of the First International Workshop on Cloud Computing Platforms, CloudCP '11, pages 4:1--4:6, 2011. Google ScholarDigital Library
- Peter Kriens. Minimal OSGi systems. http://www.osgi.org/blog/2010/10/minimal-osgi-systems.html.Google Scholar
- Microsoft Corporation. .NET framework developer center. http://msdn.microsoft.com/netframework/.Google Scholar
- Microsoft Corporation. Microsoft portable executable and common object file format specification. Windows Hardware Developer Central, March 2008.Google Scholar
- Open-Plug. Component based software development for mobile devices. Whitepaper, February 2008.Google Scholar
- OSGi Alliance. OSGi Service Plattform Core Specification, Version 4.0.1, August 2005.Google Scholar
- J. S. Rellermeyer and G. Alonso. Concierge: a service platform for resource-constrained devices. ACM SIGOPS Operating Systems Review, 41(3):245--258, March 2007. Google ScholarDigital Library
- P. J. Salzman. The Linux kernel module programming guide. Linux Documentation Project, May 2007. Google ScholarDigital Library
- W. Schulte and Y. V. Natis. 'Service oriented' architectures, part 1. SSA research note SPA-401-068, Gartner, April 1996.Google Scholar
- Sourceforge.net. JamVM -- a compact Java virtual machine. http://jamvm.sourceforge.net/.Google Scholar
- Richard M. Stallman, Roland McGrath, and Paul D. Smith. GNU Make -- A Program for Directing Recompilation. Free Software Foundation, July 2010.Google Scholar
- Sun Microsystems. Connected device configuration 1.1.2. JSR 218, August 2006.Google Scholar
- The IEEE and The Open Group. IEEE std 1003.1-2008, 2008.Google Scholar
- The Knopflerfish Project. Knopflerfish OSGi. http://www.knopflerfish.org/.Google Scholar
- M. Weiser. The computer for the 21st Century. Scientific American, 265(3):66--75, February 1991.Google ScholarCross Ref
Index Terms
- nOSGi: a posix-compliant native OSGi framework
Recommendations
OSGi4C: enabling OSGi for the cloud
COMSWARE '09: Proceedings of the Fourth International ICST Conference on COMmunication System softWAre and middlewaREOSGi is an industry standard for a lean Java-based component system with focus on local applications following the service-oriented architecture. Initially developed for dedicated application domains such as gateways and set-top boxes it is meanwhile ...
A Component Based Architecture for Web Content Management: Runtime Deployable WebManager Component Bundles
ICWE '08: Proceedings of the 2008 Eighth International Conference on Web EngineeringCustomizing Web Applications is complex and result in possible complications when upgrading. The Web Content Management system 'GX WebManager' offers WebManager Component Bundles (WCBs): a new plug-in system for adding custom functionality runtime to ...
Enhancing OSGi with real-time Java support
OSGi was designed with embedded systems in mind, its current support is insufficient for coping with one main characteristic of many embedded systems: real-time performance. This article analyzes different key issues in providing OSGi with real-time ...
Comments