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.
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
(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 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. Total
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 ResultsApplication Development using IoTSuite

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

  • 1.
    IoTSuite: A Frameworkto 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. 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 (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 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. Total 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 ResultsApplication Development using IoTSuite