Information Technology Reference
In-Depth Information
The shop-owner should be able to devise, specify and change such rules every time she
feels it is necessary and then just observe the system reconfigure appropriately without
resorting to expert help. But how easy is this?
Satisfying a great number of behavioral possibilities and switching from one to the
other is a challenging problem in information systems engineering. While there is sig-
nificant research on modeling and implementing variability and adaptation, e.g. in the
areas of Software Product-Lines and Adaptive Systems, two aspects of the problem
seem to still require more attention. Firstly, the need to easily communicate and actuate
the desired customization, using language and terms that reflect the needs and experi-
ence of the stakeholders, such us the shop owner of our example. Secondly, the need to
allow the stakeholders to construct their customization preferences themselves, instead
of selecting from a restricted set of predefined ones, allowing them, thus, to acquire a
customization that is better tailored to their individual needs.
To address these issues, in this paper we extend our earlier work on goal variabil-
ity analysis [3,4] and introduce a goal-driven technique for customizing the behavioral
aspect of a software system. A generic goal-decomposition model is constructed to rep-
resent a great number of alternative ways by which human agents can use the system to
achieve their goals through performance of various tasks. The system-to-be is developed
and instrumented in a way that the chunks of code that can enable or prevent perfor-
mance of such user tasks are clearly located and controlled in the source code. After
completion and deployment of the application, to address their specific needs and cir-
cumstances, individual stakeholders can refine the goal model by specifying additional
constraints to the ways by which human and machine actions are selected and ordered
in time. A preference-based AI planner is used to calculate such admissible behaviors
and a tree structure representing these behavioral possibilities is constructed. Thanks to
having appropriately instrumented the source code, that tree structure can be used as a
plug-in which is inserted in the system and enforces the desired system behavior. This
way, high-level expressions of desired arrangements of user actions are automatically
translated into behavioral configurations of the software system. Amongst the benefits
of our approach are both that it brings the customization practice to the requirements
level and that it allows leverage of larger number of customization possibilities in a flex-
ible way, without imposing restrictions to the choice of development process, software
architecture or platform technology.
The paper is organized as follows. In Section 2 we present the core goal modeling
language and the temporal extension that we are using for representing behavioral al-
ternatives. In Section 3 we show how we connect the goal model with the source code,
how we express goal-level customization desires and how we translate them into be-
haviors of the system. We discuss the feasibility of our approach in Section 4. Finally,
in Section 5 we discuss related work and conclude in Section 6.
2
Goal Models
Goal models [5,6] are known to be effective in concisely capturing alternative ways by
which high-level stakeholder goals can be met. This is possible through the construction
of AND/OR goal decomposition graphs. Such a graph can be seen in Figure 1. The
 
Search WWH ::




Custom Search