21–22 May 2014
ESA/ESTEC
CET timezone

Data Modelling with ASN.1 for Space Applications

22 May 2014, 11:50
50m
Einstein (ESA/ESTEC)

Einstein

ESA/ESTEC

Speaker

Mr Thanassis Tsiodras (Neuropublic)

Description

Activity: Lab Investment ESA TO: Maxime Perrotin - Software Systems Division Abstract Syntax Notation One (ASN.1) is a well-established data modelling language, used every day in the code of hundreds of millions of embedded devices, to exchange message data in a performant and type-safe manner. It has been put to great use in the TASTE toolchain (http://taste.tuxfamily.org), a software engineering toolchain built under the supervision of ESA, where it is used as a baseline that drives a lot of functionality: (a) automatic integration of code generated by multiple modelling tools, through machine-generated ASN.1bridges (b) integration of HW components via automatically generated device drivers and VHDL/SystemC skeletons (c) automatic generation of TM/TC graphical user interfaces (d) machine-generated gateways for code written in any of a set of programming languages, including C/C++, SPARK/Ada, and Python (allowing for both statically-typed and dynamically-typed programming for TASTE systems) (e) automatically generated Interface Control Documents (ICDs), and many more (see the project wiki at http://taste.tuxfamily.org/wiki/index.php?title=Main_Page). TASTE is also using its own open-source ASN.1 compiler ( https://github.com/ttsiodras/asn1scc ) - written in an ML-derivative to specifically target embedded/space systems, and generating C/C++ as well as SPARK/Ada code - thus offering guarantees of code correctness for safety-critical systems. Our ASN.1 compiler is also generating complete test harnesses, that exercise the message data encoders and decoders to full statement coverage (100%), thus further increasing confidence in the generated code. In this presentation, we will focus on the latest additions to the TASTE toolchain, which include automatic mappers between ASN.1 and many publicly available database engines (PostgreSQL, MySQL, etc), which guarantee semantic consistency between instances of data models as they exist inside the applications' process spaces and as they are serialized inside databases.

Presentation materials