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 10:57  |
Eclipse User |
|
|
|
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 14:03   |
Eclipse User |
|
|
|
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 04:50   |
Eclipse User |
|
|
|
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 05:54  |
Eclipse User |
|
|
|
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 14:03  |
Eclipse User |
|
|
|
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 04:50  |
Eclipse User |
|
|
|
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 05:54  |
Eclipse User |
|
|
|
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
|
|
|
Goto Forum:
Current Time: Sun Jul 06 07:36:35 EDT 2025
Powered by FUDForum. Page generated in 0.03920 seconds
|