2000A Metamodel for the Analysis and Design of Organisations

Embed Size (px)

Citation preview

  • 7/27/2019 2000A Metamodel for the Analysis and Design of Organisations

    1/8

    eta-model for the analysis and design of Organizations in multi-agent systemsJacques FERBER Olivier GUTKNECHT

    Laboratoire dInformatique, Robotique et Micro-electroniquede Montpellier. Universite Montpellier 11, Francef erber@i rmmf r gut kneco@i rmmf r

    AbstractThispaperpresents a generic meta-modelo multi-agent

    systems based on organizational concepts such as groups,roles and structures. This model, called AALAADIN,e-jines a very simple description o coordination and nego-tiation schemes throu gh multi-agent systems. Aalaadin isa meta-model of artijicial organization by which on e canbuild multi-agent systems with diflerent orm s o organiza-tions such as market-like and hierarch ical organizations.

    We show that this meta-model allows fo r agent het-erogeneity in languages, applications and architectures.We also introd uce the concept of organizational reflectionwhich uses the same conceptual model to describe system-level tasks such as remote communication and migrationof agents. Finally, we briejly describe a platform, calledMADKIT, ased on this model. It relies on a minimal agentkernel with platform-level services im plemented as agents,groups and roles.

    1 IntroductionWhereas o rganization has been presented as a m ajor is-sue of m ulti-agent systems, very few works have attemptedto develop models of suc h systems using organizationalap-proaches. Concepts such as roles, groups or organizationsare used in a very info rma l, almo st casual, way. Practicallyno effort has been made to incorporate organizational ermsand co ncepts into multi-agent systems.One o f the rare attempts to include organ izational con-cepts in multi-agent systems occurs in the work of L.Gasser. His early system, M AC E, ntroduced the conceptof role to describe multi-agent systems [9]. For instance, inthe co ntract net protocol, agents with the role of managermake proposals to agents with the role o f b i d d e r . He alsoadvocated the importance of computational organizationaltheories to fertilize multi-agent researches in an invited talkat ICM AS95. Other examples of work on the use of or-

    0-8186-8500-W98 10.00 @ 1998 IEEE

    ganizational c oncepts in MAS come from M. Fox [7], andLesser and Decker (see for instance [17]) but they do nottackle the problem of how to de sign (in software engineer-ing terms) such organizations. Work o n organizational the-ories has also been conducted in the context of the Com-monKAD S effort but has focused on hum an organizationsmodels [2].

    An exception is found in [ I] w hich describes an analysismethod for MAS in organizational erm s, and in [101 whichdescribes an algorithm for reo rganizing societies of agents.A close, although more specific approach can also be foundin [ l l ] .This lack of interest in organizations comes from thegeneral conceptual trend that defines multi-agent systemsas m ere agg regations of agents interacting together, whereagent means a n au tonomous entity that behaves individu-ally, almost selfishly.Most of the work today in m ulti-agent systems has cho-sen to describe coordination and interaction structures fromwhat could be called the agent orien ted path. In that view,the designer of a m ulti-agent system is only concerned withagents individual actions, and it is supposed that socialstructures come from pa tterns of actions that arise as a re-sult of interactions. Moreover, it is often admitted that thebehavior of an agent is a consequence of its mental state (be-liefs, intentions, goals, com mitments, etc.) (see for instance[16]). Even works with reactive agents [4] often take theagent-oriented view by considering that structures emergefrom interaction between individual agents, even if theseagents are not supposed to have mental states.But, with the agent-oriented view it is often difficult todesign complex systems because of the following problems:Heterogeneity of langua ge. While heterogeneity hasbeen considered as an important issue in m ulti-agentsystems, there are no implemented systems, to ourknowledge, that accept agents speaking different lan-guages. E fforts to bring a standardized language suchas KQML or ACL of the FIPA group, show that theproblem of language heterogeneity has been consid-

    128

    mailto:[email protected]:[email protected]:[email protected]:[email protected]
  • 7/27/2019 2000A Metamodel for the Analysis and Design of Organisations

    2/8

    ered so important that it required stan dardizationmeth-ods to reduce language discrepancies.Multiple applications and architectures.No imple-mented sys tems, to our knowledge, allow several ap-plications with different objectives and different in-ternal architectures to w ork concu rrently on the sameplatform.Security. While security is a major concern in dis-tributed systems, no multi-agent techniques, to ourknowledge, have been propo sed to prevent agents frominteracting with oth er agents. A ny agent, in a system,is supposed to be able to interact with any other agentregardless of its capabilities, goals and authorizations.

    In this paper, we claim on the contrary, that consideringorganizational concepts, such as groups, roles, structures,dependencies, etc. as first class citizens, and relating themto the behavior of agents is a key issue for building largescale and complex systems, and resolves all the previousproblem s in a very clear and efficient manner.An organizationcan be defined, adapting [SI as a frame-work fo r activity and interaction through the definition ofgroups, roles and their relationships. Thus, we will regardan organization as a structural relationshipbetween a collec-tion of agen ts. In o ur view, an org anization can be describedsolely on the basis of its structure, i.e. by the way g roupsand roles are arranged to form a whole, without being con-cerned with the way agents actually behave, and multi-agentsystems will be ana lyzed from the outside, as a set of in-teraction modes.

    Therefore, we will not add ress any issues about the archi-tecture of agents, nor about the way agen ts act. Agents willonly be defined by their function s in an organ ization, .e. bytheir roles, and by the sets of constraints which they mustaccept to be able to play those roles. It does not mean thatstructures should be static, nor that grou ps should be totallyseparated. On the contrary, the power of structures comesfrom the ability of agents to join groups, and by doing so, toacquire new abilities that they would have not obtained oth-erwise. Their power lies also, as we w ill see below, in thefact that agents can play different roles in different groups,i.e. a compu ter scientist can also be a tennis player, an aver-age musician and a goo d cook. Those activities are relatedto different commu nities in which he plays d ifferent rolesand use different languages: the world of tennis does notuse the sa me words and exp ressions as the world of com-puter science or the world of cooking, this becomes evenmore obvious w hen computer scientists speak Eng lish andcooks speak French.A A L A A D I Ns a generic meta-model of multi-agent sys-tems based on the three main concepts of agents, groupsand roles. It is a meta-model for describing organizations

    because one can build different models of organ izations inA A L A A D I Nuch as market-like or hierarchical organiza-tions. Section 2 is devoted to the description of the meta-model (which we will call simply model for short. Thereader should bear in mind that this model does not de scribespecific organizations, but a generic way to d escribe specificorganizatioins).

    As we vvill see in section 3 A A L A A D I Nirectly pro-vides some sort of reflection that we call organizationalreflections. This kind of reflection describes the opera-tional aspects of groups, and system-level functions suchas remote message passing, migration and reso urces man-agemen t, through the use o f meta-level groups and agents.Section 4 briefly describes an implementation ofA A L A A D I Nn Java called MADKITwhich allows for thedescription of several multi-agent system s working concur-rently. System-level aspects, and the way agents, groupsand roles are represented in the platform is described.2 ConceptualModel

    We assume in our m odel that the idea of collective struc-ture permits two levels of analysis:The concrete level corresponds to the core concepts ofagent, group and role. It des cribes the actua l agent or-ganization.The abstract methodological level defines all possibleroles, valid interactions, and structu res of groups andorganizations.2.1 Core concepts

    T he A A L A A D I Nodel is based on three core concepts:agent, group and role. Figure 1presents a diagram of thismodel.

    Figure 1 The core model

    2.1.1 AgentThis model places no co nstraints on the internal architectureof agents and does not assum e any formalism for individualagents. An agent is only specdied as an active communicat-ing entity which plays roles within groups.

    129

  • 7/27/2019 2000A Metamodel for the Analysis and Design of Organisations

    3/8

    - KQML agegendgroup

  • 7/27/2019 2000A Metamodel for the Analysis and Design of Organisations

    4/8

    only serve as an ana lysis and design tool. The purpo se is toprovide an organizational mod el specif ication from whichan actual multi-agent system can ultimately be developed,and expressed with the core concep ts.In this section, we will detail the concepts of groupand organizational structure, and their relation to the coremodel.Orgoni ro t io~ro lllucmre

    Figure 3. The m ethodological model

    2.2.1 Group structureThe group structure is an abstract description of a group.It identifies all the roles and in teraction s that can appearwithin a group.We define a group Structure as a tuple: S = R,G ,L)

    R is a finite set of roles identifiers. It represents theenumeration of all possible roles than can be playedby agents within a group.G is the intera ction graph. More precisely, it is a la-belled oriented graph specifying the valid interactionsbetween two roles. G : R x R - L he edge orien-tation correponds to the role initia ting the interaction.Each edge represents an interaction initiated by ri witha role r j and named labelL is the interaction language. It is the chosen formal-ism for the individual inte raction definitions. F or eachrelation within the graph, we associate a unique pro-tocol definitionp to any edge Ti , j ,ZabeZ) within G.V r i , j , abel) G,3 p E L

    We emphasize the fact that the group structu re might beinstantiatedin a partial form in the actual group: all the rolesdefined in the group struc ture might not be presen t at a givenmoment in the group, depend ing on the group dynamics.For instance,we can define a highly sophisticated marketgroup with several broker, clien t and service roles, but theinstanciated market group may only include a few of theseroles.

    2.2.2 Organizational structureWe define the organizational structure as the set of groupstructure s e:xpressing the design of a multi-agent organiza-tion scheme.

    Thus, the organizational structure can be seen as theovera ll specific ation of the initial problem (i.e. conceiv-ing an agerit marketplace). G iven the different group struc-tures involved, the organizational structure permits the vi-able m anagement of heterogeneity in agent com municationlanguages, models and local applicative domains, within asingle system.We define an organizational structure as a couple 0 =(S,R e p ) where:S is a set a valid group structures .R e p is the representative graph. It is a labelled graphwhere each edge s a & is labelled where two rolesr11-2,with Sa E S and Sb E S , and where r1 and 7 2are roles which are included in the set of roles definedin the group structuresSa and sb respectively.

    Therefore, a representative structure definition betweentwo groups A and B is an agent having simulteneously therole Ra,i n group a and role Rbj in group b.As with the relation between group stru ctures andgroups, we note that the actual organization is just one pos-sible manifestation of the organizational structur e. It mightnot include every group defined in the abstract organiza-tional strucime.2.2.3 A market organization exampleTo clarify the inter-r elations between structure s and ac tualinstances, and between organizational and group model, wepresent a short example of a market-like comm unity mod-eled with these method ological guidelines (figure 4a).We def ke three gro ups. The link between the two differ-ent interaction models is held by the broker role, whichacts as a representative of the s e r v i c e p r o v id ergroup by the way of its broker role within this group.The clients interact with the broker to find a suitable ser-vice age nt, and the c o n t r a c t group structure definition isaimed at ephemeral groups containing only the two agentsinvolved in the final phase of a negociation.A possible state of a market organization resulting fromthis org anizational structure is shown in figure 4b.3 Reflection

    There ha.s been a large amount of work done on reflec-tion in computer science. In [19] B. Smith coined theterm "computational reflection" to describe a process that

    131

  • 7/27/2019 2000A Metamodel for the Analysis and Design of Organisations

    5/8

  • 7/27/2019 2000A Metamodel for the Analysis and Design of Organisations

    6/8

    Si te A Site B

    ISi teA Si te B

    Figure 5. A migration scenario

    the migration of other local agents on a remote platform.Migratory agents are also members of the Sys ern group,which contains agents that can control the resources allo-cated to other agen ts, to be able to con trol the life-cycle ofother agents.There is another group, called Mobility-Controlwhich gathers all agents with the migratory ole in dif-ferent local groups. T his group eases all the communicationand negotiation between mig ratory agents that are necessaryto con trol the actual m igration process.Let us now consider a scenario of agent mig ration (figure

    5 . Let us suppose that there is an agent a that belongs toa domain grou p that resides in a site s. Let us suppose thatfor any reason a needs to m igrate to another site s' (if thereare too many agents on s, for instance).Here is a typ ical scenario of agent migration:The agent a sends a request to the group manager ofits local Mobility-Group o join the group Withitinerant role. The group manager decides if theagent is suitable for migration, i.e. if it possesses thecompetence of being serializable.When this a gent wants to m igrate on another agent ker-nel, for any reason, a request is sent to the agent havingthe migratory ole within the group to make a mi-grate. This request can be sent by a (if it can reason

    Figure 6. The MadKit platform Architectureabout such things) or by a system-level agent in chargeof resource allocation.The mig ratory agent serializes the candidate, requeststhe kernel agent to suspend the activity of the candi-date, and sends a to its peer on another site s'.The remote migratory agent deserializes the agenta confirms good reception and asks the k ernel agentto resume the new a. The local migratory agent whichresides on s then asks the kernel agent to kill the oldsuspended agent.

    4 The MadKit platformTo demonstrate the effectiveness of this mo del, we havebuilt an ag ent platform [12], called MA D K IT for "Multi-Agent Development Kit") to validate this approach . TheMA DK IT latform implements at its core, the concepts ofagent, group and role, and adds three design p rinciples:

    Micro-kernel architechu-eAgentificationof servicesGraphic component model

    The basic ]philosophy of the M A D K IT rchitecture is to usewherever possible the platform for its own management:any services beside those assured by the micro-kern el arehandled by agents, organized in groups, and identified byroles.M A D K T runs on every platform supporting a Java 1 .1implementation.4.1 Agent micro-kernel

    The MADK ITmicro-kernel is a small (less than 40Kb)agent kernel. The term "micro-kernel" is intentio naly usedas a reference to the role of micro-kernels in the domainof OS engiineering [181. We would define an agent micro-kernel as a m inimal set of facilities allowing deployment ofagents services.

    133

  • 7/27/2019 2000A Metamodel for the Analysis and Design of Organisations

    7/8

    The MADK ITmicro-kernel only handles the followingtasks:Control of local grou ps and roles The m icro-kernel is re-sponsible for maintaining correct information about

    group members and roles handled, and transmits ad-mission requests to the app ropriate group manager.Agent life-cycle management The micro-kernel launchesagents and has full control of their life-cycle. It alsoassigns the g lobally unique agent identifiers.Local message passing Messages between agents are de-livered via the m icro-kernel facilities if the receiver isa local agent. If not, the message might be delegatedto a specialized system agent.

    The platform is not an agent platform in the classicalsense. Th e reduced size of the m icro-kernel, combined withthe principle of mo dular services managed by agents, en-able a range of multiple, scalable platforms (figure 6).4.2 Agentificationof services4.2.1 Agents groups and roles in the platformAgents are defined by inheriting from an abstract class thatprovides agent identification, messaging API, and groupand role related calls. These method s offer group creation,joining and variou s calls to identify which roles are presentin a grou p, which agents are playing a given role, to make arequest for role handling, delegation, or removal.A few special groups and roles exist on the platform.The l o c a l group contains every agent running on the lo-cal micro-kernel, Admission to this g roup is automatic, thusfinding local agents uses the standard group and role modeland implementation.The second special group, the s y s e r n group, gathersmembers having the capacity to access the micro-kernel,thus potentially having control over life-cycles of otheragents. Access to the system group is tightly restricted toagents identified by a trusted entity.Interaction with the micro-kernel uses standard agentcomm unication. The very first agent created at kernel boot-strap is a wrapper agent having full access and controlon the agent micro-kernel. It founds and has the group-manager role for the sy s e r n and the l o c a l groups. Thenmembers of the s y s t e m group c an request privileged ac-tions by interacting with it: grou p and role mechanisms areused to manag e agent groups.4.2.2 Agents servicesIn contrast to other architectures, MA DK IT ses agents toachieve distributed message passing, migration control, dy-namic security, and other aspects of system management.

    This allows a very high level of cu stomizing, as these ser-vice agen ts can be replaced w ithout difficulty.For instance,it is possible to implement a completely different mecha-nism of distributed messaging without changing anythingto the other agents on the platform. These services can alsochange at runtime by dezegatingroles to other agents.The role delegation principle has the other interestingside-effect of allowing easy scaling. An agent can holdseveral roles at the beginning of a g roup, and as the groupgrows, launch other agents and delegate to them some ofthese roles.4.2.3 Communication and distributionMessaging, as well as group and role management, usesa unique agent identifier, and as this identifier is uniqueacross distant kernels, M AD KI T gents can be transparentlydistributed without changing the agent code. Groups canspread across different kernels, and agents usually do noteven notice it.Distribution in the M AD KIT latform relies on agentshandling two roles in the sys terngroup:

    The communicator is used by the micro-kernelto route non-local messages to other communicatoragents, on distant platforms, which then inject thenow-local messages into th eir kernel.The group synchronizer agents allow groups androles to be distributed among kernels by distributinggroup and role chang es to other synchronizers, whichin turn enter this in formation into their local kernel.These group synchronizers use their own distributedgroup to ease distributed group management, after abootstrap phase.

    Since the distributed systems mechanisms are built asregular agents in the platform, com munication and migra-tion could be tailored to specific platform or applicationrequirements only by changing the com munication agents,for instance to m anage disconnected modes for laptops . AMA DK IT latform can r ul in full local mode by just notlaunching the commu nication agents.These services are not necessarily handled by only on eagent. For instance, the commun icator agent can be the rep-resentative of a group gathering agents specialized in SMTP,sockets, or CORBAI O P comm unications and delegate thetask to the appropriate agent.4.3 Graphic model

    The M AD KI T raphic model is based on independentgraphic components. Each agent is solely responsible for itsown graphical interface, in every respect (rendering, event

    134

  • 7/27/2019 2000A Metamodel for the Analysis and Design of Organisations

    8/8

    Figure 7 MadKit run ning in applet, G-Box andconsole modes

    processing, actions .. An agent interface can be a simplelabel, or a com plex construction based on m ultiple widgets.Thus, the agent micro -kernel can run in various "graph-ical modes". In its current implementation, MADKIT anrunin three different modes (figure 7): a developm ent en-vironment (called G-Box), a co nsole-only mode , and in ap-plets.5 Conclusion and future work

    The development of complex systems necessitates thedevelopment of models of multi-agent systems which al-low for real heterogeneity of agents and of comm unicationlanguages. In this paper we have presented a meta-model oforganizations for MAS called AALAADIN hich is able toovercome these problems by allowing designers of multi-agent systems to describe any kind of organization usingonly the core conce pts of groups, agents and roles.We have also presented a developm ent platform, calledMadKit, in which all these concepts have been imple-mented.Various projects based on this meta-model and this p lat-form are in development. An early application resultedin the cons truction of ag ents for collaborative work in ge-netic sequencing. The group and role formalism allowedeasy customization and auto-assembly of processing chains.Current projects include a dynamic load-balancing schemefor agents, multi-agent robot co ntrol, and various projectsin distributed simulation.References[11 A. Collinot and A. Drogoul. Agent oriented design for a soc-

    cer robot team. In M. T. Kyoto , editor,Proc. of Second Inter-

    national Conferenceon Multi-Agent Systems, pages 41-47.AAA.1 Press, 1996.[2] R. de Hoog, B. Benus, C. Metselaar, M. Vogler, andW. EvIenezes. Organisat ion model: Model definiti on docu-ment. Technical report, ESPRIT Project P5248, 1994.[3] J. Ferber. Com putational reflection in class based object ori-ented languages. In OOPSLA Proceedings, 1989.[4] J. Ferber. Reactive distributed artificial intelligence: P rinci-ples and application. In G. O'Hare and N. Jennings, editors,Foundations of Distributed Arhjicial Intelligence, 1996.[5] J. Ferber and P. Carle. Actors and agents as reflective con-current objects: a Mering IV perspective. IEEE Trans. onSyste,nzs, Man and Cybernetics, 2 1(6), 199 .[6] T. Firdn and R. Fritzson. KQML- A language and protocolfor knowledge and information exchange. In Proc. of the13th h t l . Distributed Artificial Intelligence Workshop.[7] M. Fox. An organizational view of distributed systems.IEEE Trans. on Man, Systems and Cybernetics, 11 1):7&80, l %l.[8] L. Gasser. An overview of distributed artificial intelligence.In L. Gasser and N. M. Avouris, editors, Distributed Arti-jk ia l Intelligence: Theoly and Praxis. Kluwer AcademicPubliishers, 1992.[9] L. Gasser, C. Braganza, and N. Herman. Mace: a flexibletestbed for distributed ai research. In M. N. Huhns, editor,Distributed Artijicial Intelligence, pages 11 I 52. 1987.[101 N. Glaser and P. Morignot. Societes of autonomous agentsand their reorganization. In ATAL, 1997.[l 11 R. Gustavsson. Mul ti agent systems as open societies. In 4thWorkshop on Agent Theories Architectures and Languages,1997.[12] 0 Gutkne cht and J. Ferber. Madkit reference page.

    httg://www.lirnun.fr/-gutkneco/madkit.[131 Y. Lacihkari, M. Met ral, and P. Maes. C ollab orat ive interfac eagents. In Proc. ofAAAI'94, 1994.[141 P. Maes and D ardi, editors. Meta-level architectures and

    rejexi:on,1988.[151 S. Matsuoka, T. Watanabe, and A. Yonezawa. Hybrid groupreflective architecture for object-oriented concurrent reflec-tive programming. In Proc. of European Conference onObject-Oriented Programming,page s 23 1-250, 1991.[16] J. P. h4uller, M. J. Wooldrid ge, and N. R. Jennings, editors.Intelligent Agent III: Agent Theories, Architecture and Lan-guage. Springer-Verlag, 1997.[I71 M. V. N. Prasad, K. Decker, A. Garvey, and V. Lesser. Ex-ploring organizational designs with TA EMS: A case studyof distributed data processing. In M. Tokoro, editor, Proc.o Second International Conferenceon Multi-Agent Sytems,pages 283-290. AAA 1 Press, 1996.[181 R. Rashid, R. Baron, A. Forin, D. Golub, M. Jones, D. Julin,D. Orr, and R. Sanzi. Mach: A foundation for Open Sys-tems. In Proc. of the Second Workshop on Workstation O p-eratin,p System, September 1989.[191 B. C. Sm ith. Rejec tion and Semantics in a Procedural Lan-guage. PhD thesis, M.I.T., 1982. Technical Report 272.[20] J. White. Telescript technolog y: Mob ile agents. In J. Brad-shaw editor So f law Agents. MIT Press 1996.[21] A. Yainezawa and B. C. Smith, editors. Imsa Workshopon Rcflection and M eta-Level Architecture. ACM SigPlan,1992.

    135