SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling...
Transcript of SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling...
![Page 1: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/1.jpg)
→ tasteA real-time software engineering tool-chainOverview, status and future
Maxime PerrotinJulien Delange
![Page 2: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/2.jpg)
2
what is taste?
• A quick-prototyping tool-chain targeting
heterogeneous, embedded systems
• A laboratory platform for experimenting
new software-related technologies,
based on free, open-source solutions
• A process supporting the creation of
systems using formal models and
automatic code generation
![Page 3: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/3.jpg)
3
heterogeneous systems (1)
mode managementnavigation
drivers communication
companiesA, B, C
companiesX, Y, Z…
Leon2
x86
FPGA
Sensors,actuators
![Page 4: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/4.jpg)
4
test scripts
heterogeneous systems needs (2)
How to put everythingtogether ?
SDL
MSC
Python
C
AdaVHDL
Simulink
SCADE
SMP2
state machines
control laws
algorithms
FPGA code
drivers, user code system
simulation
applicative code
execution trace
![Page 5: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/5.jpg)
5
how to put everything together?
• Manually?
– Requires a lot of hacking
– Difficult maintenance in case of interface changes
– That is the most common way of doing
• Using a commercial modelling tool?
– No support for heterogeneous models (at best, Simulink integration)
– No support for sensor/actuators interfacing
– Maintenance issues (vendor lock-in)
• Using TASTE
![Page 6: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/6.jpg)
6
example: ESA robotic lab experiments
Communication &State Management
(SDL/RTDS)
Control law
(Simulink)
Exoskeleton
(Sensors)Robotic arm
(Actuators)
hardwareinterface (1)
hardwareinterface (2)
softwareinterface
![Page 7: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/7.jpg)
7
interface issues
Software
Sensors
hardwareinterface (1)
• Issues to address:
– Specification of the interface
(logical message description)
– Message physical
representation (binary stream)
->imposed by the hardware.
Conversion to a software data
structure
![Page 8: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/8.jpg)
8
interface issues (2)
• Issues to address:
1) Specification of the interface
(logical message description)
2) Conversion at model level (keep
the same semantics in both
RTDS and Simulink)
3) Conversion at code level: map
each field of the interface from
one generated piece of code to
the other
RTDS
generated code
Simulink
generated code
softwareinterface
![Page 9: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/9.jpg)
9
Data modeling layer (ASN.1) – platform-neutral representation
taste glue code connects components
SDLcode
Simulinkcode VHDLC code Ada
code
Middleware (Polyorb High Integrity)
Operating systems, drivers, IPs…
![Page 10: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/10.jpg)
10
system architecture is captured in AADL
• A textual notation to capture all the attributes of a system
• TASTE provides a graphical view of AADL files
![Page 11: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/11.jpg)
11
ASN.1 to describe interfaces
• A simple notation to describe software and hardware interfaces
• Our tools generate code for embedded systems (no malloc, no
system call, support for C and [Spark] Ada)
+
![Page 12: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/12.jpg)
12
Mix languages to get the best of all worlds –no “unified language” to rule them all!
• The robotic case study mixes C (drivers), SDL (RTDS – system overal
orchestration and logic) and Simulink (control laws)
If we replace the Simulink block with a VHDL component, the rest of the system remains unchanged from the user point of view.
![Page 13: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/13.jpg)
13
a straightforward process – with tool support
1) Describe interfaces with ASN.1
2) Capture the logical architecture using the AADL editor
3) Generate code skeletons and write the applicative code
4) Capture the system hardware and deployment
5) Verify system feasibility using TASTE-provided tools (Cheddar, MAST)
6) Build the system and download it on target
7) Monitor and interact with the system at run-time
![Page 14: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/14.jpg)
14
taste integrated runtime features
• Auto-GUI generation
• MSC tracing and recording
• Plot streaming
• Testing via python scripts
• 3D rendering
TASTEbinary
GUI and MSC control
Celestia rendering
Python test scripts
GNUPlot streaming
TASTEbinary
GUI and MSC control
Celestia rendering
Python test scripts
GNUPlot streaming
![Page 15: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/15.jpg)
15
who is developing taste?
• In addition to ESA, TASTE main contributors are
– Semantix (GR)
– Ellidiss (F)
– ISAE (F), ENST (F)
– UPM (ES)
• TASTE is available freely and open source
– Ensure long-term support
• It can be downloaded from:
– www.assert-project.net/taste
![Page 16: SHAPING AND SHARING SPACEmicroelectronics.esa.int/core/eslday_2011/6_TASTE_ESA.pdf · Data modeling layer (ASN.1) – platform-neutral representation taste glue code connects components](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fd0c0e2d6f2827a07296b05/html5/thumbnails/16.jpg)
16
For more information:www.assert-project.net/taste