# Presentation: 295192

## Context-sensitive Service Composition for Support of Scientific Workflows 

**Mladen A. Vouk**
**North Carolina State University****, Raleigh, NC**

## Team

- _System Engineering and Software_
- Prof. Mladen Vouk (scientific workflows, middleware, networks)
- Sandeep Chandra, MS candidate (system, middleware)
- Zhengang Cheng, PhD candidate (agents, protocols, services, workflows)
- Prof. Munindar Singh (agents, workflows, data-bases)
- _Domain-Specific Workflows_
- Prof. Donald Bitzer (signal analysis, coding theory)
- E. Eni-May, PhD candidate (bioinformatics, coding-theory)
- Dr. David Rosnick (bioinformatics, entropy analysis)
- Prof. Anne Stomp (genetic engineering)
- _Coordination (Dr. T. Critchlow + others)_
- Dr. Tom Potok (project coordination, software)
- Other ORNL project scientists

## Philosophy?

**Human-centric** workflow support (appliance-like) – case study Bioinformatics
**Service-oriented** (distributed and diverse data access, storage, manipulation, analysis, and display, grid-based computing, end-user profile services, quality of service)
**Context-sensitive** (end-user presence, location, expertise, access and interaction permissions, domain translation, p2p communications, etc.)

## (In)efficient

- End-User

- Apps

- Data and Compute

- Communications

- OS

## Example Workflow – Top Level

**Input** (select, slice and dice data):
- Obtain 3' end 16/18S ribosome for selected organism
- Obtain sequences of mature mRNA for organism (or DNA if  unavailable)
**Process** (model, compare, display, etc.):
- Compute free energy bindings between 3' end of 16/18S rRNA and mRNA
- Train decision mechanism based on subset of mRNA sequences
- Perform signal analysis on remaining (or newly requested) binding sequences to determine efficiency
**Output** and analyze efficiency/signal model/data
- Review results and compare to published efficiency/frameshift data (e.g., Nucleic Acids Research,  J. Molecular Biology)
- Evaluate theory in light of information theory (Shannon, Schnieder

## How?

- Domain-adequate _computer-human interfaces_
- Personalizing _context/knowledge_ gateways
- Domain-aware _workflow construction_ (service discovery, composition, invocation, agents, protocols)
- Adequate and seamless _services_, service registration and exchange gateways (move away from bring/cook-your-own service approach).
- Adaptive (policy-based) _quality of service_ control and management all along the “service stack.”

## Architecture

- PARTICIPANT A

- PARTICIPANT B

-  PARTICIPANT C

- GENES

- PHY’S

-    BIO

-  UDDI

**HUMAN**
**CLIENT**

**WORKFLOW **
**COMPOSITION &**
**INTERFACES**

- AGENT
- SERVICE

- AGENT
- SERVICE

- AGENT
- SERVICE

**All participants register**
** ****their services**

- Directly connect to
- uddi registry

- Service & Context
- Gateways and Multiplexers

- e.g., Iflow, JavaAgent

- e.g., UDDI, NCBioGrid, WLS, IPPhones, H323Video

- Vipar GenBank,BioNews

## Slide 8

## Slide 9

## Service Agent - Example

- DESCISION
- MODULE

- MESSAGING

- SYSTEM

- POLICY

- Remote

- APP’S

-  OBJECT

- INCOMING MESSAGES

- WSDL and/or
- ASDL method,
- access, behavior
- Publishing
- (e.g., in UDDI)

- SOAP
- Interface

- Site specific

***Human and agents should be able to consume published services. ***
***Workflow and pipeline are ways to consume services***

## What is a Service?

**A service is an entity that can receive service request and respond/deliver within a time, cost, reliability, security, etc., frame acceptable to the end-user. The service may be presented in the form of an intelligent agent, or simply as a servlet.**
**The service provides access to its data, methods, and tools, etc., which usually is the property of a particular organization.**
**In the original "Data Integration Architecture", the CM Wrapper and XML Wrapper represent a service, and provide services to other services. Here they are viewed as independent services that possess Intelligence.**

## Composition

-  AS1:S1

-    AS1:S2

-  AS2:S1

-  AS3:S2

- WORKFLOW

- AS1:S1

- AS2:S1

- AS2:S2

- AS3:S2

-  AS1

-  AS2

- AS3

- S1

- S2

- S1

- S2

- S1

- S2

- PIPELINE

_**PIPELINE AND WORKFLOW**_

- Synch, Asynch
- Differing time
- scales

## Current Framework

- UDDI AT
-    SDM4

- SDM  Interface
- to construct user
- Workflows.
- (prot—iFlow
-  In progress)

- Services registered
- With UDDI at
- sdm4.
- 99-sdm category
- 991- vipar news
- 992- vipar genes
- 993- Data Serv
- 994- Analysis Serv

- Menu to select
- data services

- Menu to select
- analysis services

- Menu to select
- Vipar services

-  Browser

-  Browser

-    DB2
- Database
- on sdm4

- Vipar server
- For news

- Vipar server
- For bioinfo

- WWW

- Db2xml wrapper

-       Getting details

- Details returned

- Selected options are
- queried to the UDDI

- Populate menus with the
-         service details

- Connect to vipar
-     using RMI

-     Service 1

-     Service n

-    Service m

- Description of available
- services at sdm4 UDDI
- using WSDL, XML or
- HTML.

-    Invoke any of the registered services

- Download
- To local
- system

- Invoke services

- Invoke services

- Invoke service

## Support

**CVS is version control system for our developments. It is used to share data and software.**
**Eclipse is a Java IDE from IBM, available from www.eclipse.org. It has seamless integration with CVS repository and provides an integrated debugging environment.**

## Intial Project Architecture and Prototypes

**df**

**PDB**

**XML**
**Wrapper**

**XML**
**Wrapper**

**VIPAR**

**XML**
**Wrapper**

- API

- Integration
- component /
**KB-Mediator**
- (KBM)

- Query
- Dispatch
- and
- Collection
- (QDaC)

**CM**
**Wrapper**

**CM**
**Wrapper**

**CM**
**Wrapper**

- Source / Agent
- MetaData
- Registry

- XWRAP
- Wrapper
- Generator

**XQuery (subsets e.g. Sel/Proj)**

**:**

**Bio**

**XML**
**Wrapper**

**XQuery interface**
**Select/project only**

**if invoked, pre-processes **
**query parameters and **
**post-processes results**

## Things to Do?

- Cast the amazing array of tools and software scientists use as services, catalogue it and define/improve interfaces, and ease – focus on What rather than How (from user perspective).
- Create context gateways that will coordinate domain-specific interactions and services and help in creation of efficient workflows.
- NCSU specific, we plan to have a fully working prototype in place in the next 6 month period.
- Suggestions?

## Slide 17

## Prototypes

- VIPAR - GenBANK

- VIPAR - GenNEWS

-  Other

- GENES

- News

-    BIO

-  UDDI

**David,**
**ChiChi**

**WORKFLOW **
**COMPOSITION &**
**INTERFACES**

- AGENT
- SERVICE

- AGENT
- SERVICE

**All participants register**
** ****their services**

- Directly connect to
- uddi registry

- Service & Context
- Gateways and Multiplexers

- UDDI, WLS, IP-phones, H323 Video
- NC BioGrid

- Iflow, JavaAgentEm