Port a legacy TASTE project to Kazoo

From TASTE
Revision as of 08:00, 2 August 2022 by Mperrotin (talk | contribs) (Setup the new project)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

In 2020, the TASTE development and build environment was upgraded. TASTE is now based on a new tool called Kazoo, giving more flexibility to both TASTE developers and users.

Legacy systems have to be manually ported to Kazoo - the transition is very simple, and it is explained in this page. No modification of the models is required, the changes are limited to the folder structure and occasionally the setting of some build options.

Please check this page for reference about Kazoo file system: Understand the code generation strategy

Input Files

You need the following files from your legacy project:

  • InterfaceView.aadl
  • DeploymentView.aadl
  • Concurrency_Properties.aadl (if you have one)
  • All your data views (.asn / .acn files)

And the source code of all your TASTE functions. It is present in subfolders with the name of the functions.

Setup the new project

From your legacy project folder run:

  $ taste-update-data-view <list of your ASN.1 files>
  $ taste-upgrade-to-space-creator

A new subfolder with the project name will be created. It contains the new project structure.

For example let's say we have this project structure:

ClipCapIt-220802-095758.PNG

After running the above commands a new folder has been created:

ClipCapIt-220802-095937.PNG


The last thing you have to do now is to replace the user code with your own, in work/<function>/<language>/<src>

After that you should be ready to build the project by running "make" from the new project root.

Compilation options

You may need to edit the Makefile if you want to add compiler/linker flag per partition.

The syntax to add is:

 export <PartitionName>_USER_CFLAGS=...         # compiler flags
 export <PartitionName>_USER_LDFLAGS=..         # linker flags
 export <PartitionName>_EXTERNAL_SOURCE_PATH=   # Path to source code folder to compile with the system

If you do not specify a <PartitionName>, the flags will be applied to all partitions. The <PartitionName> is visible in the Deployment View.