Port a legacy TASTE project to Kazoo
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:
After running the above commands a new folder has been created:
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.