DB-MAIN as a modeling tool development environment

The tool also allows the development of specialized modeling tool, either according to specific methodologies, or by adding new concepts and new functions to the basic toolset.

There are three ways to derive customized modeling tools:

  1. Functional extension
  2. Extension of the repository
  3. Methodological customization



  1. Functional extension
  2. The JIDBM library is proposed to the engineer (analyst or method engineer) to develop new functions which will be seamlessly incorporated in the tool. For instance, they allow building specific report and code generators, text analyzers (e.g. importers), complex transformations or specifications checkers for specific problems and usage contexts.

    The JIDBM library is a Java Interface for DB-MAIN. It can be used to develop Java plug-ins accessing the DB-MAIN repository in read and write mode. This library can access to all menu items of DB-Main.

    There are two samples of Java programs:

    Remark: Voyager 2 was the first programming language in DB-MAIN before the success of Java. For backward compatibility, the execution of Voyager 2 plug-ins is always available but, currently, Java is the only programming language for DB-MAIN plug-ins.

  3. Extension of the repository
  4. The repository is implemented as an object-base in which the tool records the current methodology, the project history, and the product specifications (mainly schemas and texts). New properties can be dynamically added and managed through Java functions.

  5. Methodological customization
  6. Due to its basic architectural assumptions (e.g. generic specification model, transformation operators, toolkit architecture), the tool is methodologically neutral, and can assist the analyst in practicing a large spectrum of methodologies. The methodological customization is carried out in two steps, namely the description of the selected methodology with the Method Description Language (MDL), and the enacting of this methodology through the method engine of the DB-MAIN tool.

    The language allows the description of the processes, the strategies and the products of the methodology, as well as the specific aspects of the user interface (e.g. menu contents, graphical conventions, concept names).

    This customization is useful for user guidance, but above all it provides a precise and structured way to record engineering histories necessary for the control of system maintenance and evolution.