Menu

Home

Florian Sagstetter
Attachments
chain.png (422 bytes)
file_obj.gif (1010 bytes)
gear.png (811 bytes)
save_edit.gif (1052 bytes)
system-monitor.png (535 bytes)

Schedule Visualization Getting started

This page gives a quick-start guide for the Schedule Visualization Tool.

Setup

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.

Import/ Delete files

To import files, select the add files icon (Add File(s)) 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].

Display Schedules

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

Generate Schedules

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.

Schedule Integration

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 (Integrate Schedules), and allows to integrate schedules.
Note: Subsystem schedules must not share the same task or message ids to enable schedule integration.

Save Schedule

The generated schedule(s) can be saved by clicking on the save button (Save) 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.

Export Schedule as C-Code

The generated schedule might be exported as C-code by clicking the generate C-Code button (Generate C-Code). 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.

Online Mode - Monitor Distributed System

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 (Online) 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 (Offline) 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.

Zoom and Drag

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.

Settings

The tool allows to set various settings under File/Settings:

Gantt Settings:
  • Precision (ms): define the precision of the Gantt Chart, smaller values are rounded. This value also influences the zoom level.
  • Show hyperperiod: show the black line for the hyperperiod, indicating the time frame after which the schedule repeats.
  • Show smallest task period: show gray lines for all task periods < hyperperiod.
  • Set background for bus: show a gray background for the bus.
  • Change background for offline resources: in System Degradation View change the background of offline resources to red.
  • Update interval online mode (ms): in System Degradation View interval in which at least one message of a node has to be received before it is considered offline.
Generate Schedule:
  • Solver path (z3.exe): to be able to generate schedules define the solver path of Microsofts Z3 solver
  • Solver timeout (s): Time after which the schedule generation is stopped
Specification Attributes:

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.

Generate C-Code:
  • Use hex values: write start-times as hex or decimal values.
Define Color Scheme:
  • Each ECU individual color: assign an individual color to each sending node and its messages or assign an individual color to each function instead.
  • Select coloring scheme:
    • Use Colors gantt-chart colors suitable for working with the tool/ demonstrations.
    • Grayscale for grayscale print of screen shots.
    • Colors considering Grayscale colors which also work in grayscale prints
      Note: The coloring scheme is currently only defined for the first 10 colors, additional colors are created randomly.

References

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


Related

Wiki: FileFormat

MongoDB Logo MongoDB