The Software Bus Network (SBN) is a plug-in component developed for the Core Flight System (cFS) framework that extends the core Flight Executive (cFE) Software Bus (SB) publish/subscribe messaging service across partitions, processes, processors, and networks. This extension is done transparently for cFS software components, such that cFS software components remain unchanged and are unaware of source or destination(s) location.
Borrowing concepts developed for the Internet, SBN implements a peer-to-peer networking pattern without a bus master, making it inherently fault tolerant and robust against network and system failures. Using a multi-round heartbeat exchange, SBN rapidly detects network failures and reestablishes connections when a redundant node is brought on line. The software has three primary functions: (1) establish and maintain a connection over the available process/processor interfaces to each peer, (2) distribute and maintain a database of subscription messages for each of the peers, and (3) distribute messages to peers that subscribed to that message identifier. Based on NASA requirements for software reliability and performance, SBN implements those three functions in a relatively simple and robust fault-tolerant design using less than 12 KB of code space. SBN has network adapters for ARINC 653 partitions, serial inter faces, UDP/IP, and SpaceWire, with the ARINC 653 implementation having been recently certified for NASA safety critical Class A use by Johnson Space Center.
This technology is soon to be NASA open source and is intended for use on any government and/or commercial flight software mission/project utilizing the open source, cFS framework. And as spacecraft systems move towards multiprocessor, partitioned, and distributed systems, SBN becomes a key enabling software technology in support of those next-generation platforms.
This work was originally done by Jonathan Wilmot of Goddard Space Flight Center and Robert McGraw of Space Systems Integration, LLC, with additional network adapters and extensions by Elizabeth Timmons and Jaclyn Beck of Goddard Space Flight Center. GSC-16917-1