IoT Supercharged: Complex event processing for MQTT with Eclipse technologies

951 views

Published on

Slides for our talk at EclipseCon Europe 2015. More details at https://www.eclipsecon.org/europe2015/session/iot-supercharged-complex-event-processing-mqtt-eclipse-technologies

Published in: Software
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
951
On SlideShare
0
From Embeds
0
Number of Embeds
62
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

IoT Supercharged: Complex event processing for MQTT with Eclipse technologies

  1. 1. IoT Supercharged: Complex event processing for MQTT with Eclipse technologies István Ráth (Budapest University of Technology and Economics) Ákos Horváth (IncQuery Labs)
  2. 2. IoT challenges Sensors Smart home Personal devices • Challenges • Produce a coherent view of the system • Detect and react quickly • Scale with system complexity • Lots of data • Many different sources • Many different original formats
  3. 3. States and events Window is open Window is closed window_close window_open State Event State-based logic: switch (state) { case (window_open): if (room_temp<12) alarm(); } Event-based logic: on (window_open) { if (room_temp<12) alarm(); } How do I …? when (“window was opened at least 10 minutes ago” && “room cools down to 12”) { alarm(); }
  4. 4. Complex event processing Event 1 Event 2 Event n Event 3 Time window: > 10 mins Room_temp is below 12 AND it was higher before AND window was opened >10 mins ago AND wasn’t closed since Room_temp = 15 Window_open = true Room_temp = 11Door_closed = true Event stream
  5. 5. Complex event processing Event 1 Event 2 Event n Event 3 Room_temp = 15 Window_open = true Room_temp = 11 Time window: > 10 mins Room_temp is below 12 AND it was higher before AND window was opened >10 mins ago AND wasn’t closed since Door_closed = true MATCH • Traditional application domains: • Online log analysis • Intrusion / fraud detection • Algorithmic trading, … • Tools • Microsoft, Oracle, SAP, … • Drools Fusion (ASL 2) • Esper (GPL v2) • And now: VIATRA-CEP (EPL)!
  6. 6. OSGi VIATRA-CEP overview Runtime Design time VIATRA-CEP (VEPL) EMF- IncQuery (IQPL) Arduino, RasPI etc. MQTT Runtime EMF model VIATRA-CEP runtime Dashboard • Xtext-based DSLs powered by XBase • Easy to integrate with Java or Xtend • Reuse your existing Java code • Structured system state representation • Serialization in human readable format • Use Modeling tools in new ways: Debugging and Visualization • See our other talk on Sirius “live diagrams” Thu 11.15 Silchersaal https://goo.gl/SmvMv8 • EMF-IncQuery: scalable incremental EMF queries • VIATRA: live model transformations based on IncQuery and Xtend
  7. 7. Let’s see some code (live demo)
  8. 8. Real-world applications IncQuery-Jnect Demo @ ECE 2013 Model train demo 2014-2015 TeqBox: automated game tracking system for TeqBall http://teqball.com http://y2u.be/I6XwXy65KPE
  9. 9. Conclusion Pointers • http://eclipse.org/viatra • https://wiki.eclipse.org/VIATRA/CEP • https://github.com/IncQueryLabs/viatra-cep-mqtt Acknowledgements • István Dávid (University of Antwerp) • András Vörös, Bálint Hegyi, László Balogh (BUTE) • István Papp, Ákos Menyhért, Zoltán Selmeczi, Zsolt Mázló (IncQuery Labs) Thank you for your attention!
  10. 10. Don’t forget to evaluate!

×