Escolar Documentos
Profissional Documentos
Cultura Documentos
Mohsen Rouached
Mohamed Abid
I.
I NTRODUCTION
102
issues: 1) how to systematically represent both the static ontology information and the dynamic Web services information;
2) how to provide a decidable reasoning for determining
whether a certain goal can be satisfied after the execution
of all component services of the generated plans and 3)
how to combine the two first mentioned issues in the same
composition framework to provide an optimal composition
scenario that takes into account many performance criteria
such as checking for correctness, low time consumption and
minimal composition length.
To address these issues, we propose in this paper a twolevel Web services composition approach: Type-level and
Instance-level. We use the terms type and instance to represent respectively the service functionality and the service
implementation. The staged approach is considered the best
engineering practices of modularity, conciseness, and scalability. For that, we adapted such design in our proposed
framework to automate the composition task and ensure an
optimal composition in highly dynamic environments under
time constraints. Moreover, we believe that achieving these
requirements requires a declarative, expressive and dynamic
language that supports the dynamic and non deterministic
features of the Web services and enables to identify what
a Web service expect to hold before execution and how its
execution may affect the world. Furthermore, there is a need
to decide whether a service can be executed in the current
state of the world and predict the resulted state after the
action execution. These motivations encourages us to use
the Dynamic Description Logic (DDL) language, extension
of the description logics (DLs) with a dynamic dimension
[5][6][7][8]. Thus, in the Type-level, the Web services are
considered as a set of actions that transform the world from
one state to another and the composition process is reduced
to checking formulas satisfiability. More details about the
syntax and the semantics of the DDL languages are given
in our previous work [9]. Then, taking the generated plans,
the user preferences and the service instances repository as
inputs, the Instance-level generates an executable composition
that closely meets the user requirements and preferences by
selecting the optimal instance for each service type in the
abstract plan. Moreover, this level ensures failures recovery
using an optimization technique based on QoS-aware selection
engine. This separation enables to reduce the complexity of
the composition process and ensures more accuracy in the
composite service.
R ELATED W ORK
A. DDL overview
Due to the unsufficiency of the description languages (DLs)
[20] to handle the dynamic knowledge such as services and
behaviors, the DDLs, which are an extension of the DLs with
a dynamic dimension, were proposed. In fact, the DDL is based
on the idea that the occurrence and the development of actions
can influence the world evolution from one state to another.
With this logic, description logic concepts can be used for
describing the state of the world, and the preconditions and
effects of atomic actions; Complex actions can be modeled
with the help of standard action operators, such as the test,
sequence, choice, and iteration operators; And both atomic
actions and complex actions can be used as modal operators
to construct formulas.
The primitive symbols of a DDL language contain a set
of concept names (NC ), a set of relation names (NR ), a set
of individual names (NI ) and a set of atomic action names
(NA ) included in construction operators named TBox. Atomic
action is defined as the couple < P, E > where P is a finite
set of formulas specifying the preconditions required for the
execution of the action and E is a finite set of formulas specifying its effects. Both atomic and complex actions are actions
that are built up as follows: , |?| |; | .
Where , , are atomic actions, and is a formula (refer
to [6][8] for more details).
The domain specification is defined as a tuple: DS = <
T Box, ABox, ActBox >, where TBox consists of domain
constraints; ABox (with no semantic conflicts) is the initial
world and ActBox is a finite set of atomic actions that captures
the dynamic knowledge about the world evolvement.
Semantics of DDL are detailed in [6]. For space reasons,
we just introduce the main reasoning strategies in what follows:
An action is executable in a possible world w satisfying its
preconditions stated in P , and its execution reaches a possible
world w=w E, with a minimal change w.r.t the previous
world. For more details, please refer to our previous work
presented in [9].
B. User Queries Specification
A user query Q is modeled as a tuple Q =<
I, O, A, qos >, where I is a finite set of inputs of the
query; O is a finite set of outputs of the query; A is a
finite set of desired actions. Each action consists of a finite set of pre-conditions P and effects or post-conditions
E. qos is a set of quality of service constraints such
that qos = {(q1 , v1 , w1 ), (q2 , v2 , w2 ), ..., (qk , vk , wk )}, where
qi (i = 1, 2, ..., k) is a quality criterion, vi is the required value
for criterion
P qi , wi is the weight assigned to this criterion
such that ki=1 wi = 1, and k the number of quality criteria
involved in the query.
C. Service Specification
An atomic service is a tuple S =< I, O, P, E, qos >,
where I, O are, respectively, a set of inputs and outputs of the
service S; P is a finite set of precondition formulas of S; E is a
finite set of the service effects, which is the facts holding in the
newly-reached world by the services execution and qos is a set
of provided quality criteria. The formulas in both P and E are
conferred with well-defined semantics encoded in some T Box,
which specifies the domain constraints in consideration.
Composite services are constructed from atomic services
with the help of classic constructors in dynamic logics. Both
atomic and composite services are services. Complex services
are built up with the following formula: , |?|
|; | |((; )(()?; ))|(?; ) ; (?) where , ,
are atomic services, and is a formula. Based on formulas
and atomic services, complex services can be constructed with
the help of four standard atomic services operators: the test
(?) , sequence (; ), choice ( ), iteration operators
( ), if formula is verified then is invoked, else invoking
is an abbreviation of (((; ) (()?; )), and if do
is an abbreviation of (?; ) ; (?).
IV.
Fig. 1.
Fig. 2.
the service types as input, if there is no service type that has the
similar capability (functionality) to the instance, a new service
type will be created and inserted into the service type set and
the instance will be inserted into the new type. Otherwise, the
instance will be inserted into the corresponding service type.
This process will be iterated for each service instance in the
service repository.
return AS;
End
B. DDL-based planning
Taking the domain ontology, the functional specifications
of the required service and the service type ontology as
inputs, the DL-reasoner provides a knowledge base KB =<
T Box, ABox, T ypeBox >, specifies the desired goal and
checks the availability of the required functionalities from
the candidate service types (TypeBox). Based upon these
specifications, the planner generates the set of plans using a
Filter component that helps in pruning the set of candidate
services before the planner uses DDL-planning techniques to
create the plan.
(1)
So that, whenever the sequence of services is executed (satisfiability of the formula (2)); formula (1) must be unsatisfiable.
[AS1; AS2]F
(2)
105
(3)
2)
(4)
C. QoS-aware composition
Taking the instances repository, the abstract plan as a
template and the non-functional requirements (NFR) as permissible QoS values, the Instance-Level Module selects an
optimal instance for each type component in the template until
generating an executable composition. This module not only
handles Multiple Criteria Decision Making (MCDM), but also
guarantees global QoS requirements at the same time. The
main components of this module are:
1) Assignment link between service type and instance:
The relationship between service type and service instance is
a kind of linking between a class and its instances. So that
a Web service type captures the core functionality, which the
individual instances belong to. We assume that the Web service
type remains valid when any of its Web service instance is
selected, which leads to facilitate the compensation in case
of planning failure or unavailability of the selected instance
during run-time. Such instanciation is based on two main
factors: a) ensuring that the preconditions of a Web service
type is more specific than that of some or all of its instances
and b) its effects are more general than that of any of its
instances. Formally, the relationship between the service type
and its instances are described as follow: a) S T ype .P re |=
S Instance .P re and b) S Instance .Ef f |= S T ype .Ef f .
2) QoS-Handler: It collects the QoS information from the
existing service instances and provides a QoS vector for each
instance. The handled values can be static or dynamic.
Qk Ck ; if k {1, 2}
QoS constraints:
Qk Ck ; if k {3, 4}.
2
X
k=1
wk .max(
X
Qk Ck
Ck Qk
, 0)} + {
wk .max(
, 0)}]
Ck
Ck
k=3
th
and
4
P
k=1
C ONCLUSION
107
[5] Limin Chen, Hong Hu, and Zhongzhi Shi. Web service composition
as satisfiability checking in dynamic description logics. In Proceedings
of the 2009 Eighth International Conference on Grid and Cooperative
Computing, GCC 09, pages 5560, Washington, DC, USA, 2009. IEEE
Computer Society.
[6] Liang Chang, Fen Lin, and Zhongzhi Shi. A dynamic description
logic for representation and reasoning about actions. In Proceedings
of the 2nd international conference on Knowledge science, engineering
and management, KSEM07, pages 115127, Berlin, Heidelberg, 2007.
Springer-Verlag.
[7] Zhixiong Jiang, Leqiu Qian, Xin Pen, and Shisheng Zhu. Dynamic
description logic for describing semantic web services. In Computer and
Computational Sciences, 2007. IMSCCS 2007. Second International
Multi-Symposiums on, pages 212 219, aug. 2007.
[8] Liang Chang, Zhongzhi Shi, Lirong Qiu, and Fen Lin. Dynamic description logic: Embracing actions into description logic. In Description
Logics, 2007.
[9] Sana Baccar, Mohsen Rouached, and Mohamed Abid. A user requirements oriented semantic web services composition framework. IEEE
9th World Congress on Services 2013, To appear.
[10] Vikas Agarwal, Girish Chafle, Koustuv Dasgupta, Neeran Karnik, Arun
Kumar, Sumit Mittal, and Biplav Srivastava. Synthy: A system for
end to end composition of web services. Web Semant., 3(4):311339,
December 2005.
[11] Holleis. P. Programming interactive physical prototypes. 1st Intl
Workshop on Design and Integration Principles for Smart Objects
(DIPSO 07), 2007.
[12] Molood Makhlughian, Seyyed Mohsen Hashemi, Yousef Rastegari, and
Emad Pejman. Web service selection based on ranking of qos using
associative classification. CoRR, abs/1204.1425, 2012.
[13] Luokai Hu, Shi Ying, Kai Zhao, and Rui Chen. A semantic web service
description language. In Proceedings of the 2009 WASE International
Conference on Information Engineering - Volume 02, ICIE 09, pages
449452, Washington, DC, USA, 2009. IEEE Computer Society.
[14] Ronny Hartanto and Joachim Hertzberg. Fusing dl reasoning with
htn planning. In Proceedings of the 31st annual German conference
on Advances in Artificial Intelligence, KI 08, pages 6269, Berlin,
Heidelberg, 2008. Springer-Verlag.
[15] Guohua Shen, Zhiqiu Huang, Xiaodong Zhu, and Jun Yang. Reasoning
about web services with dynamic description logics. In Mark Burgin,
Masud H. Chowdhury, Chan H. Ham, Simone A. Ludwig, Weilian
Su, and Sumanth Yenduri, editors, CSIE (6), pages 106110. IEEE
Computer Society, 2009.
[16] Wei Liu Yu Yue Du Bao Qi Guo Chun Yan Qiang Xu. A fast
algorithm for web service composition based on dynamic description
logic. In Information Technology Journal, 9, 1150-1157. Asian Network
for Scientific Information, 2011.
[17] Zeina Azmeh, Maha Driss, Fady Hamoui, Marianne Huchard, Naouel
Moha, and Chouki Tibermacine. Selection of Composable Web Services
Driven by User Requirements. In IEEE Computer Society, editor,
ICWS11: 9th IEEE International Conference on Web Services - Ap
plications and Experiences Track, page 8, Etats-Unis,
Jul 2011.
[18] Wei Jiang, Charles Zhang, Zhenqiu Huang, Mingwen Chen, Songlin
Hu, and Zhiyong Liu. Qsynth: A tool for qos-aware automatic service
composition. In ICWS, pages 4249, 2010.
[19] Zachary J. Oster, Ganesh Ram Santhanam, and Samik Basu. Identifying
optimal composite services by decomposing the service composition
problem. In Proceedings of the 2011 IEEE International Conference
on Web Services, ICWS 11, pages 267274, Washington, DC, USA,
2011. IEEE Computer Society.
[20] Franz Baader, Ian Horrocks, and Ulrike Sattler. Description logics as
ontology languages for the semantic web. In Mechanizing Mathematical
Reasoning, pages 228248, 2005.
[21] Jong Myoung Ko, Chang Ouk Kim, and Ick-Hyun Kwon. Qualityof-service oriented web service composition algorithm and planning
architecture. Journal of Systems and Software, 81(11):2079 2090,
2008.