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.