You are here

Mobile Code Execution in a Workflow Environment

Student: 
Adarsh Hiremangalur Ramsesh

The OGSA-DAI system provides an extensive suite of activities that can extract, transform, deliver and store data held in a variety of distributed data resources. While it is easy to add new activities to provide new functionality it would be of great interest to be able to add new behaviour to OGSA-DAI workflows dynamically.

Two approaches to achieve such dynamic behaviour are: (a) being able to specify URLs that contain remote compiled java code that can be uploaded to an OGSA-DAI repository and it's classes made available to the activities and (b) create activities that accept code scripts (e.g. javascript) which specify the dynamic behaviour needed. In both cases we need ways of interfacing between OGSA-DAI's activities and the external code whether compiled (a) or interpreted (b). Vertical to the mobile code challenges are security issues which should be given some consideration.

Technical Details

One can think this project in phases:

  • Familiarise with OGSA-DAI, previous related work with OGSA-DAI and Java's scripting framework
  • Examine pros and cons of the two different approaches and implement one of them
    • a simple activity to demonstrate the concept, and
    • integrate properly with OGSA-DAI's activity framework
  • Consider security challenges
  • If time permits the other approach could also be implemented and their performance compared (previous OGSA-DAI work on the subject can help with that)
Project status: 
Finished
Degree level: 
MSc
Background: 
The student should be comfortable with the Java programming language and willing to do some investigation on the potential interfaces between OGSA-DAI's activities and the external code.
Supervisors @ NeSC: 
Subject areas: 
e-Science
References: 
OGSA-DAI: http://www.ogsadai.org.uk Mobile Code: Internal OGSA-DAI report (can send on request) Java's Scripting framework: https://scripting.dev.java.net/ and http://www.mozilla.org/rhino/ScriptingJava.html
Student project type: