The Model Driven Software Network

Raise your level of abstraction

Bring your Code Generator to the Masses

Do you already have your own code generator that can run on a Java Virtual Machine? Or do you want to develop a new code generator using Java as programing language? Now there is an easy way to make such a generator easily accessible from the outside world, without having to install it on every developer's computer. The Virtual Developer Platform lets you deploy your code generator in the cloud. It doesn't matter, for which target language your generator generates code or which modeling tool or model format you use. You can deploy/run multiple different versions of the same generator in parallel. And you control, whether a generator can be used by everybody or only by a group of people that is selected by you. You want to earn money with your generator? Apply a pay-per-use payment structure and you can do so.

Virtual Developer currently is in public beta. You can try it out by registering here. You want to know more about it? Drop us a message and we can arrange a webcast to tell you more about it.

Views: 221

Add a Comment

You need to be a member of The Model Driven Software Network to add comments!

Join The Model Driven Software Network

Comment by Andreas Leue on May 5, 2014 at 12:15

Hi, I sent an invitation to get in touch.

Concerning standardised domain specific languages I fully agree. offers the possibility to download complete or partial models in different languages, with server side customizable (multi-step) conversion, accessible via plain http.

The idea is to provide an environment where formats and abstractions get a chance to grow together and reuse of model artefacts (or parts thereof) is promoted (e.g., you can create an individual bundle of classes picked from arbitrary other projects). I'd love to see such features combined with or integrated into such tools like GenMyModel. I took a brief look at it, looks promising, yet for now it's too much beta for us (no state machines, no stereotypes at all, no custom key values etc.). Are you in touch with these people? Maybe one could exchange ideas. BTW: anybody maybe listening here?

Comment by Marcus Munzert on May 5, 2014 at 9:51

Hi Andreas,

Thank you for your interest in Virtual Developer. Yes, we are interested in making your open source code generator available and accessible on the Virtual Developer Platform. It is the basic idea of the platform to enable people/companies to easily make their generators available to the masses (or to a selected group of people only, if preferred).

If your generator is already written in Java, it is pretty easy to integrate it. Your generator needs to be provided as one or more OSGi bundles. And since your generator obviously does not use the Virtual Developer API, we simply create a tiny wrapper around your generator. That wrapper uses the Virtual Developer API and allows your generator to be executed on the platform.

Let's get in touch to talk about this.

I agree with you, that the model reuse/repository issue is a crucial part in the MDx game. I would even go further and argue that the availability of more standardised domain specific languages would help a lot to advance and simplify the usage of MDx.

While Virtual Developer is designed to get model files inside a ZIP file as input for a generator, it does not dictate the content of those files. It is a piece of cake to provide a URL or any other acquisition data as the input for a generator. The generator (in your case it would be the aforementioned wrapper) then, as a preliminary step, uses that data to read in the actual input model. Another model repository option to apply that approach is GenMyModel. They have written a blog post about a hypermedia model repository API that they are currently implementing.



Comment by Andreas Leue on May 2, 2014 at 7:54
Hi Marcus,

in case you're interested, you can of course integrate our open source code generator into your page. The oogenerator website is not really maintained, but the generator itself is in good standing, used, tested and feature-rich.

While I'd definitely favour this generator over others (because of features, it's nice Unicode syntax and because as the author I'm very used to it) I think the true benefits of a good MDx solution today are not to be found in the code generator, but in the infrastructure around. Which is the main reason why the website is not maintained.

A good generator is something like a must have feature today, and I'd say it's more or less more about taste which one to choose. Nevertheless, if you like, we can get in touch and integrate it.

Regarding infrastructure: in my opinion a crucial part in the MDx game is the model reuse/repository issue. You might have noted our site I've been posting here from time to time. It might be beneficial to bring such things together (your VDP and this respository). E.g., a cool feature could be to say "I'd like to apply code generator XYZ on model ABC and get the result".

E.g., at there is a bunch of unit test models we use with our own MDx framework EM/OS, all these models are build every night on our CI server. Would be nice to be able to see which code generator can handle which unit test model, for matters of benchmarking, and for matters of improving generator quality, since these models correspond to real world project challenges.

Finally, sure, reality is more complex than this scenario. Creating somthing meaningful not only requires a generator and some models, but templates, maybe runtime infrastructure and maybe more tooling. To make all of this available online and easily accessible is not a simple task, last not least because of the commercial interests behind (actually we do have a cloud version of our complete tooling available, for paying customers).

But since noone did found yet the MDx killer app, I appreciate approaches like your, all of these possibly contribute to the critical mass which in a not far future will ignite, I'm very sure about that.

Kind regards,



© 2019   Created by Mark Dalgarno.   Powered by

Badges  |  Report an Issue  |  Terms of Service