Abstract
Keywords
Introduction
The Internet of Things (IoT) is an emergent paradigm whose objective is to control the physical real world using a global network of objects that are interconnected through the Internet.1–3 As a result of this approach, there is currently a wide range of “intelligent” objects on the market, with the goal of covering a broad spectrum of real applications in different domains of knowledge such as health care, 4 comfort management in smart homes, 5 management of public services in smart cities, 6 industrial process management, 7 among others. However, the high supply of devices of this nature has led to the proliferation of objects (e.g. smart appliances, IP video cameras, sensors, actuators, technological items of clothing, robots, smart phones, and micro-computers) that adopt different standards of wireless communication (e.g. Bluetooth, ZigBee, 3G, 4G, GPRS (General Packet Radio Service), Wi-Fi, and RFID (radio-frequency identification)) 8 and many of which are incompatible when integration is attempted.
In general, the majority of the objects that are compatible with the IoT interfaces currently on the market consist of black boxes that limit the embedding of new programming code in the physical device itself. This makes it difficult to include specialized intelligence mechanisms to cover specific needs. Due to this limitation, a new approach based on the integration process of the IoT 1 and agents, 9 also known as the IoT agentification process, has arisen in the last decade. 10 Its objective is principally focused on optimizing the use of resources associated with IoT objects via the execution of intelligent, adaptive, and collaborative processes.11,12 In this respect, software agents—independent of whether reactive, deliberative, 13 or hybrid 14 architecture is used—, as entities, are capable of executing autonomous tasks according to specific objectives, 15 and possessing innate characteristics such as autonomy, sociability, reactivity, and proactivity, and others such as mobility, adaptation, and collaboration, 16 are placed as potential units for modeling reconfigurable, autonomous, and intelligent IoT ecosystems. 10
This article presents a systematic review of the literature centered around the identification of the efforts made by the scientific community to carry out the modeling of IoT agentification. Therefore, the objective of the systematic review proposed in this article is focused on identifying the main approaches, experimental and non-experimental models, frameworks, real applications and simulations, as well as studies and reviews of the literature in which the integration process of the IoT and agents has been addressed. In this way, a general context of this emerging approach is provided; identifying its main strengths and weaknesses, as well as the threats and opportunities that this approach may have regarding the development of future intelligent systems based on IoT technologies.
In addition to the analysis of the approaches that arise from the fusion of the IoT and agents, this study performs an analysis of the impact—positive or negative—that networks of IoT objects may experience if they introduce software agents as part of their architecture to manage intelligent behaviors (e.g. the optimization of resources associated with IoT objects, the provision of resources in a precise manner, management of heterogeneous resources, and execution of collaborative tasks). Finally, the study concludes by determining the main success factors of the IoT agentification process to date, as well as the main challenges that must be addressed by the scientific community in order to face the current limitations associated with this approach.
This article is organized into five sections. The “Systematic review” section describes the process applied and the results obtained at each stage of the systematic review. In the “Results” section, we present an analysis of the results obtained in the previous section. This analysis is carried out in terms of the models that have been proposed to create networks of intelligent IoT objects. Section “IoT agentification from a practice view” describes the main practical cases in which the IoT and agents have been integrated, and also analyzes the main intelligence mechanisms used in each of these. The “Analysis of the IoT agentification” section describes the main strengths, opportunities, weaknesses, and threats associated with the IoT agentification process, as well as the main challenges and future lines of research that arise as a result. Finally, in section “Conclusion,” we describe the conclusions of the study in detail.
Systematic review
A systematic review of the literature consists of identifying, evaluating, and interpreting the most relevant studies of a topic, research question (RQ), or phenomenon of a different type. 17 Therefore, the general objective of a process of this nature is to provide evidence that responds to a set of RQs from primary studies in which the subject of study has previously been addressed. 18
To carry out the systematic review process proposed in this article, we followed the methodological guidelines proposed by Kitchenham and Charters 17 for the development of literature reviews in the field of Software Engineering. Nevertheless, due to the fact that the process detailed is quite general, its application in this study has been considered feasible after contrasting it with another methodological tool oriented toward the development of studies of the same nature in the area of Computer Sciences proposed by Kofod-Petersen. 18 The application of this process is detailed in the sections below.
Definition of RQs
In view of the recent interest of the scientific community in the integration process of IoT technologies with agents to achieve an intelligence/cognition level in objects and networks of IoT objects superior to that reached by the generic IoT, 10 this systematic review aims to answer seven RQs considered as relevant by the authors, which have not been answered by other similar studies. These questions have served as the basic guide for the revision process addressed in this study and are detailed as follows:
Selection of information sources
The previously defined RQs provided the guidelines to determine a set of terms that have allowed us to carry out the search process. The primary terms are constituted by the words (
Once the SS were defined, we proceeded to determine the information sources used to execute the search equations, and thus retrieve the most relevant studies in which the process of integration between agents and IoT has been addressed and published in high-impact scientific publications. Based on the methodological frameworks proposed by Kitchenham and Charters
17
and Kofod-Petersen
18
for the development of literature reviews, a total of five primary information sources (PIS) were considered. Among these are three specialized digital libraries in the area of Computer Science (
Selection of studies
The search process carried out in October 2017 was performed on each of the search engines specified above and applied to the titles of the publications. In this way, we discarded tens of studies classified in the research line related to both agent- and IoT-oriented technologies that did not focus on the process of agentification of IoT. Most of them were focused on simulating the behavior of IoT scenarios and therefore, they had no relevance whatsoever to this investigation. We were basically focused on studies where the agentification process was carried out to model aspects of cognition in IoT. Nonetheless, aspects addressed by the IoT through software agents, such as sociability, autonomy, proactiveness, mobility, and adaptation, are valid for this study as long as they contribute to the execution of intelligent services by the objects connected to IoT infrastructures.
Overall, the exploration and discovery process provided us with a total of 239 studies, of which 92 were not repeated—data obtained without grouping by SS or information source. These 92 studies were reduced to 69 after analyzing the title in detail and discarding a further 23 studies. Finally, after analyzing the summary of each article, 13 proposals were identified as not constituting relevant works in the area of study. Consequently, 56 studies remained to be analyzed comprehensively. Of these 56 studies, which were initially considered to be fundamental, 6 were considered to have little relevance after being read comprehensively, on the grounds that they were not aligned with the subject of study. Among the main reasons for the exclusion of these 6 articles are as follows: full text unavailable (one manuscript), English version not available (two written in Mandarin Chinese and one in Russian), and not related to the specific topic addressed in this study (the remaining two). Therefore, for the analysis of results in this systematic review, a total of 50 proposals were considered as primary sources. The details of the aforementioned studies are shown in Table 1 and the results of the selection process in Table 2.
Main primary information sources analyzed.
Search results based on the strings and defined information sources.
Results
In this section, the contents of the primary studies listed in Table 1 are analyzed and discussed with the aim of extracting relevant information regarding the trends in the agent-based IoT approach in the last decade, as well as its impact on the solution of real problems where this approach has been applied. The results, detailed in Figure 1, show that the number of publications related to the IoT agentification process is growing. This emergent approach first appeared in 2011; however, its greatest impact has occurred in the last 5 years when 91% of the studies considered as sources of primary data by this study were published.

Trend of the agentification of the IoT according to current scientific publications.
Of the studies published between 2011 and 2017, as detailed in Figure 2(b), the largest number of these revolve around models—experimental and non-experimental—and applications implemented in real environments (92%): the same studies that have been published mostly in journals and scientific conference proceedings (98%) as shown in Figure 2(a). There are insufficient literature reviews in this area (8%) that analyze the different proposals made to date. Of the majority of studies that revolve around the proposed models, 36% correspond to models in which an experimentation process has been carried out through the presentation of quantitative results, while another 36% of the theoretical models are only proposals where ideas, architectures, and frameworks are presented, including innovative ideas to carry out the integration of IoT and agents. In addition, one can appreciate that the developed models are beginning to be adopted in the solution of real problems (20%) that have led to the development of patents. This leads us to conclude that the IoT agentification process is moving forward slowly and there is a high probability that it will grow stronger over the next few years due to the progressive growth of the use of IoT devices and the need for them to operate autonomously, intelligently, and in an easily customizable way so that they are a more effective means for the development of work activities and daily life. 21

(a) Nature of the studies and (b) types of proposals that have addressed the process of agentification of the IoT.
The experimental and non-experimental models published, which propose ideas regarding the integration process of the IoT and agents, demonstrate researchers’ growing interest in creating cognitive networks of IoT objects. Based on these models, it has been possible to identify two approaches to modeling the IoT based on agents. The first of these corresponds to the approach aimed at modeling and designing IoT objects by embedding an intelligence and reasoning mechanism in the object itself, on the basis of which it is feasible for the object to directly perform actions cognitively in order to optimize the use of its associated resources. 11 However, there is a second approach that consists of modeling multiagent systems (MASs) to manage generic object networks compatible with IoT. Thus, these types of networks acquire social abilities as well as autonomy and intelligence that jointly enable objects to indirectly carry out collaborative tasks between various objects. 65 These two approaches, together with their respective application in the solution of real problems, are analyzed with a greater level of details below.
Modeling of IoT objects based on agents
This approach is aimed at algorithms that define intelligent behavior at the level of the hardware used by the IoT; 40 that is to say, to embed a software agent in the device itself so that it acquires the innate abilities inherent to the agents. Thus, the object can incorporate more dynamic, flexible, and cognitive behavior than those of generic IoT objects that are currently marketed. Next, Table 3 summarizes the main approaches proposed in this area, which include details such as the approach or proposed processing unit, the model of agent used for its execution, IoT technologies compatible with the proposed model, and scope (i.e. intelligence, sociability, autonomy, proactiveness, interoperability, mobility, adaptability, modular development of components, security and privacy, self-adaptation, and self-organization) of the applications created by means of the use of each of the proposals.
Main proposals focused on the modeling of IoT objects using agents.
I: intelligence; P: proactivity; M: mobility; S: sociability and collaboration; A: autonomy; O: interoperability; T: adaptability; D: modular; S&P: security and privacy; AA: self-adaptation; AO: self-organization.
Agent embedded in IoT objects
The first 10 items listed in Table 3 correspond to proposals focused on embedding a software agent in the architecture of the devices or objects compatible with the IoT. The process of embedding the agent in the architecture of the physical device can take two forms. The first of these consists of direct embedding and occurs when the object is of an open hardware type and supports the update of software that directs its behavior. This involves loading a firmware that can be dynamically updated. In this respect, one of the most popular initiatives is mangOH.
67
However, the second way to embed agents in an IoT object is by means of alternative mechanisms; that is to say, by integrating a set of sensors/actuators, thus forming specific IoT objects by adding a SBC component (
Several proposals have been made in the attempt to define a standard basic processing unit for the approach associated with agent-based IoT modeling. Among the most relevant units are entities of the type
The studies of the previously specified authors propose, in a general way, modeling IoT objects by means of linking an individual agent. Nevertheless, although in a similar—and in some cases identical—way, each author defines this integration process from his or her own perspective. For example, Mzahm et al.11,64 conceive this process as a device that gives objects the capacity to execute reasoning and communication processes with heterogeneous objects by themselves; thus providing a high level of interoperability and dynamic and flexible intelligence, personalized through software agents. Carlier and Renault 40 and Singh and Chopra 61 meanwhile define it as a conceptual unitary machine that stores the control logic of the object that is focused on the execution of reasoning tasks in a similar way as posed by Mzahm et al. Along the same lines, Kato et al. 51 and Knol et al. 37 propose the design of IoT objects using agents to improve their communication skills and establish cooperative processes with other devices 51 as well as extracting and storing data coherently, both in cyberspace and on the device. 37
However, although the
Applying the same comparison as previously described, Fortino and colleagues12,57,63 introduces the concept of
Finally, Ayala et al.
62
propose embedding agents in heterogeneous IoT objects with the aim that these agents manage IoT resources in order to provide the appropriate services requested within IoT ecosystems. In summary, Ayala et al.’s proposal focuses on the use of
Web agents targeting IoT objects
Generally, IoT objects are electronic devices with limited computing capacity and storage resources to support the agents running on them. To face this limitation, several models of alternative agents based on web technologies have been proposed, in addition to the traditional models of reactive agents such as JADE 73 and JADE Leap, 74 and deliberative agents such as Jadex, 75 which are currently the most widespread and popular platforms for creating agents.
The 11th proposal, detailed in Table 3, constitutes the main web agent model proposed to date that is developed for its use in IoT ecosystems. This model, proposed by Leong and Lu,
50
is an agent based on REST technologies, which uses HTTP as a communication protocol as well as messages encoded in JSON (
Mobile agents embedded in objects
Following the same criteria of the need for lightweight components that contribute to achieving a higher level of autonomy, cognition, and flexibility of adaptation in the IoT, several proposals for models of lightweight agents with mobility support have been proposed. First, Leppänen et al.’s 27,44,46 proposal is focused on a lightweight agent model based on REST technologies, aimed at heterogeneous IoT devices of low power resources and large-scale networks. These networks are displayed on the web and thus, the
However, under the same criteria followed by Leppänen et al., Jarvenpaa et al.45 proposed a mobile agent model developed by means of the use of HTML5 web technology that allows agents to move in different IoT devices, even allowing their cloning in order to create more complex behaviors. These behaviors can be executed in two ways: through a user interface within a browser or from a server. The use of one alternative or another depends on the resources associated with the objects where the agent must be migrated. Along the same lines, Bosse66 proposes an additional mobile agent model called AgentJS, developed through JavaScript, which can feasibly be run on all host platforms including web browsers.
Finally, Godfrey et al. 52 propose an alternative mobile agent model, which not only focuses on enabling communication between objects connected to various IoT networks but also focuses, moreover, on enhancing the objects with capabilities that allow them to proactively search for the appropriate resources and provide specialized services to devices connected to a network of this nature. In conclusion, the lightweight mobile agents proposed in this section make a significant contribution to allowing IoT objects to integrate a level of expertise through components that do not necessarily have to be incorporated indefinitely in their architecture, but that contribute to the fulfillment of their objectives at certain times.
IoT modeling based on MASs
This second approach to carrying out the process of integration of IoT and agents focuses on the modeling of a MAS to manage the objects connected to IoT infrastructures and their associated resources. The management of communications between the agents that are part of the MAS with the physical devices that make up the network of IoT objects is possible thanks to the use of middlewares that are specialized in providing a low-level communication interface with the IoT objects. Some tools of this type detailed by Razzaque et al. 79 are TinySOA, SOCRADES, ubiSOAP, ActorNet, UbiROAD, and openHAB. 80 In the review process carried out in this study, the main proposals that have contributed to the origin of this specific approach are detailed in Table 4, which follows the same structure as that used by Table 3.
Main models of MASs modeled using agents.
I: intelligence; O: interoperability; M: mobility; T: adaptability; AO: self-organization; AA: auto-adaptation; B: scalability.
MASs modeling for IoT management, also known generically as agent-based modeling (ABM) of the IoT, is basically focused on the modeling of adaptation, social, and collaboration capacities. This is evidenced by the demonstration made by Kaminski et al.
81
and Savaglio et al.,
10
who evidence in their respective studies and analyze the benefits of ABM as a technique recognized as an “
The first two models summarized in Table 4 are agent systems based on sophisticated mechanisms. Both of these are approaches in which the agents integrated into the MAS are geared toward managing a network of IoT objects with more complex capabilities based on automatic learning techniques and AI optimization. The first of these is the approach of Do Nascimento and de Lucena 29 who propose a model in which objects acquire the capacity for self-organization and self-adaptation by means of agents based on automatic learning techniques such as neural networks and evolutionary algorithms. In this vein, the second approach proposed by Forestiero 49 proposes an agent model based on a multiagent recommendation algorithm—based on the mapping of similar objects—in the context of IoT, to provide a set of meaningful suggestions that meet the needs of a user with determined characteristics.
Some proposals have also been set out regarding the modeling of the social and cooperative component. Among the most relevant of these are the works of Ruan et al.
82
and Schatten et al.
21
(third item of Table 4). On the one hand, Ruan et al. propose a framework aimed at managing each agent’s level of confidence in order to help it assess the reliability of its counterparts. On the other hand, Schatten et al. propose a study which presents the guidelines to carry out the organizational design of large-scale MASs that have limitations to work and communicate in an interoperable way. In addition to these approaches, there are two additional studies regarding the management of the social component. The first of these is the study by Manate et al.
33
who propose a hybrid multiagent platform where agents can be embedded in the devices themselves or in the cloud. In this way, agents can exchange information regardless of their location. Hence, the proposed platform performs a security audit on the distributed agent architecture to determine which geographic areas offer a better quality of services for end-users. The second paper, presented by Choi and Koh,
28
included as the sixth item in Table 4, proposes a distributed mobility agent model (
Finally, relative to the cognitive component, as detailed in the fifth item of Table 4, Laghari and Niazi
47
explore the modeling of complex communication networks based on cognitive agents through the platform MAS-MINC (
In summary, MAS modeling can be addressed by combining it with the first approach related to object modeling based on agents as described above. Modeling objects as agents automatically enables the development of MAS for the management of IoT object networks and the resources associated with the infrastructure in a global way; that is to say, contemplating the cognition component, social capacity and collaboration, adaptation, and autonomy.
Frameworks and middlewares for supporting the agentification process
Both Tables 3 and 4 show the main models of agents and MASs that have been proposed to materialize the process of agentification of the IoT. Despite the existence of a variety of models of agents oriented to manage the objects and resources of IoT, it is evident that there are no standard frameworks that describe in an integral way the guidelines and conceptualization regarding the process of agentification nor the process to follow to build agentified IoT ecosystems. However, as the content of Table 5 shows, some frameworks to create applications directed by the IoT agentification process have been proposed.
Main frameworks for the agentification of the IoT.
Table 5 details the main studies that have raised one or several aspects that should include a framework to agentify the IoT. These aspects have been defined on the basis of the study by Sturm and Shehory 85 who sets out four elementary criteria—concepts (guidelines that describe the concepts and properties employed by the framework), notations (symbols used to represent elements within a system), processes (actions and algorithms that a system can perform), and pragmatics (dealing with practical aspects of deploying and using in a specific scenario)—that an agent-oriented methodology should describe. However, in the case of the evaluation of a framework, only three of these criteria—concepts, processes, and pragmatics— have been considered as relevant and these have been complemented with three additional aspects that outline technical and proof of concepts associated with a framework. These concepts include the following: architecture (proposed architectural design that determines the elements of a system), completeness (degree of description of the programming model or modeling tool), and implementation (technological tool resulting from the proposed framework).
After analyzing all articles recovered in this work, it was found that only 12 studies proposed the introduction and description of a framework designed to agentify the IoT. The remaining 38 were only focused on describing an agent platform, performing a critical analysis on the subject or creating an application without going into detail on the aspects of Table 5. However, of the first 12 frameworks proposed, detailed in Table 5, 6 of them include too few technical details to allow a developer to create an agentificated IoT system. Also, one of them includes mid-level details and the remaining five include a high level of conceptual and technical details, that is, they describe each of the aspects of Table 5 including details of the proposed programming or modeling model. This therefore makes it easier for programmers to approach an IoT agentification project using such frameworks if tools associated with the framework were available. However, in all cases, the studies do not indicate where the middlewares involved can be accessed.
Main applications modeled from the agentification process of the IoT.
However, in addition to the first 12 frameworks already mentioned, an additional framework has been covered in the literature which has been included as the 13th framework in Table 5. Although it is a purely conceptual framework based on dimensions—agent, environment, interaction, planning, organizational, and normative—, this type of study, as well as the 12 previous ones, constitutes a motivation that encourages researchers to create new tools and specialized application software that guide the process of agentification of the IoT. This is the case of the study proposed by Maamar et al. 86 who present the modeling and proof of concept of an agenticated IoT system based on a normative model. Similarly, the different models of agents described in Tables 3 and 4 are also basic lines that can benefit the crystallization of the IoT agentification process.
Complementary to the frameworks presented in Table 5, it has also been proposed middlewares oriented to the development of IoT systems that provide specialized mechanisms to model IoT networks through the use of software agents. Their main function is aimed at developing abstraction mechanisms that facilitated low-level communication with the devices through the use of agents have been created, as Razzaque et al. 79 present. In the above-mentioned study, 61 tools were presented, of which 10 (16.39%) have been developed to support software agents. Specifically, these agent-based tools—Impala, Smart messages, ActorNet, Agila, Ubiware, UbiROAD, AFME, MAPS, MASPOT, and TinyMAPS—support the use of mobile agents to support devices with limited computing resources in optimizing the use of energy (30%) and memory (60%), as well as carrying out the dynamic adaptation of networks of heterogeneous IoT objects (90%), discovery of services (80%), device discovery (70%) distributed, coherent context management (70%), interoperability (100%), and autonomous behavior (100%). Their main objective is optimizing the allocation and resource management processes of networks of IoT objects.
In addition to the middlewares already specified, an additional study proposed by Savaglio et al. 10 summarizes a list of middlewares oriented to realize the process of agentification of the IoT. The analysis of each tool is performed taking into account several indicators such as the cognitive one. Thus, it is possible to list some other tools in addition to those identified by Razzaque et al., 79 among which are the following: iCore, CIoT, ASSIST, INTER-IoT, and VICINITY. 10
In synthesis, it is important to note that despite the existence of specialized frameworks and middlewares to apply the process of agentification of the IoT, none of them is standard or part of a recommendation (e.g. W3C and FIPA). This has been one of the main limitations by which the process of agentification of the IoT has not been sufficiently extended or popularized in the industrial, scientific, and business environment.
IoT agentification from a practice view
In section “Systematic review,” we presented the two main approaches proposed for the development of IoT applications based on software agents. The evidence presented and described shows that the subject of study in this research has grown substantially over the last 5 years. Although, as shown in Figure 2, several of the studies have been theoretical (8%) and non-experimental (36%). In contrast, several of the models have been validated through experiments and simulations (36%), and others have been validated in real-life environments and situations. In this section, proposals in this last category are analyzed. However, experiments that have modeled real-world situations (e.g. real-road intersection and real museum) have also been considered.
Table 6 includes the most relevant details of the applications developed using IoT technologies and agents. The most significant contributions, according to the researchers’ criteria, show 12 proposals that resolve problems in 7 different areas: intelligent transport management, intelligent management of entertainment services, intelligent assistance in health care, intelligent comfort management, intelligent manufacturing processes, management of activities in the field of agriculture, and finally, intelligent logistics management. Each of the proposals described is focused on IoT technologies such as RFID, micro-computers (Raspberry PI), IP cameras, smart phones, and sensors and actuators compatible with communication interfaces based on ZigBee, Wi-Fi, and Bluetooth Low Energy (BLE). Furthermore, it is important to highlight that the models of agents used are quite heterogeneous. These models range from JADE-based reactive models to more specialized or specific ones managed by certain agent methodologies (e.g. JASON, MAPS, 87 and AFME 88 ) and other models that emerge as a result of the proposal presented (e.g. Self-SmartMAS).
IoT agentification and cognition
The proposals of applications that introduce the concept of agentification in IoT technologies summarized in Table 6 take advantage of the intelligence capabilities inherent to the reactive (proposals 1, 3, 4, 5, 6, 8, and 11) and deliberative (proposals 9 and 12) models. However, these generic behaviors are increasingly complemented by advanced AI techniques (proposals 2, 3, and 6), models based on probabilities (proposals 2, 6, and 12), and semantic logic (proposals 5, 10, and 12) that allow reasoning processes using ontologies to be executed. In addition, it is important to note that it is increasingly common to combine several of the previously discussed techniques in the same system, such as the use of contextual information in the case of proposal 12, which combines ontologies and a Markov decision-making model in order to more accurately recommend IoT services according to user needs.
The analysis of the applications listed in Table 6 is presented below, grouping them according to the cognitive mechanism used by each of them, in order to define their scope in terms of intelligence level.
Cognitive capacity modeled by means of a set of rules
The reactive agent model, mostly implemented via the JADE tool, employs an event-based mechanism managed by a set of rules that automatically trigger when a change occurs in the context where the agents operate. The use of this type of agents in networks of IoT objects is basically oriented toward the modeling of rules based on contextual information of the devices connected to these types of networks in order to more effectively coordinate the services offered by the devices. In this ambit, there are some proposals presented by Al-Sakran, 36 Adhikaree et al., 39 Ayala et al., 62 and Zhou and Lou. 34
On the one hand, Adhikaree et al. 39 employ reactive smart household agents that act autonomously in order to minimize electricity costs in smart homes. Similarly, Ayala et al. 62 proposes the use of reactive agents in the management of the activities of an intelligent museum, based on contextual information provided by sensors in order to provide context-specific services such as establishing routes within the museum considering the presence of other groups in different physical areas of the facility, and sharing and disseminating information between the guide and their group of visitors. Supported by RFID technologies as proposed by Adhikaree et al., 39 Al-Sakran. 36 combine these technologies with reactive agents to monitor the identification of vehicles on roads in real time and thus minimize the number of accidents. Finally, Zhou and Lou 34 propose an intelligent load-tracking system that supplies the user with real-time information about vehicles and cargo based on reflex agents that have an internal representation of their environment that helps them trigger the action–condition rules based on the location of the load, in addition to establishing negotiation processes when problems arise with the route of a specific load.
Cognitive capacity modeled from deliberative components
Of the proposals retrieved in the search process carried out in the systematic review, only one proposal within the framework of the introduction of BDI components for the modeling of IoT intelligence has been identified. This proposal is the work of Gateau and Rykowski, 53 who present a model to provide intelligent comfort based on deliberative agents that formulate and negotiate the needs and expectations of users in order to provide comfort through Maslow’s hierarchy of needs (thermal comfort, ventilation, humidity, gas emissions, lighting, and acoustics). It is important to point out that the use of these types of agents in the IoT is minor inasmuch as they are complex to model and adapt and not oriented toward the modeling of interaction ecosystems in medium- and large-scale MASs. This is one of the main reasons why the deliberative agent model is not the most used in IoT agentification, although the level of cognition can reach a higher level than that of reactive agents. In fact, as Moin 56 states, neither Jadex nor any other next-generation BDI agent framework could efficiently operate platforms with limited resources such as the IoT.
Cognitive capacity modeled from semantic logic
This approach proposes the design of agents with the capacity to exchange information based on ontologies which represent the semantics of the information processed by the system in order to execute automatic tasks by means of semantic reasoning processes. In this regard, Alexakos and Kalogeras
38
design agents with these capabilities so that decisions are based on the meaning of the data and not only on the syntax. It is important to point out that in order to apply this strategy, specialized ontologies are needed in the domain in which the application is classified and, in addition to this, ontologies are used to describe the aspects of IoT such as devices and resources, among others. For the case proposed by Alexakos and Kalogeras
38
limited to the manufacturing environment, they employed on the one hand, the
Along the same lines, Thangaraj et al. 22 propose a similar agent approach that acts on the basis of semantic logic and semantic descriptors to carry out the intelligent management of patients (i.e. monitoring vital signs and diagnosing diseases based on the patient’s clinical data). The ontology used includes only the concepts and properties of vital signs. Finally, Wang et al. 26 enable the efficient organization and management of various services provided by third parties in general IoT ecosystems through the introduction of ontologies in the agent-based IoT model.
Cognitive capacity modeled from probabilistic models
The intelligence capacity in this approach is acquired by the agents by means of the use of probabilistic and stochastic models such as Markov decision models, Bayesian networks, and genetic algorithms, among others. Of the applications listed in Table 6, Chamoso et al. 58 use the Bayesian network technique to estimate the most appropriate workflow to be executed by the agents in an IoT environment in order to automatically optimize traffic flow management in smart cities. However, Chamoso et al. also incorporate lightweight agents that are based on collective intelligence techniques modeled from the interactions between the agents to execute collaborative behaviors, which are represented numerically and based on the assignment of values to the different parameters of the model.
In the same vein, Do Nascimento and de Lucena
29
employ genetic algorithms based on evolution processes using stochastic techniques in the processes of crossing and mutation of the population in order for the objects to acquire the capacity of self-adaptation. In addition, García-Magariño et al.
24
present a smart bed
Cognitive capacity modeled with sophisticated AI techniques
The cognitive capacity in this approach is accomplished by incorporating intelligent heavyweight agents that mimic certain human cognitive abilities studied in the area of AI. In applications 2, 3, and 6 summarized in Table 6, which adopt this philosophy to add the intelligence component in IoT, Chamoso et al. 58 propose two agent models, one heavy weight and another lightweight (previously described in the category of agents that use probability models). The first of these is based on AI techniques. The agent represents an entity that is specialized in automatically fusing information through supervised learning and prior training; that is to say, the model employs RNA and classifiers that combine different detection technologies which deliver heterogeneous data and provide more accurate information about IoT resources. In this type of model, the intelligence resides in each of the agents that participate in the system; consequently, from a computational standpoint, they are less efficient and are consequently not targeted at IoT devices but at Cloud Computing infrastructures that are endowed with high computing power to execute these types of tasks. Therefore, the agents that adopt these techniques include mobility support to execute the processes of intelligence in the cloud, and afterwards, to execute decision actions in the devices, using the results obtained.
Along these same lines, other works that adopt other AI techniques have been presented, including the proposals of Do Nascimento and de Lucena, 29 Ramchurn et al., 89 and Alan et al. 59 In the first case, RNAs are again combined with evolutionary algorithms in order for the objects to acquire the capacity for self-organization and self-adaptation. In the second case, the proposed agent model uses automatic learning techniques to obtain awareness of the situation or condition of an environment where a natural disaster has occurred, based on data captured by unmanned aerial vehicle (UAV). These represent two practical cases where the cognitive actions of the agents are modeled via sophisticated AI techniques. However, additional models following the same approach can be proposed. Finally, in the latter case, Alan et al. 59 also use machine learning techniques to predict the daily energy consumption in a home automation system based on the previous day’s consumption and thus, plan the rate and when to implement changes to predict the best rate.
Analysis of the IoT agentification
The selected primary studies were analyzed, organized, compared, and contrasted, in order to identify the main strengths (S), opportunities (O), weaknesses (W), and threats (T) of the IoT agentification process to achieve cognitive networks of this nature. These four types of components are described as follows.
Strengths
Opportunities
Weaknesses
Threats
Main trends of the IoT agentification based on embedded agents
The objective of this section is to perform an analysis of the SWOT components defined in the previous section in order to determine the main tendencies and future lines of research related to the IoT agentification process—based on the criteria of the researchers and the different analyses carried out in the “Results” section. This analysis has been carried out from two perspectives: the first case proposes carrying out the agentification of the IoT by embedding agents in the objects themselves. The main trends and areas of work in this field are described as follows.
Standard lightweight agent models for IoT technologies (S 1–O 1)
It has been possible to demonstrate that the current agent platforms are not sufficiently light to be able to develop components that must be executed in devices with limited resources such as the IoT objects that are currently on the market. This is one of the main weaknesses (
Marketing of distributed IoT objects under open hardware license (F 1–O 2)
One of the main limitations of many of the currently marketed IoT objects (e.g. electrical appliances) is that they are distributed as black boxes where the user can generally customize the object to change its behavior but does not have the option to adapt it or re-program it to meet his requirements in their entirety (
Intelligence as a service (F 3, F 4–O 3)
It is problematic that many of the commercialized IoT objects are advertised as “intelligent” objects when, in reality, their level of intelligence is narrow or limited. Modeling generalized intelligence is highly complex and therefore many companies offer the user the option of personalizing the device (e.g. a microwave) using previously defined parameters. However, AI allows us to go beyond what is offered via the use of agents which have support for distributed intelligence modeling, either by applying a single technique (
User-friendly agents (S 5–O 1)
In the field of agent-oriented technologies, the interaction between the software agents and the user is simpler than the interaction between humans and IoT physical devices (
Main trends of the IoT agentification based on MASs
The second analysis has been carried out considering the implementation of the IoT agentification process by means of the development of MASs that manage IoT resources through the use of specialized middleware to carry out the communications with the objects, without the need for any agent to operate on the device itself. The developments that revolve around this approach are detailed below.
Interoperable agent platforms (F 1–O 1)
Considering the scale and level of heterogeneity handled in IoT environments, it is essential that the agents of a platform have the ability to interoperate with other agents operating on different platforms and that have been developed with different tools. This aspect is impossible to achieve if standards are not defined. We consider it necessary for the FIPA to extend its range of standards so that agents, regardless of the tool used for their creation, can analogously communicate with other agents, as is done by service-oriented computing through service-oriented architecture (SOA).
90
A line of investigation covering this aspect can be developed in order to establish standards that enable technical interoperability (shared resources and communication interfaces), syntactic (the format of shared messages), and semantics (ontology and representation of shared knowledge), which are feasible in the agentification of the IoT according to the study by Savaglio et al.
10
Although syntactic interoperability has been achieved thanks to FIPA (
Specialized software engineering tools for the agentification of the IoT (S 1, W 4)
The systematic review provides us with evidence of the existence of theoretical bases, processing units, frameworks, and even real applications where the IoT agentification process has been addressed (
Security mechanisms and data privacy (F 1–A 1)
Finally, security and privacy are indispensable aspects to be covered by environments that carry out large-scale interaction processes and transmit data, often of a private nature. Accordingly, a new line of investigation is raised in which communication protocols for agents at the inter- and intra-platform level are established, in order to provide secure mechanisms to the users of IoT agents. Moreover, it is important that agents work according to mechanisms that manage the consent of the data according to the user, taking into account the context in which the operations will be carried out. This is because, as we speak of large-scale and distributed agent ecosystems, it is possible for a user’s data to be provided in one country and the intelligence processes executed by the agent to be executed in another country, governed by different legislation. Hence, the importance of establishing consent mechanisms for accessing and handling the data at every moment that this is required and that the user has knowledge of what is happening with the information he or she generates.
Conclusion
From the systematic review carried out, it was possible to confirm the existence of several studies in which the guidelines to carry out the IoT agentification process have been introduced. The main studies proposed in the last 5 years (2013–2017) show an increasing trend (
We also noted that the IoT has a tendency toward an emerging paradigm called the IoA.
31
The IoT is viewed as an approach supported by intelligent agents that efficiently manage the resources offered in IoT for both objects and users. Entities such as
However, this research has also allowed us to investigate the main techniques used by the IoT agentification process. We identified five main alternatives: cognitive capacity modeled from rules, deliberative components, semantic logic, probabilistic models, and the application of AI techniques, which are used individually and in combination (
Finally, this research presented a SWOT analysis in which the main strengths and weaknesses associated with the IoT agentification are analyzed, as well as the opportunities and lines of research that this approach will have in the future in order to become a more consolidated and specialized approach with an acceptable level of standardization for the development of IoT cognitive applications for real environments (
