TASTE CV Graphical Editor

From TASTE
Revision as of 10:14, 24 February 2021 by Ellidiss (talk | contribs) (Ellidiss moved page TASTE GUI CV to TASTE CV Graphical Editor)
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 CV tool uses various background technologies:

  • GMP (Graphic Model Processing): generic framework developed by Ellidiss Technologies.
  • LMP (Logic Model Processing): generic model transformation and AADL toolbox developed by Ellidiss Technologies.
  • Cheddar : real-time scheduling analysis tool developed by the University of Brest and Ellidiss Technologies.
  • Marzhin : AADL run-time simulator developed by Virtualys and Ellidiss Technologies.
  • Ocarina : AADL compiler and code generator developed by ISAE.

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

tasteCV.png

Main Menu

The main menu contains the following entries :

File → Load load a concurrency view.
File → Load load a concurrency view.
File → Unload unload the current view.
File → Reload reload a concurrency view.
File → Load RT Properties load a real time properties modification file.
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 → Simulation Control Panel edit preferences for the Cheddar and Marzhin simulation tools.
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).
? → 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 same as main menu.
Simulation Control Panel same as main menu.
Real Time Properties 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.
speed factor the user can choose the simulation speed between several values (x1, x2, x5 or x10).
The Cheddar tab
vcd savebutton 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 rela 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

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

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

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

    TBD Default : 1

    FEATURE_COLOR

    TBD Default : black

  • Other values :

    PERIOD_COLOR

    color of the period vertical bar. Default : green

    DEADLINE_COLOR

    TBD. Default : grey

    TIMELINE_COLOR

    TBD. Default : grey

    tickMax

    TBD. Default : 100

    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

    TBD Default : black

    lastTickMireColor

    TBD 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

    TBD. Default : 2 2

    xUnitSizeInPixel

    TBD. Default : 5

    yUnitSizeInPixel

    TBD. Default : 20

    memoryWarningLimit

    TBD. Default : 256

    memoryIncrease

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

TBD