Abstract. Electronic devices represent a major part of our everyday lives. Internet of Things refers to the interconnection, cooperation, and coordination of electronic devices, which has the ability to perceive the environment and to communicate with other devices from the environment. In order to fulfill these requirements the devices should have the newest technologies from the multi-agent systems domain. In the Internet of Things, a lot of sensors and actuators are used. As their number increases, it is necessary to use again the existing sensors and actuators for new applications. Agent based architectures are used to enrich the electronic devices with intelligent abilities. The agents are capable to make correct decisions, based on learning techniques and on the interactions with other agents from the system. The goals which must be fulfilled in the system are decomposed into sub-problems, and each agent solves such a task concurrently. For the distributed problems, the agents cooperate and communicate to solve the problems. The paper develops an agent based simulation environment for devices connected to the Internet of Things. When a complex problem can not be solved by only one agent, it starts to negotiate with other agents from the system. The framework developed is tested in the smart home environment, for facilitating the everyday activities, such as controlling the heating system, the lighting system in the rooms, the access to the garage from a Web based application.
Keywords: Automated negotiation, Internet of Things, Multi-agent system, Smart devices
JEL classification: C780, C880
The Internet of Things refers to the presence in the environment of smart objects and devices, which are connected between them. These are able to interact with each other and to cooperate to reach common goals . The objects and devices are modeled as agents, which perceive the environment, use data to reason and to make the correct decision, and then to act upon the environment. Internet evolved into a network of interconnected devices, which use the existing standards to offer information transfer services, applications analysis, and communication. By interconnecting the devices, a smart environment is created .
The systems connected to the Internet of Things require scalability, in the case when centralized solutions are not feasible. To obtain global connectivity, protocols are needed to solve the device heterogeneity and to allow the access to the resources. It is necessary to take into account adaptation and evolution, in order to solve the changes in the environment, system configuration, and application requirement. These issues refers to interoperability between different standards, protocols, data formats, resource types, heterogeneous hardware and software components, database systems, and human operators .
The Internet of Things considers devices as networked, intelligent, autonomous, and self-aware smart objects and allows them to perceive the environment through sensors, to store information and to interpret it, to cooperate by sharing information and to react to changes in the environment .
The multi-agent systems allow the distribution and the flexibility in the system configuration, by abstracting heterogeneous subsystems and system resources for cooperation . Agent based computing is a programming paradigm for implementing agents advanced features and solving the requirements of distributed applications. Modeling the environment using agents allows solving two problems: the encapsulation of the control and the interaction between agents .
In our previous paper, regarding automated negotiation, bargaining strategies based on agent profiles and clustering of agents was proposed in . Different negotiation strategies, based on agent preferences, are described in .
The multi-agent system proposed in this paper has the goal to simulate the environment of a smart house, in which the devices interact between them by exchanging messages and negotiating their abilities. It is necessary to obtain an efficient communication between the interconnected devices in the smart house environment and also an easy interaction with the users. An important issue of the system is the adaptability of the agents to the current context of the environment and also the cooperation and the coordination between agents. They have to learn in time the usersâ€™ behavior, in order to fulfill the requirements.
2. Multi-agent based platform
In the platform, the agents are designed according to the BDI model, and they have a set of goals, selected from the set of desires. In order to achieve their goals, they develop plans, as a sequence of actions to be performed, or they provide services or ask for services from other agents. Some actions can not be executed by the agent itself, and they become, together with the services, issues to be negotiated by the agents. The agents have different reasoning capabilities, designed to conduct successful negotiation and the fulfillment of agentsâ€™ goals.
The type of negotiation implemented is a heuristic negotiation, where the agent computes the gain, as compared to its private value for an object. The agents negotiate following the Iterated Contract Net protocol. Each agent takes into account a private value for any item to trade. In a buying negotiation, an agent will look for a lower value than its private one, while in a selling negotiation; its main goal is to obtain more than the itemâ€™s private value.
There are different models for the smart home. An approach refers to the category of non-parametric supervised classification models, which contain decision trees, neural networks, Bayes classifier and the supporting vector machine. All these models estimate category labels based on supervised training. Another approach is the supervised categorical sequence labeling models, which contains conditional random field, hidden Markov models and variants of the hidden Markov models. They are used to predict a sequence of categorical labels .
Smart homes are equipped with sensors of different types. It is necessary to find the start and stop moments for the sensor events, detecting a specific action, based on the sensor status and eliminating noise from falsely activated sensors which could emit false signals. The sequence of predicted actions can differ, because a user can do actions in different ways from one day to another and produce different sequence.
The smart home model, described in Figure 1, is divided into three layers. The first is the physical layer, which contains sensors and actuators. The next is the reasoning layer, which does data processing. The results of this layer are passed to the third layer, which is the application layer. This last layer interacts with the user, by executing actions or by communicating with other systems.
Figure 1. Smart home model
Distributing the reasoning layer to cognitive agents helps to increase the system capabilities. Heterogeneous system elements and the communication between them are performed by distributed agents, which can be executed in parallel.
3. Smart home devices communication architecture
The devices are interconnected by a communication network, in order to be able to sense and exchange information between them. Also, they communicate with other systems, such as sensors, actuators and the user interface.
The smart home environment is implemented in JADE, which is a software environment developed in Java for the creation of multi-agent systems, which fulfill the FIPA specifications . Agent communication is an important feature in JADE an is implemented with respect to the FIPA specifications. An useful tool in JADE is the Sniffer agent. This allows the user to see the message interactions taking place in real time. Figure 2 displays a screen capture of the JADE Sniffer agent for the multi-agent system implemented.
The JADE platform provides a yellow pages service, which allows any agent to dynamically discover other agents at a given moment in time. A specialized agent, called DF (Directory Facilitator) offers the yellow pages service in JADE. Using this service, any agent can both register and search for services.
Communication between devices implies also negotiation. A negotiation object is the range of issues over which agreements must be reached as defined in . The object of a negotiation may be an action which the negotiator agent A requests other agent B to execute for it, a service that agent A asks to B, or an offer of a service agent A is capable to execute for B, in the case when B agrees to the conditions of A. The agent A may have a plan to achieve one of its desires, but may be unable to do some of the necessary actions, so it asks B to execute these actions for it, if it believes the actions belong to Bâ€™s abilities.
Figure 2. Screen capture showing the multi-agent system in action
The negotiation architecture contains three components: the communication interface, the data storage component and the negotiation component. The communication interface allows devices, applications and users to communicate with the platform.
A device is registered by making a request to the platform. The message contains the description of the device in XML format. The platform parses the message and saves the device details in the data storage component. The device details contain the information necessary to find other devices and to negotiate with them. This data is sent to the negotiation component. This component is composed of two parts. The first part contains the preselection step, which queries the data storage and sorts the devices, with respect to the required conditions. In this manner, a smaller number of devices enter the negotiation step, such that the negotiation complexity is decreased. The negotiation takes place inside the JADE container. The negotiation network is composed of asynchronous agents, each agent being able to communicate with other agents, by sending messages.
A user registers the application to the system, by offering details in a XML document. The system selects all the devices that can provide data for the application. After that, the negotiation process is started and the following messages are used:
1) cfp(A, X, NO, P) is the communication primitive, which represents a call for proposals from A to all the acquaintances X, regarding a negociation object NO, with an associated cost P
2) propose(X, A, NO, P, Step) is the communication primitive, which represents the response of agent X to the cfp, with the negocitiation object NO, price P and negotiation step Step
3) accept(X, NO) indicates the acceptance of a proposal issued by X, for the NO
4) reject(X,NO) indicates the rejection of a proposal issued by X, for the NO
5) counterpropose(A, X, NO1,P1, Step) defines a communication primitive, which represents the counterproposal of agent A to the proposal of agent X, with the negotiation object NO1, price P1 and negotiation step Step
The counterproposals are defined using the tit-for-tat algorithm. The private value is the smallest price until which a device agent is willing to negotiate. This value is defined by the device owner during device registration.
4. Use cases scenarios in the smart home environment
The platform allows the negotiation between interconnected devices, which can specify the condition under which an agreement can be found. The number of negotiation steps is dependent on the number of agents that take part in the negotiation.
The smart home environment is used in the following cases:
1) Intelligent system for the heating system of the smart home. The house has two different central heating systems and the thermostat used is Salus IT500. The wireless thermostat can be remotely controlled either from a laptop or from a smartphone. Using the device, it is very easy to verify and to adjust automatically the temperature in the house. Doesnâ€™t matter the location of the user, it is possible to know and to modify the parameters of heating system. The heating is programmed to start at a desired temperature and to stop when there are no persons in the house. Because the two central heating systems has different powers, a negotiation process can start between the thermostat and the two heating centrals, according to the desired temperature. So, the energy consumption is decreased.
2) Intelligent system for managing the lighting system, inside and outside the house. The electrical system is enriched with the device PNI SmartHome SM480, for controlling the light by Internet. The lights can be turned on and off remotely, in this way a decrease of the electrical energy is obtained.
3) System for opening and closing the garage door, using the intelligent relay PNI SmartHome SM433. The access to the car garage is easily controlled from the smartphone, without using the remote control of the garage door.
4) System for watering the garden, using two different water sources: tap water and water from the well. The connection to the Internet is done using the Rain Bird programmer ESP-RZX with 8 areas. Depending on the surface which must be watered and the type of trees and plants a negotiation is involved, with respect to the type of water used in each area. This intelligent system, controlled by smartphone, start to work at a certain value of soil humidity. In this way and in connection with a rain sensor, water consumption is reduced.
The negotiation platform, implemented as a Web application, is useful for doing negotiation between Internet connected devices and applications. The agents use the Iterated Contract Net protocol, which has the advantage that it can simulate a real world scenario.
The paper developed a model of agents acting in the Internet of Things scenario, which capture the relevant elements of agents behavior related to negotiation with other agents.
In the negotiation, the agreement is reached with respect to the price and the utility of the negotiation object.
In the Internet of Things, the devices are able to cooperate and to execute complex behavior, without the need for centralized control to manage their interactions. In order to detect and to put together communication, cooperation and computation activities, which appear in a distributed environment, it is necessary to design an event based system.
The devices presented in the use cases scenarios in the smart home environment allow to use resources in a rational manner and consequently to decrease the energy consumption.
Future work will involve dealing with security and privacy issues and also the management of heterogeneous environments and devices in the smart home. An optimized communication hierarchy will be developed, such that the number of exchanged messages will be reduced and an efficient algorithm for routing the messages will be established.
This work was supported by the project GEX2017, No. 28/25.09.2017, AU 11.17.15.
 L. Atzori, A. Iera and G. Morabito, â€œThe internet of things: A surveyâ€, Computer Networks, vol. 54, no. 15, 2010, pp. 2787-2805.
 J. Gubbi, R. Buyya, S. Marusic and M. Palaniswami, â€œInternet of Things (IoT): A Vision, Architectural Elements, and Future Directionsâ€, Technical Report, Cloud Computing and Distributed Systems Laboratory, University of Melbourne, 2012.
 A. Katasonov, O. Kayova, O. Khriyenko, S. Nikitin and V.Y. Terziyan, â€œSmart semantic middleware for the internet of things. In: International Conference on Informatics in Control, Automation and Robotics, Intelligent Control, Systems and Optimization, Funchal, Portugal, 2008, pp. 169-178.
 G. Fortino, A. Guerrieri and W. Russo, â€œAgent-oriented smart objects developmentâ€. In: 16th IEEE International Conference on Computer Cooperative Work in Design, 2012, pp. 907-912.
 T. Leppanen, M. Liu, E. Harjula, A. Ramalingam, J. Ylioja, P. Narhi, J. Riekki and T. Ojala, â€œMobile agents for integration of internet of things and wireless sensor networksâ€. In: IEEE International Conference on Systems, Man, and Cybernetics, 2013, pp. 14-21.
 C. Savaglio, G. Fortino, M. Ganzha, M. Paprzycki, C. Badica and M. Ivanovic, â€œAgent-Based Computing in the Internet of Things: a Surveyâ€. In: Studies in Computational Intelligence, 2018
 S. Radu, E. Kalisz and A.M. Florea, â€œAutomatic negotiation with profiles and clustering of agentsâ€, International Journal of Intelligence Science, vol. 3, no. 2, 2013, pp. 69-76.
 S. Radu, â€œA negotiation framework with strategies based on agent preferencesâ€, Proceedings of the 21st International Conference on Control Systems and Computer Science,
 S. Chua, S. Marsland and H. Guesgen, â€œBehaviour recognition in smart homesâ€, Proceedings of the 22nd International Joint Conference on Artificial Intelligence, 2011.
 N.R. Jennings, P. Faratin, A.R. Lomuscio, S. Parsons, C. Sierra and M. Wooldridge, â€œAutomated Negotiation: Prospects, Methods and Challengesâ€, International Journal of Group Decision and Negotiation, no.10, 2001, pp. 199-215.
 F. Bellifemine, G. Caire and D. Greenwood, â€œDeveloping Multi-Agent Systems with JADEâ€, John Wiley and Sons Ltd., 2007.
...(download the rest of the essay above)