Design of a MAS into a human organization ... - IA - IAD - Java

system to help actors of technological watch cells (called CIMASTEWA). ... Finally, this article presents some details about the build of the .... Our MAS is not centralized on a single computer; it runs on a computers .... our laboratory. ... information on 5 classical search engines and two search engines that are specialized.
303KB taille 2 téléchargements 142 vues
A hierarchical and by role multi-agent organization : application to the information retrieval Emmanuel ADAM and René MANDIAU LAMIH UMR CNRS 8530, University of Valenciennes Le Mont Houy - FRANCE – 59313 Valenciennes Cedex 9 {emmanuel.adam, rene.mandiau}@univ-valenciennes.fr

Abstract. Web retrieval becomes more and more important for the knowledge management area, and we think that multi-agent systems are a good answer to this problem. We propose, in this paper, a centralized Information multi-agent system to help actors of technological watch cells (called CIMASTEWA). This system is an evolution of a previous project and is set-up within a n-tiers architecture, which follows the STRUTS framework. This information multiagent system that has been developed to answer to demands from technological watch cells (for example, to securitize the search, notably concerning the survey by spies, we have proposed particular search strategies).

1

Introduction

In a context of globalisation of the economy and of serious modifications in socioeconomic structures, the technical and administrative processes, which underlie the activities of a Company, are, in particular, subjects of considerable revision. Documents on paper, exchanged from hand to hand have progressively been replaced by electronic documents transmitted automatically by machines without taking the human factors, such as the notion of the group (the individuals are isolated at their work post), the levels of responsibility or even man-machine co-operation into account. Admittedly, tools for aid in co-operative work have already been suggested, some with success, but they do not tackle the overall organisation. This fact is the base of our works. Indeed, our researches aim at set up an information management assistance system in watch cells or in laboratories. In order to take into account the human factors, such as the human cooperation or even the human-machine co-operation, we have previously developed a method (AMOMCASYS, meaning the Adaptable Modelling Method for Complex Administrative Systems) that has helped us to design and to set-up an information multi-agent systems accessible by each actor of a technological watch team [1]. We call this system a CIMASTEWA (for Centralized IMAS for TEchnological WAtch). This paper describes firstly the underlying concept of our works, which is the holonic concept. Then, the design of the centralised IMAS, which is an extension of a previous project [2], is shown in our classical two steps: a step for the individual characterization of the agents; and a step for the design of the agents’ cooperative working. Finally, this article presents some details about the build of the CIMASTEWA.

ISSADS 05

E. ADAM, R. MANDIAU

2

Human organisation modelling

2.1

Holonic principles

In our works, we use holonic principles (defined by Koestler [3]) in order to understand the working mechanisms of the human organisations, in which we plan to set up information multi-agent systems, and to design the multi-agents organisations. Agents of holonic system are organized following levels of responsibility. So, a holonic multi-agent system has a hierarchical structure where each agent is responsible of a sub-holonic multi-agent system. We have used the social rules defined in the holonic concept in order to simplify and to accelerate the design of a multi-agent society (in the [4] sense) because they provide a framework to build a fixed multi-agent society (which does not imply rigidity). Indeed, the hierarchical structure is not sufficient to model modern organisations and bureaucracies: “the degradation of hierarchy is a necessity for organisation to prosper” [5]; the organisations are, or have to be, flexible, more decentralised, based on roles. We find these requirements in the area of the intelligent manufacturing system, where new concepts have been proposed such as : -

the bionic manufacturing systems [6], where the organisation is seen as an organ composed of cells (called modelon), which can be merged or divided into units, - the holonic manufacturing systems [7], based on the holonic concept, - and more recently the fractal manufacturing systems [8], which give a hierarchical view of the organisation where each basic part (named basic fractal unit) owns an individual goals and offers services. The global coherence of the system comes from inheritance mechanisms, particularly for the goal formation process. All of these concepts allow us to decompose recursively an organisation into entities which can be themselves decomposed into other entities. Each of these entities is autonomous, flexible and cooperates with other ones to maintain the organisation's stability. The main differences between these approaches concern [9]: the definition of entities groups, which are predefined in holonic concept and in fractal concept (with dynamic redefinition) and dynamic in the bionic concept; the dynamic reconfiguration of the system that could imply the change of data flow in the bionic and fractal concept, and that consists in evolutions of predefined strategies (canons variations) in the holonic concept. We think that the fractal and bionic approaches are too permissive, regarding the reconfiguration capacities, for the stability whose we need for the software presented here. Moreover, holonic concepts are closer of the human organisations in which we want to integrate software agent systems.

2/13

ISSADS 05 2.2

E. ADAM, R. MANDIAU

A holonic multi-agent platform

The particularity of our approach is that it uses both the notion of role and notion of hierarchy in a same multi-agent system. We propose the use of a roles' manager: it owns the roles' list, the tasks' list linked to the roles, and the names of the agents (and theirs roles) that compose the multiagent organisation. In our architecture, we give this role to the agent at the top of the system. Regarding to the FIPA multiagent platform architecture this agent can be considered as an extended Directory Facilitator agent. Generally, like in the propositions of [9][10], the roles define links between agents; the interactions between agents depend of the roles. In our case, the messages are sent following the hierarchy links or between agents of a same layer (having the same supervisor). In our proposition, a holonic agent communicate with its supervisor, its neighbours, its assistants, according to theirs roles, or not. So, we propose that each holonic agent plays also the “holonic role” that describe the tasks relative to these communication. We define a multi-agent system as following: a multi-agent system is composed of roles and agents. Each role is composed of a name, some knowledge (resources), that are necessary to play the role, and of some skills that are composed of set of processes interacting with the knowledge and with the agents (in fact, each skill is defined by a class with classically a name, attributes and operations). An agent owns one or more roles, has a supervisor and can have some assistants and neighbours (they are the only acquaintances with which it can interact). We have built an application that allows us to deploy into a network a holonic multi-agent system from its description (by a XML file).

3. Design of a MAS into technological watch departments The case study that is presented in this article started in a technological watch department of a large company. The IMAS that we propose is composed of request agents that are eachresponsible of informations' search about a request , and launches search engine agents which are responsible of informations' search on a search engine. Information retrieve by the request agents are filtered by the information Responsible Agent. All this system is controlled by the Coordinator Agent that initialize the system (to establish the link to the database, to manage the roles). This information multi-agent system at the end of a third-party application (cf. Figure 1) and is called CIMASTEWA (for Centralized IMAS for TEchnological Watch). 1

1

A request is defined by a name, a list of words that have to appear in the results (necessary words), a list of words that can appear in the results (possible words), a list of words that do not have to appear in the results (forbidden words), a list of search engines to interrogate and a date of launch.

3/13

ISSADS 05

E. ADAM, R. MANDIAU

The users have access to this IMAS through their browsers by calling dynamic web pages (JSP or ASP pages for example) and dynamic web components (like java bean for instance). They record their queries in the centralized database that the coordinator agent checks periodically to detect if a request has to be done. In this case, the request is sent to the information responsible agent, which distributes it to the information agents according to a search strategy. The information agents send back their results to the information responsible agent, which filters and merges them to record them into the database.

Coordinator Agent

web browser

web browser

web browser

DataBase Dynamic web pages

Tomcat

Information Responsible Agent

Queries

Dynamic web component

Results Users

Request Agent 1

Request Agent 2

Request Agent n

Windows XP

Internet Engine Agent 1

Engine Agent 2

Engine Agent 3

Engine Agent m

MultiAgent System

Fig. 1. Architecture of the CIMASTEWA

Our MAS is not centralized on a single computer; it runs on a computers network. So it is possible of having search principles that are sophisticated. For example, information search, in technological watch domain, entails defining securitized search strategies, such as adding ‘noise’ around the requests. So, in the CIMASTEWA, if a user wishes to scramble one of its requests, this one is then decomposed into elementary requests, which are launched with false keywords. Then, the Information Responsible Agent recomposes the actual results with a particular process. Regarding the notion of cooperation, we propose to the user to share some of their requests by defining them as public, so other users have access to the public requests and to their results. In order to design the CIMASTEWA, we have reused the methodology that we have built to analyze and model complex administrative system (AMOMCASYS)which has been applied in previous projects: firstly, the individual roles are described; secondly, the cooperative activities of the agents are defined.

4/13

ISSADS 05 3.1

E. ADAM, R. MANDIAU

Individual design of the CIMASTEWA agents

Four roles have to be defined in a CIMASTEWA: the coordinator agent role (CA), the information responsible agent role (IA), the request agent role (RA), and the search engine agent role (SA). The table 1 presents the behaviour of the coordinator agent (this table is inspired from [11]). The knowledge used by the role, the function corresponding to the management of the organisation and of the interactions are defined relatively to the role itself, to the organisation and to the environment. The main activity of the role (its 'production') and the preservation functionality are also defined relatively to these three dimensions. The roles of the other types of agents are described by the same way. Table 1. Definition of a coordinator agent Dimensions/ Function Representational

Organizational

Social Knows the IA and RA Control the coordination of actions of CIMASTEWA agents

Environmental Knows the requests and results of the users. Manages the database.

Personal Knows its name, its IP address. Checks that a request does not exist

Manage the roles Interactive Productive Preservation

3.2

Is the responsible of IA. Send requests to the appropriated IA Checks if its contacts IA are active…

Interacts with the database and the jsp pages Fills the database with results and requests provided by the IA Check the database.

Ø Modifications of knowledge, of its role. Deferred to its contacts.

Cooperative functioning of a CIMASTEWA

After having described the individual roles of agents that compose a CIMASTEWA, we have to define the cooperative interactions between them. An extract of the processing model representing a cooperative activity within a CIMASTEWA is shown in figure 3 (annex 2). This figure presents the recording of a new request in a CIMASTEWA. The user adds a request in the system through the JSP pages and decides to launch the request immediately. A message is sent to the coordinator agent, which informs the user if the request exists in the group database, if it is a subset of another one or if it includes requests of other actors. The request is then recorded in the user database and a message is sent to the information responsible agent. This message asks it to execute the requests not yet carry out. For this, the agent creates a request agent for each request. Each request agent creates a search engine agent for each search engine 5/13

ISSADS 05

E. ADAM, R. MANDIAU

specified in the request. Each of these request agents connects to Internet in order to find results and send them to its responsible. When the request agent has received the results of each of its subordinated, it filters them (it deletes the doubles) and sends the results to its responsible. When the information responsible agent has received response from each of the request agents, it records them to the database. Thanks to the AMOMCASYS method, we have defined other interactions between users and agents of the CIMASTEWA such as the annotation, the deletion of a result, the modifying and the deletion of a request. 4

Setting-up of the Centralised CIMASTEWA

The CIMASTEWA has been developed, mainly in java, in a small data-processing company to answer to the demand of technological watch cells and is currently used in our laboratory. The coordinator agent, the information responsible agent and the information agents have been developed in java, using the holonic multi-agent platform based on the MAGIQUE [12] multi-agent platform. Currently, the search strategy used by our information agent is a broadcast strategy: the information responsible agent sends the request that has to be launched to information agents, which are each dedicated to a search engine. So our system is able to search information on 5 classical search engines and two search engines that are specialized in magazines and documents. We use the MAGIQUE [12] platform (for multi-agent hierarchic platform), which allows us to easily create hierarchical multi-agent systems: -

A MAGIQUE agent is an empty shell having only communication capacities (with its supervisor and its team (agents under it)). It is possible to give skills to an agent by associating it with Java classes, composed of functions or sub-processes. Messages exchanged between agents, which are called requests, consist in calls 2 to functions or to sub-processes that are located in the skills .

In order to generate holonic multi-agent systems, we have defined two skills: -

-

2

HolonicOrganisationSkill, Java class that represents a holonic organisation management skill, associated to the highest multi-agent organisation supervisor. It owns the roles' list, the skills' list linked to the roles, and the names and the roles of the agents that compose the multi-agent organisation. HolonSkill, Java class that represent a holonic communication skill, linked to each agent. It defines the attribution of the neighbours and assistants, and the role

If a request cannot be satisfied, because the agent does not know how to answer (the function asked is not present in its skills), it is stored by the platform until the agent learns to answer to it.

6/13

ISSADS 05

E. ADAM, R. MANDIAU

oriented communication processes. A holonic agent is able to send a message to its neighbours or assistants having a particular role. We have built an application that allows us to deploy into a network a holonic multiagent system from an XML file that describes it. This XML file describes the roles, the agents, theirs hierarchic relations and the methods of the skills, associated to the roles linked to the agents, that are to be launched at the start of the multi-agent organisation. Although MAGIQUE platform is not yet FIPA compliant, we have used it to build th*e first version of our holonic multi-agent platform because it allows us to easily create hierarchical multi-agent systems, and because we have a long term relationship with the SMAC team who has created this platform. However, we envisage to build a version of the holonic multi-agent platform on a FIPA compliant one, like JADE, for instance. An extract of the code that allow us to create agents is presented in annex 1. The main advantage of using agents, rather than an application based only on threads, is based on the flexibility offered by this technology. Indeed, for example, each agent can be situated on a remote machine, or can move on a new computer (only if it is not acting) in order to beneficiate of more resources. Likewise, an agent can dynamically learn new skills or change its skills to adapt and increase its capacity of search (for example, it is possible to add a new skill dedicated to the information pertinence evaluation, that is not taken into account currently). The application server that we use is Tomcat, three databases have been developed (in Progress®, in Ms Access® and in MySQL, which is the version used at present). The MAS has not particular location, it only needs to have access to the database and to the Internet, in order to execute the searches. Fig. 2. A screen copy of a CIMASTEWA

7/13

ISSADS 05

E. ADAM, R. MANDIAU

The human computer interfaces have been developed in web pages (using jsp, javascript and css processing language) and used the STRUTS framework of the Jakarta Project. Through these pages, the users can: add, modify, remove requests; consult previous results; choose to share or not theirs requests or results; separate a request in two parts; merge results of two requests (in fact, this duplication is the first strategy of scrambling). The figure 2 presents a screen copy of the web page allowing to the user the consulting of personal or public results: to send them to another actor (through the user mail service), to add some information, to archive them and/or to delete them. The results proposed by the CIMASTEWA of the figure 2 come from a request on ‘agent information’. The functionality concerning the identification of interest communities of the users has not been yet added to this new IMAS. Currently, we are developing the functionality that should allow the CIMASTEWA to self-organize, according to the problem encountered during the search (no response from search engine for example). 3

3

http://jakarta.apache.org/struts/

8/13

ISSADS 05

E. ADAM, R. MANDIAU

As for perspectives, according to the user's needs, it could be interesting to have different search strategies for the Search Engine Agents. For example: if the user wants to have results rapidly, an CFP (Call For Proposition) protocol can be used with these agents; if the user wants to have all the possible results, then the requests are sent to all of them by a broadcast technique. On the other hand, according to the queries, different search strategies can be also chosen. For example: if the words used in the request correspond to specialities of information agents, then the search is organized by speciality; if some requests are subsets of other requests, then information agents are structured hierarchically. We are currently work on the “regeneration” of some parts of the CIMASTEWA that could be break down by a technical problem such as the crash of a computer or a search engine malfunctioning. This will make our MAS more flexible and so it will more justify the use of this kind of technology. We think that the main interest of our system is the personalisation of the search strategies that it proposes. Indeed, it is relatively easy to add skills to the agents or new kinds of agents, in response to particular needs (in case of the addition of a new kind of agents, their roles and their relations with the other agents have to be designed according to our approach).

5

Conclusion

Our work uses the holonic concept to understand and analyse human organizations and design multi-agent system particularly adapted to the studied human organizations. We propose a multi-agent organisation using both notion of role and notion of hierarchy. The tools that we used to automatically deploy such an organisation allow us to focus and develop only on the role played by the agents and avoid us to have to develop the global organisation. We have developed a Centralized IMAS to help actors of technological watch cells, or searchers in a laboratory, that have to search information, and to share it in a cooperative aim. Our system proposes a search strategy in order to hide the actual searches asked by the users. Sharing the queries and their results allows to the user to keep in mind the notion of group, which is important, and which allows them to win time in their searches. This system is currently used in our laboratory by a few searchers of our team. We plan to set-up this system in a larger way in our laboratory in short term. Indeed, we carry out researches and developments: to self-organize the information agents in order to have the more relevant results; and to identify automatically communities of users. So, we could measure impact of our MAS on the behaviour of the searchers.

9/13

ISSADS 05

E. ADAM, R. MANDIAU

References 1.

Adam, E., Kolski, C., Mandiau, R., Vergison, E. A software engineering workbench for modeling groupware activities. In C. Stephanidis (Ed.), Universal Access in HCI: inclusive design in the information society. Mahwah, New Jersey: Lawrence Erlbaum Associates, (2003) 1499-1503. 2. Adam, E., Mandiau, R. Bringing multi-agent systems into human organizations: application to a multi-agent information system. In M.A. Jeusfeld, O. Pastor (Ed.), Conceptual modeling for novel application domains, ER 2003 Workshops ECOMO, IWCMQ, AOIS, and XSDM, Chicago,IL, USA, October 2003 Proceedings, LNCS 2814. Berlin: Springer (2003) 168-179 3. Koestler, A. The Ghost in the Machine. Arkana Books, London, (1969). 4. Mandiau, R., Le Strugeon E. & Agimont G. Study of the influence of organizational structure on the efficiency of a multi-agent system. Networking and Information Systems Journal, 2(2) (1999) 153-179. 5. Schwarz, G.M., Organizational hierarchy adaptation and information technology, Information and Organization 12 (2002) 153–182 6. Okino, N., Bionic Manufacturing System, in J. Peklenik (Ed.) CIRP, Flexible Manufacturing Systems: Past-Present-Future (1993) 73-95. 7. Van Brussel, H., Bongaerts, L., Wyns, J., Valckenaers, P., Van Ginderachter, T., A Conceptual Framework for Holonic Manufacturing Systems: Identification of Manufacturing Holons. Journal of Manufacturing Systems, 18, 1 (1999) 35-52. 8. Kwangyeol, R. and Mooyoung, J., Agent-based fractal architecture and modelling for developing distributed manufacturing systems, Int'l J. of Production Research, Vol. 41, No. 17 (2003) 4233-4255. 9. Kendall, E. A. Role modeling for agent system analysis, design, and implementation. In First International Symposium on Agent Systems and Applications (ASA’99), Third International Symposium on Mobile Agents (MA’99), (1999). 10. Wooldridge, M., Jennings, NR., Kinny D. The GAIA methodology for agent oriented analysis and design. Journal of Autonomous Agents and Multi-Agent Systems, (2000). 11. Ferber, J. Les systèmes multi-agents, Vers une intelligence collective. InterEditions, Paris, (1995). 12. Mathieu, P., Routier, J-C., Secq, Y. RIO: Roles, Interactions and Organizations. CEEMAS 2003: Multi-Agent Systems and Applications III, Lecture Notes in Artificial Intelligence 2691. (2003)

Acknowledgements: We would like to thank the team SMAC of the LIFL (University of Lille 1, FRANCE) for its cooperation during the project NIPO , which allows us to build the Holonic platform.

10/13

ISSADS 05

E. ADAM, R. MANDIAU

Annex 1. Java code for agents’ creations and communication The following code is an example of agents’ creations and communication. Extract of the ‘go()’ method of the InformationResponsibleSkill class, which is associated to the Information Responsible agent (IR agent). This code creates a Request Agent for each search asked by the users. for (int i=0; i automatically update the neighbourgs and the supervisor assistants perform(a.getName() ,"setMySupervisor", new Object [] {getName()}); // IR agent asks the request agent to request its role a.askNow("requestRole", new Object [] {a.getName(), "RequestResponsible"}); // IR agent asks the request agent to initialise itself a.askNow("initRequestResponsible", new Object[]{req}); // IR agent asks the request agent to perform its search perform(req.getNom(), "searchRequest"); nbRequestLaunched ++; }

In this code example, agents are created in local, but their creations on remote machines are similar.

11/13

ISSADS 05

E. ADAM, R. MANDIAU

Annex 2. Cooperative working of the CIMASTEWA agents

12/13

ISSADS 05

E. ADAM, R. MANDIAU Information Responsible Agent A

Search Engine Search Engine Request Agent Agent A12 Agent A11 A1

Coordinator Agent A

Boss Agent

Web Components

User A

Describe the request [internal request] [internal request] : internal message between agents

(keywords)

(information) : information exchanged between agents and between users and agents

Check the database

creation / destruction of an agent response of a synchronous request

if

No similarity

[internal request]

Request has similariries with others

Display a message

Send a message to the I.R. agent [internal request]

analyse the request database if

there is at least one request to carry out

create an agent for each request to carry out [internal request] creation ask agent to load its role [internal request] load the skill

Give the skill

ask to the agents to perform the request [internal request] create an agent with (external result ) for each search engine to interrogate [internal request] creation

creation ask agent to load its role

load the skill

load the skill

[internal request]

Give the skill

ask to the agents to search results search information

search information

filter information

filter information

(results A12)

(results A11)

[internal request] destruction

[internal request]

merge the results, destroy search engine agents

destruction

(internal results) merge the results, record them into the database [internal request]

destruction Search Engine Search Engine Request Agent Agent A12 Agent A11 A1

Information Responsible Agent A

Coordinator Agent A

Database

Web Components

User A

Fig. 3. Processing model of the request recording process in a CIMASTEWA

13/13