Simulation of Agent-oriented Internet of Things Systems Giancarlo Fortino, Wilma Russo, and Claudio Savaglio DIMES - Department of Informatics, Modeling, Electronics and Systems University of Calabria Via P. Bucci, cubo 41C, 87036 Rende (CS), Italy {g.fortino, w.russo}@unical.it, csavaglio@dimes.unical.it Abstract—The proliferation of everyday smart devices able to SOs, beside their specific purpose (e.g. refrigerating foods in sense, process, communicate and/or actuate, is changing the way the case of a smart fridge), are indeed able to sense the we interact with the world around us. These novel cyber-physical surrounding physical environment, elaborate the perceived smart devices, or simply Smart Objects (SOs), are the data, share them (with human users or with other SOs) through fundamental building blocks of the Internet of Things (IoT), a adequate communication interfaces and, if necessary, to take global and highly dynamic ecosystem in which heterogeneous tangible actions. The physical proximity or the similitude of typologies of device networks seamlessly interoperate. Although purposes among multiple SOs enable the constitution of IoT the IoT component technologies and enabling computing systems, in which functional, technological and application- paradigms are not totally new, the development and analysis of specific heterogeneities should not prevent SOs to interoperate an IoT system is still a complex process. In this paper the ACOSO (Agent-based COoperative Smart Object) middleware with each other. In order to cope with all such issues, the IoT and the Omnet++ platform have been used as means for the SO- has drawn several concepts from multiple paradigms (e.g. based IoT systems development/management and simulation. cloud computing, web-services, etc.), including from the Indeed, on one hand ACOSO provides effective instruments and Agent-Based Computing (ABC) paradigm [4]. In the past a simple programming model to realize both cyber-physical SOs years, research and industrial experiences in a wide range of and IoT systems. On the other hand, leveraging on the application domains (e.g. logistics, economics, social science, parallelism between SOs/agents and the Omnet++ network automation science) have already proved the advantages nodes, simulations of agent-oriented IoT systems in different deriving from the use of the ABC in developing complex scale scenarios have been defined and conducted. distributed systems under the form of MASs [5]. In the case of IoT, that can be itself considered as a loosely coupled, Keywords—Internet of Things; Smart Objects; ACOSO; Agent- decentralized system of cooperating SOs, the ABC is even based computing; Network simulation. more suitable to support the development of the single SO (“in the small”) and of the overall IoT system (“in the large”). I. INTRODUCTION However, the IoT systems development process based on ABC The Internet of Things (IoT) is being widely considered as is still in its infancy. Within such development process, the the next revolution towards the digitalization of our society and simulation activity plays a crucial role: indeed, it allows the economy, overturning the current production of goods and understanding of system/network performance and dynamics services. Only in the European Union, the IoT market value is before the actual SO-based system implementation and expected to exceed one trillion euros in 2020, when it is deployment. In such case too, however, further efforts need to foreseen that almost 26 billion of IoT devices will daily impact be made. our life [1]. People, things and places will participate in the Internet, being globally identified, interconnected, discovered In this paper we propose the simulation of agent-oriented and queried. Everything will automatically but seamlessly IoT systems in small-medium-large scale scenarios through the interact, even without a steady human orchestration, thus Omnet++ simulation platform [6], with a specific attention to providing novel cyber-physical services to both humans and the inter-SO communications phase. By following such machines. Although the IoT vision (of an horizontal and approach, low-level aspects (wireless coverage issues, physical interconnected landscape) is unique and well-established, over environment and obstacles modeling, protocols implementation the years three perspectives raised [2] that respectively details, etc.) are managed by Omnet++ while the ACOSO emphasized the importance of the IoT devices, communication middleware [7, 8] provides an effective agent-oriented SO networking and semantic technologies. Although it is widely programming and design model. Indeed, ACOSO is recognized that a variety of technologies and research areas specifically conceived for the SO development, management contributes to the IoT, the “Things oriented” perspective is and deployment in any application context which requires gaining more and more attention. As matter of fact, such proactivity and reactivity with respect to the surrounding “things” or smart objects (SOs) have been defined as environment and to other SOs. The rest of the paper is fundamental IoT blocks [3] since they concretely and daily organized as follows. In Section II, the background of the SO- realize the bridging between the real and the virtual world. based IoT is provided, together with a brief related work on the available agent-oriented IoT contributions. In Section III, the This work has been partially carried out under the framework of INTER- IoT, Research and Innovation action - Horizon 2020 European Project, Grant Agreement #687283, financed by the European Union. 8 ACOSO middleware is briefly summarized, focusing on its communicate over different access technologies multi-layered and agent-oriented architecture. Simulations of simultaneously, interact with pro-activeness, autonomy and agent-oriented IoT systems characterized by different scales sociability. Consequently, agents running in different and configurations are reported in Section IV. Conclusion and cooperating SOs constitute a decentralized MAS, maximizing future work are finally delineated. interoperability among heterogeneous sub-systems and distributed resources, facilitating the system modeling and II. BACKGROUND AND RELATED WORK development, increasing scalability and robustness but, at the A. Smart Object-based IoT same time, reducing the design time as well as the time-to- market. These motivations have driven the design of several The advancements on integrated circuitry, microelectro- agent-based IoT architectures [11, 15-21] that exploit the mechanical systems (MEMS), embedded technologies, and twofold ABC role of: wireless communications enabled the evolution of conventional everyday things in enhanced entities commonly defined Smart (i) Modeling paradigm, because most of the SO main Objects (SOs) [3]. Differently from passive RFiD systems and features may be described through agent-related concepts. For conventional Wireless Sensor Networks (WSNs), an SO is able example, SO functionalities may be expressed in terms of to provide identification, sensing/actuation but also to goals, SO working plan in terms of behaviors, SO understand and react to its environment [9], performing object- augmentation devices (e.g. sensors and actuators) in terms of to-object communications, ad-hoc networking and complex dynamically bindable agent resources, etc. In this direction, goal-oriented decision-making. SOs with limited computational [15] and [16] propose coarse-grained agent-oriented SO resources (e.g. RAM, CPU) may be usefully supported by the models, characterized by a high-degree of abstraction to Cloud computing [10], which enables devices virtualization support the preliminary development phase of SO analysis. and dynamic data processing (e.g. data integration/fusion). (ii) Programming paradigm, by exploiting the agent as a More powerful SOs, instead, may be designed by following the virtual networked alias of the real object [17, 21]. The principles of autonomic computing and of the cognitive virtualization process allows the integration of the SOs in the networks, in order to become even more autonomous, cloud or in the SOA/REST world [19], enabling even proactive, context-aware and intelligent [11]. In both cases, constrained SOs to provide complex cyber-physical services. In SOs are suitable to replace the human operators in handling the such directions, the virtualization allows also the federation of seamless data flow between different networks typologies, like semantically interoperable SOs, enabling the mashup of their BAN (Body Area Networks), LAN (Local Area Networks, e.g. offered services in accordance with both the application and Smart Home), MAN (Metropolitan Area Networks, e.g. Smart user requirements [18]. Hospital) and WAN (Wide Area Networks, e.g. Smart City). On the other hand, a steady human orchestration of such a huge A particular component that plays a crucial role within amount of devices and device-generated data is not feasible in most of the distributed architectures is the middleware. In the the IoT context. The synergic cooperation of multiple SOs may context of the IoT systems, different agent-based middleware in fact generate complex and outstanding cyber-physical have been developed so far [9, 20] since the ABC provides services for both humans and machines, but only if the SOs are powerful mechanisms to realize efficient coordination adequately designed and implemented. In fact, the SOs are structures, SO discovery, resources handling and knowledge usually functional and technological heterogeneous with each management. As matter of fact, the exploitation of well- other, following different communication protocols and data established agent communication standards and interfaces (e.g. formats standards on the basis of their application domains. IEEE FIPA [22]) contributes in hiding the SO heterogeneities Such issues are currently leading to the spread of several IoT both at physical and at communication layers. Moreover the silos that are unable to interoperate [12], preventing the fruition ABC allows the development of both semi/centralized of the benefits of a fully-realized global IoT. So, proper (following the IEEE FIPA model that foresees the Directory development methodologies, modeling paradigms, software Facilitator for mapping agents and their services) and abstractions and interaction patterns need to be adopted by distributed (by following a P2P approach) service discovery. design [13] in order to overcome SOs heterogeneities and to Such features have particular importance since the IoT is a make SOs completely interoperable. dynamic scenario in which SOs seamlessly appear, disappear, as well as extemporary interact with each other. The B. Agent-oriented IoT application of the ABC at middleware layer is also suitable to The IoT ecosystem development process includes multiple integrate agents with semantic technologies (e.g. ontology), requirements, both at system (e.g. scalability, robustness, facilitating the data and the context management as well as the standards compliance, discovery) and at thing level (e.g. implementation of security mechanisms. Doing so, agents interoperability, virtualization, embedded intelligence). The provide intelligence, context-awareness, robustness and ABC offers the necessary solutions to satisfactorily address flexibility to single SOs as well as to the whole IoT system. such requirements by running agents in IoT nodes and hence by treating the IoT ecosystem as a MAS. The idea of tightly III. ACOSO (AGENT-BASED COOPERATING SMART OBJECT) coupling each SO with (at least) one agent [14] has multiple ACOSO (Agent-based COoperating Smart Objects) [7, 8] benefits since the agent(s) allows mitigating the SO host is a middleware providing a (in-the-small and in-the-large) SO hardware/software deficiencies or limitations. In fact, agents programming model through an agent-based approach. are able to encapsulate complex functionalities abstracting ACOSO presents an event-driven and multi-layered them from the underlying implementation details, architecture that allows the SOs to react to external stimulus, 9 fulfill specific goals, execute inference rules, and use iii. High-level SO layer, which comprises a set of local/remote knowledge bases. Following a bottom-up subsystems describing the SO internal architecture. In approach, the ACOSO platform presents the following layers: detail, each SO goal is encapsulated in state-based tasks, which are driven by events and managed by the Task i. WSAN management layer, which programs and Management Subsystem. The Communication manages the network of sensors and/or actuators Management Subsystem provides a common interface embedded in a SO. Such layer allows the management for SOs communications: the Communication Manager of WSANs (Wireless Sensor and Actuator Networks) Message Handler translates incoming messages into through the BMF (Building Management Framework) internal events that are managed by the [23] and of body sensor networks through the SPINE EventDispatcher. The Device Management Subsystem (Signal In-Node Processing Environment) [24]. manages the SO sensor/actuator devices by means of ii. Agent-based middleware layer, relying on the JADE specific DeviceAdapters. The KB Management platform, that provides an effective agent-oriented Subsystem manages the object knowledge base. In such management/communication infrastructure. In subsystems an important role is played by the adapters particular, JADE-based SOs are managed by the AMS that represent pluggable software components allowing (Agent Management System), communicate through the SOs to interoperate with external entities or systems. ACL-based message transport system and use an For example, within the Device Management extended version of the DF (Directory Facilitator) to Subsystem, two DeviceAdapters are currently defined look up SOs and other agents. JADE provides also a to interact with the WSAN management layer: the coordination model implementing both the message BMFAdapter, which allows managing WSANs through passing (MessagingService) and the publish/subscribe the BMF [25], and the SPINEAdapter, which allows (TopicManagementService) communication paradigms managing BSNs through SPINE [26]–[28]. Within the through a ServiceManager. The original JADE DF, Communication Management Subsystem, instead, the indeed, has been purposely modified/extended in TCPAdapter and UDPAdapter manage SO ACOSO to support a more situated and dynamic SO communication with external networked entities based registration, indexing and discovery on the basis of its on TCP and UDP, respectively. The aforementioned specific functional (e.g. provided services) and/or non- agent-oriented subsystems that compose the High-level functional (e.g. location, dimension, identity) features. SO layer are platform neutral but, at the Agent-based Since the JADE platform may run both on Java-enabled middleware layer, the Tasks, the EventDispatcher and and Android devices (by means of LEAP, a JADE the Communication Manager Message Handler have extension), this layer can concretely implement the been implemented as JADE Behaviors (so their high-level SO layer atop PC, smartphones, tablets, etc. execution is based on the mechanisms provided by the basic JADE behavioral execution model), while the SO messages are defined as ACL messages. Fig. 1. The ACOSO three-layered architecture 10 following either a C/S or a Peer-to-Peer (P2P) IV. SIMULATIONS paradigm. The simulation of IoT systems allows the validation of B. Simulation Scenarios models, protocols and algorithms before the actual SO deployment phase. Due to such reasons, it is an important but, Performance metrics presented in Section IV-A have been at the same time, challenging task. In IoT systems of different evaluated in the context of small-, medium-, large-scale IoT scales the number of the SOs may vary (from body sensor networks with different SOs density. In particular, since networks with less than dozens of SOs, to Smart City with network congestion may increase depending of the SOs much more than thousands of devices), with a different degree population, the performance metrics have been analyzed when of density, as well as the SO services require different the number of the SOs (#SOs) increases. Small-scale networks communication paradigms. Just the SO interactions and the have been considered limited to 100 nodes, medium-scale consequent service provision/fruition may be influenced by networks to 500 nodes and large-scale networks to 1000. factors unrelated to the applications but specifically associated Moreover, it has been analyzed how the SO distribution in a to the networking (e.g. traffic congestion, wireless signal different number of subnetworks (#subnetworks) impacts the attenuation and coverage, etc.). In this paper, we focused on the performance metrics. It has been assumed that: (i) small-scale communication among SOs (previously modeled with the networks are constituted by a single network; (ii) medium-scale ACOSO approach) by simulating IoT networks through networks consist of two or more adjacent subnetworks (which Omnet++[6]. As matter of facts, the parallelism between are deployed in the same area so that their coverage overlaps); SOs/agents and Omnet++ network nodes is straightforward. In (iii) large-scale networks include multiple but distinct fact, each network node can be considered as an autonomous subnetworks (their coverage does not overlap). SO/agent whose behaviors and tasks can be implemented at the C. Results application layer. All the other tasks related to transport- network-link protocol implementations, wireless connectivity With respect to the small-scale network, Fig. 2a shows that issues, physical environment modeling can be instead carried in the SOD phase the increase of the SO population adversely out by Omnet++. In the following, the results of IoT systems affects the DT, as well as a high RGR and the choice of a simulations are shown, with a particular attention to the inter- reliable transmission protocol. SO communication. These simulations aim at investigating possible issues or unpredicted situations, and at validating IoT systems design choices and parameters. Application-neutral scenarios and SOs exchanging empty messages without any additional application logic have been considered, thus providing more generality to the obtainable simulation results. A. Communication settings Simulations have inspected IoT networks in the SO Discovery phase (SOD) and in the Information Exchange phase (IE) by exploiting in both cases reliable (TCP) and unreliable (UDP) transport protocols. Metrics, parameters and patterns that have been tested in the simulations are listed as follows:  Metrics: in the SOD phase the discovery time (DT) and the request delivery ratio (RDR) have been measured; in the IE phase the round trip time (RTT) and the message delivery ratio (MDR).  Parameters: in the SOD phase all the nodes, with a different request generation rate (RGR), contact a specific one that holds the registry of the current active SOs and of their provided services. In the IE phase the round trip time (RTT) and the message delivery ratio (MDR) have been measured when nodes adopt different message generation rates (MGR). Both in SOD and in IE phases, different request/data generation models (RGM and DGM, respectively) are used: a Deterministic one (1 pk/s and 10 pk/s) and a stochastic Normal one (with 0.5 mean and 0.2 variance).  Patterns: in the SOD phase SOs communicate according to the Client/Server (C/S) paradigm; in the Fig. 2. Small scale networks: DT in SOD phase (a) when the #SOs changes; PDR in IE phase (b) when the #SOs changes. IE phase, SOs exchange simple messages by 11 Such phenomena are particularly remarked when the SOs single network case of the small-scale scenario). Again, the exceed the 30 units while there are no consistent differences reliable protocol as well as the 10/s MGR implies greater DT between deterministic (D) or normal (N) data sources. In IE while there are no substantial differences between D or N data phase, the increase of the SOs reduces the PDR only in the case sources. These considerations hold for both the SOD and the IE of unreliable protocol as shown in Fig 2b. phases, as Fig. 4b shows. In particular, DT values of large- scale multiple subnetworks scenario are comparable to the ones With respect to the medium-scale networks, Fig 3a of the small-scale single network scenario. highlights that in the SOD phase if SOs are equally spread on multiple subnetworks (we consider the case of five subnetworks deployed in a squared grid with side of 2500 meters), the increase of the SOs number causes the DT increase, while unreliable protocols, lower MGR or normal data sources provide smaller DT values. Such trends are similar to the ones related to the small-scale case. Fig 3b shows that if the SOs are distributed on the same area, the RTT decreases because the traffic is balanced on more subnetworks. In such a case, the P2P paradigm outperforms the C/S. Fig. 4. Large-scale networks: DT in SOD phase (a) when the #subnet changes (a); RTT in IE phase (b) when the #subnetworks changes. V. CONCLUSION The agent-based programming paradigm definitively represents a viable approach to support the development of the distributed and heterogeneous elements of a SO-oriented IoT. Indeed, the agent abstraction provides an efficient and powerful way to describe the SOs, that are self-contained, autonomous, social, adaptive, and goal-directed building blocks of IoT Fig. 3. Medium-scale networks: DT in SOD phase (a) when the #SOs changes (a); RTT in IE phase (b) when the #subnetworks changes. systems. At the same time, such IoT systems may be treated as MASs, since they are dynamic, self-organized and situated With respect to large-scale networks, a different number of ecosystems. To facilitate the SOs development process and non-overlapping subnetworks (5, 10, and 20) has been speed up the IoT elements prototyping phase, middleware considered, each one with the same number (50) of SOs. As solutions have been proposed since they provide useful general Fig. 4a highlights, since the subnetworks have no overlap, the and specific abstractions at different levels of granularity. The absence of mutual interferences makes the DT quite stable (the agent-oriented ACOSO middleware represents an effective subnetworks performance in the SOD phase is similar to the framework for the developing of SOs able to perform 12 distributed computation, knowledge management and flexible Computer Supported Cooperative Work in Design, Proceedings of the interaction with sensors and actuators devices. Beside the SOs 2014 IEEE 18th International Conference on, 2014, pp. 493-498. development process, the simulation of the under-development [11] C. Savaglio, and G. Fortino, “Autonomic and Cognitive Architectures for the Internet of Things,” Internet and Distributed Computing Systems, IoT system is an equally important activity. Through the Springer International Publishing, 2015, pp. 39-47. Omnet++ platform, a set of simulations in different scale [12] P. Desai, A. S. Pratikkumar, and A. Pramod, “Semantic gateway as a scenarios has been performed and the related results presented, service architecture for iot interoperability,” Mobile Services (MS), with the focus on the communications between SOs. 2015 IEEE International Conference on, 2015, pp. 313-319. Regardless of the considered small-medium-large scale, [13] G. Fortino, A. Guerrieri, W. Russo, and C. Savaglio, “Towards a simulation results highlight that the increase of SOs number Development Methodology for Smart Object-Oriented IoT Systems: A contributes to the network traffic, so causing lower Metamodel Approach,” Systems, Man, and Cybernetics (SMC), 2015 IEEE International Conference on, 2015, pp. 1297-1302. performance, especially if reliable protocols are adopted. This implies that such kind of protocols should be adopted only if [14] G. Fortino, “Agents Meet the IoT: Toward Ecosystems of Networked Smart Objects”, IEEE Systems, Man & Cybernetics Magazine, April the full reliability is a mandatory requirement. Performance is 2016. doi: 10.1109/MSMC.2016.2557483. also adversely affected by an unbalanced traffic load, which [15] T. Leppänen, J. Riekki, M. Liu, E. Harjula, and T. Ojala, “Mobile agents may be due to the adoption of centralized communication based smart objects for the internet of things,” Internet of Things Based paradigms like C/S or by deterministic data sources. Both in on Smart Objects, Springer International Publishing, 2014, pp. 29-48. the medium- and in the large-scale cases, trends related to the [16] A. Katasonov, et al. "Smart Semantic Middleware for the Internet of increase of SOs number and of their density, or about protocols Things," ICINCO-ICSO, vol. 8, 2008, pp. 169-178. reliability, MGR and stochastic/deterministic data sources, [17] A.M. Mzahm, M.S. Ahmad, and A. YC Tang, “Agents of Things (AoT): hold. However, with respect to medium-scale networks, the An intelligent operational concept of the Internet of Things (IoT),” Intelligent Systems Design and Applications (ISDA), 2013 13th presence of multiple overlapping subnetworks on the same area International Conference on. IEEE, 2013, pp. 159-164. produces interferences, so reducing the performance. If there [18] D. Uckelmann, M. Harrison, and F. Michahelles, “An architectural are no overlaps among the subnetworks as in the large-scale approach towards the future internet of things,” Springer Berlin case, instead, the communications are scalable and the Heidelberg, 2011. provided performance is improved. Future work will be [19] I. Ayala, M. Amor, and L. Fuentes, “An agent platform for self- focused on the design of a methodology that systematically configuring agents in the internet of things,” Infrastructures and Tools supports the complete development of SO-based IoT systems for Multiagent Systems, 2012, p. 65. [13]: such methodology, by integrating ACOSO and Omnet++ [20] S. Bandyopadhyay, M. Sengupta, S. Maiti, and S. Dutta, “Role of with other frameworks like ELDA [29-31] and by maintaining middleware for internet of things: A study,” International Journal of Computer Science and Engineering Survey, vol.2, no.3, pp. 94-105. an agent-oriented approach, will aim to effectively model, [21] P. Vlacheas, et al., “Enabling smart cities through a cognitive prototype and validate new generation of SO-based cyber- management framework for the internet of things,” Communications physical systems within the IoT context. Magazine, IEEE, vol. 51, no. 6, 2013, pp. 102–111. [22] F. Bellifemine, A. Poggi, and G. Rimassa, “JADE–A FIPA-compliant REFERENCES agent framework,” Proceedings of PAAM, vol. 99, 1999, pp. 97-108. [1] S. Aguzzi, et al., “Definition of a Research and Innovation Policy [23] G. Fortino, A. Guerrieri, G. M. O'Hare,and A. Ruzzelli, “A flexible Leveraging Cloud Computing and IoT Combination,” European building management framework based on wireless sensor and actuator Commission, Directorate-General of Communications Networks, networks,” Journal of Network and Computer Applications, vol. 35, no. Content & Technology, Belgium, Rep. SMART 2013/0037, 2014. 6, 2012, pp. 1934-195. [2] D. Miorandi, D. Sicari, F. De Pellegrini, and I. Chlamtac, “Internet of [24] G. Fortino, R. Giannantonio, R. Gravina, P. Kuryloski, and R. Jafari, things: Vision, applications and research challenges,” Ad Hoc Networks, “Enabling effective programming and flexible management of efficient vol. 10, no. 7, 2012, pp. 1497-1516. body sensor network applications,” IEEE Transactions on Human- [3] G. Kortuem, F. Kawsar, D. Fitton, V. Sundramoorthy, “Smart objects as Machine Systems, vol. 43, no. 1, 2013, pp. 115-133. building blocks for the internet of things,”. Internet Computing, IEEE, [25] A. Guerrieri, G. Fortino, A. Ruzzelli, and G. O'Hare, “A WSN-based vol. 14, no. 1, 2010, pp. 44-51. Building Management Framework to Support Energy-Saving [4] M. J. Wooldridge, “Agent technology: foundations, applications, and Applications in Buildings,” Hershey, PA, USA, IGI Global, 2011. markets,” Springer Science & Business Media, 1998. [26] G. Fortino, S. Galzarano, R. Gravina, and W. Li, “A framework for [5] W. Van der Hoek, and M. J. Wooldridge, “Multi-agent systems,” collaborative computing and multi-sensor data fusion in body sensor Handbook of Knowledge Representation, 2008, pp. 887-928. networks,” Information Fusion, vol. 22, 2015, pp. 50-70. [6] A. Varga, “The OMNeT++ discrete event simulation system,” [27] G. Fortino, A. Guerrieri, F. Bellifemine, and R. Giannantonio, “SPINE2: Proceedings of the ESM’2001, vol. 9, no. S 185, 2001, p. 65. developing BSN applications on heterogeneous sensor nodes,” IEEE Int. [7] G. Fortino, A. Guerrieri, M. Lacopo, M. Lucia, and W. Russo, “An Symposium on Industrial Embedded Systems, 2009, pp. 128-131. agent-based middleware for cooperating smart objects,” Highlights on [28] F. Bellifemine, G. Fortino, A. Guerrieri, and R. Giannantonio, Practical Applications of Agents and Multi-Agent Systems, Springer “Platform-independent development of collaborative Wireless Body Berlin Heidelberg, 2013, pp. 387-398. Sensor Network applications: SPINE2”, SMC 2009, pp. 3144-3150. [8] G. Fortino, A. Guerrieri, and W. Russo, “Agent-oriented smart objects [29] G. Fortino, A. Garro, S. Mascillaro, and W. Russo, “Using event-driven development,” Computer Supported Cooperative Work in Design, 2012 lightweight DSC-based agents for MAS modelling,” Int. Journal of IEEE 16th International Conference on. IEEE, 2012, pp. 907-912. Agent-Oriented Software Engineering, vol. 4, no. 2, 2010, pp. 113-140. [9] G. Fortino, A. Guerrieri, W. Russo, and C. Savaglio, “Middlewares for [30] G. Fortino, and W. Russo, “ELDAMeth: An agent-oriented smart objects and smart environments: Overview and comparison,” methodology for simulation-based prototyping of distributed agent Internet of Things Based on Smart Objects. Springer International systems,” Information and Software Technology, vol. 54.6, 2012, pp. Publishing, 2014, pp. 1-27. 608-624. [10] G. Fortino, A. Guerrieri, W. Russo, and C. Savaglio, “Integration of [31] G. Fortino, A. Garro, and W. Russo, “An integrated approach for the agent-based and cloud computing for the smart objects-oriented IoT,” development and validation of multi-agent systems,” Int. Journal of Computer Systems Science & Engineering, vol. 20.4, pp. 259-271, 2005. 13