You are on page 1of 6

Available online at www.sciencedirect.

com

ScienceDirect
Procedia Computer Science 00 (2016) 000000
www.elsevier.com/locate/procedia

The 7th International Symposium on Frontiers in Ambient and Mobile Systems (FAMS 2017)

Smart-X: an Adaptive Multi-Agent Platform for Smart-Topics


Jocelyn Aubert *, Christophe Feltus, Andrea Kostakis, Djamel Khadraoui
F

Luxembourg Institute of Science and Technology, 5, avenue des Hauts-Fournaux, L-4362 Esch-sur-Alzette, Luxembourg

Abstract

Multi-Agent System (MAS) monitoring solutions are designed for a plethora of usage topics. Existing approach mostly used
cloned back-end architectures while front-end monitoring interface tends to constitute the real specificity of the solution. These
interfaces are recurrently structured around three dimensions: access to informed knowledge, agents behavioural rules, and
restitution of real-time states of specific system sector. In this paper, we propose prototyping a sector-agnostic MAS platform
(Smart-X) which gathers in an integrated and independent platform all the functionalities required to monitor and to govern a
wide range of sector specific environments. For illustration and validation purposes, the use of Smart-X is introduced and
explained with a smart-mobility case study.
2016 The Authors. Published by Elsevier B.V.
Peer-review under responsibility of the Conference Program Chairs.

Keywords: Multi-Agent Systems; Agents Library; JADE; Agent Platforms; Monitoring; Smart-X, Smart-Mobility.

1. Introduction

For a long time, multi-agent systems (MAS) have supported the realisation, and have been the core, of real time
monitoring and the self-adaptation of heterogeneous systems. Using MAS was mainly motivated by the needs of the
system components to remain independent and autonomous while evolving in a complex environment. MAS
monitoring solutions have been designed for a plethora of monitoring usage domains like healthcare1, supply chain
management2, computer networks3,4, environment5, or power production6. Aside the diverse exploitations, we have
also observed a plethora of researches related to the self-adaptation and reconfiguration of the monitoring solution7-
9
. Depicting the MAS based monitoring literature also allowed highlighting: (1) that current solutions predominantly
tend to exploit, in back-end, carbon copy architectures, and that the latter often allows the deployment of recurring
and interchangeable monitoring and policy based reaction services, and (2) that front-end monitoring interface

* Corresponding author. Tel.: +352 275 888 2819


E-mail address: jocelyn.aubert@list.lu

1877-0509 2016 The Authors. Published by Elsevier B.V.


Peer-review under responsibility of the Conference Program Chairs.
2 Jocelyn Aubert, Christophe Feltus, Andrea Kostakis, Djamel Khadraoui / Procedia Computer Science 00 (2015) 000000

constitutes, in many cases, the real specificity of the monitoring solution. A deeper analysis of these interfaces
functions most of the time yields that the latter is recurrently structured around three coordinated dimensions: the
access to the information and the communication channels, the agents behavioural rules and policies, and the
restitution of real-time states of the monitored system. Acknowledging this, and considering our previous
experiences in the engineering of various MAS monitoring platforms, we have prototyped an innovative sector-
agnostic MAS platform named Smart-X. The latter is elaborated upon the lessons learnt from past developments and
gathers in an integrated and independent platform all the functionalities required to monitor and to govern a wide
range of sector specific environments6,10-13. Among the required functionalities, Smart-X is elaborated around a
growing library of generic agents, ready to be deployed, implemented to respond to the most common demands in
distributed MAS, and offering functions like the management of databases or the collect of data inputs and outputs
of any types. Secondly it is organized in a structured but flexible architecture which supports adaptive deployment
and assembly of agents, their roles, behaviour and the hierarchy among them. The purpose of the latter is to bring
different monitoring views within the same platform depending on the users demands. Thirdly it is fully generic
and may be deployed without effort in well determined environment. Finally it is developed with JADE14, an open
source platform for peer-to-peer agent based applications.
This paper presents the architecture and components of Smart-X (containers, agents and their relationships) and
is illustrated using a smart-mobility case study (actually implemented for validation purposes) for a specific
geographical region: the neighbourhood of Belval15, a brownfield site turned into a large scientific and cultural
centre in south-western Luxembourg. This case study implements agents in charge of parking management (noted
Px) and traffic count (noted Tx) that communicate directly with an aggregation agent (called Brain). In turn, this
Brain populates the steering interfaces and potentially alerts generators. One of the key features is the multiplicity of
final users and objectives to provide each type of users with relevant monitoring information. This implies (1) to
collect data coming from physical sensors deployed in all the parking areas of a region. Those sensors are simple,
meaning that the information that they can collect is limited to an entry or exit signal of a vehicle. And (2), to collect
live traffic information: number of passing vehicles for each road of the region in a predefined and fixed period of
time. Although the need of monitoring is not a new challenge in computer science, a lot of solutions are proposed
until now. However, this monitoring can really be effective if it is completely applied for the problem while it
should give the right information to a specific user. For instance, in our case study, a construction company needs an
effective and complete monitoring of all parking spots around a big construction project. Therefore, in collaboration
with the city administration, this company needs a platform to handle a large amount of data and transform it into
valuable information for their daily operations, optimizing their routines. This platform will be a tool for monitoring
the trips of their employees around the construction spots inside the region of interest and to give an exact live
situation. The solution must be a tool ready to respond to the business needs of an organization and provide to the
different users a dynamic monitoring of the data combined with specific business rules. That means that the same
platform must be able to filter data and host different monitoring views without modifying nor the architecture nor
the implementation, creating different points of view for the same data streams. The interfaces provided must be an
extension of the core system and new ones should be able to be added without any new implementation of the
gathering platform.
The paper is structured as follows: Section 2 presents Smart-Xs architecture; Section 3 presents Smart-Xs
agents, containers and behaviour and finally Section 4 points out some related works and concludes the paper.

2. Adaptive Smart-X Multi-Agent Platform Architecture

Smart-X combines all the technologies related to agents to provide a system for solving a data gathering and
monitoring problem in an adaptive way. It has basic MAS characteristics as autonomy, local view and
decentralization. All agents are autonomous and partially independent: shutting down an agent does not lead to a
platforms deactivation. Furthermore, the agents continue their execution if the system has to reboot for any reason.
That ensures that their behaviour is unchanged and that the data gathering is operational even if the remote
communication is temporary deactivated. No local agent has a global view of the platform and the main agents
behaviour (aside from data gathering) is to communicate to remote agents. In this way, a decentralization of the
processes is effective; all the agents collect specific data and spread information to a controlling component of the
Jocelyn Aubert, Christophe Feltus, Andrea Kostakis, Djamel Khadraoui / Procedia Computer Science 00 (2015) 000000 3

system. This controlling component and its particular communication with the remainder of the system is the main
defining characteristic of Smart-X.
Smart-X defines several components with different views of monitoring data and a particular communication
routine to implement the constraints of the problem. Those constraints are the rules that each agent has to follow and
to behave accordingly. Smart-X platform presents a hierarchy between the sub-platforms (containers grouping
remotely connected agents). Throughout this hierarchy, the system defines types of agents that have a specific role.
Each agents sub-platform has an implemented behaviour and specific role. The Brain agent is the management
component connected to all the agents of the sub-platform. All data gathering agents are waiting for rules from this
Brain and are sending feedback in return. When necessary, the Brain can also be part of a global hierarchy, in which
a Super-Brain takes care of their organization and management. This way, each Brain can provide a view for a
specific level of work; a main, administration view of the entire system is provided by the Super-Brain. These
hierarchy principles are illustrated in Fig. 1(a).

Fig. 1. (a) Belval Smart-Mobility case study solution architecture; (b) LetsPark_Platform1 container example.

Applied to our case study, the platform (with a single local Brain) contains Pn components that represent agents
sub-platform containing P type agents and Tn components that represent the sub-platform containing T type agents.
The Brain is a sub-platform containing all the remotely connects agents existing in its network and waiting for
information collected from the T and P sub-platforms. The Brain is able to send this data to a monitoring interface
through messages. The selection of the view and the type of data to be sent to the monitoring component remains at
the sole discretion of the Brain. The main purpose of the Brain is to send rules to the connected sub-platforms of
agents and receiving data from them. This way, the untreated data is sent from lower levels (T and P sub-platforms)
to higher Brain. Obtaining a complete Smart-X instance is possible by adding one hierarchical level to the previous
example. Fig. 1(a) presents an architecture in which all the Brains (smaller light green pentagon with their T and P
connected sub-platforms) are linked to a Super-Brain. Such a component has the same role as a Brain, but the
collected data is coming from Brain sub-platforms. In this case, a global monitoring of the platform is possible and
the rules are sent to the Brains of the network.
The architecture introduces a two-way data and rules flow: data collected from T and P type agents is sent to
Brain sub-platforms and after analysis, forwarded to the Super-Brain. In return, rules are pushed from Super-Brain
to the others Brains and their establishment inside T and P sub-platforms (through the agents). This bi-directional
data flow is a key functionality of Smart-X platform. The generic examples presented in this section are only
possible instances of Smart-X, the system can be adapted to different scenarios, data type and number of agents
following the same hierarchical architecture. The T and P agents type is an example of generic implementation of
agents gathering data. Specific characteristics of agents and their types are described in next sections.
4 Jocelyn Aubert, Christophe Feltus, Andrea Kostakis, Djamel Khadraoui / Procedia Computer Science 00 (2015) 000000

3. Adaptive Smart-X Multi-Agent Platform Containers, Agents, Behaviour and Steering interface

3.1. Smart-X Platform Containers

A container is a running instance of Smart-X which implements several agents. Each connected platform has
specific containers type that depends on the use of each agent inside of it and related to a specific task. Smart-X
introduces the containers below for each of its sub-platforms:
Main container: This container is the default container for each platform of the Smart-X. It must always be
active in a platform so all other containers can register with it when they start.
DB container: Containing all the agents related to database input and output tools, if the project is related to data
where agents must be in communication with databases.
Management container: Containing all the decision agents which manage the data of the current platform and
communicates with the upper levels of the platform, including sending and receiving to Brain platforms
information.
Input/output container: Containing input/output agents, receiving and sending data not analysed.

At the case study level, each sub-platform (i.e.: Belval_Brain, Parking and Traffic) is structured based on the
above container type. For instance, the Parking_Platform is composed of a Px platform (named LetsPark Fig.
1(b)) which receives requests from ParkManagementAgent for new entries in the parking and sends a response
depending on the user existing registration on the Platform Database. At a technical level, LetsPark is a JADE agent
platform containing all the agents for autonomous parking management and communication with the Belval_Brain.
The latter is realised by a tuple of three containers (main, db and doors) which have for objectives (1) to send data
for monitoring and to forecast dedicated business rules and (2) to write entries and exits data on a database.
Main_container includes ParkManagementAgent and is concerned with the management and communication
between the agents of the platform. Every message goes throw it and the latter is in charge for external
communication with the Brain of the network. The containers behaviours are the following: receiving messages
from all agents in the LetsPark_Platform; accepting/denying entry requests; registering to the Brain of the network
when deployed; sending all data for monitoring to the Brain; receiving business rules from Brain for the
LetsPark_platform.
Db-container includes DatabaseManagementAgent and is supported by two SQL databases: Park1.db that
corresponds to the record of all know users of the system (i.e., user id, pass number, associated priority for the usage
of the parking, and complete name) and Live1.db that corresponds to vehicles entering/exiting the car park. This
database is updated at every execution of the platform. It gets input coming from Arrivals.xml (users arrival time)
and accordingly generates the list of vehicles currently in the parking, with their arrival time. It communicates using
ACL messages14 with ParkManagementAgent for updating the databases.
Doors_container includes two Entry/ExitAgent agents that have for function: EntryAgent collects data from entering
attempts, sends entry requests to ParkManagementAgent and waits for approval while ExitAgent collects data from
leaving cars and informs ParkManagementAgent.

3.2. Smart-X Platform Agents

Agent Management System (AMS) is an agent that provides the naming service and represents the manager of
the platform, having the power to create and kill agents when requested. This authority is used in Smart-X for
remote access, creation and destruction of agents and to provide unique names to each agent deployed.
Directory Facilitator (DF) provides a Yellow Pages service, so any agent can find other agents in a network and
find the agents with the services it requires for a specific task in order to achieve his goals 14.
Input and Output agents concerns data and information gathering within the platform. They are defined to be
adaptive to the data collected. The particular feature of Smart-X is the definition of a library of agents, which
provides to developers predefined agents, ready to be implemented and used. Input and output agents are
deployed through a network and have two characteristics independent of the type of managed data: (1) send
gathered information to upper levels and (2) wait for rules to change agents behaviour inside the system.
Jocelyn Aubert, Christophe Feltus, Andrea Kostakis, Djamel Khadraoui / Procedia Computer Science 00 (2015) 000000 5

Management agents assure the connection between business rules sent to the platform and the Input and Output
agents. They wait for rules coming from the Brain platforms and ensure (1) the running platform with
connection between all agents and (2) rules application to all agents inside the current container.
Database agents provide all the tools for read/write inside databases in the case of data gathering in files or
databases, database agents communicate with the management Agent of the platform.
Communication agents make the connection between remote platforms, mostly Brain or Super-Brain platforms.
They announce the instance of the platform in the entire network, send data to the connected Brain, and receive
and transfer messages to management agents. Those messages usually represent business rules.

3.3. Smart-X Platform Rules and Behaviours

Smart-X relies on the adaptability of business rules governing the system and their implementation in the form of
behaviours. JADE as a multi-agent system implements a behaviour-based approach. This allows defining the
behavioural responses of agents facing one or more stimuli. Providing the ability to define new agents or to modify
the behaviour of an agent at runtime (e.g., to introduce a new rule or to alter an existing rule) implies to support
dynamic class definition. This is achieved in Smart-X by the use of Java Reflection that allows the dynamic
(re)loading of class at runtime. A change of a business rule therefore results in the edition of an XML file translating
business rule into elements of behaviour. These elements are then used by a configuration engine embedded in each
platform, for the creation or modification of a specific behaviour.

3.4. Smart-X Platform Steering Interface

Designing a specific mobility management steering interface was specifically required for this case study. Indeed,
as explained earlier, the monitoring architecture is defined based on generic agents easily instantiable for whatever
cases, but steering interface is always dependent of the type of monitoring developed. Fig. 2 shows the interface for
the implementation of the smart-mobility case study in Belval. This interface contents a monitoring frame including
static information (e.g., map frames for the parking monitoring, etc.) and dynamic information (e.g., level of traffic
jam on specific road, amount of places available at each parking, etc.)

Fig. 2. Smart-Mobility case study Steering Interface.

Aside the monitoring interface, additional management functionalities are also available. These functionalities
are not presented in the paper. They concern the management of the users of the solution, the creation of specialised
viewpoints for each type of user requirements, the dynamic definition of business rules in order to configure the
behaviour of the different agents and hence, to suggest user mobility decisions.
6 Jocelyn Aubert, Christophe Feltus, Andrea Kostakis, Djamel Khadraoui / Procedia Computer Science 00 (2015) 000000

4. Related Works and Conclusions

Smart-X is a MAS platform that gathers all the functionalities required to monitor and to govern a wide range of
sector specific environments. Smart-X allows (1) the elaboration of cloned generic back-end architectures and (2)
the design of business specific front-end interfaces which both constitute the real specificity of the solutions in
regard to others approaches like: SeSaMe16 that proposes a self-adaptive middleware infrastructure for highly
dynamic and massive smart spaces, SAPERE17 that proposes a general framework to support the decentralized
execution of self-organizing pervasive computing services, or Music18 that supports the self-adaptation in ubiquitous
and service-oriented environments. Moreover, Smart-X offers the advantage to be sector-agnostic, at the opposite to
Agila19, a mobile agent middleware for self-adaptive wireless sensor networks or MUSA20 that is adapted for self-
adaptation in the development of a smart travel system. In this paper, Smart-X is illustrated in a Smart-Mobility
monitoring and alerting context. The case study illustrates the monitoring of, and relationships between, the traffic
and the parking supervision. At each control levels, independent platforms are deployed and communicate with a
main control centre which aggregates behavioural rules before dispatching them at the different architectural nodes.
The success of the first iterations opens the door to new initiatives in Smart-City, Smart-Building, Smart-Industry,
but also for the supervision of the Public administration reform.

References

1. Liaqat RM, Athar A, Saqib NA. Intelligent Agent based System for Monitoring and Control of Hospital Management System. In Information
Science and Security (ICISS), 2nd International Conference on (pp. 1-5). IEEE; 2015.
2. Ghadimi P, Heavey C. A Review of applications of agent-based modelling and simulation in supplier selection problem. In Modelling and
Simulation (EUROSIM), 2013 8th EUROSIM Congress on (pp. 101-107). IEEE; 2013.
3. El Ajjouri M, Benhadou S, Medromi H. New collaborative intrusion detection architecture based on multi agent systems. In Wireless
Networks and Mobile Communications (WINCOM), 2015 International Conference on (pp. 1-6). IEEE; 2015.
4. Gteau B, Ouedraogo M, Feltus C, Guemkam G, Danoy G, Seredynski M, Khan SU, Khadraoui D, Bouvry P. Adopting trust and assurance
as indicators for the reassignment of responsibilities in multi-agent systems. The Knowledge Engineering Review, 30(2), pp 187-200; 2015.
5. Masinde M. MAS-DEWS: A multi-agent system for predicting Africa's drought. In 2015 IJCNN. (pp. 1-7). IEEE; 2015.
6. Schaberreiter T, Bonhomme C, Aubert J, Incoul C, Khadraoui D. Support tool development for real-time risk prediction in interdependent
critical infrastructures. In IEEE Intl Symposium on Software Reliability Engineering; 2009.
7. Boudaoud K, Guessoum Z. A multi-agents system for network security management. In TNI 2000. pp 407-418. Springer US; 2000.
8. Dafflon B, Contet JM, Gechter F, Gruer P. Toward a reactive agent based parking assistance system. In 2012 IEEE 24th International
Conference on Tools with Artificial Intelligence (Vol. 1, pp. 500-507). IEEE; 2012.
9. Dafflon B, Chen B, Gechter F, Gruer P. A self-adaptive agent-based path following control Lateral regulation and obstacles avoidance. In
High Performance Computing & Simulation (HPCS), International Conference on (pp. 452-459). IEEE; 2014.
10. Feltus C, Khadraoui D, Aubert J. A security decision-reaction architecture for heterogeneous distributed network. In Availability, Reliability,
and Security, 2010. ARES'10 International Conference on (pp. 1-8). IEEE; 2010.
11. Gteau B, Feltus C, Aubert J, Incoul C. An agent-based framework for identity management: The unsuspected relation with ISO/IEC 15504.
In 2008 Second International Conference on Research Challenges in Information Science (pp. 35-44). IEEE; 2008.
12. Gteau B, Khadraoui D, Feltus C. Multi-agents system service based platform in telecommunication security incident reaction. In 2009
Global Information Infrastructure Symposium. Pp. 1-6. IEEE; 2009.
13. Guemkam G, Feltus C, Bonhomme C, Guessoum Z, Schmitt P, Gateau B, Khadraoui D. Financial Critical Infrastructure: A MAS Trusted
Architecture for Alert Detection and Authenticated Transactions. In SAR-SSI, 2011 (pp. 1-8). IEEE; 2011.
14. Bellifemine F, Poggi A, Rimassa, G. JADEA FIPA-compliant agent framework. In Proceedings of PAAM 99. 97-108, pp 33; 1999.
15. Wikipedia, Belval, Luxembourg, https://en.wikipedia.org/wiki/Belval,_Luxembourg.
16. Baresi L, Guinea S, Shahzada A. SeSaMe: towards a semantic self-adaptive middleware for smart spaces. International Workshop on
Engineering Multi-Agent Systems. Springer Berlin Heidelberg; 2013.
17. Zambonelli F et al. Programming self-organizing pervasive applications with SAPERE. Intelligent Distributed Computing VII. Springer
International Publishing, pp 93-102, 2014.
18. Rouvoy R et al. Music: Middleware support for self-adaptation in ubiquitous and service-oriented environments. Software engineering for
self-adaptive systems. Springer Berlin Heidelberg, pp 164-182; 2009.
19. Fok CL et al. A mobile agent middleware for self-adaptive wireless sensor networks. ACM TAAS, 4(3); 2009.
20. Sabatucci L, Cavaleri A, Cossentino M. Adopting a Middleware for Self-adaptation in the Development of a Smart Travel System.
Intelligent Interactive Multimedia Systems and Services 2016. Springer International Publishing, pp 671-681; 2016.

You might also like