lines of the projects with each client since the pla-
nning is very important to the success or failure of the
project. The resources management is crucial since
the concurrent projects compete for the resources
existing within the company. To reach a solution, they
have to achieve an agreement ensuring their interests
and giving in some cases. Each project has its own
contract with client established by the business rules,
where time delay and final cost of the project are re-
lated.
The structure of the paper is as follows: Sec-
tion 2 includes some relevant proposals. Section 3
presents some basic concepts related to DisCSP and
its Asynchronous Backtracking Algorithm. Section
4 describes how the algorithms for DisCSPs can be
adapted to our problem. Section 5 shows an example
of combination of Web Services and describes how
our proposal is applied to the example. Section 6
depicts the experimental results. Finally conclusions
and future work are presented.
2 RELATED WORKS
The graphical Standard for modeling business pro-
cesses is Business Process Modeling Notation
(BPMN) proposed by OMG. However, BPMN stan-
dard is not powerful enough since, among other is-
sues, there is an important need of many adaptive pro-
cesses for concurrentactivities to respect coordination
constraints. These require that concurrent activities
coordinate their behaviors in response to exogenous
events. In order to represent the choreography of the
processes in a business process, several graphical lan-
guages have been developed. The most important is
the standard BMPN (Weske, 2007), that can be used
for large number of problems (Wolter and Schaad,
2007).
3 DISTRIBUTED CONSTRAINT
SATISFACTION PROBLEM
In (Yokoo and Hirayama, 2000), Makoto et al. pre-
sented a Distributed Constraint Satisfaction Problem
(DisCSP) as a general formalism for dealing with
problems in multi-agent systems. A DisCSP is a
CSP where the set of variables and constraints of
the problem are distributed between a set of agents.
These agents are in charge to solve their own sub-
problem and must coordinate themselves with the rest
of agents to reach a solution to the global problem
(Abril L´opez et al., 2007).
In order to improve the time to find the best so-
lution, the paper of Redouane Ezzahir et al. (Ezza-
hir et al., 2008) proposes algorithms for solving Dis-
tributed Constraint Optimization Problems (DCOP).
3.1 Backtracking Algorithms to Solve
DisCSPs
There are different proposals to model and solve
DisCSP:
Centralized Backtracking selects a leader agent
among all agents who gather all the information about
variables, their domains, and their constraints (Yokoo
and Hirayama, 2000). If the knowledge about the pro-
blem can be gathered into a single agent, this agent
can solve the problem alone by means of the use of
normal centralized constraint satisfaction algorithms.
Asynchronous algorithms are characterized by the
fact that all agents are active in parallel and only coor-
dinate as needed to ensure consistency if their varia-
bles are involved in the constraints.
In Asynchronous Backtracking (ABT), the prio-
rity order of variables/agents is determined, and each
agent communicates its tentative value assignment
to its neighboring agent via ’ok?’ messages. Each
agent maintains the current value assignment of other
agents from its viewpoint. An agent changes its
assignment if its current value assignment is not con-
sistent with the assignment of higher priority agents.
If there exists no value that is consistent with the
higher priority agents, the agent generates a newcons-
traint (called a nogood), and communicates the no-
good to a higher priority agent, thus the higher prio-
rity agent changes its value making backtracking.
In (Yokoo and Hirayama, 2000) the soundness,
completeness and termination of ABT algorithm is
proved.
3.1.1 Heuristics for Variable Ordering
There are different forms to order the variables to es-
tablish the priority: (a) The highest priority is assig-
ned to the variable that participates in more cons-
traints, called variable degree. There are different
possibilities to establish the next highest priority va-
riable: (a.1) The next variable that participates in
more constraints, without considering the agent who
it belongs to. (a.2) The next variable that participates
in more constraints and belongs to the same agent that
the first one. (b) The highest priority is assigned to
the variables that belong to the fastest agent. (c) The
priority is assigned according to the problem specifi-
cation.
USING DISTRIBUTED CSPs TO MODEL BUSINESS PROCESSES AGREEMENT IN SOFTWARE MULTIPROCESS
435