Skip to content
Snippets Groups Projects
Commit 57e888bf authored by Simon Barner's avatar Simon Barner
Browse files

Add developer documentation for tooling base.

parent e7cd7451
No related branches found
No related tags found
1 merge request!113401 developer documentation kernel
documentation.html de2fc58bfb0b8e8e310515f5f59fc90ce0850f42 RED
documentation.html 0d1b2f467cd30e0e07251ab7fd959cb3996092fa YELLOW
<html><body>
<H1>Developer Documentation for <I>org.fortiss.tooling.base</I></H1>
<P>// TODO
</body></html>
<html>
<body>
<h1>Developer Documentation for <i>Tooling Base</i> (org.fortiss.tooling.base)</h1>
<h2> Plugin description </h2>
This plugin provides the base implementation for hierarchical models and graphical description
techniques.
<h2>Metamodel description</h2>
The metamodel provides a generic hierarchical, graph-like base model extended with model element
specifications and references. It also provides a layout information and a visualization metamodel.
<h3>Element Package</h3>
<p>The <code>element</code> package constitutes the interface of the generic hierarchical base metamodel.</p>
<img alt="UML diagram of Tooling Base Element" src="figures/base_element.png"/>
<p>It consists of the following classes:</p>
<ul>
<li><code>IModelElement</code>: Super class of first class model elements.</li>
<li><code>IModelElementSpecification</code>: Super class of model element specifications. Such
specifications provide additional plugable properties.</li>
<li><code>IModelElementReference</code>: Super class of EObjects referencing model elements.</li>
<li><code>IHierarchicElement</code>: Super class of hierarchical model elements.</li>
<li><code>IHierarchicElementContainer</code>: Super class of containers of hierarchical model elements.</li>
<li><code>IConnector</code>: Super class of connectors. Connectors reference incoming and outgoing
connection model elements.</li>
<li><code>IConnection</code>: Super class of connections. Connections are aggregated in a hierarchical
model element and reference two connectors from that element or any direct sub-element.</li>
<li><code>IHiddenSpecification</code>: Super class of model element specifications, which should be
excluded from the navigator view.</li>
<li><code>IAnnotatedSpecification</code>: Super class of model element specifications that represent
annotations (i.e., specifications that are guaranteed to exist exactly once for the model elements
for which the annotation has been registered).</li>
<li><code>IDerivedAnnotation</code>: Interface for <code>IAnnotationSpecification</code>s that are
derived from the state of other annotations and/or model elements.</li>
<li><code>IConstraintBasedProcess</code>: Marker interface for metaclasses to describe
constraint-based development processes.</li>
<li><code>ConstraintConfiguration</code>: Hierarchical description of constraint configuration.</li>
</ul>
<h3>Base Package</h3>
<p>
The <code>base</code> package provides base classes that implement the interface defined in
the previously introduced <code>element</code> . They are used as a basis for concrete
hierarchical metamodels.
</p>
<p>It consists of the following classes:</p>
<ul>
<li><code>HierarchicElementBase</code>: Base class for hierarchical model elements.</li>
<li><code>ConnectorBase</code>: Base class for connectors.</li>
<li><code>EntryConnectorBase</code>: Base class for connectors with incoming connections.</li>
<li><code>ExitConnectorBase</code>: Base class for connectors with outgoing connections.</li>
<li><code>ConnectionSegmentBase</code>: Base class for connections.</li>
<li><code>LibraryElementBase</code>: Base class for members of the model element library.</li>
<li><code>DerivedAnnotationBase</code>: Base class for <code>IDerivedAnnotation</code>s.</li>
<li><code>ConstraintBasedProcess</code>: Base class for <code>IConstraintBasedProcess</code>es.</li>
</ul>
<h3>Layout Package</h3>
<p>
The <code>layout</code> package provides a data store for graphical representations of hierarchical
element models that are based on the base <code>element</code> metamodel.
</p>
<p>It consists of the following classes:</p>
<ul>
<li><code>ILayoutedModelElement</code>: Super class of model elements with layout data.</li>
<li><code>ILayoutData</code>: Super class of all layout data objects.</li>
<li><code>Point</code>: Layout data for 2D locations.</li>
<li><code>Points</code>: Layout data for a sequence of 2D locations.</li>
<li><code>Dimension</code>: Layout data for 2D dimensions.</li>
<li><code>Rectangle</code>: Layout data for 2D locations.</li>
<li><code>EOrientation</code>: Enumeration of 2D directions and orientations.</li>
<li><code>Orientation</code>: Layout data for 2D orientations.</li>
<li><code>Offset</code>: Layout data of a single dimensional offset.</li>
<li><code>OffsetOrientation</code>: Combines an offset with an orientation.</li>
<li><code>Angle</code>: Layout data for an angle (the interpretation of the double value is application
dependent).</li>
</ul>
<h3>Base Visualization</h3>
<p>
The <code>visualization</code> package provides classes that serve as an interface for visualization
methods for hierarchical <code>element</code> models
</p>
<p>It consists of the following classes:</p>
<ul>
<li><code>DataSetCollection</code>: A collection of visualization <code>DataSet</code>s.</li>
<li><code>DataSet</code>: A collection of visualization <code>DataPoint</code>s.</li>
<li><code>DataPoint</code>: A single data point to be visualized.</li>
<li><code>Axis</code>: Axis of a <code>DataPoint</code>.</li>
<li><code>Dimension</code>: Dimension of a <code>DataPoint</code>.</li>
</ul>
</body>
</html>
This diff is collapsed.
org.fortiss.tooling.base/html/developer/figures/base_element.png

72.2 KiB

This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment