Short Paper: A Scripting-Free Control Logic Editor For The Internet of Things

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

2014 IEEE World Forum on Internet of Things (WF-IoT)

Short Paper: A Scripting-Free Control Logic Editor


for the Internet of Things
Markus Jung, Esad Hajdarevic, Wolfgang Kastner Antonio Jara
Institute of Computer Aided Automation Information Systems Institute
Vienna University of Technology University of Applied Sciences Western Switzerland
Vienna, Austria Sierre, Switzerland
e-mail: {mjung,ehajdarevic,k}@auto.tuwien.ac.at e-mail: [email protected]

Abstract—The Internet of Things scales the Internet to billions approaches. Further, the control logic is executed on a central
of embedded nodes and allows to link physical and cyber systems controller or distributed amongst the devices that are involved
to form complex control systems. Current research focuses mainly to fulfil the desired function. The following requirements need
on the networking and communication protocols and leaves the
application layer and aspects like the engineering process and to be met in order to create control logic by graphical means
creation of control logic out of scope. Existing approaches are only and to provide a decentralized execution: i) data point
mainly based on using scripting languages to create control centric information representation, ii) generic base infor-
logic for the Internet of Things, which is a problem for non- mation model, iii) simple application layer communication
technical users. This paper presents oBeliX which is a generic services, iv) group communication interaction model, and
user interface and graphical control logic editor for the Internet
of Things. The system requirements to enable a scripting-free v) logic and virtual entities.
creation of control logic are stated and a concrete system
fulfilling these requirements together with a proof of concept III. I OTS Y S: A COMMUNICATION STACK FOR THE
implementation and evaluation are presented. I NTERNET OF T HINGS
Index Terms—Internet of Things, IPv6, graphical control logic
IoTSyS is a complete system stack designed for the Internet
of Things fulfilling the requirements stated in Section II. It
I. R ELATED WORK
can be deployed on constrained sensors or actuators and can
A centralized control approach based on a RESTful runtime also be used as integration middleware for state of the art
script container is presented in [1] where a JavaScript execu- home and building automation technologies. Details on the
tion engine is used as runtime container and acts a client/server communication stack have been presented in [4].
model with CoAP enabled devices. The IoTSyS protocol stack is based on mature and novel
The WoTKit [2] provides a framework to create IoT Internet communication protocols and Web standards. It uses
mashups. Its architecture is based on a Java Web application oBIX for the application layer information models which
using the Spring Framework. For exchanging sensor data follow a data point centric object model and simple appli-
between components, a Java Messaging Service (JMS) broker cation layer communication services are based on a RESTful
is used. A graphical editor allows wiring logic modules similar design paradigm offering read, write, delete or invoke
to the popular Yahoo Pipe Web mashup editor. protocol commands. Within IoTSyS a novel protocol binding
There are several Internet of Things platforms like to CoAP and message encodings to JSON and EXI have been
Paraimpu [3], Xively1 (known as COSM or Pachube) or created. In that way, the stack provides HTTP, CoAP and
ThingSpeak2 . What they have in common is a centralized SOAP for message exchange. A client can freely choose as
cloud platform that is used to collect sensor data and infor- message encoding either XML, JSON, EXI or oBIX Binary.
mation about devices. IPv6 can be used as network layer and is required by our
II. S YSTEM REQUIREMENTS group communication mechanism which cares for a peer to
peer interaction model for oBIX devices. Virtual logic objects
Within this section some generalized requirements are stated
provide functionality that is used to create complex control
that need to be provided by an Internet of Things system in
scenarios. This can range from simple numerical functions,
order to allow a generic user interface for creating distributed
boolean operators to more sophisticated functions like PID
control logic based on graphical means without any needs
controllers.
for programming or scripting. In general, the different ways
Figure 1 illustrates an overview of the complete system
to create control logic for the Internet of Things can be
architecture. Existing home and building automation systems
divided into only script-based, graphical-based or hybrid-based
are integrated into the system stack using the IoTSyS gateway,
1 https://xively.com/ offering oBIX communication interfaces for these devices.
2 https://www.thingspeak.com/ Beside the connectors to sensors and actuators, also virtual

978-1-4799-3459-1/14/$31.00 ©2014 IEEE 193


2014 IEEE World Forum on Internet of Things (WF-IoT)

connectors to, for example, a weather data service, are inte- For each oBIX object in the object canvas an 2 object
grated into the gateway. The gateway also hosts the oBeliX component is displayed. Following the oBIX object model, an
HTML5 user interface that can directly operate on oBIX object consists of sub objects which are either base value types
interfaces. For the user interface and for engineering the group like, for example, bool, int, real, str or complex objects.
communication endpoints, all objects need to be hosted in An object is rendered as component that provides HTML5
the gateway. For “native” devices that use the communication input elements for all base value types. For rendering the
stack in the field, a simple CoAP to HTTP proxy module object, a simple get request is performed on the object URI
provides a virtual representation of these objects. In this and the object structure is parsed dynamically. On a change of
way, the complete engineering of the control logic can be a base value property an according put request is performed
performed at the gateway but process communication happens and the object is updated at the server side.
in a decentralized way since the group tables are stored on The object component allows a simple interaction with
the devices. For process communication, IPv6 multicasting is devices and virtual objects represented through oBIX objects.
used together with the CoAP binding and EXI encoding to For engineering the 3 group communication relationships,
optimize the payload size. a graphical wire tool allows to group data points of different
objects together. Whether a data point can participate in
group communication or not is determined through a group
communication object that is attached as child object to the
1 basic value object. If such an object is present, connectors are
2
displayed that can be used to graphically wire objects using
a drag and drop mechanism. Once a connection is established
a dedicated IPv6 multicast address is added to the according
group communication objects.
3 For the evaluation of the control logic editor, a testbed
equipped with heterogeneous home and building automation
technologies is used and use case scenarios for lighting
Group Comm Table
DPT, IPv6 M. Addr.
DPT, IPv6 M. Addr.
control, alarming and HVAC control have been successfully
DPT, IPv6 M. Addr.
DPT, IPv6 M. Addr. realized.
Buildings Residential Homes
IoTSyS gateway V. C ONCLUSION
Group Comm Table
DPT, IPv6 M. Addr.
[FF02:1::1]
DPT, IPv6 M. Addr.
Group Comm Table
This paper presented a scripting-free control logic editor for
CoAP/EXI DPT, IPv6 M. Addr.
the Internet of Things by stating the general requirements to
[FF02:1::2]
CoAP/EXI
create scripting-free control logic. Further, it was shown how
[FF05:1::3]
CoAP/EXI a protocol stack based on IPv6, CoAP and oBIX can fulfil
[FF05:1::3] Group Comm Table
DPT, IPv6 M. Addr.
these requirements to setup scripting-free distributed control
CoAP/EXI Low-power and lossy network
Existing BAS appliances
with IoTSyS nodes logic.

Fig. 1: IoTSyS overview with oBeliX graphical user interface ACKNOWLEDGEMENT


Authors express their acknowledgement to the consortium
of the project IoT6 (www.iot6.eu). The IoT6 project is sup-
IV. O B ELI X: A GENERIC HTML5 USER INTERFACE AND ported by funding under the Seventh Research Framework
CONTROL LOGIC EDITOR Program of the European Union, with the grant agreement
oBeliX is an open-source3 HTML5 control engineering FP7-ICT-2011-7-288445 and the Internet Foundation Austria
interface based on JavaScript and CSS. It is a generic oBIX (IPA).
client that directly operates on the Web service interfaces pro- R EFERENCES
vided by the gateway component. It is deployed as standalone
[1] M. Kovatsch, M. Lanter, and S. Duquennoy, “Actinium: A RESTful
file served by the gateway component and uses the HTTP and Runtime Container for Scriptable Internet of Things Applications,” in
JSON protocol binding for oBIX. An 1 object browser is Proceedings of the 3rd International Conference on the Internet of Things,
2012.
the central entry point for a user as illustrated in Figure 1. It [2] M. Blackstock and R. Lea, “IoT mashups with the WoTKit,” in Pro-
lists the available objects based on a query using the oBIX ceedings of the 3rd International Conference on the Internet of Things,
lobby. Since everything is an object in oBIX which may have 2012.
[3] D. C. Pintus, Antonio and A. Piras, “Paraimpu: a platform for a social
an arbitrary number of sub objects the structure is recursively Web of things.” in Proceedings of the 21st ACM International Conference
analyzed and an entry is displayed in the object browser based Companion on World Wide Web, 2012.
on the name. The user can drag an element out of the browser [4] M. Jung and W. Kastner, “Efficient group communication based on Web
services for reliable control in wireless automation,” in Proceedings of
into the object canvas for display and to update values. the 39th Annual Conference of the IEEE Industrial Electronics Society,
2013.
3 http://code.google.com/p/iotsys

194

You might also like