<!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 />
    <article-meta>
      <title-group>
        <article-title>Generative Composition of Web Services?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rajesh Thiagarajan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wolfgang Mayer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Markus Stumptner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Advanced Computing Research Centre, University of South Australia</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <fpage>49</fpage>
      <lpage>54</lpage>
      <abstract>
        <p>We present a consistency-based service composition approach, where composition problems are modelled in a generic manner using a generative constraint-based formalism. We show that in our framework concise formal speci cation of service con guration problems is possible. Preliminary results indicate that our approach is scalable and competitive with other state-of-the-art composition systems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>{ We introduce connection components that act as connectors between services.</p>
      <p>The explicit representation of connectors provides a uniform interface contract
between services and also serves as a means to explicitly model the
providerconsumer relationship between services. A connection component also holds
a representation of the data values that is passed along the connection.
{ We introduce explicit components to capture the semantics of complex data
objects. This facilitates the uniform handling of service and data components
? This work was partially supported by the Australian Research Council (ARC) under
grant DP0988961.
n
o
i
tca se
icefi Pah
p
S
g
ison se
opm Pah
C
Configuration Problem</p>
      <p>GCSP Formalism
Configurator
CSP-Solver
Composition</p>
      <p>InPNameHomer</p>
      <p>QantasQuery
BinConn2</p>
      <p>BinConn3
PName QantasAirBooking</p>
      <p>FlightInfo</p>
      <p>BinConn1
OutConfirmation</p>
      <p>BookingConf
(a) Composition Process</p>
      <p>(b) Partial Solution
in the con guration, and has the additional bene t that generic constraints
can be used to impose global invariants on data structures.</p>
      <p>In our extended framework, the service composition problem is posed as a
con guration task, where a set of service components and their interconnections
are sought in order to satisfy a given goal. The compositions computed in our
framework can be synthesised into a form suitable to execute the composed
service such as BPEL and OWL-S. We show that concise formal speci cation
of service con guration problems is possible. In our framework, GCSPs are
synthesised into classic CSPs allowing e cient CSP algorithms to potentially
help tune implementations of reasoning tasks. Our formalism is particularly useful
in scenarios where the problem size is unknown. Preliminary evaluation shows
that GCSPs can quickly nd solutions for large non-trivial problems.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Service Composition by Con guration</title>
      <p>
        Con guration is the process of assembling larger systems from individual
components by extending an initial partial solution representing a goal until all the
requirements are satis ed. A con guration problem is de ned over a so-called
con guration domain [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] which represents the types of components to be con
gured, their properties and a set of generic constraints that have to be satis ed.
De nition 1 (Con guration Domain) A con guration domain is a tuple
hT ; v; C; P; D; i, where
{ T is a nite set of service types and data object types.
{ The partial order v denotes the subtype relationship between the types in
T . We write 0v to imply that 0 is a subtype of type ; 0 inherits all
properties and constraints of .
{ C is an in nite set of component variables representing instances of services
and data objects.
{ P is the set of property variables. We use the notation c:p to denote the CSP
variable representing property p of the service instance represented by the
component variable c.
{ D is the set of domains of the component and property variables. This set
includes the sets C, numbers, strings, and may include other domain-speci c
sets if required.
{ is a nite set of generic constraints including activation and resource
constraints.
      </p>
      <p>Variables in C are initially considered inactive, but may be activated by a generic
constraint. This can be seen as \expansion" operation, where the CSP is extended
with additional variables (and possibly constraints). Only the active variables
participate in the solution process, while the inactive variables remain hidden
until activated. Hence, a valid con guration is an assignment of values to all
active variables in C such that all constraints are satis ed.</p>
      <p>We use the following scenario to illustrate our approach, where ights between
two speci c cities on a given date are to be purchased. A partial model of service
types in our travel domain is shown in Figure 2, including the available service
and data types, service interfaces and relationships (modelled as inheritance),
and available service instances. In our example T includes, among others, the
service types FlightQuery and AirlineTicketBooking, component type BinConn
representing connections, and data type BookingCon rmation.</p>
      <p>Generic constraints are the primary constructs for expressing the semantics
of components and data types in the GCSP formalism. In generic constraints,
meta-variables act as placeholders for component variables. Generic constraints
can be seen as prototypical constraints on a meta-level that are instantiated into
\ordinary" constraints over variables in the CSP.</p>
      <p>A generic constraint is a clause of the form A1 ^ : : : ^ Am ) B1 _ : : : _ Bn
where the A's and B's are predicates over meta-variables. A generic constraint is
consistent if and only if the constraint is satis ed for all bindings of meta-variables
to active CSP variables.</p>
      <p>
        Activation constraints are a form of generic constraints that are used to
activate additional CSP variables once new components are introduced into a
con guration. Conceptually, activation constraints govern the \growing" of the
constraint network. Activation constraints are of the form Cv =) C :p 2^ 0
and denote that each component of type (or a sub type) has a property p of
type 0. The properties that have C as their domain are referred to as ports,
while the remaining properties of primitive data type are called attributes. For
example, the activation constraint X vFlightQuery =) X :request 2^C; X :info 2^C:
ensures that for each constraint variable representing a service component of
type FlightQuery (see Figure 2), the port variables X:request and X:inf o are
activated with domain C allowing them to be connected with other components.
Data Flow is captured by distinguished BinConn components that act as
connectors between service components in the con guration. A BinConn component
acts as an interface contract between service components by providing a uniform
interface for the components connected to each port. Here, varying matching
strategies, such as the well-known subsumption match [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], can be employed.
Directionality is modelled by constraints that enforce a connection to connect a
data consumer to a data provider where the supplied object is compatible with
the requested data type.
      </p>
      <p>Service Semantics are captured by specifying attributes, IO parameters, their
types, and relationships between IO parameters in form of generic constraints.
For example, \A FlightRequest object is expected through the request port" is
modelled as S vFlightQuery ^ S :request=BC =)BC vBinaryConn ^
BC :tout vFlightRequest ^ BC :out=S :
Structural Constraints ensure service compositions are sound. In particular,
constraints to prohibit the direct connection of two connection components and
cyclic data ow paths are required. We de ne a component u to depend on
outputs of v, denoted as u v, if a path from an input port of u to a port of v
exists in the CSP graph. The integrity constraint used to ensure that all CSP
instances are acyclic can then be expressed as the generic constraint C 6 C.
Resource constraints are used to express aggregate operations over attributes
of multiple components and to impose limits on the number of components in
a con guration. For example, the cost constraint in our example is modelled
as fS : ight :pricejS vBookingCon rmationg 400 . Resource constraints may
also trigger the addition of new components in the con guration.
Goal Requirements and User Inputs are modelled using distinguished
components: available inputs are modelled as components that supply one available
user input; these components are not instantiated by default, but are created by
the GCSP solver on demand. Required outputs are also modelled as components;
from these components, a partial con guration that represents the goal is created,
which must subsequently be completed by the GCSP solver.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Computing Service Compositions</title>
      <p>A Con guration problem for a given con guration domain D = hT ; v; C; P; D; i
is de ned as a tuple hV I ; I ; Di, where V I C [ P is the set of initial variables,
where P is the set of property variables activated by components in C, and I is
a set of constraint instances on V I .</p>
      <p>The solution process is illustrated in Figure 1a. Initially, the constraint
network R consists of a partial composition hV I ; I i that represents the goal
requirements. During the composition process, R is dynamically extended by
adding new variables and constraints. After each extension, R represents a
standard CSP (without generic constraints); therefore, standard algorithms can
be applied to solve the CSP. The CSP R will grow
1. if a type is assigned to a component variable c, fresh variables representing
the ports and properties of are introduced to satisfy activation constraints,
2. if a port variable has been chosen for assignment and no existing component
is eligible, a new component is added to R, or
3. if a resource constraint cannot be satis ed using the current set of components.</p>
      <p>The constraint network R continues to grow until all generic constraints are
satis ed. Once all variables have been assigned the solving process terminates and
the variable assignments are returned; the components assigned to the variables
in the completed network represents a valid con guration. Otherwise, a variable
is chosen for assignment and constraints are propagated. If no alternative value
assignment remains for a variable, the (G)CSP is inconsistent and a di erent
choice for a preceding variable assignment is explored.</p>
      <p>To ensure termination of our composition process, we employ an iterative
strategy that limits the number of components, where the threshold is iteratively
increased until a solution is found.Solving iteratively allows us to limit the e ects
of wrong component choice that would otherwise have resulted in inde nite
expansion of the CSP.</p>
      <p>
        A partial solution to the example problem is shown in Figure 1b, where the
con guration grows beginning with the goal speci cation (OutCon rmation).
Since the example only involves a few components, it can be solved almost
instantaneously in our framework. To characterise the performance of our framework,
we conducted experiments on a generalised version well-known Producer-Shipper
problem [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In the adapted scenario, multiple instances of producer and shipper
process exists with restrictions on their combination. For example, a product
can only be shipped by certain vendors. Our largest problem with 28 parallel
producer-shipper processes (1400 services) can be solved in roughly 3 minutes {
a result quite competitive with other approaches.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Discussion and Future Work</title>
      <p>
        We presented a consistency-based service composition approach in which a
service composition problem is treated as a con guration task. We showed that
composition problems can be concisely represented by adopting a declarative,
constraint-based meta model. By translating the service composition problem as
a dynamic con guration task, we overcome the limitations of earlier work where
the structure of a composition must be known a priori [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]. Such a xed
scenario can be implemented by imposing constraints on the number of services
and their interconnections, while cost-based optimisation and preferences [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
can be integrated through variable and value selection heuristics.
      </p>
      <p>
        Since the GCSPs formalism can simultaneously handle constraints on di erent
levels of abstraction, conceptual and instance speci c information can be exploited
for problem speci cation and also in the solving process. Speci c information
derived from service instances has already been applied to synthesise concrete
executable work ows in domains where conceptual information alone is insu
cient to generate precise compositions [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Our framework adopts similar ideas,
but provides a uniform formalism in which exible CSP solving strategies based
on the concrete and conceptual information present in a partial solution can be
exploited. The GCSP framework also permits hierarchical re nement of abstract
solutions, where CSP solving strategies are selected dynamically driven by the
speci c information and structure of a partial solution rather than adopting a
xed solving strategy throughout the entire solving process, as in [
        <xref ref-type="bibr" rid="ref13 ref14 ref3">3, 13, 14</xref>
        ].
      </p>
      <p>Preliminary evaluation shows that our framework is scalable to non-trivial
problems and can solve compositions with hundreds of service instances e ciently.
We are currently extending our framework to exploit work ow patterns to ensure
interactions with complex ow, for example, synchronisation and exception
handling, can be synthesised e ectively. We also plan to leverage earlier work on
consistency-based matchmaking into our framework to improve service selection
in scenarios where only partial information is available.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Pistore</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marconi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bertoli</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Traverso</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Automated composition of web services by planning at the knowledge level</article-title>
          .
          <source>In: Proc. IJCAI</source>
          . (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Trainotti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.:
          <article-title>ASTRO: Supporting Composition and Execution of Web Services</article-title>
          .
          <source>In: Proc. ICSOC</source>
          . (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <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.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nau</surname>
            ,
            <given-names>D.S.:</given-names>
          </string-name>
          <article-title>HTN planning for Web Service composition using SHOP2</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>1</volume>
          (
          <issue>4</issue>
          ) (
          <year>2004</year>
          )
          <volume>377</volume>
          {
          <fpage>396</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lecue</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leger</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>Semantic Web Service Composition Based on a Closed World Assumption. In: Proc. ECOWS</source>
          . (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>McIlraith</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Son</surname>
          </string-name>
          , T.C.:
          <article-title>Adapting Golog for composition of Semantic Web services</article-title>
          .
          <source>In: Proc. KR</source>
          . (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gomez-Perez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Cabero</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lama</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>ODE SWS: A Framework for Designing and Composing Semantic Web Services</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          <volume>19</volume>
          (
          <issue>4</issue>
          ) (
          <year>2004</year>
          )
          <volume>24</volume>
          {
          <fpage>31</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.:</given-names>
          </string-name>
          <article-title>A software framework for matchmaking based on Semantic Web technology</article-title>
          .
          <source>In: Proc. of WWW</source>
          , Budapest (
          <year>2003</year>
          )
          <volume>331</volume>
          {
          <fpage>339</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Fleischanderl</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , et al.:
          <article-title>Con guring large-scale systems with generative constraint satisfaction</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          <volume>13</volume>
          (
          <issue>4</issue>
          ) (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Haselbock,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Stumptner</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>An integrated approach for modelling complex con guration domains</article-title>
          .
          <source>In: Proc. of the 13th Int. Conf. on Expert Systems</source>
          , AI, and
          <string-name>
            <surname>Natural Language.</surname>
          </string-name>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hassine</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matsubara</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ishida</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>A Constraint-Based Approach to Horizontal Web Service Composition</article-title>
          .
          <source>In: Proc. ISWC</source>
          . (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Thiagarajan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stumptner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Service Composition With Consistency-based Matchmaking: A CSP-based Approach</article-title>
          .
          <source>In: Proc. ECOWS</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Carman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sera</surname>
            <given-names>ni</given-names>
          </string-name>
          , L.:
          <article-title>Planning For Web Services the Hard Way</article-title>
          . In: SAINT Workshops.
          <article-title>(</article-title>
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Albert</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henocque</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Con guration Based Work ow Composition</article-title>
          .
          <source>In: Proc. of ICWS</source>
          <year>2005</year>
          .
          <article-title>(</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Carman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sera</surname>
            <given-names>ni</given-names>
          </string-name>
          , L.,
          <string-name>
            <surname>Traverso</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Web Service Composition as Planning</article-title>
          .
          <source>In: ICAPS Workshop on Planning for Web Services</source>
          , Trento, Italy (
          <year>June 2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>