Introduction

The core of Eclipse Free BIRD Tools is a UML model. To facilitate easy understanding this model is split into multiple sections (packages).

For each package we have a UML class diagram, and a set of documentation for each attribute and association of the class diagram. We note that their are no operations in the class diagrams.

Each package may have some references to other classes in other packages. To keep our UML class diagrams concise we deal with this in the following fashion.

1.) If a class has a superclass from another package, then we include that superclass in the class diagram, it will have an arrow in the top right corner, like the Module class in the efbt_data_definition package.

2.) If a class has an association or composition relationship with a class from another package, then we record this like an attribute with attribute type being the class from the other package , for example in the data_definition package, the class CUBE_STRUCTURE_ITEM has an association with MEMBER, which is represented as member_id:MEMBER. Annotated next to this will be the cardinality such as 0..* (for zero to many), if there is no such annotation this implies a 1 to 1 relationship. The annotation does not show if the relationship is is an association or composition, however that information is available by looking at the references section of the documentation which shows the word Containment if the relationship is a composition.

3.) In the package documentation we show the association, composition , or inheritance using hyper links.
The hyper links to classes in different packages do not yet work as this documentation is automatically generated.

Note the BPMN_lite is based on the model for BPMN published by the Object Management Group at https://www.omg.org/spec/BPMN/20100501/BPMN20.cmof, and we have removed every class that we dont need, and added a few custom links to other items (specifically EClass, EAttribute, and Scenario)

Note that the Ecore model used for describing entities and their relations is taken from https://git.eclipse.org/c/emf/org.eclipse.emf.git/tree/plugins/org.eclipse.emf.ecore/model/Ecore.ecore . Interestingly Ecore itself can be described as an Ecore model.

The Packages, Diagrams and Documentation

Group Name Class Diagram Documentation
SMCubes Core UML Class Diagram Documentation
SMCubes Data Definition UML Class Diagram Documentation
SMCubes Mapping UML Class Diagram Documentation
SMCubes Rendering UML Class Diagram Documentation
AORTA Module Management UML Class Diagram Documentation
AORTA Logical Transformations UML Class Diagram Documentation
AORTA BPMN_Lite UML Class Diagram Documentation
AORTA Requirements Text UML Class Diagram Documentation
AORTA Data Meta Model UML Class Diagram Documentation
SMCubes AORTA Extensions SMCubes AORTA Extensions UML Class Diagram Documentation