April 9-11th 2014
Churchill College, Cambridge UK


Session Title

Remote Generators with Virtual Developer – write once, generate everywhere

Session Type Tutorial
Duration 90 minutes
Session Description

Developing a powerful, maintainable code generator is a challenge. Distributing such a code generator in an organisation, let alone to the public, adds a significant amount of effort. Is it really worth that effort, to invest so much time and money and take a high risk of project failure to make a bet on the promises of model-driven software development?

What if a code generator would be more than an exotic piece of script, program or set of templates, enclosed in a proprietary tool, often bound to a specific modelling tool or IDE? Wouldn’t code generation be much easier to provide and to use, if it were a service, developed with standard technologies, accessible on the intranet/internet, from everywhere? Virtual Developer strives to accomplish this.

On the Virtual Developer platform, code generators are made available as services. To develop a code generator, you need to know Java, the Virtual Developer Java-API and OSGi (Open Services Gateway initiative). It’s up to you to choose whether you want to do template-based or imperative code generation or a mixture of both. And every model format that can be read by means of Java can be selected to serve as one of the formats for a generator’s input-models. In other words: Virtual Developer is modelling-tool agnostic.

In this session participants will learn how easy it can be to develop a code generator and make it available to and accessible by the public (as a service). Also the inner workings of the Virtual Developer technology are explained. A simple code generator will be implemented by the speakers, step-by-step. Optionally, attendees can use the Virtual Developer IDE to do the same steps as the speakers do. Download and installation instructions can be found on www.virtual-developer.com. Finally, a complex code generator that is capable to generate an Android application along with a complete back-end that provides a REST-API (Java technologies: JAX-RS, EJB, JPA) is demonstrated.


Marcus Munzert (Generative Software)

Marcus is a mathematician, working with Enterprise Java since 1997 and in the field of model driven development since 2002.

Heinz Rohmer (Generative Software)

Heinz is a computer scientist, working with Enterprise Java since more than 10 years and in the field of model-driven development since 2007.

Heinz founded Generative Software GmbH in 2007 (together with Marcus) after having worked with Tepcon GmbH, Elsag Solutions AG and Living Systems (now Whitestein). His roles have included Software Developer, Software Architect and Project Manager.