The document discusses machine-to-machine (M2M) modeling and technologies. It describes the Koneki project at Eclipse, which aims to provide M2M solutions developers with tools to ease development, simulation, testing and deployment of M2M applications. The project involves developing an M2M application model and editors to model interfaces and behavior graphically without programming. It also involves tools for communication simulation, application generation and embedded development.
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Modeling technologies and Machine-to-Machine
1. Modeling technologies and Machine-
to-Machine
EclipseCon Europe – Nov, 4th 2011
Open Source M2M: The Koneki Project
Benjamin Cabé
Open Source Community Manager
Koneki project lead
Modeling technologies and Machine-to-Machine Page
2. 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
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine Page 2
3. Machine-to-Machine (M2M)
Wikipedia says:
[…] technologies that allow
both wireless and wired
systems to communicate with
other devices of the same
ability.
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine Page 3
4. M2M is everywhere!
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine Page 4
5. Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine Page 5
9. Heterogeneous programming languages
C / C++
Open Source M2M: The Koneki Project
Shell script
Modeling technologies and Machine-to-Machine Page 9
10. Heterogeneous protocols
TCP XML & its derivatives
UDP • (SOAP, binary XML, …)
ICMP • OMA-DM
SNMP • TR-069
SMS AWT-DA
FTP Modbus MQTT
HTTP CAN-bus JSON
… Zigbee Protocol buffers
X10
Open Source M2M: The Koneki Project …
1-wire
…
Modeling technologies and Machine-to-Machine Page 10
11. Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine Page 11
12. M2M Industry Working Group
M2M use cases
M2M tooling
Open communication and messaging protocols
M2M software components
APIs
Reference architecture
Open Source M2M: The Koneki Project
http://wiki.eclipse.org/M2MIWG_charter_draft
Modeling technologies and Machine-to-Machine Page
13. Koneki project
Eclipse Technology project aiming at:
providing Machine-to-Machine
solutions developers with tools
easing the development,
simulation, testing/debugging
and deployment of such
Open Source M2M: The Koneki Project
solutions
Modeling technologies and Machine-to-Machine Page 13
14. M2M end-to-end chain (simplified)
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine Page 15
15. Koneki Overview
APPLICATION EXAMPLES
APP.
SIMULATION SIMULATION
EXAMPLES
M2M APP. GENERATORS
M2M APPLICATION EDITORS
M2M APPLICATION MODEL
EMBEDDED RUNTIMES
Lua Celix OSGi Android …
LANGUAGE TOOLS M2M SERVER
PROTOCOLS
LuaEclipse CDT JDT … DEVELOPMENT
Open Source M2M: The Koneki Project
M2M EMBEDDED
DEVELOPMENT
KONEKI COMMONS
Modeling technologies and Machine-to-Machine Page 16
16. Koneki Enablers
APPLICATION EXAMPLES
APP.
SIMULATION SIMULATION
EXAMPLES
M2M APP. GENERATORS
M2M APPLICATION EDITORS
M2M APPLICATION MODEL
EMBEDDED RUNTIMES
Lua Celix OSGi Android …
LANGUAGE TOOLS M2M SERVER
PROTOCOLS
LuaEclipse CDT JDT … DEVELOPMENT
Open Source M2M: The Koneki Project
M2M EMBEDDED
Enabling tools
DEVELOPMENT
KONEKI COMMONS
Modeling technologies and Machine-to-Machine Page 17
17. Koneki M2M model
APPLICATION EXAMPLES
APP.
SIMULATION SIMULATION
EXAMPLES
M2M APP. GENERATORS
Model-based tools
M2M APPLICATION EDITORS
M2M APPLICATION MODEL
EMBEDDED RUNTIMES
Lua Celix OSGi Android …
LANGUAGE TOOLS M2M SERVER
PROTOCOLS
LuaEclipse CDT JDT … DEVELOPMENT
Open Source M2M: The Koneki Project
M2M EMBEDDED
DEVELOPMENT
KONEKI COMMONS
Modeling technologies and Machine-to-Machine Page 22
18. Long term objective
simple
extensible
model
that every ‘developer’ fully understands
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine Page 23
19. 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
Open Source M2M: The Koneki Project
• Describe the behaviour of the M2M application
see http://wiki.eclipse.org/Machine-to-machine_model
Modeling technologies and Machine-to-Machine Page 24
20. Demo!
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine 28th June 2011 Page 25
21. 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
Open Source M2M: The Koneki Project » (Java, web, …) background
• Don’t want to deal with embedded development constraints
Modeling technologies and Machine-to-Machine 28th June 2011 Page 26
22. Demo!
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine 28th June 2011 Page 27
23. Embedded application
Unit tests
Documentation
APPLICATION Communication simulation
MODEL Bandwidth use estimation
Web application
Smartphone widget
Open Source M2M: The Koneki Project Gadget
…
Modeling technologies and Machine-to-Machine Page 28
24. Demo!
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine 28th June 2011 Page 29
25. Roadmap overview
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
Open Source M2M: The Koneki Project
• Bandwidth estimation tool
• Communication simulator
Modeling technologies and Machine-to-Machine Page 30
26. Thank you!
http://www.eclipse.org/koneki
Contacts:
Benjamin Cabé
bcabe@sierrawireless.com
http://blog.benjamin-cabe.com
@kartben
Gaétan Morice
gmorice@sierrawireless.com
Open Source M2M: The Koneki Project
Modeling technologies and Machine-to-Machine 28th June 2011 Page 31