This page gives a quick-start guide for the Schedule Visualization Tool.
No special setup is required to use the Schedule Visualization tool. However, to be able to use the scheduling algorithms, Microsoft Z3 solver is required which can be downloaded from here. The solver location can be defined in the Settings.
To import files, select the add files icon (
) in the File Explorer and select the specification(s) or schedule(s). The imported data is loaded in the folder schedules in the File Explorer. To delete files right click on the selected files and select Delete.
The XML-format required for specification files and schedules is defined in [FileFormat].
To display schedules, either double click on the specification or select Display Schedule after right clicking.
Note: To display a schedule for all tasks and messages a start-time needs to be defined. Otherwise, the tools might also generate start-times for each task and message. The specification needs to be defined as specified in [FileFormat].
To generate a schedule, select the specification which should be scheduled and select Generate Schedule in the menu appearing after a right click. After a schedule has been determined it is illustrated in the Schedule window and the Console contains information about the runtime of the scheduling algorithm.
The tool also supports generating and visualizing multiple schedules sequentially. To do so select multiple specifications using the Shift key before selecting Generate Schedule. The individual schedules are then illustrated below each other.
Note:* To generate schedules, the Z3 solver needs to be installed and set up as described in the Setup section.
The tool also supports integrating individually generated subsystem schedules into a global schedule, applying the approach from (1). To apply schedule integration, select several specifications and select Generate Schedule. Once all subsystem schedules have been generated, in the upper right corner of the Schedule view the schedule integration button becomes active (
), and allows to integrate schedules.
Note: Subsystem schedules must not share the same task or message ids to enable schedule integration.
The generated schedule(s) can be saved by clicking on the save button (
) which becomes active after generating a schedule. The schedule(s) are then saved in the folder generated schedules. Outside the tool, files are accessible through the workspace folder generated in the program folder.
The generated schedule might be exported as C-code by clicking the generate C-Code button (
). It expects a C file (.h, .c, .cpp) as input, where the start-times for tasks and messages are indicated by #id#, id equaling the task/ message id defined in the specification. The settings allow to indicate if the start-times should be exported as hex values or decimal values.
Note: This function does currently not indicate if an id was not found.
The tool allows to monitor a distributed E/E-architecture communicating via Ethernet and selects the displayed schedule depending on the nodes currently online, e.g. for fault-tolerant systems. To initialize this system degradation view, a set of specifications defining the the different system schedules is required. All schedules require the same naming scheme, indicating the online and offline resources. For instance, for a system with three nodes communicating over a bus, specification-111.xml defines the schedule for a system with all three nodes being online, while specification-110.xml defines the schedule for node1 and node2 being online while node3 is offline. The set of specifications can then be selected in the File Explorer and the System Degradation View can be selected in the menu after a right click.
The initial view shows the schedule with all nodes being online. To start the online mode, select the now activated online button (
) at the top right of the Schedule view. An appearing window then allows to define an IP address for each node and starts the online mode after confirmation. A node is considered offline if no message is received within the update interval defined in the settings. The system then indicates the resource as offline and shows the schedule defined for this configuration. The offline button (
) ends the online mode.
Note: While it is not necessary to define a specification for each combination of online and offline nodes, a specification with all nodes being online is required. The symbols indicating online and offline resources is currently limited to 1/0 and I/O and this indication has to be just before .xml.
The tool supports 6 zoom levels which might be selected by holding the Ctrl key and turning the mouse wheel. The gantt-chart might also be positioned by holding the left mouse key and dragging the chart.
The tool allows to set various settings under File/Settings:
Define Strings used in the specification to define the task/ message period, execution time and their start-time in the schedule. Finally, to generate schedules the attribute function deadline defines the maximal end-to-end delay for a function.
(1): SCHEDULE INTEGRATION FRAMEWORK FOR TIME-TRIGGERED AUTOMOTIVE ARCHITECTURE
Florian Sagstetter, Sidharta Andalam, Peter Waszecki, Martin Lukasiewycz, Hauke Staehle, Samarjit Chakraborty, Alois Knoll In: Proceedings of DAC 2014.