Model Visualization
Usage of AMALTHEA Model Visualization
The AMALTHEA Visualization can be opened via
-
Window → Show View → Other... → APP4MC → APP4MC Visualizations,
- or via right click on an element and selecting
Open APP4MC Visualization.
Via the context menu it is also possible to open multiple visualization views.
On selecting a model element, the view will render a corresponding visualization. If multiple visualizations are available, the first one will be selected by default, unless the user has selected another visualization before.
The visualization view has 4 entries in the toolbar:
-
Visualization dropdown
The dropdown contains all available visualizations for the current active selection. A click on the image will reload the visualization.
-
Pin visualization
The selection handling will be disabled so the visualization gets not updated on model selection changes.
-
Select model element
Selects the current visualized model element in the model editor. Useful for example if a visualization is pinned and the selection in the model editor changed.
-
View Menu
Contains entries to customize title and supported visualizations of the current view.
Standard Visualizations
APP4MC comes with a set of default model visualizations to show the options and possibilities the visualization framework provides.
Hardware Model
-
HW Model Block Diagram
This visualization is intended to provide an overview of the described and used hardware within the system.
It uses PlantUML and SVG for rendering. Therefore a Graphviz dot.exe needs to be configured via
Window – Preferences – PlantUML – Path to the dot executable of Graphviz in order to get the result shown.
Software Model
-
SWModel Statistics Visualization
This is a simple visualization that shows some statistics on the selected Software Model. It is also a simple example to show how to implement a visualization with JavaFX and some animations.

-
Shared Runnable Label Dependencies
This visualization paints all
Runnables and the read/write dependencies on
Labels in a Software Model.
Via the buttons on the left edge you can
Zoom in (+) / Zoom out (-) / Filter (F) the currently visible
Runnables.
-
Runnable Data Dependencies
The purpose of this small - but
hopefully useful - visualization is to lay out a graph of the
Runnables
in a software model based on there data dependencies.
This means, two runnables are connected by a directed edge if the first
runnable writes a
Label
that is read by the second one.
Furthermore, some parts of the control flow are expressed by edges. The
tool colors the graph in order to make it easier for the user to follow
individual edges.
For the visualization to work properly, the path to Graphviz DOT has
to be set up in the PlantUML preferences. You can access them via
Window > Preferences...
and then opening the PlantUML tab.
The buttons in the top row are used to configure the
visualization.
-
Horizontal Layout:
Toggle between horizontal
(left to right) and vertical (top to bottom) layout of the
graph.
-
Show Labels:
Show read and written labels of the
runnables.
-
Show R/W Dependencies:
Show read/write data
dependencies between runnables. This is independent from the labels
being shown.
-
Show Control Flow:
Show stimuli, inter-process
triggers, and OS events. Also show the sequence of runnables within a
task.
-
Show Tasks:
Group runnables by tasks.
-
Export:
Export the visualization as an image, or
as Graphiz DOT. Supported image formats are PDF, SVG, and
PNG. Output in other formats can be generated by exporting in DOT
format and running Graphviz manually.
-
+ / -:
Zoom in/out.
For performance reasons, the visualization has been limited to models
containing at most 200 runnables. This limitation does not apply to
the export of the graph in DOT format.
The table below summarizes which elements are visualized. The
following elements are considered:
- Within a Runnable: LabelAccess
- Within a Task:
Group, RunnableCall,
InterProcessTrigger,
WaitEvent,
SetEvent
Other activity items (e.g. ProbabilitySwitch) are simply
ignored. Using them may lead to incomplete results.
Runnables |
|
Stimuli |
|
Tasks |
|
Data dependencies |
(colored edges)
|
Runnable sequence in tasks |
|
Inter-process stimuli, OS events |
|
Runnable
-
LabelAccess View
A simple visualization of a
Runnable and its
Label read/write access. On the left side the
Labels are rendered that are accessed for a read operation. On the right side the
Labels are rendered that are accessed for a write operation.

-
Shared Runnable Label Dependencies
Visualization of all selected
Runnables and their relationships based on
Labels. This visualization is an example to verify how to implement a visualization on multi-selection.
Via the buttons on the left edge you can
Zoom in (+) / Zoom out (-) / Filter (F) the currently visible
Runnables.

-
Runnable Label Dependencies
This visualization shows the current selected
Runnable and the
Runnables that have a direct dependency via
Labels. On the left side the
Runnables are rendered that
write to
Labels that are read by the selected
Runnable. On the right side the
Runnables are rendered that
read from
Labels that were modified by the selected
Runnable.
Via the buttons on the left edge you can
Zoom in (+) / Zoom out (-) the currently visible
Runnables.
Deviation
-
Probability Density Diagram
This visualization provides probability density diagrams for all subclasses of
- IContinuousValueDeviation
- IDiscreteValueDeviation
- ITimeDeviation
Markers (vertical lines) are shown for lower bound, upper bound and average.
Changed values in the Properties view lead to an update of the diagram.
Mapping
-
Scheduler Mapping Table
This visualization shows a (hierarchical) table of schedulers, processing units and processes.
Object References
-
Object References View
This visualization shows objects that refer to the selected object.
Specific back-references
The visualizations in this section show a simple list of objects that refer to the selected attribute.
A double click on a list item allows to navigate to the corresponding object.
-
Namespace members
Further visualizations (without screenshot):
Eventchain Map
-
Eventchain Map
This visualization shows the (nested) segments of an event chain.