Facilitating the spread of knowledge and innovation in professional software development



Choose your language

InfoQ Homepage News Article: RGen: Ruby Modeling and Code Generation Framework

Article: RGen: Ruby Modeling and Code Generation Framework


In this article, Martin Thiede explains the ideas and concepts behind the RGen project, a framework that allows modeling and code generation in Ruby. The RGen project is used in a project "to build models and generate code for automotive embedded Electronic Control Units".

There are many interpretations of "model driven" development or software. RGen builds on the ideas and concepts from frameworks such as the popular Eclipse EMF or openArchitectureWare and brings them to the Ruby platform. RGen makes the best of Ruby's flexibility, for instance by using an internal Ruby DSL to define metamodels or code generation.

The article explains the ideas and concepts and also provides a full example of a “UML State Chart to C++ code generator” built with Ruby and RGen.
Read Martin Thiede on "RGen: Ruby Modeling and Code Generation Framework".

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Article is really worth reading

    by Christian Tschenett,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Thanks. This article is really worth reading. I am looking forward to hear more from RGen in the future (maybe an included UML 2.x metamodel). I'll definitey give RGen a try.

  • Interesting article on a tool which connects ruby - MDA/MDD

    by Martin Karlsch,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Nice article - especially interesting because there aren't any good libraries / tools for ruby which connect it to the MDA/MDD world. I'll give it a try as soon as possible.

    What is your solution for inter model referencing?

    I created something similar for the Python world two years ago but not that advanced. It was a part of my master thesis ( called Frodo) and had a slightly different focus. It supported the loading of ecore models and the definition of a concret syntax. If RGen was release by that time, it would have been a great starting point for further experiments/contributions :-).

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.