Vous êtes sur la page 1sur 8

2015 18th International Conference on Intelligence in Next Generation Networks

Industrial application development exploiting IoT


Vision and Model Driven programming
Conzon D., Brizzi P.,
Pramudianto F. Cultrona P.
Kasinathan P., Pastrone C.
Fraunhofer Institute for Applied
Pervasive Technology Area (PerT), Comau S.p.a.
Information Technology FIT
Istituto Superiore Mario Boella (ISMB) Via Rivalta, 30
Schloss Birlinghoven,
Via P.C. Boggio 61, 10138 Torino, Italy 10095 Grugliasco, Italy
53754 St. Augustin, Germany

{brizzi, conzon, kasinathan, pastrone}


ferry.pramudianto@fit.fraunhofer.de pietro.cultrona@comau.com
@ismb.it

AbstractIn recent years there has been a huge discussion about functions [1]. On the other hand, shifting to the IoT means to
the IoT (Internet of Things) concept, and even more about IoT within add, to already existing CPSs or CPSoSs, those features
industrial environment. The real IoT is a network of devices with properly to the internet world; themes like naming &
local intelligence (sensors, lights, gas pumps, HVAC systems), which addressing and search & discovery, which today are addressed
shares access & control mechanisms to push and pull status and by almost all relevant IoT projects [3]. The ebbits project [1] -
command information from the networked world. However, there are
Enabling business-based Internet of Things and Services - in
still some issues, limiting the IoT diffusion: the devices involved are
heterogeneous, with proprietary system of chips, protocols and the scope of this paper, has been aimed to addressing all those
interface; furthermore, there is a lack of development toolkits, issues, specifically developing architecture, technologies and
enabling developers to create and evaluate IoT prototypes in simple processes, which allow to integrate the IoTPS (Internet of
and flexible manner. The ebbits [1] platform addressed those issues, Things People and Services) into mainstream enterprise
taking advantages from the IoT vision and providing a middleware systems and support interoperable real-world, online end-to-
infrastructure for the integration of heterogeneous industrial devices end business applications.
and sensors, transforming them into web services and thus enabling
their seamless integration into existing legacy systems. This paper The ebbits platform features a SoA (Service-oriented
will introduce the platform and its software architecture, describing Architecture), based on open protocols and middleware, which
features like semantic devices interoperability and entity simplifies the development of applications for on-line
virtualization. Furthermore, the paper will describe an innovative, monitoring of the production processes and the products
IoT oriented, model driven development toolkit. This toolkit themselves, throughout the entire product life cycle. Even if
leverages on the semantic discovery service, allowing to dynamically the middleware introduction aims to simplify the development
selecting and locating available resources or devices, and provides a
of such IoT based application, there is another significant
flexible instrument, including a graphical interface, that enables
developers to compose mashup applications. requirement that comes from the users perspective: today the
developer finds relevant difficulties while dealing with the
Keywords ebbits, Internet of Things People and Services, actual deployment of IoT apps, especially in complex and
Middleware, Model Driven Development. sensitive scenarios, such as the manufacturing industry.
Indeed, the developing process is a tedious task, requiring
I. INTRODUCTION expertise in disparate fields (various sensor components,
network protocols, data format, data management and so on).
The IoT is the current vision for a future Internet Additionally, the design of the existing IoT development
encompassing any IT artefact, information source, and platforms supports mainly vertical scenarios, like embedded
recently, even people and services. The IoT vision has found a system management or enterprise applications. Consequently,
breeding ground also in the industrial ecosystem, where it is the creation of a simple IoT prototype requires merging
used to talk about CPS, standing for Cyber-Physical System, different heterogeneous tools and programming platforms,
or CPSoS (CPS of Systems). However, CPS properly refers to thereby increasing time, effort and development costs.
next generation embedded systems that are interconnected to
perform advanced and automated controls. CPSoSs, instead, This paper extends the work reported in [4], which
are complex architectures, able to manage multiple CPSs. proposes the description of the ebbits platform. [4] focused on
Bringing the IoT in the manufacturing environment, firstly new approaches to be used in factory automation and on
means to deal with crucial issues like privacy, safety, security, techniques used for energy consumption optimization and CO2
usability and adaptability plus other physical requirements like reduction on the top of the ebbits middleware, also proposing
limited power consumption, small dimensions and higher prototypes (a single-stage energy and water usage monitor, a
computing power, generally making devices "smarter, welding robot remote control app and a WSN-based robot arm
endowed with monitoring, actuation and data gathering acceleration monitor interface). In this paper, authors aim to

This work is part of the Integrated European project ebbits, co-funded by


the European Commission within the 7th Framework Program, ICT-2009.1.3
Internet of Things and Enterprise environments, grant agreement No. 257852.

978-1-4799-1866-9/15/$31.00 2015 IEEE 168


2015 18th International Conference on Intelligence in Next Generation Networks

add details regarding the latest ebbits middleware progresses Frameworks for Business Process Life Cycle Management
and propose a model driven development toolkit that allows - includes process taxonomy and optimization metrics.
inexperienced developers to discover and compose distributed
devices and services into mashups [5]. The modeling tool The ebbits project advances the LinkSmart middleware, the
proposed allows operators to model the integration of IoT main result of an EU project called Hydra [6], described in
components visually and programmatically, transforming the subsection B. It combines a service-oriented architecture, peer-
model into actual source code, executable as a standalone to-peer networking technologies and semantic Web Services,
application, with software interfaces selectable during addressing the interoperability issue. On the top of LinkSmart,
prototype modeling. the ebbits platform builds its five main layers:

The organization of the rest of the paper is the following. Physical World - Composed by the actual devices of the
Section II summarizes the ebbits platform architecture, physical world, including PLC, robot arms, wireless sensor
particularly describing the middleware architecture, the PWAL devices, etc.
(Physical World Adaptation Layer) development and other Internet of Things - Enables the physical world devices by
relevant components. Section III describes the application exposing their functionalities in the platform and providing
scenario and Section IV introduces the model driven metadata for physical world devices.
development approach focusing on mashup development,
semantic discovery, the proposed model driven tool and a Internet of Services - Provides services for managing the
usability evaluation of it. Finally, authors hand out of their IoT devices at a higher level, for example handling events
conclusion in the section V. and context data.
Business System Mediation - Provides higher-level
II. EBBITS PLATFORM services, interacting with external services, like legacy
business systems or ERP.
Ebbits provides semantic resolution to IoT and hence
presents a new bridge between backend enterprise Inter Business layer - provides inter connectivity for
applications, people, services and the physical world, using different ebbits based systems.
information generated by tags, sensors, and other devices and
performing actions on the real world. The platform is based on Besides these main layers, there is an adaption layer
a SoA, so virtualizing every device into a service. The SoA between Physical World and Internet of Things, described in
approach will allow these services to semantically discover, the next subsection.
configure, and communicate with each other. Furthermore, the
ebbits platform aims at supporting interoperable applications A. Physical World Adaption Layer (PWAL)
to process context-aware data, separated in time and space, The PWAL is the adaption layer between the Physical
acquiring information and real-world events and to handle end- World sensors and Internet of Things platform, used to provide
to-end business workflows, including comprehensive a common way to interconnect physical entities (including
consumer demands. The ebbits platform enables these main sensors, devices, protocols and communication channels),
innovative features: which are not part of LinkSmart or of other ebbits components.
An initial architecture of the PWAL has been already
Physical world sensors and networks - supporting semantic introduced and published [4]. This work adds several
interoperability between heterogeneous physical world enhancements and describes in detail the final software
technologies and the enterprise systems, also outlining architecture. The main role of the PWAL is to abstract any
scalable network architectures and featuring opportunistic device connected to the platform, exposing its capabilities and
communication paradigms. output data and hiding the specific implementation details
Entity Virtualization - realized through an addressing layer (hardware and software). Specifically, the capabilities exposed
based on unique identifiers, it enables discovery features, are the events generated, the services offered and the direct
through semantic techniques and attribute-based services access to information stored into hardware resources. In this
descriptions. way, the application that uses the device can interact with it,
without knowing details about its implementation. The
Data and Event Management - providing a P2P (peer-to- capabilities of the device are exposed through the PWAL
peer) Event Management Architecture, which leverages on driver, which provides, on one side, an abstraction to the
the publish & subscribe communication paradigm to device specific technologies and, on the other side, a uniform
handle rule-based service orchestration. interface for other ebbits components, ensuring that devices
Centralized and Distributed Intelligence - allowing the can be integrated seamlessly with the other IoT components of
definition of data fusion frameworks and adopting the platform. Figure 1 shows the PWAL architecture, which is
ontology-based context models to promote self-awareness based on three separated Java components:
mechanisms. The PWAL framework - It is the core of the architecture,
Semantic Knowledge Infrastructure - Connecting many the entry point by the applications using it. This component
conventional data sources to semantic models, with support provides the list of the drivers currently available and
of hybrid querying and real-time reasoning. allows to actually handling them.

169
2015 18th International Conference on Intelligence in Next Generation Networks

The PWAL API - It is the component that contains the


interfaces, which have to be used by the developers, in
order to develop new drivers. It contains the basic structure
for the drivers, which allows to simply exposing events
generated, services provided and data polling. This
component contains also all the models, basic structures of
generic drivers, to be used as reference developments and
then specialized by the developers. The version of the
PWAL described in this paper does not interact with the
ontology model of LinkSmart detailed in section IV.D. The
integration and harmonization of the two models is one of
the tasks already planned for the future developments of
the platform.
The PWAL drivers - Separated components, with a
common structure (interfaces defined in the API), which
control the physical resources. Every driver, when started,
registers itself on the PWAL framework, in order to
maintain the list of available drivers always updated. A
PWAL driver is a piece of software that communicates
with the physical device using device specific technology Figure 1: PWAL architecture
and exposes standard interfaces for the ebbits platform.
One of the main features provided by a PWAL driver is to ebbits platform, eventually can also be used with other
offer a common interface for a group of similar devices: for solutions, without doing major modifications. The interface
example, all temperature sensors can be modeled as a between the PWAL and the platform is the Internet of Things
device that exposes a getTemperature() service to retrieve layer of ebbits. This layer includes the DDM (Device
the measure (including any other additional services or Discovery Manager) and the DP (Device Proxy). The DDM
data). The example done for the temperature sensor is uses the LinkSmart device ontology to instantiate proxies.
extendible to any other device, for example, the driver A proxy is a piece of software, which communicates with
developed to control an RFID reader using the the PWAL driver and exposes its features to other ebbits
EPCGlobals Low Level Reader Protocol (LLRP) can be components, leveraging the LinkSmart features. The proxy
used to control every reader compliant with this protocol. represents the physical device as a virtual device. The DP
The PWAL is responsible to detect the presence of new includes Context Manager, which stores all information that is
devices and services in the physical world. To fulfill this task, not included in the raw data of the device (info like
it contains a set of Discovery Managers, one for each measurement unit, reading frequency, error state, etc.). The
technology (such as Bluetooth, 6LowPAN and so on), because Context Manager in the Proxy provides and uses information
they work on low-level protocol and for this reason must be provided by Context Managers of higher level. Section C
very specific for each technology used. describes more deeply the Context Manager, together with the
features of the main components of the ebbits platform.
Leveraging this model it is possible to simplify both the
integration of a new device in the platform, and its use. When B. The LinkSmart Middleware
a new device, of a certain type, has to be integrated, the LinkSmart [14] is an OSGi-based middleware for the
developer does not need to write from scratch the driver, but networking of heterogeneous systems through loosely coupled
he can use the model already implemented for that type of web services. Its communication was originally based on
device, and only the low-level part of the driver, needed to SOAP web services, but the last versions introduce a new
communicate with the specific device, has to be written. In the tunnel service, which offers querying for services through
same time, the PWAL allows simply using a new integrated parameterized URLs, paving the way for innovative SOAP-
device; indeed, if an application was already using another less application. LinkSmart is composed by a set of system
device of that type, it can use the new one with the same components (called managers), there are mandatory
interface, without the need to know anything about its components, such as the Network Manager, which provides
implementation. the networking features; and, optionally ones, like Context
The architecture is based on the OSGi (Open Service Manager or the Device Discovery Manager, which discovers
Gateway initiative) framework, a Java environment used to the new devices integrated in the LinkSmart network.
dynamically control the life cycle of different Java modules. In LinkSmart includes a set of ontologies. Particularly, the
this way, there is loose coupling among the different Device Ontology describes the device related information; it
components and it is possible to install, start, stop and remove contains information about device type, model and
at runtime the drivers, without the need to stop and restart the manufacturer; furthermore, the services provided by the device
entire platform. The PWAL is not tightly coupled with the are modeled using operation names, inputs and outputs. Both
platform using it. In this way, this component, integrated in the

170
2015 18th International Conference on Intelligence in Next Generation Networks

the device types and the device services are organized into sensor information, and their semantics defined by the
taxonomy. The LinkSmart communication network was ontology. In the rules, there is also the definition of action
originally based on the protocol JXTA (Juxtapose), which that should be performed when certain context is
creates an overlay virtual P2P network and allows different recognized.
peers to interconnect with each other, also if they are behind
firewalls and NATs, giving more interoperability. LinkSmart Device Discovery Manager: it is the component in charge
supports two different communication paradigms, traditional to detect when new features of a device are exposed
web services or publish-subscribe event management through (events generated, services offered, properties hosted) by
SOAP web services, as described in the section C - Event the PWAL. The DDM is in charge to group these feature in
Manager, together with a brief description of the main a virtual device (the Device Proxy) that will be the
platform components. interface between the PWAL device driver and the other
platforms components.
C. Platform components Event Manager: it is the component used to implement the
The ebbits platform architecture (based on the LinkSmart publish-subscribe paradigm on the top of the functionalities
middleware) is composed by several system modules, each one provided by the LinkSmart middleware. It provides an
with specific functionalities. The main components are: application-level selected multicast that decouples senders
and receivers in time, space, and data (i.e., sender and
Network Manager: this component is the entry and exit receivers do not need to up at the same time, do not need to
point of the LinkSmart middleware. There must be only know each others network addresses and do not need to
one instance of it, in every device, where the middleware is use the same data schema for events they send). It leverage
running. This component provides the entry point of the on the JXTA Pipe Abstraction, which provide a virtual
middleware as a Web Service interface. Furthermore, it connection between two pipes endpoints: the input pipe
creates the overlay P2P network needed to interconnect the and output one. Pipe connections are independent from
components of the middleware. It provides the architecture pipe location and connectivity, thus enabling to bypass
needed to address LinkSmart Web Services using unique network issues like firewall or NAT. Publish-subscribe
IDs and it provides the transport mechanism over the P2P mechanism is implemented through JXTA since a pipe
network, needed to invoke the LinkSmart Web Services endpoint can subscribe to messages sent from a publisher
(SOAP Tunneling) using their IDs. endpoint. Using this manager, the developers can create
Ontology Manager: the purpose of this component is to applications based on asynchronous events; the Event
provide a unified interface for using the LinkSmart Device Manager can be used both to send events and to subscribe
Ontology and all related modules, within the LinkSmart itself to the topic of interest.
middleware. The manager maintains run-time instances of The information propagated through events, after being
the LinkSmart devices. acquired by the PWAL, create the basis for the decision-
Context Manager: a unified interface to access the context making processes, which includes data fusion, situation
of entities in the environment, it decouples the application patterns recognition, complex event processing, analysis of
from the context providers (sensors), which consequently historical acquired data, etc. All these requirements need to
eases the application developer tasks. The context manage a large amount of information related to the devices
management consists of an Entity Manager and Rule generating events or providing services for further processing
Manager, both depending on the Event Manager to retrieve by event/service orchestration, decision algorithms or business
sensor data from the proxies. logics, which can require analysing historical data generated
by particular events. All parts of decision making process are
Entity Manager: exploits the Ontology Manager to retrieve be supported by enriched semantic model listed before, that
the metadata of the sensor readings, such as location, enable a flexible knowledge representation of all included
measurement unit, reading interval, and other attributes. events, roles, services and processes. After the description of
This manager is responsible to store the current context the platform, the next section explains the manufacturing
attributes of the entities. For this purpose, the developers application scenario of ebbits.
must define which entities and context attributes are to be
monitored by the Context Manager. The application
III. APPLICATION SCENARIO
developers can define this in the header of the rules, which
then are passed to the rule engine. In this way, the Entity Current manufacturing management approach limitations
Manager can monitor only the state of the system that is are resulting from the fact that automated productions are
needed, optimizing the performance of the Context divided into separated areas, dedicated to specific activities.
Manager. The only way to manage this separation, reflected by the actual
solutions in industrial automation is to have centralized
Rule Manager: The Context Manager recognizes controls architectures, through a unique legacy management
situational context based on rules defined by the system. In the car-manufacturing scenario [4], PWT (power
developers and stored by the Rule Manager component. train machining and assembly) machines and systems are
The rules may also define a higher level of context specialized equipment for the production of cylinder heads,
information, which must be inferred based on several

171
2015 18th International Conference on Intelligence in Next Generation Networks

engine blocks and transmissions, in metal cutting and assembly probability of errors reduced. The devices connect to the plant
processes, involving CNC (Computer Numerical Control) network and can be easily substituted during maintenance, if
machining and dedicated assembly solutions for engine and necessary. The plant informatics infrastructure is able to
transmission components, etc. Besides, a typical BWA (Body collect from the devices all data related to process activities,
Welding and Assembly) line consists of an intricate collection energy consumption and quality indicators. Complex services,
of loaders, rollers, framers, elevators, conveyors and clamping distributed on the computer network, analyze and correlate the
fixtures. This leads to the widespread use of robots for picking, data retrieved. In this way, it is extremely simple for the
loading and welding, also requiring the involvement of human operator to monitor the energy efficiency of each device,
operators, who typically provide the proper fit for most of the correlating indicators, such as the production quantities, and
bolt-on functional parts of the vehicle, with pneumatically ultimately publish these data in the company's sustainability
assisted tools. Consequently, the main weaknesses of present reports. In DCS, analogue signals are quickly digitized and
manufacturing systems, which highly affect overall efficiency functions that do not need to be centrally supervised are
and reduce competitiveness, are referred to the following localized. One of the main advantages of the usage of an IoT
aspects: platform like ebbits - in the manufacturing context is cabling
simplification: indeed cabling can be streamlined and
Process integration: limited integration among the functional sub-systems can be modularized. These sub-systems
processes involved in the engineering and management of can be then plugged into bigger and more complex networks
the plants. hence simplifying system configuration. Furthermore, an
Flexibility: inadequate flexibility of the production plant, innovative management approach is enabled, thanks to the
with limited capability for handling variations in product inherently packet driven simplification obtained by the remote
mix and volumes. monitoring of signals or control functions over a local area or
public network through the DCS architecture.
Scalability and re-configurability: production systems are
not designed to be easily reconfigurable. The software components previously described and the
depicted scenario are aligned with the ebbits project vision,
Manufacturing efficiency: the monitoring of productivity is which foresees accordingly with the IoTPS paradigm - the
affected by low diagnostics capacity; there are usually no mutual integration of physical devices, system and components
efficient instruments to detect engineering errors and to with workflows, people, assets, data, information and
prevent installation problems, as well as efficient data knowledge. This imply the directing feeding of legacy systems,
logging to enable predictive maintenance. turning natively unrelated information into useful and value-
Ramp-up time: the time to reach full production capacity is added business services. Usually, this integration requires the
often too long and therefore too costly. development of use-cases-specific applications. This attitude,
driven by development simplification needs, is slowing down
Furthermore, the actual connection between the various the introduction of the IoTPS in the business ecosystem.
production chain rings is based on obsolete bus-to-bus Finding a workaround of this constrains is challenging, while
communication, like through traditional RS-232/422/485 serial developing IoTPS applications and platforms. In the next
communication channels or through bus converters. The section the authors provided their approach to this issue,
overall result is a limitation of reliability and configurability as describing the model driven tool used to simplify the
hundreds of conductors are required to route signals to the deployment of the applications based on the ebbits platform
central control chassis. Overall, this traditional approach is and also detailing the approach chosen to design this tool.
cumbersome, relatively large and more expensive. Another big
problem is related to the software used for controllers. Due to
the lack of standard interfaces, different vendors have different IV. MODEL DRIVEN APPROACH
approaches for the development of various subsystems, and To summarize, the ebbits platform provides features of
integrating them has proven to be expensive and time- seamless integration of heterogeneous physical world devices,
consuming. To avoid the use of a centralized backplane based exposing them as internet web services. However, in-depth
system, it is important to localize control of devices knowledge of wide range of technologies is required for the
performing similar functions. application developers to use them appropriately, and a lack of
development toolkits enabling rapid prototypes creation has
This DCS (Distributed Control System) architecture uses a
been registered. More often, business scenario requires novice
serial or parallel cable to link already digitized information,
developers to create prototypes within a short period. Usually,
from the point of use. With the enhanced possibilities provided
these developers have very less domain knowledge; hence, it is
by the innovative and pervasive monitoring systems, the whole
important to provide necessary toolkits for inexperienced
plant will become a living organism, able to configure itself in
developers, to create good quality products within a short span
response to the internal and external environment and the
of time. To shorten the time taken for developing IoT
physical condition of the manufacturing equipment. All the
applications, ebbits has created a development toolkit based on
devices (such as robots, tools, handling systems, welding
a model driven approach that allows novice developers to
guns), used in the plant, are able to collect energy consumption
create IoT applications and could provide information of the
data, and the operator does not have to retrieve information
physical world devices (such as location, shared resources,
manually, the processes have been simplified and the

172
2015 18th International Conference on Intelligence in Next Generation Networks

Figure 2: Architecture of the IoTPS development toolkit

etc.). More specifically, the toolkit produces blocks of code representation of devices from an applications point of view.
based on the input specifications provided to it. There is an ontology that represents the semantic devices, and
which can be queried by the applications. For example, tourists
The following subsection describes an introduction of the
visiting a harbor may request information about it, once they
advanced methodologies adopted to build this toolkit,
are connected to the public network. LinkSmart [8] uses a
consisting of mashup development and semantic discovery
model-driven architecture to map descriptions of physical
approaches followed by the architecture of the development
devices to what they dubbed as semantic devices. The existing
toolkit. Finally, the outcomes of the experiments conducted
semantic discovery approaches [9] assume that the
with a range of application developers and their evaluation
terminology used to describe devices is always consistent.
results are described.
Even though, it is difficult to achieve in an Internet of Things
context, an approach for dealing with a situation where
A. Mashup development and Rapid prototyping different preferred terms are used for describing semantic
Mashup development is a way of building web applications properties of the devices is adopted. This goes beyond the
rapidly by aggregating different data sources on the web, using state-of-the art of the current semantic discovery in the scope
a graphical development interface. Mashup development is of Internet of Things. After the introduction of the basic
less flexible than conventional programming language, since concepts used to design the toolkit, the next subsection details
the abstraction level of the components are quite high and its architecture.
reveals less technical details, to ensure the simplicity of the
development. A MDD (Model Driven Development) toolkit C. Architecture of MDD toolkit for IoT
allows inexperienced developers to discover and compose
Figure 2 illustrates an IoT ecosystem, in which several
distributed devices and services into mashups. The modeling
applications can share applicable devices. Several service
tool allows developers to model the integration of IoT
providers may run their business by providing new services,
components visually, using a graphical interface, and
enabled by IoT such as providing real time air quality data,
transforms that model into a piece of java code, which can in
traffic reports, tracking goods or products, and monitoring
turn be extended by more experienced developers in the
public transportation. Application developers could subscribe
further phase of the development. The generated source code
to the appropriate services and import them to acquire
may also be executed as a standalone application, with
contextual information for their systems.
software interfaces that can be chosen during modeling the
prototype. A basic rapid prototyping tool architecture for IoT In the ebbits scenario, the PWAL provides the software
had been proposed considering the unique perspective of components to interact with the sensors and actuators
positions domain modeling and object virtualization in the (represented in the Figure 2 as PWAL proxies). The proxy
work [7]. In the next subsection, the description of the should offer the intended services that can be accessed
approach chosen to achieve the semantic discovery is uniformly, without requiring the application developers to
provided. have extensive knowledge about the devices communication
technology. Proxies must be annotated with semantic
B. Semantic Discovery information, such as the capabilities of the sensors, actuators,
In [15] many different ontological approaches applied to and quality parameters that might be an interest of the
the IoT are presented, this section introduces the approach applications, such as the accuracy, precision, range, unit of
adopted in the ebbits platform. Semantic devices are a logical measurements, and offset. The higher-level component, the

173
2015 18th International Conference on Intelligence in Next Generation Networks

Discovery Manager is utilized to discover these proxies using


the WS-Discovery protocol. Once it discovers the proxies, the
semantic information is extracted and used by the Discovery
Manager to update its knowledge base, which maintains the
global knowledge about devices in the network. An
administrator is in charge of validating the knowledge related
to connected devices and verifying whether they have been
correctly classified according to their device types and
attributes. Once the Device Discovery Manager learns about
the new connected devices, it, dynamically, obtains their
service URLs, later. These URLs are used to invoke their web
services for retrieving the metadata. The Discovery Manager,
then, extracts the device properties in a universal predefined
JSON formatted metadata and stores them in a local RDF
(Resource Description Framework) ontology, described in the
next subsection.
Figure 3: The ontology used for maintaining the knowledge of the
D. Ontology Design available devices

The design of the base ontology should be both simple to popular JSON data format. It generates specific URLs for each
understand as well as generic enough to describe very distinct class of objects. When developers generate the java code, the
devices, with an arbitrary number of classifications. To build tool generates a controller class named MainApp. It initializes
the base ontology, the elements in the universe of discourse various objects of predefined classes such as Connections,
must be defined. The domain of interest includes devices that Sensors, SensorFusion, VirtualObject, VirtualObjectFactory,
can be described with certain metadata in the context of the and Outputs. The connection objects are responsible for
Internet of Things and an example adopted in this work is building connection to the physical devices or data sources
depicted in Figure 3.Given that in the IoT context, different such as web services. The connection classes are implemented
device developers may use different terminologies to describe specifically for each data source. The incoming data is then
equivalent device features, the metadata should be pre- passed to sensor fusion modules to be processed before it is
processed, before adding it to the ontology, so that the next assigned to a property of a Virtual Object. The next
terminologies can be homogenized first. This homogenization subsection contains an evaluation of the tool done by a group
is a best effort solution to associate together terms that have of developers, to test its usability.
equivalent meanings.
F. Evaluation and Impacts
E. Model Driven Development for IoT To perform a usability evaluation of the proposed system, a
The model driven tool's goal is to map sensors and human-in-the-loop approach [16] has been implemented to test
actuators into domain objects based on the IoT Meta model as the model driven tool and the semantic discovery method. The
defined in the IoT ARM (Architecture Reference Model) [10]. first study was conducted at the end of the first iteration of the
For example, the physical objects have physical qualities (e.g. model driven development, which results has been published
temperature) that can be measured by a sensor (e.g. in [7]. Further improvements were performed after
thermometer). A physical object could also offer services, such incorporating some of users suggestions obtained in the first
as delivering information about itself or could perform actions study and than evaluated again by a group of computer science
that influence the environment including its own physical students, with valuable expertise of java developments. They
qualities. To perform an action, services must use actuators. received a development task related with the monitoring of
Based on this conception, the model driven tool allows environmental conditions, such as temperature, humidity, and
developers to model the mapping between data sources such as occupancy in an office, using a mobile application for IoT. For
physical sensors, web services, to a physical quality of an the intended tasks, the achieved results have shown that is
object. Based on this mapping, the tool will automatically possible, on average, to reduce 44% of the development time
generate a java application that consists of java objects and 48% of mistakes, comparing developments provided by
representing the physical objects, the connection to the data user which used the traditional programming and ones which
sources and their mapping with the properties of the objects. used the approach here proposed. This shows that model
The output components define how the virtual objects should driven approach is faster and less error prone than writing a
be exposed to the external applications. At the moment, java code for linking components with a high level of
several implementations including relational database entries, abstraction. Later, they were given a questionnaire with
SOAP, and REST based web services are supported. For questions extracted from IBMs PSSUQ (Post-Study System
instance, the SOAP based Web service provides a method to Usability Questionnaire) [11] to evaluate the model based on
get different objects based on their classes. Similarly, to several criteria such supporting documents provided, ease of
SOAP, the REST component represents the virtual objects as learn and use, efficient task completion and expectation vs
web resources that can be retrieved as an XML or the more satisfaction. These participants were exposed to most of the

174
2015 18th International Conference on Intelligence in Next Generation Networks

system functionalities and they had the chance of taking the ACKNOWLEDGMENTS
roles of device developers, administrators and application The authors want to thanks the large number of public
developers to see how the flow of information affects each of researches and all the open source developments, which
them, from the different interfaces to the system. A facilitated this work. A special thanks to the entire ebbits
questionnaire was given to them in order to find out their consortium, for such productive and effective collaboration.
impressions about the complete system. The extract of the
IBM's PSSUQ used in this evaluation consisted of 14
questions. These 14 questions were classified in 4 groups: REFERENCES
"Ease of use", "Efficient task completion", "Information [1] ebbits [Online]. Available: http://www.ebbits-project.eu/news.php.
provided" and "Expectation vs. Satisfaction". Within each [2] Various authors, CPS Methods and Techniques, Cyber-Physical
group, the ratings of the different questions were averaged. European Roadmap & Strategy, 2014. [Online]. Available:
The least number represents the best achievement of the http://www.cyphers.eu/sites/default/files/D4.1.pdf. [Accessed: 29-Mar-
2014].
proposed toolkit for IoT. Several similar studies were done to
achieve the overall system evaluation and all of the results [3] J. Soldatos and Antonio Skarmeta and c.pastrone and et.al, Catalogue
of IoT Naming , Addressing and Discovery Schemes in IERC Projects,
show medians between 2.3 and 2.6 out of 7 as shown in Figure IERC. [Online]. Available:
4, achieving good acceptance for the overall system prototype. http://www.theinternetofthings.eu/sites/default/files/%5Busername%5D/
IERC-AC2-D1-v1.7.pdf. [Accessed: 29-Mar-2014].
[4] P. Brizzi, D. Conzon, H. Khaleel, R. Tomasi, C. Pastrone, A. M. Spirito,
M. Knechtel, F. Pramudianto, and P. Cultrona, Bringing the Internet of
Things along the manufacturing line: A case study in controlling
industrial robot and monitoring energy consumption remotely, in 2013
IEEE 18th Conference on Emerging Technologies & Factory
Automation (ETFA), 2013, pp. 18.
[5] D. Benslimane, S. Dustdar, and A. Sheth, Services Mashups: The New
Generation of Web Applications, IEEE Internet Comput., vol. 12, no.
5, pp. 1315, Sep. 2008.
[6] A. Badii, M. Crouch, and C. Lallah, A Context-Awareness Framework
for Intelligent Networked Embedded Systems, in 2010 Third
Figure 4: Acceptance of the overall system prototype International Conference on Advances in Human-Oriented and
Personalized Mechanisms, Technologies and Services, 2010, pp. 105
V. CONCLUSION 110.
[7] F. Pramudianto, R. I. Indra, and J. Mathias, Model Driven
The enormous expertise and efforts required for deploying Development for Internet of Things Application Prototyping, in The
innovation, like the here presented IoT platform, creates a 25th International Conference on Software Engineering and Knowledge
significant barrier for the evolution of todays factory to the so Engineering. 2013. Hyatt Harborside at Logan Intl Airport, Boston,
coveted Factory of the Future. This paper has pointed out the USA: Knowledge Systems Institute Graduate School., 2013.
characteristics of the overall ebbits platform, mainly [8] S. Ben Mokhtar, P.-G. Raverdy, A. Urbieta, and R. S. Cardoso,
Interoperable Semantic and Syntactic Service Discovery for Ambient
describing how the middleware approach should simplify the Computing Environments, Int. J. Ambient Comput. Intell., vol. 2, no.
exploitation of an IoT-driven innovation into a real 4, pp. 1332, 2010.
manufacturing environment. The development toolkit [9] A. Herzog, D. Jacobi, and A. Buchmann, A3ME - An Agent-Based
proposed aims at supporting inexperience developers in Middleware Approach for Mixed Mode Environments, in 2008 The
rapidly building IoT prototypes, using a model driven Second International Conference on Mobile Ubiquitous Computing,
Systems, Services and Technologies, 2008, pp. 191196.
development approach, which has been evaluated involving
[10] S. Bassi, A., Bauer, M., Fiedler, M., Kramp, T., Kranenburg, R., Lange,
real developer and experts. The assessment of the method has S., Meissner, Enabling Things to Talk, in Springer Berlin Heidelberg,
been achieved in separate iterations, through a human centered 2013.
design approach, which has been resulted into a promising [11] J. R. Lewis, IBM computer usability satisfaction questionnaires:
high acceptance by the end-users. A valuable qualitative Psychometric evaluation and instructions for use, Int. J. Hum. Comput.
feedback from the participants has been obtained, such as a Interact., vol. 7, no. 1, pp. 5778, Jan. 1995.
high usability and a negative feeling of wasting time while [12] Brizzi, P., D. Conzon, F. Pramudianto, M. Paralic, M. Jacobsen, C.
organizing the graphical elements. High experienced Pastrone, R. Tomasi, and M. A. Spirito, "The ebbits platform:
leveraging on the Internet of Things to support meat traceability",
developers have raised another interesting feedback since there EFITA 2013, Torino, Italy, 06/2013.
are users that still prefer the traditional direct coding approach. [13] llrp standard [Online]. Available:
http://www.gs1.org/gsmp/kc/epcglobal/llrp.
The ebbits project has today addressed another valuable
use case regarding food traceability, published in [12]. The so [14] LinkSmart [Online]. Available: https://linksmart.eu/redmine.
positive results achieved in both the manufacturing and food [15] S. Gaglio, G. Lo Re, Advances onto the Internet of Things, in
Springer 2014
scenario have been the reason why the project is going to be
[16] Christoph Evers, Romy Kniewel, Kurt Geihs, and Ludger Schmidt.
extended, with the objective to enrich and optimize, as well as 2014. The user in the loop: Enabling user participation for self-adaptive
further deploy and test, the ebbits platform and related tools. applications. Future Gener. Comput. Syst. 34 (May 2014), 110-123.
DOI=10.1016/j.future.2013.12.010
http://dx.doi.org/10.1016/j.future.2013.12.010

175

Vous aimerez peut-être aussi