Extensibility and Customization Features
Every Modeliosoft product can be adapted to your environment to raise quality and productivity
All Modeliosoft 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 Modeliosoft product into a pre-existing development environment, exchange with other tools, and automate team workflows and procedures.
Modeliosoft 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. Modeliosoft 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.
Macros are useful for implementing small utilities, or launching ad-hoc global model processing. Based on the easy-to-use Jython language, Modeliosoft 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.
Anything that a user can do with a Modeliosoft product can be automated through Java code.
All Modeliosoft 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 Modeliosoft 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.
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.
All Modeliosoft 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.
The vibrant Modelio community is constantly creating and adding new modules, modules that can be used with the Modeliosoft 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.