SlideShare ist ein Scribd-Unternehmen logo
1 von 44
M4M 2 the Rescue of M2M
Standards for
The Internet of
Things
Werner Keil
Eclipse DemoCamp Stuttgart
6th December 2013
Overview
• Introduction
• Sensors and Measurement
• Historic IT Errors and Bugs
• UOMo, Unit-API, UCUM

• Demo
• M2M
• Sensor Web, SensorML
• Use Cases, Framework, Protocols, Tools

• Embedded Standards
• Embedded Java Standards, Other Trends

• Q&A

2

© 2007-2013 Creative Arts & Technologies
Who am I?
Werner Keil

Twitter @wernerkeil

• Consultant – Coach
• Creative Cosmopolitan

• Open Source Evangelist
• Software Architect
• Java Godfather
• UOMo Project Lead
• ETCS Guy
…
Email werner@catmedia.us

3

© 2007-2013 Creative Arts & Technologies
Let the Games begin

4

© 2007-2013 Creative Arts & Technologies

Images © Copyright 2007 Cyberslayer
Measure for Measure
Mistaking a
Pirate…

5

© 2007-2013 Creative Arts & Technologies

Images © Copyright 2011 Getty Images
Measure for Measure
For a hero
of the story...

6

© 2007-2013 Creative Arts & Technologies

Images © Copyright 2012 The Old Globe, San Diego CA
Measure for Measure
Mistaking a
Duke…

7

© 2007-2013 Creative Arts & Technologies
Measure for Measure
For a
friar...

8

© 2007-2013 Creative Arts & Technologies

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”,…)
9

© 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 Explosion
Floating 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

10

© 2007-2012 Creative Arts & Technologies
What do these disasters have in common?
• 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

11

© 2007-2012 Creative Arts & Technologies
NASA “Star Wars” Initiative, 1983
23rd March 1983. Ronald Reagan
announces SDI (or “Star Wars”): groundbased and space-based systems to
protect the US from attack by strategic
nuclear ballistic missiles.

12

© 2007-2012 Creative Arts & Technologies
1985

Mirror on underside of
shuttle

Big mountain in Hawaii

13

© 2007-2012 Creative Arts & Technologies

SDI Experiment:
The Plan
1985

SDI Experiment:
What really
happened

14

© 2007-2012 Creative Arts & Technologies
1985: Why it happened?

15

© 2007-2012 Creative Arts & Technologies
Unit Tests wouldn„t find these…
Despite their name
• 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.

16

© 2007-2013 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
17

© 2007-2013 Creative Arts & Technologies
What else do they have in common?

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

18

© 2007-2012 Creative Arts & Technologies
OSGi
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, e.g. by Automotive
► no further development by OSGi
19

© 2007-2013 Creative Arts & Technologies
JSR-256
Mobile Sensor API
• Namespace: javax.microediton.sensor*
• Focusing on Sensors, but it got a minimalistic Unit API “in
the closet”
• Unit
Essentially an SI singleton holding relevant unit constants, too.
JavaDoc: http://pandora.la/java/javadocs/sensor/javax/microedition/sensor/Unit.html
• ChannelInfo
Holding name, accuracy, data type,measurement ranges, scale and unit
• MeasurementRange
Range 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)
20

© 2007-2013 Creative Arts & Technologies
JSR-275
Units Specification
• 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)
21

© 2007-2012 Creative Arts & Technologies
JSR-275
Users and popular Downstream Projects
• JScience
• Groovy/Grails
• DSLs e.g. for Healthcare

• GeoAPI (OGC standard) and implementations, e.g.
• uDig (see slide 32)

• Parfait
• Java Monitoring, part of Performance Co-Pilot (PCP)

•…
22

© 2007-2013 Creative Arts & Technologies
The King is Dead… Walking
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 (holds services)
23

© 2007-2013 Creative Arts & Technologies
Eclipse UOMo
One Small Step…
Eclipse UOMo
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
25

© 2007-2012 Creative Arts & Technologies
UOMo UCUM
Unified Code for Units of Measure
The Unified Code for Units of Measure is inspired by
and heavily based on
• ISO 2955-1983
• ANSI X3.50-1986
• HL7's extensions called ISO+

26

© 2007-2012 Creative Arts & Technologies
UOMo Business
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”)
27

© 2007-2013 Creative Arts & Technologies
UOMo Examples

DEMO
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)
29

© 2007-2012 Creative Arts & Technologies
Sensor Web | OpenGIS Standards
• SW Enablement working group at OGC have
developed a number of standards governing
different aspects of Sensor Web
OGC O&M

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

30

Observations & Measurements

Web Notification Services

In progress

© 2007-2012 Creative Arts & Technologies
Sensor Web | LocationTech
• uDig is a desktop
application
framework,
built with Eclipse
Rich Client (RCP)
• Internet: supporting
standards (WMS, WFS,
WCS, KML) …

• GIS: framework for
spatial data exploration
and analysis
• Based on JSR-275
http://locationtech.org/projects/technology.udig
31

© 2006-2013 Creative Arts & Technologies , Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
Sensor Web | Mozambique floods
• The task under study is floods in different parts of
the world
• Particular test case was flooding of Mozambique

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

34

© 2007-2012 Creative Arts & Technologies

.............
<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:Quantity
definition="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>
.............
M2M | Integrated Processes
Public/Private Cloud Deployment Infrastructures
Logistics

Transportation & Logistics

Security & Surveillance

Internet
of Things

Communication

Medical &

Infrastructure

Healthcare

35

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

Industrial &
Energy
M2M | Smart Container
RFID e-Seal Example

• 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
36

© 2005-2012 Creative Arts & Technologies, Prof. Jens Froese – TU Hamburg-Harburg
M2M | MQTT
Publish Subscribe Messaging

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

37

© 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
Embedded Standards | JSR-360, 361
• 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
•
•

38

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

© 2007-2012 Creative Arts & Technologies
Embedded Standards | Gemalto M2M

39

© 2007-2013 Creative Arts & Technologies, Gemalto
Other Trends for Sensors | Measurement
• Xively
• Language bindings for Java/Android, Python or Ruby contain support for Units of
Measurement Website: http://www.xively.com

• OpenXC
• Feels quite a bit like a modernized OSGi Measurement bundle. Offering only SI
units by default, but a more sophisticated Unit and Quantity concept somewhat
similar and clearly inspired by Unit-API / JSR-275
• Website: http://openxcplatform.com/

• ► Without proper security, Connected Car hacks like that on
Tesla pose a great risk to this and all other critical sectors (Health, Avionics,...)

• CSS 3
• Mostly UI/rendering, but promises almost UCUM-like arithmetic and quantitychecking See: http://www.w3.org/TR/css3-values/
40

© 2007-2013 Creative Arts & Technologies
Q&A
Links
Eclipse – Project UOMo
http://www.eclipse.org/uomo/

Units of Measurement API
http://www.unitsofmeasurement.org
UCUM
http://www.unitsofmeasure.org
Links (2)
Eclipse – M2M IWG
http://m2m.eclipse.org

Open Geospatial Consortium
http://www.opengeospatial.org
Java Community Process
http://www.jcp.org
Contact
werner@catmedia.us
or

uomo@catmedia.us

Twitter: @wernerkeil
Hashtag #EclipseUOMo

Weitere ähnliche Inhalte

Ähnlich wie M4M 2 the Rescue of M2M - Eclipse DemoCamps Fall 2013

The Eclipse M2M IWG and Standards for the Internet of Things
The Eclipse M2M IWG and Standards for the Internet of ThingsThe Eclipse M2M IWG and Standards for the Internet of Things
The Eclipse M2M IWG and Standards for the Internet of ThingsWerner Keil
 
JSR 363 - The Answer to Life Science and the Internet of Everything
JSR 363 - The Answer to Life Science and the Internet of EverythingJSR 363 - The Answer to Life Science and the Internet of Everything
JSR 363 - The Answer to Life Science and the Internet of EverythingWerner Keil
 
Data Quality on Mars - ISO 80000 and other Standards - Apache Big Data Europe...
Data Quality on Mars - ISO 80000 and other Standards - Apache Big Data Europe...Data Quality on Mars - ISO 80000 and other Standards - Apache Big Data Europe...
Data Quality on Mars - ISO 80000 and other Standards - Apache Big Data Europe...Werner Keil
 
M2M, Sensor Web, Observations and Measurements
M2M, Sensor Web, Observations and MeasurementsM2M, Sensor Web, Observations and Measurements
M2M, Sensor Web, Observations and MeasurementsWerner Keil
 
Analysis Ready Data workshop - OGC presentation
Analysis Ready Data workshop - OGC presentation Analysis Ready Data workshop - OGC presentation
Analysis Ready Data workshop - OGC presentation George Percivall
 
Werner Weil: UCUM - epicenter 2010
Werner Weil: UCUM - epicenter 2010Werner Weil: UCUM - epicenter 2010
Werner Weil: UCUM - epicenter 2010IrishDev.com
 
Common Approach for UAS Data Geoprocessing
Common Approach for UAS Data GeoprocessingCommon Approach for UAS Data Geoprocessing
Common Approach for UAS Data GeoprocessingGeorge Percivall
 
The Quantified UOMo - Eclipse DemoCamp Trondheim 2015
The Quantified UOMo - Eclipse DemoCamp Trondheim 2015The Quantified UOMo - Eclipse DemoCamp Trondheim 2015
The Quantified UOMo - Eclipse DemoCamp Trondheim 2015Werner Keil
 
Federated Cloud Computing
Federated Cloud ComputingFederated Cloud Computing
Federated Cloud ComputingDavid Wallom
 
OGC Update for State of Geospatial Tech at T-Rex
OGC Update for State of Geospatial Tech at T-RexOGC Update for State of Geospatial Tech at T-Rex
OGC Update for State of Geospatial Tech at T-RexGeorge Percivall
 
Geospatial innovation along four dimensions
Geospatial innovation along four dimensionsGeospatial innovation along four dimensions
Geospatial innovation along four dimensionsGeorge Percivall
 
Harnessing Big Data_UCLA
Harnessing Big Data_UCLAHarnessing Big Data_UCLA
Harnessing Big Data_UCLAPaul Barsch
 
Volunteer Crowd Computing and Federated Cloud developments
Volunteer Crowd Computing and Federated Cloud developmentsVolunteer Crowd Computing and Federated Cloud developments
Volunteer Crowd Computing and Federated Cloud developmentsDavid Wallom
 
"Click here" to build your UAV
"Click here" to build your UAV"Click here" to build your UAV
"Click here" to build your UAVDirk Gorissen
 
Real-Time Simulation for MBSE of Synchrophasor Systems
Real-Time Simulation for MBSE of Synchrophasor SystemsReal-Time Simulation for MBSE of Synchrophasor Systems
Real-Time Simulation for MBSE of Synchrophasor SystemsLuigi Vanfretti
 
Utilising Cloud Computing for Research through Infrastructure, Software and D...
Utilising Cloud Computing for Research through Infrastructure, Software and D...Utilising Cloud Computing for Research through Infrastructure, Software and D...
Utilising Cloud Computing for Research through Infrastructure, Software and D...David Wallom
 
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...AVEVA Group plc
 

Ähnlich wie M4M 2 the Rescue of M2M - Eclipse DemoCamps Fall 2013 (20)

The Eclipse M2M IWG and Standards for the Internet of Things
The Eclipse M2M IWG and Standards for the Internet of ThingsThe Eclipse M2M IWG and Standards for the Internet of Things
The Eclipse M2M IWG and Standards for the Internet of Things
 
JSR 363 - The Answer to Life Science and the Internet of Everything
JSR 363 - The Answer to Life Science and the Internet of EverythingJSR 363 - The Answer to Life Science and the Internet of Everything
JSR 363 - The Answer to Life Science and the Internet of Everything
 
Eclipse UOMo
Eclipse UOMoEclipse UOMo
Eclipse UOMo
 
Data Quality on Mars - ISO 80000 and other Standards - Apache Big Data Europe...
Data Quality on Mars - ISO 80000 and other Standards - Apache Big Data Europe...Data Quality on Mars - ISO 80000 and other Standards - Apache Big Data Europe...
Data Quality on Mars - ISO 80000 and other Standards - Apache Big Data Europe...
 
M2M, Sensor Web, Observations and Measurements
M2M, Sensor Web, Observations and MeasurementsM2M, Sensor Web, Observations and Measurements
M2M, Sensor Web, Observations and Measurements
 
Analysis Ready Data workshop - OGC presentation
Analysis Ready Data workshop - OGC presentation Analysis Ready Data workshop - OGC presentation
Analysis Ready Data workshop - OGC presentation
 
Werner Weil: UCUM - epicenter 2010
Werner Weil: UCUM - epicenter 2010Werner Weil: UCUM - epicenter 2010
Werner Weil: UCUM - epicenter 2010
 
Common Approach for UAS Data Geoprocessing
Common Approach for UAS Data GeoprocessingCommon Approach for UAS Data Geoprocessing
Common Approach for UAS Data Geoprocessing
 
The Quantified UOMo - Eclipse DemoCamp Trondheim 2015
The Quantified UOMo - Eclipse DemoCamp Trondheim 2015The Quantified UOMo - Eclipse DemoCamp Trondheim 2015
The Quantified UOMo - Eclipse DemoCamp Trondheim 2015
 
Federated Cloud Computing
Federated Cloud ComputingFederated Cloud Computing
Federated Cloud Computing
 
Session 33 - Production Grids
Session 33 - Production GridsSession 33 - Production Grids
Session 33 - Production Grids
 
OGC Update for State of Geospatial Tech at T-Rex
OGC Update for State of Geospatial Tech at T-RexOGC Update for State of Geospatial Tech at T-Rex
OGC Update for State of Geospatial Tech at T-Rex
 
Geospatial innovation along four dimensions
Geospatial innovation along four dimensionsGeospatial innovation along four dimensions
Geospatial innovation along four dimensions
 
Harnessing Big Data_UCLA
Harnessing Big Data_UCLAHarnessing Big Data_UCLA
Harnessing Big Data_UCLA
 
Volunteer Crowd Computing and Federated Cloud developments
Volunteer Crowd Computing and Federated Cloud developmentsVolunteer Crowd Computing and Federated Cloud developments
Volunteer Crowd Computing and Federated Cloud developments
 
"Click here" to build your UAV
"Click here" to build your UAV"Click here" to build your UAV
"Click here" to build your UAV
 
Real-Time Simulation for MBSE of Synchrophasor Systems
Real-Time Simulation for MBSE of Synchrophasor SystemsReal-Time Simulation for MBSE of Synchrophasor Systems
Real-Time Simulation for MBSE of Synchrophasor Systems
 
Utilising Cloud Computing for Research through Infrastructure, Software and D...
Utilising Cloud Computing for Research through Infrastructure, Software and D...Utilising Cloud Computing for Research through Infrastructure, Software and D...
Utilising Cloud Computing for Research through Infrastructure, Software and D...
 
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
 
Cloud computingjun28
Cloud computingjun28Cloud computingjun28
Cloud computingjun28
 

Mehr von Werner Keil

Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Werner Keil
 
OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021Werner Keil
 
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualWerner Keil
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualWerner Keil
 
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRWerner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020Werner Keil
 
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Werner Keil
 
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Werner Keil
 
NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayWerner Keil
 
JNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesJNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesWerner Keil
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesEclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesWerner Keil
 
Physikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichPhysikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichWerner Keil
 
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Werner Keil
 
Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Werner Keil
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Werner Keil
 
Java2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudJava2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudWerner Keil
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartWerner Keil
 
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgThe First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgWerner Keil
 

Mehr von Werner Keil (20)

Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21
 
OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021
 
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
 
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 Virtual
 
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
 
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
 
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
 
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
 
NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)
 
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
 
JNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesJNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL Databases
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesEclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
 
Physikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichPhysikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG Munich
 
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
 
Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363
 
Java2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudJava2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the Cloud
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ Stuttgart
 
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgThe First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
 

Kürzlich hochgeladen

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Kürzlich hochgeladen (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

M4M 2 the Rescue of M2M - Eclipse DemoCamps Fall 2013

  • 1. M4M 2 the Rescue of M2M Standards for The Internet of Things Werner Keil Eclipse DemoCamp Stuttgart 6th December 2013
  • 2. Overview • Introduction • Sensors and Measurement • Historic IT Errors and Bugs • UOMo, Unit-API, UCUM • Demo • M2M • Sensor Web, SensorML • Use Cases, Framework, Protocols, Tools • Embedded Standards • Embedded Java Standards, Other Trends • Q&A 2 © 2007-2013 Creative Arts & Technologies
  • 3. Who am I? Werner Keil Twitter @wernerkeil • Consultant – Coach • Creative Cosmopolitan • Open Source Evangelist • Software Architect • Java Godfather • UOMo Project Lead • ETCS Guy … Email werner@catmedia.us 3 © 2007-2013 Creative Arts & Technologies
  • 4. Let the Games begin 4 © 2007-2013 Creative Arts & Technologies Images © Copyright 2007 Cyberslayer
  • 5. Measure for Measure Mistaking a Pirate… 5 © 2007-2013 Creative Arts & Technologies Images © Copyright 2011 Getty Images
  • 6. Measure for Measure For a hero of the story... 6 © 2007-2013 Creative Arts & Technologies Images © Copyright 2012 The Old Globe, San Diego CA
  • 7. Measure for Measure Mistaking a Duke… 7 © 2007-2013 Creative Arts & Technologies
  • 8. Measure for Measure For a friar... 8 © 2007-2013 Creative Arts & Technologies Images based on poster created for the Oregon Shakespeare Festival © 2011 by Jeff Rauch
  • 9. 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”,…) 9 © 2007-2013 Creative Arts & Technologies
  • 10. 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 Explosion Floating 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 10 © 2007-2012 Creative Arts & Technologies
  • 11. What do these disasters have in common? • 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 11 © 2007-2012 Creative Arts & Technologies
  • 12. NASA “Star Wars” Initiative, 1983 23rd March 1983. Ronald Reagan announces SDI (or “Star Wars”): groundbased and space-based systems to protect the US from attack by strategic nuclear ballistic missiles. 12 © 2007-2012 Creative Arts & Technologies
  • 13. 1985 Mirror on underside of shuttle Big mountain in Hawaii 13 © 2007-2012 Creative Arts & Technologies SDI Experiment: The Plan
  • 14. 1985 SDI Experiment: What really happened 14 © 2007-2012 Creative Arts & Technologies
  • 15. 1985: Why it happened? 15 © 2007-2012 Creative Arts & Technologies
  • 16. Unit Tests wouldn„t find these… Despite their name • 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. 16 © 2007-2013 Creative Arts & Technologies Images © Copyright, American Shakespeare Center
  • 17. 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 17 © 2007-2013 Creative Arts & Technologies
  • 18. What else do they have in common? ALL OF THEM HAPPENED IN MOBILE, REAL TIME OR EMBEDDED SYSTEMS! 18 © 2007-2012 Creative Arts & Technologies
  • 19. OSGi 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, e.g. by Automotive ► no further development by OSGi 19 © 2007-2013 Creative Arts & Technologies
  • 20. JSR-256 Mobile Sensor API • Namespace: javax.microediton.sensor* • Focusing on Sensors, but it got a minimalistic Unit API “in the closet” • Unit Essentially an SI singleton holding relevant unit constants, too. JavaDoc: http://pandora.la/java/javadocs/sensor/javax/microedition/sensor/Unit.html • ChannelInfo Holding name, accuracy, data type,measurement ranges, scale and unit • MeasurementRange Range 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) 20 © 2007-2013 Creative Arts & Technologies
  • 21. JSR-275 Units Specification • 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) 21 © 2007-2012 Creative Arts & Technologies
  • 22. JSR-275 Users and popular Downstream Projects • JScience • Groovy/Grails • DSLs e.g. for Healthcare • GeoAPI (OGC standard) and implementations, e.g. • uDig (see slide 32) • Parfait • Java Monitoring, part of Performance Co-Pilot (PCP) •… 22 © 2007-2013 Creative Arts & Technologies
  • 23. The King is Dead… Walking 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 (holds services) 23 © 2007-2013 Creative Arts & Technologies
  • 25. Eclipse UOMo 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 25 © 2007-2012 Creative Arts & Technologies
  • 26. UOMo UCUM Unified Code for Units of Measure The Unified Code for Units of Measure is inspired by and heavily based on • ISO 2955-1983 • ANSI X3.50-1986 • HL7's extensions called ISO+ 26 © 2007-2012 Creative Arts & Technologies
  • 27. UOMo Business 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”) 27 © 2007-2013 Creative Arts & Technologies
  • 29. 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) 29 © 2007-2012 Creative Arts & Technologies
  • 30. Sensor Web | OpenGIS Standards • SW Enablement working group at OGC have developed a number of standards governing different aspects of Sensor Web OGC O&M 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 30 Observations & Measurements Web Notification Services In progress © 2007-2012 Creative Arts & Technologies
  • 31. Sensor Web | LocationTech • uDig is a desktop application framework, built with Eclipse Rich Client (RCP) • Internet: supporting standards (WMS, WFS, WCS, KML) … • GIS: framework for spatial data exploration and analysis • Based on JSR-275 http://locationtech.org/projects/technology.udig 31 © 2006-2013 Creative Arts & Technologies , Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
  • 32. Sensor Web | Mozambique floods • The task under study is floods in different parts of the world • Particular test case was flooding of Mozambique 32 © 2007-2012 Creative Arts & Technologies
  • 33. 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
  • 34. 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> .............. 34 © 2007-2012 Creative Arts & Technologies ............. <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:Quantity definition="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> .............
  • 35. M2M | Integrated Processes Public/Private Cloud Deployment Infrastructures Logistics Transportation & Logistics Security & Surveillance Internet of Things Communication Medical & Infrastructure Healthcare 35 © 2007-2013 Creative Arts & Technologies Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0, Industrial & Energy
  • 36. M2M | Smart Container RFID e-Seal Example • 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 36 © 2005-2012 Creative Arts & Technologies, Prof. Jens Froese – TU Hamburg-Harburg
  • 37. M2M | MQTT Publish Subscribe Messaging 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 37 © 2007-2013 Creative Arts & Technologies, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
  • 38. Embedded Standards | JSR-360, 361 • 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 • • 38 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 © 2007-2012 Creative Arts & Technologies
  • 39. Embedded Standards | Gemalto M2M 39 © 2007-2013 Creative Arts & Technologies, Gemalto
  • 40. Other Trends for Sensors | Measurement • Xively • Language bindings for Java/Android, Python or Ruby contain support for Units of Measurement Website: http://www.xively.com • OpenXC • Feels quite a bit like a modernized OSGi Measurement bundle. Offering only SI units by default, but a more sophisticated Unit and Quantity concept somewhat similar and clearly inspired by Unit-API / JSR-275 • Website: http://openxcplatform.com/ • ► Without proper security, Connected Car hacks like that on Tesla pose a great risk to this and all other critical sectors (Health, Avionics,...) • CSS 3 • Mostly UI/rendering, but promises almost UCUM-like arithmetic and quantitychecking See: http://www.w3.org/TR/css3-values/ 40 © 2007-2013 Creative Arts & Technologies
  • 41. Q&A
  • 42. Links Eclipse – Project UOMo http://www.eclipse.org/uomo/ Units of Measurement API http://www.unitsofmeasurement.org UCUM http://www.unitsofmeasure.org
  • 43. Links (2) Eclipse – M2M IWG http://m2m.eclipse.org Open Geospatial Consortium http://www.opengeospatial.org Java Community Process http://www.jcp.org

Hinweis der Redaktion

  1. Enabling new access to and uses of data