facebook

UML and code generation

  1. MyEclipse IDE
  2.  > 
  3. Feature Requests
Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #201274 Reply

    EvilWonka
    Member

    I assume that the MyEclipse UML plug-in will not contain any code generation capability? I am not a real fan of this feature anyway since it tends to become tedious learning how to get the product to generate the associations in the code correctly. A modest amount of code generation may be desireable however. Has the team considered this issue and if so, what was the outcome?

    #210686 Reply

    Riyad Kalla
    Member

    We have not finalized on our RAD tooling code generation strategy yet.

    #210700 Reply

    posttool
    Member

    Hi. I generally have a base set of bean classes that can be auto generated. I always extend them and currently (using my own software) generate those bean classes as well as database create/alter statements. As the project and data requirements change, it is easy for me to add/remove fields & collection mappings. My persistence library has many similarities to Hibernate, its just not as robust or well documented. So as soon as MyEclipse integrates the ORMapping/UML tools, I will stop maintaining my own libraries (how can I express the simultaneous joy and sadness I feel about abandoning my codebase). Anyway, I am a fan of class/db synchronization via central configuration GUI. It is a tricky business. I would be happy to be involved in this discussion. Keep me in on this loop, Riyad. It is one of my favorite topics.

    David

    #210711 Reply

    Riyad Kalla
    Member

    David,
    Have you upgraded to MyEclipse 3.8 Beta 2? Our first stage of Hibernate support is that in that release… allows you to do things like open up connections to a DB and generate mapping files, keep your hbm files in sync etc…

    Also as far as abandoning your own software, before you do that, if it is of good quality, remember that all software starts off this way… even Hibernate started off with Gavin trying to solve a problem he ran into while consulting, so don’t jump ship for nothing! 😉

    #210949 Reply

    Robert Varga
    Participant

    @support-rkalla wrote:

    We have not finalized on our RAD tooling code generation strategy yet.

    Still you could release some model editor without code generation. That would allow us who already have some model-based generation facilities to integrate with your model earlier.

    Also it would be very useful to release some API and extension points with which we can integrate our facilities tighter with MyEclipse plugin.

    Are you still planning to use the Metanology MDE for UML editor?

    Regards,

    Robert

    #210963 Reply

    Scott Anderson
    Participant

    Robert,

    Have you used Metanology’s tools? How do you find them? Great / Good / Poor? Why?

    #210989 Reply

    Robert Varga
    Participant

    @support-scott wrote:

    Robert,

    Have you used Metanology’s tools? How do you find them? Great / Good / Poor? Why?

    I only had a quick look of MDE for UML.

    It seemed to be a more comfortable than my early experiences with Omondo, in the sense, that when I tried Omondo, I had to bring up the add new attribute or add new operation command from the context menu for each new attribute or operation to be added. This however may not be entirely fair to Omondo, since I have had my look at it years ago, it may be much more user-friendly now.

    This is more conveniently coded in MDE for UML, since you are able to add your attributes or operations in a table control therefore it more resembles Rational Rose where you are able to type in your operations and attributes directly in the class diagram which is the most convenient solution in my opinion.

    I also liked that the Metanology plugin uses XML to store its model, although it is not documented, but at least it is a bit easier to write a parser for it than for Rose, where even the markup syntax is undocumented, while at Metanology it is XML.

    The usage of separate files for each model object may or may not be optimal. It makes reading the entire model a bit more difficult and slower because of bigger resource consumption (imagine how many files a really big model would contain, and how many of those files would need to be opened simultaneously while reading up the entire model hierarchy, which can be a big amount for a deeply packaged model).

    Also that large amount of separate files may be beneficial for putting them into source-control, and provides greater parallelability of change operations (more people can work on the model) in case of reserved checkouts like in Clearcase, but may make it really-really problematic to keep consistent sets of those files after larger changes, because of source-control support for merging entire changesets on the model structure.

    Also I don’t know how the plugin reacts on an inconsistent model file-set. Rational Rose survives this, most of the time it even correctly resolves references in case of incompletely made changes (when the effect traverses more files then modified in the changeset), or at least gives a useful error message and is able to work with inconsistent model file sets.

    Anyway, if you decide to use the Metanology for UML plugin, I will integrate that into my code generation framework, since I don’t have the time nor the incentive to write a UML modelling GUI, but I do want to have UML model files for a possible source of my generation framework, but I don’t want Rose be the only source of that model file, since it is a monetary overkill for that purpose.

    Also I will make model generation a part of my generation framework, so that some reverse-engineering like functionality could also be put into the framework.

    Look for the results in the Sourceforge project Zdoclet in a couple of months…

    That of course invites some proper GUI support for the framework as well, but I don’t know when I will get to that, and actually would welcome someone else to do it 🙂 Until then, it is ant time 🙂

    Regards,

    Robert

    #211006 Reply

    Scott Anderson
    Participant

    Robert,

    Since you’re working on code generation, you might want to look at the UML2 project (http://www.eclipse.org/uml2) to provide the standard meta-model to work against. Just a thought.

    #211021 Reply

    Robert Varga
    Participant

    @support-scott wrote:

    Robert,

    Since you’re working on code generation, you might want to look at the UML2 project (http://www.eclipse.org/uml2) to provide the standard meta-model to work against. Just a thought.

    The main focus of that code generation is making tools which can run as standalone as well, for full builds. That means, that if UML2 is not available as standalone, and if Rose does not support it, it should not be the the single foundation to build on.

    My design is somewhat similar to (late?) XDoclet2… I have a pluggable metadata provider that can be anything, Java Source, UML models from arbitrary sources, anything for which a reader can be written.

    Afterwards there is a generation step by pluggable generation engines from configurable templates, then configurable persisters.

    I don’t know how the UML2 project which, I guess, depends on Eclipse runtime can fit in here…

    Regards,

    Robert

Viewing 9 posts - 1 through 9 (of 9 total)
Reply To: UML and code generation

You must be logged in to post in the forum log in