OSGi ME - An OSGi Profile for Embedded Devices
What is the talk about
Thanks to Eclipse community, OSGi modules (bundles/plugins) have achieved world domination on desktop. It is now obvious to think in terms of deployments of modules that have been designed at distinct time and by distinct providers. However, OSGi technology requires profound specification changes to meet the needs of the Embedded World.
The talk is about an OSGi Profile for Embedded Devices, named OSGi ME. Embedded software has two characteristics that makes it appealing and challenging for engineers: (1) resources are scarce, sometimes really scarce, (2) the software cannot fail, thus the summarized philosophy of OSGi ME: A faulty service cannot cause the failure of the entire platform
Why is the talk important
Most computers are embedded computers with a ratio of 1 desktop for 50-100 "invisible" micro-controllers, mcu. And 60% of new device designs are based on 32-bit mcu, which perfectly fit Java 32-bit oriented technology. Eclipse and OSGi great benefits must target the Embedded World to dramatically reduce software cost life cycle: design, deliver, hardware integration, maintenance of on-the-field-devices over potentially long periode of time. Virtually all human activities use mcu, like transportation, safety, industrial and home automation, entertainment and communication, ... OSGi ME, currently a request for proposals submitted to the OSGi Alliance (and delivered with this abstract), goes through necessary enhancements and drawback removals to adapt the deployments of modules to cost effective markets: robustness of software, tiny footprint, download policy related to embedded industry business models, little to no impact on the device bill-of-materials, binary compatibilities with OSGi high-end devices software.
What to expect from the talk
The talk will first go through a quick survey about economical and technical constraints of the embedded markets, and then dig into OSGi parts that need to get in sync with those constraints. For instance, OSGi modularity relies on heavy mechanisms, e.g., user-defined Java class loaders, and more generally most OSGi releases assume Java virtual machines that weigh few megabytes both in static memory and volatile memory, while new embedded java virtual design footprint are only few tens of kilobytes instead. OSGi leaves also many flaws that developers have to tackle themselves (stale references, initialization sequence,...). Several use cases will depict how a module is uploaded into a device in relation with typical business cases. The speakers will give technical hints on how to implement OSGi ME features on CLDC configuration, like:
- no stale reference,
- code sharing and isolation mechanisms without user-defined class loaders,
- fully ordered initialization sequence,
- upload of trusted and un-trusted module over controlled or not media,
- thread safe framework,
- the full "binary upward" compatibility of OSGi ME to OSGi.
Thanks to OSGi ME, attendees will foresee embedded applications that will have a simpler development process and will be delivered with more guarantees on embedded devices where costs do matter.
Andre has been working on OSGi-based projects on the Home, Building and City environments for the Orange labs since 2003. He is presently in charge of the Machine-to-Machine Research Program. His work mainly addresses Service dynamic composition in distributed applications. His work is visible through publications, patents and actions in standardization organizations, e.g., UPnP Forum, ISO/IEC, OSGi Alliance. He holds a PhD from Grenoble University in 2006 where he worked under the direction of Richard S. Hall and Philippe Lalanda.
Founder of www.is2t.com, 18 years in automation software, OOP software and embedded software.
After a master degree in Computer Sciences (DEA at the LITP laboratory, Paris VI), Fred started his industrial career at Geoide SA, using Smalltalk technologies to program PLCs. Fred conducted a PhD at the Jules Vernes OOP laboratory (Computer Sciences University and Ecole des Mines of Nantes) under the direction of Pierre Cointe (CNRS INRIA). His main research topics were software reflective languages.
At OTI/IBM, Fred has been part of the Java compiler team, the J9 Java virtual machine team, and the pervasive embedded software team. During his career, Fred designed several compilers (fully and/or partially): Ada95, Smalltalk, Java (Eclipse JDT main early contributor), Netrexx, IceTea, NeoClasstalk, VisualBasic, ... several binary code analysis tools and "bridges" that connect languages together, etc. He founded www.is2t.com in 2005, at which he is responsable for the embedded Java technologies product lines MicroEJ, and related libraries. Fred holds a MBA from Institut d'Administration des Entreprises of Nantes.
Download file of related material.