1. Introduction

Smart Object Oriented (SOO) technology is the result of many years of research and development in the field of embedded systems including hardware and software topics such as ARM microcontrollers, System-on-Module integration, operating systems and software virtualization. All this work has been and is being realized at REDS (Reconfigurable Embedded Digital Systems) Institute from HEIG-VD.

The SOO framework has been released publicly on Gitlab in March 2020 under the GPLv2 Licence.

People are encouraged to visit our dedicated forum and to contribute.

1.1. History

In early 2014, Prof. Daniel Rossier introduced the notion of Smart Object in the context of SOO technology based on the paradigm of self-migration of running in-execution (live) environments.

The idea is to address numerous technical challenges which are common to connected devices such as the deployment of new applications and their maintenance in embedded systems, wireless connectivity in preferably very scalable networks, highly secure execution environments, low power consumption and cost-effective hardware, etc. but above all, simple mechanisms to establish dynamic online synergies between applications themselves, in other words between execution environments which are visiting smart objects.

The SOO technology strongly relies on various low-level operating system concepts and embedded virtualization technics which play a fundamental role in this framework. In this context, Linux and XEN have been a source of inspiration at many levels.

Prof. Rossier’s team was among the first people who tried to port XEN hypervisor on an ARM embedded system; at the same time, Samsung also started such a work with an emphasis on security aspects (they run XEN on Freescale iMX21 boards). REDS published in 2012 its EmbeddedXEN framework including results from a joint collaboration with Logitech which consisted to deploy two OS on an HTC smartphone, an Android OS and the SqueezeBox Touch operating system as the second OS, both OS sharing the same hardware resources. This work was presented in San Diego during the XenSummit’12. A demonstration on YouTube and a white paper are also available.

One major evolution of this framework was to integrate the migration paradigm. It gave birth to the SOO technology in early 2014 and it was then possible to have a full Linux running environment migrating from one device to another in a constant way. The migrating environment - aka ME - Mobile Entity - is now based on SO3, a lightweight operating system fully developed in the REDS Institute.

As we can see, embedded virtualization on ARM devices still remains a hot research topic inside REDS, with the perspective to promote and to develop fully decentralized and automous systems with a major concern on wireless communication and security.

Further details can also be found in this blog dedicated to SOO.

1.2. Main Conceptual Components

The two essential components of the framework are the Agency and the Mobile Entity.

The Agency (agency) is the part of software which resides permanently within a smart object device while the Mobile Entity (ME) is the part of software which migrates from one smart object (SOO) to another SOO.