Concepts in GeneSEZ

The main concepts of the GeneSEZ approach are:

  • own meta models: for the purpose of tool independence, customizability, modularity and the complexity of the UML meta model
  • model adapters: make model information available for GeneSEZ
  • platforms: providing a wide range of output possibilities for model information
  • customizability: ranging from simple transformation parameters and the orchestration of transformation steps into workflows over transformation adjustments using aspect oriented programming to adjustments of the meta models

GeneSEZ currently incorporates four different approaches: one for source code generation, one for documentation generation, one for requirements traceability and one for software tests.

Source Code Generation Approach

The approach to source code generation is build around a core meta model as shown in figure 1. On the left side there are model adapters providing information by transformation into core models. Thus our approach is not tied to UML - you can provide a model adapter for your DSL too. The source code transformations using core models as input and providing support for Java, PHP, C++ and C#.

Figure 1: Source Code Generation Approach

Documentation Generation Approach

The documentation approach is mainly build around the core meta model as figure 2 illustrates. It uses model adapters to make information available for GeneSEZ and provides transformations to docbook and latex. This allows to reuse model information to generate glossarys, interface descriptions or descriptions for UML profiles.

Figure 2: Documentation Generation Approach

Requirements Traceability Approach

Our approach to requirements traceability shown in figure 3 builds on top of three meta models: the core meta model, one for requirements and one for traceability information. The first two meta models are independent of each other and the latter one defines traces between the first two. It uses model adapters to instantiate the meta models. Transformations are provided to embed requirements traceability information in Java source code or to generate a dashboard providing an overview of requirements traceability information.

Figure 3: Requirements Traceability Approach

These lines and figures summarizes the intention and capabilities of the framework. For detailed information please check out our documentation page.