Vous êtes sur la page 1sur 10

Semantic-Based Semi-Automatic Web Service

Composition
Abdaladhem Albreshne#1, Jacques Pasquier*2
#
Computer Department, Fribourg University
Switzerland
1
abdaladhem.albreshne@unifr.ch
*
Computer Department, Fribourg University
Switzerland
2
jacques.pasquier@unifr.ch

Abstract—The presence of software systems syntactical nature. There are still


in every aspect of our life results in increased challenges in the web service composition
requirements and expectations addressed by field which need to be addressed and
new development projects. The domain of investigated. For example, there is a
home computing constitutes a typical example general lack of methodology and tools
of an environment which is characterized by which enable the semi-automatic com-
complex requirements with regard to context position and analysis of web services
awareness, intelligent assistance, autonomy, taking into account their semantic and
dynamic discovery, dynamic service behavioural properties. Even though a lot
composition, and easy services management of work has been done in the field of
for end users. This work aims to propose an semi-automatic composition [2-3], there
approach based on semantic description and still remain problems. These are mainly
ontologies in order to discover and compose related to the question how to help non-
services in a home changing environment. expert users to achieve goal oriented
Furthermore, our goal is to offer a partial service composition. An essential issue is
automation of web service composition, with a how available semantic services can
human controller. We propose to enable collaborate and use domain knowledge
customers to select and configure available and user inputs to help achieving semi-
services to meet their requirements and reach automatic service composition for
a specific goal. dynamic adaptation to changing business
requirements.
1 Introduction
We propose an approach which uses
Over the past several years, a range of domain information and semantic to
industry languages and frameworks define a specific environment. Our main
solutions have been realized to enable objective is to offer non-expert users who
web service composition. Among these, tend to not know in advance how to
Business Process Execution Language for achieve their goals, an assistant
Web Services (BPEL4WS) [1] is probably mechanism to obtain optimized solutions
the most prominent. It provides a to compose web services in a way that
language for web service composition meets their changing requirements. To
where the flow of processes and the attain this objective, we propose to users
bindings between services are known a generic process templates. These
priori. These approaches are of purely templates are oriented toward users’
goals. A process template defines a work- has used the recommendations described
flow which is composed of several above in order to create a generic energy
activities with specific functions saver process template for the final user .
(semantic description of participating
Thomas consults the menu of his
web services) linked with control flow,
automation system which proposes
structured activities (loops, If statements,
several composition scenarios. He
sequences, etc.), and user preferences that
chooses the “Energy Saver Plan” which is
need to be involved in the process. The
a generic predefined process plan. Figure
proposed process template is used to
1 illustrates the Energy Saver Plan
define the services types and to offer a
workflow. The tool suggests him different
suitable decision at each step of the
options, step by step, and in each step he
composition depending on the process
can define his preferences. The following
goal, user choices and the current
steps resume the scenario interaction
situation. The end user configures and
between the system and the final user:
customizes these generic templates
according to his current requirements, • At first, the system discovers available
preferences and environmental context. services (devices, sensors) and
We explain our work in more detail in understands their functions.
Section 3.1. • Then, the system selects the services
that are potentially involved in the
2 Motivating Scenario energy saver process. The system
In this section we explore the presented detects a heating system, three air-
approach through a case study realized in conditioners, four room lamps, two
the field of home environment. entrance overhead lights and an
external temperature sensor.
Home Energy Saver Scenario
• The system starts configuring the
Thomas home is a home equipped with energy saver plan by asking the final
diverse web enabled sensors and actuator user to take a decision about the
devices such as light switches, home involved services as following:
heating system, air-conditioners, shower – What is the interior comfort home
indicator, temperature sensors, curtains temperature when you are at home?
and windows controllers and door
controllers, etc. Thomas controls his – Select from the given list which
home environment in a way that allows entrance overhead lights to turn on
him to save energy and to adapt his at night.
environment to his habits and live – Choose which air conditioners you
conditions. like to turn on.
Daily observation shows that total – Set the shower timer.
energy consumption can be minimized by – Adjust the preferred temperature
1) Reducing wastage: lighting, heating for each air conditioned room.
and air-conditioning (HVAC), and other • After having finished asking the user
systems can be turned off when not about services and his preferences, the
needed. 2) Reduced lighting levels process is now configured to meet the
(dimming): a light can be operated at less user’s requirements and the system is
than 100% when full light is not needed. able to create a final process. The
3) Shower time: limiting the shower time defined activities in the process are
can economise energy. There is no need bound to concrete web services and
to have hot water for the shower when the the data flow in the process is
user is outside for hours. The developer
assigned. The process is ready to be desired goal. So as to overcome this lack
executed. of flexibility, we propose to develop a
framework as a prototype, consisting of
This scenario demonstrates that there is
an intuitive user tool that allows users to
a need to help the final user in a changing
create and run on their home device
environment where services are not
customized programs that implement the
known at design time. It shows that
intended smart home tasks. Additionally,
decisions sometimes could not been taken
this tool need to be aware of the context
without the end-user involvement. It is a
in which the composition and invocation
challenging problem to search and select
of the available web services (devices,
the concrete services and involve users to
sensors) occur.
adjust them in order to achieve the

Figure 1 Home Energy Saver Workflow

language like BPEL. Many plug-ins for


tools like Net-Beans [4], JOpera [5] are
3 Semi-automatic Service available to enable manual composition.
Composition Approach The problem with such an approach is
that it demands too much knowledge on
In general, there are several kinds of the part of the user and it becomes more
service composition. The traditional and more difficult with the explosion of
approach is called manual composition web services resources.
where users program and tell the system
what to do during all the composition The second approach is called
process development steps. Processes are automatic composition (without human
defined using a process execution involvement). It is used when the
requestor has no process model but has a name, service type or service location. To
set of constraints and preferences. It is be able to describe the services, semantic
based on finding services for executing web languages like the Ontology
predefined abstract processes. The tools Language for Web Services (OWL-S),
try to discover the available web services and the Web Services Modeling Ontology
that semantically match as much as (WSMO) [14] have been proposed. They
possible the user’s needs [6]. Several introduce an additional level of
approaches for automatic service abstraction. Instead of a syntactic
composition have been introduced [7], description of a web service, a declarative
including solutions based on Hierarchical description of the service’s
Task Network (HTN), Golog [8], functionalities is given.
Artificial Intelligence (AI) planning or
Our approach uses web services and
Rule-Based planning [7, 9-10]. However,
semantic web service technologies like
automatic composition is still viewed as a
OWL-S to facilitate the discovery, as well
task of high complexity because of the
as the semi automatic composition of web
rapid proliferation of available services to
services. We propose an assistance
choose from and the composition result
mechanism for the semi-automatic
risks to differ from the user’s original
composition of services where the
goal.
composition is gradually generated by
The third approach is called semi- using a declarative oriented generic
automatic or interactive composition. composition plan. It is not up to the user
We work in this direction. In this kind of to tell the system what to do but rather to
composition, the system usually helps establish and negotiate about goals and
users to find, filter and integrate how to accomplish them. At each
automatically the desired services by composition step, the system could
matching the users requests with the propose to the user which new service can
available services. Moreover, it enables be added to the composition and which
end users to intervene continuously kind of actions can be taken. Further
during the composition process. Some possibilities are filtered based on the
efforts like OWL-S [11], METEOR-S current context, the composition objective
[12] use semantic description of web and user preferences.
services to help improving the discovery
To validate our approach, we want to
and composition processes. We believe
develop an interactive service
that the semantic of the provided services
composition smart home prototype that
could be used by tools or systems to
assists non-expert users to compose and
guide the user to limit the available
generate goal oriented composition plans
choices and to define his preferences to
in which the system is able to provide
finally reach the composition goal.
suggestions and direct the control flow in
a step by step style. Depending on the
3.1 Goal Oriented Service composition goal, context and the user’s
Composition Approach preferences, the system selects the
suitable services and which available
The composition of web services is
decisions could be taken.
difficult when one is using exclusively
the WSDL [13] descriptions with a However, several challenges need to be
composition language like BPEL, since addressed in order to build our system:
each description lacks the semantic for instance, lack of a generic process
description of services’ properties and language which would facilitate the
capabilities as well as some non- orchestration of semantic web services, a
functional attributes, such as service need to involve user preferences and
context-awareness in the process, the OWL-S can be used as well to execute the
requirement to build a process design tool process. Our framework is not restricted
based on semantic and ontology and to theses languages. If none of these
finally the question of how services solutions corresponds to our
discovery can be optimized. We provide requirements, we can propose our own
principles for the underplaying software language. The Process Generator
architecture which make it easier to component captures the semantic
create such a system. In the next Section, activities’ characteristics in the process
we explore those challenges in more template and sends it to the Service
detail and present our framework. Discovery Engine as service query. Web
services are usually published in
3.2 Proposed Framework registries (Discovery Engine). Consumers
can request available services by a
In the following, we give an overview keyword-based search engine (e.g.
of our framework for semi-automatic web expedia.com, google.com) or by looking
service composition. As shown in Figure it up in a web services registry (e.g.
2, the user can choose a recommended UDDI – Universal Description, Discovery
generic process template from the process and Integration Registry) [15].
repository. The generic process template
acts as a configurable module. It defines Improving service discovery involves
the semantic of the participating activi- adding a semantic research mechanism.
ties, control flow and conditional The requestor can provide the inputs and
branches. There are several ways to write outputs of the required service. Then the
process templates. For example, discovery process in the registry will find
PEBL4SWS [1] is an extension of BPEL any service which matches these semantic
that allows to create a semantic process requirements. Several semantic discovery
and then generate an executable one. algorithms have been proposed like [6].

Figure 2 Semi-automatic Service Composition Framework


In our framework, service discovery is process by the Process Generator. The
based on services’ semantic description Process Execution Engine component has
and their relation with the domain the capability to execute the generated
ontology. After Services have been process using an execution language such
discovered by the Service Discovery as BPEL4WS or OWL-S API. In the next
Engine, the user binds all desired section, we explain briefly the role of our
activities and defines his preferences framework components:
according to the activities configuration
requirements which can be involved in 3.3 System Architecture
the generic process or can be declared
separately in another format. When a The proposed architecture (See Figure
service is put into the composition, the 3) supports the construction and
information about input, output, execution of semi-automatic service
preconditions and effects (IOPE) of this composition. The system architecture is
service is checked automatically to assure based on three categories of components:
that all needed input data are provided, Service Discovery Component, Process
all operations can be executed and all Building Components, and Process
links are established. The process now Configuration & Execution Components.
can be converted into an executable

Figure 3 – Semi-automatic Service Composition Architecture

1. Service Discovery Component their semantic descriptions with the


The providers publish their web services available registered services.
on a web services registry.
• [Service Discovery]: The Service
2. Process Building Components
The process developer uses a graphical
Discovery & Registry has registry,
design tool in order to build a generic
discovery and selection functions. It
process template. He uses a published
uses a matching engine to find the
domain ontology which is related to a
requested services by comparing
specific organization to describe
participating activities semantically.
• [Domain Ontology Library]: stores • [Process Generator]: handles the
the detail information of a specific process configuration and converts
domain like services or devices. The the generic process into an
domain ontology is defined using executable one.
the OWL language. • [Execution Engine]: has the
• [Process Template Design Tool]: a capability to execute the generated
graphical composition tool. It lets process. It uses an execution
the expert user create a generic language such as BPEL4WS or
process template by defining the OWL-S API [16].
workflow of services according to
the composition goal. It uses the 4 Related work
capabilities of the domain ontology On the one hand, a range of industry
in order to provide the user with a solutions have been realized to enable
task abstraction of the complexity web service composition. Among these,
of whatever lays underneath. The the Business Process Execution Lan-
tool includes various libraries such guage for Web Services (BPEL4WS).
as BPEL4SWS or OWL-S and These approaches only address the
OWL. syntactical aspects of web services. On
• [Process Template Repository]: the other hand, there are efforts which
contains abstract services composi- go in a different direction. They aim to
tion templates. These composition establish standards enabling the
templates define the capabilities and syntactic and semantic description and
functionalities of needed services as composition of Web Services. For
well as the conditions and instance, the Ontology Web Language
requirements that must be applied to for Services (OWL-S [17]) has
achieve the composition goal. triggered significant research efforts to
build frameworks and tools which
3. Process Configuration and Execution allow the composition of semantically
Components annotated Web Services.
The Client uses the client interface to
configure a process template that Artificial Intelligence (AI) ap-
matches her goal and provides her proaches for web service composition
preferences. Then the process can be focuses on automatically generating a
executed. The following components plan of a composite service that
allow realizing this objective: satisfies users given goals [9-10, 18].
We propose an alternative approach
• [Client User Interface]: a graphic which involves users in the
tool which handles the communica- composition process, including the
tion between the end-user and the selection of components and their
platform. It lets the user choose a configuration.
template process in order to achieve
a specific goal. Then the user [19] proposes a system which informs
configures this process according to the user about issues to be addressed in
her preferences. The tool will the current workflow. It is limited by
present the available choices at each the fact that the composition assistant
step according to the proposed plan. occurs during the design phase.
After process configuration, the Consequently, it does not enable users
process is executed by the execution to discover and then choose concrete
engine. services which meet their requirements.
On the contrary, the user interaction
methods and tools proposed by [2, 20] 5 Conclusion
capture the user’s intentions in an
interactive and continuous manner The contribution of this work is:
during the whole composition process. First, proposing a semantic-based
These systems utilize the semantics of framework which offers flexibility to
the available services to guide the user integrate services and reinforces the
and limit the available choices. human-computer collaboration
Nevertheless, they do not guide the paradigm. Second, we use the semantic
user to reach the objective of the descriptions and ontologies to provide
composition. an assistant mechanism to obtain
optimized solutions to compose
[21] proposes a goal description services in a way that meets user’s
language for automatic web service changing requirements.
composition (GDL4WSAC). The latter
describes the goals to be achieved and Some key features of our approach
the corresponding constraints are:
unambiguously. Its limitations are that
• defining a generic process template
it fits developers more than end-users,
to describe semantic activities for
since the goal must be predefined and
goal oriented composition
since there is no way for users to
intervene during the composition. [22] • using a semantic matchmaking
proposes a semantic-based ontology mechanism to discover and select
language (OWL-T) used to formulate the suitable services that conform to
business demands in terms of semantic activities defined in the
structured task templates. An automatic process template
composition method is used to • enabling users to adjust the process,
transform task templates into where the process template acts as a
executable processes. Neither in the configurable module for user
composition process nor in services preferences and requirements.
selection the user is involved.
• enabling end-users to choose
[23] proposes a web service concrete services to be invoked
composition framework SWSCF which according to their changing business
is based on semantic and has the ability requirements.
to integrate services according to • Providing context awareness
application domain semantics and through a context discovery module.
dynamic business requirements. A
hierarchical activity mechanism (AI • providing an ontology-based tool
technique) enables this framework to that enables semantic-based, goal
dynamically decompose business oriented, semi-automatic service
requirements. This helps to identify composition.
suitable semantic process templates. • providing a process execution
engine, which has the capability to
Task Computing approach [24] execute the generated process.
exposes the functionality found in
smart environments (i.e. networked 6 Future Work
devices, web services) as semantic web
services, which in turn the user can In order to have a good evaluation of
discover and arbitrarily compose. It our approach, we are currently working
focuses namely on dynamic service on our smart home prototype. Several
discovery as well as service publishing challenges need to be addressed in
and management. order to build our system: for instance,
a generic process languages which Conference on Computer and
facilitate the orchestration of semantic Information Technology (CIT 2007),
web services, a need to involve user Aizu-Wakamatsu City, Fukushima,
preferences and context-awareness in Japan, 2007.
[10] X. Li and C. Wu, "Research on OWL-
the process, as well as building a S Service Automatic Composition
process design tool based on semantic. Based on Planning," Wuhan, China
2009.
7 References [11] W3C. 09.05.2010). OWL-S: Semantic
[1] IBM. (2002, 11.05.2010). Business Markup for Web Services. Available:
Process Execution Language for Web http://www.w3.org/Submission/OWL-
Services version 1.1. Available: S/
http://www.ibm.com/developerworks/l [12] LSDIS. (2005, 06.03.2010).
ibrary/specification/ws-bpel/ METEOR-S: Semantic Web Services
[2] B. Parsia, et al., Semi-automatic and Processes. Available:
composition of Web Services using http://lsdis.cs.uga.edu/projects/meteor
Semantic Descriptions. Angers, -s/
France: Web Services: Modeling, [13] W3.org. (2001, 10.05.2010). Web
Architecture and Infrastructure Services Description Language
Workshop in Conjunction with ICEIS, (WSDL) 1.1. Available:
2003. http://www.w3.org/TR/wsdl
[3] B. Steffen, et al., "Semantic Web [14] W. W. W. Consortium. (2005,
Service Composition for Service- 11.05.2010). Web Service Modeling
Oriented Architectures," presented at Ontology (WSMO). Available:
the 10th IEEE Conference on E- http://www.w3.org/Submission/WSM
Commerce Technology, Washington, O/
USA, 2008. [15] OASIS. (2004, 10.04.2010). UDDI
[4] NetBeans.org. (2007, 11.05.2010). Spec Technical Committee Draft.
NetBeans IDE 6.1 SOA Pack Available:
Documentation. Available: http://www.uddi.org/pubs/uddi_v3.ht
http://netbeans.org/kb/61/soa/index.ht m
ml [16] Mindswap. (2010, 12.05.2010). OWL-
[5] JOpera. (2010, 12.05.2010). JOpera S API. Available:
for Eclipse. Available: http://www.mindswap.org/2004/owl-
http://www.jopera.org s/api/
[6] F. Benedikt, et al. (2008, 02.02.2010). [17] DAML. (2009, 07.05.2010). DAML
Hybrid OWL-S Web Service Services. Available:
Matchmaker. Available: http://www- http://www.daml.org/services/owl-s/
ags.dfki.uni-sb.de/~klusch/owls- [18] K. Srividya, et al., "Automatic
mx/index.html Composition of Semantic Web
[7] H. Li, et al., "Automatic Composition Services," presented at the IEEE 2007
of Web Services Based on Rules and International Conference on Web
Meta-Services," presented at the 11th Services (ICWS), Salt Lake City,
International Conference on CSCW in USA, 2007.
Design, Melbourne, Australia, 2007. [19] K. Jihie, et al., "An Intelligent
[8] S. Narayanan and S. A. Mcllraith, Assistant for Interactive Workflow
"Simulation Verification and Composition," presented at the 9th
Automated Composition of Web international conference on Intelligent
Service," presented at the 11th user interfaces, Madeira, Portugal,
International World wide Web 2004.
conference, Hawaii, USA 2002. [20] E. Sirin, et al. (2004). Composition-
[9] I. Paik and D. Maruyama, "Automatic driven Filtering and Selection of
Web Services Composition Using Semantic Web Services.
Combining HTN and CSP," presented [21] M. Lin, et al., "Goal Description
at the 7th IEEE International Language for Semantic Web Service
Automatic Composition," presented at
the IEEE, Symposium on Applications
and the Internet, Washington, USA,
2005.
[22] V. X. Tan and H. TSUJI, "OWL-T
Ontology-based Task Template
Language for Modeling Business
Processes," presented at the Fifth
International Conference on Software
Engineering Research, Management
and Applications, Busan, South
Korea, 2007.
[23] J. Hu, et al., "SWSCF: A Semantic-
based Web Service Composition
Framework," Journal of Networks,
ACADEMY PUBLISHER, vol. 4, pp.
290-297, 2009.
[24] R. Masuoka, et al., "Semantic Web
and Ubiquitous Computing -Task
Computing as an Example-,"
Maryland, USA, 2004.

Vous aimerez peut-être aussi