<!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>Deductive Synthesis of Work ows for e-Science</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Bin Yang</institution>
          ,
          <addr-line>Alan Bundy, Alan Smaill</addr-line>
          ,
          <institution>Lucas Dixon School of Informatics, The University of Edinburgh Appleton Tower</institution>
          ,
          <addr-line>Crichton Street, Edinburgh EH8 9LE</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we show that the automated reasoning technique of deductive synthesis can be applied to address the problem of machine-assisted composition of e-Science work ows according to users' speci cations. We encode formal speci cations of e-Science data, services and workows, constructed from their descriptions, in the generic theorem prover Isabelle. Work ows meeting this speci cation are then synthesised as a side-effect of proving that these speci cations can be met.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Data-intensive scienti c computing usually involves
very complicated processes that are normally composed
of many steps, each involving signi cant computation.
eScience provides a distributed problem solving environment
for many scienti c projects and researchers, in which Grid
computing is the key enabling infrastructure. Grid services
are composed into work ows to build composite e-Science
applications to achieve complex user tasks. Recent
implementations of Grid computing environments [
        <xref ref-type="bibr" rid="ref16 ref17 ref18 ref6">6, 16, 17, 18</xref>
        ]
provide work ow interfaces for users to construct
composite Grid applications more ef ciently, by either coding in
particular work ow languages, manual composition in the
provided GUI, or re-using expert-built templates.
      </p>
      <p>
        Work ow-level access to Grid resources is a
substantial step toward the realisation of the vision of e-Science.
However, the e-Science Grid will keep expanding as more
resources are incorporated into the e-Science community;
the scale and complexity of such distributed and
heterogeneous systems would make any level of assistance desirable
to even experienced users. Several projects have addressed
the problem and provided different levels of automation in
helping users compose, validate and execute their
workows, such as [
        <xref ref-type="bibr" rid="ref1 ref11">1, 11</xref>
        ].
      </p>
      <p>
        Our project focuses on the machine-assisted synthesis of
work ows to meet users' speci cations. In this paper, we
describe a novel approach of modelling Grid data and
services, in which they are extracted from their semantic
descriptions in a formal system that is a further abstraction
of the Virtual Data Language (VDL) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. We also
demonstrate how we implement the formal system in the generic
theorem prover Isabelle [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] to verify and synthesise
abstract work ows that can be later translated for middleware
through their work ow interfaces. Currently, our system
can automatically verify that work ows meet their
specication, but synthesising work ows from speci cation
requires interactive guidance. We are working towards the
automation of synthesis too.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Our Approach to Work ow Synthesis</title>
      <p>
        Current work ow environments are still far from the
reach of real scientists who are working with real scienti c
problems. To use a Grid through its work ow interface,
many users have to struggle with the following obstacles:
Considerable Expertise is required for scientists to
effectively design their work ows using interfaces to
script-based language [
        <xref ref-type="bibr" rid="ref16 ref18">16, 18</xref>
        ].
      </p>
      <p>Service Look-up is dif cult for users as there are
many service instances published by different service
providers, intended for different disciplines,
implemented over different platforms and with different
levels of encapsulation.</p>
      <p>Resource Deployment is a prohibitive task for users
due to its complexity. The abstract work ow has to
be deployed onto a network of concrete Grid resources
connected and con gured accordingly.</p>
      <p>In addition to the problems described above, there are
two further dif culties that often arise in the manual
composition approaches:
Service instances have Contextual Properties which
may need to be considered. For example, it may be
preferable to incorporate services from a certain set of
af liated providers, or produce the computing result
in a particular format depending on the local
computing architecture. However, users are usually provided
with limited information about the contextual
properties of service instances. This is mainly due to the
inadequate expressiveness of service description languages
and the heterogeneity of the Grid environment and
eScience application domains.</p>
      <p>The complexity involved in the manual composition
of work ows makes them likely to fail. The
Execution Failure of composed work ow can be very hard
to detect and avoid manually, as even advanced users
cannot easily deal with all the issues stated above.</p>
      <p>
        To address these problems, rst, we adopt a semantic
description of Grid resources. In our approach, Grid
services, data and other Grid resources are declared as objects
formally speci ed with their properties. Extra
applicationspeci c replicas of Grid services and data can be
implemented for different computing architectures or stored in
different locations, and they will have different physical
properties, location, local name, run-time parameter, etc.
However, the replicas remain logically equivalent in term
of the metadata specifying their logical properties:
ontological types and so on. We reason at this abstract
logical level. Abstract work ows then need to be compiled
into concrete ones, augmenting them with the details of
actual Grid services. The compilation process is addressed by
other projects [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and we have put hooks into our
representation to support its solution in the future.
      </p>
      <p>
        Logic descriptions of Grid resources can be obtained
through the Metadata Catalog Service (MCS) that responds
to queries of domain-speci c metadata and returns the
logical names of matching Grid services or data [
        <xref ref-type="bibr" rid="ref15 ref5">5, 15</xref>
        ].
The physical locations and names can be retrieved by the
Replica Location Service (RLS) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and Monitoring and
Discovery Service (MDS) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Second, Grid services and data are modelled as logical
formulae. Our formalisation in Isabelle is rather
straightforward, as all the property elds of Grid resource declarations
are mapped into the Isabelle record datatype. We extract the
ontology of data from the metadata used in existing Grid
applications. For example, in the application domain of
the Laser Interferonmeter Gravitational Wave Observatory
(LIGO) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the data les recording a long sequential
output of gravitational wave strain channels observed by LIGO
instruments have the ontological type of .
There are other logical properties of data,
for example, the start, end positions, and the sample rate of
the observation, as well as physical properties of concrete
replicas, such as the URL to the server where the data le is
stored and the local le name. This physical property
information is stored in order to support subsequent compilation
into a concrete work ow, even though we do not address
the compilation process in our project.
      </p>
      <p>In the data-centric e-Science environment, Grid services
can be modelled as transformations on data. Therefore, the
service metadata can be simply designed to include only the
input and output data of the Grid service. Again, physical
properties are used to declare the concrete details, including
the location, the UNIX script and the arguments to access
or invoke the service instance.</p>
      <p>By allowing the declaration of pre-conditions, which
can be the evaluations of the properties of the service and
its in/output data, as well as the relationships between
them. This allows the representation of knowledge about
the contextual properties of Grid services, for example, how
the service interacts with others, and other service-speci c
characteristics, requirements and capabilities.</p>
      <p>With the application-speci c knowledge of Grid services
encapsulated in their independent speci cations, we
implemented generic work ow operators that depict the data- ow
nature of e-Science Grid applications and are no longer
speci c to particular e-Science knowledge domains or
applications.</p>
      <p>
        The Isabelle theorem prover is used to prove that the
speci cations of the abstract work ow can be met, and the
synthesised work ow is extracted from the proved theorem,
cf. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. We use Isabelle to apply backwards search with
uni cation to synthesise the structure of the work ow and
lookup matching services. The work ow is speci ed by the
accumulated instantiations of meta variables in the
workow. These instantiations bridge the gap between the source
data and the desired data product. The proof both
synthesises the work ow and veri es that this speci cation is met.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Modelling Grid Services and Data</title>
      <p>Scienti c experiments are data-centric: data are
collected by measurement instruments, stored, processed and
analysed; later it may be retrieved, compared and derived;
or used by other researchers. e-Science is therefore
datacentric as well. It is crucial to model the data objects, as
well as the processes that transforms the data.</p>
      <p>In a data-centric Grid, services can be modelled by the
application of computational procedures that derive and
transform data. Explicit representation of these procedures,
so-called virtual data, enables the recording of data
provenance, discovery of matching services and on-demand data
generation.
where
{ LIGO-pulsar;</p>
      <p>LSC-AS_Q H1 ILWD
annotated with domain-speci c knowledge from the LIGO
elds describe the logical properties of the abstract data
stored in the data le. The ontology is extracted from the
data replica that store the pulsar data in the LIGO
knowlWe now de ne the abstract logical representation of a
is of the ontological type</p>
      <sec id="sec-3-1">
        <title>LIGO domain knowledge.</title>
        <p>is the ontological type and other</p>
        <p>The generic type of Pulsar data is de ned as an
extenedge domain:
(1)
bridge the gap between the logical data discovery, by uni
cation over the ontological type, and the instantiation of
logical data to data instances, that can be regarded as extending
the logical data with the instance-speci c properties.</p>
        <p>
          Uni cation is provided by Isabelle's implementation of
Huet's higher order algorithm [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], and supports type as
well as term variable instantiation. Uni cation is used to
select applicable data and services which are represented
using Isabelle's extensible record datatype [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
We
deeld, and then introduce sub-types (sub-classes)
        </p>
        <p>that contains only the
, by extending the base
(super-class) with extra
elds.</p>
        <p>This representation allows uni cation to supports users
querying e-Science data using domain knowledge and
semantic descriptions expressed, such as:
(3)
The query can be read as: Is there a data replica that
and describes the
?. Note that
, as the
data instances
eld. The
is existentially quanti ed. The proof of (3) will instantiate
. This instantiation will represent the desired abstract
work ow. In this way, the proof synthesises the work ow.</p>
        <p>can be instantiated to any data instance whose
data instances are either manually declared or provided by
RLS, and then translated to logical formulae as in (2). If
there is such a logical representation of a data instance of
that stores the LIGO sequence of the
rst
1000 samples, then we are able to prove the formula (3)
directly and thus</p>
        <p>is synthesised to be that data
instance; otherwise, search is needed to
nd a combination
of data instances that together satisfy the conditions in the
conjunction. We employ backward search using uni cation
with heuristics and tactics to guiding the proofs automation.
3.2</p>
        <sec id="sec-3-1-1">
          <title>Specifying Grid Service with Data</title>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>To implement our more</title>
        <p>exible and generic work ow
synthesis system, we started by extending VDL to support
types of data. The simple DAG shown in Figure 1 is an
abstract LIGO work ow example. Below, we discuss how our
system can synthesise this work ow from its speci cation.</p>
        <p>
          We need to declare the new LIGO logical data and
services that are speci ed as transformations of data:
sible record type [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] consisting of the following property
elds:
instance would require and the data that is produced as a
result of the computation performed. In this style, we have
cal and physical properties that will be extracted from
various application examples, and support pre-conditions that
depict the service requirement, local access policy,
performance model and economics model, etc.
instance declaration:
4
4.1
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Grid Work ow Composition</title>
      <sec id="sec-4-1">
        <title>Formal Speci cation of Grid Work ow</title>
        <p>are both
to be extracted.</p>
        <p>We now show how the two service types are de ned by
and
. Both
have the</p>
        <p>and
is de ned in a way similar
which is the type of raw LIGO data
(4)
where we currently model Grid services with multiple
insynthesis procedures. We plan to incorporate more
logidatatype of lists has built-in recursively-de ned
constructors that are convenient for peeling off the elements of a list
of input/output data. The
reaA work ow, which is a network composed of a number
son is that, during the synthesis of work ows, we need to
analyse each logical datum of the input/output elds. The
of Grid services, can be modelled as the accumulated data
component.
transformation. In this fashion, a Grid service is then a
singular work ow that consists of only one high-level service
The physical properties of Grid services are simply
modAbstract work ows have only work ow-level properties
elled as a string containing the arguments. Currently they
are not taken into consideration during the veri cation and
instead of concrete runtime parameters, such as the
execution arguments and physical locations. Therefore we model
common base type of work ows and processes, is now
deeld is designed to record the provenance,
which, in the current implementation, is simply constructed
elds of the work ow's
components. The runtime eld is the sum of the execution
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Work ow Veri cation</title>
        <sec id="sec-4-2-1">
          <title>So far, we have provided the sequential   and parallel   work ow combination operators. So the grammar describing our work ows is de ned as:</title>
          <p>The work ow example as shown in Figure 1 can then be
formalised using these two operators:
} p for propagating QoS properties around work ows. , the
ity of service (QoS) properties, including provenance,
runtime and reliability, which is the probability that the
profor the bene t further work, such as the recently started
project Inferring Quality of Service Properties for Grid
Applications, which aims to develop compositional calculi
cess will execute successfully. QoS information is included</p>
          <p>ned as:</p>
          <p>times.</p>
          <p>Instantiated all
current variables?</p>
          <p>N</p>
          <p>N
Find an service (Si) with output
data that unifies with the goal
output data of some variable</p>
          <p>Succeed?</p>
          <p>Y
Y</p>
          <p>Succeed?
Synthesis Succeed!</p>
          <p>introducing
(?v2 || ... || ?v3) -&gt; Si
introducing
?v2 -&gt; Si
Y</p>
          <p>Si has Multiple
Input Data?</p>
          <p>N
Synthesis Failed!
VO1 and VO2; the runtimes are 20, 30 and 20; and
the reliabilities are 0.80, 0.60 and 0.70, respectively2, then
the resulting combined work ow is:
elds for
2The work ow runtime is obtained by summing the runtime elds on
sequentially executed processes and enumerating the maximum runtime of
processes executed in parallel.</p>
          <p>The synthesis of this simple work ow is performed by
repeatedly applying to the goal the set of tactics given in
4.3</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>Work ow Synthesis</title>
        <p>Equipped with the formal speci cations of the service
instances and work ow, we are able to generate the desired
work ow from its speci cation using deductive synthesis.
de ned as in (8), the goal we need to prove is de ned in
Isabelle notation as:
which can be instantiated to be any term of the correct type,
is implicitly existentially quanti ed. The goal can
be read as What kind of work ow can satisfy the speci
(8)
?
satis es the</p>
        <p>(9)
(10)
from equation (10) can
 directly with criteria:
˝ o
be achieved as follows:</p>
        <p>inputs and outputs.
i. The meta variable ¿`«˜
fails, as there is no service that directly matching these
3. This introduces the sequential operator,  , and the
(11)
(12)</p>
        <p>.
 can now
be
in</p>
        <p>1. Trying to instantiate ¿`
¿` The deductive synthesis of
2. Unifying only the output of ¿`</p>
        <p>sults in the new goal:
a goal:
be left unknown in the query and can be instantiated during
the synthesis by calculation from the corresponding QoS
properties of the atomic Grid services from which the
workow is composed.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        Chimera [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a virtual data system that can be coupled
with distributed Data Grid services[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and the
resourcemapping sub-system Pegasus [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] to enable on-demand
execution of computation from data queries. The Chimera
Virtual Data System models the Data Grid environment
using the abstraction of Virtual Data Language (VDL) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], in
which Grid services are modelled as data transformations
that are speci ed only by the le names of in/output data.
      </p>
      <p>
        Pegasus is a planning system to reason about the
runtime properties of Grid service instances, map the abstract
work ow components to physical resources according to
users' and resource providers' preference and generate
executable work ows to the Condor work ow interface,
DAGMan [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Pegasus models Grid services as
applicationspeci c planner operators with which it reasons about
physical resources to construct a plan of deployment.
      </p>
      <p>
        The Chimera approach to work ow generation is
restrictive in terms of the work ow constructs it is capable of
supporting. In contrast, our approach supports a richer
language and uses deductive synthesis to incrementally
synthesise a work ow that has been proved to meet the
speci cation. Regarding the work ow synthesis as a theorem
proving problem offers us a rich set of well-studied
constructs, including conditional branching, iteration and
recursion, greater expressiveness of preconditions and effects,
and many powerful techniques that help us in automating
the synthesis. Representing the Grid services and data using
an extensible record datatype in Isabelle, we intend to
address resource deployment as an integrated procedure
during the work ow synthesis. Our research group has
previously contributed to the deductive synthesis of programs
with several successful projects [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ].
      </p>
      <sec id="sec-5-1">
        <title>Because of the</title>
        <p>more complex representation used, and the extra work
involved in proving that the speci cation is met, we expect
the automated work ow synthesis to be slower than
planning based approached.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Discussion and Future Work</title>
      <p>
        Alternative approaches to automated work ow synthesis
use AI plan formation rather than deductive synthesis, [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Our future work will focus on those areas where deductive
synthesis has potential advantages over plan formation. In
particular, planners are restricted in both the language used
to describe the preconditions and effects of operators and in
(b) The parallel operator,   is introduced which
reii. The meta variable ¿`*¯
      </p>
      <p> can then be
instantiated with the other one.</p>
      <p>thesis succeed.</p>
      <p>iii. All schematic variables instantiated, the
synThe tactics are currently applied interactively, but a fully
automated version is being developed. Equipped with
additional tactics and heuristics, we have successfully
synthesised more complex work ows with nested operators, such
as the one shown in Figure 3. To synthesise this complex
work ow, we just need to build the goal as following:</p>
      <p>The synthesis proof produces the following synthesised
work ow:</p>
      <p>The work ow properties of provenance, runtime and
reliability do not contribute to the composition of the
workow, so that their values for the synthesised work ow can
and if so demonstrate that deductive synthesis can supply it.</p>
      <p>We also intend to complete the automation of synthesis.
the kinds of work ows they can synthesise. We will
investigate whether e-Science requires this greater expressivity</p>
      <p>Deductive synthesis in Isabelle allows the use of
arbi6.1</p>
      <p>Representation of Pre­conditions
trary, higher-order logical formulae to describe Grid
services. In contrast, planners are typically restricted to
conand effects of services. We are investigating whether this
greater expressivity is of practical use in describing
serseveral different kinds, but not all kinds; it might be used
in effects to explain that a service can have more than one
kind of output, perhaps depending on the input. Universal
quanti cation might be used in pre-conditions to ensure that
each of a large and varying number of tasks must have
certain properties. Existential quanti cation might be used in
to infer QoS properties of a compound work ow from its
the representation into a conjunction of propositions.</p>
      <p>As mentioned earlier, further work also includes trying
6.2</p>
      <p>Synthesis Meeting QoS Requirements
ing work ows to meet various QoS properties, e.g. a high
reliability or accuracy, or a low runtime. For instance, let us
components. For instance, the representation and
calculation of QoS properties holds out the prospect of
synthesisassume there is a creditability property of data that
indicates how reliable the data replica is. The pre-condition can
vices.</p>
      <p>For instance, disjunction might be used in
preconditions to specify that a service can deal with data of
junctions of propositions in describing the pre-conditions
service effects to introduce a new object into the ontology,
e.g. a new data item. We will both invent services with such
properties and search the e-Science literature to
nd
naturally occurring exemplars. We then plan to examine how
deductive synthesis can represent and use these services in
a natural way, i.e. without the use of kludges to shoe-horn
6.3</p>
      <sec id="sec-6-1">
        <title>More Work ow Operators</title>
        <p>
          We plan to implement more work ow operators in our
framework for better representation of the real Grid
environment and more practically useful features. For instance,
the work ow interface of the Unicore system [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] provides
supports for conditional branching and iteration constructs.
Standard planners support neither conditional branching nor
iteration, but deductive synthesis does. Conditional
branching is introduced by case splits in the synthesis proof and
iteration is introduced by mathematical induction. We
intend to investigate whether practical examples of e-Science
applications require these constructs. For instance,
conditional branching might arise where redundancy is
introduced into a work ow by trying rst one Grid service and
then a mirror service if the rst one fails. Thus, the
provision of conditional branching in work ows is also required
in our synthesis with respect to QoS properties, such as
reliability. Iteration might arise where a large and
variable number of tasks is to be assigned to a large and
variable number of Grid services. The work ow might
iterate through lists of tasks and services, making the
assignments dynamically. This would enable work ow synthesis
to scale-up to applications such as SETI@home. Note that
universal quanti cation might be required to reason about a
large and varying number of tasks.
7
        </p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusions</title>
      <p>In this paper, we present the current progress of our
project aiming at the automatic synthesis of e-Science
work ows. Our approach, compared with other rival
approaches:
provides richer abstraction of Grid data and services,
which will enable on-demand query and computing of
complex e-Science data,
implements a deductive synthesis system in which
eScience work ows are formalised and can be veri ed
against their speci cation,
has the potential to provide more expressive
descriptions of Grid services and to synthesise more
expressive work ows,
has the potential to represent and reason about QoS
properties,
and is notable as the rst attempt, to the authors'
knowledge, to apply deductive synthesis technique to
synthesise e-Science work ow interactively on users'
demand.</p>
      <p>We are working to fully automate the synthesis process, to
explore the potential for greater expressivity in service
descriptions and work ows, and to synthesise work ows with
respect to QoS properties. These further work plans
dovetail together in that greater expressivity is required for QoS
synthesis, and greater expressivity in work ows requires
greater expressivity in service descriptions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Blythe</surname>
          </string-name>
          , E. Deelman, and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Gil. Automatically Composed</surname>
          </string-name>
          <article-title>Work ows for Grid Environments</article-title>
          .
          <source>Intelligent Systems</source>
          , IEEE,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Chervenak. Giggle: A Framework for Constructing Scalable Replica Location Services</surname>
          </string-name>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Czajkowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Fitzgerald</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Foster</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Kesselman</surname>
          </string-name>
          .
          <source>Grid Information Services for Distributed Resource Sharing</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E.</given-names>
            <surname>Deelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Blythe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Gil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kesselman</surname>
          </string-name>
          , G. Mehta,
          <string-name>
            <given-names>K.</given-names>
            <surname>Vahi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Koranda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lazzarini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Papa</surname>
          </string-name>
          .
          <article-title>From Metadata to Execution on the Grid Pegasus and the Pulsar Search</article-title>
          .
          <source>GriPhyN Technical Report 2003-15</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Deelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Atkinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chervenak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. P. C.</given-names>
            <surname>Hong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kesselman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Patil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Pearlman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.- H.</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <source>Grid-Based Metadata Services. Proc. SSDBM</source>
          <year>2004</year>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>D. W.</given-names>
            <surname>Erwin</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. F.</given-names>
            <surname>Snelling</surname>
          </string-name>
          .
          <article-title>UNICORE: A Grid computing environment</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          ,
          <volume>2150</volume>
          :
          <fpage>825</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghiselli</surname>
          </string-name>
          .
          <article-title>DataGrid Prototype 1</article-title>
          . TERENA Networking Conference,
          <volume>3</volume>
          -6 June,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Huet</surname>
          </string-name>
          .
          <article-title>A uni cation algorithm for typed lambda-calculus</article-title>
          .
          <source>Journal of Theoretical Computer Science</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <volume>27</volume>
          
          <fpage>57</fpage>
          ,
          <year>1975</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>I.</given-names>
            <surname>Kraan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Basin</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Bundy</surname>
          </string-name>
          .
          <article-title>Middle-out reasoning for logic program synthesis</article-title>
          .
          <source>In Proc. 10th Intern. Conference on Logic Programing (ICLP '93)</source>
          (Budapest, Hungary), pages
          <fpage>441</fpage>
          
          <fpage>455</fpage>
          , Cambridge, MA,
          <year>1993</year>
          . MIT Press.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Lacey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Richardson</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Smaill</surname>
          </string-name>
          .
          <source>Logic Program Synthesis in a Higher-Order Setting. Lecture Notes in Computer Science</source>
          ,
          <year>1861</year>
          :
          <volume>87</volume>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majithia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. W.</given-names>
            <surname>Walker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.A.</given-names>
            <surname>Gray</surname>
          </string-name>
          .
          <source>Automated Composition of Semantic Grid Services. UK e-Science All Hands Meeting</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Manna</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Waldinger</surname>
          </string-name>
          .
          <article-title>A Deductive Approach to Program Synthesis</article-title>
          .
          <source>Journal of Transactions on Programming Languages and Systems</source>
          ,
          <volume>2</volume>
          (
          <issue>1</issue>
          ):
          <volume>90</volume>
          
          <fpage>121</fpage>
          ,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>W.</given-names>
            <surname>Naraschewski</surname>
          </string-name>
          and M. Wenzel.
          <article-title>Object-Oriented Veri cation Based on Record Subtyping in Higher-Order Logic</article-title>
          .
          <source>In Theorem Proving in Higher Order Logics</source>
          , pages
          <volume>349</volume>
          
          <fpage>366</fpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>L. C.</given-names>
            <surname>Paulson</surname>
          </string-name>
          .
          <source>Isabelle: A Generic Theorem Prover. Lecture Notes in Computer Science</source>
          ,
          <volume>828</volume>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>G.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bharathi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chervenak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Deelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kesselman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Manohar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Patil</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Pearlman</surname>
          </string-name>
          .
          <article-title>A Metadata Catalog Service for Data Intensive Applications</article-title>
          .
          <source>Proc. ACM/IEEE Supercomputing 2003 Conf. (SC</source>
          <year>2003</year>
          ),
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R. D.</given-names>
            <surname>Stevens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Robinson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Goble</surname>
          </string-name>
          . myGrid:
          <article-title>personalised bioinformatics on the information grid</article-title>
          .
          <source>Bioinformatics</source>
          ,
          <volume>19</volume>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>T.</given-names>
            <surname>Tannenbaum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wright</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Miller</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Livny</surname>
          </string-name>
          .
          <article-title>Condor  A Distributed Job Scheduler</article-title>
          . In T. Sterling, editor,
          <source>Beowulf Cluster Computing with Linux</source>
          . MIT Press,
          <year>October 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>I.</given-names>
            <surname>Taylor</surname>
          </string-name>
          , M. Shields,
          <string-name>
            <surname>I. Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Philp</surname>
          </string-name>
          .
          <article-title>Distributed P2P Computing within Triana: A Galaxy Visualization Test Case</article-title>
          .
          <article-title>To be published in the IPDPS 2003 Conference</article-title>
          ,
          <year>April 2003</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>