Software engineering is our core expertise and we have a wealth of experience developing software across a broad range of applications. We’re happy working on any part of any type of software project: we can easily help out with your ongoing developments, or take the lead and manage the whole engineering process from capturing your requirements to delivery and support.
Bright Ascension have experience engineering and project managing across the full life-cycle of software development and R&D studies. We are happy to help out with a single phase of your development, such as advising on requirements capture or design; the full project gives us something to really get our teeth into. Our broad experience means that we often have knowledge we can apply directly to a new project; our academic and research skills mean that we can learn a new domain or technology quickly and with ease. Where a project overlaps with work we have done previously, or one of the areas in which we carry out internal R&D, we may have off-the-shelf IP we can leverage to reduce your costs and time to project completion.
We are used to working to strict quality standards covering the complete development process (such as ECSS-E-ST-40/ECSS-Q-ST-80) as well as coding standards (such as MISRA-C). We can work in a wide variety of languages, from assembly language and C to Java and Python. Although many of our customers as us to use a waterfall-style development process (or V-model) we are increasingly employing more agile techniques, both for our internal developments and on behalf of customers.
Our main areas of expertise include:
- Embedded systems
- Real-time systems
- Spacecraft onboard software
- Spacecraft ground software
- Low-level and system software, such as drivers
- Communications protocols and stacks
- Component-based and model-driven software engineering
- Visualisation, including 3D
Our most comprehensive project to date is the development of the onboard software for the UKube-1 mission on behalf of Clyde Space Ltd; our detailed case study of this project should give you a good idea about our software capabilities. We’ve spun out the software we developed for UKube-1 into our GenerationOne Flight Software Development Kit, an off-the-shelf product. We have also adapted our UKube-1 ground software into a product, our GenerationOne Mission Control Software to support a wide range of CubeSat and nano-sat missions. If you want to know more, or have opinions about our offering, then feel free to please to contact us.
Case study: Time and space partitioning for an ESA simulated mission
Time and Space Partitioning (TSP) is a technology which permits multiple, independent pieces of software to be run on the same hardware platform safely and, possibly, securely. TSP relies on an underlying piece of software called a hypervisor or separation microkernel which creates a set of partitions. Each partition is effectively a virtual machine: the software executing in that partition typically includes an operating system and has no visibility of other partitions, except where specifically permitted. This means that the malfunction of one partition, either deliberate or otherwise, cannot affect the correct operation of others or the confidentiality of information stored within a partition.
TSP has been successfully applied to avionics systems in the form of Integrated Modular Avionics, often implemented to the ARINC 653 standard, and deployed on many commercial and military aircraft. The European Space Agency (ESA) has taken a keen interest in the application of TSP to space systems, where the technology could offer significant benefits in terms of reducing the size, weight and power consumed by spacecraft avionics. Bright Ascension have been involved in the study and development of TSP systems for space for more than three years. Having investigated the feasibility and potential advantages of applying TSP to spacecraft, in one of our current projects we have the opportunity to study the practical impacts of applying TSP. In order to study new avionics developments in a consistent environment, ESA have a simulated reference mission based on an earth observation spacecraft. In a project lead by SSF, Bright Ascension are assisting in porting the onboard software for this reference mission to a TSP hypervisor. The development is challenging, with many important lessons for the application of TSP technology to practical spacecraft flight software.