Main Page
Contents
TASTE
Welcome to the TASTE wiki!
TASTE is a set of freely-available tools dedicated to the development of embedded, real-time systems. It is developed by the European Space Agency together with a set of partners from the space industry.
TASTE promotes the combined use of formal description techniques (AADL, SDL, MSC, ASN.1) with strongly typed programming languages (Ada) and other system-level modelling tools (Simulink, VHDL) and coding languages (C, C++).
The tools run on the Debian Linux operating system and are available in a pre-installed virtual machine.
TASTE addresses system architecture, data and behavior modelling and allows to generate low-level code for micro-controllers and distributed, communicating systems. Various platform are supported : x86/Linux, Raspberry Pi, MSP430 with FreeRTOS, STM32 with the GNAT Runtime or FreeRTOS, Leon2/Leon3 with RTEMS, as well as targets including FPGA components. It is open and extensible.
TASTE fields of research include simulation, model checking, software correctness by construction, documentation generation, and in general improvement of the software development lifecycle through automation.
TASTE Ecosystem, Overview and Screenshots
- Overview
- TASTE consortium
- Start here: TASTE Step by step tutorial
Tool availability
Documentation and presentations
- Architecture Overview
- Supported target architectures
- Case studies
- Media and Publications related to TASTE
- Tools documentation
- TASTE Semantics
- IF model-checking
- Technical topic: Advanced testing with MSC and Python scripts
- Technical topic: OpenGEODE, an SDL editor for TASTE
- Technical Topic : Detailed_SDL_tutorial
- Technical Topic : MSC tutorial
- Technical topic: OpenGEODE - Design pattern: How to emulate the SAVE symbol
- Technical topic: OpenGEODE - SDL Operators: How to work with data
- Technical topic: ASN1SCC - ESA's ASN.1 Compiler for safety-critical embedded platforms
- Technical topic: ASN.1 - An introduction to ACN
- Technical topic: Hints to model complex packet encodings with ASN.1 and ACN
- Technical topic: ASN.1 and ACN - How to add a CRC value to an encoded packet
- Technical topic: ASN.1 and SQL mapping
- Technical topic: Using SQL Databases in TASTE
- Technical topic: Customizing the ASN.1 compiler (ASN1SCC) with your own templates
- Technical topic: Use of timers in user code with TASTE
- Technical topic: Extend your models with your own property sets to hook your own tools
- Technical topic: Test your Leon2/Leon3 applications with QEMU
- Technical topic: Manage interface priorities
- Technical topic: Work with sockets
- Technical topic: FPGAs in TASTE
- Technical topic: Code Coverage
- Technical topic: Add a new target platform to TASTE
- Technical topic: Kazoo templating engine
- Technical topic: Port a legacy TASTE project to Kazoo
- Technical topic: Understand the code generation strategy
- Technical topic: use the new qualifiable QGen code generator for Simulink with TASTE
- Technical topic: TASTE on MSP430 with FreeRTOS
- Technical topic: C++ Components and AIR IO Partitions
- Technical topic: Import/Export of Components in TASTE
- Technical topic: Customize auto-generated GUIs with custom widgets
- Scheduling analysis with the TASTE CV Graphical Editor
- Work in progress: Integrating SDL and VDM
- Work in progress: COMPASTA: Integration of the TASTE and COMPASS toolsets
Management and release process
Support
- Contribute to the wiki
- Submit a bug
- Technical FAQ
- taste-users mailing-list
- taste-dev mailing-list
- Troubleshooting Device Driver issues on the Gaisler Boards
Other information
- ASN.1 Compiler and ASN.1 glue generators
- TASTE Graphical Editors - Concurrency View and Scheduling Analysis