3
www.brightascension.com portable practical flexible fast space software bright ascension flight | ground | mission software

portable practical flexible fast space software...FSDK tooling helps guide engineers through the software development process rapidly, promoting an agile and iterative approach. As

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • www.brightascension.com

    portable practicalflexible fast

    space software

    brightascension f l i g h t | g r o u n d | m i s s i o n s o f t w a r e

  • www.brightascension.com

    development tooling workflowdevelopment toolingGenerationOne FSDK tooling is built on a variety of standard, cross-platform, technologies and can be readily adapted to suit different processes. Graphical tooling integrates with the Eclipse environment, whilst the complete build system is fully accessible from the command line and can be easily automated.

    test support toolingSupport for development and integration testing is provided in the form of graphical and command line tools which can communicate with flight software, acting as 'ground'. The graphical TMTC Lab operates using the software model and permits all space-ground interactions to be tested with ease.

    modular communicationsThe GenerationOne FSDK permits modular communications stacks to be constructed from components. Interfaces between components follow a standard pattern based on services. This approach allows individual layers of the stack to be modified or substituted without impacting layers above and below. By replacing the lowest communications layers, interfaces or links can be emulated for testing.

    CXML

    CXML

    HTML

    BinaryXML C

    Define Component

    Type

    Implement Component

    TypeGenerate Skeleton Define

    Deployment

    Configure Component Instances

    Deploy onto Target

    Generate Build

    Component LibraryGenerateLibrary

    DocumentationSCDB HTML

    GenerateSpacecraft Database

    flight software development kit

    platform abstraction and services

    The Bright Ascension Flight Software Development Kit (FSDK) is a unique, innovative development environment which permits the creation of mission-specific spacecraft flight software using configurable, off-the-shelf software components. Building on our industry-leading GenerationOne model-based technology, our FSDK allows the rapid development of reliable flight software by combining bespoke, or tailored, software components with library components which have been previously validated, many in flight. The GenerationOne FSDK comprises three major parts:

    rapid and portable developmentThe extensive component library of the GenerationOne FSDK, together with the development tooling, permits the rapid development of mission-specific flight software. By making use of the portability and modularity features of GenerationOne, flight software can be targeted to execute on a desktop workstation, allowing early prototyping, debugging and team development. Similarly, it is trivial to replace subsystem software components with simulations, permitting development and testing even if key hardware is unavailable.

    documentation and tutorialsThe GenerationOne FSDK includes full source code for all flight software and is accompanied by an in-depth User Manual. Also included are a number of tutorials and fully-featured examples, carefully designed to introduce all key FSDK concepts and to allow the rapid development of mission-specific flight software.

    extensive component libraryThe GenerationOne FSDK component library includes a wide range of components covering all mission needs. As with all elements of our FSDK, Components are developed to a strict coding standard based on industry norms for mission-critical software. The FSDK component library includes the following:

    FSDK tooling helps guide engineers through the software development process rapidly, promoting an agile and iterative approach.

    As protocols are kept separate from the functions of the software, the FSDK allows different protocols to be used without impacting software capabilities.

    Additional libraries, including support for Java and Python, allow sophisticate automated test scripts to be developed using the power of the software model.

    Subsystem components for many commercial off-the-shelf products such as electronic power systems, attitude control systems and radiosData handling components for efficiently gathering, pooling, logging and reporting telemetry parameters from the complete systemMonitoring components which perform checks on parameters to validate correct system operationsCommunications components which permit monitoring, control and reporting to and from ground or other systems using a variety of standard protocolsAutomation components to permit the automation of onboard activities such as responding to events and scheduling onboard operations based on relative time, absolute time or spacecraft orbitMission components which manage the spacecraft mode and separation sequence

    The core of the GenerationOne FSDK is the model, which captures the architecture of the software being built in terms of the components being used. The interfaces to all types of components are described in a short XML file together with documentation.These component types can then be instantiated and assembled together to make a fully-functional flight software deployment according to a flexible specification. The tooling uses this specification to generate simple and efficient code, specific to the flight software deployment, which 'glues' the components together and lets them interact. Code generation is also provided to speed up component development and provide templates for component unit testing using the Unity and CMock tools. Using information from the model, additional tooling is able to generate full documentation, for developers or operators, which describes the components and how they can be used. The GenerationOne model can also be exported, allowing it to be used by external applications such as the GenerationOne Mission Control Software.

    Services allow components to interact in standard ways and are at the heart of the GenerationOne component model and framework. The FSDK framework is built around a lightweight service mechanism which links components using the information from the underlying GenerationOne model. Defining component interfaces in terms of services gives many advantages:

    Key functions can be separated from communications protocols allowing much more efficient use onboard and enabling greater software reuseStandard services for important activities, such as working with telemetry parameters, permit operators to work at a higher semantic levelApplying standard services to input/output onboard abstracts components away from the underlying platform and promotes portabilityLocation-independent services allow the easy distribution of flight software across multiple computing platforms without adding operational complexity

    Application Component

    Interface Component

    Network Protocol Handler

    Service Protocol Handler

    Integrated into a rapid and adaptable workflow, our FSDK helps realise more value from missions, from single nano-satellites to large constellations.

    An extensive library of validated componentsA lightweight framework which promotes portability and modularityTooling to support component development, software integration and test

    ••

    brightascension

  • [email protected] | tel + 44 (0) 1382 602041 | fax +44 (0) 1382 602042

    platform and subsystem support

    onboard computersOnboard computer (OBC) platforms currently supported by the GenerationOne FSDK include:

    ÅAC Microtec Sirius OBCClyde Space OBCGomSpace Nanomind A712DPumpkin BeagleBone Black OBCTexas Instruments MSP430-based platformsVorago VA10820 Radiation Hard OBCXiphos Q7 (Xilinx Zynq)Many other Linux-based OBCs including Raspberry Pi

    The GenerationOne FSDK supports a wide, and growing, range of hardware and software platforms. Through our unique, efficient approach to platform abstraction, we can also support a range of operating systems from vanilla Linux to hard real-time environments such as RTEMS. Library components allow access to system peripherals and subsystems in a regular way, permitting a high degree of modularity. Where the underlying platform provides fully featured drivers, such as in a Linux environment, driver components are simply responsible for making these accessible to the rest of the system. In other environments, especially when running on bare metal, drivers are written as components making them fully portable.

    operating systemsThe novel approach to platform abstraction permits support for operating systems to be treated separately from the underlying computer platform. Operating systems and environments currently supported by the GenerationOne FSDK include:

    LinuxFreeRTOSRTEMSBare metal enviroment using the built-in cooperative multi-tasking capabilities of the framework

    ••

    off-the-shelf subsystems communications protocolsThe range of subsystems supported by the GenerationOne FSDK is extensive, and growing all the time. We are always interested to support additional subsystems, particularly if they are widely used, so contact us if your chosensubsystem is not listed here. Our current support includes:

    ÅAC Microtec Sirius TCMArduCAM Mini 5MP PlusAstrodev radios including the Helium and LithiumAll Clyde Space subsystemsCPUT/F'SATI radios including UHF/VHF and S-bandGomSpace subsystems, including the Nanomind OBCISIS subsystems, including the UHF/VHF transceiverMaryland Aerospace subsystems, including the MAI-400NearSpace Launch Eyestar Duplex ModemNovatel OEM6 GPSOrbitonics C3D ImagerPumpkin subsystems, including power systemsQB50/CubeSpace ADCSQinetiQ Q20 HD GPSA range of miniaturised sensors and ADCsModems compatible with the ITU-T Rec. V.250 standard

    The unique, modular approach to communications in GenerationOne means that the FSDK can permit support for a wide range of communications protocols. The current library has support for a number of standard protocols with many others currently in development.

    ECSS Packet Utilisation Standard (PUS)CCSDS Packet ProtocolCCSDS File Delivery ProtocolCCSDS Telemetry and Telecommand framing, synchronisation and coding CCSDS TM Space Data Link ProtocolCCSDS TM Synchronization and Channel CodingSHA-1 HMAC authentication

    The following protocols are in development and will be available in the near future:

    Generic KISS supportCubeSat Space Protocol (CSP)CCSDS TC Data Link ProtocolsLink-level encryption

    ••

    licensing and supportGenerationOne FSDK licensing is on a per-spacecraft basis, which allows you to use as many concurrent instances of the software as you need during the development and operation of a single spacecraft. This covers flight hardware, engineering models, developer PCs and functional simulators. To give you the most flexibility we provide full source for onboard software elements. Other licensing options, including volume discounts, are available.Each licence includes a full year of support and maintenance including training to get you started, delivered either remotely or at one of our office sites. All additions and improvements we make to GenerationOne FSDK will be made available to customers during this period. Extended support options, including additional training, are available.

    brightascension