Why the Need for Special Operating Systems for IoT and Wearable Devices?
1. Why the Need for Special Operating Systems for
IoT and Wearable Devices?
Vincent Perrier, Chief Products Officer, MicroEJ
vincent.perrier@microej.com
#IoTDevCon
www.iot-devcon.com
26 May 2016 1
2. About MicroEJ
• IS2T S.A. founded in 2004 – offices in France, Germany, USA
– $5M Series A funding end 2011 – $20M R&D total investment
– http://www.microej.com/about
• Independent Software Vendor, global player in the IoT industry
– Licenses: embedded (tools & runtime) + cloud (store)
– Professional services, training & consulting
• Expertise in embedded, virtualization, software engineering & processes
• Partnerships with key IoT, silicon, embedded SW and HW vendors, EMS
#IoTDevCon
26 May 2016 2
3. Embedded Devices
• Smart devices need to be able to acquire, compute and store data, and
perform several tasks
– Peripherals, processors (MCU, FPU, DSP), RAM, flash…
• Connected devices need to support many connectivity, communications and
security standards
– Physical/Link: 802.15.4, 868-902 MHz, 802.11, Bluetooth, cellular 2G/3G/4G…
– Network/Transport: Wi-Fi, 6LowPAN, TCP/UDP-IP, TLS/DTLS, ZigBee, Z-Wave…
• Interactive devices provide graphical and touch interface
– Graphical User Interface (GUI), Human-Machine Interface (HMI)
• Managed devices allow software content update and operations management
from the Cloud
– Over-The-Air (OTA) firmware update
– Device Management (DM)
• May use proprietary communication protocols over standard links
– Sensors, actuators, I/Os (GPIO, PWM, DAC/ADC, USB, I2C, SPI, UART…)
– Internet client/server (sockets)
26 May 2016 3
#IoTDevCon
4. IoT Devices
• IoT devices use standard frameworks and agents for communicating with
each other and connecting to services in the cloud that provide software
content and operations management
– TLS, HTTPS REST…
– Thread, AllJoyn, DDS, XMPP, AMQP, MQTT, CoAP, LWM2M…
• They leverage data streams and formats for cloud-based analytics
– XML, JSON…
• They may run multiple applications that can be dynamically downloaded
and installed/uninstalled (without FW update)
– User experience similar to smartphones/tablets = application store
26 May 2016 4
#IoTDevCon
5. IoT Edge-to-Cloud
26 May 2016 5
#IoTDevCon
• Should use standard communication protocols over standard links
HW
SW
GUI
Peripherals
Data
DM Agents
Apps GWY
Data
DM
Store
Download
6. • Embedded RTOS solutions have
efficiently addressed SW bring-up on
fragmented hardware by providing
vertical integration layers for each
combination (ISA/compiler/libs)
• But they may require integration
work for the BSP and native libraries
• They may not provide ready-to-use
solutions for enabling IoT and cloud-
ready SW capabilities
• Applications still need to be ported
from one vertical silo to another,
further fragmenting developers
communities
26 May 2016 6
#IoTDevCon
VERTICAL
INTEGRATION
Lib
App AppApp App
RTOS RTOS
Lib
?
Lib
Lib
Lib
?
?
API
API
Integrate
Develop
Integrate
API API API
Develop
Port
Fragmented HW
API API API
7. • The MicroEJ® Operating System
leverages the best of both worlds:
– The scalability of embedded
RTOS solutions for SW bring-up
– The large community of mobile &
PC developers for efficient SW
applications development
• It provides APIs both for
BSP/RTOS/libs integration and SW
app development
• It enables horizontal integration of
OS services thanks to a virtualization
layer that isolates application layers
from lib/RTOS/BSP/compiler/ISA
layers
26 May 2016 7
#IoTDevCon
RTOS RTOS RTOS
App AppApp App
API
RTOS
API API APIAPI
Develop.
HORIZONTAL
INTEGRATION
Virtualization
Fragmented HW
8. HW Virtualization Layer
26 May 2016 8
#IoTDevCon
ADVANTAGES HOW:
Hardware independence
• True Portability of BINARY SW across HW (no
recompilation needed)
Micro-Virtualization layer (30KB)
• Formal Separation between HW-dependent-SW and
HW-independent-SW
Safe SW programming & execution Build & runtime checks, Sandboxing
Full set of SW foundation blocks High-level API & stacks
Secured investments
• Legacy code integration
Multi-language support: Java, C/C++ / ASM
Future-proof
• SW updates
• New SW downloads
Multi-application framework
• Build-time configuration
• Run-time add-ons
HW1 HW2 HW3
SW
MicroEJ Operating System
HW dependent SW
HW independent SW
9. MicroEJ OS
26 May 2016 9
#IoTDevCon
Platform
OPERATING SYSTEM
BSP/DRIVERS
TARGET HARDWARE
APPLICATIONS
APP 1 APP 2 APP 3 APP 4 …
CORE
Secure Multi-Application Engine
CORE
Memory Management
CORE
Languages/Utilities/Test
CORE
CPU & Power Management
CORE
Components Management
IO
Sensors/Actuators/GPIO
COMM
Connectivity Wired/Wireless
STORE
Application Management
NUM
Numerical Methods
FILE & DATA
Persistence/File System
GUI
Graphics/Touch
NET & SEC
Network Protocols & Security
IOT
IoT/Cloud Middleware
10. MicroEJ OS Foundations
HW Foundations
• MCU/MPU/SoC architectures and
starter kits
– ARM Cortex M/A
– MIPS, RX, PowerPC, TriCore…
SW Foundations
• Hardware-dependent Software
– Bare metal/any RTOS
– BSP, drivers, libraries
• Native SW SDKs
26 May 2016 10
#IoTDevCon
11. End-to-End IoT
• MicroEJ enables secured cloud-based services
26 May 2016 11
#IoTDevCon
IOT DEVICES
SW CONTENT
MANAGEMENT
DEVICE
MANAGEMENT
DATA
ANALYTICS
GATEWAY P
P
MicroEJ Partners
OS
STORE
OS
P
12. OS for IoT
26 May 2016 12
#IoTDevCon
RTOS Linux
MPU (>$10 ASP)MCU ($1-6 ASP)
Volumes
75%
IoT = “sub-gig” things:
• Processor < GHz
• Memory < GB
25%
SW Foundation
13. Thank You
• General information
– www.microej.com
• MicroEJ SDK free evaluation for OEMs
– www.microej.com/get-started
• Free MicroEJ Studio for application developers
MicroEJ Application Store
– store.microej.com
• Developer’s Community (source, doc, examples…)
– developer.microej.com
• Contact us
– contact@microej.com
26 May 2016 13
#IoTDevCon
All rights reserved.
Information, technical data and tutorials contained in this document are proprietary under copyright Law of Industrial Smart Software Technology (IS2T S.A.) operating under the brand name MicroEJ®.
Without written permission from IS2T S.A., copying or sending parts of the document or the entire document by any means to third parties is not permitted. Granted authorizations for using parts of
the document or the entire document do not mean IS2T S.A. gives public full access rights.
IS2T®, MicroEJ® and all relative logos are trademarks or registered trademarks of IS2T S.A. in France and other Countries.
Java™ is Sun Microsystems' trademark for a technology for developing application software and deploying it in cross-platform, networked environments. When it is used in this documentation without
adding the ™ symbol, it includes implementations of the technology by companies other than Sun.
Java™, all Java-based marks and all related logos are trademarks or registered trademarks of Sun Microsystems Inc., in the United States and other Countries.
Other trademarks are proprietary of their respective owners.