First off, OSATE provides a textual and a graphical mode to create and modify component types and component implementations and to grant an overview of the system model. As the textual view may be rather useful for a more detailed modification of a components type or implementation, the graphical view gives a bright overview of the system model and allows developers to check the correctness of the system model as well as the communication between different component or system instances from a visual point of view for example. For this reason, AADL provides several different types of diagrams depending on the intended graphical representation of the model. Before a diagram for an AADL model exists, only two different types of diagrams can be created though:
- Package Diagram
- Custom Diagram
The package diagram provides a general overview of the existing model including subcomponent types and existing subcomponent implementations. The custom diagram also provides an overview of the model but without any subcomponents such that the model can be completely customized. Once a diagram was created, further diagrams related to subsystem or subcomponent types and implementations may be created. The following diagram types are at choice:
- Associated Diagram
- Custom Diagram
- Mode Diagram
- Processor Binding Diagram
- Structure Diagram
- Type Diagram
- Structure Diagram
- Mode Diagram
- Custom Diagram
- Implementation Diagram
- Custom Diagram
- Mode Diagram
- Processor Binding Diagram
- Structure Diagram
- Package Diagram
To get a precise definition on each specific diagram type, one should look up the OSATE AADL specification on diagram types, as these are not discussed in detail in this wiki. From a practical point of view, the package diagram and the implementation diagram/structure diagram are the most useful, as the package diagram allows a bright overview of a model and its components while the implementation diagram/structure diagram also shows the internal composition of components and their connections (connections between features, connections to subcomponents, information control flow, etc…). The sub bullet points of the diagram listing indicate that if the creation of an associated diagram was selected, one of the four possible diagram types (custom diagram, mode diagram, processor binding diagram or structure diagram) may be created for example.
To initially create a package diagram for an AADL model called “overview.aadl” for example, select the “Open Diagram” label or the “Create Diagram…” label inside the context menu, choose a name for the diagram and select “Package Diagram” from the drop-down menu which creates a package diagram for the selected model.
Once the package diagram was created, we get a graphical overview of the model.
To further inspect the implementation details of the system or a subcomponent for example, open the context menu of the intended component or system implementation, choose the “Open” label and select a diagram type of your choosing. Once the “Create New Diagram” window pops up, provide a diagram name and the specific diagram type to create the diagram.
For instance, if we selected an implementation diagram to be created and further chose structure diagram for our “Complete.impl” component type implementation, the following structure diagram will be illustrated including all subcomponents, connections, features and information control flows of the “Complete.impl” system implementation.
Last but not least, it shall be noted that the types of diagrams to be created for a system type or component type differ from the types of diagrams to be created for a system implementation or component implementation. Analog to this demonstration though, any type of diagram for a specific component or system may be created in the same way as shown above. Moreover, the graphical mode may also be used for simple modifications of the system model as it allows to insert, modify or delete subcomponents, features, connections, etc. using the available component types and implementations to the right as shown below.