Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

geecon 2013 - Standards for the Future of Java Embedded


Published on

This session highlights how Java Embedded can play a role in the Internet of Things and Distributed Sensor Web as well as related technologies like Smart Home or Automotive. We demonstrate how existing Java standards like JSR 256 (Mobile Sensor API) can be modernized and improved towards a new generation of Java Embedded and Mobile. Taking technologies like the IEEE 1451 "Smart Sensor" standard into consideration, as well as OGC standards like SensorML or The Unified Code for Units of Measurement (UCUM) allowing type and context safe data transfer using various formats and protocols, whether it is XML, JSON or specific M2M protocols like MQTT as well as new JSRs like 360 (CLDC 8) and 361 (Java ME Embedded)

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

geecon 2013 - Standards for the Future of Java Embedded

  1. 1. Standards for the Future ofJava EmbeddedWerner Keil
  2. 2. 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
  3. 3. Who am I?3 © 2007-2013 Creative Arts & TechnologiesWerner 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
  4. 4. Java Godfather?4 © 2007-2012 Creative Arts & Technologies
  5. 5. Type-Safety•Java does not have strongly typed primitivetypes(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 developerprefer primitive types over objects in theirinterface.•Primitives type arguments can more easilylead to name clashes (methods with the samesignature)5 © 2007-2012 Creative Arts & Technologies
  6. 6. What do these disasters have incommon?•Patriot MissileThe cause was an inaccurate calculation of the time since boot dueto a computer arithmetic error.•Ariane 5 ExplosionFloating point number which a value was converted from had avalue greater than what would be represented by a 16 bit signedinteger.• Gimli Glider (near disaster)Fuel loading was miscalculated throughmisunderstanding of the recently adoptedMetric System, replacing the Imperial System6 © 2007-2013 Creative Arts & Technologies
  7. 7. • Mars OrbiterPreliminary findings indicate that one team used US/Englishunits (e.g. inches, feet and pounds) while the other usedmetric units for a key spacecraft operation.• NASA lost a $125 million Mars orbiter because a Lockheed Martin engineeringteam used English units of measurement while the agencys team used themore conventional metric system for a key spacecraft operation• A credible source disclosed, there was a manual step with an outsourcedperson to convert these calculations between the different teams, and NASAbudget cuts caused them to fire him and have the wrong, unpatched datatransmitted!!!• This also underlines the added risk when 3rd party contractors are involved orprojects are developed OffshoreWhat do these disasters have incommon?7 © 2007-2012 Creative Arts & Technologies
  8. 8. What do these disasters have incommon?8 © 2007-2012 Creative Arts & Technologies
  9. 9. 23rd March 1983. Ronald Reaganannounces SDI (or “Star Wars”):ground-based and space-basedsystems to protect the US from attackby strategic nuclear ballistic missiles.NASA “Star Wars” Initiative, 19839 © 2007-2012 Creative Arts & Technologies
  10. 10. 1985Mirror on undersideof shuttleSDI Experiment:The PlanBig mountain in Hawaii10 © 2007-2012 Creative Arts & Technologies
  11. 11. 1985SDI Experiment:What reallyhappened11 © 2007-2012 Creative Arts & Technologies
  12. 12. 12 © 2007-2013 Creative Arts & Technologies1985: Why it happened?
  13. 13. Unit Tests wouldn„t find these…• All previous example illustrate three categories oferrors 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 name13 © 2007-2012 Creative Arts & Technologies
  14. 14. 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) innorthern Poland?• ...• Wrong conversion factors:static final double PIXEL_TO_INCH = 1 / 72;double pixels = inches * PIXEL_TO_INCH14 © 2007-2012 Creative Arts & Technologies
  15. 15. ALL OF THEM HAPPENED INMOBILE, REAL TIME OREMBEDDED SYSTEMS!What else do they have in common?15 © 2007-2012 Creative Arts & Technologies
  16. 16. Measurement Package• Namespace: org.osgi.util.measurement• SI only Unit API “in the closet”• UnitEssentially an SI singleton holding relevant unit constants, too.• MeasurementRepresents a value with an error, a unit and a time-stamp.• StateGroups a state name, value and timestamp.• Some usage, especially in Automotive► no further development by OSGiOSGi16 © 2007-2011 Creative Arts & Technologies
  17. 17. Mobile Sensor API• Namespace: javax.microediton.sensor*• Focusing on Sensors, but it got a minimalistic Unit API “in thecloset”• 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 vendorsexcept Nokia still use it, nor does Oracle/Java ME Embedded)JSR-25617 © 2007-2013 Creative Arts & Technologies
  18. 18. 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-27518 © 2007-2011 Creative Arts & Technologies
  19. 19. 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
  20. 20. Eclipse UOMoOne Small Step…
  21. 21. 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 Eclipseand others (Android, GWT, Google Financial, etc.)• Prime UCUM Implementation• Successor to Eclipse OHF UCUM BundleEclipse UOMo21 © 2007-2012 Creative Arts & Technologies
  22. 22. Unified Code for Units of MeasureThe Unified Code for Units of Measure is inspired byand heavily based on• ISO 2955-1983• ANSI X3.50-1986• HL7s extensions called ISO+UOMo UCUM22 © 2007-2012 Creative Arts & Technologies
  23. 23. JSR 354 Implementation“Sisu” equivalent for 354 if you want• ICU4J basedimplementation of• CurrencyUnit• MonetaryAmount• CurrencyConverter• ExchangeRate• …• Bridge to Unit-API where possible for cross-quantityarithmetic (e.g. “$ per gram CO² per mile”)UOMo Business23 © 2007-2013 Creative Arts & Technologies
  24. 24. Slide by NASASensor Web | What is it?
  25. 25. “A coordinated observation infrastructure composed of a distributed collectionof resources that can collectively behave as a single, autonomous, task-able,dynamically adaptive and reconfigurable observing system that provides rawand processed data, along with associated meta-data, via a set of standards-based service-oriented interfaces.” (Glenn, 2007)25 © 2007-2012 Creative Arts & TechnologiesSensor Web | What is it?
  26. 26. OGC O&M Observations & Measurements ApprovedSensorML Sensor Model Language ApprovedTransducerML Transducer Model Language ApprovedOGC SOS Sensor Observations Service ApprovedOGC SPS Sensor Planning Service ApprovedOGC SAS Sensor Alert Service In progressOGC WNS Web Notification Services In progressSensor Web | OpenGIS Standards• SW Enablement working group at OGC havedeveloped a number of standards governingdifferent aspects of Sensor Web26 © 2007-2012 Creative Arts & Technologies
  27. 27. 27Sensor Web | What is the OGC?• Not-for-profit• International industry consortium• Founded 1994, currently 340+ members• Open Standards development by consensus processOGC MissionTo lead in the development, promotion andharmonization of open spatial standards …27 © 2007-2012 Creative Arts & Technologies
  28. 28. Sensor Web | Mozambique floods•The task under study is floods indifferent parts of the world•Particular test case was flooding ofMozambique28 © 2007-2012 Creative Arts & Technologies
  29. 29. Sensor Web | Weather PredictiondataEUMetCastReceiving facilityEUMetCastEARS-AVHRREARS-ATOVSInternetMSGNOMADS LAADSData assimilationsubsystemNOMADSadapterLAADSadapterMODISGFSAccess nodeComputationalclustersGrid of SRIof NASU-NSAUVisualization subsystemUMNMapServerInternetOpenLayersMeteorologysubsystemWRFSI WRFProcessing subsystemSeaDASP, U10, V10Users ofmonitoring system29 © 2007-2012 Creative Arts & Technologies
  30. 30. SensorML• Sensor modeling language is the cornerstoneof all SW services• It provides comprehensive description ofsensor parameters and capabilities• It can be used for describing different kind ofsensors:– Stationary or dynamic– Remote or in-situ– Physical measurements or simulations30 © 2007-2012 Creative Arts & Technologies
  31. 31. 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:Timedefinition="urn:ogc:def:phenomenon:time“uom="urn:ogc:def:unit:iso8601"/></swe:component><swe:component name="temperature"><swe:Quantitydefinition="urn:ogc:def:phenomenon:temperatureuom="urn:ogc:def:unit:celsius"/></swe:component><swe:component name="barometricPressure"><swe:Quantitydefinition="urn:ogc:def:phenomenon:pressure“uom="urn:ogc:def:unit:bar" scale="1e-3"/></swe:component><swe:component name="windSpeed"><swe:Quantitydefinition="urn:ogc:def:phenomenon:windSpeed“uom="urn:ogc:def:unit:meterPerSecond"/></swe:component></swe:DataGroup></output></OutputList></outputs>.............31 © 2007-2012 Creative Arts & Technologies
  32. 32. Demo
  33. 33. Estimated Number of ActiveCellular M2M ConnectedDevices 2010 to 2020Source: Machina Research, July 20111. New connected devices,applications and services2. Lower system costs3. Simplified development4. Network operator focus andinvestmentM2M | Outlook33 © 2007-2012 Creative Arts & TechnologiesKey Trends
  34. 34. Transportation & Logistics LogisticsMedical &HealthcareIndustrial &EnergyCommunicationInfrastructureSecurity & SurveillancePublic/Private Cloud Deployment InfrastructuresInternetof ThingsM2M | Integrated Processes34 © 2007-2012 Creative Arts & Technologies, Eclipse Foundation
  35. 35. Medical Services GatewayCommunicationInfrastructureSmartPillBoxesHeartbeatSensorWeightScalesBloodPressureMedicalSmartServicesGatewayNear fieldBloodSugarInternetof Things35 © 2007-2012 Creative Arts & Technologies, Eclipse FoundationM2M | Vertical Market Scenarios
  36. 36. Logistic Services GatewayCommunicationInfrastructureHandheld &WearableDevicesRFIDReadersMedicalSmartServicesGatewaySmart ContainerInternetof Things36 © 2007-2012 Creative Arts & Technologies, Eclipse FoundationM2M | Vertical Market Scenarios
  37. 37. Open ecosystem for M2MThird Party EcosystemOpen M2M applicationframework and runtimesOpen M2M communicationprotocolsInternetofThingsOpen M2Mdevelopment tools…37 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
  38. 38. protocolsframework toolsCopyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.038
  39. 39. hardware abstractionserver communicationapplication containerscripting engineframework toolsprotocolsCopyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.039
  40. 40. framework protocolsunreliable networkslimited bandwidthsemanticstoolsCopyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.040
  41. 41. toolsframework protocolsdevelopsimulatedebugdeployCopyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 4141
  42. 42. ■ MQTT == MQ Telemetry Transport■ In a nutshell“A light weight event and message orientedprotocol allowing devices toasynchronously communicate efficientlyacross constrained networks to remotesystems”MQTT in a Nutshell42 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
  43. 43. A Publish Subscribe messaging protocol allowing a message to be published once and multipleconsumers (applications / devices) to receive the message providing decoupling between the producerand 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/consumerMQTT - Publish Subscribe Messaging43 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
  44. 44. NFC44 © 2007-2013 Creative Arts & Technologies
  45. 45. NFC | StatsRegistered Mobile devices worldwide (Millions)45 © 2007-2012 Creative Arts & Technologies
  46. 46. • eNFC (enhanced NFC): Fully compliant NFC technologyenhanced by ISO 14443B and ISO 15693 standards on chipemulation side• eNFC is compatible with all existing and future applicationusing contactless technologyReader or DeviceCommunicationChip emulationCommunicationISO 14443-BISO 15693ISO 14443-BISO 15693ISO 14443-ASony (Type C)ISO 14443-ASony (Type C)eNFCNFC-2(ECMA 352)NFC(ECMA340)NFC | What is eNFC?46 © 2007-2012 Creative Arts & Technologies
  47. 47. Exchange photosGet your e-ticketPay without cashRedeem couponsGet your ReceiptNFCPass the gateRead a map frominteractive billboardNFCNFC47 © 2007-2012 Creative Arts & TechnologiesNFC | Use Cases
  48. 48. Chiuaua Driving License: ISO 15693Toronto Payment: ISO 14443-B & ISO 15693Sao Paulo Transport: ISO 14443ASingapore Transport : Felica, ISO 14443BParis Transport : ISO 14443BTokyo Transport:FelicaTMLondon Transport : ISO 14443ASan Francisco Transport: ISO 14443BShenzen Transport : ISO 14443BHong Kong Transport: FelicaTMSeoul Transport : ISO 14443AJapan ID Card: ISO 14443BUS Payment: ISO 14443-B & ISO 14443AUS Access Control: ISO 15693Pakistan Passport: ISO 14443BNew Delhi Transport:FelicaTMNFC | Where to use this technologyDubai RTACopenhagen Public Transport (Rejsekort), SAS SmartPassMoscow, St. Petersburg Metro48 © 2007-2013 Creative Arts & Technologies
  49. 49. Open NFC interfaces can be classified at different levels, fromvery high-level interfaces that greatly simplify the usual tasks ofNFC applications, to very low-level interfaces that allow fine tuningof NFC hardware parameters for example.High Level Interfaces:• NDEF Messages• Bluetooth and Wi-Fi pairing• Read / Write to any tag• P2P• Virtual TagsNFC | Open NFC™49 © 2007-2012 Creative Arts & TechnologiesStarting Open NFC 4.3.0, the support for Java porting for JSR-257devices is discontinued. Older releases of the stack were fullycompliant with the JSR-257 standard.► Android Edition is currently the only one actively maintainedwithJava Binding!
  50. 50. Security | Possible Usage Scenarios•Keep close control of software on a system•Protect kiosk Computers (ATMs..) softwarefrom manipulations such as installing a keysniffer•Strongly identify a machine and its softwareconfiguration in online banking or Pizzadelivery•Protect IP in the Cloud50 © 2007-2012 Creative Arts & Technologies, IAIK
  51. 51. Security | To Catch A Thief51 © 2007-2012 Creative Arts & Technologies
  52. 52. Security | Trusted Platforms• Measure the software executed• Store data securely• Report their statusand feature a hardware TPM an advanced BIOS or chipset a set of Trusted ComputingSoftware52 © 2007-2012 Creative Arts & Technologies, IAIK
  53. 53. Security | JSR - 32153 © 2007-2012 Creative Arts & Technologies, IAIK
  54. 54. Security | TEE• TEE provides hardware-basedisolation from rich operatingsystems (OS) such as Android,Windows Phone, Symbian, etc.• TEE runs on the main devicechipset• TEE has privileged access todevice resources (user interface,crypto accelerators, secureelements…).Hardware PlatformRich OS Application EnvironmentRich OSTrusted Execution EnvironmentTrusted CoreEnvironmentGlobalPlatformTEEInternalAPITrustedFunctionsPayment CorporateClient ApplicationsTrustedApplicationDRMTrustedApplicationPaymentTrustedApplicationCorporateHW Secure ResourcesGlobalPlatformTEE InternalTEE KernelAPIGlobalPlatform TEE Client APIOpen to malware androoting / jailbreakingIsolation of sensitiveassets54 © 2007-2012 Creative Arts & Technologies, Global PlatformWhat is a Trusted Execution Environment (TEE)?
  55. 55. 26.05.2013• EMV applications and their data shall bealways 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 arestored on a USIM card• Embedded secure element – additional smart card chip integrated ina mobile phone (e.g. Samsung NEXUS S)• External secure element (e.g. smart card chip integrated in a MicroSD card)• Application management „over-the-air‟Security | Secure Element
  56. 56.  Interoperable platform fordelivery of trusted personalservices High, industry-proven security Designed for the smallest siliconhardware devices Runs Java in as little as 4 KB RAM Deployed on >5 billiondevices Growing at 1.4 bill. Devices p. year SIM Cards, secure elements, eID,payment servicesSecure, Connected, VersatileSecurity | Java Card Technology56 © 2011, Oracle and/or its affiliates. All Rights Reserved.
  57. 57. Security | Java Card Technology57 © 2007-2012 Creative Arts & Technologies
  58. 58. • 2 new JSRs for Mobile and Embeddedapproved• JSR-360: CLDC 8• CLDC 8 is an evolutionary update to CLDC 1.1.1 to bringthe VM, Java Language, and libraries up to datewith Java SE 8. Just finished EDR• More:• JSR-361: Java ME Embedded Profile• Update IMP(-NG) to align with state-of-the-art features and currentembedded device market requirements.• More:• Feel free to join the EG if you are JCP member or want to joinEmbedded Standards | JSR-360, 36158 © 2007-2013 Creative Arts & Technologies
  59. 59. PlatformFootprintDeviceCPU/GPU/I-OARM 7 Cortex M ARM9/11 MIPS32/Intel Atom/ARM CortexA/PPC50KB-1MB1MB-10MB10MB-100MBJava MEJava SEJavaCardJava Technology for Embedded Devices59 © 2013, Oracle and/or its affiliates. All Rights Reserved.
  60. 60. Source:• 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 resistivetouchscreen• 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-axisdigital Gyroscope, ADC Input, Audio Line-In/Out, DigitalMicrophone, Digital VGA Camera• Debug Interface: JTAGCLDC 8 | Sample target device60 © 2013, Oracle and/or its affiliates. All Rights Reserved.
  61. 61. • Scope of “Embedded” has grown heavilysince the times of IMP and IMP-NG• New capabilities = New Requirements• Optionality High-end devices with sophisticated featuresvs. Low-end modules with huge number of units,very limited memory and the necessity to becheap Provisioning not always a MUST• Long-life remote operation• Separate HW / SW dependence61 © 2013, Oracle and/or its affiliates. All Rights Reserved.Java™ ME Embedded Profile (MEEP)
  62. 62. • 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 Lifecycle62 © 2013, Oracle and/or its affiliates. All Rights Reserved.MEEP | Features and Packages
  63. 63. Q & A
  64. 64. Eclipse – Project UOMo of Measurement APIhttp://www.unitsofmeasurement.orgUCUMhttp://www.unitsofmeasure.orgLinks
  65. 65. Eclipse – M2M IWG Geospatial Consortiumhttp://www.opengeospatial.orgJava Community Process (2)
  66. 66. Contactwerner@catmedia.usoruomo@catmedia.usTwitter: @wernerkeilHashtag#EclipseUOMo