Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [papyrus-rt-dev] Split the org.eclipse.papyrusrt.codegen-feature?

To me the issue is two fold.

First is the general question of providing 'CRUD' methods for UML-RT that could be used for code generator, but also for custom validation, refactoring or other things that a developer or tool smith would use to work with a UML-RT model. I see these as generic model manipulation utilities that should be separated for the Papyrus-RT code generators all together which the tool ought to make available to developers and tool smiths.

The second more specific question is that I'd need to replace the RSA-RTE UML-RT API calls in our legacy code generators with something working for Papyrus/UML-RT models. I've started to go though the code and don't have a specific set of methods that are required yet.

Of course I could make a third implementation of this (beside the elementType based solution and what is currently in the code gen) but that would bring little benefit I assume and just add maintenance cost.

Actually after sending the email I realized that you've done some refactoring already. I was first looking at 0.72 code where the UMLRTProfileUtil was org.eclipse.papyrusrt.codegen.utils (I think) but now has be moved to org.eclipse.papyrusrt.xtumlrt.external. That one seems to have few dependencies, the only thing I stands out is extend but I guess that just shows my lack of understanding how you use xtend in the Papyrus-RT code base.

/Patrik

On 11/08/2016 05:28 PM, Ernesto Posse wrote:
Hi Patrick. 

Yes, indeed that we can and will split the codegen feature. It has been proposed (thanks to Peter) to refactor the code generator into components for different target languages, and have a generic "core codegen" in common.

I already started some of this refactoring, but it is not there yet, and it is not in the list of bugs for 0.9 which are the priority.

Nevertheless, this generic codegen component is supposed to have a "skeleton" of the code generator (there are several alternatives, perhaps a Template method or Strategy pattern or go with an MWE2 workflow). In the "core" component that you'd like, would you include that "generic" code generator skeleton, or are you looking for including only core utility classes? If the latter, then we should have two "core" components: one with the generic codegen and the other with just utilities. By the way, which classes would you like to see in that component?

By the way, the code generator can be run stand-alone, as in really stand-alone, i.e. no Papyrus runtime service, not even headless Eclipse, just plain Java. See the oeprt.codegen.standalone plugin. (I spent quite a bit of time on making this work). 

--
Ernesto Posse
Zeligsoft

 

On Tue, Nov 8, 2016 at 4:20 AM Patrik Nandorf <patrik.nandorf@xxxxxxxxxxxx> wrote:
Hi,

A question regarding the org.eclipse.papyrusrt.codegen.utils plugin. It
ocontains some nice utils I'd like to use for our custom code genrator
etc but it is bundled into the org.eclipse.papyrusrt.codegen-feature
which includes a lot of things that I don't need and that just would
bloat our custom installation.

Would it be possible to split that feature into two where one contains
the more generic utils etc and the one the specific Papyrus-RT code
generator details? If the genric sould be a new feature och part of core
or soemthing aready existing, I don't know.

The important thing is that these utils can be used in standalone mode,
ie without the Papyrus service runtime, something that I understand also
is needed by the Papyrus-RT C++ codegen.

/Patrik


_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev


_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev


Back to the top