Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [Workflow Engine] Chain DSL for the end-user
[Workflow Engine] Chain DSL for the end-user [message #100564] Sat, 03 November 2007 14:57 Go to next message
Jonathan MUSSET is currently offline Jonathan MUSSETFriend
Messages: 43
Registered: July 2009
Member
Hi,
I'm Jonathan, the leader of the Acceleo Project.
We worked on several DSLs and built editors for them using EMF.
One of the DSLs is very usefull to launch tasks like "Generation",
"Transformation", and "Parsing".
As far as I can see workflow engine doesn't currently use EMF for
serialization.
We would like to add a model editor (generated by EMF) for the workflow
engine, like for Acceleo.
I saw that you have a XML configuration language :

<workflow>
<property name='genPath' value='/home/user/target'/>
<property name='model' value='/home/user/model.xmi'/>
<component class='an.handwriten.XmiReader'>
<model value='${model}'/>
</component>
<component class='oaw.xpand2.Generator'>
<outlet>
<path value='${genPath}'/>
</outlet>
</component>
</workflow>

So, it is quite simple to have an EMF model of this language.
Here is a small description of our chain metamodel :

It contains some declarations (resources) followed by the actions to run :

The resource part, also called "Repository", contains all of the
resources used by the actions :
- Model : The models to which the generator will be applied
- Folder : The directories in which the generation will take place
- Log : files that record errors
- Metamodel : The functional meta-models describing the entry models for
generation
- Generator : The generator to apply
- Transformer : The transformation to apply

The action parts, also called "ActionSet", contain all the tasks that
must be run :

- Generate : applies a generator to a model, and creates the target files.
- Transform : applies a transformer to severals models.
- Parse : makes a reverse engeneering of the selected folder, and
creates the specified model
- Convert Xmi : Converts an XMI 1.x file that has been exported by a non
EMF modeler into a XMI 2.0 file based on EMF. This conversion can handle
UML13 and UML14 meta-models defined for EMF with the
http://www.obeo.fr/acceleo/uml13 and http://www.obeo.fr/acceleo/uml14
URIs. This action generally precedes a generation action, which is
applied to the model that results from the conversion.
- Remove : Completely removes the selected files and directories.
- Call : Launch the chains with the given path (« Chain Path »),
replacing the declared parameters of the sub chain by the given
arguments. A double click on the new "Call" is possible to select the
chain to call.
- Custom Action : Launch a custom action on the selected resources. It's
an infinite extension point. You can add ant tasks...
- ...

As the operations parameters are typed, this DSL is far simpler for the
end-user and many more checked are possible (just using the
EMF-validation framework).

Are you interested in such a contribution ?
If not, Are there any plans for this kind of features ?

Regards,

Jonathan
Re: [Workflow Engine] Chain DSL for the end-user [message #100578 is a reply to message #100564] Sun, 04 November 2007 19:03 Go to previous messageGo to next message
Bernd Kolb is currently offline Bernd KolbFriend
Messages: 57
Registered: July 2009
Member
Hi Jonathan,

Thanks for your offer. We are at the moment in the process of planning.
A first draft of the paper will hopefully be finished by mid of this
week. If you'd like to I'll send this paper to you and we can start a
discussion. Your feedback would be highly welcome!

Best regards

Bernd


Jonathan MUSSET schrieb:
> Hi,
> I'm Jonathan, the leader of the Acceleo Project.
> We worked on several DSLs and built editors for them using EMF.
> One of the DSLs is very usefull to launch tasks like "Generation",
> "Transformation", and "Parsing".
> As far as I can see workflow engine doesn't currently use EMF for
> serialization.
> We would like to add a model editor (generated by EMF) for the workflow
> engine, like for Acceleo.
> I saw that you have a XML configuration language :
>
> <workflow>
> <property name='genPath' value='/home/user/target'/>
> <property name='model' value='/home/user/model.xmi'/>
> <component class='an.handwriten.XmiReader'>
> <model value='${model}'/>
> </component>
> <component class='oaw.xpand2.Generator'>
> <outlet>
> <path value='${genPath}'/>
> </outlet>
> </component>
> </workflow>
>
> So, it is quite simple to have an EMF model of this language.
> Here is a small description of our chain metamodel :
>
> It contains some declarations (resources) followed by the actions to run :
>
> The resource part, also called "Repository", contains all of the
> resources used by the actions :
> - Model : The models to which the generator will be applied
> - Folder : The directories in which the generation will take place
> - Log : files that record errors
> - Metamodel : The functional meta-models describing the entry models for
> generation
> - Generator : The generator to apply
> - Transformer : The transformation to apply
>
> The action parts, also called "ActionSet", contain all the tasks that
> must be run :
>
> - Generate : applies a generator to a model, and creates the target files.
> - Transform : applies a transformer to severals models.
> - Parse : makes a reverse engeneering of the selected folder, and
> creates the specified model
> - Convert Xmi : Converts an XMI 1.x file that has been exported by a non
> EMF modeler into a XMI 2.0 file based on EMF. This conversion can handle
> UML13 and UML14 meta-models defined for EMF with the
> http://www.obeo.fr/acceleo/uml13 and http://www.obeo.fr/acceleo/uml14
> URIs. This action generally precedes a generation action, which is
> applied to the model that results from the conversion.
> - Remove : Completely removes the selected files and directories.
> - Call : Launch the chains with the given path (« Chain Path »),
> replacing the declared parameters of the sub chain by the given
> arguments. A double click on the new "Call" is possible to select the
> chain to call.
> - Custom Action : Launch a custom action on the selected resources. It's
> an infinite extension point. You can add ant tasks...
> - ...
>
> As the operations parameters are typed, this DSL is far simpler for the
> end-user and many more checked are possible (just using the
> EMF-validation framework).
>
> Are you interested in such a contribution ?
> If not, Are there any plans for this kind of features ?
>
> Regards,
>
> Jonathan
Re: [Workflow Engine] Chain DSL for the end-user [message #100591 is a reply to message #100578] Mon, 05 November 2007 09:50 Go to previous messageGo to next message
Jonathan MUSSET is currently offline Jonathan MUSSETFriend
Messages: 43
Registered: July 2009
Member
I'm interested to give you my feedback
Thanks a lot

Jonathan


Bernd Kolb a écrit :
> Hi Jonathan,
>
> Thanks for your offer. We are at the moment in the process of planning.
> A first draft of the paper will hopefully be finished by mid of this
> week. If you'd like to I'll send this paper to you and we can start a
> discussion. Your feedback would be highly welcome!
>
> Best regards
>
> Bernd
>
>
> Jonathan MUSSET schrieb:
>> Hi,
>> I'm Jonathan, the leader of the Acceleo Project.
>> We worked on several DSLs and built editors for them using EMF.
>> One of the DSLs is very usefull to launch tasks like "Generation",
>> "Transformation", and "Parsing".
>> As far as I can see workflow engine doesn't currently use EMF for
>> serialization.
>> We would like to add a model editor (generated by EMF) for the
>> workflow engine, like for Acceleo.
>> I saw that you have a XML configuration language :
>>
>> <workflow>
>> <property name='genPath' value='/home/user/target'/>
>> <property name='model' value='/home/user/model.xmi'/>
>> <component class='an.handwriten.XmiReader'>
>> <model value='${model}'/>
>> </component>
>> <component class='oaw.xpand2.Generator'>
>> <outlet>
>> <path value='${genPath}'/>
>> </outlet>
>> </component>
>> </workflow>
>>
>> So, it is quite simple to have an EMF model of this language.
>> Here is a small description of our chain metamodel :
>>
>> It contains some declarations (resources) followed by the actions to
>> run :
>>
>> The resource part, also called "Repository", contains all of the
>> resources used by the actions :
>> - Model : The models to which the generator will be applied
>> - Folder : The directories in which the generation will take place
>> - Log : files that record errors
>> - Metamodel : The functional meta-models describing the entry models
>> for generation
>> - Generator : The generator to apply
>> - Transformer : The transformation to apply
>>
>> The action parts, also called "ActionSet", contain all the tasks that
>> must be run :
>>
>> - Generate : applies a generator to a model, and creates the target
>> files.
>> - Transform : applies a transformer to severals models.
>> - Parse : makes a reverse engeneering of the selected folder, and
>> creates the specified model
>> - Convert Xmi : Converts an XMI 1.x file that has been exported by a
>> non EMF modeler into a XMI 2.0 file based on EMF. This conversion can
>> handle UML13 and UML14 meta-models defined for EMF with the
>> http://www.obeo.fr/acceleo/uml13 and http://www.obeo.fr/acceleo/uml14
>> URIs. This action generally precedes a generation action, which is
>> applied to the model that results from the conversion.
>> - Remove : Completely removes the selected files and directories.
>> - Call : Launch the chains with the given path (« Chain Path »),
>> replacing the declared parameters of the sub chain by the given
>> arguments. A double click on the new "Call" is possible to select the
>> chain to call.
>> - Custom Action : Launch a custom action on the selected resources.
>> It's an infinite extension point. You can add ant tasks...
>> - ...
>>
>> As the operations parameters are typed, this DSL is far simpler for
>> the end-user and many more checked are possible (just using the
>> EMF-validation framework).
>>
>> Are you interested in such a contribution ?
>> If not, Are there any plans for this kind of features ?
>>
>> Regards,
>>
>> Jonathan
Re: [Workflow Engine] Chain DSL for the end-user [message #100605 is a reply to message #100591] Mon, 05 November 2007 10:54 Go to previous message
Eclipse UserFriend
Originally posted by: merks.ca.ibm.com

Jonathan,

When I was reviewing the MWE code as part of it being committed to CVS,
that's one of the things that struck me: the workflow model isn't a
model in the EMF sense. Making is a model, clearly enables all sorts of
other functionality that would otherwise need to be specifically written
for the workflow APIs. So converting it to a model seems to make good
sense. I know that for MWE it's important to support standalone
execution so it's good that EMF's core runtime does as well. I'll be
very interested to see how you guys progress on this cool stuff.


Jonathan MUSSET wrote:
> I'm interested to give you my feedback
> Thanks a lot
>
> Jonathan
>
>
> Bernd Kolb a écrit :
>> Hi Jonathan,
>>
>> Thanks for your offer. We are at the moment in the process of planning.
>> A first draft of the paper will hopefully be finished by mid of this
>> week. If you'd like to I'll send this paper to you and we can start a
>> discussion. Your feedback would be highly welcome!
>>
>> Best regards
>>
>> Bernd
>>
>>
>> Jonathan MUSSET schrieb:
>>> Hi,
>>> I'm Jonathan, the leader of the Acceleo Project.
>>> We worked on several DSLs and built editors for them using EMF.
>>> One of the DSLs is very usefull to launch tasks like "Generation",
>>> "Transformation", and "Parsing".
>>> As far as I can see workflow engine doesn't currently use EMF for
>>> serialization.
>>> We would like to add a model editor (generated by EMF) for the
>>> workflow engine, like for Acceleo.
>>> I saw that you have a XML configuration language :
>>>
>>> <workflow>
>>> <property name='genPath' value='/home/user/target'/>
>>> <property name='model' value='/home/user/model.xmi'/>
>>> <component class='an.handwriten.XmiReader'>
>>> <model value='${model}'/>
>>> </component>
>>> <component class='oaw.xpand2.Generator'>
>>> <outlet>
>>> <path value='${genPath}'/>
>>> </outlet>
>>> </component>
>>> </workflow>
>>>
>>> So, it is quite simple to have an EMF model of this language.
>>> Here is a small description of our chain metamodel :
>>>
>>> It contains some declarations (resources) followed by the actions to
>>> run :
>>>
>>> The resource part, also called "Repository", contains all of the
>>> resources used by the actions :
>>> - Model : The models to which the generator will be applied
>>> - Folder : The directories in which the generation will take place
>>> - Log : files that record errors
>>> - Metamodel : The functional meta-models describing the entry models
>>> for generation
>>> - Generator : The generator to apply
>>> - Transformer : The transformation to apply
>>>
>>> The action parts, also called "ActionSet", contain all the tasks
>>> that must be run :
>>>
>>> - Generate : applies a generator to a model, and creates the target
>>> files.
>>> - Transform : applies a transformer to severals models.
>>> - Parse : makes a reverse engeneering of the selected folder, and
>>> creates the specified model
>>> - Convert Xmi : Converts an XMI 1.x file that has been exported by a
>>> non EMF modeler into a XMI 2.0 file based on EMF. This conversion
>>> can handle UML13 and UML14 meta-models defined for EMF with the
>>> http://www.obeo.fr/acceleo/uml13 and
>>> http://www.obeo.fr/acceleo/uml14 URIs. This action generally
>>> precedes a generation action, which is applied to the model that
>>> results from the conversion.
>>> - Remove : Completely removes the selected files and directories.
>>> - Call : Launch the chains with the given path (« Chain Path »),
>>> replacing the declared parameters of the sub chain by the given
>>> arguments. A double click on the new "Call" is possible to select
>>> the chain to call.
>>> - Custom Action : Launch a custom action on the selected resources.
>>> It's an infinite extension point. You can add ant tasks...
>>> - ...
>>>
>>> As the operations parameters are typed, this DSL is far simpler for
>>> the end-user and many more checked are possible (just using the
>>> EMF-validation framework).
>>>
>>> Are you interested in such a contribution ?
>>> If not, Are there any plans for this kind of features ?
>>>
>>> Regards,
>>>
>>> Jonathan
Re: [Workflow Engine] Chain DSL for the end-user [message #610201 is a reply to message #100564] Sun, 04 November 2007 19:03 Go to previous message
Bernd Kolb is currently offline Bernd KolbFriend
Messages: 57
Registered: July 2009
Member
Hi Jonathan,

Thanks for your offer. We are at the moment in the process of planning.
A first draft of the paper will hopefully be finished by mid of this
week. If you'd like to I'll send this paper to you and we can start a
discussion. Your feedback would be highly welcome!

Best regards

Bernd


Jonathan MUSSET schrieb:
> Hi,
> I'm Jonathan, the leader of the Acceleo Project.
> We worked on several DSLs and built editors for them using EMF.
> One of the DSLs is very usefull to launch tasks like "Generation",
> "Transformation", and "Parsing".
> As far as I can see workflow engine doesn't currently use EMF for
> serialization.
> We would like to add a model editor (generated by EMF) for the workflow
> engine, like for Acceleo.
> I saw that you have a XML configuration language :
>
> <workflow>
> <property name='genPath' value='/home/user/target'/>
> <property name='model' value='/home/user/model.xmi'/>
> <component class='an.handwriten.XmiReader'>
> <model value='${model}'/>
> </component>
> <component class='oaw.xpand2.Generator'>
> <outlet>
> <path value='${genPath}'/>
> </outlet>
> </component>
> </workflow>
>
> So, it is quite simple to have an EMF model of this language.
> Here is a small description of our chain metamodel :
>
> It contains some declarations (resources) followed by the actions to run :
>
> The resource part, also called "Repository", contains all of the
> resources used by the actions :
> - Model : The models to which the generator will be applied
> - Folder : The directories in which the generation will take place
> - Log : files that record errors
> - Metamodel : The functional meta-models describing the entry models for
> generation
> - Generator : The generator to apply
> - Transformer : The transformation to apply
>
> The action parts, also called "ActionSet", contain all the tasks that
> must be run :
>
> - Generate : applies a generator to a model, and creates the target files.
> - Transform : applies a transformer to severals models.
> - Parse : makes a reverse engeneering of the selected folder, and
> creates the specified model
> - Convert Xmi : Converts an XMI 1.x file that has been exported by a non
> EMF modeler into a XMI 2.0 file based on EMF. This conversion can handle
> UML13 and UML14 meta-models defined for EMF with the
> http://www.obeo.fr/acceleo/uml13 and http://www.obeo.fr/acceleo/uml14
> URIs. This action generally precedes a generation action, which is
> applied to the model that results from the conversion.
> - Remove : Completely removes the selected files and directories.
> - Call : Launch the chains with the given path (« Chain Path »),
> replacing the declared parameters of the sub chain by the given
> arguments. A double click on the new "Call" is possible to select the
> chain to call.
> - Custom Action : Launch a custom action on the selected resources. It's
> an infinite extension point. You can add ant tasks...
> - ...
>
> As the operations parameters are typed, this DSL is far simpler for the
> end-user and many more checked are possible (just using the
> EMF-validation framework).
>
> Are you interested in such a contribution ?
> If not, Are there any plans for this kind of features ?
>
> Regards,
>
> Jonathan
Re: [Workflow Engine] Chain DSL for the end-user [message #610203 is a reply to message #100578] Mon, 05 November 2007 09:50 Go to previous message
Jonathan MUSSET is currently offline Jonathan MUSSETFriend
Messages: 43
Registered: July 2009
Member
I'm interested to give you my feedback
Thanks a lot

Jonathan


Bernd Kolb a écrit :
> Hi Jonathan,
>
> Thanks for your offer. We are at the moment in the process of planning.
> A first draft of the paper will hopefully be finished by mid of this
> week. If you'd like to I'll send this paper to you and we can start a
> discussion. Your feedback would be highly welcome!
>
> Best regards
>
> Bernd
>
>
> Jonathan MUSSET schrieb:
>> Hi,
>> I'm Jonathan, the leader of the Acceleo Project.
>> We worked on several DSLs and built editors for them using EMF.
>> One of the DSLs is very usefull to launch tasks like "Generation",
>> "Transformation", and "Parsing".
>> As far as I can see workflow engine doesn't currently use EMF for
>> serialization.
>> We would like to add a model editor (generated by EMF) for the
>> workflow engine, like for Acceleo.
>> I saw that you have a XML configuration language :
>>
>> <workflow>
>> <property name='genPath' value='/home/user/target'/>
>> <property name='model' value='/home/user/model.xmi'/>
>> <component class='an.handwriten.XmiReader'>
>> <model value='${model}'/>
>> </component>
>> <component class='oaw.xpand2.Generator'>
>> <outlet>
>> <path value='${genPath}'/>
>> </outlet>
>> </component>
>> </workflow>
>>
>> So, it is quite simple to have an EMF model of this language.
>> Here is a small description of our chain metamodel :
>>
>> It contains some declarations (resources) followed by the actions to
>> run :
>>
>> The resource part, also called "Repository", contains all of the
>> resources used by the actions :
>> - Model : The models to which the generator will be applied
>> - Folder : The directories in which the generation will take place
>> - Log : files that record errors
>> - Metamodel : The functional meta-models describing the entry models
>> for generation
>> - Generator : The generator to apply
>> - Transformer : The transformation to apply
>>
>> The action parts, also called "ActionSet", contain all the tasks that
>> must be run :
>>
>> - Generate : applies a generator to a model, and creates the target
>> files.
>> - Transform : applies a transformer to severals models.
>> - Parse : makes a reverse engeneering of the selected folder, and
>> creates the specified model
>> - Convert Xmi : Converts an XMI 1.x file that has been exported by a
>> non EMF modeler into a XMI 2.0 file based on EMF. This conversion can
>> handle UML13 and UML14 meta-models defined for EMF with the
>> http://www.obeo.fr/acceleo/uml13 and http://www.obeo.fr/acceleo/uml14
>> URIs. This action generally precedes a generation action, which is
>> applied to the model that results from the conversion.
>> - Remove : Completely removes the selected files and directories.
>> - Call : Launch the chains with the given path (« Chain Path »),
>> replacing the declared parameters of the sub chain by the given
>> arguments. A double click on the new "Call" is possible to select the
>> chain to call.
>> - Custom Action : Launch a custom action on the selected resources.
>> It's an infinite extension point. You can add ant tasks...
>> - ...
>>
>> As the operations parameters are typed, this DSL is far simpler for
>> the end-user and many more checked are possible (just using the
>> EMF-validation framework).
>>
>> Are you interested in such a contribution ?
>> If not, Are there any plans for this kind of features ?
>>
>> Regards,
>>
>> Jonathan
Re: [Workflow Engine] Chain DSL for the end-user [message #610204 is a reply to message #100591] Mon, 05 November 2007 10:54 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33132
Registered: July 2009
Senior Member
Jonathan,

When I was reviewing the MWE code as part of it being committed to CVS,
that's one of the things that struck me: the workflow model isn't a
model in the EMF sense. Making is a model, clearly enables all sorts of
other functionality that would otherwise need to be specifically written
for the workflow APIs. So converting it to a model seems to make good
sense. I know that for MWE it's important to support standalone
execution so it's good that EMF's core runtime does as well. I'll be
very interested to see how you guys progress on this cool stuff.


Jonathan MUSSET wrote:
> I'm interested to give you my feedback
> Thanks a lot
>
> Jonathan
>
>
> Bernd Kolb a écrit :
>> Hi Jonathan,
>>
>> Thanks for your offer. We are at the moment in the process of planning.
>> A first draft of the paper will hopefully be finished by mid of this
>> week. If you'd like to I'll send this paper to you and we can start a
>> discussion. Your feedback would be highly welcome!
>>
>> Best regards
>>
>> Bernd
>>
>>
>> Jonathan MUSSET schrieb:
>>> Hi,
>>> I'm Jonathan, the leader of the Acceleo Project.
>>> We worked on several DSLs and built editors for them using EMF.
>>> One of the DSLs is very usefull to launch tasks like "Generation",
>>> "Transformation", and "Parsing".
>>> As far as I can see workflow engine doesn't currently use EMF for
>>> serialization.
>>> We would like to add a model editor (generated by EMF) for the
>>> workflow engine, like for Acceleo.
>>> I saw that you have a XML configuration language :
>>>
>>> <workflow>
>>> <property name='genPath' value='/home/user/target'/>
>>> <property name='model' value='/home/user/model.xmi'/>
>>> <component class='an.handwriten.XmiReader'>
>>> <model value='${model}'/>
>>> </component>
>>> <component class='oaw.xpand2.Generator'>
>>> <outlet>
>>> <path value='${genPath}'/>
>>> </outlet>
>>> </component>
>>> </workflow>
>>>
>>> So, it is quite simple to have an EMF model of this language.
>>> Here is a small description of our chain metamodel :
>>>
>>> It contains some declarations (resources) followed by the actions to
>>> run :
>>>
>>> The resource part, also called "Repository", contains all of the
>>> resources used by the actions :
>>> - Model : The models to which the generator will be applied
>>> - Folder : The directories in which the generation will take place
>>> - Log : files that record errors
>>> - Metamodel : The functional meta-models describing the entry models
>>> for generation
>>> - Generator : The generator to apply
>>> - Transformer : The transformation to apply
>>>
>>> The action parts, also called "ActionSet", contain all the tasks
>>> that must be run :
>>>
>>> - Generate : applies a generator to a model, and creates the target
>>> files.
>>> - Transform : applies a transformer to severals models.
>>> - Parse : makes a reverse engeneering of the selected folder, and
>>> creates the specified model
>>> - Convert Xmi : Converts an XMI 1.x file that has been exported by a
>>> non EMF modeler into a XMI 2.0 file based on EMF. This conversion
>>> can handle UML13 and UML14 meta-models defined for EMF with the
>>> http://www.obeo.fr/acceleo/uml13 and
>>> http://www.obeo.fr/acceleo/uml14 URIs. This action generally
>>> precedes a generation action, which is applied to the model that
>>> results from the conversion.
>>> - Remove : Completely removes the selected files and directories.
>>> - Call : Launch the chains with the given path (« Chain Path »),
>>> replacing the declared parameters of the sub chain by the given
>>> arguments. A double click on the new "Call" is possible to select
>>> the chain to call.
>>> - Custom Action : Launch a custom action on the selected resources.
>>> It's an infinite extension point. You can add ant tasks...
>>> - ...
>>>
>>> As the operations parameters are typed, this DSL is far simpler for
>>> the end-user and many more checked are possible (just using the
>>> EMF-validation framework).
>>>
>>> Are you interested in such a contribution ?
>>> If not, Are there any plans for this kind of features ?
>>>
>>> Regards,
>>>
>>> Jonathan


Ed Merks
Professional Support: https://www.macromodeling.com/
Previous Topic:[Workflow Engine] Chain DSL for the end-user
Next Topic:[Announce] The EclipseCon 2008 Submission Deadline is Rapidly Approaching.
Goto Forum:
  


Current Time: Sat Apr 13 20:29:41 GMT 2024

Powered by FUDForum. Page generated in 0.08805 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top