Information Technology Reference
In-Depth Information
composition techniques that can well support branch or choice
structures.
The prior WSC methods based on sequential process models face
some difficulties when applied to the field of health care. In this field, user
needs are often uncertain, diverse, and personalized where some domain
preferences exist. Composite services with only sequential process
models can neither meet the diverse needs of users nor reflect their
domain preferences. For example, classical artificial intelligence-based
planning techniques can derive only linear sequences of actions. They
require that the outcome of each action is known in advance. However,
many services cannot meet such a requirement since their outcomes can
be determined only after their execution, for example, diagnosis services
or risk assessment services. Different outcomes usually require different
services/processes to follow in the composite service.
In our platform, we introduce branch structures when needed into the
process model of a composite service during service composition. Thus,
the composite service can reflect user and domain preferences and meet
the diverse and personalized needs of users, thereby overcoming the
deficiencies of the existing methods that rely on sequential structures.
Activity diagrams are used to represent the feasible composite
solutions. Each action node
n
k
in the generated activity diagram
represents an available service from the service community. Moreover,
a state
S
k
is associated with
n
k
to denote the current status. It contains
the currently available input and output parameters and evaluation
results of some involved conditions. They are the basis for the next step
reasoning.
We present one main algorithm and three subprocedures, which
are used to process the three aforementioned user preferences,
respectively. In the main algorithm, we start the service reasoning
from the initial state. For such reasoning, many existing methods to
compute state
S
k
and the set of invocable services
V
(
S
k
) can be
adopted. After every step of reasoning, a set of executable services is
obtained. A subprocedure is called when such needs arise in order to
deal with the user preference.
In a subprocedure, we first need to examine whether the truth value
of condition formula in the preference can be acquired. After its truth
value is found, we introduce a branch structure into the diagram.
Specifically, a decision node is introduced into the diagram first, and
guards are set for the corresponding control flows. Then, a merge node