Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » Building a graphical editor to compose and visualise Epsilon Workflows(Your input is important)
Building a graphical editor to compose and visualise Epsilon Workflows [message #885227] Tue, 12 June 2012 12:29 Go to next message
Louis Rose is currently offline Louis Rose
Messages: 439
Registered: July 2009
Location: York, United Kingdom
Senior Member
NB: I am posting this message on behalf of one of my MSc project supervisees, Suhrid Karthik, as he is unable to post external links.

Hello all,

I'm an MSc student at the University of York and as part of my masters project I'm building a graphical editor to support the construction and visualisations of Epislon workflows. The broad goals are:

1) To offer a graphical way of constructing workflows which at the moment is done by using Epsilon ANT tasks.
2) To visualize existing workflow build files.

I've come up with a set of potential user requirements for such a tool which I've collected here:

https://docs.google.com/document/d/1J0MmTzKQ0oxNW4pcc9SBeWki2WCsa_0aEjhYHUmPyQo/edit

As users of Epsilon, your feedback on this is crucial and will help shape the tool. It would be great, if you could take a few moments of your time to go through the requirements and leave your comments either on the doc or here in this thread.

Regards,
Suhrid.

[Updated on: Tue, 12 June 2012 12:40]

Report message to a moderator

Re: Building a graphical editor to compose and visualise Epsilon Workflows [message #885233 is a reply to message #885227] Tue, 12 June 2012 12:43 Go to previous messageGo to next message
Louis Rose is currently offline Louis Rose
Messages: 439
Registered: July 2009
Location: York, United Kingdom
Senior Member
Apologies. It seems that the link was incorrect in the first post, and not everybody is seeing the updated link. The correct link is:

https://docs.google.com/document/d/1J0MmTzKQ0oxNW4pcc9SBeWki2WCsa_0aEjhYHUmPyQo/edit
Re: Building a graphical editor to compose and visualise Epsilon Workflows [message #885565 is a reply to message #885233] Wed, 13 June 2012 04:55 Go to previous messageGo to next message
Antonio Garcia-Dominguez is currently offline Antonio Garcia-Dominguez
Messages: 304
Registered: January 2010
Senior Member
Hi Louis, hi Suhrid,

That sounds very nice! Let me put in my 2 cents. Rather than editing the shared document, I'd like to first discuss things here.

First of all, how "leaky" do you want your abstraction to be? Advanced users like me that can already write Ant files might want to tweak the generated source code, to do the "remaining 20%" that your tool may not be designed to do. However, all that information might confuse users, so having a "simple" and "advanced" view might be useful.

Are you considering a traditional top-down approach from model to Ant buildfile, or will you work directly with the Ant buildfile as a model (with its own EMC driver)? I think you should be able to generate Java code straight from the Ant buildfile: after all, that's how Ant runs it Smile. Working directly with the Ant buildfile may provide the best results, but it will be probably more work.

I would also suggest having wizards for quickly generating common workflows. EUnit could greatly benefit from this. You could right-click on a .e*l file and tell your tool "generate me a workflow and a launch configuration for testing this script with these models". After that, we could drop the user into the EOL editor for the .eunit file, and they wouldn't need to know Ant at all.

Cheers,
Antonio
Re: Building a graphical editor to compose and visualise Epsilon Workflows [message #885752 is a reply to message #885565] Wed, 13 June 2012 10:31 Go to previous messageGo to next message
Horacio Hoyos is currently offline Horacio Hoyos
Messages: 155
Registered: October 2009
Senior Member

Hi Louis, hi Suhrid,

Quote:
First of all, how "leaky" do you want your abstraction to be? Advanced users like me that can already write Ant files might want to tweak the generated source code, to do the "remaining 20%" that your tool may not be designed to do. However, all that information might confuse users, so having a "simple" and "advanced" view might be useful.

Totally agree. Keep in mind that your editor should not overwrite or delete the 20% added by the user

Quote:
Working directly with the Ant buildfile may provide the best results, but it will be probably more work.

IMHO you should stick to generating an ANT script because the epsilon stand alone implementation is not robust enough, and once a good robust implementation is available it would allow you to do things way beyond the capabilities of the epsilon ant tasks. Maybe the simple vs advanced idea will allow more complex workflows to be expressed when targeting standalone generation. Perhaps at the moment a would starting point would be to stick to ANT generation but design the editor/dsl as to make it easily extendable in the future.

Quote:
I would also suggest having wizards for quickly generating common workflows. EUnit could greatly benefit from this. You could right-click on a .e*l file and tell your tool "generate me a workflow and a launch configuration for testing this script with these models". After that, we could drop the user into the EOL editor for the .eunit file, and they wouldn't need to know Ant at all.

This wold be awesome for newcomers and people that have to build ant tasks on a regular basis.

Although at the moment I currently run all E?L related stuff standalone, I do think that such an editor wold be an important contribution to the community.

Regarding the posted requirements:
FR_3 any chance to get the offending failed task to be marked in the editor?

FR_5 and FR_10 Should be probably a single requirement stating that the user should be able to define the execution order of tasks, including parallel execution. I would recommend taking a look at SysML activity diagrams which provide a pretty complete set of control nodes (forks, decisions, etc.).

FR_11 I would probably limit this one. I am think, for example, of ANT tasks that can modify the execution order of other tasks... you would have to add those semantics to your editor. I am guessing that probably the most desired additional tasks would be file/folder actions (things like delete before generation, etc.), but I am not an ANT expert so I recommend further research on this.


Horacio Hoyos Rodriguez
EngD Student
University Of York
Re: Building a graphical editor to compose and visualise Epsilon Workflows [message #885802 is a reply to message #885565] Wed, 13 June 2012 12:16 Go to previous messageGo to next message
Suhrid Karthik is currently offline Suhrid Karthik
Messages: 5
Registered: June 2012
Junior Member
Hello Antonio,

Thanks for your reply. The simple vs advanced view is a great suggestion.
Quote:
Are you considering a traditional top-down approach from model to Ant buildfile, or will you work directly with the Ant buildfile as a model (with its own EMC driver)?

At the moment, I am considering generating the ANT XML from a model which would back the details of the visual workflow. I'm not sure I understand what you mean by work "directly with the ANT buildfile". Could you please clarify ?

Having wizards to generate common workflows sounds like a good use case. I haven't used EUnit yet, so I will do more research about your idea.

Please feel free to share more ideas.

Thanks!
Suhrid.

[Updated on: Wed, 13 June 2012 12:16]

Report message to a moderator

Re: Building a graphical editor to compose and visualise Epsilon Workflows [message #885812 is a reply to message #885752] Wed, 13 June 2012 12:39 Go to previous messageGo to next message
Suhrid Karthik is currently offline Suhrid Karthik
Messages: 5
Registered: June 2012
Junior Member
Hi Horacio,

Many thanks for your reply.

Quote:
FR_3 any chance to get the offending failed task to be marked in the editor?


This is a good idea. I will look into this.

Quote:

FR_5 and FR_10 Should be probably a single requirement stating that the user should be able to define the execution order of tasks, including parallel execution. I would recommend taking a look at SysML activity diagrams which provide a pretty complete set of control nodes (forks, decisions, etc.).


Thanks, I will look at how SysML does this.

Quote:

FR_11 I would probably limit this one. I am think, for example, of ANT tasks that can modify the execution order of other tasks... you would have to add those semantics to your editor. I am guessing that probably the most desired additional tasks would be file/folder actions (things like delete before generation, etc.), but I am not an ANT expert so I recommend further research on this.


Good point. There are a huge variety of ANT tasks out there and introducing a graphical way to specify them fully is not trivial. However, I was thinking of having atleast a placeholder for non Epsilon tasks in the workflow visualisation - so that the complete workflow is represented. Perhaps further details of external tasks could be filled in by users later. But yes, this is something to think about.

Please feel free to share any more thoughts.

Thanks !
Suhrid.


Re: Building a graphical editor to compose and visualise Epsilon Workflows [message #885878 is a reply to message #885802] Wed, 13 June 2012 15:26 Go to previous messageGo to next message
Antonio Garcia-Dominguez is currently offline Antonio Garcia-Dominguez
Messages: 304
Registered: January 2010
Senior Member
Hi Suhrid,

Sorry if I wasn't clear. What I meant was more on the lines of what the WSDL or XML Schema editors in Eclipse do. They provide graphical interfaces for working with those kinds of files in a more accesible way (and with very nice validation facilities), but internally all they're doing is editing the WSDL or XML Schema file.

So to say, there's *no* intermediate explicit model: your editor works directly with the Ant script, perhaps with a small in-memory data model in the way.

Here's a link with some screenshots of the XML Schema editor:

http://wiki.eclipse.org/index.php/Introduction_to_the_XSD_Editor

The problem with this approach is that you wouldn't be able to follow a very model-driven approach to work with the Ant buildfiles Sad. One way to solve this is to implement an EMC driver to read Ant buildfiles as Epsilon models: you'd be able to use all the Epsilon languages on them that way.

Cheers,
Antonio
Re: Building a graphical editor to compose and visualise Epsilon Workflows [message #886383 is a reply to message #885878] Thu, 14 June 2012 16:35 Go to previous message
Suhrid Karthik is currently offline Suhrid Karthik
Messages: 5
Registered: June 2012
Junior Member
Hi Antonio,

Thanks. I now see what you mean. The main use case where I would have to interact directly with the ANT file is when I would need to build a visual representation of it. So yes, it would be better to use Epsilon to interact with a model of the ANT file rather than parsing out the XML. Louis had suggested something similar as well.

Best,
Suhrid.
Previous Topic:Call Java methods from .jar in EWL
Next Topic:ETL: protected regions not working
Goto Forum:
  


Current Time: Fri Aug 29 10:25:37 EDT 2014

Powered by FUDForum. Page generated in 0.01951 seconds