r5 - 17 May 2006 - 12:36:40 - JuneFinchYou are here: myGrid wiki >  Techreq Web  > DynamicServices

High Level Requirement Specification

Executing Dynamic Services

Reference Techreq.DynamicServices
Referenced Use-cases  
Dependencies VersionLogging T2Architecture
Champion Tom Oinn
Status DEFERRED

  Taverna 1.3 Taverna 2.0
Priority   4
Rough estimate MONTH MONTH

Overview

When services are well defined and annotated it should be possible for the designer of the workflow to describe a service, and for Taverna to dymically discover and bind a given service that meets the description provided by the workflow designer.

Overall Goals

The ability to describe a required service, rather than manually select it from the Service panel within Taverna. The actual service should not be bound to the workflow until run-time, but the actual service used at runtime should be stated within the Provenance gathered.

Its possible an appropriate service cannot be found, and this should be conveyed back to the user a soon as possible. Because of this, service discovery should take place before the workflow runs, rather than attempting it as each service is encountered with the workflow.

The provenance gathered during the workflow execution should accurately record the actual service that was used (together with VersionLogging) for the provenance to be accurate and meaningful.

Assessment

Affected Components

Scufl Model, Taverna Workbench, Provenance, FETA

Key Tasks

  • Service descriptions within Taverna, and recorded in the workflow Scufl Model.
  • Service discovery at run-time.
  • Handling being unable to find an appropriate service, and relaying this information back to the user asap.
  • How to handle discovery of multiple service that suit the description, but are each differnt in nature ??
  • Reporting to provenance gathering which service was actually used
  • Modification to the Scufl Model for storing service description for discovery.

Appendix

Example – Runtime Service Binding

The dispatcher mechanism is also used to perform dynamic runtime binding to concrete services based on an abstract description. The set of worker implementations may include those marked as abstract – these may not be applied to jobs as is, but must be transformed into a concrete form first. By adding an additional enclosing layer either at the top level or below the failover layer in the example above, we can allow dynamic service binding. The layer in question would consume the set of worker implementations and either a job queue of a single job (no data processing is going to occur so it doesn’t care) and, for each implementation in the worker set marked as abstract, remove it and replace it with one or more concrete workers. This replacement operation would be driven by some kind of resource lookup, using a connection to a grid broker for example.

(Taverna v2 Aims and Vision, TomOinn?)

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r5 < r4 < r3 < r2 < r1 | More topic actions
 
Powered by myGrid wiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding myGrid wiki? Send feedback