SlideShare a Scribd company logo
Smarter Internet of Things with
Stream and Event Processing
Virtual IoT Meetup
September 20, 2017
András Jankó, István Papp, István Ráth
IncQuery Labs
https://www.meetup.com/Virtual-IoT/events/238648625/
TL; DR
• IoT / Smart home and stream / event processing 101
• IncQuery Labs Smarthome CEP demonstrator
• “CEP on the edge of the smart home”
• Educational technology showcase
• Eclipse Smarthome / OpenHAB2 - middleware
• Drools – control logic
• HomeIO – smart home simulator
• Open source (EPL v1):
https://github.com/IncQueryLabs/smarthome-cep-demonstrator
IoT and stream processing
Devices Data publishers
Service
platforms
Data
consumers
Collect AnalyzeStream
React
Embedded,
smart
Gateways
(Kura, …)
MQTT, Kafka,
deepstreamHub,
...
Low-level
protocols
Cloud,
enterprise,
...
Storage,
analytics, …
OR real-time
stream or event
processing
(Event) Stream processing vs CEP
(Event) Stream processing CEP
Data centric: aggregates, trends Event centric: “find the needle in the haystack”
Imperative to “SQL-like” languages “SQL-like” to Rule / pattern based languages
Priority: speed Priority: expressiveness
Constrained data model, simple temporal
operators (time windows)
Relaxed data model, advanced temporal
operators (before, meets, overlaps, includes,
starts, coincides)
Distributed by design, easy to scale Harder to scale
Apache Spark, Apache Storm, Apache Flink,
Heron, Kinesis, Sybase ESP, Oracle EP, TIBCO
Streambase, …
WSO2 Siddhi, Esper, Drools, IBM WS Studio
Business Events, …
Streaming analytics, monitoring, data fusion… Surveillance, predictive maintenance, Smart
manufacturing, …
Eclipse Smarthome and OpenHAB
Eclipse
SmartHome
Communication
IO
Config
Model
Gateway
OpenHAB
Automation
Addons
Persistence
UI
https://eclipse.org/smarthome/https://www.openhab.org/ https://www.meetup.com/Virtual-IoT/events/238648474/
IncQuery Labs Smart home CEP demonstrator
Drools
Fusion
Simulator
(HomeIO)
OpenHAB2
Dashboard
Complex event
processing
UI
Communication
Open source (EPL v1): https://github.com/IncQueryLabs/smarthome-cep-demonstrator
Motivation
• Simulator
• Make it easier to develop smart home applications
• Architecture allows for hybrid setups (simulator AND physical devices together)
• Rule-based programs
• Discrete rules, each applying to a subset of the problem  focus on the essence
• Simple and flexible – best for often changing logic (e.g. quick prototyping)
• Drools Fusion - http://drools.jboss.org/drools-fusion.html
• ESH / OpenHAB2 support only simple rules by default 
Drools Fusion is much more powerful
• Fits “relatively well” into the ESH / OSGi world  Retains the benefits of the cloudless
smart home architecture
• Low latency, Offline operation  Avoid security and privacy concerns
• Integrates easily with Java  reuse components, integrate with local & remote services
• Pre-filter data on the gateway edge computing
Drools - ESH integration
Inference engine
Pattern matcher
Agenda
Execution
engine
Working
memory
Rule
specifications
Input
Output
Runtime model:
• ESH Item registry
 save RAM by object reuse
• extended event bus
Java code
Smart home Hello world with Drools
rule "Example Lights Switch"
when
$item : Item( name == "Example_Light", $state : state)
ItemStateChangedEvent( name == "Example_Switch", newState ==
OPEN)
then
if ($state == ON) {
openhab.postCommand($item, OFF);
} else {
openhab.postCommand($item, ON);
}
end
ESH Item
instance with
pattern
constraints
Event bus info
– encodes
state changes
OpenHAB
helper classes
Live Demo
Summary
• Demonstrator features
• HomeIO - MQTT adapter (with OpenHAB translator)
• Extended event bus for ESH
• Drools – OSGi integration
• Case study sample rules, docs on the wiki
• JUnit tests & ESH mock
• Build with Maven+Tycho
• Plans for the future
• Support open source simulators (OpenSHS) and other CEP engines (Esper, BeepBeep3)
• Developer tools enhancements
(Oomph, Drools debugger, project & code generation with VIATRA)
• Eclipse.org contributions – if there is interest
• + your favorite enhancement – looking for contributors!
• Next presentation @ EclipseCon Europe 2017 IoT Day:
• https://www.eclipsecon.org/europe2017/session/iot-day-lightning-talks

More Related Content

PPTX
Easier smart home development with simulators and rule engines
PPTX
Eclipse VIATRA Overview 2017
PPTX
Serverless and IoT
PPTX
Overkill Analytics Seattle Spark Meetup
PDF
Drupal project-rules
PDF
Collaboration with NSFCloud
PDF
WSO2Con ASIA 2016: Patterns for Deploying Analytics in the Real World
PDF
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Easier smart home development with simulators and rule engines
Eclipse VIATRA Overview 2017
Serverless and IoT
Overkill Analytics Seattle Spark Meetup
Drupal project-rules
Collaboration with NSFCloud
WSO2Con ASIA 2016: Patterns for Deploying Analytics in the Real World
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...

What's hot (6)

PDF
Metabase lj meetup
PDF
A data layer in clojure
PPTX
Graph Databases at Netflix
PDF
Online statistical analysis using transducers and sketch algorithms
PDF
Ceilometer presentation ODS Grizzly.pdf
PDF
Open Science Grid
Metabase lj meetup
A data layer in clojure
Graph Databases at Netflix
Online statistical analysis using transducers and sketch algorithms
Ceilometer presentation ODS Grizzly.pdf
Open Science Grid
Ad

Similar to Smarter internet of things with stream and event processing virtual io_t_meetup_20170920 (20)

PDF
Ultra Fast Deep Learning in Hybrid Cloud using Intel Analytics Zoo & Alluxio
PDF
Ultra Fast Deep Learning in Hybrid Cloud Using Intel Analytics Zoo & Alluxio
PPTX
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
PDF
nuclio Overview October 2017
PDF
iguazio - nuclio overview to CNCF (Sep 25th 2017)
PDF
Tugdual Grall - Real World Use Cases: Hadoop and NoSQL in Production
PDF
Big Data and Machine Learning with FIWARE
PDF
PDF
Apache Drill: An Active, Ad-hoc Query System for large-scale Data Sets
PPTX
Scaling collaborative data science with Globus and Jupyter
PDF
Hidden pearls for High-Performance-Persistence
PPTX
Hadoop workshop
PDF
PPT
Other distributed systems
PPTX
Attack monitoring using ElasticSearch Logstash and Kibana
PPTX
Introduction To Big Data and Use Cases using Hadoop
PPTX
Eagle from eBay at China Hadoop Summit 2015
PPTX
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
PDF
Linked Process
PDF
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Ultra Fast Deep Learning in Hybrid Cloud using Intel Analytics Zoo & Alluxio
Ultra Fast Deep Learning in Hybrid Cloud Using Intel Analytics Zoo & Alluxio
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
nuclio Overview October 2017
iguazio - nuclio overview to CNCF (Sep 25th 2017)
Tugdual Grall - Real World Use Cases: Hadoop and NoSQL in Production
Big Data and Machine Learning with FIWARE
Apache Drill: An Active, Ad-hoc Query System for large-scale Data Sets
Scaling collaborative data science with Globus and Jupyter
Hidden pearls for High-Performance-Persistence
Hadoop workshop
Other distributed systems
Attack monitoring using ElasticSearch Logstash and Kibana
Introduction To Big Data and Use Cases using Hadoop
Eagle from eBay at China Hadoop Summit 2015
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
Linked Process
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Ad

More from Istvan Rath (20)

PDF
Cloud-based Modelling Solutions Empowering Tool Integration
PPTX
Cloud-based Modelling Solutions Empowering Tool Integration
PPTX
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
PDF
IncQuery Server for Teamwork Cloud - Talk at IW2019
PPTX
VIATRA 2.0 Webinar
PPTX
Modes3: Model-based Demonstrator for Smart and Safe Systems
PPTX
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
PPTX
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
PPTX
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
PPTX
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
PPTX
Xcore meets IncQuery: How the New Generation of DSLs are Made
PDF
EMF-IncQuery 0.7 Presentation for Itemis
PPTX
Event-driven Model Transformations in Domain-specific Modeling Languages
PDF
The SENSORIA Development Environment
PDF
Challenges for advanced domain-specific frameworks
PDF
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
PDF
Change-driven model transformations
PDF
Domain-specifikus nyelvek a fejlesztésben
PDF
Incremental pattern matching in the VIATRA2 model transformation framework
PDF
Model transformations in the VIATRA2 framework
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool Integration
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
IncQuery Server for Teamwork Cloud - Talk at IW2019
VIATRA 2.0 Webinar
Modes3: Model-based Demonstrator for Smart and Safe Systems
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
Xcore meets IncQuery: How the New Generation of DSLs are Made
EMF-IncQuery 0.7 Presentation for Itemis
Event-driven Model Transformations in Domain-specific Modeling Languages
The SENSORIA Development Environment
Challenges for advanced domain-specific frameworks
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Change-driven model transformations
Domain-specifikus nyelvek a fejlesztésben
Incremental pattern matching in the VIATRA2 model transformation framework
Model transformations in the VIATRA2 framework

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PPT
Teaching material agriculture food technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Spectroscopy.pptx food analysis technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Unlocking AI with Model Context Protocol (MCP)
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
Teaching material agriculture food technology
Spectral efficient network and resource selection model in 5G networks
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
Network Security Unit 5.pdf for BCA BBA.
Understanding_Digital_Forensics_Presentation.pptx
Approach and Philosophy of On baking technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Spectroscopy.pptx food analysis technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Dropbox Q2 2025 Financial Results & Investor Presentation

Smarter internet of things with stream and event processing virtual io_t_meetup_20170920

  • 1. Smarter Internet of Things with Stream and Event Processing Virtual IoT Meetup September 20, 2017 András Jankó, István Papp, István Ráth IncQuery Labs https://www.meetup.com/Virtual-IoT/events/238648625/
  • 2. TL; DR • IoT / Smart home and stream / event processing 101 • IncQuery Labs Smarthome CEP demonstrator • “CEP on the edge of the smart home” • Educational technology showcase • Eclipse Smarthome / OpenHAB2 - middleware • Drools – control logic • HomeIO – smart home simulator • Open source (EPL v1): https://github.com/IncQueryLabs/smarthome-cep-demonstrator
  • 3. IoT and stream processing Devices Data publishers Service platforms Data consumers Collect AnalyzeStream React Embedded, smart Gateways (Kura, …) MQTT, Kafka, deepstreamHub, ... Low-level protocols Cloud, enterprise, ... Storage, analytics, … OR real-time stream or event processing
  • 4. (Event) Stream processing vs CEP (Event) Stream processing CEP Data centric: aggregates, trends Event centric: “find the needle in the haystack” Imperative to “SQL-like” languages “SQL-like” to Rule / pattern based languages Priority: speed Priority: expressiveness Constrained data model, simple temporal operators (time windows) Relaxed data model, advanced temporal operators (before, meets, overlaps, includes, starts, coincides) Distributed by design, easy to scale Harder to scale Apache Spark, Apache Storm, Apache Flink, Heron, Kinesis, Sybase ESP, Oracle EP, TIBCO Streambase, … WSO2 Siddhi, Esper, Drools, IBM WS Studio Business Events, … Streaming analytics, monitoring, data fusion… Surveillance, predictive maintenance, Smart manufacturing, …
  • 5. Eclipse Smarthome and OpenHAB Eclipse SmartHome Communication IO Config Model Gateway OpenHAB Automation Addons Persistence UI https://eclipse.org/smarthome/https://www.openhab.org/ https://www.meetup.com/Virtual-IoT/events/238648474/
  • 6. IncQuery Labs Smart home CEP demonstrator Drools Fusion Simulator (HomeIO) OpenHAB2 Dashboard Complex event processing UI Communication Open source (EPL v1): https://github.com/IncQueryLabs/smarthome-cep-demonstrator
  • 7. Motivation • Simulator • Make it easier to develop smart home applications • Architecture allows for hybrid setups (simulator AND physical devices together) • Rule-based programs • Discrete rules, each applying to a subset of the problem  focus on the essence • Simple and flexible – best for often changing logic (e.g. quick prototyping) • Drools Fusion - http://drools.jboss.org/drools-fusion.html • ESH / OpenHAB2 support only simple rules by default  Drools Fusion is much more powerful • Fits “relatively well” into the ESH / OSGi world  Retains the benefits of the cloudless smart home architecture • Low latency, Offline operation  Avoid security and privacy concerns • Integrates easily with Java  reuse components, integrate with local & remote services • Pre-filter data on the gateway edge computing
  • 8. Drools - ESH integration Inference engine Pattern matcher Agenda Execution engine Working memory Rule specifications Input Output Runtime model: • ESH Item registry  save RAM by object reuse • extended event bus Java code
  • 9. Smart home Hello world with Drools rule "Example Lights Switch" when $item : Item( name == "Example_Light", $state : state) ItemStateChangedEvent( name == "Example_Switch", newState == OPEN) then if ($state == ON) { openhab.postCommand($item, OFF); } else { openhab.postCommand($item, ON); } end ESH Item instance with pattern constraints Event bus info – encodes state changes OpenHAB helper classes
  • 11. Summary • Demonstrator features • HomeIO - MQTT adapter (with OpenHAB translator) • Extended event bus for ESH • Drools – OSGi integration • Case study sample rules, docs on the wiki • JUnit tests & ESH mock • Build with Maven+Tycho • Plans for the future • Support open source simulators (OpenSHS) and other CEP engines (Esper, BeepBeep3) • Developer tools enhancements (Oomph, Drools debugger, project & code generation with VIATRA) • Eclipse.org contributions – if there is interest • + your favorite enhancement – looking for contributors! • Next presentation @ EclipseCon Europe 2017 IoT Day: • https://www.eclipsecon.org/europe2017/session/iot-day-lightning-talks