Utils Solution

More productivity and agility

for your Mia solutions developments !

What is it ?

Utils Solution is a library of packages inspired by Mia experiments. It is an extension of basic features to manipulate user models in Mia-Generation.

Utils Solution is free and allows you to customize generation rules and add your own patterns.

How does it work ?

Utils Solution provides examples to manipulate models and to build generators. You can use them just as they are or modify them to adapt them to your needs.
Utils Solution is the basis for all provided solutions with Mia-Generation, and could be a good start for your new model transformations.
Utils Solution may be directly referenced by your mia projects, or, if you want to modify provided scripts, you can duplicate it to use it as a template for new projects. It is recommended to not modify Utils Solution, it is a guaranty for all projects build over it.

 

What are the top features ?

  1. Utilities common to all MetaModels
  2. Provides some utilities common to all metamodels :
    - System macro "apply", "if" become available from text and file templates and not restricted to macros and services.
    - String utilities (capitalize, concat, duplicate, toLowerCase ...) become available from text and file templates.
    - output consoles (System.out and System.err) become available from text and file templates.
    - properties management.

  1. Basic UML model manipulations
  2. The first goal of model manipulations is to retrieve model elements you're interested in.
    It's available with scripts to navigate easily into common Namespace as Model, Package and Class elements.
    Shortcuts to navigate through associations and dependency are very usefull and are also provided.
    An other goal is to qualify an element with a unique name, our choice in Mia-Generation scripts is to follow modern language rules. So to concatenate a local name (as a suffix) with a naming space given by element's container qualified name (as a prefix).
    It is also usefull to retrieve roles informations between classes, like multiplicity, navigability, etc.