Extensibility and Customization Features

Every Modelio product can be adapted to your environment to raise quality and productivity

Unlimited customization to technical targets, methods, practices and environments

All Modelio products are designed to provide the maximum ROI from models. Users can define their own extensions to create bespoke code generators or framework generators. Developers and analysts can adapt the tool to their practices or methods by extending, adapting or filtering modeling diagrams, defining productivity wizards, using  dedicated consistency checks, or defining dedicated document templates. It is also possible to integrate every Modelio product into a pre-existing development environment, exchange with other tools, and automate team workflows and procedures.

Unlimited customization to technical targets, methods, practices and environments

Open metamodel, MDA support

Open metamodel, MDA support

Modelio has always been a pioneer in the implementation of the OMG's MDA (Model Driven Architecture) technology. With wide modeling coverage of UML, BPMN, requirements and goals, the Modelio metamodel is complete, open and well documented. Modelio products support Java, Jython, or the document template editor, and can implement model transformation, generation and other operations. Modules, most of them open source, extensively use these techniques, and provide good usage examples.

Scripting language (Jython) for macros

Macros are useful for implementing small utilities, or launching ad-hoc global model processing. Based on the easy-to-use Jython language, Modelio tool macros can access the rich Java API to automate any action. For example, macros have been written to refactor large models (moving operations, parameters), complete existing models by systematically adding features, or carry out complex searches or checks.

Scripting language (Jython) for macros

Rich Java API

Rich Java API

Anything that a user can do with a Modelio product can be automated through Java code.

All Modelio products provide a rich Java API that allows users to handle model elements (create, access, change, delete) in the Modelio repository, generate code, customize the Modelio GUI, extend, change or create graphical editors, and integrate a Modelio product into other environments. Wizards help create the Java code skeleton, making it easy to implement Java code without imposing a steep learning curve for Java programmers.

The "module" extension mechanism

Modelio extensions are packaged in the form of modules, which are flexible extension mechanisms that group all the artifacts of a Modelio extension (code, profiles, icons, documentation, ...). Modules can be added, withdrawn or combined with other modules at any time in a Modelio project, allowing the user to adapt his tooling just by selecting or unselecting them. Modelio provides a Java project template where Java code is to be added to implement dedicated module extensions.

The module extension mechanism

Pattern Designer

Pattern Designer

All Modelio products make it possible to define and automate patterns by creating the model and defining its customizable elements. These patterns can then be selected and applied automatically in order to systematize the application of best modeling patterns. Patterns are also accessible as automatically created Java code, and reused by extensions written in Java or Jython.

Open source community and Modelio Store extensions

The vibrant Modelio community is constantly creating and adding new modules, modules that can be used with the Modelio distribution. The Modelio Store includes a wide range of modules (open source, free or commercial) that provide useful extensions for specific needs. Most modules are extensible, making it quick and easy to adapt them to custom contexts.

Open source community and Modelio Store extensions