TASTE CV Graphical Editor

From TASTE
Jump to: navigation, search

Introduction

The TASTE CV tool is a new graphical tool that aim to replace the CV editor of the taste GUI editors in the TASTE tool-chain. The new tool provides the same functionalities as the previous one while providing new improvements for the TASTE modelling activities: the real-time analysis toolsare updated, including the most recent version of the Cheddar scheduling analysis framework and of the Marzhin AADL simulator.

The TASTE editor uses various background technologies:

Installation

The new TASTE CV tool is embedded into the standard TASTE tool-chain distribution. The current TASTE tool-chain distribution is available at the following address:

http://download.tuxfamily.org/taste/TASTE-VM-10-64bit.ova

It consists of a Linux Virtual box image that can be run with a WVMWare player or virtual box. There is no specific installation procedure regarding the TASTE CV tool.

Various customizations are available for the TASTE CV tool. In particular, the CVConfig.ini file within the config directory may be used to apply a few user configurations.

Please note that the use of the TASTE CV tool is subject to the General Clauses and Conditions (GCC) applying to contracts placed by the European Space Agency (ESA). Dedicated distribution and end-user licences are also applicable for the TASTE CV tool and the use of the corresponding background technologies. Refer to the License.pdf file located in the doc directory of the TASTE editor distribution.

For any technical or commercial question related to the TASTE editors that are described in this manual, please contact the Ellidiss support team:

taste@ellidiss.com

Overview of the TASTE CV graphical tool

The new TASTE CV tool now consists of a window that encompasses :

  • A main menu and tool bar.
  • A set of selection tabs to enable the analysis tool or textual viewer, and update the content of the working area.
  • A working area, showing either:
    • A read-only textual editor that displays the textual AADL code, or
    • A read-only area showing the results of the timing analysis of a TASTE Concurrency View model
  • A log view where main operations are logged. This log view is hidden by default and can be made visible from the View main menu.
  • A status bar showing system information, warning and error messages

TASTE CV Graphical Tool

Main Menu

The main menu contains the following entries :

File → Load load a concurrency view.
File → Unload unload the current view and the associated RT properties file.
File → Reload reload a concurrency view.
File → Load RT Properties load a real time properties modification file.
File → Unload RT Properties reset the real time properties. If a file has been loaded, it is unloaded and if modifications has been done, they are reverted.
File → Save RT Properties save, if needed, the modified real time properties to a current location or ask the user the destination directory.
File → Quit quit the application.
Edit → Real Time Properties edit the real time properties of the concurrency view.
Edit → Preferences edit the preferences of the application.
View → Display Log Viewer display or not the log viewer (default : unchecked).
View → Simulation Control Panel launch the Cheddar and Marzhin simulation control panel.
? → Help display a help document for the application.
? → Shortcuts display a the keyboard shortcuts help document of the application.
? → About display some information about the application (copyright, …).
Debug → Open TMP Directory open the temporary directory (Debug Only).
Debug → Save As RT Properties save/copy a real-time properties aadl file (Debug Only).

Main Toolbar

The main toolbar contains the following entries :

Load same as main menu.
Unload same as main menu.
Reload same as main menu.
Save RT Properties same as main menu.
Real Time Properties same as main menu.
Preferences same as main menu.
Simulation Control Panel same as main menu.
Quit same as main menu.

Analysis Tools Tab

The “Analysis Tools” tab contains a horizontal paned window. Its upper part displays the cheddar analysis tools and the lower part displays the Marzhin analysis tools.

The Cheddar analysis tool widget is composed of a toolbar and each button activate a different analysis tool widget :

  • a synthesis table which displays the theoretical and simulation result of cheddar and the results of Marzhin for comparison.
  • a simulation chronogram produced by Cheddar.
  • a more complete theoretical results from Cheddar.
  • a more complete simulation results from Cheddar.

The Marzhin analysis tool widget is composed of a tree representing the real time components hierarchy (processor, partition, threads, input/output data, …​) and a simulation chronogram. The chronogram horizontal scrollbar is attached to Marzhin and Cheddar in order to make comparison between them.

Furthermore, two other widgets can be used to modify the tool’s configuration.

Simulation Control Panel

The simulation control panel allows to control the Cheddar and Marzhin simulation analysis tools.

  • The general tab
Zoom Factor the value can be chosen among given values (0.1, 0.5, 1, 2 or 4) and is used to zoom the simulation timeline.
Filters

the value is used to filters the components in the hierarchy tree

  • Show processes : show only the processes.
  • Show thread/data : show the process, the threads and the data.
  • Show features : TBD.
  • Minimize : minimize the tree.
  • Custom Filter : when the user choose his own filter in the tree, this filter is checked.
  • Synchonisation : this option is used in coordination with the custom filter to set the synchronization between Cheddar and Marzhin component tree. No synchronzation means that the user can modify the Cheddar or Marzhin tree and no synchronization will be done. Sync on Marzhin, resp. Sync on Cheddar ST means that the user can only modify the Marzhin, reps. Cheddar, tree and those modifications will be apply to Cheddar, resp. Marzhin simulation hierarchical tree.
  • The Marzhin tab
control the tool buttons can be used to launch, pause, stop, refresh, go to the last tick and set the optimization of the Marzhin simulation. The current simulation result can be saved in a vcd file.
computation range this value represents the time interval of the simulation.
Selected scenario set the selected scenario (among the ones found in the given scenario asc file in the command line).
speed factor the user can choose the simulation speed between several values (x1, x2, x5 or x10).
  • The Cheddar tab
vcd save the current simulation result can be saved in a vcd file.
computation range this value represents the time interval of the simulation.
  • The Help tab displays all the color code used in the simulation chronogram.

Real Time Properties Editor

This editor is used to modify the real time properties of the concurrency view threads (dispatch protocol, period, priority, …​). The new values are taken into account by the analysis tools and can be saved in a file.

AADL Viewer Tab

The “AADL Viewer” tab contains a textual viewer to display the content of the concurrency view aadl file.

Command Line

The following commands can be used :

--load [filename] load a concurrency view aadl file. The "ocarina_components" aadl file content has to be added to the concurrency view file.
--update-properties [filename] this option is used to load a specific custom real time properties aadl file.
--load-scenario [filename] load an asc scenario file.
--select-scenario [scenario name] (Optional) select a scenario among the ones from the scenario file. If no scenario is provided through the command line, the first one is selected.
--help shows the help.
--version shows application version.

Ini File

In this section, the ini values are described.

Main Configuration Values

The main configuration values are :

logDirectory set the location of the log/temporary directory. Default : $home/AADLInspector.
marzhinOptimization set the Marzhin optimization. Default : true
font set the font of the GUI. Default : Helvetica
fontSize set the font size of the GUI. Default : 9
sbprologMem set the memory multiplier for sbprolog. Default : 2
rtPropertiesPackage name of the real time properties proxy package. Its value shall be equal to the one of the concurrency view generate by kazoo. Default : Process_Package
aadlReservedWordsColor color of the aadl reserved words in the aadl viewer. Default : blue
aadlCommentsColor color of the aadl comment words in the aadl viewer. Default : maroon

Simulation Widget Configuration

The simulation ini configuration values are :

  • Thread values :
THREAD_STATE_NONE_COLOR timeline color when the thread is in no state. Default : white
THREAD_STATE_SUSPENDED_COLOR timeline color when the thread is in suspended state. Default : black
THREAD_STATE_READY_COLOR timeline color when the thread is in ready state. Default : orange
THREAD_STATE_RUNNING_COLOR timeline color when the thread is in running state. Default : black
THREAD_STATE_AWAITING_RESOURCE_COLOR timeline color when the thread is in awaiting resource state. Default : pink
THREAD_STATE_AWAITING_RETURN_COLOR timeline color when the thread is in TBD state. Default : purple
THREAD_STATE_DISPATCH_JITTER_COLOR timeline color when the thread is in TBD state. Default : orange
THREAD_STATE_NONE_LINEWIDTH timeline line width when the thread is in no state. Default : 10
THREAD_STATE_SUSPENDED_LINEWIDTH timeline line width when the thread is in suspended state. Default : 1
THREAD_STATE_READY_LINEWIDTH timeline line width when the thread is in ready state. Default : 10
THREAD_STATE_RUNNING_LINEWIDTH timeline line width when the thread is in running state. Default : 10
THREAD_STATE_AWAITING_RESOURCE_LINEWIDTH timeline line width when the thread is in awaiting resource state. Default : 10
THREAD_STATE_AWAITING_RETURN_LINEWIDTH timeline line width when the thread is in TBD state. Default : 10
THREAD_STATE_DISPATCH_JITTER_LINEWIDTH timeline line width when the thread is in TBD state. Default : 4
THREAD_GET_RESOURCE_COLOR timeline color when the thread is getting a resource. Default : red
THREAD_RELEASE_RESOURCE_COLOR timeline color when the thread is releasing a resource. Default : green
THREAD_SEND_EVENT_COLOR timeline color when the thread is sending an event. Default : grey
THREAD_CALL_COLOR timeline color when the thread is calling TBD.Default : grey
THREAD_ERROR_COLOR timeline color when the thread is in an error state. Default : red
THREAD_ERROR_LINEWIDTH timeline line width when the thread is in an error state. Default : 14
  • Data values :
DATA_OCCUPIED_COLOR timeline color when the data is occupied. Default : grey
DATA_AVAILABLE_COLOR timeline color when the data is available. Default : grey
DATA_OCCUPIED_LINEWIDTH timeline line width when the data is occupied. Default : 10
DATA_AVAILABLE_LINEWIDTH timeline line width when the data is available. Default : 1
  • Processor values :
PROCESSOR_OCCUPIED_COLOR timeline color when the processor is occupied. Default : grey
PROCESSOR_AVAILABLE_COLOR timeline color when the processor is available. Default : grey
PROCESSOR_OCCUPIED_LINEWIDTH timeline line width when the processor is occupied. Default : 10
PROCESSOR_AVAILABLE_LINEWIDTH timeline line width when the processor is available. Default : 1
  • Partition values :
PARTITION_STATE_SUSPENDED_COLOR timeline color when the partition is in suspended state. Default : grey
PARTITION_STATE_RUNNING_COLOR timeline color when the partition is in running state. Default : green
PARTITION_STATE_SUSPENDED_LINEWIDTH timeline line width when the partition is in suspended state. Default : 1
PARTITION_STATE_RUNNING_LINEWIDTH timeline line width when the partition is in running state. Default : 10
  • Bus values :
BUS_OCCUPIED_COLOR timeline color when the bus is occupied. Default : grey
BUS_AVAILABLE_COLOR timeline color when the bus is available. Default : grey
BUS_OCCUPIED_LINEWIDTH timeline line width when the bus is occupied. Default : 10
BUS_AVAILABLE_LINEWIDTH timeline line width when the bus is available. Default : 1
  • Channel values :
CHANNEL_STATE_SUSPENDED_COLOR timeline color when the channel is in suspended state. Default : grey
CHANNEL_STATE_RUNNING_COLOR timeline color when the channel is in running state. Default : green
CHANNEL_STATE_SUSPENDED_LINEWIDTH timeline line width when the channel is in suspended state. Default : 1
CHANNEL_STATE_RUNNING_LINEWIDTH timeline line width when the channel is in running state. Default : 10
  • Feature values :
FEATURE_LINEWIDTH timeline width of the feature Default : 1
FEATURE_COLOR timeline color of the feature Default : black
  • Other values :
PERIOD_COLOR color of the period vertical bar. Default : green
DEADLINE_COLOR color of the deadline. Default : grey
TIMELINE_COLOR main color the timeline. Default : grey
stMaxSchedPeriod Cheddar simulation default maximum time of the simulation control panel. Default : 200
maxSimuPeriod Marzhin simulation default maximum time of the simulation control panel. Default : 200
manualMireColor color of the mire. Default : black
lastTickMireColor color of the mire last tick. Default : grey
zoomFactors Marzhin zoom factors which appear in the simulation control panel. Default : 0.1 0.5 1 2 4
speedFactors Marzhin speed factors. Default : 1 2 5 10
dashDef format of the dash. Default : 2 2
xUnitSizeInPixel size of the x unit in pixel. Default : 5
yUnitSizeInPixel size of the y unit in pixel. Default : 20
memoryWarningLimit memory warning limit. Default : 256
memoryIncrease size of the memory increase. Default : 64

About TASTE concurrency view model

The TASTE CV model that can be loaded into the TASTE CV tool is serialized in AADL format. The AADL language is a SAE international standard that is used to model and analyse the architecture of safety critical real time systems. More information about AADL can be found at:

http://www.openaadl.org/

The TASTE CV aadl file is generated by the TASTE Kazoo utility. It is thus not necessary — and even not recommended — for a TASTE end-user to edit this AADL model. Directly editing the generated AADL files may lead to load errors and model corruption.

Within the TASTE CV tool, the AADL file can be loaded either in a generic way from the File main menu (Load), or from the command line.

Quick start tutorial

This section gives examples of use of the TASTE CV tool.

Scheduling Analysis with Cheddar and Marzhin in TASTE

Scenario management with Marzhin in TASTE

Scheduling Error management with TASTE