Title: Semantically Resolving Type Mismatches in Scientific Workflows
1Semantically Resolving Type Mismatches in
Scientific Workflows
- Derouiche Kheiredine
- kd05r_at_ecs.soton.ac.uk
- School of Electronics and Computer Science
- University of Southampton
- November 2007
2Scientific Workflows
Semantically Resolving Type Mismatches in
Scientific Workflows
- Scientific workflows describe structured
activities arising in scientific problem-solving. - Conducting experiments involve complex and
structured computations. - Semantic mismatches among resources involve much
human intervention. - Participating services are owned by different
organizations, defining compensations is critical
to a successful recovery from failures.
3Workflows in Bioinformatics
- Integrating different tools to solve biological
problems - Usually involves
- Manual data transfer between applications
- Understanding data formats
- Converting file formats where appropriate
- Manual workflows involve a large number of steps.
Manual execution is time-consuming and
error-prone - User is required to possess a deep knowledge and
understanding of disparate application
environments
4Using tools in Bioinformatics
Specific Services
Task
Service Class
WSWUBlast Service Operation
Blast Service
DNA Sequence Similarity Search
blastn (query, database, email)
Specification of an in silico experimental
design Sequence Similarity Search
5Automated Workflows
- Make the task of creating a workflow a simple
drag and drop process - Make the resulting workflow diagram self
documenting, showing exactly how to perform
bioinformatics experiment - Automatic execution of steps specified in
workflow - Monitoring workflow execution to help debugging
and intervention - Reduces complexity for scientific users, as well
as support sharing and allow repeatability
6Bioinformatics Workflow Systems
- Specialized workflow systems designed to develop
workflows in bioinformatics - Different workflow standards and systems
- BPEL Business workflow standard adapted for
scientific workflows - UNICORE a Grid middleware, it provides a GUI
for workflow devcelopment - Globus an open source toolkit implementing many
Grid related standards - Kepler graph based modelling language to develop
workflows - Taverna Workbench choreography tool for
bioinformatics Web Services - Triana develop component based workflow and
provide coupling with Grid middleware tools
7Windows Workflow Foundation (1)
Semantically Resolving Type Mismatches in
Scientific Workflows
- Part of .NET Framework 3.0
- Workflows are a collection of activities.
- Components
- Base Activity Library Out-of-box activities and
base for custom activities. - Runtime Engine Workflow execution and state
management. - Runtime Services e.g. RDBMS, persistence,
transactions - Visual Designer Graphical and code-based
construction in Visual Studio or standalone
8Windows Workflow Foundation (2)
Semantically Resolving Type Mismatches in
Scientific Workflows
9Semantic Web Services
Semantically Resolving Type Mismatches in
Scientific Workflows
- The augmentation of Web service descriptions with
Semantic annotations. - Aims to automate Web service discovery,
composition, invocation, and monitoring. - Two different approaches
- Revolutionary OWL-S, and WSMO.
- Evolutionary WSDL-S, and SAWSDL.
- The SAWSDL approach builds on existing Web
service standards and is agnostic to ontology
representation.
10Semantic Annotations for Web Services Description
Language
Semantically Resolving Type Mismatches in
Scientific Workflows
- SAWDL is an extension of WSDL using the
extensibility elements. - Two basic types of annotations
- Model reference, associates selected WSDL
components with Semantic concepts. - Schema mapping, deals with data heterogeneity by
transforming one data representation into
another. - Annotations for WSDL 1.1 and WSDL 2.0.
- API and tool support including SWASDL4J,
Woden4SAWSDL, Radiant...
11SAWSDL Scope
Semantically Resolving Type Mismatches in
Scientific Workflows
Annotated using modelReference Annotated using
modelReference with schemaMapping
Note - All elements may have ltdocumentationgt as
first child
12SAWSDL Example
Semantically Resolving Type Mismatches in
Scientific Workflows
- ltwsdldefinitions targetNamespace"http//www.w3.o
rg/2002/ws/sawsdl/spec/wsdl/order" - xmlnswsdl"http//schemas.xmlsoap.org/wsdl/"
- xmlnsxs"http//www.w3.org/2001/XMLSchema"
- xmlnssawsdl"http//www.w3.org/ns/sawsdl"gt
- ltwsdltypesgt
- ltxselement namepurchaseOrderResponse
typexsstring - sawsdlmodelReference"http//www.w3.org/2002/ws/s
awsdl/spec/ontology/purchaseorderPurchaseOrderRes
ponse" - sawsdlliftingSchemaMapping"http//www.w3.org/200
2/ws/sawsdl/spec/mapping/Response2Ont.xslt"gt -
- lt/xselementgt
- lt/wsdltypesgt
- ltwsdlportType namePurchaseOrder"gt
- ltwsdloperation name"order"gt
- ltsawsdlattrExtensions
sawsdlmodelReference"http//www.w3.org/2002/ws/
sawsdl/spec/ontology/purchaseorderRequestPurchase
Order"/gt - ltwsdlinput
- messageLabel"OrderRequestMessage"
- elementpurchaseOrderRequest"/gt
- ltwsdloutput
- messageLabel"OrderResponseMessage"
13Leveraging existing Java for .NET
Semantically Resolving Type Mismatches in
Scientific Workflows
- A C implementation of the SAWSDL specification.
- Support of Model Reference annotations, OWL/RDF
definitions. - Lifting/Lowering schema support, XSLT/SPARQL
mapping definitions. - Allows the creation of SAWSDL based applications.
- Extends the .NET API for WSDL1.1.
- Support for WSDL2.0 through XSLT.
14Implementation
Semantically Resolving Type Mismatches in
Scientific Workflows
- Development of a custom activity that extends the
base Web Service activity shipped with WF. - Enables a semi-automatic composition of Semantic
Web Services, and the execution of the workflow. - Can be composed with Web Services described using
WSDL files. - A C implementation of the activity.
- Semantic capabilities are provided by the Jena
library, integration with C is enabled via IKVM.
15Semantic Reasoning
Semantically Resolving Type Mismatches in
Scientific Workflows
- Model reference annotations describe the
functionalities a Web service provides. - Use ontologies as semantic models for the
semantic annotations. - Reasoning capabilities are provided by using
- Jena, an open source Semantic Web framework for
Java. - Pellet, an open source Java OWL-DL reasoner.
- Currently support schema type and message part
annotations to achieve automatic parameter
binding.
16Schema Type Mapping
Semantically Resolving Type Mismatches in
Scientific Workflows
- Provide mappings between XML and semantic models.
- Lifting Schema Mapping specifies mapping between
WSDL Type Definitions in XML and semantic data. - Used XSTL and XQuery as mapping languages.
- Lowering Schema Mapping specifies mapping between
semantic data and WSDL Type Definitions in XML. - Used SPARQL to query ontology, followed by XSTL
and XQuery. - Semantic data is queried through SPARQL, it is
supported by Jena through its query engine.
17IKVM .NET
Semantically Resolving Type Mismatches in
Scientific Workflows
- An implementation of Java for the Microsoft .NET
Framework. - It includes the following components
- A Java Virtual Machine implemented in .NET.
- A .NET implementation of the Java class
libraries. - Tools that enable Java and .NET interoperability.
- Used to compile Jena and Pellet JAR libraries
into .NET DLL assemblies, Java bytecode is
translated to Common Intermediate Language (CIL). - Allowed using Jenas capabilities in the
implementation of the Semantic Web service
activity.
18Semantic Web Service Activity (1)
Semantically Resolving Type Mismatches in
Scientific Workflows
- Activity bindings are the key feature that
enables property binding between activities, or
on the workflow itself. - This mechanism allows data propagation between
composed activities. - WF rely on syntactic approaches when binding
properties between activities. - The SWS activity implements a basic semantic
matching engine to better support semantically
compatible properties.
19Semantic Web Service Activity (2)
Semantically Resolving Type Mismatches in
Scientific Workflows
- Automatically bind SWS parameters to composed
workflow activities using the semantic approach. - The semantic model annotation of an activitys
input has to be equivalent or a subclass of the
composed activitys output one. - Values are mapped to the appropriate data
representation at design time. - Missing activity bindings can be manually added
using the WF visual designer.
20Bioinformatics Workflow Example
accession
X14298
GetEntry
getFASTA_DDBJEntry
database
email
sequence
Atgagtgatggagcagttcaaccagacggtggtcaacctgctgtcagaaa
tgaaagagctcaggatctgggaacgggtctggaggcggg
embl
kd05r_at_ecs.soton.ac.uk
WSWUBlast
blastn
jobID
M7WEXBN7013
21Automatic Binding in Bioinformatics Workflow
GetEntry
getFASTA_DDBJEntry
SAWSDL
DNA Sequence
Sequence
Semantic Concept
Output
Bind Parameters, Carry out necessary translations
Semantic Reasoner
Input
DNA Sequence
Sequence
SAWSDL
WSWUBlast
- Degrees of Match
- Exact
- Subclass
blastn
22Conclusion Future Work
Semantically Resolving Type Mismatches in
Scientific Workflows
- API implementations that enable the development
of semantically annotated Web services. - Semantic Web service activity integration to WF,
facilitating workflow building and manipulation. - Future Work
- Improve the SWS activity by processing more
SAWSDL annotations, e.g. operation and portType. - Semantically annotate Bioinformatics Web
services, then use WF to build a workflow
composed of SWS activities in order to test the
implementation. - Implement an approach to semantically guide and
verify compensations and exceptions.