What Is GenerationOne Technology?

How GenerationOne supports software reuse:

For Quick and Cost-Effective Mission Development


In the rapidly changing and growing commercial space market, there is a strong need to produce satellite software quickly and at low cost. One of the ways to achieve this is through software reuse, when the package created for one mission can be quickly and easily adapted for another.

To do that, software needs to be broken into units suitable for reuse. But that’s not enough – it also requires flexible ways of integrating the units together, so they can be easily adapted for every change in requirements.

Read on to find out how we approach this challenge through our GenerationOne technology, that we’ve been evolving over the past 11 years.


What is Gen1?

GenerationOne is a modular technology which is best described as a combination of three aspects.

  • Model-based

    meaning that it has a machine-readable description of the architecture which is understandable by both the space side and the ground side and is used across the life cycle of the system. This means that the ground side can automatically “see” the entire flight software architecture, making integration and configuration virtually redundant.

  • Component-based

    meaning that the central elements of this platform are software components which are entirely self-contained and have a coherent set of functionality. They are designed to facilitate the idea of reuse and create mission-specific spacecraft flight software through our development environment by combining bespoke components with readily-available library components which have been previously validated.

  • Service-based

    meaning that components use services to interact with each other which provides well-defined semantics for interactions on all levels. Services are used both at a high level, to define how the system can be operated, and a low level, to manage hardware interfaces and hardware diversity. This provides a flexible way of integrating the components within the flight system.

How is this structured within the flight system?


The focus of the flight system is on the components, which are used to build the vast majority of its functionality.

While every spacecraft and mission are different, most space vehicles perform a number of similar tasks such as data acquisition, monitoring, logging, FDIR, TM/TC, scheduled and automated actions. Within the GenerationOne framework these common functions are provided off-the-shelf to accelerate the development of flight software.

Any unique functionality of each mission can be achieved through custom-made components. This means that GenerationOne helps tailor the software to each mission by allowing the developer to choose which components to use, how many, the way they connect, and to develop custom components for the mission.

All components are made portable to be useable across a wide range of platforms and operating systems.

This approach allows to re-use the existing software components between missions, making new mission development significantly quicker, cheaper and a lot more reliable.

Services in GenerationOne:

How to Achieve Software Flexibility Between Missions 


The flexibility of GenerationOne is largely based on the loose coupling of components as they can only interact by consuming or providing services which are defined using the underlying model. This ensures that components can be used interchangeably, as long as their service requirements can be met.

As we know from real-world examples, software requirements can change as mission experience starts to build up and the suitable service may only shape up and become clear over time.  GenerationOne model includes the definition of services, which allows them to evolve, so that new services can be developed to meet new requirements without the need to change existing tooling or infrastructure.

This flexibility means that the space system grows or a need for new missions emerges, the existing components can be swapped in and out and the software can be quickly adapted to a new spacecraft.


Model-Based Software Engineering:

How to Streamline Integration of Flight and Ground Sides


GenerationOne can be applied to both flight and ground software and one of the most significant advantages is in the integration of the two. Thanks to the model-based approach, the entire flight software package, developed through our Flight Software Development Kit (FSDK), can be quickly and easily understood by our ground system Mission Control Software (MCS).

The spacecraft database generated by each specific deployment can be loaded into our operations software to automatically populate it with all the spacecraft components. This gives the system a full view of the different services and the concepts of the components, which allows for easy interaction at a very high level and extensive opportunities for automated operations.


Don’t just take our word for it:

So far, over 40 space missions have used our GenerationOne Technology


We’ve been evolving GenerationOne technology for the past 10 years through extensive development work on more than 40 spacecraft which are currently using GenerationOne-based flight and ground software. Find the recent examples of benefits that our innovative technology has offered through real mission use cases: Faraday Phoenix, SeaHawk, IOD-1 GEMS and other Case Studies.




We’ve been evolving our technology over the past 12 years through extensive development work. During this time, our software has powered more than 50 spacecraft in orbit, helping them to maximise their mission potential. 

Contact us today to see our products in action and arrange a one-to-one demo of our software, tailored to your unique mission needs and requirements.