=Paper= {{Paper |id=Vol-1099/paper15 |storemode=property |title=Towards a Cloud-assisted and Agent-oriented Architecture for the Internet of Things |pdfUrl=https://ceur-ws.org/Vol-1099/paper15.pdf |volume=Vol-1099 |dblpUrl=https://dblp.org/rec/conf/aiia/FortinoR13 }} ==Towards a Cloud-assisted and Agent-oriented Architecture for the Internet of Things== https://ceur-ws.org/Vol-1099/paper15.pdf
           Towards a Cloud-assisted and Agent-oriented
              Architecture for the Internet of Things

                                                Giancarlo Fortino and Wilma Russo
                     Dipartimento di Ingegneria Informatica, Modellistica, Elettronica e Sistemistica (DIMES)
                                                     Università della Calabria
                                        Via P. Bucci, cubo 41C, 87036, Rende (CS), Italy
                                             g.fortino@unical.it, w.russo@unical.it


Abstract— In the Internet of Things (IoT), all things (e.g. sensors,   performing directed actuation, cooperate with each other, and
actuators, smart devices, smart objects, RFID, embedded                exchange information with other kinds of IT devices/systems
computers, robots) have their identities, physical attributes, and     and human users.
interfaces. They will be seamlessly integrated into the information
network such that they will become active participants in business,        The actual implementation and integration of IoT smart
information and social processes wherever and whenever needed          objects, their management as well as the development of real
and proper. The technical realization of this vision is a complex      applications atop them, are complex challenges that require the
challenge as distributed heterogeneous IoT components at different     synergic use of suitable paradigms and technology for large-
levels of abstractions need to cooperate among themselves, with        scale distributed computing. To deal with this challenge, we
conventional networked IT infrastructures, and also with human         propose the synergic exploitation of two complementary
users. To cope with this issue, we propose the synergic exploitation   mainstream paradigms for large-scale distributed computing:
of two complementary mainstream paradigms for large-scale              (i) the agent-oriented paradigm, which fully supports the
distributed computing: the agent-oriented and the cloud computing      development of decentralized, dynamic, cooperating and open
paradigms. While the former can support the development of             systems, and (ii) the cloud computing paradigm, which
decentralized, dynamic, cooperating and open IoT systems in terms      efficiently enables the empowering of computing and storage
of multi-agent systems, the latter can empower the IoT objects with    resources of IT systems.
more computing and memory resources and effectively support
system-wide higher-level mechanisms and policies. In this paper,           The Agent-oriented Computing paradigm defines
we introduce a cloud-assisted and agent-oriented vision for IoT        distributed software systems in terms multi-agent systems
based on layered reference architecture. Finally, we briefly           (MAS). In particular, agents are networked software programs
overview our agent-oriented middleware for cooperating smart           that can perform specific tasks for a user and possess a degree
objects and a sensor-cloud infrastructure that represent the basic     of intelligence that permits them to perform parts of their tasks
building blocks for technically achieving such vision.                 autonomously and to interact with their environment in a useful
                                                                       manner. The agent features perfectly fit the CSO features [2,
   Keywords - Internet of Things; Smart Objects; Agent-oriented
                                                                       3]:
Computing; Cloud Computing, Middleware
                                                                          •    Autonomy: agents/CSOs should be able to perform the
                       I.    INTRODUCTION                                      majority of their problem solving tasks without the
                                                                               direct involvement of humans or other agents/CSOs,
    The Internet of Things (IoT) term usually refers to a world-               and they should have a degree of control over their
wide network of interconnected heterogeneous objects                           own actions and their own internal state.
(sensors, actuators, smart devices, smart objects, RFID,
embedded computers, etc) uniquely addressable, based on                   •    Interaction: agents/CSOs should be able to interact,
standard communication protocols [1]. In the IoT, such objects                 when they deem appropriate, with other software
have therefore their identities, physical attributes, and                      agents/SOs and humans to complete their own problem
interfaces. They are seamlessly integrated into the information                solving and support others with their activities where
network such that they become active participants in business,                 appropriate.
information and social processes wherever and whenever                    •    Responsiveness: agents/CSOs should perceive their
needed and proper.                                                             environment, in which they are situated and which may
                                                                               be the physical world, a user, a collection of agents, the
    In particular, in this paper we model the IoT as a loosely                 Internet, and so forth, and respond in a timely fashion
coupled, decentralized system of cooperating smart objects                     to changes that may occur in it.
(CSOs). A CSO is an autonomous, physical digital object
augmented with sensing and/or actuating, processing, storing,             •    Proactiveness: agents/CSOs should not simply act in
and networking capabilities. CSOs are able to sense, store, and                response to their environment, they should be able to
interpret information created within themselves and in the                     exhibit opportunistic, goal-directed behavior and take
environment where they are situated, act on their own by also                  the initiative where and when appropriate.
    The Cloud Computing paradigm provides flexible, robust            sensing/actuating, processing, and networking capabilities.
and powerful storage and computing resources, which enables           Although, in such vision, not all "things" can be directly
dynamic data integration and fusion from multiple data sources        exploited as the object granularity is coarser, communication
[4]. In addition a Cloud-based approach can offer flexibility         among smart objects is homogenized by the adoption of the
and adaptability in the management and deployment of data             Internet protocols and "intelligence" is mainly embedded inside
analysis workflows. The dynamic deployment of software                the objects themselves.
components as Cloud services removes the need for new client
applications to be developed and deployed when the user                   Figure 1 shows a high-level layered architecture for the
                                                                      smart object-oriented IoT vision, where the main layers are:
requirements change. This also introduces an intrinsic
competitive environment for the development of better                 Application, Middleware, Internet and Smart Object. In
services. Cloud computing layers (Infrastructure as a Service -       particular:
IaaS, Platform as a Service - PaaS, Software as a Service -              -    The Application layer encompasses applications based
SaaS) and software components (e.g., databases, data mining,                     not only on SOs but also on other IT
workflow tools) can be customized to support a distributed                       infrastructures.
real-time system for the management and analysis of IoT                  -    The Middleware layer provides as set of mechanisms
objects and data streams generated by IoT objects.                               for the naming, discovery, high-level interaction
    This paper proposes a cloud-assisted and agent-oriented                      and state management of SOs.
vision of IoT based on a layered reference architecture.                 -    The Internet layer includes application, transport, and
Furthermore, we briefly overview our agent-oriented                              network      protocols    for     supporting      the
middleware for CSOs and BodyCloud, a sensor-cloud                                communication with SOs and among SOs.
infrastructure, that represent the basic building blocks, which          -    The Smart Object layer offers programming
will be purposely integrated, for technically achieving such                     frameworks and tools enabling the design and
vision.                                                                          implementation of SOs.
    The rest of this paper is organized as follows. Section II
provides a look at glance of the mainstream IoT visions. In
Section III our reference architecture for cloud-assisted and
agent-oriented vision of IoT is proposed. Section IV overviews
our agent-oriented middleware for cooperating smart objects
and a sensor-cloud infrastructure, and discusses their
integration requirements to realize the proposed reference
architecture. Finally conclusions are drawn.

               II. SMART OBJECT-ORIENTED IOT
    IoT semantically means a world-wide network of
interconnected things (an ecosystem of things), which are
                                                                                     Figure 1. SO-oriented IoT architecture
uniquely addressable and based on standard communication
protocols [1]. Things include sensors, actuators, sensor                 Even though the standardization process of the SO
networks, embedded systems, RFID tags and readers, and other          communications based on IP is supported by the IP for Smart
soft sensors in different forms. These things can be deployed in      Objects (IPSO) alliance [6], the availability of middleware and
different physical environments to support diversified                frameworks that support development and management of SOs
applications domains. They are communication-oriented                 is still limited. Nowadays, apart from several available
objects and provide identification and information storage (e.g.      middlewares for smart environments (e.g. Smart-Its, 2WEAR,
RFID tags), information collection (e.g. sensor networks),            Ambient Agoras, Aura, Gaia, iRoom) [7, 8] that are not
information processing (e.g. embedded devices and sensor              centered on the very concept of SO, a few SO-specific
networks), and control and actuation (e.g. embedded systems           middlewares have been so far proposed: UbiComp [9], FeDNet
including smart actuators). The interesting advantage is that
                                                                      [10], Smart Products [11], and ACOSO [12, 13].
everything is "reachable" and can be "exploited". The main
disadvantages are that such enormous heterogeneity makes                 UbiComp [9] defines a paradigm providing conceptual
distributed communication and management very complex;                abstractions, the plug/synapse model and a middleware named
moreover, "intelligence" is not embedded and should be                GAS (Gadgetware Architectural Style)-OS, which is installed
provided at a higher level by means of smart services and/or          on each SO, to manage SO as components of distributed
applications.                                                         applications composed of ubiquitous computing services.
    Beyond such low-level and network-oriented vision of IoT,             FeDNet [10] is based on a data-centric approach.
the smart object-oriented vision is at a higher level of              Specifically, FeDNet uses XML-based documents to describe
abstraction and promotes an ecosystem of smart objects based          the requirements of an SO application, without considering the
on the Internet [5]. In particular, in such vision IoT is viewed as   management of the SOs. Therefore, the services offered by SOs
a loosely coupled, decentralized system of smart objects (SOs),       are described through structured documents. On the basis of
which are autonomous physical/digital objects augmented with          such documents, the run-time FeDNet infrastructure provides a
semantic association between the applications and the SOs. In
FeDNet, SOs are objects of the daily life with computing and
communication capabilities. However, as SOs are not
proactive, task-oriented FeDNet applications are able to
provide proactivity by SO orchestration.
    Smart Products [11] aim at the development of SO
equipped with proactive knowledge. Such knowledge is
exploited to communicate and cooperate with human users,
other smart objects and the external environment. SOs rely on
MundoCore, a communication middleware, and a set of well-
defined ontologies to enable effective cooperation among SOs.
    ACOSO (Agent-based COoperating Smart Objects) [12,
13] is a middleware providing an agent-oriented programming
model for CSOs and tools for their effective development.              Figure 2. High-level architecture for Cloud-assisted and Agent-based IoT
CSOs are based on an event-driven proactive architecture and
on two different communication models (message passing and
publish/subscribe). ACOSO is currently available atop JADE                    IV. INTEGRATING SMART OBJECT MIDDLEWARE AND
[14] and JADEX [15]. A more detailed description of ACOSO                      CLOUD PLATFORM FOR LARGE-SCALE IOT SYSTEMS
is reported in Sect. IV.A.                                                                   MANAGEMENT

       III.   A CLOUD-ASSISTED AND AGENT-ORIENTED                  A. An Agent-oriented Middleware for the Development and
                  ARCHITECTURE FOR IOT                                 Management of CSOs
    To deal with the complexity of the SO-based IoT, we                The ACOSO middleware allows for the development and
propose a high-level architecture based on cloud and agent-        management of CSOs, which are modeled as agents that can
based computing. The architecture named CA-IoT (Cloud-             cooperate with each other and with non-agent cyber-physical
assisted and Agent-based IoT) is shown in Figure 2. The            entities to fulfill specific goals. An ecosystem of CSOs
architecture components are:                                       therefore forms a multi-agent system (MAS). ACOSO
                                                                   currently relies on JADE that provides an effective agent
   -    The Smart User Agent, which models human users in          management and communication support and on an external
           the context of specific smart systems. They             smart object discovery service that is purposely integrated into
           therefore provide GUI-based functionalities             ACOSO [17]. Specifically, CSOs can be implemented as either
           through which users can request services and/or         JADE or JADEX agents, atop both Java-based and Android-
           formalize specific service requests.                    based devices, and can cooperate by a direct coordination
                                                                   model based on ACL message passing and/or by a spatio-
   -    The Smart Interface Agent, which defines an                temporal decoupled coordination model relying on a topic-
           interfacing agent such as brokers, mediators,           based publish/subscribe mechanism. Figure 3 shows the JADE-
           wrappers. Specifically, they are able to interact       based ACOSO platform for CSO development and
           with and/or wrap components of the external IT          deployment. The platform is composed of three layers:
           systems.
                                                                          -      The high-level CSO architecture, which is the
   -    The Smart Object Agent, which models a CSO.                                 reference architectural agent-oriented model for
                                                                                    CSOs.
   -    The CyberPhysical Environment, which refers to the                -      The JADE-based agent middleware, which provides
           non-agent-oriented logical and physical context                          an implementation of the high-level CSO
           (made up of logical and physical components) in                          architecture through JADE and JADEX atop
           which agents are embedded. It can be modeled in                          different computing devices (PCs and mobile
           terms of a reactive/proactive environment                                devices).
           abstraction [16] that is able to interact with agents          -      The WSAN programming and management, which is
           according to a specific coordination model.                              based on the Building Management Framework
   -    The Cloud Computing Platform, which supports all                            (BMF1) [18], for the management of the wireless
           smart agents, empowering their specific resources,                       sensor and actuator network (WSAN) of smart
           and allows for the definition of new (virtual) smart                     space-oriented CSOs, and on the Signal In-Node
           object agents as meta-aggregation of existing                            Processing Environment (SPINE2) [19, 20], for the
           smart object agents.                                                     management of the body area network (BAN) of
                                                                                    body/personal oriented CSOs.


                                                                   1
                                                                       http://bmf.deis.unical.it
                                                                   2
                                                                       http://spine.deis.unical.it
                                                                                      manage communication with external networked
                                                                                      entities based on TCP and UDP, respectively.
                                                                            -      The Device Management Subsystem, which manages
                                                                                      the sensing/actuation devices that belong to the
                                                                                      CSO. It is organized in a DeviceManager handling
                                                                                      several     DeviceAdapters.     Currently,   two
                                                                                      DeviceAdapters are available: the BMFAdapter,
                                                                                      which allows to manage WSANs based on BMF,
                                                                                      and the SPINEAdapter, which allows to manage
                                                                                      BANs based on SPINE. BMF and SPINE are
                                                                                      based on IoT standards protocols such as IEEE
                                                                                      802.15.4, ZigBee, and 6LowPan.
                                                                            -      The KB Management Subsystem, which supports
                                                                                      CSOs through a knowledge base (KB). It consists
                                                                                      of a KBManager, which manages and coordinates
                                                                                      different KBAdapters, and a KBAdapter, which
                                                                                      manages a KB containing the knowledge of the
       Figure 3. Agent-based Platform for Smart Object Development
                                                                                      CSO. KB can be local and/or remote and archives
    Figure 4 shows the JADE-based CSO architecture. CSOs                              information that can be shared among tasks.
are agents of the JADE platform (either simple JADE agents or
encapsulated JADEX agents). They are therefore managed by
the AMS (Agent Management System), communicate through
the ACL-based message transport system, and use the
Directory Facilitator (DF) to look up CSOs and other agents.
The DF, which supports dynamic agent service discovery, was
purposely modified/extended in ACOSO to allow searching
CSOs on the basis of their specific metadata: type, offered
services, location, static hw properties, dynamic system
properties. Currently, the extended JADE DF receives requests
from the JADE-based CSOs and fulfills them by using the
remote interface of an external CSO discovery service [17].
The main CSO architecture components are:
   -      The Task Management Subsystem, which manages the
             reactive and proactive tasks of CSOs. In particular,
             tasks are event-driven and state-based software
             components encapsulating specific objectives to
             fulfill through computation, communication,
             sensing/actuation, and storage management
             operations. Tasks can be defined as JADE
             Behaviours or JADEX Plans so their execution is
             based on the mechanisms provided by the basic
             JADE behavioral execution model or plan-
             oriented Jadex execution model, respectively.
             Being tasks driven by events, external CSO
                                                                                          Figure 4. JADE-based CSO Architecture
             communication, signals to/from the CSO devices,
             data to/from the knowledge base (KB) are                   Moreover, to support small-size CSOs running on a single
             internally formalized and managed as events.            sensor node, the Mobile Agent Platform for SunSPOT
   -      The Communication Management Subsystem, which              (MAPS3) framework [21] can be adopted to implement the
             provides a common interface for CSO                     CSO architecture. It is worth noting that MAPS agents can be
             communications. In particular, message-based            wrapped by JADE agents through the JADE-MAPS gateway
             communication is based on the ACL-based                 [22] so as to interact with JADE-based CSO agents.
             MessagingService whereas publish/subscribe
             coordination is the TopicManagementService. The         B. BodyCloud: an architecture for Cloud-assisted body area
             subsystem is internally organized in handlers. The          networks
             CommunicationManagerMessageHandler, which
             is implemented as Behaviour in JADE and as Plan             BodyCloud [23, 24, 25] is a SaaS-oriented architecture for
             in Jadex, captures the ACL messages targeting           the integration of BANs and a Cloud PaaS infrastructure. Its
             CSOs and translates them into internal events.
             Moreover, the TCPAdapter and UDPAdapter                 3
                                                                         http://maps.deis.unical.it
architecture, shown in Figure 5, consists of four main
subsystems (or sides):
       -     The Body-side manages the BAN and sends the
                collected sensor data to the Cloud-side through an
                Android-enabled mobile device. In particular, data
                acquisition is currently based on Android-SPINE,
                the Android version of SPINE. It allows Android-
                enabled smartphones and tablets to be used as
                coordinator of the BAN. In particular, the
                coordinator communicates with the wearable
                sensors by means of the SPINE application-level
                protocol atop Bluetooth and supports sensor
                discovery,      sensor     configuration,   in-node
                processing, BSN activation/deactivation, data
                collection, and logging.
       -     The Cloud-side provides data collection and storage,
                processing/analysis and visualization. Each
                specific application can be defined through four
                programming abstractions: Group, Modality,
                Workflow/Node, and View. Group formalizes a
                specific application manipulating a well-defined
                BAN data source. Modality captures a specific
                interaction Body-Cloud sides and Viewer-Cloud
                sides. In particular, it models a specific service,
                such as data feeds to the Cloud-side, data analysis                 Figure 5. The architecture of BodyCloud
                tasks, single-user or community applications.
                Workflow formalizes a data-flow process
                                                                      C. Integration requirements
                analyzing input data to generate output data. It
                consists of one or more nodes organized in a              To support the CA-IoT architecture introduced in Sect. III
                directed acyclic graph. Node is a specific            and thus develop large-scale IoT systems, ACOSO and
                algorithm that can be developed according to the      BodyCloud are being jointly extended and integrated according
                Workflow Engine library (see Analyst-side in Fig.     to the following main requirements:
                5). A Node is uploaded to the Cloud-side where it        -    Smart agent enhancement. While the basic smart
                can be used in different workflows. Finally, View                 agent layer is fully supported by ACOSO, the
                defines the visualization layout of the output data               Cloud platform needs to provide a new
                for Viewers. Such abstractions are supported by                   functionality to define Cloud-based smart agents
                the developed RESTLet-based SaaS Framework,                       to dynamically create new virtual smart interface
                which makes the interaction with the Cloud-side                   and object agents than run on the Cloud-side and
                fully based on HTTP get, put, post, delete                        seamlessly interact with the basic ACOSO agents.
                methods. The Cloud-side is supported by the
                                                                         -    Smart object data stream collection and management.
                Google App Engine PaaS 4 that enables data
                                                                                  Data streams coming from highly decentralized
                persistence and task execution.
                                                                                  smart objects needs to be efficiently uploaded onto
       -     The Analyst-side supports the development of new                     the Cloud-side and here effectively managed.
                application services. In particular, developers can
                                                                         -    Workflow-oriented analysis of smart object data.
                create new BodyCloud services by defining the
                                                                                  Decision making applications should be
                aforementioned       abstractions.    To   program
                                                                                  dynamically developed through distributed
                workflows, the Analyst-side is based on an
                                                                                  workflows defined at the Cloud-side involving
                appropriate development environment (XML
                                                                                  smart agents and cloud services.
                Editor and Workflow Engine API).
                                                                         -    Effective multi-level security architecture for smart
       -     The Viewer-side visualizes the output produced by the
                                                                                  object data collection (from smart objects to the
                data analysis through advanced graphical reports.
                                                                                  Cloud-side) and data analysis services (at Cloud-
                By applying a View abstraction (see above) to the
                data, the graphical view is automatically                         side).
                generated. The current prototype is based on a
                Java library named jxReport that has been                         V. CONCLUSIONS AND FUTURE WORK
                purposely implemented and integrated into the             In this paper, we have proposed a novel high-level
                client application.                                   architecture for smart object-oriented IoT based on Cloud and
                                                                      Agents. Through the exploitation of agent-based computing,
4
                                                                      the proactiveness and cooperation capabilities of smart objects
    https://cloud.google.com/products/
could be effectively defined, whereas by means of cloud                         [9] Christos Goumopoulos and Achilles Kameas, “Smart Objects as
computing, smart objects could be empowered in terms of                         Components of UbiComp Applications,” International Journal of Multimedia
                                                                                and Ubiquitous Engineering, Vol. 4, No. 3, July, 2009.
processing power and storage resources. Thus, cloud-assisted
                                                                                [10] F. Kawsar, T. Nakajima, J. H. Park, and S. S. Yeo, "Design and
and agent-oriented smart objects could be used as basis for the                 implementation of a framework for building distributed smart object systems,"
development of large-scale IoT applications and systems. The                    Journal of Supercomputing, vol. 54, no. 1, pp. 4-28, Oct. 2010.
proposed architecture can be actually implemented by adopting                   [11] M. Miche, D. Schreiber, D., and M. Hartmann, “Core Services for Smart
and integrating an effective smart object middleware and an                     Products,” In: AmI-Blocks'09, at AmI'09, 2009.
efficient cloud platform. To this purpose, we briefly introduced                [12] G. Fortino, A. Guerrieri, and W. Russo. Agent-oriented smart objects
ACOSO, an agent-oriented middleware for the programming                         development.In Proc. of IEEE 16th Int. Conference on Computer Supported
and management of cooperative smart objects, and BodyCloud,                     Cooperative Work in Design (CSCWD), pp. 907--912, 2012.
an architecture for the integration of sensors on the Cloud.                    [13] G. Fortino, A. Guerrieri, M. Lacopo, M. Lucia, and W. Russo, "An
They are currently being integrated according to specific                       Agent-based Middleware for Cooperating Smart Objects", in Highlights on
                                                                                Practical Applications of Agents and Multi-Agent Systems, Communications
defined requirements to achieve a large-scale distributed                       in Comp. and Inform. Science (CCIS), Vol. 365, pp. 387-398, Springer, 2013.
platform for smart object-based IoT development. Finally,                       [14] F. Bellifemine, A. Poggi, and G. Rimassa, “Developing multi agent
future work will be aimed at defining a novel methodology for                   systems with a FIPA-compliant agent framework,”. Software Practice And
the development of IoT applications. Such methodology will be                   Experience 31, 103-128, 2001.
obtained as extension of ELDAMeth [26, 27], a methodology                       [15] A. Pokahr, L. Braubach, W. Lamersdorf, “Jadex: A BDI Reasoning
for simulation-based prototyping of distributed agent systems.                  Engine,” In Multi-Agent Programming: Languages, Platforms and
                                                                                Applications. Multiagent Systems, Artificial Societies, and Simulated
                                                                                Organizations, Vol. 15, Springer, pp. 149-174, 2005.
                          ACKNOWLEDGMENT                                        [16] D. Weyns, A. Omicini, and J. Odell, Environment as a first-class
    Authors wish to thank Antonio Guerrieri and Michele                         abstraction in multiagent systems, International Journal on Autonomous
                                                                                Agents and Multi-Agent Systems 14 (1), pp. 5-30, 2007.
Lacopo for their valuable efforts and contribution in the
                                                                                [17] G. Fortino, M. Lakovic, W. Russo, P. Trunfio, “A discovery service for
development of the smart object agent-oriented middleware                       smart objects over an agent-based middleware”, IDCS 2013, Lecture Notes in
and Giuseppe Di Fatta (University of Reading) for his valuable                  Computer Science (LNCS), Vol. 8823, pp. 1-14, 2013.
insights for the BodyCloud approach definition. This work has                   [18] G. Fortino, A. Guerrieri, G. O’Hare, A. Ruzzelli, “A Flexible Building
been partially supported by TETRis – TETRA Innovative Open                      Management Framework based on Wireless Sensor and Actuator Networks”,
Source Services, funded by the Italian Government (PON 01-                      Journal of Network and Computer Applications, 35(6), pp. 1934-1952, 2012.
00451). Giancarlo Fortino is also partially funded by DICET –                   [19] F. Bellifemine, G. Fortino, R. Giannantonio, R. Gravina, A. Guerrieri, M.
INMOTO – Organization of Cultural Heritage for Smart                            Sgroi, “SPINE: A domain-specific framework for rapid prototyping of WBSN
Tourism and REal – Time Accessibility (OR.C.HE.S.T.R.A.)                        applications” Software Practice and Experience, 41(3), 2011, pp. 237-265.
funded by the Italian Government (PON04a2_D).                                   [20] F. Bellifemine, F. Aiello, G. Fortino, S. Galzarano, R. Gravina, “An
                                                                                agent-based signal processing in-node environment for real-time human
                                                                                activity monitoring based on wireless body sensor networks”. Journal of
                              REFERENCES                                        Engineering Applications of Artificial Intelligence, Vol. 24, n. 7, pp. 1147-
                                                                                1161, 2011.
[1] D. Bandyopadhyay and J. Sen, “The internet of things - applications and
challenges in technology and Standardization,” Springer International Journal   [21] F. Aiello, G. Fortino, R. Gravina and A. Guerrieri, A Java-based Agent
of Wireless Personal Communications, 58(1), pp. 49-69, May 2011.                Platform for Programming Wireless Sensor Networks, The Computer Journal,
                                                                                54(3), pp. 439-454, 2011.
[2] M. Vinyals, J. A. Rodriguez-Aguilar, J. Cerquides, “A Survey on Sensor
Networks from a Multiagent Perspective,” The Computer Journal, 54(3), pp.       [22] M. Mesjasz, D. Cimadoro, S. Galzarano, M. Ganzha, Giancarlo Fortino,
455-470, 2010.                                                                  M. Paprzycki “Integrating JADE and MAPS for the development of Agent-
                                                                                oriented WSN-based distributed applications”, In Intelligent Distributed
[3] A. Rogers, D. Corkill, and N.R. Jennings, N. R. “Agent technologies for     Computing VI, Springer, SCI series, Vol. 446, pp. 211-220, 2013.
sensor networks,” IEEE Intelligent Systems, 24, pp. 13-17, 2009.
                                                                                [23] G. Fortino, D. Parisi, V. Pirrone, G. Di Fatta, “BodyCloud: A SaaS
[4] R. Hill, L. Hirsch, P. Lake, S. Moshiri, "Guide to Cloud Computing.         Approach for Community Body Sensor Networks,” in Future Generation
Principles and Practice," Computer Comm. and Networks, Springer, 2013.          Computer Systems. 2014. to appear.
[5] G. Kortuem, F. Kawsar, V. Sundramoorthy, D. Fitton, "Smart Objects as       [24] G. Fortino, G. Di Fatta, “Engineering Large-Scale Body Area Networks
Building Blocks for the Internet of Things," IEEE Internet Computing, 14(1),    Applications”, accepted 8th International Conference on Body Area Networks
pp. 44-51, January/February, 2010.                                              (BodyNets), Sept. 30–Oct- 2, 2013 Boston (USA), ACM press.
[6] Adam Dunkels and JP Vasseur, “IP for Smart Objects”, Internet Protocol      [25] G. Fortino, M. Pathan, G. Di Fatta, "BodyCloud: Integration of Cloud
for Smart Objects (IPSO) Alliance White paper #1, Sept. 2008.                   Computing and Body Sensor Networks", IEEE 4th International Conference
[7] G. Fortino, A. Guerrieri, W. Russo, "Middleware for Smart Objects: State-   on Cloud Computing Technology and Science (CloudCom 2012), Taipei,
of-the-art and Research Challenges", in Internet of Things based on Smart       Taiwan, Dec 3-6, 2012.
Objects: technology, middleware and applications, Springer Series on the        [26] G. Fortino, A. Garro, S. Mascillaro, W. Russo, “Using Event-driven
Internet of Things. 2014. to appear.                                            Lightweight DSC-based Agents for MAS Modeling,” in International Journal
[8] L. Roalter, M. Kranz, and A. Moller, A Middleware for Intelligent           on Agent Oriented Software Engineering, 4(2), 2010.
Environments and the Internet of Things," in Proceedings of the 7th             [27] G. Fortino,W. Russo, “ELDAMeth: A Methodology For Simulation-
international conference on Ubiquitous intelligence and computing (UIC).        based Prototyping of Distributed Agent Systems”, Information and Software
Berlin, Heidelberg: Springer-Verlag, 2010, pp. 267--281.                        Technology, 54(6), pp. 608-624, 2012.