=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== https://ceur-ws.org/Vol-1664/w18.pdf
                            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