TASTE logo

A tool-chain targeting heterogeneous embedded systems, using a model-based development approach

Get Started

What is TASTE?

So many things!... But mostly:
A tool-chain targeting heterogeneous embedded systems,
using a model-based development approach
A process supporting the creation of systems,
using formal models and automatic code generation
A laboratory platform experimenting with safety-critical SW
technologies, based on open-source, freely accessible solutions
The best way to know what TASTE is, is to go through this presentation.
And this smaller presentation shows a key technology at the heart of TASTE:
how we use ASN.1 to automatically generate many tedious, error-prone SW parts.

Hands-on videos: FPGAs

This video showcases how TASTE automatically creates device drivers and VHDL skeletons for the HW parts of a system.
Bonus footage at the end with actual deployment on an FPGA board.

Installing via Virtual Machine

By far, the easiest way to install TASTE is to download the 32-bit or 64-bit TASTE Virtual Machine image for VirtualBox.
After selecting "File/Import Appliance..." you will be able to import the TASTE image in your local installation of VirtualBox, and boot it up.
Then login with user taste and password tastevm.
The TASTE Virtual Machine is based on the latest stable version of Debian Linux.

After booting it up, the machine must be updated to get the latest versions of all TASTE tools - by executing...

cd ~/tool-src ; ./Update-TASTE.sh

...from any terminal emulator.


Installing via Docker

You can build a complete Docker image (which is very similar to the Virtual Machine) by using this Dockerfile as follows:

$ mkdir TASTE 
$ cd TASTE
$ wget https://gitrepos.estec.esa.int/taste/taste-setup/raw/master/Dockerfile
$ docker build -t taste .  # don't forget the dot at the end

...and then run a fresh TASTE container with proper X11 redirection, with...

$ wget https://gitrepos.estec.esa.int/taste/taste-setup/raw/master/Docker-run.sh
$ ./Docker-run.sh

This will launch a Docker container able to run all TASTE applications, including the X11-based ones (e.g. the Ellidiss GUI). Note that your $HOME folder is mapped under /root/work inside the container - so save your work ONLY in there, because everything else will be deleted when the container dies. You can of course still commit the container and thus obtain your own custom TASTE images.


Native installation

In Debian-based distributions, you can install TASTE natively. Start by creating a new 'taste' user, and...

$ git clone https://gitrepos.estec.esa.int/taste/taste-setup.git tool-src
$ cd tool-src
$ ./Update-TASTE.sh

You'll then have to follow the prompts to fix whatever issues are detected in your configuration.


Installation in a chroot

You can also install TASTE in a chroot - which allows you to have a native TASTE installation under non-Debian Linux distributions (e.g. SuSE, Fedora, etc). The process depends on the availability of the debootstrap tool in your distribution - after installing it, you will be able to...

# mkdir /opt/stretch-chroot
# debootstrap stretch /opt/stretch-chroot
# mount -t proc none /opt/stretch-chroot/proc/
# mount -t sysfs none /opt/stretch-chroot/sys/
# mount -o bind /dev /opt/stretch-chroot/dev/
# mount -o bind /dev/pts /opt/stretch-chroot/dev/pts/
# chroot /opt/stretch-chroot

...and at this point, you can continue with the normal process described above for Debian-based distributions. For (almost) all intents and purposes, this chroot will behave just like a native Debian install; and thus allows you to have a "sandboxed" TASTE install that will not interfere with your main distribution.

In fact, this is reason enough to employ this process even if you do have a Debian-based distribution; the chroot will contain all TASTE-related work, and will therefore leave your main distribution undisturbed.

Focus on open-source

TASTE is developed in the open; with tools available under Open-Source Licenses.
The toolchain itself is maintained here, with all the tools' source code checked out under it via 18 Git submodules.



Controlling a rover

PERASPERA used TASTE under the hood to implement the "soul" of this rover.

Flying TASTE-y quadcopters

Quadcopters flying in formation under the control of TASTE-generated SW.
One of the major attractions in ESTEC's Open Days of the last two years.

CHEOPS, an ESA mission scheduled to launch in October 2019, used TASTE's ASN1SCC to generate the message marshallers for the application software.
FBK used TASTE in "Contest" (solar/stirling cogeneration; modeling, deployment); "GreenerSys" (single-unit Organic Flow-Batteries; model, deployment); "GreenerNet" (grid of OFBs; modeling)
PROBA-3 uses TASTE in many ways: the payload onboard and the ground segment make extensive use of the Data Modelling Tools from TASTE, for both code and documentation purposes.
And many organizations (in Telecom and elsewhere) are using ASN1SCC; the "heart" of the message marshalling in TASTE, creating bulletproof message marshallers (automatic test cases; 100% coverage by construction; SPARK contracts; automated interface control documents; and more).