Develop Cheddar

It is useful to understand the Cheddar framework in order to develop and implement new analysis features in Cheddar.

Cheddar framework

Cheddar framework consists of three parts (1) Cheddar architecture description language (ADL), (2) meta-workbench Platypus and (3) Cheddar scheduling analyzer.

  1. Cheddar ADL is a simple architecture description language devoted to realtime scheduling theory. An ADL provides the abstraction of components, connections and deployments. A component is an entity modeling a part of the system. ADLs allow the specification of both hardware parts and software parts of the system with dedicated kinds of components. Connections usually model relationships between components and finally, deployments specify how software components are deployed on hardware components.

  2. The meta-workbench Platypus is used to implement the code generators. A part of Cheddar is automatically generated from its meta-models through a model driven engineering (MDE) process.

  3. Cheddar scheduling analyzer includes three parts: kernel, graphical user interface (GUI) and data parsers.

    • The kernel consists in RTES component models and analysis features. RTES component models provide an abstraction of a system including its hardware and software components. It includes Ada class files that are automatically generated by the meta-workbench Platypus. Several analysis features are implemented in the kernel. However, regarding the scope of this thesis, we only focus on schedulability test and scheduling simulation analysis features.

      Cheddar kernel can be called alone and embedded in a toolset. The framework is embedded in specific tool sets such as AADLInspector and TASTE (ESA) (http://taste.tuxfamily.org). Cheddar was used to automate the computation of task WCRT in an architecture model refinement approach implemented in RAMSES.

    • The GUI can be used by the users to design a system model, apply analysis methods and receive results.

    • The data parser supports importing and exporting a RTES architecture model in Cheddar ADL or AADL

The process of developing an analysis feature for a new system model in Cheddar framework consists of three steps.

  1. Extending Cheddar ADL. For more information, see section Cheddar ADL
  2. Implementing analysis feature. For more information, see section Cheddar Kernel
  3. Updating Cheddar GUI and Data Parser Cheddar GUI

Which IDE should I use ?

Any text editors can be used to develop Cheddar. Developers are free to choose which they want for this purpose. However, in case you do not have any preference, we provide here some simple instructions to develop Cheddar using GNAT Studio - an IDE shipped with GNAT2021.

Cheddar is a GNAT project. The project file is located in trunk/src/gpr/cheddar.gpr.

GNAT Studio installation

If you download and install GNAT2021 from the AdaCore website, GNAT Studio is already installed on your PC. To start GNAT studio, simply follow the steps below.

$ cd [CHEDDAR]/trunk/src
$ source script/compilelinux.bash
$ gnatstudio

GNAT project: cheddar.gpr

GNAT studio can open GNAT project. The IDE provides standard features such as code suggestion, code refactoring, code formatting and interactive debugging.