Integration of ASN.1 SCC in F'

98 views
Skip to first unread message

Thibault FARGES

unread,
May 28, 2021, 7:26:24 PM5/28/21
to F´ Community Group
Good Evening,

ESA has been developing for several years its TASTE[1][2] framework for Flight Software, such as F Prime. This framework is based on two key languages: AADL and ASN.1.

As a reminder, ASN.1 is an OSI presentation layer protocol widely used in telecommunications to make systems communicate in heterogeneous environments. It allows messages to be described in an abstract (human-understandable) and physical (bitstream) way.
ESA has developed a complete and mature implementation of ASN.1 called ASN.1 SCC (Space Certifiable Compiler)[3][4] to cover all data modeling needs of space applications.
This compiler targets safe systems and generates Spark/Ada, C, SCALE or SDL code. The source code generated to encode and decode the upstream and downstream streams makes no memory allocation at runtime, no system calls, no dependency on an external library, has a tiny footprint and generates test cases for code coverage.

Do you think it would be an interesting development for F Prime to integrate by default (or optionally) the ASN.1 protocol (with ASN.1 SCC)?

This would probably reduce the complexity of interfacing software developed with F Prime with software developed with TASTE.
It also opens the door to the use of the ESA funded asn1-pusc-lib [5] open source library which is an ASN.1 implementation of the ECSS PUS-C standard|6][7].

I personally had to develop a project from scratch for the European Commission where I was required to use ASN.1 SCC because my client's AOCS was developed with TASTE. I have to admit that ASN.1 allowed me to save time on TC/TM implementation: I used the same ASN.1 SCC autogenerated encoding/decoding library on my FSW and on my EGSE.

At the level of ASN.1 SCC protocol implementation in F Prime I have the impression that we need to add a generic data presentation plug-in concept for the command/event/telemetry channel that allow FSW and GDS to communicate?
The idea comes to me from Timothy in his message [8].
Then at the code level it would probably be necessary to influence the Serializable class where a new Serializable class would be created that uses the source codes generated by the ASN.1 SCC for the encoding and decoding of messages.

-Thibault

[3] ASN.1 SCC GitHub repo: https://github.com/ttsiodras/asn1scc
[5] ASN1 SCC - PUS-C library GitHub repo: https://github.com/n7space/asn1-pusc-lib
[7] Tailoring of PUS-C for Future ESA Missions https://arc.aiaa.org/doi/pdf/10.2514/6.2018-2399
 

Timothy Canham

unread,
May 29, 2021, 12:45:13 PM5/29/21
to F´ Community Group
This sounds like an interesting suggestion. Perhaps we could look at it in the future as a research proposal. Feel free to look through the F Prime layers and make some suggestions as to how we could incorporate what you are describing. We probably don't have the staffing at this point with our regular day jobs to take a deep dive at this time. 

Thanks...

Thibault FARGES

unread,
May 31, 2021, 5:38:36 PM5/31/21
to F´ Community Group
OK glad to hear you are interested in the idea !
I am conducting R&D to see which of F Prime, cFS or TASTE could help us as a base framework for our flight software. ASN.1 SCC is part of one of the selection criteria even if it is not the most important one. To name a few, the most important ones are:
  1. EDS of CCSDS (hence my question on SEDS on May 13.),
  2. the PUS protocol,
  3. the possibility to have TSP - Time & Space Partitioning (with the XTratum hypervisor for example)
  4. the respect of coding rules (no dynamic memory, respect of MISRA 2012 for example)
  5. having a continuous integration circuit with a unit test tool framework
  6. an environment allowing system engineers to establish their performance balances.

How could this possible evolution be traced? Do you keep it in-house and bring it out for R&D calls? Or open an issue on the github repo like for SEDS? But I don't want to pollute the list of project issues if this idea is judged as outside the current framework roadmap.

For the moment I don't have more information about the integration of ASN.1 SCC in F Prime, I can of course keep looking!

- Thibault.
Reply all
Reply to author
Forward
0 new messages