Information Technology Reference
In-Depth Information
Universal and existential constraints are also relevant. For example the shop owner
may want to disallow users from adding comments, thus:
¬
addComment
If, in addition to these, she wants to prevent them from viewing prices, logging in
and using the cart, this translates into a longer conjunction of universal properties seen
in Figure 3. In effect, with the property of the figure the shop owner allows the users to
only browse the products, their basic information and their images.
( ¬
addComment
) ( ¬
viewPrices
)
( ¬ login ) ( ¬ useCart )
Fig. 3. A Customization Formula
While CFs, as LTL formulae, can in theory be of arbitrary complexity, we found
in our experimentation that most CFs that are useful in practical applications are of
specific and simple form. Thus simple existence, absence and precedence properties
are enough to construct useful customization constraints. Hence, LTL patterns such as
the ones introduced by Dwyer et al. [11], can be used to facilitate construction of CFs
without reference to temporal operators. In our application, we used patterns in the form
of templates in structured language. Thus, CFs can be expressed in forms such as h 1
is [not] satisfied before/after h 2 is satisfied” to express precedence as well as h is
eventually [not] satisfied” to express existential properties, where h, h 1 ,h 2 are goals or
tasks of the goal model. Examples of customization desire expressions can be seen in
frame C of Figure 2. A simple interpreter performs the translation of such customization
desires into actual LTL formulae. In this way, construction of simple yet useful CFs is
possible by users who are not trained in LTL.
3.3
Identifying Admissible Plans
Adding CFs significantly restricts the space of possible plans by which the root goal can
be satisfied. Given a CF, we call the plans of the goal model that satisfy the CF admissi-
ble plans for the CF. Thus, all
[
t 7 ]
,
[
t 7 ,t 5 ]
,
[
t 7 ,t 10 ,t 6 ]
,
[
t 8 ,t 7 ,t 6 ,t 5 ]
and
[
t 3 ,t 7 ,t 10 ]
are
examples of admissible plans for the CF of Figure 3. However, plan
[
t 1 ,t 7 ,t 4 ,t 9 ,t 2 ,t 12 ,
t 14 ,t 15 ,t 16 ,t 11 ]
, although it satisfies the goal model and its precedence constraints, it
is not admissible because it violates the CF - all its conjuncts actually.
To allow the identification of plans that satisfy a given CF, we are adapting and using
a preference-based AI planner, called PPLan [12]. The planner is given as input a goal
model, automatically translated to a planning problem specification as well as a CF
and returns the set of all admissible plans for the CF (frame E in Figure 2). Unless
interrupted, the planner will continue to immediately output plans it finds until there
are no more such. Details on how the planner is adapted can be found in [3].
3.4
Constructing and Using the Policy Tree
We saw that the introduction of a CF dramatically decreases the number of plans that
are implied by the goal model into a smaller set of admissible ones that also satisfy
 
Search WWH ::




Custom Search