<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Negotiating Inter-Organisational Processes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Köhler-Bußmeier</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Hamburg, Department for Informatics Vogt-Kölln-Str.</institution>
          <addr-line>30, D-22527 Hamburg</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we develop a negotiation and contracting framework for inter-organisational workflows. The overall aim is to compute a group-plan from a given set of individual plans, where plans are formulated in the context of a given inter-organisational workflow between the agents. A general problem is that the individual plans are not consistent, i.e. the intersection of all individual plans does not contain a complete process, which leads from the initial state of the workflow to its final state. Therefore, negotiation is needed to obtain a compromise. In this paper we develop a generic negotiation protocol and use branching processes as the elementary data structure. The generic protocol is adapted within the specifics of our Sonar-framework. Sonar is a specification framework that defines the organisational structure of multi-agent systems. Sonar has a formal notion of teams and team-formation which is used here to instantiate the strategy parametres.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The paper studies the process of negotiation among self-interested agents in
the context of business-to-business scenarios. These negotiation processes play a
central role within distributed planning algorithms (cf. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for a survey). In this
paper we define a generic negotiation protocol together with appropriate data
types for handling partial plans.
      </p>
      <p>
        In our context, here especially our Sonar-framework (Self-Organising Net
Architecture) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], we have several organisational constructs that frame the
negotiation process. The Sonar-framework follows the organisation centred design
paradigm [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        One central construct are inter-organisational workflow nets [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The agent
interaction plan – that is the object of the negotiation process – is defined by a
workflow net, which generates the set of all partial plans.
      </p>
      <p>A first attempt to describe the partial plans that are the data during the
negotiation is to encode them as sets of action sequences (or more precisely: as
computational trees). Despite this is a very simple and lean approach it also
has several drawbacks since the plans describe the interaction of two or more
parties, so they are inherently concurrent. This has the consequence that there
is no lean way to formalise the intersection of partial plans: The set theoretic
intersection is not appropriate since due to concurrency different sequences may
describe the same processes and a set theoretic intersection would remove too
many elements. Analogously, also due to concurrency, there is no lean way of
defining the distance of two plans.</p>
      <p>
        We conclude that it is more natural to use partially ordered computations as
they allow to define intersections of plans. Petri net unfoldings [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] (also known as
branching processes [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]) are the natural candidate for partially ordered
computational trees. Typically, unfoldings lead to a compact behaviour representation
– when compared to sequential runs – since they abstract from any order of
concurrent events. A compact representation is essential since we use unfoldings
as the data format in the messages of our negotiation protocol.
      </p>
      <p>
        Unfoldings have been used for planning before (e.g. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]), but, to the best of
our knowledge, they have not been used as the data structure in multi-agent
negotiation and contracting.
      </p>
      <p>The paper has the following structure: Section 2 recalls basic notions on Petri
nets and branching processes. Section 3 defines a multi-party version of workflow
nets. Section 4 defines partial plans as the intersection of branching processes
and a negotiation protocol based on this formalisation. The work closes with a
discussion of related work and an outlook.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Petri Nets and Branching Processes</title>
      <p>In the following we give the basic definitions for branching processes. A branching
process represents the causality as well as the conflicts between occurring events.
The name unfolding is due to the fact that the process is unrolled by adding
the transition pattern again and again at the end. An example of a branching
process is given in Figure 1 ii), where the nodes are labelled with the original
places and transitions from the Petri net given in Figure 1 i).</p>
      <p>
        Petri Nets We recall basic definitions for Petri Nets [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. A Petri net N =
(P, T, F ) has a set of places P and a set of transitions T , which are disjoint,
i.e. P ∩ T = ∅, and a flow relation F ⊆ (P × T ∪ T × P ). Some commonly used
notations for Petri nets are •y for the preset and y• for the postset of a net
element y. A Petri net is finitely branching whenever the preset and the postset are
finite for each node. For notational convenience F also denotes the characteristic
function of the relation F , i.e. F : (P × T ∪ T × P ) → {0, 1}.
      </p>
      <p>A P/T net N = (P, T, F, M0) consists of a finite Petri net (P, T, F ) and the
multiset M0 : P → N which is the initial marking.</p>
      <p>
        A transition t ∈ T of a P/T net is enabled in the marking M iff enough
tokens are present: M (p) ≥ F (p, t) for all p ∈ P . The successor marking when
firing t is M ′(p) = (M (p) − F (p, t)) + F (t, p). We denote the enablement of t in
t t
marking M by M −→. Firing of t is denoted by M −→ M ′. The notation extends
to firing sequences w ∈ T ∗.
Occurrence Nets Petri net processes [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] are a recognised alternative for describing
the behaviour of Petri nets (instead of firing sequences).
      </p>
      <p>For a partial order ≤ on the set X we define the downward closure ↓ x :=
{y ∈ X | y ≤ x} and the upward closure ↑ x := {y ∈ X | y ≥ x}. The set
of minimal elements of Y ⊆ X wrt. ≤ is denoted by ◦Y , the set of maximal
elements by Y ◦.</p>
      <p>Since occurrence nets N = (B, E, F ) allow for forward branching it is possible
that two nodes x1 and x2 are in conflict which is the case whenever they are
successors of two conflicting events e1, e2 ∈ b•. This is formalised by the conflict
relation # which is a binary relation on B ∪ E:</p>
      <p>x1 # x2 ⇐⇒ ∃b ∈ B : ∃e1, e2 ∈ b• : e1 6= e2 ∧ e1F ∗x1 ∧ e2F ∗x2
Definition 1. A finitely branching Petri net N = (B, E, F ) is an occurrence net
iff (i) the &lt; := F + is acyclic, (ii) each node has only finitely many predecessors
(i.e. |↓ x| &lt; ∞ for all x ∈ B ∪ E holds), (iii) # is irreflexive, and (iv) each place
b ∈ B has at most one predecessor, i.e. |•b| ≤ 1 holds.</p>
      <sec id="sec-2-1">
        <title>An occurrence net is a causal net iff each place b ∈ B has at most one</title>
        <p>successor, |b•| ≤ 1 holds for all b ∈ B.</p>
        <p>It follows from |b•| ≤ 1 that causal nets are conflict-free: # = ∅.</p>
        <p>The relations li (line) and co (concurrent) are defined as li := ( &lt; ∪ &lt;−1
∪ id A) and co := ((B ∪ E)2 \ li ∪ id A), where id A = {(a, a) | a ∈ A} is the
identity relation. Note, that li and co are symmetric and reflexive relations.
Since # is irreflexive and symmetric for occurrence nets, # is reflexive and
symmetric. Let R ⊆ A × A be a symmetric and reflexive relation. A set K ⊆ A
is a clique with respect to R iff all pairs of its elements are in the relation, i.e. for
all x, y ∈ K we have x R y. A maximal clique is called a ken. For an occurrence
net a ken C with respect to ( li ∩ #) is called a line, while a ken with respect to
( co ∩ #) is called a cut. For causal nets lines are li -kens and cuts are co -kens
(since # = ∅). A cut C with C ⊆ B is called a place-cut, a cut C with C ⊆ E
is called a transition-cut.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Branching Processes A branching process (or; unfolding) of a P/T net N is</title>
        <p>defined as an occurrence net R together with a pair of mappings φ = (φP , φT ),
where φP : B → P and φT : E → T .</p>
        <p>The mapping φ has to preserve the localities of transitions: Using the multiset
extensions φP⊕ and φT⊕ this is expressed by the commutativity: φP⊕(•e) = •φT (e)
and φP⊕(e•) = φT (e)•, which is equivalent to: φP is an isomorphism between •e
and •φT (e) as well as between e• and φT (e)•.</p>
        <p>Definition 2. Let N = (P, T, F, M0) be a P/T net, R = (B, E, ⋖) an occurrence
net, and φ = (φP : B → P, φT : E → T ) a pair of mappings. Then (R, φ) is a
branching process of N if the following conditions hold:</p>
        <sec id="sec-2-2-1">
          <title>1. Representation of the initial marking M0 by the minimal elements ◦R of the</title>
          <p>run R: φP⊕(◦R) = M0, which implies ◦R ⊆ B.
2. Compatibility of φ with the localities: φP⊕(•e) = •φT (e) and φP⊕(e•) = φT (e)•.</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>A branching process (R, φ) is a process if R is a causal net.</title>
        <p>In the finite case, a process (R, φ) can be constructed from the possible firings,
i.e. the enablement of transitions, of the net N . The construction is defined
inductively for a process net, by adding transitions according to the enablement
condition of the net N . The starting point is given by the initial marking, which
defines a simple process without any transitions, but only a place for each token
in the initial marking.</p>
        <p>Full Branching Process/Unfolding There is one branching process, called the full
branching process U (N ), that contains all alternative events.</p>
        <p>To simplify the notion of a maximal unfolding we assume that the initial
marking M0 is a set.</p>
        <p>Definition 3. Let N = (P, T, F, M0) be a P/T net. The full branching process
U (N ) = (R, φ) is defined as follows:
– The occurrence net R = (B, E, ⋖) is given by the inductively defined sets
∞ ∞
B := Sk=0 Bk and E := Sk=0 Ek where</p>
        <p>B0 := {(p, ∅) | M0(p) &gt; 0} and E0 := ∅</p>
        <p>n−1 n
En+1 := {(t, U ) | Sk=0 Bk 6⊇ U ⊆ Sk=0 Bk ∧ U is conflict-free ∧ φ⊕(U ) = •t}
Bn+1 := {(p, {e}) | e = (t, U ) ∈ En+1 ∧ p ∈ t•}</p>
        <sec id="sec-2-3-1">
          <title>The flow ⋖ is given in the obvious way.</title>
          <p>– The mappings φ = (φP , φT ) are defined as the first projection: φP (p, X) = p
and φT (t, U ) = t.</p>
          <p>Note, that the unfolding gives canonical names to places and transitions.</p>
          <p>Note, that U (N ) is in general infinite even for net with finite state spaces since
cycles in the reachability graph of N lead to infinite long unfolding paths. Let
n
Un(N ) denote the finite subnet of U (N ) that contains the nodes Sk=0 Bk ∪ Ek.</p>
          <p>For finite branching processes it is well known that if the set C ⊆ B is
maximal independent wrt. the relation ( co ∩ #) (i.e. C is a place-cut) then
the multiset φP⊕(C) is a reachable marking. Analogously, if set C ⊆ E is
maximal independent (i.e. a transition cut) then φT⊕(C) is a a maximal multiset of
transitions that are concurrently enabled.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Inter-Organisational Workflows</title>
      <p>In this section we define the notions for workflow nets and branching processes
to define partial plans and group-plans.</p>
      <p>
        In the following we define an extension of workflow nets to model multi-party
interactions. Workflow Nets (WFN) [
        <xref ref-type="bibr" rid="ref10 ref4">4, 10</xref>
        ] are a well established framework for
modelling business processes. A WFN N has a unique initial starting place i and
a unique final place f and all nodes lie on paths between them (like in Fig. 2).
The canonical initial marking M0 of a WFN N has exactly one token on i, i.e.
M0 := {i}, the final marking is Mf := {f }.
      </p>
      <p>
        A workflow net is sound [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] if (i) the final marking is reachable from each
reachable marking; (ii) the final place is marked then all other places are
unmarked; (iii) for each transition t there is a reachable marking enabling t.
In a Distributed Workflow Net (Dwfn) each transition is assigned to a role
via a labelling r : T → Rol , where Rol is a set of roles. For places we assume that
whenever there are two transitions removing tokens from a place p then both
transitions belong to the same role: |r(p•)| ≤ 1, where we use r extended to
sets of transitions. Analogously for transitions adding tokens to the same place.
However, it is allowed that the role of a transition in the preset of p is different
from a transition in the postset (like e.g. p2 in Fig. 2). In this case the place
models a message exchange.
      </p>
      <p>Definition 4. A Dwfn is the tuple D = (P, T, F, r : T → Rol ), where (P, T, F )
is a WFN and for all p ∈ P we have |r(p•)| ≤ 1 and |r(•p)| ≤ 1.</p>
      <sec id="sec-3-1">
        <title>A Dwfn (P, T, F, r) is sound whenever (P, T, F ) is so.</title>
        <p>Partial Plans as Branching Processes of Dwfn
Essentially a partial plan of a Dwfn N is an occurrence net π such that all runs
lead to the final marking of the Dwfn N .</p>
        <p>Definition 5. The occurence net π = ((Bπ, Eπ, ⋖π), φπ) is a partial plan for
the Dwfn N = (P, T, F, r) of depth n iff the following holds:</p>
        <sec id="sec-3-1-1">
          <title>1. π is a branching process of N .</title>
          <p>2. π is a sub-net of the unfolding Un(N ) = ((B, E, ⋖), φ), i.e. we have Bπ ⊆ B,</p>
          <p>Eπ ⊆ E, ⋖π = ⋖ ∩ ((Bπ × Eπ) ∪ (Eπ × Bπ), and φπ = φ|(Bπ ∪ Eπ).</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>3. Each maximal place-cut C denotes the final marking {f }:</title>
          <p>∀C : C• = ∅ =⇒ φP⊕(C) = {f }</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>The set of all partial plans for the Dwfn N of depth n is denoted PPn(N ).</title>
        <p>We define PP(N ) := Sn∈N PPn(N ).</p>
        <p>If N is a sound workflow then we know that the final marking is always
reachable and therefore there is some n such that PPn(N ) is non-empty.</p>
        <p>The formalisation of partial plans as a partially ordered structure is an
essential issue. If one has used sequential computation trees instead, then one obtains
the problem that if two events a and b are concurrently enabled then one would
obtain the two branches ab and ba and it would be possible for one agent to
e.g. accept ab and reject ba during the local planning – despite the fact that
both describe the same interaction. This problem does not arise with branching
processes.</p>
        <p>Mutual Commitments in Partial Plans The multi-party structure of the workflow
net and its branching processes carries over to partial plans. Assume agent a
implements a certain role r in a Dwfn. Note, that a partial plan of a does not
includ events assigned to its role r, but also events assigned to other roles. This
describes the circumstance, that local planning is only practical whenever agent a
can rely on some assumptions about the future behaviour of other agents involved
in the interaction and makes some commitments to others as well. Therefore, a
team negotiation process has the function to establish commitments, i.e. promises
some agent makes to allow the planning of others.</p>
        <p>Commitments have a natural expression in our formalism: Assume that an
agent a implements the role ra in a Dwfn and the agent considers the partial
plan πa as relevant during his reasoning process.</p>
        <p>– If the event e belongs not to a itself (i.e. r(φ(e)) 6= ra) then a desires a
commitment from this other role (desired commitment).
– If the event e belongs to a itself (i.e. r(φ(e)) = ra) then a makes a
commitment to the other roles (granted commitment).</p>
        <p>We conclude, that branching processes of Dwfns, i.e. partial plans, are also
useful to formalise the standard coordination concept: commitment.
4.1</p>
        <p>
          Groups
In a multi-agent systems a task is implemented via teamwork, i.e. agents split the
task into smaller subtasks, assign them to other agents etc. The origin of such
approach lies in the contract net protocol [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. The splitting/delegation/assigning
process generates a group structure among the participating agents. We can
identify a group with a labelled directed tree (V, E, l : V → A), where the nodes
v ∈ V are labelled with agents. Note, that only the agents at the leaves of this
tree carry out the generated subtasks, while the inner nodes are managers, which
have splitted and delegated tasks. Note, that the same agent can occur in
different positions within a group, since it can delegate one task and implement
another one.
        </p>
        <p>Let A be the set of all agents and A ⊆ A the set of those agents that want to
establish a common plan. We represents groups G as nested sets: A group has
the form G = (a, {G1, . . . , Gn}), where a is the head of the group. Whenever
n = 0 the group is an atomic group, i.e. a implemets a task and a is from the
subset A; or n &gt; 0 and the agent a delegates tasks to the groups {G1, . . . , Gn}
and a is from the whole set of agents A. Note, that the head does not have to be
in A, since it is not necessary that it participates in the team plan – whenever
the agent delegates it has only administrative functions.</p>
        <p>For a group G let G⋆ denote the set of immediate sub-groups {G1, . . . , Gn}.
The set of all sub-groups of a group G is defined recursively:</p>
        <p>Subgroups(G) := {G} ∪ [</p>
        <p>G′∈G⋆</p>
        <p>Subgroups(G′)
(1)
(2)
We denote the set of sub-groups with depth j as:</p>
        <p>Subgroupsj (G) := {G′ ∈ Subgroups(G) | depth(G′) = j}
where depth(G) := 1 + max{depth(G′) | G′ ∈ G⋆}.
4.2</p>
        <p>Common Partial Plans among a Group of Actors
In the following, we define the distance of a branching process to a partial plan.</p>
        <p>Assume we have a group G and the family (πg)g∈G⋆ of the group members’
plans that are all of the same depth n. We define the common view of the
group as the intersection T πg := Tg∈G⋆ πg, where the intersection of the nets
πg is defined component-wise. In this case we encounter the problem that the
intersection is not a partial plan in general. Therefore, we calculate the distance
between the intersection (πg)g∈G⋆ and a given partial plan π0. Without loss of
generality we assume that nodes of π0 = (B0, E0, ⋖0) are given in canonical
names of the unfolding Un(N ). In this case we calculate the distance as the
number of nodes that are “missing” in the individual partial plans:
x∈B0∪E0
d((πg)g∈G⋆ , π0) := X</p>
        <p>|G⋆| − |{g ∈ G⋆ | x ∈ Bg ∪ Eg}|
We define the set of all partial plans that are at most d steps away from (πg)g∈G⋆ :
(3)
(4)
(5)</p>
        <p>PPn N, (πg)g∈G⋆ , d := nπ ∈ PPn(N ) | d((πg)g∈G⋆ , π) ≤ do
Obviously, these sets of partial plans are monotonous in d:</p>
        <p>PPn(N, (πg)g∈G⋆ , d)
⊆</p>
        <p>PPn(N, (πg)g∈G⋆ , d + 1)
Usually, PPn(N, (πg)g∈G⋆ , d) = ∅ for small d. Especially, if the intersection
Tg∈G⋆ πg is not a partial plan, then PPn(N, (πg)g∈G, d) = ∅ for d = 0. If the
intersection T πg is already a partial plan, then it is in PPn(N, (πg)g∈G⋆ , d) for
d = 0 and – together with monotonicity – we obtain the following proposition.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Proposition 1. If the intersection Tg∈G⋆ πg is already a partial plan then</title>
        <p>PPn(N, (πg)g∈G⋆ , d) 6= ∅ for all d ≥ 0.</p>
        <p>A group-plan is a partial plan, that is very “close” to the intersection T πg.</p>
        <sec id="sec-3-3-1">
          <title>Definition 6. The minimal distance dG is the smallest d such that the set</title>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>PPn(N, (πg)g∈G⋆ , d) is non-empty.</title>
        <sec id="sec-3-4-1">
          <title>A group-plan πG is a partial-plan with minimal distance, i.e. a partial plan</title>
          <p>from the set PPn(N, (πg)g∈G⋆ , d), where d = dG.</p>
          <p>Note, that the definition of a group-plan πG from (πg)g∈G⋆ does not require
that all the roles of the Dwfn N are represented by agents within G, i.e. we allow
negotiation within a subset of all agents. For example assume that N describes
the interaction of the roles r1, r2, and r3. Then we can formalise a negotiation
between only two agents that implement r1 and r2. Their group-plan πG is a
partial-plan that is agreed only among r1 and r2 by mutual commitments, but
not by r3. Additionally, this group-plan formulates those commitments r1 and
r2 desire from r3.</p>
          <p>When N is a sound Dwfn, we can be sure that the final marking is reachable,
i.e. there exists an n such that PPn(N ) 6= ∅. Since we always obtain a partial
plan if we extend a sub-process till the final place f , we obtain the following
existence property.</p>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>Proposition 2. Let N be a sound Dwfn. There exists some d and some n such</title>
        <p>that PPn(N, (πg)g∈G⋆ , d) 6= ∅.</p>
        <p>Example 1. The example in Figure 3 shows the group’s view on the group’s
plans (πg)g∈G⋆ , where G = (H, {(R, ∅), (S, ∅)}) that are constructed for the
Dwfn in Figure 2. We abbreviate the roles Requester and Supplier as R and</p>
        <p>Fig. 3. The Group’s Partial Plans
S, respectively. The set of agents executing tasks, i.e. implementing roles, is
αA(G) = {R, S}. The agent H is an “inner” agent, that has delegated only.</p>
        <p>To illustrate the family (πg)g∈G⋆ we label each node x in Fig. 3 with the
set of agents/roles that have x in their partial plans (here: {}, {R}, {S}, or
{R, S}). The inscriptions of the form #n describe the costs to add the node to
the common plan.</p>
        <p>Note, that if we restrict the plan to those nodes which are common for all
agents, then we obtain the intersection Tg∈G⋆ πg. In this example the intersection
is a branching process, but not a partial plan, since no final node f is labelled
with A = {R, S}.</p>
        <p>We oberserve that there is no partial plan within a distance less than 4.
Within the distance d = 4 there is a partial plan which is obtained by adding
the agent R = Requester to the nodes in the shaded area. (There is another
partial plan for d = 4 that we obtain if we add the agent Supplier to the nodes
right/below the shaded area.)
4.3</p>
        <p>Negotiation of a Group-Plan
The mathematical notion of the set of all partial plans within at most d steps,
i.e. PPn(N, (πg)g∈G⋆ , d), is used in to define a distributed negotiation protocol.
In the following we sketch our protocol underlying the negotiating process. The
aim of negotiation is to construct a group-plan πG0 for the whole group G0.</p>
        <p>Assume we have an initial value n for the the depth of the unfolding. The
main idea is that we start with individual partial plans for each agent a, which
is the smallest group of the form G = (a, ∅), i.e. a sub-group of depth = 1. We
assume that each individual agent a has a plan πGn for each planning depth n.</p>
        <p>In the protocol we go through several rounds: The negotiation protocol
enumerates all tuples (n, d) by a certain strategy σ1, i.e. σ1 : N → N × N is a
bijection. In each round (n, d) we increase the depth j of the sub-group G,
until we generate a compromise for G0 or there is no compromise for the current
round. If there is no compromise, we step to the next round (n′, d′).</p>
        <p>Since the parameter d denotes the freedom of the negotiation process to
deviate from the local plans, it is likely that negotiation must fail for the first
rounds, i.e. negotiation fails and the next (n, d) is enumerated. After some rounds
we extend either extend the depth n of the unfolding or the distance d . Therefore,
it is more likely that negotiation succeeds in this round.</p>
        <p>Due to Prop. 2, we have PPn(N, (πg)g∈G⋆ , d) 6= ∅ for some d and some n,
which guarantees termination of the protocol.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work and Outlook</title>
      <p>In this paper we formalised a generic negotiation and contracting framework
for inter-organisational workflows. The protocol is generic as it allows different
strategies for generating sub-groups and generating compromises within a certain
distance from the group’s plans. As a very useful property we obtain the result
that the protocol terminates for all possible choices of those strategies.</p>
      <p>
        We have shown that branching processes are a very useful data structure to
express the central concepts of negotiation, like partiality of plans, intersection
of partial plans, and distance of partial plans and compromises. The protocol is
used as a part of our Mulan4Sonar [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] system, which is the execution engine
for our Sonar-framework [
        <xref ref-type="bibr" rid="ref15 ref2">2, 15</xref>
        ]. Mulan4Sonar is based on our multi-agent
engine Mulan [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] which is based on Hornets [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and Renew [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Sonar
defines a formal organisation model and provides a generic infrastructure for
team processes. Each Sonar-model defines the team-formation and introduces
the set of possible sub-teams needed in the protocol in an lean way (cf. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]).
      </p>
      <p>
        Our context of negotiation in business-to-business scenarios has several
aspects in common with standard algorithms in multi-agent systems, but is
different at the same. For a survey on distributed problem solving and
planning (cf. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]). Oversimplifying things a little, one can say that standard
planning algorithms in multi-agent systems, like the partial global planning (PGP)
protocol, are based on the micro-perspective, i.e. the individual plans arise
from the mental status of the agents. Contrary, business-oriented scenarios are
based on the macro-perspective, i.e. we have organisational structures, like
interorganisational workflows, which underly the distributed planning. Both
perspectives are closely related, but of course they give a certain bias to the approaches.
      </p>
      <p>
        We give a short comparision of our approach and the PGP protocol [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The
PGP protocol tries to identify individual goals that are partially consistent with
the global goal, e.g. as sub-goals. Then it is tried to integrate those local plan
that are designed for these sub-goals. PGP tries to remove redundant actions
and reorders the plan steps. Then the communication is planned to coordinate
the execution. This protocol is well suited for loosely coupled agents. On avery
level, this makes PGP an a-posteriori approach, where the agents plan locally
and the coordination primitives are added later on.
      </p>
      <p>On the contrary, the protocol we propose here is designed for agents that
act within an organisational setting following the organisation centred design
metaphor. Here, we have a predefined organisational structure, which manifests
e.g. in distributed workflow nets. At least at the abstract level of interaction the
workflow clearly defines the possible interactions.</p>
      <p>Therefore we have choosen an a-piori approach, where the coordination
primitives as defined in the workflow are considered first and later on the individual
preferences are added and aligned via negotiation. To the best of our
knowledge, our negotiation approach in combination with unfoldings is novel in the
literature.</p>
      <p>For future work it is planned to implement another variant of the negation
process, where we consider refinement of workflows also. During the teamwork
it is allowed to refine the subtaks, i.e. replace a role component by a refined one.
The generation generates a hierarch of workflow refinements. The negotiation
should then start a negotiation process for the most abstract workflow. When
a compromise is reached, it starts a negotiation process for the next workflow
refinement with the constraint that the group-plan for the refined workflow has
to be a refinement of the abstract group-plan. This process is iterated until an
agreement is achived for the finest workflow. In this scenario we rely on on Dwfn
with an restricted set of refinement operations which carry over to the unfolding
such that we can refine partial-plans during the negotiation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Weiß</surname>
          </string-name>
          , G., ed.:
          <article-title>Multiagent systems: A modern approach to Distributed Artificial Intelligence</article-title>
          . MIT Press (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Köhler-Bußmeier</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wester-Ebbinghaus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moldt</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A formal model for organisational structures behind process-aware information systems</article-title>
          .
          <source>Transactions on Petri Nets and Other Models of Concurrency</source>
          .
          <volume>5460</volume>
          (
          <year>2009</year>
          )
          <fpage>98</fpage>
          -
          <lpage>114</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dignum</surname>
          </string-name>
          , V., ed.:
          <source>Handbook of Research on Multi-Agent Systems: Semantics and Dynamics of Organizational Models. IGI Global</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Aalst</surname>
          </string-name>
          , W.v.d.:
          <article-title>Interorganizational workflows: An approach based on message sequence charts and Petri nets</article-title>
          .
          <source>Systems Analysis - Modelling - Simulation</source>
          <volume>34</volume>
          (
          <year>1999</year>
          )
          <fpage>335</fpage>
          -
          <lpage>367</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Esparza</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heljanko</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Unfoldings - A Partial-Order Approach</surname>
          </string-name>
          to Model Checking. Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Engelfriet</surname>
          </string-name>
          , J.:
          <article-title>Branching processes of Petri nets</article-title>
          .
          <source>Acta Informatica</source>
          <volume>28</volume>
          (
          <year>1991</year>
          )
          <fpage>575</fpage>
          -
          <lpage>591</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hickmott</surname>
            ,
            <given-names>S.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rintanen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thiébaux</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>White</surname>
            ,
            <given-names>L.B.</given-names>
          </string-name>
          :
          <article-title>Planning via Petri net unfolding</article-title>
          . In Veloso, M.M., ed.:
          <source>IJCAI</source>
          (
          <year>2007</year>
          )
          <fpage>1904</fpage>
          -
          <lpage>1911</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rozenberg</surname>
          </string-name>
          , G., eds.
          <source>: Lectures on Petri Nets I: Basic Models. Volume 1491 of LNCS</source>
          , Springer (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Goltz</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>The non-sequential behaviour of Petri nets</article-title>
          .
          <source>Information and Control</source>
          <volume>57</volume>
          (
          <year>1983</year>
          )
          <fpage>125</fpage>
          -
          <lpage>147</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Massuthe</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stahl</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Multiparty Contracts: Agreeing and Implementing Interorganizational Processes</article-title>
          .
          <source>The Computer Journal</source>
          <volume>53</volume>
          (
          <year>2010</year>
          )
          <fpage>90</fpage>
          -
          <lpage>106</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Aalst</surname>
          </string-name>
          , W.v.d.:
          <article-title>Verification of workflow nets</article-title>
          . In Azeme, P.,
          <string-name>
            <surname>Balbo</surname>
          </string-name>
          , G., eds.
          <source>: ATPN'97. Volume 1248 of LNCS</source>
          , Springer (
          <year>1997</year>
          )
          <fpage>407</fpage>
          -
          <lpage>426</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>R.G.</given-names>
          </string-name>
          :
          <article-title>The contract net: A formalism for the control of distributed problem solving</article-title>
          .
          <source>IJCAI-77</source>
          . (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Grahlmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Best</surname>
          </string-name>
          , E.:
          <article-title>Pep - more than a Petri net tool</article-title>
          . In Margaria, T.,
          <string-name>
            <surname>Steffen</surname>
          </string-name>
          , B., eds.
          <source>: TACAS. Volume 1055 of LNCS</source>
          , Springer (
          <year>1996</year>
          )
          <fpage>397</fpage>
          -
          <lpage>401</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Köhler-Bußmeier</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wester-Ebbinghaus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moldt</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Generating executable MAS-prototypes from Sonar specifications</article-title>
          . In et al.,
          <string-name>
            <surname>M.D</surname>
          </string-name>
          .V., ed.:
          <source>COIN'10. Volume 6541 of LNAI</source>
          . (
          <year>2010</year>
          )
          <fpage>21</fpage>
          -
          <lpage>38</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Köhler</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A formal model of multi-agent organisations</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>79</volume>
          (
          <year>2007</year>
          )
          <fpage>415</fpage>
          -
          <lpage>430</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Cabac</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dörges</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rölke</surname>
          </string-name>
          , H.:
          <article-title>A monitoring toolset for Petri net-based agentoriented software engineering</article-title>
          . In Valk, R., van Hee, K.M., eds.
          <source>: ATPN'08. Volume 5062 of LNCS</source>
          , Springer (
          <year>2008</year>
          )
          <fpage>399</fpage>
          -
          <lpage>408</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Köhler-Bußmeier</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          : Hornets:
          <article-title>Nets within nets combined with net algebra</article-title>
          . In Wolf,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Franceschinis</surname>
          </string-name>
          , G., eds.
          <source>: ATPN'09. Volume 5606 of LNCS</source>
          , Springer (
          <year>2009</year>
          )
          <fpage>243</fpage>
          -
          <lpage>262</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Kummer</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wienberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duvigneau</surname>
          </string-name>
          , et al.
          <article-title>An extensible editor and simulation engine for Petri nets: Renew</article-title>
          . In Cortadella, J.,
          <string-name>
            <surname>Reisig</surname>
          </string-name>
          , W., eds.
          <source>: ATPN'04. Volume 3099 of LNCS</source>
          , Springer (
          <year>2004</year>
          )
          <fpage>484</fpage>
          -
          <lpage>493</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Durfee</surname>
            ,
            <given-names>E.H.</given-names>
          </string-name>
          :
          <article-title>Distributed problem solving and planning</article-title>
          . [
          <volume>1</volume>
          ]
          <fpage>425</fpage>
          -
          <lpage>458</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Lesser</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          et al.
          <article-title>Evolution of the GPGP/TAEMS Domain-Independent Coordination Framework</article-title>
          .
          <article-title>Autonomous Agents and Multi-Agent Systems 9 (</article-title>
          <year>2004</year>
          )
          <fpage>87</fpage>
          -
          <lpage>143</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>