(define (problem travelCompany)
(:domain ConDec)
(:objects Receive... - act Secretary BookManager - role
S BM1 BM2 - res)
(:init (= (n-times-receive) 0)...(= (duration Credit-card) 3)
(free S)...(role S Secretary)
(resources Receive Secretary)...
(resources Credit-card Secretary)
(:metric minimize (total-time))
(:goal (and (forall (?act - activity) (not (forced ?act)))
(= (n-times-receive) 1) (< (n-times-compensation) 2)
(< (n-times-notify-failure) 2)
(< (n-times-notify-booked) 2)
(< (n-times-credit-card) 2)
(or (> (n-times-credit-card) 0)
(> (n-times-notify-failure) 0)))))
Figure 5: PDDL 2.2 problem specification for the Acme
Travel Company.
executed (not co-existence).
Airline Search: A BM asks for information to seve-
ral airline agencies to make the appropriate reser-
vation. As Hotel Search, it presents a succession
relation to Receive Request.
Book Airline: A BM must book the appropriate
reservation (previously detected in Airline
Search). Airline Search has to be executed before
it (precedence).
Receive Failed Airline: A BM must receive the fai-
lure notification in the case it happens. It is in-
volved in the same relation that Receive Failed
Hotel, but regarding the airline activities.
Compensation: A Secretary must study the compen-
sation for the client. This activity has to be pre-
ceded for at least one of Receive Failed Hotel or
Airline (branched precedence relation). It can not
be executed after neither Hotel Search nor Airline
Search (not response).
Notify Failure: A Secretary must report the failure.
It has to be preceded by Compensation.
Credit Card: A Secretary proceed to make the pay-
ment. One of Book Hotel or Book Airline has to be
executed before it (branched precedence). Also,
after Book Hotel and Book Airline, it must be exe-
cuted (response relations). One and only one of
Notify Failure and Credit Card must be executed
(not co-existence and mutual substitution). Also,
after Credit Card, neither Hotel Search nor Airline
Search can be executed (not response).
Notify Booked: A Secretary must report the infor-
mation about the book to the client. After the exe-
cution of Credit Card, it must be executed always,
and before its execution, Credit Card must have
been executed also (succession).
BPMN Elements
Exclusive
Data-Based
Gateway
Start Event End Event
Parallel
Gateway
Figure 6: Some BPMN elements.
For this example, a part of the PDDL 2.2 domain
is shown in Fig. 4, including all the aspects except
that only a representative activity (Credit Card) is spe-
cified as an example. Also, the PDDL 2.2 problem
specification is shown in Fig. 5. Taking the PDDL
2.2 specification as input, the planner solves the prob-
lem generating the optimum execution plan: allocat-
ing the available resources and temporarily assigning
the start and the end times for the activities execution.
This plan can be used to guide the BP model design.
The Business Process Modelling Notation
(BPMN) (White and et al., 2004) is a standard for
modelling BP flows and web services, and provides
a graphical notation for specifying BP in a Business
Process Diagram (BPD). The BPD is composed, be-
tween others, by events, gateways (Fig. 6), activities
and swimlanes. An event represents something that
happens during the enactment of a BP and affects its
execution flow, specifically the start event initiates
the flow of the process, while the end event finishes
this flow. Gateways are in charge of controlling
how sequence flows interact as they converge or
diverge within a process, specifically the exclusive
data-based gateway can be used as a decision point
or as a way to merge several sequence flows into one;
while the parallel gateway provides a mechanism
to fork and synchronize the flows. Swim lanes are
graphic ways of organizing and categorizing the BP
activities, specifically pools represent the participants
in a BP, and lanes are used to organize the activities
within a pool according to roles or resources.
Taking into account the PDDL 2.2 solutions, an
optimized and feasible BPMN can be designed (Fig.
7). It is composed by a pool named Travel Company
that contains three lanes, BM1, BM2 and S. In Fig. 7,
RFA is a boolean that represents a fail given during
the booking of the airline, while RFH represents the
same for the hotel booking.
5 CONCLUSIONS AND FUTURE
WORK
This work proposes a PDDL 2.2 model for the op-
timal BP execution plan generation when specifying
the process information in a declarative way, apply-
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
568