<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Web</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Visual Representation of Web Service Composition Problems through VLEPpO</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ourania Hatzi</string-name>
          <email>raniah@hua.gr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dimitris Vrakas</string-name>
          <email>dvrakas@csd.auth.gr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nick Bassiliades</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dimosthenis Anagnostopoulos</string-name>
          <email>dimosthe@hua.gr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ioannis Vlahavas</string-name>
          <email>vlahavas@csd.auth.gr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Geography, Harokopio University of Athens</institution>
          ,
          <addr-line>Athens</addr-line>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. Of Informatics, Aristotle University Of Thessaloniki</institution>
          ,
          <addr-line>Thessaloniki, 54124</addr-line>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>[27] Wu D., Sirin E.</institution>
          ,
          <addr-line>Hendler J., Nau D., Parsia B., "Automatic</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>[30] Liu</institution>
          ,
          <addr-line>N., Grundy, J.C., and Hosking, J.G., "A Visual</addr-line>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>on Automated Software Engineering</institution>
          ,
          <addr-line>Long Beach, California</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2004</year>
      </pub-date>
      <volume>1</volume>
      <issue>4</issue>
      <fpage>42</fpage>
      <lpage>49</lpage>
      <abstract>
        <p>This paper discusses the problem of the automatic composition of Semantic Web Services. Web Services constitute a new computing paradigm, which provides a standardized framework that facilitates the interoperability among software systems and machines that are accessible through the Internet. Semantics can significantly improve software reuse and discovery and allow the automatic composition of Web Services in order to produce large scale applications. The use of VLEPpO for the automatic composition of Web Services is proposed. VLEPpO is a visual programming tool for designing planning problems using visual elements and simple mouse operations. In the tool the user simply defines the properties of the available Web Services and the global goals of the application. Then VLEPpO automatically forms the description as a planning problem, solves it by calling an appropriate planning system and exports the solution either to a Web Service execution monitoring system or to a UDDI registry.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Currently, applications and services in the web are
coming to the forefront. Web services play a crucial role
as they become the basic components of web-based
applications [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The use of web services is expanding
rapidly to provide a systematic and extensible framework
for application-to-application interaction, built on top of
existing web protocols and based on open XML
standards. Web services aim to simplify the process of
distributed computing by defining a standardized
mechanism to describe, locate, and communicate with
online software systems. Essentially, this technology
enables any application to become an accessible web
service component.
      </p>
      <p>
        A web service is a software system identified by a URI
(Universal Resource Identifier), which is defined and
described using XML-based languages such as WSDL
(Web Service Description Language) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. WSDL
describes public interfaces and bindings of web services,
while web services themselves can be viewed as remote,
platform-independent implementations of these interfaces.
In particular, WSDL defines the supported operations of a
web service, as well as the way of exchanging data
through messages. WSDL is confined only to syntactical
information, excluding any semantics.
      </p>
      <p>
        Web services can be discovered through UDDI
(Universal Description, Discovery and Integration)
registries. UDDI is a standard interoperable platform that
enables companies and applications to quickly, easily,
and dynamically locate and use web services over the
Internet [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. UDDI registries contain records of available
web services and provide not only technical information
and access to WSDL documents, but service
categorization as well.
      </p>
      <p>
        Software systems or agents who discover a web
service through a UDDI registry may interact with it, in a
manner prescribed by its definition, using SOAP (Simple
Object Access Protocol) messages [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] conveyed by
internet protocols such as HTTP [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. SOAP is
XMLbased and provides the fundamental messaging
framework for discovering and communicating with web
services.
      </p>
      <p>
        The current WSDL standard operates at the syntactic
level and lacks the semantic expressivity needed to
represent the requirements and capabilities of Web
Services. Semantics can improve software reuse and
discovery, significantly facilitate composition of Web
services and enable integration of legacy applications as
part of business process integration [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Therefore, the
need for new languages who accomodate the semantic
aspects of web services has emerged. Such a language is
WSDL-S which constitutes a lightweight approach for
adding semantics to web services [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        In order for semantically enhanced web services to be
computer comprehensible and processable, support by
ontologies is required. OWL-S (previously known as
DAML-S) is an OWL-based web service ontology which
supplies web service providers with a core set of markup
language constructs for describing the properties and
capabilities of web services in unambiguous,
computerintepretable form [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        When individual Web Services are limited in their
capabilities, they can be composed to create new
functionality in the form of Web Processes. Web Service
composition is the ability to take existing services (or
building blocks) and combine them to form new services
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and is emerging as a new model for automated
interactions among distributed and heterogeneous
applications. In order to truly integrate application
components on the Web across organization and platform
boundaries, merely supporting simple interaction using
standard messages and protocols is insufficient [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
Web services composition languages, such as WSFL [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
XLANG [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and BPEL4WS [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], are needed to specify
the order in which WSDL services and operations are
executed.
      </p>
      <p>
        The aforementioned languages and approaches cope
with the web services composition problem in a primarily
syntactical way, and interaction between services is
manually defined. Due to that, composing web services
will become harder as the available web services increase.
Therefore, automating web service composition is
essential. Semantic web services try to provide a solution
by employing Artificial Intelligence techniques for web
service composition. A very promising direction is the
use of planning techniques[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>The contribution of this work aims at exploiting
planning in order to provide solution to the web service
composition problem, as well as providing an efficient
planning environment oriented to web service
composition. Therefore, a visual tool which enables the
design and solving of planning problems has been
developed. The tool can serve as a general purpose
planning system, while at the same time it facilitates the
requirements of planning for web service composition.</p>
      <p>The rest of the paper is organised as follows: in
Section 2 issues related to web service composition as a
planning problem are discussed. Section 3 presents the
visual tool developed to accomodate visual design of
planning problems, while Section 4 provides a case study
concerning the use of the tool to represent a web service
composition problem. Finally, Section 5 concludes and
presents future goals.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Web Service Composition as a Planning</title>
    </sec>
    <sec id="sec-3">
      <title>Problem</title>
      <p>
        In order to employ planning, a web service
composition problem must be reflected to a planning
problem. The desired outcome of the complex service is
described as a goal state, while simple web services play
the role of planning operators, or actions. The planner
then will be responsible for finding an appropriate plan,
i.e. an appropriate sequence of simple web service
invocations, to achieve the goal state [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The produced
plan will eventually constitute the description of the
complex service.
      </p>
      <p>An important benefit of the planning approach in
general is the exploitation of knowledge that has been
accumulated over years of research on the field of
planning. Therefore, well known planning algorithms,
techniques and tools can be used to the advantage of
efficient and seamless web service composition.</p>
      <p>
        There are many issues to be tackled both from the
planning community and the web service community in
order to handle web service composition as a planning
problem [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Some of them are the following:
! New expressive languages for representing web
service actions, unifying existing standards of
PDLL [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and OWL-S [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
! Efficient planners which produce quality plans that
synthesize complex web services.
! Web Service plan verification [21].
! Efficient Web Service plan execution [
        <xref ref-type="bibr" rid="ref21">22</xref>
        ].
! Monitoring web service plan execution and
repairing the plan in cases where web service
execution failed [
        <xref ref-type="bibr" rid="ref22">23</xref>
        ].
! Mixing information retrieval and plan execution
[
        <xref ref-type="bibr" rid="ref23">24</xref>
        ][
        <xref ref-type="bibr" rid="ref24">25</xref>
        ].
      </p>
      <p>A slightly different approach within the same field is
HTN (Hierarhical Task Network) planning. In this case,
the desired outcome is still described as a goal state, but
the planner tries to supply a solution by decomposing the
goal into smaller ones. The process reaches an end when
appropriate simple web services which satisfy these goals
have been found.</p>
      <p>This technique enables new web services to be created
on demand, offering non-predetermined functionality to
the users. Furthermore, as the entire process is automatic
and dynamic, cases of service failures can be handled.
Therefore, if a web service invoked at some step of a plan
is unavailable, an alternative plan can be generated and
executed.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref25">26</xref>
        ] and [27] a transformation method of OWL-S
processes into a hierarchical task network is presented.
OWL-S processes are, like Hierarhical Task Networks,
pre-defined descriptions of actions to be carried out to get
a certain task done, which makes the transformation
rather natural. The advantage of the approach is its ability
to deal with very large problem domains; however, the
need to explicitly provide the planner with a task it needs
to accomplish may be seen as a disadvantage, since this
requires descriptions that may not always be available in
dynamic environments.
      </p>
      <p>Another approach in using planning techniques for
Semantic Web Service composition is in [28], where the
planner uses services as STRIPS operators to compose a
plan, given the goal and a set of basic services. The Java
Expert Shell System (JESS) [29] has been used to
implement the planner and a set of JESS rules that
translate DAML-S (a precursor to OWL-S) descriptions
of atomic services into planning operators.</p>
      <p>In order to enable the construction of composite web
services, a number of composition languages have been
proposed by the software industry. However, the
handiwork of specifying a business process with these
languages through simple text or XML editors is tough,
complex and error prone. Visual support can ease the
definition of business processes.</p>
      <p>So far, a few visual tools that accomodate web service
composition mainly through the use of BPEL4WS have
appeared [30][31]. However, to the best of our
knowledge, there is no visual tool that combines visual
planning problem design with web service composition.</p>
    </sec>
    <sec id="sec-4">
      <title>3. The VLEPpO Tool</title>
      <p>
        VLEPpO (Visual Language for Enhanced Planning
Problem Orchestration) is an integrated system for
visually designing and solving planning problems. It
offers an efficient and easy-to-use graphical interface, as
well as compatibility and interoperability with PDDL
(Planning Domain Definition Language), which is
considered to be a standard for the definition of planning
domains and corresponding problems [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ][
        <xref ref-type="bibr" rid="ref17">17</xref>
        ][
        <xref ref-type="bibr" rid="ref18">18</xref>
        ][
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
The implementation language chosen is Java, therefore
the tool adopts Java’s portability and reliability. Further
advantages that justify the choice of this language are its
ability to handle graphical interfaces and its convenience
when it comes to managing web services.
      </p>
      <p>The main feature of the tool is the visual
representation of planning domains and planning
problems. Coloured shapes which correspond to various
elements of PDDL are used, and ontologies which reflect
the structure of a domain are created. These ontologies
are combined with operators to express a planning
domain in terms of the PDDL language. Furthermore,
planning problems can be created based on this domain.
The tool guides the designer in order to avoid mistakes
and inconsistencies.</p>
      <p>The system imports the definitions of simple, atomic
web services expressed in OWL-S and translates them to
planning operators. Inputs and preconditions of OWL-S
web services are treated as relations to be queried in the
precondition list, while outputs are treated as atoms to be
added through the operator's add list. Finally, effects are
also atoms to be either added through the add-list or
deleted, through the delete-list. In the following case
study, we assume the existence of only information
requesting web services that just return results (outputs)
to be consumed as inputs by other web services.
However, this does not limit our tool only to information
providing web services.</p>
      <p>The system exports the plan of web service
compositions into OWL-S definitions of composite web
services (processes). Since plans are partially ordered, the
composite processes control constructs can include
sequences of actions (atomic web services) (Fig. 1a),
splits of actions (or sequences of actions) (Fig. 1b),
splitsjoins of actions (or sequences of actions) (Fig. 1c), or
combinations of the above (Fig. 1d).</p>
      <p>WS1
WS1
WS1
WS1
WS4</p>
      <p>WS2
(a)
WS2
WS4
(b)
WS2
WS4
(c)
WS2
(d)</p>
      <p>WS3
WS3
WS5
WS3
WS5
WS3
WS5</p>
      <p>WS6
WS1
The main goal during the implementation of the
graphical component of the tool was to keep the interface
as simple and efficient as possible, but, at the same time,
represent accurately the features of PDDL. The range of
PDDL elements that can be represented in the tool is quite
wide, and covers the elements that are used more
frequently in contemporary planning domains and
problems.</p>
      <p>Additional features of the tool include exporting the
domains and problems to PDDL, as well as importing and
visualising existing domains and problems from PDDL.
Therefore, the designer is released by the requirement to
be familiar with the language syntax, and is offered the
ability to manipulate domains and problems in a more
intuitive way.</p>
      <p>Finally, in order to accomodate the interoperability of
the system with other planning systems that actually
perform the planning procedure, a web service client
component has been provided. Thus, the user is not
restricted to a single planning algorithm, but has the
ability to experiment.</p>
    </sec>
    <sec id="sec-5">
      <title>4. Case Study</title>
      <p>In this chapter, a web service composition example
will be presented, in order to demonstrate the expression
of web service aspects in terms of planning, and the use
of VLEPpO for the visualization of these elements.</p>
      <p>The problem at hand is the specification of directions
between two residences, whose occupants are specified
by their full names and ID numbers. The solution to this
problem will be provided by a composite web service
which accepts as input the occupant names and IDs, uses
the corresponding phone numbers and addresses and
produces a list of directions, taking into account
information about bus and metro routes. This web service
will be formed by the composition of several simple web
services, each offering partially the required functionality.</p>
      <p>In this case, the web service composition problem is
reflected to a planning problem. Therefore, elements such
as names and addresses are represented as predicates in
the planning domain, while each simple web service is
expressed as an operator. Moreover, the composed web
service is represented by the produced plan. Finally, the
automated web service composition will take place by
means of applying well known planning algorithms.</p>
      <p>In the following, details about the example and
screenshots of the visual tool will be presented to
demonstrate the visualization of the aforementioned
elements.</p>
      <p>Relations, or predicates as they are also referred to in
PDDL, are used to represent elements of the planning
domain such as persons, addresses, phone numbers and
areas. For each person, the elements that are considered
known, and for which corresponding classes exist, are
their first and last name, and their ID number. Likewise,
the elements concerning addresses are street name,
number and postal code. As far as phones are concerned,
area codes and the actual phone numbers are represented,
while for areas, larger and specific are the characteristics
of interest. In addition, other predicates were used to
represent directions, metro information and bus
information; however these are not demonstrated here as
they are trivial, due to the lack of arguments.
represented by circles. The corresponding PDDL code for
these predicates is demonstrated in Fig. 5. In this case,
typed PDDL is used, although the tool has the ability to
export to non-typed PDDL as well.</p>
      <p>In the Appendix we show how this information is
represented in an OWL ontology, which is automatically
imported and translated to PDDL representation.</p>
      <p>As already mentioned, simple web services are
represented as operators, and the elements mentioned
above play the role of preconditions and results of these
operators. Simple web services are imported from
OWLS descriptions, such as the one shown in the Appendix,
which corresponds to the operator findAreafromCodes
(Fig. 9 &amp; 13). The visual notation used for representing
operators is a rectangle divided into three parts. The items
on the left part constitute the preconditions that must hold
for the operator to be applied, the right part contains the
results after the application of the operator, while the
middle part holds parameters of the operator.</p>
      <p>In the following, the available web services and the
corresponding screenshots of their representations will be
presented (Fig. 6-12). The available web services include:
! An address lookup service, which provides addresses
of people given their names and IDs.
! Another address lookup service, which again provides
addresses, given phone numbers of the occupants.
! A phone number lookup service which accepts as
input the personal data of a person and provides their
phone numbers.</p>
      <p>An area specification service, which designates the
area a person lives in, based on their postal codes and
phone area codes.</p>
      <p>Metro information and bus information services,
which offer information about metro and bus routes,
respectively.</p>
      <p>A web service which determines the most suitable
directions between two specified locations,
considering information about metro and bus routes.</p>
      <p>At any point during the creation of the domain, the
ability to export it to PDDL is offered. Indicative PDDL
code for one of the aforementioned operators is
demonstrated in Fig. 13.</p>
      <p>(:action findAreaFromCodes
:parameters ( ?areaCodeObj - areaCode
?pNumberObj - pNumber
?largerObj - larger
?specificObj - specific
?streetObj - street
?numberObj - number
?postCodeObj - postCode )
:precondition (and (phone ?areaCodeObj ?pNumberObj)
(address ?streetObj ?numberObj
?postCodeObj))
:effect (and (area ?largerObj ?specificObj)
(not (phone ?areaCodeObj ?pNumberObj))
(not (address ?streetObj ?numberObj
?postCodeObj))))</p>
      <p>So far, the planning domain has been created and the
inputs and outputs of the web services have been
modelled. Corresponding planning problems can thus be
expressed, which will provide the actual data for planning
algorithms to be executed. Therefore, a plan which
represents the web service composition will be produced.
Such a problem is demonstrated below. The task is to find
directions between the residences of two of the authors,
given their names and phone numbers.</p>
      <p>A planner will process the aforementioned information
to provide a plan, which will in turn be a description of
the complex web service. Alternative plans are possible,
resulting in different complex web services. The final
plan depends not only on the available services, but also
on the planner of choice, as different algorithms may be
used, and different heuristics and cost functions may be
taken into account.</p>
      <p>In the following, the shortest plan along with an
alternative one will be provided for completeness. In the
context of this example, the shortest plan is the plan that
involves fewer simple web services than any other plan.
The actions of the plan are:
1. findAddressFromName (for first person)
2. findAddressFromName (for second person)
3. findPhoneFromPerson (for first person)
4. findPhoneFromPerson (for second person)
5. findAreaFromCodes (for first person)
6. findAreaFromCodes (for second person)
7. findMetroInformation
8. findBusInformation
9. giveDirections</p>
      <p>Altough the actions are mentioned in a specific order,
the above plan is in fact partially ordered, that is, as long
as certain restrictions hold, the actions may be executed in
any order. In particular, these restrictions include
findAreaFromCodes actions to be executed after
corresponding findAddressFromName and
findPhoneFromPerson actions. Furthermore, both
findAreaFromCodes actions included in the plan must be
executed before findMetroInformation and
findBusInformation actions. Finally, the action that will
be executed last is giveDirections, which will result in
reaching the desired final state. The ordering of the
actions of the plan and the ability to execute actions in
different order depends on the planner of choice.</p>
      <p>An alternative plan with the same length that achieves
the desired goal state is the following:
1. findPhoneFromPerson (for first person)
2. findPhoneFromPerson (for second person)
3. findAddressFromPhone (for first person)
4. findAddressFromPhone (for second person)
5. findAreaFromCodes (for first person)
6. findAreaFromCodes (for second person)
7. findMetroInformation
8. findBusInformation
9. giveDirections</p>
      <p>Although the plan remains partially ordered, more
restrictions than before must hold. Moreover, in larger
domains, even more plans with varying qualities could be
produced. In classic planning problems, the best plan
would be chosen according to some criteria. However, in
the web service domain, the ability to select between
diffent plans, therefore different complex web services, is
essential, as the stability and availability of simple web
services cannot be assumed.</p>
    </sec>
    <sec id="sec-6">
      <title>5. Conclusions and Future Work</title>
      <p>In this paper several aspects of the web service
composition issue were examined. In particular,
approaching the problem using Artificial Intelligence
planning techniques was described, and the visual tool
VLEPpO, which was developed for this purpose, was
presented. The tool is capable of describing a wide range
of planning domains and problems, as most of the
elements of the PDDL language can be visually
represented and manipulated. Furthermore, a case study
was provided in order to demonstrate the use of the tool
and the process of composing web services through
planning.</p>
      <p>Our future goals include extending the tool in order to
enhance its expressive ability. This will result in more
efficient definitions of web service composition
requirements. Specifically, including HTN planning
elements and constructs will enable the description of the
desired results of a composed service in terms of complex
goals, which can be decomposed into simpler goals until
web services which satisfy them can be found. It is
estimated that HTN planning will bring the tool closer to
semantic web service composition.</p>
      <p>Moreover, another improvement will be the visual
representation of produced plans. The plan readability
will be significantly increased and comparisons between
different plans will be possible. As far as plan
comparisons are concerned, plans metrics can also be
included in the tool, thus offering a wider range of
options to the designer.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>This work was partially supported by a PENED
program (EPAN M.8.3.1, No. 03!"73), jointly funded by
the European Union and the Greek government (General
Secretariat of Research and Technology).
International Planning Competition International Conference on</p>
      <sec id="sec-7-1">
        <title>Services",</title>
        <p>OWL-S</p>
        <p>Release,
2003,
"Reasoning about Actions for e-Service Composition", ICAPS
2003 Workshop on Planning for Web Services.
Scheduling Web Service based on XML-RPC", ICAPS 2003</p>
      </sec>
      <sec id="sec-7-2">
        <title>Workshop on Planning for Web Services.</title>
        <p>Knoblock
C.,</p>
        <p>Ambite J.L., "A</p>
      </sec>
      <sec id="sec-7-3">
        <title>Integration</title>
      </sec>
      <sec id="sec-7-4">
        <title>Approach to Dynamic Composition of</title>
      </sec>
      <sec id="sec-7-5">
        <title>Services", ICAPS 2003 Workshop on Planning for</title>
      </sec>
      <sec id="sec-7-6">
        <title>View</title>
        <p>Semantics: Science, Services and Agents on the World Wide</p>
      </sec>
      <sec id="sec-7-7">
        <title>Web Services Composition Using SHOP2", ICAPS 2003</title>
      </sec>
      <sec id="sec-7-8">
        <title>Workshop on Planning for Web Services.</title>
        <p>Composing Services Described in DAML-S", ICAPS 2003</p>
      </sec>
      <sec id="sec-7-9">
        <title>Workshop on Planning for Web Services.</title>
        <p>Language and Environment for Composing Web Services", In
Proceedings of the 2005 ACM/IEEE International Conference
Nov 7-11 2005, IEEE Press
Jiménez-Peris, R., "ZenFlow: A Visual Tool for Web Service
Composition", IEEE Symp. on Visual Languages and
Human</p>
      </sec>
      <sec id="sec-7-10">
        <title>Centric Computing. Dallas, Texas. Sept. 2005</title>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Appendix – OWL-S Case Study</title>
      <p>Here we include the predicates and the simple web
service (operator) findAreaFromCode of the case study
presented in Section 4.
&lt;!DOCTYPE rdf:RDF [
&lt;!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" &gt;
&lt;!ENTITY ex "http://lpis.csd.auth.gr/find-directions.owl#" &gt;
]&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;owl:imports rdf:resource="http://www.daml.org/services/
owl-s/1.0DL/Service.owl"/&gt;
&lt;owl:imports rdf:resource="http://www.daml.org/services/
owl-s/1.0DL/Process.owl"/&gt;
&lt;owl:Class rdf:ID="Predicate"/&gt;
&lt;owl:Class rdf:ID="Address"&gt;</p>
      <p>&lt;rdfs:subClassOf rdf:resource="#Predicate"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:ID="Area"&gt;</p>
      <p>&lt;rdfs:subClassOf rdf:resource="#Predicate"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:ID="Phone"&gt;</p>
      <p>&lt;rdfs:subClassOf rdf:resource="#Predicate"/&gt;
&lt;/owl:Class&gt;
&lt;process:Input rdf:ID="Phone-In"&gt;
&lt;process:parameterType rdf:datatype="&amp;xsd;anyURI"</p>
      <p>&gt;&amp;ex;Phone&lt;/process:parameterType&gt;
&lt;/process:Input&gt;
&lt;process:UnConditionalOutput rdf:ID="Area-Out"&gt;
&lt;process:parameterType rdf:datatype="&amp;xsd;anyURI"</p>
      <p>&gt;&amp;ex;Area&lt;/process:parameterType&gt;
&lt;/process:UnConditionalOutput&gt;
&lt;process:AtomicProcess rdf:ID="findAreaFromCodes"&gt;</p>
      <p>&lt;process:name
rdf:datatype="&amp;xsd;string"&gt;findAreaFromCodes&lt;/process:name&gt;
&lt;process:hasInput rdf:resource="#Phone-In"/&gt;
&lt;process:hasInput rdf:resource="#Address-In"/&gt;
&lt;process:hasOutput rdf:resource="#Area-Out"/&gt;
&lt;/process:AtomicProcess&gt;</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Leymann</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <article-title>"Web Services: Distributed Applications without Limits - An Outline"</article-title>
          ,
          <source>Proc. Database Systems for Business, Technology and Web (BTW</source>
          <year>2003</year>
          ), Weikum G.,
          <string-name>
            <surname>Schöning</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rahm</surname>
            <given-names>E.</given-names>
          </string-name>
          , (Eds.),
          <source>GI-Edition - Lecture Notes in Informatics (LNI)</source>
          , P-
          <volume>26</volume>
          , Bonner Köllen Verlag,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Booth</surname>
            <given-names>D.</given-names>
          </string-name>
          et al.,
          <article-title>"Web Services Architecture"</article-title>
          , W3C Working Draft, Aug.
          <year>2003</year>
          . http://www.w3.org/TR/ws-arch/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>John</given-names>
            <surname>Miller</surname>
          </string-name>
          , Kunal Verma, Preeda Rajasekaran, Amit Sheth, Rohit Aggarwal, Kaarthik Sivashanmugam, “
          <string-name>
            <surname>WSDL-S: Adding Semantics to WSDL - White</surname>
            <given-names>Paper”</given-names>
          </string-name>
          ,
          <source>July</source>
          <volume>15</volume>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Universal</given-names>
            <surname>Description</surname>
          </string-name>
          ,
          <article-title>Discovery and Integration (UDDI)</article-title>
          . Available online via http://www.uddi.org/ [accessed: May 23,
          <year>2007</year>
          ]
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Simple</given-names>
            <surname>Object Access</surname>
          </string-name>
          <article-title>Protocol (SOAP)</article-title>
          . Available online via http://www.w3.org/TR/soap/ [accessed: May 23,
          <year>2007</year>
          ]
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <source>[6] OWL-S 1.0 Release</source>
          . Available online via http://www.daml.org/services/owl-s/1.0/ [accessed: May 25,
          <year>2007</year>
          ]
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Web</given-names>
            <surname>Service Semantics -</surname>
          </string-name>
          WSDL-S. Available online via http://www.w3.org/Submission/WSDL-S/ [accessed:May 23,
          <year>2007</year>
          ]
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Piccinelli</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>"Service Provision and Composition in Virtual Business Communities"</article-title>
          ,
          <source>Tech. Report HPL-1999-84</source>
          , Hewlett-Packard, Palo Alto, CA,
          <year>1999</year>
          . http://www.hplhp.com/techreports/1999/HPL-1999-84.html
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Aalst</surname>
            <given-names>W. van der</given-names>
          </string-name>
          ,
          <article-title>"Don't Go with the Flow: Web Services Composition Standards Exposed"</article-title>
          ,
          <source>IEEE Intelligent Systems</source>
          , Vol.
          <volume>18</volume>
          , No.
          <issue>1</issue>
          , pp.
          <fpage>72</fpage>
          -
          <lpage>76</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Leymann</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <article-title>"Web Services Flow Language (WSFL 1.0)"</article-title>
          , IBM, May
          <year>2001</year>
          . http://www3.ibm.com/software/solutions/webservices/pdf/WSFL.pdf
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Thatte</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>"</surname>
            <given-names>XLANG</given-names>
          </string-name>
          :
          <article-title>Web Services for Business Process Design"</article-title>
          , Microsoft, Redmond, Wash.,
          <year>2001</year>
          . http://www.gotdotnet.com/team/xml_wsspecs/xlangc/default.htm
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Thatte</surname>
            <given-names>S</given-names>
          </string-name>
          . (ed.),
          <article-title>"Business Process Execution Language for Web Services (Version 1.1)"</article-title>
          , May
          <year>2003</year>
          . http://www106.ibm.com/developerworks/webservices/library/ws-bpel
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Carman</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serafini</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Traverso</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <article-title>"Web Service Composition as Planning"</article-title>
          ,
          <source>ICAPS 2003 Workshop on Planning for Web Services.</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Milani</surname>
            <given-names>Alfredo</given-names>
          </string-name>
          ,
          <article-title>"Planning and Scheduling for the Web Roadmap", Technical Coordination Unit for Planning and Scheduling for the Web</article-title>
          ,
          <source>PLANET Network of Excellence, March</source>
          <year>2003</year>
          , http://www.dipmat.unipg.it/~milani/webtcu/
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Koehler</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <article-title>"Web Service Composition: Current Solutions and Open Problems"</article-title>
          ,
          <source>ICAPS 2003 Workshop on Planning for Web Services</source>
          , pp.
          <fpage>28</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Ghallab</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Howe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knoblock</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McDermott</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ram</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veloso</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weld</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Wilkins</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>"PDDL -- the planning domain definition language"</article-title>
          .
          <source>Technical report</source>
          , Yale University, New Haven, CT (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Long</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>"PDDL2.1: An extension to PDDL for expressing temporal planning domains"</article-title>
          .
          <source>Journal of Artificial Intelligence Research</source>
          ,
          <volume>20</volume>
          (
          <year>2003</year>
          ),
          <fpage>61</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Edelkamp</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Hoffmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <source>"PDDL 2</source>
          .
          <article-title>2: The Language for the Classical Part of IPC-4"</article-title>
          ,
          <source>in Proceedings of the Automated Planning and Scheduling (Whistler</source>
          <year>2004</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Gerevini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Long</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>"Plan Constraints and Preferences in PDDL3"</article-title>
          ,
          <source>Technical Report R.T. 2005-08-47</source>
          , Department of Electronics for Automation, University of Brescia, Italy.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>OWL</given-names>
            <surname>Services Coalition</surname>
          </string-name>
          ,
          <article-title>"OWL-S: Semantic Markup for 1.0</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Varela</surname>
            <given-names>M. L. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aparicio</surname>
            <given-names>J. N.</given-names>
          </string-name>
          ,
          <source>do Carmo Silva S., "A</source>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Blythe</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deelman</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gil</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <article-title>"Planning for workflow construction and maintenance on the Grid"</article-title>
          ,
          <source>ICAPS 2003 Workshop on Planning for Web Services.</source>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Thakkar</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Kuter</surname>
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dana</surname>
            <given-names>N.</given-names>
          </string-name>
          and
          <string-name>
            <surname>James</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <article-title>"Information gathering during planning for Web Service composition"</article-title>
          ,
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          ,
          <volume>3</volume>
          (
          <issue>2-3</issue>
          ), pp.
          <fpage>183</fpage>
          -
          <lpage>205</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Sirin</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Nau</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>"HTN planning for Web Service composition using SHOP2"</article-title>
          , Web [31]
          <string-name>
            <surname>Martinez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pérez-Sorrosal</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patiño-Martínez</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <article-title>&lt;rdf:RDF xml:base="http://lpis.csd.auth.gr/find-directions.owl" xmlns:owl="http://www</article-title>
          .w3.org/
          <year>2002</year>
          /07/owl#
          <article-title>" xmlns:process="http://www</article-title>
          .daml.org/services/owl-s/1.0DL/ Process.owl#
          <article-title>" xmlns:rdfs="http://www</article-title>
          .w3.org/
          <year>2000</year>
          /01/rdf-schema#
          <article-title>" xmlns:rdf="http://www</article-title>
          .w3.org/
          <year>1999</year>
          /02/22-rdf
          <article-title>-syntax-ns#"&gt; &lt;owl:DatatypeProperty rdf:ID="pNumber"&gt; &lt;rdfs:domain rdf:resource="#Phone"/&gt; &lt;rdfs:range rdf:resource="&amp;xsd;int"/&gt; &lt;/owl:DatatypeProperty&gt; &lt;owl:DatatypeProperty rdf:ID="areaCode"&gt; &lt;rdfs:domain rdf:resource="#Phone"/&gt; &lt;rdfs:range rdf:resource="&amp;xsd;int"/&gt; &lt;/owl:DatatypeProperty&gt; &lt;owl:DatatypeProperty rdf:ID="postCode"&gt; &lt;rdfs:domain rdf:resource="#Address"/&gt; &lt;rdfs:range rdf:resource="&amp;xsd;int"/&gt; &lt;/owl:DatatypeProperty&gt; &lt;owl:DatatypeProperty rdf:ID="street"&gt; &lt;rdfs:domain rdf:resource="#Address"/&gt; &lt;rdfs:range rdf:resource="&amp;xsd;string"/&gt; &lt;/owl:DatatypeProperty&gt; &lt;owl:DatatypeProperty rdf:ID="number"&gt; &lt;rdfs:domain rdf:resource="#Address"/&gt; &lt;rdfs:range rdf:resource="&amp;xsd;int"/&gt; &lt;/owl:DatatypeProperty&gt; &lt;owl:DatatypeProperty rdf:ID="specific"&gt; &lt;rdfs:domain rdf:resource="#Area"/&gt; &lt;rdfs:range rdf:resource="&amp;xsd;string"/&gt; &lt;/owl:DatatypeProperty&gt; &lt;owl:DatatypeProperty rdf:ID="larger"&gt; &lt;rdfs:domain rdf:resource="#Area"/&gt; &lt;rdfs:range rdf:resource="&amp;xsd;string"</article-title>
          /&gt; &lt;/owl:DatatypeProperty&gt;
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>