Short Paper: A Scripting-Free Control Logic Editor For The Internet of Things
Short Paper: A Scripting-Free Control Logic Editor For The Internet of Things
Short Paper: A Scripting-Free Control Logic Editor For The Internet of Things
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
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.
194