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.
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 |