ReMoDeL is a conceptual modelling language, used to represent concepts, properties and relationships in any desired domain. It can be used to construct abstract models of software systems, which are later combined and refined by model transformation to create concrete models, from which code may be generated.
ReMoDeL is an expressive language, influenced by both object-oriented and pure functional programming styles. It is a succinct language, four times less verbose than the equivalent Java code. It comes with a cross-compiler to Java and integrates seamlessly with your preferred IDE, such as Eclipse, IntelliJ or NetBeans.
ReMoDeL is easy to use. Download the ReMoDeL library bundle and install the example project. Your own projects will follow the same pattern.
Metamodel: First, you will want to build a metamodel for the domain of interest. This defines the concepts that you want to represent. For example, a UML Class Diagram will have such concepts as: Type, Class, Attribute, EndRole, Association and Generalisation whereas a UML State Machine Diagram will have such concepts as: Machine, State, Event and Transition.
Model: Next, you will want to build example models, instances of your metamodel. These may represent particular Class Diagrams, with specific classes, attributes and associations, or particular State Machines with specific events, states and transitions.
Model Transformation: After that, you will want to build one or more model transformations. These are sets of mapping rules that transform elements of the source model into elements of the target model. You can create different kinds of transformation:
Code Generation: Finally, you may write a simple code generator to convert your concrete models into code. An example of this would be generating the SQL Data Definition Language from the Data Model.
ReMoDeL Transformation from InTree to Graph