<!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>Validation and Verification of agent and multi-agent plans in dynamic environment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Said Brahimi</string-name>
          <email>brahimi.said@yahoo.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ramdane MAAMRI</string-name>
          <email>rmaamri@yahoo.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zaidi SAHNOUN</string-name>
          <email>sahnounz@yahoo.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Constantine</institution>
          <addr-line>2 Ali Mendjeli - BP : 67A, Constantine -</addr-line>
          <country country="DZ">Algeria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Guelma</institution>
          ,
          <addr-line>Algeria BP 24401, Guelma</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <fpage>2</fpage>
      <lpage>4</lpage>
      <abstract>
        <p>- In multi-agent systems evolving in complex and dynamic environments, the agents need to plan their tasks and to monitor its execution in order to deal with unpredictable situations. They must have plans that remain subject to continual updating, even during its execution. To cope with this issue, we proposed in previous works, SHPlNet, a model allowing to represent plans less sensitive to execution contexts, and to support run-time validation and verification. This paper aims to present a theoretical framework for the verification and validation of soundness and invalidity properties of partial hierarchical plans by analyzing their abstract level representation.</p>
      </abstract>
      <kwd-group>
        <kwd>- multi-agent plan verification and validation</kwd>
        <kwd>plans analysis</kwd>
        <kwd>dynamic planning</kwd>
        <kwd>planning and execution interleaving</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        In multi-agent systems, planning can allow
agents to reason about their actions and
interactions. In this context, plans can be used as
procedures for resolving specific problems.
Agents can be provided by plans as reusable
procedural knowledges enabling them to behave
in similar situations or conditions. Techniques
used in this context are based on case based
reasoning approach [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Furthermore, the plans
serve as a guide that can help the agent to
monitor its evolution in order to meet its goals
(means-end reasoning). They also serve as a
means for predicting future situations. Finally,
plans serve as a tool for coordinating and
monitoring activities for a set of agents [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. By
anticipating the actions of other agents, an agent
can adjust and adapt its plan to avoid harmful
behaviors and to benefit from the synergy of its
plan with those of others.
      </p>
      <p>In order to deal with the dynamics of complex
environments, planning and execution must be
interleaved. This is motivated by the following
requirements:</p>
      <p>To reduce the time between the deliberation
and the execution of actions to prevent these
actions from becoming obsolete at the time of
their execution;
To reduce the complexity of planning and
coordination by reducing the search space;
To have information about the execution
context through the execution of certain
fragments plans.</p>
      <p>
        To be able to succeed interleaving planning and
execution, the agents must be able to reason
about partially refined plans. They must be able
also to take the appropriate decision regarding
the initiation, suspension, repair, and the
execution resuming of certain fragments of plans
while continuing the execution of other's.
In previous works [
        <xref ref-type="bibr" rid="ref10 ref11">10,11</xref>
        ], we provided a
formalism called SHPlNet that allows to
represent hierarchical plans with multiple
abstraction levels, by extending the Petri net and
by taking advantage of HTN planning [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], CHiP
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and the modular analysis of Petri nets idea
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. SHPlNet can take into account the
representation of flexible plans, and offers the
necessary features allowing to monitor plans
evolution, to handle plans interaction and
interdependency, and to control resources
evolution at run time. Furthermore, SHPlNet can
allow a modular representation of plans. Firstly,
there is a clear distinction between the
abstraction levels of hierarchical plan. Secondly,
there is clear separation between tasks and
synchronization constraints. Within this aspect,
the analysis of plans can be done in a modular
way, and therefore, their updating may be
simplified. Note that the modular representation
of the plan can facilitate the revision of some
decisions of planning and coordination in order to
best meet the evolutionary aspect of the system.
These aspects are suitable to support the
interleaving of planning, execution, and
coordination.
      </p>
      <p>
        This paper aims to provide theoretical framework
for analyzing and verifying agent and multi-agent
plans at run-time. We explain and demonstrate
how to verify the soundness property of partial
plan by analyzing only its abstract level.
In fact, there are some key related works that
dealt with this question, like as [
        <xref ref-type="bibr" rid="ref12 ref13 ref2 ref5 ref6 ref8">8, 6, 2, 5,12,13</xref>
        ].
Recursive Petri net proposed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and extended
in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is a more expressive formalism to represent
hierarchical plans. The distinction between
abstract and primitive transitions and the firing
rules principles are all features enabling to verify
many properties of only complete plans. While its
power to express a wide range of agent plans,
the recursive Petri net suffers from the inability to
explicitly represent the interaction and
interdependence of concurrent tasks and its
inability to reason on abstract tasks.
      </p>
      <p>
        The work proposed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is based on the idea of
propagating the information about related
resources for each plan. This information is used
to verify some properties about the validity and
the quality of plan and to control its execution in
some context. They used formalism based on
the extension of timed automata. Similar to the
formalism used here [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], the hybrid automata
allows model-checking of important properties
like reachability, security, liveness, deadlock
absence… however, the plan s have one level of
abstraction and must be complete to be checked.
In [
        <xref ref-type="bibr" rid="ref12 ref13 ref2">12, 2, 13</xref>
        ] the authors provided a framework
for representing the plan based on the Petri net.
In these works, the plans are represented at one
level of abstraction. Like the previous works,
these approaches are not suitable to represent
and to check partial plans.
      </p>
      <p>The rest of this paper is structured as follows.
Section 2 outline the key properties related to
partial plans. In section 3, we present preliminary
formalism, HPlNet, (Hierarchical-Plan--Net) and
the underlying properties. In section 4, we
illustrate the representation of hierarchical plans
and its synchronization. We also explain and
demonstrate how to verify these plans. Finally,
we conclude our paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. AGENT AND</title>
      <p>REQUIREMENT</p>
    </sec>
    <sec id="sec-3">
      <title>MULTI-AGENT</title>
    </sec>
    <sec id="sec-4">
      <title>PLAN</title>
      <p>In multi-agent systems where the planning and
execution process are interleaved, agents must
be able to represent, verify (and validate), and
monitor partial plans at run-time. They must be
able to verify the following properties:
Soundness: soundness property denotes that
the plan:
- Must not contain dead tasks. It is generally
not important to incorporate unnecessary
tasks in a plan;
- Should not contain tasks that can be
performed more than once. Therefore, only
one instance of a plan requires at most one
instance for each task or decomposition
method; and
- Must be completely executed. It must be
correctly refined to ground and executable
plans. Its execution must not lead to blocking
situations.</p>
      <p>For multi-agent plan, the soundness property
denotes that there is no conflict between the
tasks of one or more individual plans
Flexibility: a flexible plan is a sound one that
can be refined to several (at least two) ground
plans. Therefore, its execution can be flexible.
Feasibility: a plan is feasible if it can be
executed correctly. A partial plan is called
feasible if it can be refined to at least one
executable and complete plan.</p>
      <p>Invalidity: a plan is invalid if it cannot be
executed correctly. A partial plan is called invalid
if it cannot be refined to any executable and
complete plan. For multi-agent plan, the
Invalidity property denotes that the plan contains
an unsolvable conflict between tasks (of one or
more individual plans).</p>
      <p>Agents that interleave planning and execution
must be able to identify and to verify these
properties in order to behave in an appropriate
manner and to take suitable decision about the
initiation, suspension, repair, and execution
resuming of certain (fragments of) plans while
continuing the execution of others.
3. SIMPLE HIERARCHICAL PLANS</p>
      <p>
        REPRESENTATION
In this section, we present the formalism used to
represent simple hierarchical plans where the
tasks are hierarchically organized. For more
detail about the hierarchical plan representation,
the reader can refer to [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>3.1. Hierarchical Tasks</title>
      <p>3.1.1.</p>
      <sec id="sec-5-1">
        <title>Hierarchical-Task-Petri-Net (HTPN)</title>
        <p>In this subsection, we provide a formalism, that
we call Hierarchical Plan net (HTPN), to
represent hierarchical plans based on extension
of Petri net. The key idea consists of defining a
tree-based structure. Each node in this tree is a
special Petri net representing totally and partially
ordered tasks networks. Formal definition of
HTPN is as follow.</p>
        <sec id="sec-5-1-1">
          <title>Definition 1 (HTPN).</title>
          <p>A Hierarchical-Task-Petri-Net (HTPN) is defined
by the tuple where
is a Petri net, and:</p>
          <p>is a finite set of transitions,
disjoint union of elementary and
abstract transitions . may be
empty;</p>
          <p>is a particular place representing the
source place ( );</p>
          <p>is a particular transition representing
the end transition ( );</p>
          <p>, is a finite set
of refinement rules for all abstract transitions
( ); each rule
associates to a transition a
refinement HTPN. denotes the set of all
rules can be used to refine the task ;</p>
          <p>is a Petri net to have either of the
following two structures:
- All transitions and places belong to a
single path from to , i.e.</p>
          <p>, , and</p>
          <p>. in this case,
is called
Sequential-Task</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>Petri-Net (Sequential-TaskPN) node</title>
        <p>- All transitions (except and ) belong to
parallel flows initiated by a fork transition f
(having a single entry place ), and should
be joined by the end-transition , i.e.
, ,
, the tasks are
connected to source place by a fork
transition . in this case,
is called
Parallel-Task</p>
      </sec>
      <sec id="sec-5-3">
        <title>Petri-Net (Parallel-TaskPN) node.</title>
        <p>A HTPN may be
considered as a tree of nodes. The root of this
tree is where and
, is highest-level task of . The
leaves of the tree are nodes where
( ). The intermediate nodes are
characterized by ( ). Abstract
transitions model abstract (or compound) tasks
and elementary transitions model atomic (or
elementary) tasks.</p>
        <p>As we explained above, the HTPN may be
viewed as a tree of nodes having TaskPN
structure. Hence, the state of HTPN must take
into consideration the marked places of these
nodes. The state of HTPN must also take into
account the refinement state of abstract tasks.
We hence extend the marking concept of
ordinary Petri net to define a marking that deals
with the characteristic of HTPN (definition 2).
Definition 2 (Extended marking of HTPN).
An extended marking of HTPN is defined by
the tree such that is the set of
node; each node is a tuple
such that is a node in ; ,
and ( denotes the
absence of tokens) is a marking function of
abstract transitions; is the root of tree; a
node is the child of in if and only if
such that
, and
One can note that:
- The tree structure of is implicitly defined, a
node is the child of in iff
such that ,
and .
- The initial extended marking is such that
where ,
, and is the initial marking
(where );
- The final marking, , is an empty tree (that
has no node), noted by .</p>
        <p>The extended marking of HTPN is considered as
a state indicating the activated nodes and the
state of each place and each abstract transition
in these nodes. A step between two marking
states
and
, denoted
by
a step
concerns the firing of elementary transition,
endtransition, or (selected) refinement-rule. The
firing will be possible only if the transition or the
refinement rule is enabled (Definition 3).
Definition 3 (Firing conditions in HTPN).</p>
      </sec>
      <sec id="sec-5-4">
        <title>Given an extended marking , a node in , is enabled in , denoted by , iff: ;</title>
        <p>In the definition 4, we formalize firing rules.
Definition 4 (Firing rules of HTPN).</p>
        <p>Let be an extended marking and be a node
in , the firing of a step leads to the
,
–
,
:
:</p>
        <p>and
and is child of by
:
The concept of extended marking, enabled
transition (or refinement rule), and firing rules in
HTPN allow to have explicit representation of
hierarchical task state and its evolution.</p>
      </sec>
      <sec id="sec-5-5">
        <title>3.1.2. Properties of HTPN</title>
        <p>We present some properties of HTPN,
especially the soundness property.</p>
        <p>Definition 5 (soundness of an HTPN).
An HTPN is sound iff:
- There are no dead transitions: all transitions
must be quasi-lives;
- Each step must not be fired more than once;
- Proper termination: for each state reachable
from the initial state , it is always possible to
reach the unique final state .</p>
      </sec>
      <sec id="sec-5-6">
        <title>Theorem 1. Each HTPN is sound.</title>
        <p>Proof. Pursuant to finite (the finite number of
nodes component) character of the tree
representing the HTPN, the absence of
recursion, and soundness of nodes (because
they have a structure TaskPN), for
demonstrating the three conditions cited in the
definition 5 (about the soundness of a HTPN) it
suffices to prove that: a) the firing of each
transition in each node is always possible; and
b) each transition in each node must not be fired
more than once. By its simplified structure, it is
very easy to prove that TaskPN is sound. So is
the case for nodes of a HTPN, because each
node has a control structure of a TaskPN. On
the other hand, the choice of the refinement-rule
to use did not depend on the marking; it just
depends on whether the transition to refine is
enabled. The firing condition of this transition
depends only on the marking of active node
marking where this transition is located. ∎
The soundness property implies that the number
of accessible states of a HTPN is bounded.
Therefore, the reachable extended markings
graph is also bounded. It indicates also that all
paths in the reachable graph lead to a single
final state. Each path contains the refinement
rules and elementary transitions (including end
and fork transitions) to select in order to perform
the task , the highest level of abstraction.
Among these transitions or refinement rules
appearing in the reachable graph, we want to
distinguish between two types of transitions:
Definition 6 (Necessary and Eventual
transition).</p>
      </sec>
      <sec id="sec-5-7">
        <title>Let be a market HTPN and transition in . is: Formally:</title>
        <p>- Necessary Transition iff must be fired to
reach some final state, whatever path to take.
;
- Eventual transition, iff can be fired to reach
a final state. Formally:
be a</p>
        <p>and
Necessary transitions correspond to the tasks
that must be performed to accomplish the task
of a plan. However, Eventual transitions
correspond to the tasks that may be performed
to accomplish the task of a plan.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>3.2. Hierarchical Plan</title>
      <sec id="sec-6-1">
        <title>3.2.1. Hierarchical-Plan-Net (HPlNet)</title>
        <p>We provide a formalism, that we call
Hierarchical-Plan-Net (HPlNet), making an
As the case of HTPN, a step in HPlNet concerns
an elementary-transition, end-transition, or a
refinement-rule. However, the steps firing in
HPlNet must take into account the summary
information about the resources associated to
the transitions. The formalization of steps firing
in HPlNet is summarized by definition 9 and 10.
Definition 9 (Firing conditions in HPlNet).
Given an extended marking , a node
in , a step is enabled in , denoted
by</p>
        <sec id="sec-6-1-1">
          <title>Case 1:</title>
          <p>,
Case 2:
and
).
Definition 10 (Firing rules in HPlNet).
Let be an extended marking, be a
node in , the firing of a step leads to the
extended marking , denoted by
, such that:
extension of HTPN by adding information about
the resources to consume and to produce. The
formal definition is given below (definition 7).
Definition 7 (Hierarchical-Plan-Net).</p>
          <p>A Hierarchical-Plan-Net (HPlNet) is defined by
the tuple where:</p>
          <p>is HTPN where
and is the single abstract transition of the
highest level;</p>
          <p>is a function defining the
sets of the consumption and the production
associated to each transition.
where
is
resource name and represents the
lower ( or ) and the upper ( or )
quantity (number) of . is the set of all
resources.</p>
          <p>We denote by (resp. )
the set of the consumption and the production of
the task represented by , we can also write
. If is associated to
an elementary transition then . In this
case, we can represent by a simple value.
The end-transition and fork-transition are not
related to any resource. Hence, if is one of
these two kinds of transitions then</p>
          <p>. Graphically we omit the representation of
the empty sets related to the fork and
endtransitions.</p>
          <p>The state of HPlNet is represented by an
extended marking that inherits all features of
state representation of HTPN, and takes into
account the state of the available resources (that
we call execution context). Its formal definition is
as follows (definition 8).</p>
          <p>Definition 8 (Extended marking of HPlNet).
An extended marking of HPlNet
is defined by the tuple
where:
is
the</p>
          <p>The initial extended marking is defined by
, such that is the initial extended
marking of and is the
initial state of available resources. The final
extended marking is in which is an
empty tree (that has no node). The tuple
represents the marked HPlNet.
such that
and
We note that the only difference between the
firing rules in HTPN and HPlNet is the firing of
elementary transitions whose execution context
must be updated according to the amount of
resources to consume and produce.
3.2.2.</p>
        </sec>
      </sec>
      <sec id="sec-6-2">
        <title>Properties of HTPN</title>
        <p>If the soundness property of HTPN is ensured,
the soundness property of HPlNet is not
guaranteed. The soundness of a plan
represented by HPlNet depends exactly on the
availability of resources in the initial state (initial
context ). Therefore, the soundness
checking of an HPlNet is only limited to the
verification of quasi liveness property of all
transitions and proper termination criterion,
because the property on the absence of a
multiplicity of firing step is inherited from HTPN.
We note that the soundness of an HPlNet
relaxes the criterion of the uniqueness of the
sinks state in terms of the context, . This is
justified by the fact that the diversity of firing
sequence leads to the consumption and
production of different amounts of resources.</p>
      </sec>
      <sec id="sec-6-3">
        <title>Lemma 1. In marked HPlNet</title>
        <p>there is no step that can be fired more than
once.</p>
        <p>Proof. By contradiction, we assume that there is
(at least) a step that can be fired more than
once. Let a step such that:
there</p>
        <p>. If
can
.</p>
        <p>and
can be fired again then
be a state</p>
        <p>such that</p>
        <p>By
implies
definition,
then
Therefore,
that implies
, and consequently
cannot be fired more than once.∎
,
.
is</p>
      </sec>
      <sec id="sec-6-4">
        <title>Theorem 2. A marked HPlNet bounded.</title>
      </sec>
      <sec id="sec-6-5">
        <title>Proof. Direct consequence of the Lemma 1.∎</title>
        <p>The boundedness of HPlNet means that the
number of nodes in the marking tree is limited,
the places and abstract transitions in each node
are bounded, and the amount of each resource
in the context is limited. Boundedness of HPlNet
can help to analyze the plans represented by
HPlNet by exploiting their Reachability Graph.
Pursuant to the lemma 1, we may decide that
HPlNet is sound if it is quasi-live and proper
termination criterion is checked.</p>
        <p>In fact, there is dependence between these two
criteria. Each termination of HPlNet, that is not
proper, is termination when there are steps
(exactly transitions) which cannot be fired, i.e.
blocking.</p>
      </sec>
      <sec id="sec-6-6">
        <title>Lemma 2. The proper termination criterion of marked HPlNet holds if all its transitions are quasi-lives.</title>
        <p>Proof. To demonstrate that the proper
termination criterion of marked HPlNet
holds if it is quasi-live, we
proceed to assume that the proper termination
criterion did not hold and demonstrate that
HPlNet is not quasi-live. We assume that the
termination is not proper, then, there exists a
sink state reachable from the initial
state such that . By projecting HPlNet
on HTPN and according to the theorem 1, if
then there must be at least one firing
sequence (containing steps that have not
been fired) such that . Therefore, if the
state is sink then the sequence
must begin with an elementary transition that is
enabled vis-a-vis Tr, but not enabled
( ), so and then is a dead
transition, so HPlNet is not quasi-live. ∎
Theorem 3. A marked HPlNet
sound if all its transitions are quasi-lives.
is
Proof. Pursuant to the lemma 1, in each marked
steps cannot be fired more than
once. On the other hand, according to the
lemma 2, the proper termination holds if the
marked HPlNet is quasi-live. So marked HPlNet
is sound if it is quasi-live. ∎
The most simple and intuitive method to verify
that a marked HPlNet is sound,
i.e. is quasi-live, is to analyze the reachability
graph. This can be done by checking that each
transition or refinement rule belongs to a path
from the initial state , and leads to a
terminal and sink state .</p>
        <p>In this regard, we define (Definition 11) the
concepts of run, feasibility, flexibility, safe state,
and invalidity.</p>
        <p>Definition 11 (run, feasibility, flexibility and
safe state, invalidity).</p>
        <p>Let be a plan represented by an HPlNet and
be an initial execution context:
- A run for
(decisions)
is an enabled steps sequence
in , such that
;
- is executable in the context , or its
execution is feasible, iff there is at least a
run for it ;
- is flexible in the context iff it is sound
and have several runs (at least two) ;
- A state reachable from</p>
        <p>is safe-state iff there is steps sequence
such that</p>
        <p>is invalide in the the context
no run.
;
if it has
A run is a safe execution of an HPlNet. We note
that HPlNet is associated with a set of possible
runs. This is justified by the presence of several
refinement rules (for an abstract transition)
and/or by the presence of concurrent tasks that
can be triggered in a different order. The set of
possible runs correspond to all possible paths
between the initial extended marking and final
extended markings.</p>
        <p>The analysis of the plans by exploiting their
reachability graph is inappropriate because it
can cost the complexity of calculation. In
addition, it does not properly exploit the multiple
levels of abstraction characterizing HPlNet.
Plans analysis can be improved by using
summary information associated with the
abstract transitions. With this information, the
verification of certain key properties is possible
by analyzing highest level of abstraction of plans
only.</p>
        <p>By projecting on the analysis of executing plan,
we propose some properties on the proper
termination of its evolution. This concerns the
safe, possible, and impossible termination.
These properties are defined as follows.
Definition 12 (safe, possible, and impossible
proper Termination).</p>
        <p>Let be the current execution state of a
plan represented by an HPlNet. The proper
termination of the execution of in is:
- safe, iff the state is safe;
- Impossible, iff the available resources in
are not sufficient to complete all remaining
subtasks. The execution of never reaches
an final state:
;
- Possible, iff the reachability of a final state is
uncertain. According to a particular order of
steps firing, a final state may be reached :
and
.
4. HIERARCHICAL PLANS WITH</p>
        <p>
          SYNCHRONIZATION
4.1. HPlNet with synchronization (SHPlNet)
In this section, we present SHPlNet (Hierarchical
Plan Net with Synchronization), an extension of
HPlNet [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] that deals with the interaction
between tasks and plans.
        </p>
        <p>One can note that the execution of plans may
lead to critical situations due to the potential
conflict between the tasks sharing critical
resources. The conflict may occur between
tasks in an individual agent plan or between
tasks belonging to different agents' plans. To
address these conflicting situations, the tasks in
the plans must be synchronized and some
decomposition methods must be avoided. To be
able to represent plans taking into account the
synchronization between tasks, we extend
HPlNet by adding features allowing to impose an
execution order between parallel tasks, and to
avoid the activation of some refinement rules.
The idea is to add a separate module grouping
synchronization and inhibition constraints. We
use an ordinary Petri net, that we call
synchronization net, to represent this module.</p>
      </sec>
      <sec id="sec-6-7">
        <title>We call the new formalism Hierarchical-Plan-Net</title>
        <p>with Synchronization (SHPlNet), its formal
definition is as follows (definition 13).</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Definition 13 (SHPlNet).</title>
      <sec id="sec-7-1">
        <title>Hierarchical-Plan-Net with (SHPlNet) is defined where is HPlNet;</title>
      </sec>
      <sec id="sec-7-2">
        <title>Petri net such that</title>
        <p>either of the following structure:
by</p>
        <p>Synchronization
the tuple:</p>
        <p>is a
can have
such that where</p>
        <p>, to represent a
productionconsumption relationship to exchange
unites of the resource between two
necessary and concurrent tasks (a producer
and a consumer);
to represent a temporal order between two
necessary and concurrent tasks, and ;
- to represent an
inhibition of a refinement rule for an
abstract and necessary task t.
- Each transition defined in is a transition
or a refinement rule defined in HPlNet.</p>
        <p>The Petri net defined in the definition 13
constitutes a coordination module including
synchronization constraints that enforce an
execution order and ensure the exchange of
some quantities of resources between
concurrent tasks (explicit positive interaction). It
includes also constraints that enforce the
selection of one refinement rule.</p>
        <p>One can note that several causal relationships
can be related to the same resource that is
represented by a unique place. In order to
protect the amounts of resources to be
exchanged between different peers of transitions
(producers and consumers), we propose to add,
for each causal relationship, a second temporal
constraint between the same transitions (using
another place). This additional constraint allows
the producer task to notify the availability of
expected amount of resource to consumer task.
The state of plan represented by SHPlNet is
modeled by the extended marking of SHPlNet
(definition 14) that takes into account marking
state of synchronization net.</p>
        <p>Definition 14 (extended marking of SHPlNet).
such that:
An extended marking of SHPlNet
is defined by the tuple
is the extended marking of HPlNet</p>
        <p>; and
is a marking of ; the initial and the final
marking of is .</p>
        <p>The steps of SHPlNet are firing of an
elementary-transition, end-transition, or
refinement-rule. The definition 15 and 16 below
state respectively the firing condition and firing
rules.</p>
        <p>Definition 15 (firing condition in SHPlNet).
Given an extended marking
node in , a step
, a
is enabled in
(i)
(ii)
(iii)
, denoted by
;
;
.
In the definition 15, the condition (ii) states that
all possible steps appearing in cannot be
enabled if they are not enabled in . The
condition (iii) states that an abstract transition
appearing in cannot be refined if it is not
enabled in .</p>
        <p>Definition 16 (firing rules in SHPlNet).
Let be an extended marking, be a
node in , the firing of a step leads to the
extended marking , denoted by
, if and only iff:</p>
        <p>:
, and</p>
        <p>:
; and
:
; and
;
;
;
;
;
.</p>
        <p>and is child of by</p>
        <sec id="sec-7-2-1">
          <title>Case 1:</title>
          <p>Case 2:</p>
          <p>Case 3:
In the definition 16 the case 1 states that the
firing on an elementary transition appearing in
leads to its firing in . The case 2 states that the
firing of refinement rule of a transition that
appear in leads to the consumption of tokens.
The production of the tokens will be after the
firing of end transition of the node refining the
abstract transition (case 3).</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>4.2. Properties of a SHPlNet</title>
      <p>In the same way as a plan represented by
HPlNet, a plan represented by SHPlNet can be
analyzed from an abstract level. Based on the
summary information about the resources
associated to transitions, we can decide that the
proper termination of plan execution is sure,
possible, or impossible, provided that this plan is
cycles free. The cycles lead always to deadlock
state that prevents the execution of any task of
. We formally define the concept of cycle and
acyclic plan as follows.</p>
      <p>Definition 17 (Cycle in SHPlNet and Acyclic</p>
      <p>Plan).</p>
      <p>Let be
SHPlNet and , be two nodes in .
includes a cycle represented by</p>
      <p>, iff:
(i) for each
and
such that</p>
      <p>,
(ii) for each
such that
such that
, or
, or
and</p>
      <p>, or
and
.</p>
      <p>such that
, and</p>
      <p>is called acyclic iff it is cycles free.</p>
      <p>In the definition 18 we formulate the conditions
in which the proper termination of plan execution
will be sure, possible, or impossible
Definition 18 (Sure, Possible and Impossible
for Proper termination).</p>
      <p>Let be an execution state of a plan
. The proper termination of the execution (or
simply the execution termination) of is:
- Sure, iff is acyclic and
+,
- Impossible, iff is is cyclic or
,
- Possible, iff is acyclic and
and
a
A plan whose execution is impossible is a plan
that has no way to ensure the success of plan
execution. A plan whose the safe execution is
sure is a flexible plan. It can be executed
correctly regardless of the choice to be taken to
refine abstract transitions and the execution
order of concurrent tasks. Between these two
cases, the success of execution may be
possible in an uncertainty case. To address this
incertitude, the plan must be reorganized by
updating the synchronization net (block some
refinement rules and/or add some constraints on
the execution of tasks).</p>
    </sec>
    <sec id="sec-9">
      <title>Soundness of SHPlNet</title>
      <p>The consideration of concurrent tasks
synchronization leads to the redefinition of the
conditions under which a hierarchical plan is
sound. Establishing the temporal order
relationships and exchange of resources
between parallel tasks can lead to reduced
consumption of resources, which can lead
therefore to obtain a sound plan. However, it
leads to deadlock in cyclic plans.</p>
      <p>The verification of soundness property of a
SHPlNet is only limited to the verification of
quasi-liveness property of all transitions and
proper termination criterion, because the
property relative to the absence of multiple firing
of steps is inherited directly from HPlNet model.
Lemma 4. A marked SHPlNet
does not contain steps that
can be fired more than once.</p>
      <p>Proof. By contradiction, we assume that there is
(at least) a step that can be fired more than
once. Let be step such that
then</p>
      <p>and
. If</p>
      <p>there
. By definition
implies
can be fired again</p>
      <p>is
such that
and therefore
cannot be fired
Lemma 5. The proper termination criterion of
marked SHPlNet is verified
if it is quasi-live.</p>
      <p>Proof. To demonstrate that the proper
termination criterion of a SHPlNet is verified if it
is quasi-live, we assume that the proper
termination criterion of a SHPlNet is not verified
and demonstrate that it is not quasi-live. We
assume that the termination is not proper. Then,
there exists a sink state
reachable from the initial state such that .
By projecting SHPlNet on HTPN and pursuant to
the theorem 1, if then it must be at least
one firable sequence (including steps that are
not yet fired) such that . Thus, if
is sink state then the first step in
must be a transition which is enabled
vis-avis , but it is not vis-a-vis (or
); thus and
then is blocking transition. In conclusion,
SHPlNet is not quasi-Live. ∎</p>
    </sec>
    <sec id="sec-10">
      <title>Theorem</title>
      <p>4.</p>
      <p>A marked SHPlNet
is sound if it is quasi-live.</p>
      <p>Proof. Pursuant to the lemma 4, there is no
marked SHPlNet that can
contain steps to be fired more than once. On the
other hand, pursuant to the Lemma 5, proper
termination criterion is verified if a marked
SHPlNet is quasi-live. Therefore, the marked
SHPlNet is sound if it is
quasi-live. ∎
In the previous section, we showed how to verify
the soundness of a plan represented by HPlNet
by analyzing only the summary information
associated with the task of highest abstraction
level. The condition used for this is not sufficient
for the case of SHPlNet due to the possible
occurrence of the cycles causing deadlock
situations. Therefore, the absence of cycles in a
plan represented by SHPlNet is a necessary
condition for it to be sound.
5. CONCLUSION
The work presented in this paper complement
our previous works about the representation of
hierarchical plans with synchronization. We
presented here a theoretical framework for the
verification and validation of soundness and
invalidity properties of partial hierarchical plans
represented by SHPlNet. We are focused on the
demonstration of some key properties that allow
to verify the soundness and invalidity of plans by
only analyzing the summary information
than
. Thus,
Pursuant to the lemma 4, we can decide that
SHPlNet is sound if it is quasi-live and proper
termination criterion is verified. In fact, there is a
dependency between these two criteria. Each
termination of SHPlNet, that is not proper, is
termination when there are steps (exactly
transitions) which cannot be fired, i.e. blocking.
associated to the task of highest abstraction
level.</p>
      <p>Future work will focus on the analysis of the
computational complexity. We will show how the
summary information based analysis can reduce
the computational complexity compared to the
reachability graph analysis.
6. REFERENCES</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Aamodt</surname>
            , Agnar, and
            <given-names>Enric</given-names>
          </string-name>
          <string-name>
            <surname>Plaza</surname>
          </string-name>
          .
          <article-title>"Casebased reasoning: Foundational issues, methodological variations, and system approaches"</article-title>
          .
          <source>AI communications 7.1</source>
          (
          <year>1994</year>
          ):
          <fpage>39</fpage>
          -
          <lpage>59</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Linqin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yining</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zuchang</surname>
          </string-name>
          .
          <article-title>"Modeling and analyzing multiagent task plans for intelligent virtual training system using Petri nets"</article-title>
          .
          <source>Sixth World Congress on Intelligent Control and Automation</source>
          ,
          <year>2006</year>
          . The. Vol.
          <volume>1</volume>
          . IEEE,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B. J.</given-names>
            <surname>Clement</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. H.</given-names>
            <surname>Durfee</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Barrett</surname>
          </string-name>
          .
          <article-title>"Abstract reasoning for planning and coordination"</article-title>
          .
          <source>JOURNAL OF AI RESEARCH</source>
          ,
          <volume>28</volume>
          :
          <fpage>453</fpage>
          -
          <lpage>515</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>K.</given-names>
            <surname>Erol</surname>
          </string-name>
          .
          <article-title>Hierarchical Task Network Planning. Formalization, Analysis, and Implementation</article-title>
          .
          <source>PhD thesis</source>
          , College Park, MD, USA, UMI Order No.
          <source>GAX96-22054</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Fallah-Seghrouchni</surname>
            ,
            <given-names>A. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Irene</surname>
            Degirmenciyan-Cartault, and
            <given-names>Frédéric</given-names>
          </string-name>
          <string-name>
            <surname>Marc</surname>
          </string-name>
          .
          <article-title>"Modelling, control and validation of multiagent plans in dynamic context</article-title>
          .
          <source>"Autonomous Agents and Multiagent Systems</source>
          ,
          <year>2004</year>
          .
          <source>Proceedings of the Third International Joint Conference on. IEEE</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Haddad</surname>
            , Serge, and
            <given-names>Denis</given-names>
          </string-name>
          <string-name>
            <surname>Poitrenaud</surname>
          </string-name>
          .
          <article-title>"Recursive petri nets</article-title>
          .
          <source>" Acta Informatica44</source>
          .
          <fpage>7</fpage>
          -
          <issue>8</issue>
          :
          <fpage>463</fpage>
          -
          <lpage>508</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Pollack</surname>
          </string-name>
          .
          <article-title>"The uses of plans"</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>57</volume>
          (
          <issue>1</issue>
          ) :
          <fpage>43</fpage>
          -
          <lpage>68</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Seghrouchni</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>El Fallah</surname>
            , and
            <given-names>Serge</given-names>
          </string-name>
          <string-name>
            <surname>Haddad</surname>
          </string-name>
          .
          <article-title>"A recursive model for distributed planning</article-title>
          .
          <source>" Proceedings of the 2nd International Conference on Multi-Agent Systems</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Christensen</surname>
            , Søren, and
            <given-names>Laure</given-names>
          </string-name>
          <string-name>
            <surname>Petrucci</surname>
          </string-name>
          .
          <article-title>"Modular analysis of Petri nets."</article-title>
          <source>The computer journal 43</source>
          .3:
          <fpage>224</fpage>
          -
          <lpage>242</lpage>
          .
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Brahimi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Maamri</surname>
          </string-name>
          , &amp;
          <string-name>
            <given-names>Z.</given-names>
            <surname>Sahnoun</surname>
          </string-name>
          .
          <article-title>"Partially Centralized Hierarchical Plans Merging"</article-title>
          .
          <source>In Recent Developments in Computational Collective Intelligence</source>
          (pp.
          <fpage>59</fpage>
          -
          <lpage>68</lpage>
          ). Springer International Publishing,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Brahimi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Maamri</surname>
          </string-name>
          , &amp;
          <string-name>
            <given-names>Z.</given-names>
            <surname>Sahnoun</surname>
          </string-name>
          .
          <article-title>"Hierarchical Multi-Agent Plans Using Model-Based Petri Net"</article-title>
          .
          <source>International Journal of Agent Technologies and Systems. (IJATS)</source>
          ,
          <volume>5</volume>
          (
          <issue>2</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>30</lpage>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Ziparo</surname>
            ,
            <given-names>Vittorio</given-names>
          </string-name>
          <string-name>
            <surname>Amos</surname>
            , and
            <given-names>Luca</given-names>
          </string-name>
          <string-name>
            <surname>Iocchi</surname>
          </string-name>
          .
          <article-title>"Petri net plans</article-title>
          .
          <source>" Proceedings of Fourth International Workshop on Modelling of Objects</source>
          , Components, and
          <string-name>
            <surname>Agents</surname>
          </string-name>
          .
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Shaw</surname>
            ,
            <given-names>P. H.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Bordini</surname>
            ,
            <given-names>R. H.</given-names>
          </string-name>
          "
          <article-title>Towards alternative approaches to reasoning about goals"</article-title>
          .
          <source>In Declarative Agent Languages and Technologies</source>
          V(pp.
          <fpage>104</fpage>
          -
          <lpage>121</lpage>
          ). Springer Berlin Heidelberg.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>