=Paper=
{{Paper
|id=Vol-1664/w18
|storemode=property
|title=Game Engines to Model MAS: A Research Roadmap
|pdfUrl=https://ceur-ws.org/Vol-1664/w18.pdf
|volume=Vol-1664
|authors=Stefano Mariani,Andrea Omicini
|dblpUrl=https://dblp.org/rec/conf/woa/MarianiO16a
}}
==Game Engines to Model MAS: A Research Roadmap==
Game Engines to Model MAS: A Research Roadmap Stefano Mariani Andrea Omicini DISI, A LMA M ATER S TUDIORUM–Università di Bologna DISI, A LMA M ATER S TUDIORUM–Università di Bologna via Sacchi 3, 47521 Cesena, Italy via Sacchi 3, 47521 Cesena, Italy Email: s.mariani@unibo.it Email: andrea.omicini@unibo.it Abstract—Game engines are gaining increasing popularity in Besides agents and societies, environment is an essential various computational research areas, and in particular in the abstraction for MAS modelling and engineering [2], to be context of multi-agent systems (MAS)—for instance, to render suitably represented, and related to agents. On the one side, augmented reality environments, improve immersive simulation the notion of environment captures the unpredictability of the infrastructures, and so on. Existing examples of successful inte- MAS context, by modelling the external resources and features gration between game engines and MAS still focus on specific that are relevant for the MAS, along with their evolution over technology-level goals, rather than on shaping a general-purpose game-based agent-oriented infrastructure. In this roadmap paper, time. On the other side, it makes it possible to model the we point out the conceptual issues to be faced while attempting resources, tools, services that agents and MAS need to carry to exploit game engines as agent-oriented infrastructures, and on their own activities. Along with the notion of situated outline a possible research roadmap to follow, backed up by some action – as the realisation that coordinated, social, intelligent early experiments involving the Unity3D engine. action arises from strict interaction with the environment, rather than from rational practical reasoning [8] – this leads to I. R ESEARCH L ANDSCAPE the requirement of situatedness for agents and MAS, often translated into the need of being sensitive to environment As a preparatory background for the remainder of the pa- change [9]. per, in this section we briefly recall agent-oriented abstractions (Subsection I-A) and overview early attempts to exploit game engines within multi-agent systems (Subsection I-B), motivat- B. Game Engines ing the need for further advancing their pioneer experience (Subsection I-C). Game Engines (GE) are increasingly popular in many different areas of computer science. In particular, they are A. Agents & MAS mostly used in order to implement two MAS abstractions, that is, agents and MAS environment—typically, in specific Agent-oriented models and technologies represent the rich- domains, aimed at achieving some specific goals. For instance, est sources of abstractions and mechanisms for the engineering of complex software systems—in particular, those demanding • QuizMASter [10] focusses on the agent abstraction by for advanced features such as distribution, interoperability, linking MAS agents to game engines characters, in the intelligence, mobility, and autonomy [1]. Multi-agent systems context of educational learning (MAS) in particular provide a well-established technological framework for all those scenarios mandating for decentral- • CIGA [11] considers both agents and environment isation, fault-tolerance, adaptiveness, situatedness, and self- modelling, for general-purpose virtual agents in virtual organisation. As its basic design abstractions, any MAS fea- environments tures agents as the proactive components of the system, the • GameBots [12] focusses on the agent abstraction, but environment as the (mainly) reactive, either virtual or physical still considers environment while providing a develop- context where the agents are situated, and agent societies as ment framework and runtime for multi-agent systems a way to capture and possibly govern agents relationships of testing in virtual environments any sort [2]. • UTSAF [13] focusses on environment modelling in More in detail, agents are computational entities whose the context of distributed simulations in the military defining feature is autonomy [3]. Agents model activities domain1 within a MAS, expressed in terms of their actions along with their motivations—namely, the goals and intentions that Although they clearly represent examples of (partially) suc- prompt and set the agent’s course of actions. Agent societies cessful integration of MAS within GE, the aforementioned represent then the groups where MAS collective behaviours works share a few shortcomings w.r.t. the goal we pursue in are coordinated towards the achievement of the overall system this paper: goals. Coordination models and languages are then the most suitable tools to tackle complexity in MAS [4], as they are 1 Agents are considered, but only as an integration means between different explicitly meant to supply the abstractions that “glue” agents simulation platforms, not in the context of the GE exploited for simulation together [5], [6] by governing agent interaction [7]. rendering. 106 • with the only exception of CIGA (which recognises II. AGENTS , E NVIRONMENT, AND S OCIETIES the conceptual gap between MAS and GE, and pro- IN G AME E NGINES poses solutions to deal with it—although on the tech- nological level), the only layer taken into account Game Engines (GE) are frameworks for supporting de- while pursuing integration is the technological one— sign and development of games. Modern GE are all-around no model, no architecture, no language frameworks geared toward every aspect of game design and development, such as 2D/3D rendering of game scenes, physics • integration is mostly domain- and goal-specific—as it engines for environmental dynamics (movements, particles dy- happens for instance in QuizMASter and UTSAF, and namics, collision detection, obstacle avoidance, etc.), sounds, even in GameBots to some extent2 behavioural scripting, characters’ artificial intelligence, and much more. • whereas most approaches provide programmers with some abstractions to deal with agents and environ- As meaningful examples well representing the full range ment, no attention is given to social abstractions of available platforms, in this section we examine two of the most popular and used GE – Unity3D and Unreal Engine – C. Motivation with the aim of: Besides the lack of completeness and generality just high- • detecting those abstractions and mechanisms most lighted, and the increasing interest in the topic, a few other likely to have a counterpart in MAS, or at least those considerations motivate worthiness of our research efforts. which seem to provide some support in re-formulating MAS missing abstractions First of all, there is huge gap in the technological advance- ment GE have reached w.r.t. the technological level of agent- • highlighting opportunities for closing conceptual/tech- oriented infrastructures born within the academic community. nical gaps hindering integration of the two worlds This should not surprise anyone: the gaming scene may rely on a billionaire industry and on millions of developers and A. Unity3D testers (besides gamers), which are well paid to push stability, performance, usability of their products to unprecedented Unity3D3 is developed by Unity Technologies, and (as and incomparable levels of quality. Therefore, it is worth to of version 5.3.4) it features a few abstractions worth to be consider the possibility of taking advantage of such a finely- mentioned here: optimised products for improving the overall quality of MAS technologies. • the game object, which actually is the only first-class citizen in Unity3D world, being everything a scene Second, and dually, there is a huge gap in the conceptual contains a game object: a human player, a Non-Player and design abstractions GE provides to developers w.r.t. far Character (NPC), an environmental item, everything richer abstractions agent-oriented software engineering pro- vides. All the GE we considered in this paper provide really • the script, which is a piece of code defining the low level abstractions, especially on the agent side, where, behaviour to be attached to a game object; scripts are for instance, programming cyclic behaviour amounts to write executed by the unique Unity3D game loop, which coroutines spanning multiple rendering stages. sequentially executes once each script at each game frame rendered—no concurrency, all the scripts must Third, integrating MAS with GE may provide novel so- be executed within each frame rendering step lutions to deal with the typical issues of augmented reality scenarios, such as those targeted by the mirror worlds model • the co-routine, which acts as a sort of workaround to [14], in which coordination is requested to be space-aware and sequentiality imposed to scripts, by enabling develop- spatially situated in a physical environment. ers to partition a computation and distribute its pieces over multiple frame rendering steps, suspending and For the above reasons, in this paper we provide the resuming execution at precise points within the code foundation for a research roadmap towards a well-founded through explicit API calls integration of GE and MAS, with particular emphasis on how GE could be exploited so as to model MAS constituent Looking at MAS, the abstraction gap is quite wide, being abstractions not just as a solution to a rendering problem, Unity3D totally missing an agenthood abstraction as well as but as they provide rather rich features and stimulating op- dedicated abstractions to handle sociality. portunities, in general. Accordingly, Section II tries to map MAS abstractions upon those provided by two exemplary and The only MAS abstraction somehow represented and di- widespread GE—Unity3D (Subsection II-A) and Unreal En- rectly supported is that of environment, through game objects. gine (Subsection II-B); Section III discusses the general issue Indeed, in some sense, its support to environment modelling, of exploiting GE to model MAS given the aforementioned control, and interaction is far superior w.r.t. the average MAS analysis, providing a first working prototype of a tuple-based technology – e.g. JADE[16], Jason [17], RETSINA [18], coordinated MAS [15] implemented in Unity3D as a proof-of- TuCSoN [19], CArtAgO [20] –, since Unity3D is capable of concept; finally Section IV provides final remarks along with directly supporting many forms of agent-environment interac- a research roadmap for organising exploration of such a novel tion, such as shaping movement pathways, handling obstacle research line. avoidance and collision detection, and the like. 2 It focusses on rapid prototyping and testing MAS in virtual worlds. 3 http://unity3d.com 107 As far as agenthood is concerned, no first-class abstraction In fact, agenthood can be reconstructed based on actors and is provided by Unity3D. However, there is still an opportunity blueprints, whereas social interaction may be engineered on for bridging the gap, although mostly through a workaround: top of event dispatchers and direct blueprint communications— the combination of a game object with an attached behavioural although still with considerable conceptual and technical ef- script (and possibly a co-routine too) is the best we can ask fort. Finally, on the environment side, the situation is almost for to Unity3D. However, most of the behavioural logic would identical to the one described for Unity3D. have to be implemented by the developer with little or even no support from Unity3D. III. GE & MAS: T OWARDS THE I NTEGRATION To conclude analysis of Unity3D, also a societal abstraction Based on the analysis reported in Section II, integration is missing among first-class ones. However, the possibility to between GE and MAS is certainly interesting, likely useful, leverage some sort of message passing4 among game objects, and seemingly possible—although with considerable effort in various forms such as unicast based on objects unique according to the state of art. names, multicast based on tags attributed to arbitrary group of objects, and broadcast by generally referring to the scene, It is worth to note here that besides trying to reconstruct makes it possible to implement message-based interaction— MAS abstractions by (ab)using GE features, another path and coordination, to some extent (see Subsection III-A). toward integration is available, promoted by, e.g., literature on mirror worlds [14], that is, virtual representations of the real Summing up, both agenthood and sociality present a quite world—which in this case might be virtual too. In fact, it is large abstraction gap to fill in order to conceptually frame an possible to imagine MAS agents exploiting GE to represent the integration effort, whereas on the environment side, although physical/virtual environment they are immersed in (situated) the gap is less apparent, mapping is still far from being perfect. so as to delegate to the GE handling of, e.g., movement, On a more technical level, there are opportunities for exploiting environment-mediated interaction, discovery, and the like. The workarounds, but the implementation effort to reconstruct even social dimension may be kept within the MAS world if direct a primitive support to agenthood is expected to be huge, the communication between agents is needed, or expanded to the same holding for more complex forms of interaction, such as GE virtual world if communication mediated by the environ- asynchronous conversations and full-fledged protocols. ment is what MAS designers are looking for. Nevertheless, the virtual world managed by the GE may influence social B. Unreal Engine interactions, e.g., by either facilitating or hindering discovery. Unreal Engine5 is developed by Epic Games, and (as of In the following section, we report on an early experiment version 4) it features a few abstractions worth to be described conducted to verify feasibility of the aforementioned approach. for the purpose of the paper: • the game object, similar to Unity3D game objects, A. A Case Study except they are not the only first-class abstractions— We test the extent to which workarounds can be exploited see below to reconstruct some (approximated) MAS notions – agenthood, • the actor, which is any game component which can social interaction, and environment mediation – in Unity3D by be rendered, and whose behaviour is enacted by a implementing the most well-known scenario involving all the controller, either interfacing a human player or an ar- aforementioned facets of a MAS: the Dining Philosophers (DP) tificial intelligence (bot); characters are a special kind coordination problem, tackled in a shared-space setting. of actor with humanoid resemblance and capabilities In the DP scenario, depicted in Figure 1, five philoso- (e.g. walking) phers are sharing a table with a big spaghetti bowl, five • the blueprint, similar to Unity3D script, being more smaller bowls, five chopsticks, and five chairs (one for each or less the code6 specifying the behaviour of an actor philosopher)—the scenario can be easily extended to an ar- bitrary number of philosophers. Thus, there are agents – • the direct blueprint communication, which enables the philosophers – and an environment with a few shared blueprints to communicate one-to-one; also, the event resources—the chopsticks and the chairs. On the society side, is a game-related happening (e.g. level started, damage philosophers interact and coordinate by exploiting environment taken, shots fired, etc.) which may trigger execution mediation: in fact, we choose to solve the dining philoso- of blueprints code; finally, the event dispatcher plays phers coordination problem adopting a tuple-based approach the role of producer in a publish/subscribe-like com- [15]. Accordingly, the table plays the role of the tuplespace, munication architecture, where blueprints always play chopsticks of shared tuples, and chairs decouple and mediate the role of consumers interaction, while enabling situated coordination. As far as the MAS model is concerned, the abstraction gap First of all, the tuple space is implemented by decorating is still considerable—yet possibly smaller, if compared to the table game object with a few properties: a tupleSet Unity3D. (list of strings) representing the tuple storage medium, a 4 Actually, sending a message to an entity requires to specify which method inputQueue tracking requests for tuples (Unity3D messages) the receiver is expected to execute to handle reception. as soon as they arrive, and a pendingQueue tracking requests 5 http://www.unrealengine.com yet unsatisfied. Three request types are supported: out, in, 6 Actually, blueprints are programmed visually, by wiring functions, data, rd. Operationally, at every frame rendering step, the table etc. in a graphical editor. script does the following: 108 Figure 1. Dining philosophers in Unity3D. Grey philosophers are thinking. Green chairs are free. 1) the pendingQueue is considered first, and the request sitting on it. type is checked The scenario works as follows: • in case of an out, the pendingQueue is checked looking for pending requests having a matching 1) each philosopher thinks until it gets hungry template 2) when this happens, it looks for a free chair to sit— ◦ in case there is a pending request, it is served exploiting raytracing and removed from the queue 3) when a free chair is found, the philosopher goes there – ◦ in case there is not, the tuple is inserted in movement pathway and collision avoidance are a “free the tupleSet lunch” when using GE – and sits, waiting to acquire the • in case of an in, if it is satisfiable, that is, a chopsticks required according to the position of the chair tuple matching the given template (simple regular w.r.t. the table expressions on strings) exists, the tuple is removed 4) when a chair gets occupied, it acquires information about from the tupleSet and given to the requestor— which chopsticks should be handed over to the hungry whose reference is dynamically retrieved philosopher – through raytracing – and performs the • in case of a rd, if it is satisfiable the tuple is not corresponding requests to the table—on behalf of the removed and given to the requestor agent 2) the inputQueue is considered then, and the request type • in case the requests are satisfied, the philosopher is checked as above starts eating (Figure 2)—and leaves the chair to 3) in case requests cannot be satisfied, they are ei- think again when done, thus restarting its thinking- ther removed from the inputQueue and put into the eating loop pendingQueue, or kept in the latter • in case at least one request cannot be satisfied, the philosopher waits as described above (Figure 3) Agent game objects are implemented to request the three All interactions happen through Unity3D messaging facilities. coordination primitives provided by the table synchronously, exploiting Unity3D co-routines: for every request sent, the IV. D ISCUSSION & ROADMAP agent waits for a reply, suspending execution (actually, de- laying to next frame rendering step) until it arrives. The implementation effort described in Subsection III-A, although rather successful on the technical side, raises many Chairs work as decouplers of interaction as well as situat- conceptual issues regarding MAS and GE integration in the edness enablers, by letting philosophers dynamically acquire same infrastructure. the right chopsticks based on their position at the table. In fact, philosopher agents asks for chopsticks to the chair they First of all, agent autonomy is all but trivial to preserve: are currently sit on, rather than directly to the table, and do regardless of the approach taken to marry MAS and GE not explicitly refer chopsticks: not by name, neither by address, – either the reconstruction one or the mirror worlds one – nor by any other means. Each chair dynamically knows where autonomy is likely to be the toughest issue to tackle. For GE it is w.r.t. the table and therein placed chopsticks thanks to very own nature, the flow of control should be in their hands raytracing, enabling game objects to detect nearby objects. no matter what, because fluidity of the rendering process is the Then, it is the chair that asks the table for the right pair of foremost concern. This is an obvious clash with the definition chopsticks on behalf of the philosopher agent that is currently of autonomy as encapsulation of the flow of control and of the 109 Figure 2. Eating philosophers. Green philosophers are those eating. Red chairs are occupied (reserved) by philosophers willing to eat. Figure 3. Waiting philosophers. Red philosophers are willing to eat, but obliged to wait until chopsticks become available. criteria to handle it. However, co-routines in Unity3D and the as discovery, routing, etc. actor abstraction in Unreal Engine may be exploited to build some notion of autonomy, and/or for linking virtual agents in Summing up, from the early conceptual speculations and a mirror world with their MAS counterparts while preserving practical experimentations undertaken in this work, we can their autonomy. guess that integration is likely to happen, at least at first, mainly through environmental abstractions, since they are the most As far as situatedness is concerned, thus focussing on the well represented in the GE world. Accordingly, we conclude environment abstraction, things get better: being environmental the paper by outlining the research roadmap we think is the resources and agent-environment interaction first-class citizens more likely to lead to some successful results. in any GE, any MAS willing to exploit GE facilities is likely to benefit of some free lunch—e.g. movement pathways First of all, the mirror worlds approach seems the most computation, objects discovery, collision avoidance. appropriate, given that the reconstruction approach is hindered by the constraints on the flow of control imposed by state-of- Finally, when focussing on the social side, issues differ art-GE technologies. depending the kind of interaction: for direct interactions among agents, support provided by GE is limited to basic message- Then, environmental abstractions as provided by MAS and passing facilities; for environment-mediated interactions, sup- GE should be carefully analysed to seek for mapping oppor- port is a lot better thanks to situatedness-related features such tunities, with the aim of drawing correspondences between 110 the GE-based virtual representation of the MAS world—which [6] P. Ciancarini, “Coordination models and languages as software could be virtual, physical, hybrid. An interesting path to follow integrators,” ACM Computing Surveys, vol. 28, no. 2, pp. 300–302, Jun. in this sense is represented by, e.g., the artefact abstraction [20] 1996. [Online]. Available: http://dl.acm.org/citation.cfm?doid=234732 [7] P. Wegner, “Coordination as constrained interaction,” in Coordination as defined in the A&A meta-model for MAS [3]. Languages and Models, ser. Lecture Notes in Computer Science, Once that the environment layer of the envisioned GE- P. Ciancarini and C. Hankin, Eds. Springer, 1996, vol. 1061, pp. 28–33. [Online]. Available: http://link.springer.com/10.1007/3-540-61052-9 based MAS is settled, agenthood could be (re)shaped around 37 this, by exploiting GE capabilities regarding situated inter- [8] L. A. Suchman, “Situated actions,” in Plans and Situated Actions: The action. For instance, whereas the goal-directed/oriented be- Problem of Human-Machine Communication. New York, NYU, USA: haviour of agents could be still programmed on top of the Cambridge University Press, 1987, ch. 4, pp. 49–67. more expressive mechanisms provided by traditional MAS [9] J. Ferber and J.-P. Müller, “Influences and reaction: A model of situated paradigms, such as BDI reasoning, it could also take advantage multiagent systems,” in 2nd International Conference on Multi-Agent of GE features for, e.g., practical reasoning and situated Systems (ICMAS-96), M. Tokoro, Ed. Tokio, Japan: AAAI Press, Dec. 1996, pp. 72–79. planning, relying on GE virtual world representation to, e.g., [10] J. Blair and F. Lin, “An approach for integrating 3D virtual estimate the effects of actions. worlds with multiagent systems,” in Advanced Information Networking Sociality too can be (re)shaped around the environmental and Applications (WAINA), 2011 IEEE Workshops of International Conference on, Mar. 2011, pp. 580–585. [Online]. Available: layer: for instance, whereas direct communication between http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5763564 agents may be still allowed and based on traditional MAS [11] J. van Oijen, L. Vanhée, and F. Dignum, CIGA: A Middleware mechanisms, accessory facilities may be delegated to the GE for Intelligent Agents in Virtual Environments. Berlin, Heidelberg: part of the system, such as discovery of recipients based on Springer Berlin Heidelberg, 2012, pp. 22–37. [Online]. Available: spatial proximity. http://dx.doi.org/10.1007/978-3-642-32326-3 2 [12] G. A. Kaminka, M. M. Veloso, S. Schaffer, C. Sollitto, R. Adobbati, This way, a GE-based MAS infrastructure could in princi- A. N. Marshall, A. Scholer, and S. Tejada, “GameBots: A flexible ple be designed, by suitably integrating the different mecha- test bed for multiagent team research,” Communications of the nisms and paradigms brought by GE and MAS around environ- ACM, vol. 45, no. 1, pp. 43–45, Jan. 2002. [Online]. Available: mental abstractions, while avoiding to abuse either technology http://dl.acm.org/citation.cfm?doid=502293 so as to carrying out activities and pursuing goals it was [13] P. Prasithsangaree, J. Manojlovich, S. Hughes, and M. Lewis, “UTSAF: A multi-agent-based software bridge for interoperability not meant to deal with—such as, for instance, attempting to between distributed military and commercial gaming simulation,” reconstruct some notion of autonomy for GE agents. Simulation, vol. 80, no. 12, pp. 647–, 2004. [Online]. Available: http://sim.sagepub.com/content/80/12/647 ACKNOWLEDGEMENTS [14] A. Ricci, A. Croatti, P. Brunetti, and M. Viroli, “Programming mirror worlds: An agent-oriented programming perspective,” in Engineering We would like to thank Mattia Cerbara and Nicola Poli Multi-Agent Systems, ser. Lecture Notes in Computer Science, for their analysis of Unity3D and Unreal Engine, and for the M. Baldoni, L. Baresi, and M. Dastani, Eds. Springer, 2015, vol. prototype implementation of the case study. Also, our gratitude 9318, pp. 191–211, 3rd International Workshop, EMAS 2015, Istanbul, goes to the reviewers, stimulating the discussion in Section IV Turkey, May 5, 2015, Revised, Selected, and Invited Papers. [Online]. Available: http://link.springer.com/10.1007/978-3-319-26184-3 11 with their stimulating questions and thoughtful remarks. [15] D. Rossi, G. Cabri, and E. Denti, “Tuple-based technologies for coordination,” in Coordination of Internet Agents: Models, R EFERENCES Technologies, and Applications, A. Omicini, F. Zambonelli, M. Klusch, [1] F. Zambonelli and A. Omicini, “Challenges and research directions and R. Tolksdorf, Eds. Springer, Jan. 2001, ch. 4, pp. 83–109. [Online]. in agent-oriented software engineering,” Autonomous Agents and Available: http://link.springer.com/10.1007/978-3-662-04401-8 4 Multi-Agent Systems, vol. 9, no. 3, pp. 253–283, Nov. 2004, Special [16] F. L. Bellifemine, G. Caire, and D. Greenwood, Developing Multi- Issue: Challenges for Agent-Based Computing. [Online]. Available: Agent Systems with JADE. Wiley, Feb. 2007. [Online]. Available: http://link.springer.com/10.1023/B:AGNT.0000038028.66672.1e http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470057475.html [2] D. Weyns, A. Omicini, and J. J. Odell, “Environment as a first- [17] R. H. Bordini, J. F. Hübner, and M. J. Wooldridge, Programming class abstraction in multi-agent systems,” Autonomous Agents and Multi-Agent Systems in AgentSpeak using Jason. John Wiley & Sons, Multi-Agent Systems, vol. 14, no. 1, pp. 5–30, Feb. 2007, Special Ltd, Oct. 2007. [Online]. Available: http://eu.wiley.com/WileyCDA/ Issue on Environments for Multi-agent Systems. [Online]. Available: WileyTitle/productCd-0470029005.html http://link.springer.com/10.1007/s10458-006-0012-0 [18] K. Sycara, M. Paolucci, M. Van Velsen, and J. Giampapa, “The [3] A. Omicini, A. Ricci, and M. Viroli, “Artifacts in the A&A RETSINA MAS infrastructure,” Autonomous Agents and Multi-Agent meta-model for multi-agent systems,” Autonomous Agents and Systems, vol. 7, no. 1, pp. 29–48, 2003. [Online]. Available: Multi-Agent Systems, vol. 17, no. 3, pp. 432–456, Dec. 2008, http://link.springer.com/10.1023/A:1024172719965 special Issue on Foundations, Advanced Topics and Industrial [19] A. Omicini and F. Zambonelli, “Coordination for Internet application Perspectives of Multi-Agent Systems. [Online]. Available: http: development,” Autonomous Agents and Multi-Agent Systems, vol. 2, //link.springer.com/10.1007/s10458-008-9053-x no. 3, pp. 251–269, Sep. 1999, special Issue: Coordination Mechanisms [4] P. Ciancarini, A. Omicini, and F. Zambonelli, “Multiagent system for Web Agents. [Online]. Available: http://link.springer.com/10.1023/ engineering: The coordination viewpoint,” in Intelligent Agents VI. A:1010060322135 Agent Theories, Architectures, and Languages, ser. LNAI, N. R. [20] A. Ricci, M. Piunti, and M. Viroli, “Environment programming in Jennings and Y. Lespérance, Eds. Springer, 2000, vol. 1757, pp. 250– multi-agent systems – an artifact-based perspective,” Autonomous 259. [Online]. Available: http://link.springer.com/10.1007/10719619 19 Agents and Multi-Agent Systems, vol. 23, no. 2, pp. 158–192, Sep. [5] D. Gelernter and N. Carriero, “Coordination languages and their 2011, Special Issue: Multi-Agent Programming. [Online]. Available: significance,” Communications of the ACM, vol. 35, no. 2, pp. 97–107, http://link.springer.com/10.1007/s10458-010-9140-7 1992. [Online]. Available: http://dl.acm.org/citation.cfm?doid=129635 111