Skip to content

File Structure and Project Design

RBirdwatcher edited this page Apr 4, 2024 · 20 revisions

File Structure and Project design

The Eclipse Free BIRD Tools project has a specific file layout which reflects its design.

In our dev environment we group the files into working sets which gives a better summary of the design.

working sets

The components

We can consider that Eclipse Free BIRD Tools has 9 main components

1.) Core Model

This is a set of UML class diagram models and the core of the RegDNA. The UML models are represented as .ecore files. The UML models have attributes and association but no operations/methods, that is to say they do not contain any behaviour. We also store thee UML images and Generated documentation

2.) RegDNA Model

This is a set Java Classes Generated from the model...the Java files are autogenerated from the model

3.) SDD Model

This is a set of .ecore files describing the model of SDD, it is used in the python code to translate from BIRD related artifacts following the SDD/SMCubes model, into the RegDNA model

4.) PyEcore Models

This is a set Python Classes Generated from the model by pyEcore from the regDNA and SDD ecore models. These are then used to translate from BIRD artifacts into Instances of the classes.

5.) RegDNA DSL

This is a set of java classes generated using XText from the model to create a DSL reflecting the model. Any text written in this DSL is parsed into an Abstract Syntax Tree which has its nodes stored as instances of classes in the model. These .dsl projects are autogenerateed from the ECore Model....after initial generation the .xtext grammar file is improved for better language display....after this the Java files to make the language aware text editor are autogenerated.

6.) RegPot Desktop Componenents

These are components of used in the desktop platfrom for using RegDNA to run transformations

7.) SQLDeveloper files

Here we store a set of XML files which represent a custom extension to the BIRD Data Model for modeling the FRTB regulation.

These XML files can be opened with SQLDeveloper tool by opening the frtb.dmd file in SQLDeveloper Data Modeler.

8.) Dev_IDE Working Set

The Oomph description of the pre configured Eclipse IDE environment to simplify development of the Eclipse Free BIRD Tools project is put in the Dev_ide Working Set

9.) Installation Working Set

When the project is built with Maven, the resulting archived update site is stored here. This archive can be installed into a fresh eclipse platform if desired, this is the artifact that is stored in the Eclipe efbt download site also.

Python file structure

We describe here further the detailed breakdown of the python code.

.. in progress