MERODE

MERODE is an Object Oriented Enterprise Modeling method developed at KU Leuven (Belgium). Its name is the abbreviation of Model driven, Existence dependency Relation, Object oriented DEvelopment. MERODE is a method for creating domain models (also called conceptual models) as basis for building information systems making use of two prominent UML diagramming techniques - class diagram and state diagrams. Starting from a high-level PIM (close to a Computational Independent Model (CIM)) allows removing or hiding details irrelevant for a conceptual modelling view which makes the approach easier to understand. The method is grounded in process algebra, which enables mathematical reasoning on models. Thanks to this, models can be checked for internal consistency and mutual completeness, i.e. inter/intra model consistency and syntactical quality. The automated reasoning ("consistency by construction") also caters for autocomplete functionality, which allows creating correct models faster.

A typical MERODE analysis or conceptualisation consists of three views or diagrams: a so-called existence dependency graph (EDG) similar to a UML class diagram, a proprietary concept namely an object event table (OET) and a group of finite state machines.

MERODE fosters a model-driven engineering approach to software development. It targets platform independent domain models that are sufficiently complete for execution, i.e. transformation to platform-specific models and to code. In order to achieve automated transformation of models, MERODE limits the use of UML to a number of well-defined constructs with clear semantics and complements this with the notion of "existence dependency" and a proprietary approach to object interaction modelling.

MERODE-models can be created with the opensource case tool JMermaid. The tool also allows checking the models for consistency and readiness for transformation.

A companion code generator  allows to generate a fully working prototype. One-click prototype production lowers the required skill-set for its useful application. By embedding the models into the application, the behaviour of the prototype can be traced back to the models, i.e. making it possible to validate the semantic quality of models. MERODE prototypes are augmented with feedback (textual and graphical) that links the test results to their causes in the model.