m4m 2 the rescue of m2m - eclipse democamps kepler 2013

Post on 18-Jan-2015

2.993 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

M4M or Measure 4 Measure, ever since Shakespeare's play with the same name we know, people can be mistaken for one another. A Duke (like the beloved Java mascot) claims to be a monk, the head of a dead pirate is presented to be that of the young hero. So can important information like Units of Measurement be misinterpreted. While humans reading 10°C, 10 C or 10 Degree Celsius, each of those could be interpreted and understood well enough. For M2M communication, unless a program is provided with a large glossary of alternate terms, only ONE of these would be acceptable. This is where the Unified Code for Units of Measurement (UCUM) among similar approaches like UnitsML, SensorML or a few others are vital for error-free M2M transactions, not just between sensors or measurement devices, but also and especially vehicles or distributed devices. OSGi Measurement has been around for some time (R3) but never gained as much momentum, as many other bundles of OSGi did. Except for very few use cases in the Embedded or Automotive sector it is practically unused and based on statements by its contributors in the OSGi Alliance to be considered legacy with no plans continue development. After a brief overview of common M2M errors from Gimli to Mars, This session provides an overview of OSGi Measurement, Eclipse OUMo, what they have in common and where the differences lie. Although most of today's OSGi containers are capable of dealing with units or measurement better and more reliable with UOMo, both can where necessary also exchange information and collaborate. E.g. if legacy devices and code cannot be easily replaced. For this We'll take a look at interoperability between different systems or with other unit technologies and languages like F#, Fantom, Python or Lua.

TRANSCRIPT

M4M 2 the Rescue of M2M

Werner Keil

Eclipse DemoCamp Copenhagen

20th June 2013

Standards forThe Internet of Things

IN MEMORIAMDipl.-Ing. Erwin Keil

13th October 1938 – 26th December 2012(He‘d be honored to hear this DemoCamp is on Turbinevej)

2 © 2007-2013 Creative Arts & Technologies

Overview

• Introduction•Sensors

• Historic IT Errors and Bugs• UOMo, Unit-API, UCUM• Sensor Web, SensorML

• Demo• M2M

• Use Cases, Framework, Protocols, Tools

•NFC• Use Cases, Adoption, OpenNFC

•New Embedded Java Standards•Q&A

3 © 2007-2013 Creative Arts & Technologies

Who am I?

4 © 2007-2013 Creative Arts & Technologies

Werner Keil

• Consultant – Coach

• Creative Cosmopolitan

• Open Source Evangelist

• Software Architect

• Java Godfather

• UOMo Project Lead

• Mærsk DevOps Guy …

Email werner@catmedia.us

Twitter @wernerkeil

Java Godfather?

5 © 2007-2012 Creative Arts & Technologies

Measure for Measure

6 © 2007-2013 Creative Arts & Technologies

Mistaking a Pirate…

Images © Copyright 2011 Getty Images

Measure for Measure

7 © 2007-2013 Creative Arts & Technologies

For a heroof the story...

Images © Copyright 2012 The Old Globe, San Diego CA

Measure for Measure

8 © 2007-2013 Creative Arts & Technologies

Mistaking a Duke…

Measure for Measure

9 © 2007-2013 Creative Arts & Technologies

For afriar...

Images based on poster created for the Oregon Shakespeare Festival © 2011 by Jeff Rauch

Type-Safety

•Java does not have strongly typed base types (like e.g. Ada or Smalltalk).

• This could change around Java 10 or 11 (based on Oracle Road Map and statements)

•For performance reasons most developer prefer primitive types over objects in their interface.

•Primitive type arguments can more easily lead to name clashes (methods with the same signature) or other problems (“Auto-Boxing”,…)

10 © 2007-2013 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 in Canada

11 © 2007-2012 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?

12 © 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

13 © 2007-2012 Creative Arts & Technologies

1985

Mirror on underside of shuttle

SDI Experiment: The Plan

Big mountain in Hawaii

14 © 2007-2012 Creative Arts & Technologies

1985

SDI Experiment: What really happened

15 © 2007-2012 Creative Arts & Technologies

16 © 2007-2012 Creative Arts & Technologies

1985: Why it happened?

Unit Tests wouldn‘t find these…

•All previous examples 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

17 © 2007-2012 Creative Arts & Technologies Images © Copyright, American Shakespeare Center

Causes of Conversion Errors

•Ambiguity on the unit• Gallon Dry / Gallon Liquid - Gallon US / Gallon UK

• Day Sidereal / Day Calendar

• Foot in various regions, at least historically, see: http://en.wikipedia.org/wiki/German_obsolete_units_of_measurement#Fu.C3.9F_.28foot.29

• 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

18 © 2007-2013 Creative Arts & Technologies

ALL OF THEM HAPPENED IN MOBILE, REAL TIME OR EMBEDDED SYSTEMS!

What else do they have in common?

19 © 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

20 © 2007-2012 Creative Arts & Technologies

• 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.JavaDoc: http://pandora.la/java/javadocs/sensor/javax/microedition/sensor/Unit.html

• ChannelInfoHolding name, accuracy, data type,measurement ranges, scale and unit

• MeasurementRangeRange of possible values from minimum to maximum

► Dead Meat (few actual handsets and no vendors except Nokia still use it, nor does Java ME Embedded)

JSR-256

21 © 2007-2013 Creative Arts & Technologies

Mobile Sensor API

•Namespace: javax.measure.*

•Only one interface and one abstract class• public interface Measurable<Q extends Quantity>

• public abstract class Measure<V, Q extends Quantity>

•Three sub-packages• quantity (holds dimensions mass, length)

• unit (holds the SI and NonSI units)

• converter (holds unit converters)

JSR-275

22 © 2007-2012 Creative Arts & Technologies

Units Specification

•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 (holds services)

The King is Dead…

23 © 2007-2012 Creative Arts & Technologies

Units of Measurement API

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

25 © 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

26 © 2007-2012 Creative Arts & Technologies

JSR 354 Implementation

“Sisu” equivalent for 354 if you want

• ICU4J based implementation of types like

• CurrencyUnit

• MonetaryAmount

• CurrencyConverter

• ExchangeRate• …

• Bridge to Unit-API where possible for cross-quantity arithmetic (e.g. “$ per gram CO² per mile”)

UOMo Business

27 © 2007-2013 Creative Arts & Technologies

“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)

28 © 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

29 © 2007-2012 Creative Arts & Technologies

30

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 …

30 © 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

31 © 2007-2012 Creative Arts & Technologies

Sensor Web | Weather Prediction data

EUMetCastReceiving facility

EUMetCastEARS-AVHRR

EARS-ATOVS

Internet

MSG

NOMADS LAADS

Data assimilationsubsystem

NOMADSadapter

LAADSadapter 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

32 © 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

33 © 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>.............

34 © 2007-2012 Creative Arts & Technologies

DEMO

Sensor Examples

Transportation & Logistics Logistics

Medical &

Healthcare

Industrial &

EnergyCommunication

Infrastructure

Security & Surveillance

Public/Private Cloud Deployment Infrastructures

Internetof Things

M2M | Integrated Processes

36 © 2007-2013 Creative Arts & Technologies Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0,

• Barrier-type bolt seal• RFID: ID-number + integrity• Bar code• Battery 1 year transmitting• 50 cycles• Range up to 50 meters• 915 MHz + 2.4 GHz• Data transmission rate 500 kbps• Storage 64 bytes

M2M | Smart ContainerRFID e-Seal Example

37 © 2005-2012 Creative Arts & Technologies, Prof. Jens Froese – TU Hamburg-Harburg

M2M | Smart Container (2)Technology

38 © 2004-2012 Creative Arts & Technologies, Europe Container Terminals B.V.

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

39 © 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.040

hardware abstraction

server communication

application container

scripting engine

framework toolsprotocols

Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.041

framework protocols

unreliable

networks

limited bandwidth

semantics

tools

Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.042

toolsframework protocols

develop

simulate

debug

deploy

Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 4343

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

44 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

■ Push delivery of messages / data / events– MQTT – low latency push delivery of messages from client to server

and server to client• Helps bring an event oriented architecture to the web

– HTTP – push from client to server but poll from server to client• Efficient use of network

– For an M2M project the number of bytes with MQTT was 137130 bytes per device per month with HTTP the number of bytes was 801000 bytes per device per month

• Reliable delivery over fragile network– MQTT will deliver message to QOS even across connection breaks

• Decoupling and publish subscribe – one to many delivery

Source: http://stephendnicholas.com/archives/1217

45 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Benefits of MQTT verses HTTP

M2M | Sierra Wireless at CPH Airport

46 © 2007-2012 Creative Arts & Technologies

To ensure maximum safety for all passengers, Copenhagen Airport

continuously monitors local weather conditions. In addition, airport

operations regularly measures weather-related runway conditions, such

as temperature and moisture, in order to store and analyze data and relay

status and safety information to incoming flights.

M2M | Cinterion – Wireless Modules

47 © 2007-2013 Creative Arts & Technologies, Gemalto

M2M | Cinterion – Wireless ModulesMTX-65 i, Mechanical & Electrical Specs

48 © 2007-2012 Creative Arts & Technologies, Matrix Electronica, SL

• Allow save external hosts processor, space, power consumption…

• Open application resources: • ARM© Core, Blackfin© DSP• Memory: 400 KB (RAM) and 1.7 MB (Flash)• Improved power-saving modes

• Java™ features:• J2ME™ profile IMP-NG

• Over-the-air update:• Application SW: OTAP• Firmware: FOTA

FREE SDK

M2M | Cinterion – Wireless ModulesMTX-65 i, 65+G, 65-ULP & IND : Java Embedded Applications

49 © 2007-2013 Creative Arts & Technologies, Gemalto, Matrix Electronica, SL

M2M | Cinterion – Using Eclipse

50 © 2007-2013 Creative Arts & Technologies, Gemalto

NFC

51 © 2007-2013 Creative Arts & Technologies

NFC | StatsRegistered Mobile devices worldwide (Millions)

52 © 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

53 © 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 14443B

Hong 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

54 © 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™

55 © 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!

• 2 new JSRs for Mobile and Embedded• 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.

• 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

Embedded Standards | JSR-360, 361

56 © 2007-2012 Creative Arts & Technologies

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

werner@catmedia.us

or

uomo@catmedia.us

Twitter: @wernerkeil

Hashtag #EclipseUOMo

top related