ds lfor iot

15
The 38 th International convention MIPRO 2015 Computers in Technical Systems Design of a domain specific language and IDE for Internet of things applications Adan Salihbegović, Teo Eterović , Enio Kaljić and Samir Ribić Faculty of Electrical engineering, University of Sarajevo, Bosnia Herzegovina May 25-29, 2015 Opatija, Croatia

Upload: adnan-salihbegovic

Post on 12-Aug-2015

31 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ds lfor iot

The 38th International convention MIPRO 2015

Computers in Technical Systems

Design of a domain specific language and IDE for Internet of

things applications Adan Salihbegović, Teo Eterović , Enio Kaljić and Samir Ribić

Faculty of Electrical engineering, University of Sarajevo, Bosnia Herzegovina

May 25-29, 2015 Opatija, Croatia

Page 2: Ds lfor iot

• Designers of IoT applications should be relieved of most of specifics (wide range of hardware and software entities running on specific platforms, middleware specific features)

• Use integrated development environment (IDE) based on domain specific high level language which would abstract most of these intricacies and specifics in hardware, software, communication media and protocols.

INTRODUCTION

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 2

Page 3: Ds lfor iot

• PervML promotes the separation of roles where IoT application developers can be categorized as system analysts and system architects

• DiaSuite provides a design language, named DiaSpec and consists of two layers: taxonomy layer and application design layer.

• Node-RED open source IBM Emerging Technology software is visual tool for wiring the Internet of things application configurations.

• OpenHAB represents general purpose framework for smart home gateways and is fully based on the Eclipse SmartHome project

DSL IN IOT DEVELOPMENT

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 3

Page 4: Ds lfor iot

• There are many efforts going on among researchers and developers to develop higher level domain specific language that will abstract many of specifics and peculiarities into building blocks and library modules

• In this research project, we have opted for the development of one visual domain specific language that shall empower IoT application designer with a visual high level language and based on it, a design Editor named DSL-4-IoT.

• The front end of the Editor has been developed in JavaScript, linked to OpenHab runtime engine

STRUCTURE OF DSL-4-IOT LANGUAGE

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 4

Page 5: Ds lfor iot

• Toolbar: standard options, export rules• Generate items, sitemaps

EDITOR LAYOUT

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 5

Page 6: Ds lfor iot

• Items are objects that can be read or written to, in order to interact with them.

• Items can be bound to bindings, i.e. for reading the value or status from device channel input or for updating output channel going to some actuator device.

• Hierarchical clustering has to be specified consisting of: System Subsystem Device Physical or virtual channel

EDITOR LAYOUT (2)

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 6

Page 7: Ds lfor iot

• Runtime libraries are JavaScript coded based on OpenHAB runtime engine used to execute application with generated configuration files.

• DSL-4-IoT for configured IoT system structure, exports the data into one JSON array.

• JSON configuration array includes OpenHAB specific fields and associated rules.

• It is converted to .items and .rules files

EXPORT

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 7

Page 8: Ds lfor iot

• Local domain at 2nd floor within faculty building,• Remote domain at 3rd floor within faculty building• Mobile domain which can be located anywhere within

the reach of mobile network signal.

EXPERIMENTAL TESTBED

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 8

Page 9: Ds lfor iot

• Local domain: smart home sensors (e.g. temperature, humidity, luminosity, presence, position, proximity, air pollution with various pollutants, movement, weight, opened, closed, flood, etc.) . • Core server (SWSN0) is built on Arduino compatible

UDOO module based on embedded computer with Freescale i.MX 6 ARM Cortex-A9 1 GHz quad-core processor

LOCAL DOMAIN

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 9

Page 10: Ds lfor iot

• Health sensor shield empowers biometric and medical applications where human patient local and remote monitoring is needed, using 10 different biomedical sensors: pulse, oxygen in blood , airflow , body temperature, ECG , glucometer, galvanic skin response, blood pressure , patient position and muscle/electromyography sensor (EMG).

REMOTE DOMAIN

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 10

Page 11: Ds lfor iot

• Mobile domain is based on the GPRS mobile node, and Android based mobile phones and tablets. GPRS mobile node is implemented using Arduino Due board and GPRS shield.

• For communication between GRPS mobile node and server, OpenHAB REST API was used, utilizing my.openHAB cloud service.

• Sensors and actuators are based on different communication technologies ( Wi-Fi, ZigBee, Z-wave, Bluetooth, NFC, ) and protocols ( HTTP, TCP/IP, UDP, MQTT, Modbus, SimpliciTI, serial protocols etc.).

MOBILE DOMAIN

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 11

Page 12: Ds lfor iot

• Video streams from IP cameras are taken in MJPEG format and presented to the user inside openHAB web interface on desktop and laptop computers, or HABDroid application on Android based mobile phones

• User interface that provides monitoring as well as full control of all devices is provided as web application in any web browser that has JavaScript runtime engine included, connecting to IP address of the server

CONNECTIVITY

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 12

Page 13: Ds lfor iot

• This is the layout of the test platform in the DSL4IoT editor

LAYOUT OF TESTBED PLATFORM

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 13

Page 14: Ds lfor iot

• Rule Editors When (any measured biometric parameter or combination of these is outside of the permissible limits) Then - Send visual and audible alarm to nurse in central monitoring -Send SMS message to mobile phone or smart watch of doctor on duty, or any other relevant phone number - Send email message to any email address defined

CURRENT WORK

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 14

Page 15: Ds lfor iot

• The development of IoT application design environment based on the high level visual programming language in form of Editor within the class of visual domain specific modelling languages (VDSML) .The front end of the Editor is based on JavaScript language.

• The runtime execution of IoT application configuration files, generated with this Editor is carried out by OpenHAB runtime engine developed within the framework of “OpenHAB” open source project.

• Work in progress is development of visual rule editor based on Google Blockly blocks for building web based Editors

Conclusion

May 28, 2015 Salihbegović-Kaljić-Eterović-Ribić/ETF Sarajevo 15