Standards for the Future of Java Embedded Werner Keil
Dec 01, 2014
Standards for the Future of Java EmbeddedWerner Keil
Overview
• Introduction•Sensors
• Historic IT Errors and Bugs• UOMo, Unit-API, UCUM• Sensor Web, SensorML
• M2M• Use Cases, Framework, Protocols, Tools
•NFC• eNFC, Use Cases
•Security• TPM, TEE, Secure Element, Java Card
•New Embedded JSRs•Q&A2 © 2007-2013 Creative Arts & Technologies
Who am I?
3 © 2007-2013 Creative Arts & Technologies
Werner Keil
• Consultant – Coach
• Creative Cosmopolitan
• Open Source Evangelist
• Software Architect
• Java Godfather
• JCP Executive Committee Member
• Eclipse UOMo Project Lead
• JSR 360/361 EG Member, …
Twitter @wernerkeil
Java Godfather?
4 © 2007-2012 Creative Arts & Technologies
Type-Safety
•Java does not have strongly typed primitive types (like e.g. Ada or Smalltalk).
• This is likely to change around Java 9 or 10 (based on Oracle Road Map and statements)
•For performance reasons most developer prefer primitive types over objects in their interface.
•Primitives type arguments can more easily lead to name clashes (methods with the same signature)
5 © 2007-2012 Creative Arts & Technologies
What do these disasters have in common?•Patriot Missile
The cause was an inaccurate calculation of the time since boot due to a computer arithmetic error.
•Ariane 5 ExplosionFloating point number which a value was converted from had a value greater than what would be represented by a 16 bit signed integer.
• Gimli Glider (near disaster)Fuel loading was miscalculated through misunderstanding of the recently adopted Metric System, replacing the Imperial System
6 © 2007-2013 Creative Arts & Technologies
•Mars Orbiter Preliminary findings indicate that one team used US/English units (e.g. inches, feet and pounds) while the other used metric units for a key spacecraft operation.
• NASA lost a $125 million Mars orbiter because a Lockheed Martin engineering team used English units of measurement while the agency's team used the more conventional metric system for a key spacecraft operation
• A credible source disclosed, there was a manual step with an outsourced person to convert these calculations between the different teams, and NASA budget cuts caused them to fire him and have the wrong, unpatched data transmitted!!!
• This also underlines the added risk when 3rd party contractors are involved or projects are developed Offshore
What do these disasters have in common?
7 © 2007-2012 Creative Arts & Technologies
What do these disasters have in common?
8 © 2007-2012 Creative Arts & Technologies
23rd March 1983. Ronald Reagan announces SDI (or “Star Wars”): ground-based and space-based systems to protect the US from attack by strategic nuclear ballistic missiles.
NASA “Star Wars” Initiative, 1983
9 © 2007-2012 Creative Arts & Technologies
1985
Mirror on underside of shuttle
SDI Experiment: The Plan
Big mountain in Hawaii
10 © 2007-2012 Creative Arts & Technologies
1985
SDI Experiment: What really happened
11 © 2007-2012 Creative Arts & Technologies
12 © 2007-2013 Creative Arts & Technologies
1985: Why it happened?
Unit Tests wouldn‘t find these…
•All previous example illustrate three categories of errors difficult to find through Unit Testing:
• Interface Errors (e.g. millisecond/second, radian/degree, meters/feet).
• Arithmetic Errors (e.g. overflow).
• Conversion Errors.
Despite their name
13 © 2007-2012 Creative Arts & Technologies
Causes of Conversion Errors
•Ambiguity on the unit• Gallon Dry / Gallon Liquid
• Gallon US / Gallon UK
• Day Sidereal / Day Calendar
• Degree Celsius / Degree Fahrenheit• Did you know that Gabriel Fahrenheit was born in Gdansk (Danzig) in
northern Poland?
• ...
•Wrong conversion factors:static final double PIXEL_TO_INCH = 1 / 72;
double pixels = inches * PIXEL_TO_INCH
14 © 2007-2012 Creative Arts & Technologies
ALL OF THEM HAPPENED IN MOBILE, REAL TIME OR EMBEDDED SYSTEMS!
What else do they have in common?
15 © 2007-2012 Creative Arts & Technologies
Measurement Package
• Namespace: org.osgi.util.measurement
• SI only Unit API “in the closet”• Unit
Essentially an SI singleton holding relevant unit constants, too.• Measurement
Represents a value with an error, a unit and a time-stamp. • State
Groups a state name, value and timestamp.
• Some usage, especially in Automotive
► no further development by OSGi
OSGi
16 © 2007-2011 Creative Arts & Technologies
Mobile Sensor API
• Namespace: javax.microediton.sensor*
• Focusing on Sensors, but it got a minimalistic Unit API “in the closet”
• UnitEssentially an SI singleton holding relevant unit constants, too.
• ChannelInfoHolding name, accuracy, data type,measurement ranges, scale and unit
• MeasurementRangeRange of possible values from minimum to maximum
► Dead on Arrival (few actual handsets and no vendors except Nokia still use it, nor does Oracle/Java ME Embedded)
JSR-256
17 © 2007-2013 Creative Arts & Technologies
Base Classes and Packages
•Namespace: javax.measure.*
•Only one interface and one abstract class• Measurable<Q extends Quantity> (interface)
• Measure<V, Q extends Quantity> (abstract class)
•Three sub-packages• unit (holds the SI and NonSI units)
• quantity (holds dimensions mass, length)
• converter (holds unit converters)
JSR-275
18 © 2007-2011 Creative Arts & Technologies
Units of Measurement API
•Namespace: org.unitsofmeasurement.*
•Only interfaces (and exception classes)• public interface Quantity<Q extends Quantity<Q>>
• public interface Unit<Q extends Quantity<Q>>
•Three sub-packages• quantity (holds dimensions mass, length)
• unit(holds units)
• service (OSGi services)
The King is Dead…
19 © 2007-2012 Creative Arts & Technologies
Eclipse UOMo
One Small Step…
One Unit Framework to Measure them All
•Namespace: org.eclipse.uomo.*
•Two main areas• Static Type Safe Units of Measure Support
• Based on Units of Measurement API
• On top of ICU4J, the Globalization standard at Eclipse and others (Android, GWT, Google Financial, etc.)
• Prime UCUM Implementation• Successor to Eclipse OHF UCUM Bundle
Eclipse UOMo
21 © 2007-2012 Creative Arts & Technologies
Unified Code for Units of Measure
The Unified Code for Units of Measure is inspired byand heavily based on
• ISO 2955-1983
• ANSI X3.50-1986
• HL7's extensions called ISO+
UOMo UCUM
22 © 2007-2012 Creative Arts & Technologies
JSR 354 Implementation
“Sisu” equivalent for 354 if you want
• ICU4J based implementation of
• CurrencyUnit
• MonetaryAmount
• CurrencyConverter
• ExchangeRate• …
• Bridge to Unit-API where possible for cross-quantity arithmetic (e.g. “$ per gram CO² per mile”)
UOMo Business
23 © 2007-2013 Creative Arts & Technologies
Slide by NASA
Sensor Web | What is it?
“A coordinated observation infrastructure composed of a distributed collection of resources that can collectively behave as a single, autonomous, task-able, dynamically adaptive and reconfigurable observing system that provides raw and processed data, along with associated meta-data, via a set of standards-based service-oriented interfaces.” (Glenn, 2007)
25 © 2007-2012 Creative Arts & Technologies
Sensor Web | What is it?
OGC O&M Observations & Measurements Approved
SensorML Sensor Model Language Approved
TransducerML Transducer Model Language Approved
OGC SOS Sensor Observations Service Approved
OGC SPS Sensor Planning Service Approved
OGC SAS Sensor Alert Service In progress
OGC WNS Web Notification Services In progress
Sensor Web | OpenGIS Standards
• SW Enablement working group at OGC have developed a number of standards governing different aspects of Sensor Web
26 © 2007-2012 Creative Arts & Technologies
27
Sensor Web | What is the OGC?
• Not-for-profit• International industry consortium • Founded 1994, currently 340+ members• Open Standards development by consensus process
OGC Mission
To lead in the development, promotion and harmonization of open spatial standards …
27 © 2007-2012 Creative Arts & Technologies
Sensor Web | Mozambique floods
•The task under study is floods in different parts of the world
•Particular test case was flooding of Mozambique
28 © 2007-2012 Creative Arts & Technologies
Sensor Web | Weather Predictiondata
EUMetCastReceiving facility
EUMetCastEARS-AVHRR
EARS-ATOVS
Internet
MSG
NOMADS LAADS
Data assimilationsubsystem
NOMADSadapter
LAADSadapter
MO
DIS
GF
S
Access node
Computational clusters
Grid of SRIof NASU-NSAU
Visualization subsystemUMN
MapServer
Internet
OpenLayers
Meteorology subsystem
WRFSI WRF
Processing subsystem
SeaDASP, U10, V10
Users ofmonitoring system
29 © 2007-2012 Creative Arts & Technologies
SensorML
• Sensor modeling language is the cornerstone of all SW services
• It provides comprehensive description of sensor parameters and capabilities
• It can be used for describing different kind of sensors:– Stationary or dynamic– Remote or in-situ– Physical measurements or simulations
30 © 2007-2012 Creative Arts & Technologies
SensorML | Example..............<inputs> <InputList> <input name="ambiantTemperature"> <swe:Quantity definition= "urn:ogc:def:phenomenon:temperature"/> </input> <input name="atmosphericPressure"> <swe:Quantity definition= "urn:ogc:def:phenomenon:pressure"/> </input> <input name="windSpeed"> <swe:Quantity definition= "urn:ogc:def:phenomenon:windSpeed"/> </input></InputList></inputs>..............
.............<outputs> <OutputList> <output name="weatherMeasurements"> <swe:DataGroup> <swe:component name="time"> <swe:Time definition="urn:ogc:def:phenomenon:time“ uom="urn:ogc:def:unit:iso8601"/> </swe:component> <swe:component name="temperature"> <swe:Quantitydefinition="urn:ogc:def:phenomenon:temperature uom="urn:ogc:def:unit:celsius"/> </swe:component> <swe:component name="barometricPressure"> <swe:Quantity definition="urn:ogc:def:phenomenon:pressure“ uom="urn:ogc:def:unit:bar" scale="1e-3"/> </swe:component> <swe:component name="windSpeed"> <swe:Quantity definition="urn:ogc:def:phenomenon:windSpeed“ uom="urn:ogc:def:unit:meterPerSecond"/> </swe:component> </swe:DataGroup> </output> </OutputList></outputs>.............
31 © 2007-2012 Creative Arts & Technologies
Demo
Estimated Number of Active Cellular M2M Connected
Devices 2010 to 2020
Source: Machina Research, July 2011
1. New connected devices, applications and services
2. Lower system costs
3. Simplified development
4. Network operator focus and investment
M2M | Outlook
33 © 2007-2012 Creative Arts & Technologies
Key Trends
Transportation & Logistics Logistics
Medical &
Healthcare
Industrial &
EnergyCommunication
Infrastructure
Security & Surveillance
Public/Private Cloud Deployment Infrastructures
Internetof Things
M2M | Integrated Processes
34 © 2007-2012 Creative Arts & Technologies, Eclipse Foundation
Medical Services Gateway
Communication
Infrastructure
Smart
Pill
Boxes
Heartbeat
Sensor
Weight
Scales
Blood
Pressure
Medical
Smart
Services
Gateway
Near field
Blood
Sugar
Internetof Things
35 © 2007-2012 Creative Arts & Technologies, Eclipse Foundation
M2M | Vertical Market Scenarios
Logistic Services Gateway
Communication
Infrastructure
Handheld &
Wearable
Devices
RFID
Readers
Medical
Smart
Services
Gateway
Smart Container
Internetof Things
36 © 2007-2012 Creative Arts & Technologies, Eclipse Foundation
M2M | Vertical Market Scenarios
Open ecosystem for M2M
Third Party Ecosystem
Open M2M applicationframework and runtimesOpen M2M application
framework and runtimes
Open M2M communication protocols
Open M2M communication protocols
Internet of
Things
Open M2Mdevelopment tools
Open M2Mdevelopment tools
…
37 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
protocolsframework tools
Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.038
hardware abstraction
server communication
application container
scripting engine
framework toolsprotocols
Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.039
framework protocols
unreliable
networks
limited
bandwidth
semantics tools
Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.040
toolsframework protocols
develop
simulat
e
debug
deploy
Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 4141
■ MQTT == MQ Telemetry Transport
■ In a nutshell
“A light weight event and message oriented protocol allowing devices to asynchronously communicate efficiently across constrained networks to remote systems”
MQTT in a Nutshell
42 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
A Publish Subscribe messaging protocol allowing a message to be published once and multiple consumers (applications / devices) to receive the message providing decoupling between the producer and consumer(s)
A producer sends (publishes) a message (publication) on a topic (subject)A consumer subscribes (makes a subscription) for messages on a topic (subject)
A message server / broker matches publications to subscriptions • If no matches the message is discarded• If one or more matches the message is delivered to each matching subscriber/consumer
MQTT - Publish Subscribe Messaging
43 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
NFC
44 © 2007-2013 Creative Arts & Technologies
NFC | StatsRegistered Mobile devices worldwide (Millions)
45 © 2007-2012 Creative Arts & Technologies
• eNFC (enhanced NFC): Fully compliant NFC technology enhanced by ISO 14443B and ISO 15693 standards on chip emulation side
• eNFC is compatible with all existing and future application using contactless technology
Reader or DeviceCommunication
Chip emulationCommunication
ISO 14443-B
ISO 15693
ISO 14443-B
ISO 15693
ISO 14443-A
Sony (Type C)
ISO 14443-A
Sony (Type C)
eNFC
NFC-2(ECMA 352)
NFC(ECMA340)
NFC | What is eNFC?
46 © 2007-2012 Creative Arts & Technologies
> Exchange photos
> Get your e-ticket
> Pay without cash
> Redeem coupons
> Get your Receipt
NFC
> Pass the gate
> Read a map from interactive billboard
NFC
NFC
47 © 2007-2012 Creative Arts & Technologies
NFC | Use Cases
Chiuaua Driving License: ISO 15693
Toronto Payment: ISO 14443-B & ISO 15693
Sao Paulo Transport: ISO 14443A
Singapore Transport : Felica, ISO 14443B
Paris Transport : ISO 14443B
Tokyo Transport:FelicaTM
London Transport : ISO 14443A
San Francisco Transport: ISO 14443B
Shenzen Transport : ISO 14443BHong Kong Transport: FelicaTM
Seoul Transport : ISO 14443A
Japan ID Card: ISO 14443B
US Payment: ISO 14443-B & ISO 14443A
US Access Control: ISO 15693
Pakistan Passport: ISO 14443B
New Delhi Transport:FelicaTM
NFC | Where to use this technology
Dubai RTA
Copenhagen Public Transport (Rejsekort), SAS Smart Pass
Moscow, St. Petersburg Metro
48 © 2007-2013 Creative Arts & Technologies
Open NFC interfaces can be classified at different levels, from very high-level interfaces that greatly simplify the usual tasks of NFC applications, to very low-level interfaces that allow fine tuning of NFC hardware parameters for example.
High Level Interfaces:• NDEF Messages• Bluetooth and Wi-Fi pairing• Read / Write to any tag• P2P• Virtual Tags
NFC | Open NFC™
49 © 2007-2012 Creative Arts & Technologies
Starting Open NFC 4.3.0, the support for Java porting for JSR-257 devices is discontinued. Older releases of the stack were fully compliant with the JSR-257 standard.
► Android Edition is currently the only one actively maintained with Java Binding!
Security | Possible Usage Scenarios
•Keep close control of software on a system
•Protect kiosk Computers (ATMs..) software from manipulations such as installing a key sniffer
•Strongly identify a machine and its software configuration in online banking or Pizza delivery
•Protect IP in the Cloud
50 © 2007-2012 Creative Arts & Technologies, IAIK
Security | To Catch A Thief
51 © 2007-2012 Creative Arts & Technologies
Security | Trusted Platforms
• Measure the software executed• Store data securely• Report their status
and feature a hardware TPM an advanced BIOS or chipset a set of Trusted Computing
Software
52 © 2007-2012 Creative Arts & Technologies, IAIK
Security | JSR - 321
53 © 2007-2012 Creative Arts & Technologies, IAIK
Security | TEE
• TEE provides hardware-based isolation from rich operating systems (OS) such as Android, Windows Phone, Symbian, etc.
• TEE runs on the main device chipset
• TEE has privileged access to device resources (user interface, crypto accelerators, secure elements…).
Hardware Platform
Rich OS Application Environment
Rich OS
Trusted Execution Environment
Trusted CoreEnvironment
GlobalPlatformTEEInternalAPI
TrustedFunctions
Payment Corporate
Client Applications
TrustedApplication
DRM
TrustedApplication
Payment
TrustedApplicationCorporate
HW Secure Resources
GlobalPlatformTEE Internal
TEE Kernel
API
GlobalPlatform TEE Client API
Open to malware and rooting / jailbreaking
Isolation of sensitive assets
54 © 2007-2012 Creative Arts & Technologies, Global Platform
What is a Trusted Execution Environment (TEE)?
09.04.2023
• EMV applications and their data shall be always stored in a secure area of a handset – in a secure element
• Secure element is a smart card chip• Currently 3 approaches:
• SIM-centric: Secure Element is (in) USIM – payment applications are stored on a USIM card
• Embedded secure element – additional smart card chip integrated in a mobile phone (e.g. Samsung NEXUS S)
• External secure element (e.g. smart card chip integrated in a Micro SD card)
• Application management ‘over-the-air’
Security | Secure Element
Interoperable platform for delivery of trusted personal services
High, industry-proven security Designed for the smallest silicon
hardware devices Runs Java in as little as 4 KB RAM
Deployed on >5 billion devices Growing at 1.4 bill. Devices p. year SIM Cards, secure elements, eID,
payment services
Secure, Connected, VersatileSecurity | Java Card Technology
56 © 2011, Oracle and/or its affiliates. All Rights Reserved.
Security | Java Card Technology
57 © 2007-2012 Creative Arts & Technologies
• 2 new JSRs for Mobile and Embedded approved
• JSR-360: CLDC 8• CLDC 8 is an evolutionary update to CLDC 1.1.1 to bring
the VM, Java Language, and libraries up to date with Java SE 8. Just finished EDR
• More: http://java.net/projects/jsr360/pages/Home
• JSR-361: Java ME Embedded Profile• Update IMP(-NG) to align with state-of-the-art features and current
embedded device market requirements.• More: http://java.net/projects/jsr361/pages/Home• Feel free to join the EG if you are JCP member or want to join
Embedded Standards | JSR-360, 361
58 © 2007-2013 Creative Arts & Technologies
Platform Footprint
Device CPU/GPU/I-O
ARM 7 Cortex M ARM9/11 MIPS32/Intel Atom/ARM CortexA/PPC
50KB-1MB
1MB-10MB
10MB-100MB
Java ME
Java SE
Java Card
Java Technology for Embedded Devices
59 © 2013, Oracle and/or its affiliates. All Rights Reserved.
Source: http://www.keil.com/mcbstm32f200/
• MCBSTM32F200• Core: STM32F207IG ARM Cortex™-M3• Frequency: 120MHz • On-Chip Memory: 1MB Flash & 128KB RAM• External Memory: 8MB NOR Flash, 512MB NAND Flash,
2MB SRAM, 8KB I2C EEPROM with NFC interface• Display: 2.4 inch Color QVGA TFT LCD with resistive
touchscreen• Power: via USB (micro) connectors or Power jack (8V-12V)• Peripherals: Ethernet, USB 2.0 & USB Host, CAN, Serial/UART,
MicroSD, 5-position Joystick, 3-axis digital Accelerometer, 3-axis digital Gyroscope, ADC Input, Audio Line-In/Out, Digital Microphone, Digital VGA Camera
• Debug Interface: JTAG
CLDC 8 | Sample target device
60 © 2013, Oracle and/or its affiliates. All Rights Reserved.
• Scope of “Embedded” has grown heavilysince the times of IMP and IMP-NG
• New capabilities = New Requirements
• Optionality High-end devices with sophisticated features
vs. Low-end modules with huge number of units,
very limited memory and the necessity to be cheap
Provisioning not always a MUST
• Long-life remote operation
• Separate HW / SW dependenceSmall Embedded
61 © 2013, Oracle and/or its affiliates. All Rights Reserved.
Java™ ME Embedded Profile (MEEP)
• New Line-oriented Display API Event Management (adopted from MIDP 3) Power Management Cellular Network Management Extended SW (Application) Management Inter-Application Communication (adopted from MIDP 3) Services Concurrency and LIBlets (as in MIDP 3)
• Improved Record Management System (RMS) Application Lifecycle
62 © 2013, Oracle and/or its affiliates. All Rights Reserved.
MEEP | Features and Packages
Q & A
Eclipse – Project UOMo
http://www.eclipse.org/uomo/
Units of Measurement API
http://www.unitsofmeasurement.org
UCUM
http://www.unitsofmeasure.org
Links
Eclipse – M2M IWG
http://m2m.eclipse.org/
Open Geospatial Consortium
http://www.opengeospatial.org
Java Community Process
http://www.jcp.org
Links (2)
Contact
or
Twitter: @wernerkeil
Hashtag #EclipseUOMo