Model Ant

ModelAnt as an extension of Apache Ant for practical managing models and meta-models, through industry standard technologies and Java APIs as:

  • a JMI 1.0, MOF 1.4 compliant model and meta-model repository (a feature provided by NetBeans MetaData Repository (MDR))
  • an extension of ANT scripting language to create, modify, query, traverse, print and process MOF 1.4 meta-models and resulting models with import from XMI 1.1 / 1.2 and export in XMI 1.2 format
  • a template engine to generate text artifacts (including code) out of models and meta-models, using object-oriented JSP-like templates. ModelAnt 2.17 provides completely extensible examples of
    • generating java codeĀ  (POJO) from a domain model in UML 1.3
    • generating SQL statements to create an [Oracle] database schema from a domain model in UML 1.3 where an ORM tool could store corresponding java (POJO) objects (see above)
  • a system of classes that are wrappers around the model-specific JMI API forming a middle tier between the model and the templates, providing practical and non-trivial methods for model query and processing used in the artifacts generation
  • a platform that provides core reverse engineering features as:
    • reverse engineering ANT scripts and libraries
    • reverse engineering XSD
    • reverse engineering Java sources to reveal their packages, classes, attributes and methods
    • reverse engineering databases through standard JDBC API, revealing their tables, columns, primary keys, foreign keys and relationships
    • further conditional model processing and transformation
  • a meta-model-agnostic models comparison
  • a meta-model-specific comparison of models treated as:
    • database structures
    • UML 1.3 models
  • a meta-model-agnostic transformation/copy of models between different meta-models
  • a complete transformation of UML 1.3 models to UML 1.4 models
  • an ANT script documentation macro ant.doc (i.e. reverse engineering + text generation) quite similar to the Java standard javaDoc tool
  • an open platform for building more ModelAnt scripts and components to solve more practical problems.

The documentation of ModelAnt 2.17 by itself is a demonstration of the features of ModelAnt for:

  • reverse engineering ANT scripts and antlib.xml definitions revealing the tasks, macros, types and targets in them together with the corresponding provided documentation
  • reverse engineering Java source files revealing their attributes and methods with the corresponding provided documentation
  • template-based artifacts generation using a simple and effective object-oriented approach
  • model creation, query, walk-through andĀ  import/export using ModelAnt scripts

Version 2.17 of ModelAnt is published in the distributions repository. The documentation of the ANT tasks, types and macros of ModelAnt is published in docs/antdoc. The documentation of the java implementation code is published in docs/api.

See also:

One thought on “Model Ant

Leave a Reply

Your email address will not be published. Required fields are marked *

     

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>