modeling technologies and machine-to-machine

26
Page en Source M2M: The Koneki Project Modeling technologies and Machine-to-Machine Modeling technologies and Machine-to-Machine EclipseCon Europe – Nov, 4th 2011 Benjamin Cabé Open Source Community Manager Koneki project lead

Upload: benjamin-cabe

Post on 19-May-2015

1.166 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Modeling technologies and Machine-to-MachineEclipseCon Europe – Nov, 4th 2011

Benjamin Cabé

Open Source Community ManagerKoneki project lead

Page 2: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Agenda

M2M?

M2M engineering… state of the union

M2M at Eclipse: Koneki, Industry Working Group

Modeling for M2M & Embedded: different approaches

Demos

What’s next / Get involved

2

Page 3: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Machine-to-Machine (M2M)

Wikipedia says:

3

[…] technologies that allow both wireless and wired systems to communicate with other devices of the same ability.

Page 4: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 4

M2M is everywhere!

Page 5: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 5

Fragmentation!

Page 6: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 6

Heterogeneous hardware

Page 7: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

And also…

7

etc…

Page 8: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Heterogeneous OSes

8

Page 9: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Heterogeneous programming languages

C / C++

Shell script

9

Page 10: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Heterogeneous protocols

10

TCPUDPICMPSNMPSMSFTPHTTP…

XML & its derivatives• (SOAP, binary XML, …)• OMA-DM• TR-069

AWT-DAMQTTJSONProtocol buffers…

ModbusCAN-busZigbeeX101-wire…

Page 11: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 11

Fragmentation!

Page 12: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

M2M Industry Working Group

M2M use cases

M2M tooling

Open communication and messaging protocols

M2M software components

APIs

Reference architecture

http://wiki.eclipse.org/M2MIWG_charter_draft

Page 13: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Koneki project

Eclipse Technology project aiming at:

13

providing Machine-to-Machine solutions developers with tools easing the development, simulation, testing/debugging and deployment of such solutions

Page 14: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 15

M2M end-to-end chain (simplified)

Page 15: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 16

LANGUAGE TOOLS

LuaEclipse JDTCDT …

Koneki Overview

KONEKI COMMONS

M2M EMBEDDEDDEVELOPMENT

M2M APPLICATION EDITORS

PROTOCOLSM2M SERVER

DEVELOPMENT

M2M APP. GENERATORS

APPLICATION EXAMPLES

SIMULATIONAPP.

EXAMPLESSIMULATION

M2M APPLICATION MODEL

EMBEDDED RUNTIMES

Lua OSGiCelix Android …

Page 16: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 17

LANGUAGE TOOLS

LuaEclipse JDTCDT …

Koneki Enablers

KONEKI COMMONS

M2M EMBEDDEDDEVELOPMENT

M2M APPLICATION EDITORS

PROTOCOLSM2M SERVER

DEVELOPMENT

M2M APP. GENERATORS

APPLICATION EXAMPLES

SIMULATIONAPP.

EXAMPLESSIMULATION

M2M APPLICATION MODEL

EMBEDDED RUNTIMES

Lua OSGiCelix Android …

Enabling tools

Page 17: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 22

LANGUAGE TOOLS

LuaEclipse JDTCDT …

Koneki M2M model

KONEKI COMMONS

M2M EMBEDDEDDEVELOPMENT

M2M APPLICATION EDITORS

PROTOCOLSM2M SERVER

DEVELOPMENT

M2M APP. GENERATORS

APPLICATION EXAMPLES

SIMULATIONAPP.

EXAMPLESSIMULATION

M2M APPLICATION MODEL

EMBEDDED RUNTIMES

Lua OSGiCelix Android …

Model-based tools

Page 18: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Long term objective

simple

extensible

model

that every ‘developer’ fully understands

23

Page 19: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

A model to rule them all?

Describe the interfaces of an M2M application:

• Communication capabilities• Protocol, connection policy

• Manipulated data / events• Name, unit, description, archiving policy

• Configuration parameters

• Application packaging / Software update capabilities

Optionally

• Describe the behaviour of the M2M application

see http://wiki.eclipse.org/Machine-to-machine_model

24

Page 20: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 2528th June 2011

Demo!

#1 Application model

Page 21: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Modeling for embedded development?

Very different profiles to address:

• Skilled embedded developers• Strong C knowledge

• Don’t want to deal with M2M plumbing

• Control engineers• Very good at understanding the business

• Limited programming skills

• End-application developers• « Modern programming » (Java, web, …) background

• Don’t want to deal with embedded development constraints

2628th June 2011

Page 22: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 2728th June 2011

Demo!

#2 Embedded logic

Page 23: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 28

Embedded applicationUnit testsDocumentation

Communication simulationBandwidth use estimation

Web applicationSmartphone widgetGadget…

APPLICATIONMODEL

Page 24: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 2928th June 2011

Demo!

#3 Simulation

Page 25: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine

Roadmap overview

30

Today

• Koneki Lua Development Tools available

• « Modeling for embedded dev » available as a prototype

• Lua (+ Arduino in a few weeks)

End-2011

• Contribute a first version of an M2M model + associated editor

• OMA-DM simulator (based on OSGi specification)

2012

• Bandwidth estimation tool

• Communication simulator

Page 26: Modeling technologies and Machine-to-Machine

Page

Open Source M2M: The Koneki Project

Modeling technologies and Machine-to-Machine 28th June 2011 31

Thank you!

http://www.eclipse.org/koneki

Contacts:

Benjamin Cabé[email protected]://blog.benjamin-cabe.com@kartben

Gaétan [email protected]