ModelAnt

ModelAnt as an extension of Apache ANT to create, load, update and query 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, query, 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 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 by itself is a demonstration of the ant.doc ANT  macro involving 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 XML comments, descriptions and javaDoc documentation of the implementation tasks
  • reverse engineering Java source files revealing their attributes and methods together with their javaDoc documentation
  • template-based artifacts generation using a simple and effective object-oriented approach
  • model creation, query, walk-through and  import/export using ModelAnt scripts
  • general and UML 1.3 models comparison and detection of added, deleted and changed model elements

ModelAnt distributions are published in the distributions repository.

See also the ModelAnt documentation.

3 thoughts on “ModelAnt

  1. remote contorl says:

    your post is an excellent example of why i keep coming back to read your excellent quality content that is forever updated.

  2. Emil says:

    I see you don’t monetize your page, i know how to earn some extra money and get more visitors using one simple method, just search in google for; How to monetize a blog Twardziel advices

Leave a Reply

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

Time limit is exhausted. Please reload CAPTCHA.