On Wed, Jun 9, 2010 at 08:14, Daniel Kuc <[email protected]> wrote:
> Is it possible to serialize an Edit  object?  I am trying to save all the 
> steps that I took to construct my workflow.

Hi!

I'm afraid that's not yet possible.. We've had a plan to do so, as it
could mean you could store the undo-history across Taverna runs, or
indeed, as you say, get a full provenance of the workflow development.
This would mean however that we would also have to make the user aware
of this being stored, together with a clear-option, as users might not
want to make public their previous mistakes while building the
workflow!


Technically it could be possible to store the edits, but at the moment
most Edit instances are not proper Java Beans, meaning that they would
be difficult to serialize and deserialize. They are also linking
directly to the workflow objects they are affecting, when
deserializing you would probably want the edit to relate to the newly
made objects in workflow you just opened - so some kind of
identification scheme for workflow components would be needed. (As
previously discussed here under Semantification of Taverna).

We also would like the Edit to have a more descriptive name or
description that we could show in the Edit menu, so you could see
'Undo rename of processor' instead of just 'Undo'.

This would require a fair bit of refactoring of all the possible
Edits, which we have not scheduled time to do in the near future. We
would of course welcome any help in doing so, a good opportunity is
coming up after the 2.2 release, as we'll do some refactoring of 2.3
anyway when moving towards OSGI.


We are developing a SCUFL2 workflow inspection and editing toolkit.
[1] It might be a good idea for us to keep your question in mind, so
that when we develop edits for SCUFL2 modifications, we can make these
serializable, and hopefully so that they can be slightly meaningful in
say an RDF export.


Slightly side-tracked philosophical rant:

It is our long-term plan to move the workbench to edit the abstract
SCUFL2 model instead of the current mode, which is actually editing
the live objects which (copy) will be used when executing the
workflow. The original idea behind this mode was to facilitate live
steering and modifications of a running workflow, but this has proven
tricky as one needs to ensure the workflow is not running while
applying the changes, etc. Taverna 2.2 will however include a
Pause/Resume mechanism, bringing us one step closed to such a goal.

The disadvantage of the current mode is that you need all the Taverna
dependencies to edit a workflow, so with SCUFL2 we're moving to a more
lightweight model descibing the workflow and the service bindings,
which should be possible to generate or edit by say a web service or a
Perl script. It could then be a future task for the translator that is
mapping SCUFL2 to t2flow objects to facilitate modifications of a
running workflow.

Another way to do such modifications is to implement partial rerun,
where you would run the new workflow, but using cached/previous values
stored in provenance  run where the service bindings and inputs are
matching the previous run. This should be possible to implement with
the current code, and would be useful also as a backup for services
that might be down or which takes a long time to execute, simply to
return the same value as last time.


Anyway..back to the edits.

The Next Generation Workbench [2] work, lead by Rishi Ramgolam and
Jiten Bhagat of the myGrid team, will be using the SCUFL2 model for
describing the workflow. I've copied this email to them so that they
are aware of the ideas for serializing edits/actions. Taverna NG is
built on various Eclipse framework which might make this easier to
achieve.

[1] http://www.mygrid.org.uk/dev/wiki/display/developer/SCUFL2
[2] http://www.mygrid.org.uk/dev/wiki/display/TNG
-- 
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
taverna-hackers mailing list
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/
Developers Guide: http://www.taverna.org.uk/developers/

Reply via email to