Keywords

1 Introduction

Immersing agents in dynamic physical, virtual or mixed environments is still a challenge for Multiagent systems (MAS) researchers. As has been established in [31], an essential part of such systems is the MAS environment, in order to provide the services allowing agents to interact with it. However, to define what is the interface between the agents and their environment is not obvious. A key aspect is to both respect their autonomy and ensure that environment rules are enforced. In the following, we call agent environment the software layer between the external world and the agents.

As has been shown in several simulation models, adding a component between the agents and the agent environment enables to encapsulate responsibilities such as influence-reaction mechanisms [14, 26] and observability and perception management [10], while keeping the internal integrity of the agents. A suitable concept to manage this interface is the agent body, i.e. a component that is attached to each agent to manage its interface with the environment.

The distinction between mind and body when talking about AI systems in general has been proposed mainly for robotics [3], and more recently virtual companions [28]. Its application to multiagent systems, where there is not necessarily a physical body, has not been discussed extensively in the literature. In this paper, we argue that introducing agent bodies enables to propose a flexible agent design separating sensory and control modules from high level reasoning, thus allowing to design the mind once for several action/perception capabilities, while keeping the agent adaptive -to its body and to its dynamic environment(s).

Investigating the concept of body implies to also investigate the different kinds of environment an agent can be in. The physical metaphor is obvious, and that is why it is firstly in the simulation domain that the concept appeared. However, abstracting the concept of environment as being any topological space, such as social spaces, in which the agent may interact with others, also allows to envision different uses of bodies depending on the environment type, while being consistent across all the agents environments.

This article is a position paper in support of the introduction of agent bodies as environment abstractions. In Sect. 2, we review the state of the art related to the use of this concept as interfaces between agents and environment. Then, we propose a tentative definition of the concept in Sect. 3, and draw on this definition to distinguish agent body and mind responsibilities. Section 4 discusses the advantages and limits of this approach. Section 5 proposes a typology of bodies and minds across two dimensions: cardinality and type of environment, and we discuss how these relate to functionalities that have to be implemented in the different components of the MAS. Finally, we identify in Sect. 6 the main issues and challenges for the introduction of this concept in mainstream MAS, and link them to previously established challenges in environment design.

2 State of the Art

Although the situatedness of the agents has been part of the multiagent systems community practice for a long time, it has long been tackled in an ad hoc way [32]. Situated agents interacting with their environment have shown the advantages of using the environment for problem solving via indirect interactions such as stigmergy [19] and limited cognitive capabilities of the agents [30]. Works of E4MAS workgroup have then put forward the view of the environment as a first-order abstraction for the design of MASs [31]. However, the body/mind differentiation has not received the same attention as the environment role.

As we have seen in introduction, the distinction between mind and body in the context of artificial intelligence was mainly proposed in robotics [3]. Nevertheless, there has been a few works on the concept of body in the MAS community. Two works addressing explicitly bodies in the MAS literature are the ELMS model [15] and Soft-Bodies [16]. In these works, the body is considered as controlled by the environment, and encapsulates several responsibilities including observability and accessibility of the public state of the agents.

Other works introduce the use of a mediator between agents and environment, such as Interaction Objects [10] and Smart Objects [27], which can be viewed as functionally similar to bodies. Artifacts [20, 21] are dynamic objects, independent from the agents, that enable the agent to interact with its environment.

In the simulation domain, the addition of an interface between mind and agent environment has been done in a number of works, although never using the same naming [1, 2, 7, 14, 23, 25, 28]. These works deal with situated interactions, where the modeling of imperfect coupling between the decision process and its effects on the environment (and the other agents) is necessary. In these works, the body is a component of the environment (Fig. 1). It contains a collection of sensors and effectors related to the associated environment. It is able to filter the percepts and the actions according to its state variables and attributes. The body has its own dynamics that can not be controlled by the agents.

The agent environment controls the dynamic properties of the bodies (position, orientation, etc.) in order to ensure that they follow the rules and laws of the universe [15, 16]. However, the agent can influence its body by using a mechanism such as the Influence/Reaction model [14].

Fig. 1.
figure 1

The body at the interface between the agent mind and the environment, extracted from [7].

In a specific kind of environments, Intelligent Virtual Environments, the meta-model MAM5 [1, 23] has been developed. It allows to model the Virtual Environment by means of artifacts, including the distinction between mind (agent) and body. It defines the body as an artifact belonging to the Virtual Environment. In Virtual Environments, the body is naturally represented. For instance, in games users and agents avatars may have different bodies, with different capabilities or features. In this case it is not unusual to be able to switch between different bodies so that each body may relate to a particular environment, while it is always controlled by the same mind.

Furthermore, let us note that the representation (observability) role of the body is not its only role. It mediates the whole processes between mind and environment in terms of perception, action and accessibility.

3 Refining the Body Concept

In this section, we define the concept of body and its major responsibilities in a MAS. We also propose a formalization of the perception process to illustrate this approach.

3.1 Definition

Drawing on the related works, we propose the following definition of an agent body:

The agent body is a component of the multiagent system working as an interface between mind (agent) and environment. It is embedded in the environment to enforce body rules and ecological laws, but is influenced by -and allows introspection for- the mind. An agent may have one or more bodies in the environment(s) it participates in.

Figure 2 illustrates this definition in a UML class diagram. The goal of the body is to embed parameters and methods that mediate the interaction between the agent and its environment(s). In this way, the body is not a simple interface between the agent and the environment, defining how they interact with each other. It is also a dynamic - though not proactive - component.

Fig. 2.
figure 2

UML class diagram of the model.

The body embeds tendencies that influence the mind as well as the mind influences the body. In this sense, the body has its own dynamics that is not controlled by the mind. Furthermore, the body is situated in an environment, and follows its rules. Hence, while respecting the agent integrity - the mind is autonomous from the body, the body ensures its situation in the multiagent system by (1) being consistent with the environment rules and (2) enforcing the dynamics.

However, since the body state and processes may evolve without agent action, agreement or even knowledge, it has to propose some kind of introspection primitives, for the mind to be aware of the state of its body.

Finally, in most simulation cases, mind and body are related 1 to 1, so that there is one mind, that is one agent, associated to one and only one body. But the concept of body fits more complicated relations. For instance, one mind can be related to several different bodies, each one with different interfaces with the environment, or each one with access to different parts of the environment. This can be related to [11], where several environments –one for each specific aspect of the application– are composed through a unified modeling. In this work, actuators and sensors are defined in each environment and reified in the agents.

Moreover, different minds can have access to the same body, at different times or even at the same time, having some mechanism, as for instance a negotiation process or multiple influences fusion, to decide which action to carry out. The different cardinalities are discussed in Sect. 5.1.

3.2 Component Responsibilities

Figure 3 shows the different interactions between body, mind and environment. The introduction of agent bodies (or soft-bodies) imply the introduction of feedback loops, since it is a dynamic entity that may change without influences from the mind, and its reactions to the mind’s influences are not ensured.

Fig. 3.
figure 3

Mind, body and environment interactions.

From our definition, we can derive the following responsibilities of the agent body in the multiagent system design:

  1. 1.

    Representation of the agent

  2. 2.

    Perception mediation

  3. 3.

    Action mediation

  4. 4.

    Life cycle

  5. 5.

    Activity (rules and dynamics)

In the following, we detail each of these responsibilities.

Agent Representation. Deriving from the works on virtual companions with a physical representation, the body acts as a representative of the agent in the agent environment. Hence, it provides the public part of the agent in terms of observability. In virtual reality environments, this public part is a 2D or a 3D model; in software agents (such as in [16] it is a set of attributes or even a set of accessible methods (like in artifacts) to interact with this agents. This can be related to the affordance [9] concept, the object carrying its functionalities itself.

In non-physical agent environments, this representation may be a profile - as in social media; or any set of properties and interfaces.

Perception Mediation. Concerning perception, the body defines the perception capabilities of the agent, the simplest example being a maximal field of view. It may also provide more refined perception methods, such as aggregate or “macroscopic” views of the agent (or real) environment. Hence, it both defines capabilities and limits, in a similar way to perception filters [24] or active perception [33].

This approach enables to define a mixed bottom up and top down approach of perception [13]: the classical perception methods, which are requests from the agent to the environment, are top-down, since they are driven by the agent, may be mixed with “awareness” filters, defining percepts that are perceived by the agents event if they do not request them [16, 25].

Another part of perception, from the point of view of the mind, is that of its own body through introspection. Since the agent body state is not decided by the agent, but only influenced by it, the body has to provide self-awareness methods for the agent to adapt to it. Hence, the layer provides observability for its owner agent, for both attributes, inner and outer methods.

Furthermore, it may provides alerts (in a bottom up style) if its state is modified by the environment to internal (dynamics) or external (environment or other agents interaction with it) influences.

Action Mediation. In the same way as perception, the body defines action capabilities of the agents, for example the set of actions it is able to achieve in the agent environment. These action methods are limited by the rules of the environment, and possible rules of this particular body, which may differ from one agent to another, in terms of action set, but also of accuracy, success rate, performance... This combines into an influence, that is then received by the environment for it to compute its reaction.

Since the agents actions are mediated by both its body and the environment, the result of its actions (or perceptions attempts) is not ensured. Hence, feedback methods are provided, in order for the agent to learn how its influences are met. These feedback are both those from the environment and those from the body, when the agent tries to modify its state.

These feedback may be processed online, for an agent to adapt to its action and perception results, or offline by the agent designer.

Life Cycle. As has been evoked in the previous sections, an agent may have one or more bodies in the different agent environments it participates in. Furthermore, the agent body may change at run-time, for example in modular robotics [34].

Hence, bodies are considered as a service of the agent environment. An agent may request one or more bodies from an environment in order to interact with it. Let us note that since bodies are embedded in the environment, the agent may not receive a body, or not one with the characteristics it requested.

Dynamics and Rules. The body must respect the laws of the agent environment. Furthermore, it may be embedded with a set of dynamics that correspond to the laws of the environment. For example, in [25], the agents are influenced by their neighbor’s emotion contagion, and each agent body has its own emotion dynamics.

This set of laws is enforced at run-time by the body, under the responsibility of the environment.

3.3 Example of Formalism: The Perception Process

In order to illustrate this definition, we propose a formalization of the perception process. This enables to show how the perception, or more generally the interactions between mind, body and environment, becomes a composition of successive processes managed by each component.

Equation 1 illustrates the four steps of perception for the body and agent i on the instant state of the environment \(\sigma _t\):

$$\begin{aligned} Perception_i(\sigma _t)&= Assimilation_i \circ Filter_i \circ Alter_i \circ Extract_i(\sigma _t) \nonumber \\&= Assimilation_i(Filter_i(Alter_i(Extract_i(\sigma _t)))) \\&= \varGamma _d^i \nonumber \end{aligned}$$
(1)

where the characteristics of an agent or more generally an entity, form the set \(\varGamma \). The first step is the raw extraction from the environment. For an agent \(ag_i\) in can be expressed as the function \(Extract_i\) detailed on (2).

$$\begin{aligned} \begin{array}{lrcl} Extract_i : &{} \Sigma \times \varGamma &{} \longrightarrow &{} \sigma \\ &{} \sigma _t, \varGamma _e^i &{} \longmapsto &{} E_t, E_t \subseteq \sigma _t \end{array} \end{aligned}$$
(2)

The second step is the alteration of the produced subset in the agent body. This alteration, for \(ag_i\) can be expressed as the function \(Alter_i\) detailed on equation (3) where \(\varXi _t\) is the altered subset. As a reminder, the produced subset may not be a subset of \(\sigma _t\).

$$\begin{aligned} \begin{array}{lrcl} Alter_i : &{} \Sigma \times \varGamma &{} \longrightarrow &{} \varXi \\ &{} E_t, \varGamma _e^i &{} \longmapsto &{} \varXi _t^i \end{array} \end{aligned}$$
(3)

The third step consists in filtering the provided subset depending on the request of the agent mind. This filtering can be expressed, for \(ag_i\), as the function \(Filter_i\) detailed on (4).

$$\begin{aligned} \begin{array}{lrcl} Filter_i : &{} \varXi \times \varGamma &{} \longrightarrow &{} \varXi \\ &{} \varXi _t^i, \varGamma _d^i &{} \longmapsto &{} \varXi _t^{i'} \end{array} \end{aligned}$$
(4)

Finally, the assimilation, for \(ag_i\), can be expressed as the function \(Assimilation_i\) detailed on (5).

$$\begin{aligned} \begin{array}{lrcl} Assimilation_i : &{} \varXi \times \varGamma &{} \longrightarrow &{} \varGamma \\ &{} \varXi _t^{i'}, \varGamma _d^i &{} \longmapsto &{} \varGamma _d^{i'} \end{array} \end{aligned}$$
(5)

4 Discussion

The definition of agent bodies and their responsibilities enumerated in the previous section present several advantages in terms of software engineering, flexibility, and cyber-physical systems.

From a Software Engineering point of view, since the environment controls the body, it may enforce rules regarding body dynamics in the case of several agent designers, thus acting as an electronic institution [4] in all aspects of agent interactions. Secondly, it enables to manage the design complexity by separating high-level decision from low-level (operational) mechanisms.

Concerning the flexibility in agent design, designing one mind that can be coupled with different bodies enables to manage body heterogeneity without changing the high-level decision process; for example in the case of multiagent simulation where a population of agents with different parameter sets coexist.

Finally, in cyber-physical systems were agents are immersed in both software and physical worlds, it enables to create agents that can be interfaced with physical or simulated worlds seamlessly, as long as the interface is consistent. This multiple interface may be done simultaneously or not, depending on the context.

The main limits of this approach are (i) that another component, the agent body, is added, and (ii) that the choice of where to divide mind/body/environment responsibilities is yet to be fully understood.

Concerning the first point, the functionalities have to be implemented in any case, so that their location is a design choice that does not add complexity.

Concerning the second point, we have proposed a division of functionalities in the previous section. This is a basis for further discussion about the location of each basic module to unify this view of a MAS architecture. However, the responsibilities may in certain cases be divided in other ways. For example, some authors have proposed to not separate body and mind processes, considering only interconnected modules [17] that make up the whole cognition. Although we also consider that both body and mind processes are components of the cognition, not separating nor defining the responsibilities of each fails to simplify the agent design from an architecture point of view.

5 Typology

Having defined the responsibilities of agent bodies, we then study how agents (or minds) and bodies relate, on two scales: cardinality and environment nature. Then, we propose examples for each type of subdivision.

5.1 Based on Cardinality

One possible typology of the relationship between body and mind in agents is the one given by the cardinality of such relationship:

  • 1 to 1: one body is related to one mind. So, an agent can be identified as a mind and its corresponding body. In this case, the transition between an integrated agent approach and a body/mind differentiation is straightforward, considering it as a decomposition of previous modules in order to improve modularity.

  • n to 1: n bodies are related to the same mind. As the body can be seen as interfaces to the environment, this case is related to one agent which is able to access in different ways to the environment (i.e. normal or supervisor modes; different bodies in a video-game kind of application, with different capabilities; an evolving body as in a modular robots) or to different environments. In this case, the mind has to be able to manage each body, considering each of those may have different capabilities in terms of action, perception and internal dynamics. A solution is to transparently merge these capabilities across the agent environments, as in [11].

  • 1 to n: 1 body controlled by n minds. This seemingly schizophrenic relation represents the use of a common vessel for different intentions. In this case, the body may be subject to contradictory influences, and must therefore either have a rights management system and an influence disambiguation mechanism to manage the different influences. It is quite similar to previous works on influence reaction mechanisms, which in this case must be implemented in the body itself.

5.2 Based on the Environment Nature

Another parallel classification of the agent’s body - mind relationship is the one according to environment nature, that is, according to the features that the body may have:

  • Physical: Either the environment is the true physical world (as could be if the body corresponds to a robot) or it is a simulated world (as in Second Life or World Of Warcraft). The body has some physical features such as shape, volume, position, ..., that also define the sensing and actuation that can be carried out by means of such body.

  • Non-Physical: The agent is not situated in a physical-related environment, but it may be related to a body seen as an interface it can be perceived and a that gives it some way of perceiving the environment. In a social network, it will be related to the agent’s profile.

It should be underlined here that this classification is parallel to the previous one. So, for instance, an agent’s mind could be controlling one or several robots, or to different social network’s profiles. We propose in Table 1 examples across both classifications.

Table 1. Examples

6 Modeling and Deployment Challenges

As we have mentioned earlier in this article, the realization of the mind/body paradigm is far from being an easy task. Let us acknowledge the risk that the Mind/Body paradigm could be counterproductive if the significance of both concepts is not rigorously established. In this section, we discuss the different challenges that have to be carried out in order to concretely take advantage of the distinction between the mind and body from a modeling and deployment perspective, and how they relate to previous challenges identified by the E4MAS workgroup.

6.1 Mastering the Body Concept

If the body is part of the environment, it means that the way we build an instance of an agent in a multi-agent system needs to be examined closely. This is related to the definition of the abstractions and concepts that may be used for defining an agent environment [12, 29] that has constituted one of the major challenges on the environment in MAS during the past 10 years. The introduction of the body concept raises the question: what is specific to the body and could be implemented regardless of the mind? To answer this critical question we suggest the following two tracks.

The Body is Part of the Environment. The fact that the body is part of the environment means that the former provides conditions for the body to exist. Furthermore, assuming that the body is an interface between the agent and its environment, we can also conclude that the environment embodies an important part of the capacities of agents, namely, those that allow the agent to act on its environment and to interact with other agents. Therefore the action model and the interaction model could be embedded within the environment regardless of agents’ Mind : agents are not driven by the environment, but it is clearly the environment that defines the means for their perception, action and interaction. We believe that this is a critical separation that has to be handled by designers at the very start of a MAS modeling process.

In [11], the authors argue for this responsibility separation. In particular, they note that this enables the agent environment to be independent from the agent design. The environment providing its means to interact with it (and through it with the other agents), the agent design is thus simplified, even in the case of multiple environments. We propose to take this idea one step further, including other aspects of software bodies such as dynamics and observability.

According to [31], suitable software architectures, and suitable architectural patterns and reference architectures for the agent environment must be defined. The previous separation principle participates to the building of a general software architecture for the agent environment. Figure 1 illustrates that the bodies are at the interface between the agent environment and the agents. The body-mind separation may also be a starting point for determining if general-purpose or special-purpose simulation environments for executing multi-agent simulations involving dynamic agent environments are needed, that was a challenge considered in [12]. In [5, 6], the authors consider two dimensions of the agent environment: the physical and communication dimensions. The body concept is used in the two dimensions (the physical body, and the Internet avatar) as the representations of the agents in these dimensions. This concept may be considered as a general abstraction, and may participate to the definition of a general-purpose simulation environment.

The Environment Holds its Own Dynamics. Another important aspect to account for is the notion of body tendencies. Since the environment is dynamic, the body, being part of the environment, inherits the dynamicity of this environment. Tendencies could be seen as a realization of this dynamicity and therefore implemented within agents’ bodies regardless of their mind. Tendencies could be considered as permanent : agents can cope with them, eventually influence them, but cannot erase them. An important challenge from a modeling perspective could be therefore to define the different type of bodies’ tendencies that are relevant for the agent behaviour and how the agent cope with it. Previous works (e.g. [11, 31] propose to use an ontology of the environment, a part of which should concern (and be embedded in) the agent bodies to increase the environment openness to heterogeneous agents [32].

6.2 Mastering the Mind Concept

As with the body concept in the previous section, the following question could be raised concerning the mind concept : what is specific to the mind and could be implemented regardless of the body? We suggest the following tracks to shape the discussion.

Activities Specific to the Mind. With the introduction of the body concept, it is legitimate to consider the activity of the mind specifically. It seems natural to assume that the proper of the mind is concepts (symbol) manipulation and reasoning. Those activities are ruled by constraints, different from that of the body, that could be native or acquired from the experience. Rigorously speaking, the mind life cycle does not depend on that of the body, both entity evolving in parallel. Hence, their respective activities could be implemented separately. Anyway, the mind experience proceed from the evolution of the body in the environment, so feedbacks from the evolution of the body to the mind have to be clearly established by the designer.

One of the responsibilities of the environment is ensuring the locality of the perception and of the actions [32]. The body participates to the solving of this challenge by providing sensors that are defined or constrained by geometries. For example, the view perception may be supported by a camera in the real world [8], or by a geometrical shape in a simulated environment [7]. In this last case, the shape of the field-of-view is defined by geometrical elements that have a position relative to the position of the agent’s body in the physical environment. On the one hand, this definition ensures a local perception for the agents. On the other hand, the actions are local since they are always related to an object in the environment such as moving the object or doing an action on it.

Connexion Between the Mind and the Body. We believe that one of the biggest challenge is to instantiate the link between the Mind and the Body, since both entities are implemented separately. The mind activity is different by nature with that of the body, but they are strongly coupled.

Several works are already proposed in the literature for defining the connexion between the mind and the body. For example, the influence/reaction [14] model models the joint actions of the actions. Another example is the model of smart objects [27] that defines how the agents obtain the possible actions in the environment. These approaches constitute answers for the handling of the interferences between the agents’ actions that constitute one of the research challenges related to the environment in MAS [12].

To properly apprehend the coupling, at least three types of knowledge have to be considered: (i) knowledge of the agent about the capacities of its body, (ii) knowledge of the agent about the consequences of its actions on the integrity of its body only, (iii) knowledge about the consequences of its actions on the environment in general (beyond the agent’s body). The dynamics of these three types of knowledge need to be addressed early in the design.

6.3 Supporting the Body in the Engineering of the Agent Environment

One of the past 10-years research challenges concerned the difference between the agent environment and the agents that inhabit it [32]. The distinctions that were highlighted (activity vs proactivity, maintenance-driven behaviour vs goal-driven behaviour, dynamics embodiment vs reaction, observability vs opacity) clearly support the view of the body as an abstraction, or even service, of the environment.

Based on the principle that agents are autonomous entities, and that the environment is not autonomous and does not contain (in a software sense) autonomous entities, the question of defining what is an agent and what is not has arisen. In our view, every entity that exists in the agent environment and is perceivable by agents is a component of this environment: a body represents one or more agent(s) in the agent environment. The agents become therefore the autonomous entities that control the bodies. They are able to perceive and act in the agent environment through their bodies.

Another research challenge is related to the need of a specific language for describing the agent environment, including its structural and dynamical features [12]. Artifact [18] and CArtAgO [22] may be considered for proposing a language that is able to describe the bodies and their dynamics, for instance. They provides programming languages for describing the artifacts inside the agent environment that may be used for defining a programming language that has keywords dedicated to the body concept.

The introduction of agent bodies does not solve the architectural issues in effectively engineering environments [31], however it can serve –once properly defined– as an architectural building element and pattern for agent-environment interactions.

7 Conclusions

The interface between agent and environment has given rise to a number of different proposals in the multiagent systems literature. This paper has argued that this interface can be reified through the concept of agent body, and that it answers partially to previous research challenges for agent environments, such as perception and action local management, local dynamics and rules, and multiple environments management. We have discussed the main questions raised by the adoption of this new abstraction: the localization of the interface between agent and body, the definition of body properties and processes, the cardinality of agent/body relationships, and the relations of the bodies with different kinds of environment.

To take advantage of the Mind/Body paradigm, we have stressed that several aspect need to be considered early in the modeling process. They are organized into three main issues: (i) Body-specific, (ii) Mind-specific, (iii) Body/Mind interface. These considerations give an overview of the challenges raised by the Mind/Body paradigm from a modeling and deployment perspective.

In order to mainstream this paradigm, the next step is therefore the integration of the body and environment components in agent-oriented methodologies and in agent-oriented platforms. The heterogeneity of previous related works does not allow to draw methodological guidelines for the design of this component, hence calling for more work in this direction.

Finally, we have also given an informal definition of the agent body. Another challenge is then to propose a formal definition of the concept of body in order to propose an architectural building block for an agent environment unified model.