![](bg7.png)
deal; for example, “I must have a car for the
weekend, get the best deal you can”.
The e-marketplace transaction management
system attempts manage transactions to “deliver the
best it can whilst satisfying the constraints”. To do
this it selects plans to achieve goals on the basis of
expected time and cost estimates. Further, if actual
performance differs significantly from these
estimates then estimates for subsequent plans are
adjusted leading, possibly, to a revised plan. This
will occur if network performance is unexpectedly
degraded, for example. To derive time and cost
estimates for each plan it gathers performance
measurements on each plan and sub-system, such as
an information gathering bot, and maintains running
estimates of future expected performance. It then
adjusts these estimates when measurements are
observed outside expected limits. For example, if
the network is slow when gathering data from New
York, then time estimates for extracting data from
London may be adjusted to some extent.
Time and cost performance measurements are
made for each plan and for each atomic sub-system
whenever it is used. These measurements enable the
transaction management system to choose a plan for
a goal (G in Fig. 4) and to determine the constraints
({c
1
,..,c
4
} in Fig. 5) for each sub-goal in that plan.
A plan’s performance estimate is the expected time
“t” and cost “c” to satisfy the plan’s goal. These
estimates will be calculated from performance
estimates for each atomic sub-system. The
parameters t and c are assumed to be normally
distributed—this is a wild assumption—but it
provides a framework for identifying measurements
that abnormal. Given a parameter, p, that is
assumed to be normally distributed, an estimate, µ
p
,
for the mean of p is revised on the basis of the i’th
observation ob
i
to µ
p
new
=
(1 - α) _ ob
i
+ α _ µ
p
old
which, given a starting
value µ
p
initial
, and some constant α, 0 < α < 1,
approximates the geometric mean \f(
\O(
Σ,
i=1
,
n
) α
n-i
_ ob
i
, \O(Σ,
i=1
,
n
) α
n-i
) of the set
of observations {ob
i
} where i = n is the most recent
observation. In the same way, an estimate, σ
p
, for
\r(\f(2,π)) times the standard deviation of p is
revised on the basis of the i’th observation ob
i
to
σ
p
new
= (1 – α) _ | ob
i
– µ
p
old
| + α _ σ
p
old
which, given a starting value σ
p
initial
, and some
constant α, 0 < α < 1, approximates the geometric
mean \f( \O(
Σ,
i=1
,
n
) α
n-i
_ | ob
i
–
µ
p
|,\O(Σ,
i=1
,
n
) α
n-i
) . The constant α is chosen
on the basis of the stability of the observations. For
example, if α = 0.85 then “everything more than
twenty trials ago” contributes less than 5% to the
weighted mean.
Given a transaction and its constraints
(expressed in terms of t and s), the transaction
management system makes two decisions. First it
selects a feasible plan for that transaction’s goal.
Second it determines the constraints on each sub-
goal in that plan. Then further plans are selected for
those sub-goals, and so on. Each time a plan for
goal G is used measurements are made of t and c for
each sub-goal in that plan. Further each of those
sub-goals may be invoked by other plans. So the
estimates of the mean and standard deviation of t
and c for those sub-goals may be expected to be
more accurate than the estimates for goal G. So
each time a plan is considered, the t and c estimates
for its goal are re-computed from those on the
estimated costliest path through the plan.
Plan A for goal [G, c] is feasible if
c > µ
A
+ κ _ σ
A
, where c is expressed in terms of t
and c, µ and σ are expressed likewise, and κ is a
constant usually > 1. If c < µ
A
– κ _ σ
A
then the
plan is not expected to achieve its goal within
constraint c. This enables the constraints to be
relaxed on each sub-goal so that the estimated
costliest path through the plan satisfies c. If a sub-
goal SG
i
of plan P for goal Gis not achieved within
its constraint c
i
then first another plan is sought for
SG
i
and for any other as-yet-unsatisfied ‘down
stream’ sub-goals, for which an allocation of
constraints in P is feasible, and second the whole
plan P fails and another plan is sought for G with
tighter constraints than c.
Given a goal G with constraints c the
transaction management system first identifies a set
of feasible plans for G. Then from this set the
system selects a plan for a given goal G using the
stochastic strategy: the probability that a plan is
selected is the probability that that plan is the “best”
plan. This strategy has been found to work well for
managing high level processes [6]. Here best may
mean “the most likely to satisfy the constraints on
G” or some other criterion such as “the plan likely to
deliver the best quality advice” as discussed below.
Given two plans A and B for the same goal G, if the
constraint on G is represented by a parameter p (in
ICEIS 2004 - SOFTWARE AGENTS AND INTERNET COMPUTING
328