Port a legacy TASTE project to Kazoo
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
You need the following files from your legacy project:
- 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 a clean folder (containing no TASTE data files) run the following command:
You will be prompted for a project name - you may give the same name as the project you want to port. A subfolder will be created with this name.
It will open the graphical editor, but you can close it right away.
The following files have been generated:
Enter this folder and overwrite the files (except the Makefile) with the ones from your old project.
$ taste-update-data-view $ make skeletons
This will create a "work" folder, inside which there are subfolders for each function of the interface view. For example:
You must now replace the 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.
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.