why the need for special operating systems for iot and wearable devices?
TRANSCRIPT
Why the Need for Special Operating Systems for IoT and Wearable Devices?
Vincent Perrier, Chief Products Officer, [email protected]
#IoTDevCon
www.iot-devcon.com
26 May 2016 1
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
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
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
IoT Edge-to-Cloud
26 May 2016 5
#IoTDevCon
• Should use standard communication protocols over standard links
HW
SW
GUI
Peripherals
Data
DM AgentsApps GWY
Data
DM
Store
Download
• 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
VERTICALINTEGRATION
Lib
App AppApp App
RTOS RTOS
Lib
?
Lib
Lib
Lib
?
?
API
API
Integrate
DevelopIntegrate
API API API
DevelopPort
Fragmented HW
API API API
• 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 virtualizationlayer 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.
HORIZONTALINTEGRATION
Virtualization
Fragmented HW
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
MicroEJ OS
26 May 2016 9
#IoTDevCon
Platform
OPERATING SYSTEM
BSP/DRIVERS
TARGET HARDWARE
APPLICATIONS
APP 1 APP 2 APP 3 APP 4 …
CORESecure Multi-Application Engine
COREMemory Management
CORELanguages/Utilities/Test
CORECPU & Power Management
COREComponents Management
IOSensors/Actuators/GPIO
COMMConnectivity Wired/Wireless
STOREApplication Management
NUMNumerical Methods
FILE & DATAPersistence/File System
GUIGraphics/Touch
NET & SECNetwork Protocols & Security
IOTIoT/Cloud Middleware
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
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 PP
MicroEJ Partners
OS
STORE
OS
P
OS for IoT
26 May 2016 12
#IoTDevCon
RTOS Linux
MPU (>$10 ASP)MCU ($1-6 ASP)
Vo
lum
es
75%IoT = “sub-gig” things:• Processor < GHz• Memory < GB
25%
SW Foundation
Thank You
• General information
– www.microej.com
• MicroEJ SDK free evaluation for OEMs
– www.microej.com/get-started
• Free MicroEJ Studio for application developersMicroEJ Application Store
– store.microej.com
• Developer’s Community (source, doc, examples…)
– developer.microej.com
• Contact us
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.