IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications

1
IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications {Saurabh Chauhan, Pankesh Patel, Ashish Sureka} 1 ; Flavia C. Delicato 2 ; Sanjay Chaudhary 3 1 ABB Corporate Research, India; 2 Federal University of Rio de Janeiro, Brazil; 3 Ahmedabad University • IoTSuite provides a set of modelling languages and integrates automation techniques at different life- cycle phases. • Early results demonstrate that IoTSuite reduces development effort for IoT application development compared to existing approaches. Conclusions 1. P. Patel and D. Cassou, “Enabling high-level application development for the internet of things”, Journal of Systems and Software, vol. 103, pp. 62 – 84, 2015. 2. S. Chauhan, P. Patel, F. Delicato, and S. Chaudhary, “A development framework for programming cyber-physical systems”, 2nd International Workshop on Software Engineering for Smart Cyber-Physical Systems References Heterogeneity • Types of Entities (e.g., Sensors, Actuators, Storage, End-user interface, Storage, Processing, Tags) • Interaction modes (e.g., publish/subscribe, request/ response, periodic, command, notify) • Device properties (e.g., memory, mobile, processing constraints) Communication protocols (e.g., MQTT, CoAP) • Language Platforms (e.g., Android, JavaSE, Node.js). • Different data formats (e.g., JSON, XML, SensML). Different Life-cycle Phases Design, Implementation, Deployment Aim: Enable IoT application development with minimal effort by developers. Research Motivation and Aim Safety: Fire detection application: It detects fire by analyzing data from Temperature Sensor and SmokeSensor. In case of fire, residences are notified on their smart phone. Additionally, residents are their neighbors are informed through alarm. Comfort: Personalized HVAC: It regulates temperature according to resident’s preference. Based on this, Heater is set by Temperature Regulator. Situation Awareness: Dashboard: It generates the current environment status such as temperature, humidity, and outside with Demo Application: Smart Home Smart Home Application Implementation Entities Component (model) Interaction mode Runs on Sensor Temperature (AM20302) Periodic Raspberry Pi Humidity (AM203020) Periodic Raspberry Pi Smoke (MQ2) Event- driven Arduino Actuator Heater (using 16 X 2 LCD) Command Raspberry Pi Alarm (using buzzer) Command Raspberry Pi Tag Badge Reader (RFID- RD522) Event Raspberry Pi Web Service Yahoo Weather Req./Resp. Yahoo Server End User Interaction End User App Notify Android Phone Dashboard Periodic Desktop Storage Database Server (MySQL) Req./Resp. Microsoft Cloud Computation Proximity & others Event, Command, Req./Resp. Desktop Approach S A T WS EU ST Comp. Tota l GPL 51 40 9 19 211 36 267 633 Node-RED 51* 40* 9* 0 39 14 118 271 IoTSuite 40 (Domain. Spec.)+29(Arch. Spec.)+42(Deploy Spec.)+ 14(User Interaction Spec.) +26(App. Logic Code)+36(User Interface Code) 188 Comparison of existing approaches: Lines of code required to develop smart home application Notes: *Nodes are not available in Node-RED library (flows.nodered. org/) till February 29, 2016. S (Sensor), A (Actuator), T (Tag), WS (Web Service), EU (End User Application), ST (Storage), Comp. (Computational Service). Dataflow of Smart Home Application Early Results Application Development using IoTSuite

Transcript of IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications

Page 1: IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications

IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications{Saurabh Chauhan, Pankesh Patel, Ashish Sureka}1; Flavia C. Delicato2; Sanjay Chaudhary 3

1ABB Corporate Research, India; 2Federal University of Rio de Janeiro, Brazil; 3Ahmedabad University

• IoTSuite provides a set of modelling languages and integrates automation techniques at different life-cycle phases.

• Early results demonstrate that IoTSuite reduces development effort for IoT application development compared to existing approaches.

Conclusions1. P. Patel and D. Cassou, “Enabling high-level application development for the internet of things”, Journal of

Systems and Software, vol. 103, pp. 62 – 84, 2015. 2. S. Chauhan, P. Patel, F. Delicato, and S. Chaudhary, “A development framework for programming cyber-

physical systems”, 2nd International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS), co-located with ICSE 2016.

3. IoTSuite is available at URL: https://github.com/pankeshlinux/IoTSuite/wiki

References

• Heterogeneity• Types of Entities (e.g., Sensors, Actuators, Storage,

End-user interface, Storage, Processing, Tags)• Interaction modes (e.g., publish/subscribe, request/

response, periodic, command, notify)• Device properties (e.g., memory, mobile, processing

constraints)• Communication protocols (e.g., MQTT, CoAP)• Language Platforms (e.g., Android, JavaSE, Node.js).• Different data formats (e.g., JSON, XML, SensML).

• Different Life-cycle Phases• Design, Implementation, Deployment

Aim: Enable IoT application development with minimal effort by developers.

Research Motivation and Aim• Safety: • Fire detection application: It detects fire by

analyzing data from Temperature Sensor and SmokeSensor. In case of fire, residences are notified on their smart phone. Additionally, residents are their neighbors are informed through alarm.

• Comfort:• Personalized HVAC: It regulates temperature

according to resident’s preference. Based on this, Heater is set by Temperature Regulator.

• Situation Awareness: • Dashboard: It generates the current environment

status such as temperature, humidity, and outside temperature by interacting with Yahoo Weather Service.

Demo Application: Smart Home

Smart Home Application ImplementationEntities Component

(model)Interaction

mode Runs on

Sensor

Temperature (AM20302) Periodic Raspberry Pi

Humidity (AM203020) Periodic Raspberry Pi

Smoke (MQ2) Event-driven Arduino

Actuator

Heater (using 16 X 2 LCD) Command Raspberry Pi

Alarm (using buzzer) Command Raspberry Pi

Tag Badge Reader (RFID-RD522) Event Raspberry Pi

Web Service Yahoo Weather Req./Resp. Yahoo Server

End User Interaction

End User App Notify Android PhoneDashboard Periodic Desktop

Storage Database Server (MySQL) Req./Resp. Microsoft Cloud

Computation Proximity & others

Event, Command, Req./Resp.

Desktop

Approach S A T WS EU ST Comp. TotalGPL 51 40 9 19 211 36 267 633

Node-RED 51* 40* 9* 0 39 14 118 271

IoTSuite 40 (Domain. Spec.)+29(Arch. Spec.)+42(Deploy Spec.)+ 14(User Interaction

Spec.)+26(App. Logic Code)+36(User Interface Code)

188

Comparison of existing approaches: Lines of code required to develop smart home application

Notes:• *Nodes are not available in Node-RED library (flows.nodered.

org/) till February 29, 2016. • S (Sensor), A (Actuator), T (Tag), WS (Web Service), EU (End

User Application), ST (Storage), Comp. (Computational Service).

Dataflow of Smart Home Application

Early Results Application Development using IoTSuite