on the whole team, because of the existence of the
technique satisfaction degree of the plan which sim-
plify the choice of the most satisfactory plan alterna-
tive. When the architecture is applied to multi-robot
system RARM, there are several important functions
that have been performed. The associated issues are
planning and intelligent decision making.
5 DISTRIBUTED TASK
ALLOCATION APPROACH
5.1 Problem Definition
We describe in this section the social task allocation
problem which can be defined as an agent not ade-
quate to complete a task by itself and it needs the
cooperation from other agents to achieve an action or
service. We denote A = {a
1
,..., a
m
} a set of agents,
that require resources to achieve tasks; and we denote
R = {r
1
,..., r
k
} a set of resources types available to A.
Each agent a ∈ A controls a fixed quantity of resour-
ces for each resource type in R, which is defined by
a resource function: rsc : A × R → N. Moreover, we
assume agents are connected by a social network as
discussed before in (Ben Noureddine et al., 2017).
Definition 1 (Social Network). An agent social net-
work SN = (A, AE) is an undirected graph, where A
is a set of agents and AE is a set of edges connecting
two agents a
i
and a
j
significant that it exists a social
connection between these two agents.
We define T = {t
1
, t
2
,..., t
n
} a set of needed tasks
at such an agent social network. Each task t ∈ T is
then defined by a 3-tuple {u(t), rsc(t), loc(t)}, where
u(t) is the utility gained if task t is accomplished, rsc:
T × R → N is the resource function that specifies the
amount of resources required for the accomplishment
of task t and loc: T → A is the location function that
defines the locations (i.e., agents) at which the tasks
arrive in the social network. An agent a is the location
of a task t, i.e. loc(t) = a, is called this task manager.
Each task t ∈ T needs some specific resources from
the agents to complete the task. A task allocation is
defined as the exact assignment of tasks to agents.
A task plan of agent consists of a list of actions to
be taken in order. Each action is an attempt to acquire
a particular resource, by asking the agent associated
with that resource for permission to use the resource.
A task agent builds a plan by maximizing the satis-
faction degree described in the section 4. At each
timestep, a task agent performs the action presently
prescribed by its plan. It does this by contacting the
agent associated with the targeted resource, and as-
king it whether it may take the resource.
Definition 2 (Multi-agent Planning Problem). We
denote π a plan which is described by a 5-tuple
{T, P(t), E(t), G, µ
t
}, where T is a set of tasks as men-
tioned above, P(t) is the set of action (task) precondi-
tions, E(t) is the set of task effects, G is the problem
goal and µ
t
the satisfaction degree of a multi-agent
flexible planning problem introduced in section 4.
Definition 3. Each agent a ∈ A is composed of 4-tuple
{AgentID(a), Neig(a), Resource(a), State(a) }, where
AgentID(a) is the identity of agent a, Neig(a) is a set
indicating the neighbors of agent a, Resource(a) is
the resource which agent a contains, and State(a) de-
monstrates the state of agent which will be described
in the following subsection.
Definition 4 (Task Allocation). We consider a set of
tasks T = {t
1
, t
2
,..., t
n
}, a set of agents A = {a
1
,..., a
m
},
a set of plans π = {π
1
,..., π
m
}, and a set of resources R
= {r
1
,..., r
k
} in a social network SN, a task allocation
is a mapping φ : T × A × R × π → SN.
5.2 The Principle of Distributed Task
Allocation
To guarantee a coherent behavior of the whole distri-
buted system, we define the following idea: we sup-
pose that Neig(a
i
) stores only directly linked neig-
hboring agents of agent a
i
where at each timestep,
these task neighboring agents perform the action pre-
sently prescribed by their most satisfying tasks. The
task neighboring agents do this by contacting the
agent associated with the targeted resource, and as-
king it whether it may take the resource.
To control system in our multi-agent architecture,
we introduce three types of agents like in (Ben Nou-
reddine et al., 2017): Manager is the agent which re-
quests help for its task, the agent which accepts and
performs the announced task is called Participant and
Mediator is the agent that receives another agent’s
commitments for assistance to find participants.
We propose a software multi-agent architecture
to handle distributed task allocation. To guaran-
tee a coherent behavior of the whole distributed sy-
stem, we define the following idea: we suppose
that Neig(a
i
) stores only directly linked neighboring
agents of agent a
i
.
We define as in (Ben Noureddine et al., 2017)
three states States = {Busy, Committed, Idle} in a
complex adaptive system and an agent can be only in
one of the three states at any timestep. When an agent
is a Manager or Participant, the state of that agent is
Busy. When an agent is a Mediator, the agent is in
Committed state. An agent in Idle state is available
and not assigned or committed to any task.
ICSOFT 2018 - 13th International Conference on Software Technologies
454