Syntactic Mediation in Grid and Web Service Architectures Martin Szomszor Terry R. Payne Luc Moreau University of Southamp...
Syntactic Mediation… <ul><li>Cambridge online dictionary defines mediation as: </li></ul><ul><li>Verb [I or T] </li></ul><...
…  in Grid and Web Services <ul><li>Questions to be answered </li></ul><ul><ul><li>When is syntactic mediation required? <...
Grid and Web Services <ul><li>Grid  </li></ul><ul><ul><li>Coordinated resource access  </li></ul></ul><ul><ul><li>Service ...
myGrid  -  Bioinformatics <ul><li>In-silico  experimentation  </li></ul><ul><li>myGrid is service orientated </li></ul><ul...
Taverna Workbench
A Bioinformatics Use Case <ul><li>Get some sequence data and perform a sequence alignment </li></ul><ul><ul><li>Sequence a...
Bio Example - Workflow <ul><li>Two stages </li></ul><ul><li>More than one service for some stages </li></ul>Get  Sequence ...
Bio Example - Workflow <ul><li>Two possible concrete workflows </li></ul><ul><ul><li>Using XEMBL Service </li></ul></ul><u...
Syntactic Compatibility <ul><li>Is the output from one service compatible with the input to another service? </li></ul>Con...
Syntactic Mediation <ul><li>When a syntactic miss-match occurs, some additional processing is required </li></ul><ul><li>W...
Assisted Mediation <ul><li>How can we achieve this? </li></ul><ul><ul><li>Use ontologies for a common conceptual model of ...
Syntactic Mediation XEMBL Service NCBI Blast Service FASTA  Formatted  Sequence   Alignment Results   Conceptual represent...
Bioinformatics Use Case: Sequence Data Ontology authors journal title Key: Object property Subconcept Sequence_Data descri...
Transformation of XML to OWL <Sequence ic-acckey=&quot;AB000059&quot;> <Feature-table> <Feature class=&quot;SOURCE&quot;> ...
Transformation of OWL to XML Sequence Data Accession_ID Feature Source Location has-Feature isolate organism has-location ...
Mapping Language <ul><li>We present a simple mapping language to describe the transformation of data from XML to OWL </li>...
Example Mapping 1 <ul><li>Mapping an attribute value </li></ul><Sequence ic-acckey=&quot;AB000059&quot;> Sequence Data Acc...
Example Mapping 2 <ul><li>Mapping an element value </li></ul>Sequence Data sequence {xml} Sequence( seq-data($sequence)) <...
Example Mapping 3 <ul><li>Mapping an group of element values </li></ul><Reference> <RefAuthors>Horiuchi M.</RefAuthors> <R...
Example Mapping 4 <ul><li>Split and join </li></ul><location>1:1755</location> Sequence_Location start {xml} location( spl...
Example Mapping 5 <ul><li>Mapping an sequence of elements </li></ul><ul><ul><li><feature-table> element contains a sequenc...
Example Mapping 5 <ul><li>Each <Reference> element corresponds to an instance of the ‘Reference’ concept </li></ul>Referen...
Example Mapping 5 <ul><li>The ellipsis (…) construct is used to denote this behaviour </li></ul>{xml} feature-table( Refer...
Mapping Language (BNF)
Mapping Language Engine <ul><li>Java component built on Dom4J and Jena </li></ul><ul><ul><li>Input: Mapping and Data set (...
Transformation Process <ul><li>Four stages </li></ul><ul><ul><li>Create data model for input </li></ul></ul><ul><ul><ul><l...
Assisted data mediation for WS XEMBL Service NCBI Blast Service BSML Sequence Record   Accession Number   FASTA  Formatted...
Assisted data mediation for WS XEMBL Service NCBI Blast Service FASTA  Formatted  Sequence   Alignment Results   Mapping L...
Comparison  of Approaches Create one mapping to conceptual model Must create mappings to all other compatible formats Addi...
Why OWL? <ul><li>Expressive Power </li></ul><ul><ul><li>Complex concept specifications </li></ul></ul><ul><li>Reasoning po...
Conclusions <ul><li>By using mappings from XML documents to OWL instances, we can automatically transform a portion of dat...
Further Work <ul><li>Add regular expression support </li></ul><ul><ul><li>More powerful than our existing split and join o...
Questions and comments?
Upcoming SlideShare
Loading in...5
×

Syntactic Mediation in Grid and Web Service Architectures

441

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
441
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Welcome The term mediation is often overloaded…
  • Syntactic Mediation in Grid and Web Service Architectures

    1. 1. Syntactic Mediation in Grid and Web Service Architectures Martin Szomszor Terry R. Payne Luc Moreau University of Southampton myGrid [ http://www.mygrid.org.uk]
    2. 2. Syntactic Mediation… <ul><li>Cambridge online dictionary defines mediation as: </li></ul><ul><li>Verb [I or T] </li></ul><ul><ul><li>“ to talk to two separate people or groups involved </li></ul></ul><ul><ul><li>in a disagreement to try to help them to agree or </li></ul></ul><ul><ul><li>find a solution to their problem” </li></ul></ul><ul><li>Syntax </li></ul><ul><ul><li>The structure and organisation of information </li></ul></ul><ul><li>Syntactic mediation </li></ul><ul><ul><li>To mediate between two parties who not agree on syntax </li></ul></ul>
    3. 3. … in Grid and Web Services <ul><li>Questions to be answered </li></ul><ul><ul><li>When is syntactic mediation required? </li></ul></ul><ul><ul><li>What are the current solutions? </li></ul></ul><ul><ul><li>How can they be improved? </li></ul></ul><ul><li>Use Case </li></ul><ul><ul><li>Taken from a Bioinformatics Grid application </li></ul></ul><ul><li>Our solution </li></ul><ul><ul><li>Intermediary representation of data in OWL </li></ul></ul><ul><ul><li>Mappings between XML and OWL </li></ul></ul><ul><li>Conclusions and further work </li></ul>
    4. 4. Grid and Web Services <ul><li>Grid </li></ul><ul><ul><li>Coordinated resource access </li></ul></ul><ul><ul><li>Service oriented view of resource access </li></ul></ul><ul><li>Web Services Architecture </li></ul><ul><ul><li>Supporting the service oriented view </li></ul></ul><ul><ul><li>Resources exposed through Web Service interfaces </li></ul></ul><ul><li>This powerful model enables complex collaboration of disparate resources, typically through the use of workflow </li></ul>
    5. 5. myGrid - Bioinformatics <ul><li>In-silico experimentation </li></ul><ul><li>myGrid is service orientated </li></ul><ul><ul><li>Steps in the experimental process correspond to Web Service invocations </li></ul></ul><ul><li>Taverna - The Virtual Workbench </li></ul><ul><ul><li>Compose </li></ul></ul><ul><ul><li>Edit </li></ul></ul><ul><ul><li>Execute </li></ul></ul><ul><ul><li>Monitor </li></ul></ul><ul><ul><li>View results </li></ul></ul>
    6. 6. Taverna Workbench
    7. 7. A Bioinformatics Use Case <ul><li>Get some sequence data and perform a sequence alignment </li></ul><ul><ul><li>Sequence alignment checks for similarities between different sequences </li></ul></ul><ul><li>Many sequence data repositories </li></ul><ul><ul><li>XEMBL </li></ul></ul><ul><ul><li>DDBJ-XML </li></ul></ul><ul><li>Many sequence alignment services </li></ul><ul><ul><li>NCBI Blast … </li></ul></ul>
    8. 8. Bio Example - Workflow <ul><li>Two stages </li></ul><ul><li>More than one service for some stages </li></ul>Get Sequence Data Sequence Data Alignment Result Sequence Alignment XEMBL Service DDBJ-XML Service NCBI Blast Accession Number
    9. 9. Bio Example - Workflow <ul><li>Two possible concrete workflows </li></ul><ul><ul><li>Using XEMBL Service </li></ul></ul><ul><ul><li>Using DDBJ-XML Service </li></ul></ul>Accession Number XEMBL Service Sequence Data Alignment Result NCBI Blast Service Accession Number DDBJ-XML Service Sequence Data Alignment Result NCBI Blast Service
    10. 10. Syntactic Compatibility <ul><li>Is the output from one service compatible with the input to another service? </li></ul>Conceptually the same type But different syntactic types XEMBL Service Sequence Data NCBI Blast Service XEMBL Service BSML Sequence Record NCBI Blast Service FASTA Formatted Sequence
    11. 11. Syntactic Mediation <ul><li>When a syntactic miss-match occurs, some additional processing is required </li></ul><ul><li>We define this processing as syntactic mediation </li></ul><ul><li>Current solutions </li></ul><ul><ul><li>Explicitly defined transform (e.g. XSLT) </li></ul></ul><ul><ul><li>Hard coded black-box components </li></ul></ul>
    12. 12. Assisted Mediation <ul><li>How can we achieve this? </li></ul><ul><ul><li>Use ontologies for a common conceptual model of the data </li></ul></ul><ul><ul><li>Describe how parts of the data schema (XML-Schema) correspond to parts in the semantic schema (OWL) </li></ul></ul><ul><ul><li>Transform data sets into their corresponding conceptual representations </li></ul></ul><ul><ul><li>Use conceptual representation as a common model to mediate between services's data models </li></ul></ul>
    13. 13. Syntactic Mediation XEMBL Service NCBI Blast Service FASTA Formatted Sequence Alignment Results Conceptual representation of sequence data Transform XML output from XEMBL service to OWL concept instance Serialise OWL concept instance to XML for input to NCBI Blast Service BSML Sequence Record Accession Number
    14. 14. Bioinformatics Use Case: Sequence Data Ontology authors journal title Key: Object property Subconcept Sequence_Data description accession_id sequence has_feature has_reference Reference Sequence_Feature location Feature_Source lab_host isolate mol_type organsim Feature_CDS translation product protien_id Sequence_Location start end BSML_Sequence_Data date_created date_last_updated DDBJ_Sequence_Data version division
    15. 15. Transformation of XML to OWL <Sequence ic-acckey=&quot;AB000059&quot;> <Feature-table> <Feature class=&quot;SOURCE&quot;> <Qualifier value-type=&quot;isolate” value=&quot;Som1&quot;/> <Qualifier value-type=&quot;organism” value=&quot;Feline …”/> <Interval-loc startpos=&quot;1&quot; endpos=&quot;1755&quot;/> </Feature> </Feature-table> </Sequence> Sequence Data Accession_ID Feature Source Location has-Feature isolate organism has-location start end AB000059 Som1 Feline … 1 1755
    16. 16. Transformation of OWL to XML Sequence Data Accession_ID Feature Source Location has-Feature isolate organism has-location start end <DDBJXML> <ACCESSION>AB000059</ACCESSION> <FEATURES> <source> <location>1..1755</location> <qualifiers name=&quot;isolate&quot;>Som1</qualifiers> <qualifiers name=&quot;organsim&quot;>Felis ...</qualifiers> </source> </FEATURES> </DDBJXML> AB000059 Som1 Feline … 1 1755
    17. 17. Mapping Language <ul><li>We present a simple mapping language to describe the transformation of data from XML to OWL </li></ul><ul><li>Mappings are bi-directional </li></ul><ul><ul><li>XML to OWL </li></ul></ul><ul><ul><li>OWL to XML </li></ul></ul><ul><li>Hierarchical view of both data models </li></ul><ul><li>Template is applied to match source model and create destination model </li></ul><ul><li>Data values are mapped from source to destination via variable assignment </li></ul>
    18. 18. Example Mapping 1 <ul><li>Mapping an attribute value </li></ul><Sequence ic-acckey=&quot;AB000059&quot;> Sequence Data Accession_ID {xml} Sequence[ic-acckey = $accession] <-> {owl} Sequence_Data( Accession_id($accession)) $accession AB000059
    19. 19. Example Mapping 2 <ul><li>Mapping an element value </li></ul>Sequence Data sequence {xml} Sequence( seq-data($sequence)) <-> {owl} Sequence_Data( sequence($sequence)) $sequence <Sequence> <seq-data>aatagagtg…</seq-data> </Sequence> aatagagtg…
    20. 20. Example Mapping 3 <ul><li>Mapping an group of element values </li></ul><Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefTitle>evolutionary…</RefTitle> <RefJournal>Unpublished</RefJournal> </Reference> Reference author {xml} Reference( RefAuthors($author), RefTitle($title), RefJournal($journal)) <-> {owl} Reference( author($author), title($title), journal($journal)) title journal Horiuchi, M. Evolutionary… Unpublished
    21. 21. Example Mapping 4 <ul><li>Split and join </li></ul><location>1:1755</location> Sequence_Location start {xml} location( split($start, “:”, $end) ) <-> {owl} Sequence_Location( start($start), end($end) ) end 1 1755
    22. 22. Example Mapping 5 <ul><li>Mapping an sequence of elements </li></ul><ul><ul><li><feature-table> element contains a sequence of <Reference> elements </li></ul></ul><feature-table> <Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefTitle>evolutionary…</RefTitle> <RefJournal>Unpublished</RefJournal> </Reference> <Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefJournal>EMBL/GenBank/DDBJ…</RefJournal> </Reference> </feature-table>
    23. 23. Example Mapping 5 <ul><li>Each <Reference> element corresponds to an instance of the ‘Reference’ concept </li></ul>Reference author title journal Reference author journal Sequence_Data has-reference has-reference Horiuchi, M. Evolutionary… Unpublished Horiuchi, M. EMBL/GenBank/DDBJ…
    24. 24. Example Mapping 5 <ul><li>The ellipsis (…) construct is used to denote this behaviour </li></ul>{xml} feature-table( Reference( RefAuthors($author), RefTitle($title), RefJournal($journal) )… ) <-> {owl} Sequence_Data( Reference( author($authors), title($title), journal($journal) )… ) sequence
    25. 25. Mapping Language (BNF)
    26. 26. Mapping Language Engine <ul><li>Java component built on Dom4J and Jena </li></ul><ul><ul><li>Input: Mapping and Data set (XML or OWL) </li></ul></ul><ul><ul><li>Output: Data set (XML or OWL) </li></ul></ul>
    27. 27. Transformation Process <ul><li>Four stages </li></ul><ul><ul><li>Create data model for input </li></ul></ul><ul><ul><ul><li>DOM4J for XML </li></ul></ul></ul><ul><ul><ul><li>JENA for OWL </li></ul></ul></ul><ul><ul><li>Parse mapping </li></ul></ul><ul><ul><li>Apply source mapping to bind variables </li></ul></ul><ul><ul><li>Apply destination mapping and create new instance filling variables with their corresponding values from the source </li></ul></ul>
    28. 28. Assisted data mediation for WS XEMBL Service NCBI Blast Service BSML Sequence Record Accession Number FASTA Formatted Sequence Alignment Results Conceptual representation of sequence data Transform XML output from XEMBL service to OWL concept instance Serialise OWL concept instance to XML for input to NCBI Blast Service
    29. 29. Assisted data mediation for WS XEMBL Service NCBI Blast Service FASTA Formatted Sequence Alignment Results Mapping Language Engine Mapping Mapping Language Engine Mapping BSML Sequence Record Accession Number OWL instance
    30. 30. Comparison of Approaches Create one mapping to conceptual model Must create mappings to all other compatible formats Addition of Data 1 mapping from each data format to its conceptual model. For n compatible data formats, n mappings required 1 mapping for each pair of compatible data formats. For n compatible formats, n 2 mappings required Number of Mappings Mappings from data format to common conceptual model Direct mappings between compatible data formats
    31. 31. Why OWL? <ul><li>Expressive Power </li></ul><ul><ul><li>Complex concept specifications </li></ul></ul><ul><li>Reasoning power </li></ul><ul><ul><li>Subsumption and concept classification </li></ul></ul><ul><li>Classification of data </li></ul><ul><ul><li>Given an XML document and some mappings, it would be possible to find which mappings are valid and therefore what are the possible conceptual models for the given document </li></ul></ul>
    32. 32. Conclusions <ul><li>By using mappings from XML documents to OWL instances, we can automatically transform a portion of data from one representation to another, providing both share a common conceptual model </li></ul><ul><li>This can be used to rectify data incompatibilities that occur in workflows with data flow between services - assisted mediation </li></ul>
    33. 33. Further Work <ul><li>Add regular expression support </li></ul><ul><ul><li>More powerful than our existing split and join operators </li></ul></ul><ul><li>Mapping Repository </li></ul><ul><ul><li>Current implementation assumes that mappings are know </li></ul></ul><ul><ul><li>We cannot assume that end users are able to write mappings </li></ul></ul><ul><ul><ul><li>Ideally, a repository of mappings would be available to users allowing them to find the appropriate mapping </li></ul></ul></ul><ul><ul><ul><li>Domain experts could create mappings and upload them to the repository </li></ul></ul></ul><ul><ul><li>Would allow us to support further automation </li></ul></ul><ul><ul><ul><li>Suggest mappings to user </li></ul></ul></ul>
    34. 34. Questions and comments?
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×