Turn-key Solution to Generate Multi-Platform Communication Protocols

Better Code, Faster Deployment, Robust Communication, Multi-Platform

Communication Cloud

Communication protocols are the foundation of all telecommunications. Already, the slightest inconsistencies can have adverse effects. With increasingly complex and heterogeneous telecommunication systems, constantly evolving standards, and dynamic topologies, inconsistent protocol implementations are increasingly likely. Often, the issues manifest as software bugs or documentation problems. These misunderstandings, misinterpretations, undefined behavior, etc., make it costly and challenging to evolve protocols.

This illustration shows the communication paths between various actors in a space system. Protocol packets are generated, modified, integrated, and processed at each stage.
Figure 1: This illustration shows the communication paths between various actors in a space system. Protocol packets are generated, modified, integrated, and processed at each stage.

This issue is especially pronounced in space missions, as illustrated in Figure 1, where many different applications and systems (“actors”) are involved, who create, process, and modify the protocol packets:

  • Space Segment
    • From and to the payload
    • Between payloads (inter-payload)
    • Between payloads and the platform
    • From and to the platform
  • Ground Segment
    • From and to mission control facilities
    • From and to the payload operations facilities
    • To the mission and payload data processing facilities
    • Into the scientific analysis environments

An outdated or misaligned communication protocol implementation will lead to errors at any of those boundaries.

Our solution produces highly reliable protocol implementations by generating code from the protocol specification in the well-established ASN.1 specification language. ASN.1 is used in many terrestrial network standards, e.g., LTE (4G) or 5G. From any ASN.1 protocol specification, our toolset automatically generates code and documentation in different languages, like C/C++, Python, Scala, Ada, and HTML. Automation guarantees consistent and bug-free code, allows for faster protocol iterations, and leads to more robust communication systems overall. This process is shown in Figure 2.

Figure 2: The automated ASN.1-to-Code process allows updates to the protocol specifications to be easily integrated into all software components and version-controlled.

This issue is especially pronounced in space missions, as illustrated in Figure 1, where many different applications and systems (“actors”) are involved, who create, process, and modify the protocol packets:

  • Space Segment
    • From and to the payload
    • Between payloads (inter-payload)
    • Between payloads and the platform
    • From and to the platform
  • Ground Segment
    • From and to mission control facilities
    • From and to the payload operations facilities
    • To the mission and payload data processing facilities
    • Into the scientific analysis environments

An outdated or misaligned communication protocol implementation will lead to errors at any of those boundaries.

Our solution produces highly reliable protocol implementations by generating code from the protocol specification in the well-established ASN.1 specification language. ASN.1 is used in many terrestrial network standards, e.g., LTE (4G) or 5G. From any ASN.1 protocol specification, our toolset automatically generates code and documentation in different languages, like C/C++, Python, Scala, Ada, and HTML. Automation guarantees consistent and bug-free code, allows for faster protocol iterations, and leads to more robust communication systems overall. This process is shown in Figure 2.

Better Code, Faster Deployment, Robust Communication, Multi-Platform​

The Consultative Committee for Space Data Systems (CCSDS) sets the standard for space communication protocols, and our solution complies with these specifications. CCSDS compatibility ensures communication systems integrate seamlessly with all space agencies and industry partners. We also support additional agency-specific requirements, like ESA’s Packet Utilization Services revision C (PUS-C) standard.

Our solution is designed to streamline the generation of any TM/TC serialization and deserialization code. We understand that every mission has its own unique set of challenges and requirements. We support you in the protocol definition and can tailor the code generation to meet your needs – whether it is a deep-space exploration mission, a satellite constellation for Earth observation, or a commercial space venture.

Solution Benefits

  • Fast Deployment: Accelerate your project with ready-made protocol definitions for immediate deployment, reducing the time from concept to execution.
  • High Reliability: Depend on a system meticulously designed to meet the rigorous demands of space communication and provide consistent and error-free data transfer.
  • Adapt and Scale: Adapt and evolve protocols to meet changing needs. Prevent technology lock-in in growing operations by leveraging multiple programming languages.
  • Enhance Interoperability: Benefit from a system that ensures interoperability of many spacecraft and ground systems, facilitating international collaboration and data sharing.
  • Protocol Version Control: Use standard tools like Git and GitHub for version control and traceability of protocol specifications written in human-readable plain text.

How it Works

The core systems engineering team defines the used telemetry and telecommands in collaboration with us, often in line with the European Cooperation for Space (ECSS) CCSDS standard (ECSS-E-ST-70-41C). Protocol definitions for standard services exist (e.g., Service 1, “Request Verification,” or Service 6, “Memory Management.”) Mission-specific services, such as Service 21, “Request Sequencing,” should be specified to meet the mission requirements.

With our software, you can generate code files, automated tests, and documentation. The generated code can be directly used with ground or space software (Figure 3).

The automated ASN.1-to-Code process allows updates to the protocol specifications to be easily integrated into all software components and version-controlled.
Figure 3: All communication packets are specified in ASN.1. Shown here is TM(1,1) "Successful acceptance verification report." The specification generates C, Scala, Ada, and other code that can be integrated into existing software.

Background: What is ASN.1?

ASN.1 stands for Abstract Syntax Notation One. It is a standard interface description language for defining data structures that can be serialized and deserialized cross-platform. ASN.1 is widely used in telecommunications and computer networking, especially cryptography.

The main goal of ASN.1 is to facilitate data exchange between systems with different architectures and implementations. The notation provides a common framework for specifying complex data structures, such as those used in electronic commerce, secure email, directory services, and network management.

Critical features of ASN.1 include:

  • Abstract Syntax: It describes the data structure independently of how it is encoded for transmission.
  • Data Types: It provides built-in data types such as INTEGER, BOOLEAN, STRING, and complex types like SEQUENCE and CHOICE.
  • Encoding Rules: It uses various encoding rules to convert the data described in ASN.1 to a serialized format. The most common encoding rules are Basic Encoding Rules (BER), Distinguished Encoding Rules (DER), and Packed Encoding Rules (PER).
  • Extensibility:1 allows the definition of new data types and structures, making it highly flexible for many different application domains.
  • Interoperability: Using ASN.1, different systems can exchange data reliably and consistently, even if implemented in other programming languages or run on various platforms.

ASN.1 is used in many protocols, such as the 4th and 5th generation of cellular mobile communication, X.509 for digital certificates, Simple Network Management Protocol (SNMP), Lightweight Directory Access Protocol (LDAP), and many others. It also defines messages in various security-related protocols, such as those used for Public Key Infrastructure (PKI) systems.

Meet ASN.1 Team

Our specialists will be happy to answer your questions. Do not hesitate to send them an e-mail with your request.

Simon Felix

Simon Felix

Filip Schramka

Filip Schramka

Ivo Nussbaumer

Ivo Nussbaumer

Let's stay in contact

We send out some updates via e-mail or as a hard copy from time to time. If you want to stay in the loop, please sign up below. We don’t spam!

Sign-up (ASN.1)
Name
Name
First
Last

By providing and submitting my contact information, I agree that Ateleris GmbH can store my information for communication purposes and can reach out to me.

We don't spam and we do not share your data with others.