independent of underlying IoT protocols like Zigbee,
DECT ULE, and KNX.
In the second sense (Eterovic et al., 2015), the
term, IoT system is used to express an application that
uses things. Thus, here an IoT system describes the
application for use of both, non-expert users as well
as IoT developers. Our interest here is in
development activities for building IoT applications
and therefore in this second sense.
An IoT application is itself variously described.
Huang and Li (Huang et al., 2010) define an IoT
application in terms of the “information of thing”. An
IoT application is one whose “information of thing”
is expressed in UID/EPC, is embedded in an RFID
electronic tag, and is uploaded by non-machine
contact. Clearly, this definition is very low level.
Costa (Costa et al., 2016) defines an IoT application
as “a collection of automated procedures and data,
integrated with heterogeneous entities (hardware,
software, and personnel) that interact with each other
and with their environment to reach common goals.”
They also define an ‘IoT application system’ as a
‘composition of Devices and Services interacting
with other Devices, Physical Entities, and Users’.
Thus, an IoT application system is a prescription for,
or a specification of, the IoT to be implemented.
There are two broad approaches to this
specification, UML based (Eterovic et al., 2015;
Thramboulidis et al., 2016) and SySML based (Costa
et al., 2016, Kotronis et al., 2018) respectively. The
former follows the software engineering approach
and exploits notions of components, ports etc. of
component diagrams of UML. The latter adopts the
system engineering approach and uses notions of
blocks and block interaction through connectors and
ports of SySML.
A domain specific UML based language for
describing an IoT in terms of things and their
interaction was proposed in (Eterovic et al., 2015). In
this language, a thing is considered to be the core
element of an IoT system. It can be a device, software
or a subsystem. A thing contains zero or more items
that may be inputs (e.g. temperature), outputs (e.g.
light switch} and components (e,g, log service).
Things are loosely connected and a change in one of
them does not affect the other. Interaction among
things is via ports.
In (Costa et al., 2016) device experts convert
device properties like types of devices, device
features as well as data formats and protocols into
components, that is, devices, services and resources
of the IoT application system. Further, device experts
model the structure and internal configurations of
devices in accordance with the IoT Domain Model.
Kotrinis (Kotronis et al., 2018) postulate that there
are a number of critical factors, for example, energy
consumption and time, that must be taken into
account during IoT application system design. The
approach adopted is to decompose the application
system into sub-systems and associate critical aspects
with sub-systems. Devices of subsystems then must
satisfy these criticalities. They assume that devices
are known upfront (ECG and fall detector in their
application) and the BDD and IBD of SysML are used
to show interaction.
The commonality in the foregoing is the
assumption that devices and their interaction is a
given and the problem is to arrive at a suitable
representation that forms the implementation design
of the IoT. This has a number of drawbacks
• The properties of devices like units, ranges, types
of devices etc., are not problem-driven. This may
lead to ill-fitting devices to be selected.
• Properties of communication like distance, data
quantity and data rates are again decided at
implementation time and are not obtained from
the problem being addressed.
• There is no explicit link between the device and
the real-world entity that it senses/actuates. Thus,
even though we know that there is a temperature
sensor, there is no explicit expression that the
temperature of a boiler is to be measured.
• The nature of the processing to be performed is
left unspecified. Thus, if measurements are to be
cleaned (Jeffery et al., 2006) before transmission,
then this is unspecified. Similarly, system
reliability may require multiple measurements of
the same property, say pressure. A single value is
then obtained from the multiple measurements.
However, reliability is an implementation issue
rather than being problem-driven.
Our position in this paper is that a problem-driven
specification of an IoT application system would
overcome these problems. Such a specification
performs the same role as done by conceptual
modelling in information systems, IS, engineering.
By analogy with an IS, we refer to an IoT application
system as an Information System of Things, ISoT and
a conceptual model as CMoT, Conceptual Model of
Things. Following the notion of a conceptual model
(Genero et al., 2005), a CMoT provides
implementation-independent concepts for a complete
expression of the system to be built. Thus, it provides
high-level concepts for representing real-world
entities, the phenomena to be sensed and its
properties, communication and its properties, as well
as any processing to be carried out. By analogy with