Table 6: Technologies’ comparison.
Technology Security Modularity Dynamism Connectivity Resource-friendliness
Java Card High Static No Native Extreme
OSGi Optional Dynamic High Optional Standard
STM32 No No No Optional Standard
VirtualSense No Dynamic Yes Radio Extreme
modularity, connectivity and resource-friendliness.
Table 6 shows a comparison of all the technologies
in terms of these needs.
Since none of the technologies fully satisfies the
needs, something new is necessary. The arrival of
OSGi ME (Bottaro and Rivard, 2009), an OSGi
release for embedded devices with a focus on
security, could suppose the appearance of a platform
fulfilling most of our needs. However, it is not
available for evaluation yet and it is not an open
platform. Our objective is to get the best properties
while keeping the new system resource-friendly.
Several solutions are being studied:
An ad-hoc structure of “OSGi-like services”
+ JVM. That would probably be the best
solution, as long as this custom structure is
sufficiently modified to get the properties that
standard OSGi does not enforce enough. The
usage of security will have to be mandatory
for achieving the necessary isolation and
certification and an eye should be kept on its
resource-friendliness.
A structure consisting of a Virtual Machine
with a set of ad-hoc services and isolation
added. This would be a suitable solution in
getting the necessary features if resource-
restriction would make the first option
impossible.
A structure using native services with added
security and isolation. Right now there are
plenty of services implemented in Java. Since
this is not expected to change and our
platform can benefit greatly from using them,
transforming them to native services would be
compulsory. There is a need for a new set of
code transformation tools to be developed to
turn Java into native.
Future work will be done towards obtaining a
platform similar to OSGi in terms of dynamism and
modularity, but with an approach to resource-
friendliness similar to that of VirtualSense and
added security for its services.
REFERENCES
Apache Felix, Apache Felix. Available at: http://
felix.apache.org/.
Atzori, L., Iera, A. & Morabito, G., 2010. The Internet of
Things: A survey. Computer Networks, 54(15),
pp.2787–2805.
Bottaro, A. & Rivard, F., 2009. OSGi ME - An OSGi
Profile for Embedded Devices. , pp.1–16.
Broekhuis, A., 2010. Apache Celix Proposal. Available at:
http://wiki.apache.org/incubator/CelixProposal/.
Brouwers, N., Langendoen, K. & Corke, P., 2009.
Darjeeling , A Feature-Rich VM for the Resource
Poor. Proc. ACM Sensys.
Dunkels, A., Grönvall, B. & Voigt, T., 2004. Contiki - a
Lightweight and Flexible Operating System for Tiny
Networked Sensors. Proceedings of the First IEEE
Workshop on Embedded Networked Sensors (Emnets-
I).
Hugunin, J., 1997. Python and Java : The Best of Both
Worlds. Proceedings of the 6th International Python
Conference.
IS2T, STM32Java. Available at: http://
www.stm32java.com.
Kächele, S. et al., 2011. nOSGi A POSIX-Compliant
Native OSGi Framework. COMSWARE ’11. ACM.
Kriens, P., 2010. Minimal OSGi Systems. Available at:
http://blog.osgi.org/2010/10/minimal-osgi-
systems.html.
Lattanzi, E. & Bogliolo, A., 2012. VirtualSense: A Java-
Based Open Platform for Ultra-Low-Power Wireless
Sensor Nodes. International Journal of Distributed
Sensor Networks, 2012, pp.1–16.
Rellermeyer, J. S. & Alonso, G., 2007. Concierge : A
Service Platform for Resource-Constrained Devices.
ACM SIGOPS Operating Systems Review, 41(3).
Sun Microsystems, 2008. THE JAVA CARD
TM
3
PLATFORM. White Paper, (August).
The Eclipse Foundation, Eclipse Equinox. Available at:
http://eclipse.org/equinox.
The OSGi Alliance, OSGi. Available at: http://
www.osgi.org/.
The OSGi Alliance, 2011. OSGi Service Platform Core
Specification. , Release 4,(April).
TowardsaFlexibleandSecureRuntimeforEmbeddedDevices
173