Blog
What does “component-based” software really mean?

In the rapidly changing and growing commercial New Space market, there is a strong need to produce space software quickly and at low cost. The key to achieving this is through software reuse: when the software created for one mission can be quickly and easily adapted for another, and when common software functionality is provided in a reusable library.
Our space software products are based on our innovative and unique modular technology, which combines three equally important aspects, one of which is the “component-based approach”.
What do we call “components”?
Components are the central elements of our software products, they are entirely self-contained and have a coherent set of functionality. While every mission is different, software systems on many missions perform a number of similar tasks such as data acquisition, monitoring, logging, FDIR, TM/TC, scheduled and automated actions. These common functionalities are provided as library components which allows users to quickly cover basic functionality of the system and focus on the development of bespoke components, unique to their particular mission.
This means that our products help tailor the software to each particular mission by allowing the developer to choose which components to use, how many, the way they connect, as well as develop custom components for the mission.
All components are made portable to be useable across a wide range of platforms and operating systems.
Why is this approach better?
The component-based structure promotes the idea of reuse: the platform is designed to create limitless combinations of both ready-made and bespoke software components, similar to constructing with building blocks. This brings a number of significant benefits:
- Shorter time to market through faster development
- Early access to software for testing and integration/operations development
- Simple re-use of existing software in future missions
- Reduced risk as all library components are pre-validated with extensive flight-heritage
- Having components as small units of reuse increases flexibility and adaptability to any changes in the development process
- Built-in scalability as components can simply be swapped in and out as the system grows and requirements/functionality/hardware changes
- Simple and easy to use – assemble your flight packing like building blocks
What functionality do components cover?
Our flight software library that comes with the product includes a wide range of components covering all mission needs:
- Subsystem components: for many commercial off-the-shelf products such as electronic power systems, attitude control systems and radios
- Data handling components: gathering, pooling, logging and reporting telemetry parameters from the complete system
- Monitoring components: checks on parameters to validate correct system operations
- Communications components: monitoring, control and reporting to and from ground or other systems using a variety of standard protocols
- Automation components: automation of onboard activities such as responding to events and scheduling onboard operations based on relative time, absolute time or spacecraft orbit
- Mission components: manage the spacecraft mode and separation sequence
We’ve been evolving our innovative technology for the past 12 years through extensive development work on more than 50 spacecraft, powered by our flight and ground software.
This ongoing development forms the foundation for our ground-breaking HELIX suite of products, designed to join up various software systems within a mission’s infrastructure. HELIX connects the entire mission lifecycle, from upstream mission development to downstream insights and applications, delivered through space-based services.
Contact us today to to see our software in action and arrange a one-to-one demo of our products, tailored to your mission needs and requirements.