Turn-key Solution to Generate Multi-Platform Communication Protocols
Better Code, Faster Deployment, Robust Communication, Multi-Platform
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 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.
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).
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.
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!