UML2ABL

In MDA, Progress by Marian Edu

The UML2ABL code generator module is using the Acceleo Model to Text Transformation component which is part of Eclipse Modeling and can be applied to standard UML2 models to generate OpenEdge ABL code.First implementation offers support for OpenEdge Object Oriented constructs for the following elements:

  • Interface
    • public properties
    • public methods
  • Class
    • inheritance (generalization)
    • interfaces realization
    • all properties
    • all methods
    • constructors (methods with the same name as the class)
    • interface implementation (all methods from implemented interfaces)
    • internal temp-tables, datasets (nested components)
    • referenced (dependency) temp-tables, datasets (includes if not nested, in-line definition for nested components)
    • protected user code sections for methods and class main block (don’t get overwritten on re-generation)
  • Temp-Table – class that inherits “Temp-Table” data type (generalization)
    • generate as include file if not nested component (internal class)
    • all properties as fields
    • all methods as indexes
  • Dataset – class that inherits “Dataset” data type (generalization)
    • generate as include file if not nested component (internal class)
    • all internal temp-tables (nested components)
    • all referenced (dependency) temp-tables (includes if not nested, in-line definition for nested components)
    • protected user code section for data-relations definition