Welcome to Medea

Medea is a code generation framework that adheres to the Model Driven Architecture (MDA) paradigm. It takes UML class and sequence diagrams in XMI format and uses XSLT templates to generate code for various languages, technologies and complete applications.

Medea is designed to be lightweight, pragmatic and to have a minimal learning curve. It consists of text templates and contains no binary code; it uses a standardized language: XSLT and a well known transformer like Saxon.

Medea can work with any UML tool as long as it exports the model in XMI format. The complexities of the XMI and its flavors are hidden by an XSLT library that lets the template designer use high level functions to traverse the model and select its elements like classes, attributes, operations, states etc.

Any number and combination of XSLT templates can be applied to a model to produce various artifacts like code, configuration or documentation files. Here are some examples:


Class diagram

Class diagram

State diagram

State diagram

Java class

Java class

CRUD J2EE application

CRUD J2EE application

Struts web application

Struts application

ejb-jar configuration file

ejb-jar configuration file

Hibernate configuration file

Hibernate configuration file

JSP file

JSP file

struts-config configuration file

struts-config configuration file

faces-config configuration file

faces-config configuration file