Skip to content

Core Flight System

The core Flight System is a flight software product line developed by the Flight Software Systems Branch at NASA GSFC. It replaces per-mission software with a layered framework plus a set of pluggable applications, and it has flown on spacecraft from a 6U CubeSat to Class A observatories [1][2]. Where the Mars Exploration Rover software is one team’s 93 modules and 300,000 source lines built for one vehicle [6], cFS is built so that a component can be reused with no source change at all, using compile-time configuration parameters for every point of variation [7].

Why a framework, and what the alternatives were

Section titled “Why a framework, and what the alternatives were”

Flight software has to run a fixed set of housekeeping functions (commanding, telemetry, time, events, tables, fault response) on radiation-tolerant processors with small memories, for years, with no physical access. A NASA multi-center study found flight software size growing steadily with launch year and attributed much of the growth to complexity in requirements, architecture and verification, not to the number of functions [18]. An analysis of 199 critical post-launch anomaly reports from seven flown JPL spacecraft found 41 percent triggered by data access or delivery problems, and about a third involving rare events that then needed new fault protection [19]. Those two results are the argument for a controlled, reused core: the same low level services are rewritten and re-verified on every project, and the defects sit at their interfaces.

The flown alternatives fall into four families, and cFS is one of them.

  • Per-mission monolithic flight software with an in-house core. The Mars Exploration Rover software was one team’s 93 modules, 97 VxWorks tasks and roughly 300,000 source lines, built over 35 months for one vehicle, with point to point queues and no broadcast [6]. Mars Science Laboratory grew to 139 modules and about 1.15 million source lines, 68.6 percent auto-generated [17]. Reuse is by heritage and adaptation, and the counting rule behind the source line figures is not stated [17]. An MSL flight software engineer describes an avionics layer exporting atomic functions beneath an application layer exporting activities, with redundancy management hiding dual-string swaps from application components [29].
  • A published product line with a controlled core. cFS is the NASA Goddard product line [1][7]. F Prime from JPL is the other NASA family, described below [11].
  • Goal and state based autonomy architectures. The JPL Mission Data System was specified as a state and goal based architecture in contrast to timed sequences, and at the time of the paper only goal elaboration, scheduling and failure detection were claimed demonstrated, on a simplified one-dimensional entry prototype [24]. The Remote Agent on Deep Space 1 shaped the flight software architecture of its day, by comparison with a time-tagged sequencer [25]. These sit above the framework layer rather than replacing it.
  • Robotic software frameworks. CLARAty defined a Functional Layer and a Decision Layer for reuse across the Rocky, K9 and FIDO rover platforms [26]. ROS has a large ground-robot community, but the measurements in the principal reference volume come from commodity PCs, with no real-time or fault-protection guarantee for flight [23]. A 2025 bridge between the Basilisk astrodynamics simulator and ROS 2 was run on planar air-bearing free-flyers on a desktop CPU, not flight-class hardware [31].

Two older foundations sit under all of these. Rate-monotonic and earliest-deadline-first schedulability conditions for periodic hard-real-time tasks on one processor, derived in 1973, assume independent tasks, zero preemption cost and no blocking, and remain the baseline against which task priority assignment is checked [21]. The SIFT computer put fault masking and reconfiguration into ordinary software voting between independent processors, with reliability numbers that rest on assumed fault rates, not measured ones [20]. cFS inherits the software-implemented, table-driven approach to health and fault response in that lineage; the cited reports do not say so directly, so that link is an inference.

Four layers [1][2]:

LayerContentsInterface
1Real-time operating system and board support packageOS Abstraction Layer and Platform Support Package APIs
2core Flight Executive (cFE)cFE API
3Applications and shared librariescFE API
ToolsGround system, build system, unit test framework, timing analyzer

The cFE provides five services that the heritage analysis found common to most flight software projects: a Software Bus, Time Services, Event Services, Table Services and Executive Services [3]. The Software Bus is a publish and subscribe inter-application messaging system built on CCSDS packet formats, supporting single and multi-processor configurations. Table Services manage binary files of application-defined parameters that the ground can load and dump at runtime [3]. Event Services carry time-stamped parameterized text messages in four severity classes, filterable per message and per class [1]. Executive Services supply the runtime environment, and because cFE resources are tracked per application, an individual application can be started, stopped or loaded while the vehicle is flying. The framework is developed and maintained to the NASA Class B software process, and the open source release includes all Class B artifacts alongside the source.

The community applications carried by most missions are Checksum, Data Storage, File Manager, Housekeeping, Limit Checker, Memory Dwell, Memory Manager, Scheduler, Stored Command, Health and Safety, CFDP file transfer and a Software Bus network application [3]. Which application object files load at startup is decided by a script file read from a file system in EEPROM, so the load list is data rather than a link map [3].

The eight architecture goals stated for the framework are reducing time to deploy high quality flight software, reducing schedule and cost uncertainty, facilitating formalized reuse, enabling collaboration across organizations, simplifying on-orbit software maintenance over mission lifetimes exceeding ten years, scaling from small instruments to Hubble-class observatories, providing a platform for prototyping, and creating common standards and tools across the center [3]. Features are deprecated only on major versions, with tooling that warns applications using a deprecated feature.

Ported operating systems in the 6.4.2 baseline were POSIX Linux for development, RTEMS, VxWorks, VxWorks SMP and FreeRTOS, each with its own platform support package [1]. The reference distribution ships PROM boot flight software and board support package beneath that layer, and the framework itself has no boot responsibility [3].

Three trades made early fixed the shape of the layering: a custom publish and subscribe software bus over CCSDS packets rather than CCSDS AMS or a COTS message service such as NDDS, a vendor file system used uniformly for code, tables and the data recorder, and support for both dynamic and static application linking so a CubeSat with 800 KB of flash and 2 MB of RAM could still fit the framework [7]. The sizing target explains why the layering stayed thin enough to reach a 6U CubeSat at one end and Hubble-class observatories at the other.

The Global Precipitation Measurement observatory, launched 27 February 2014, is a NASA Class B mission with articulating solar arrays, a gimbaled high gain antenna and nearly fully redundant hardware under flight software control [1]. It flies a RAD750 under VxWorks with 4 MB of EEPROM in two duplicate 2 MB banks and 24 MB of SRAM.

ComponentLogical lines of code, non-tableConfiguration parametersEEPROM bytes
cFE12,930139 across five services341,561
CFDP8,5593385,812
Checksum2,8731535,242
Data Storage2,4292740,523
File Manager1,8532216,272
Health and Safety1,5314515,071
Housekeeping57588,059
Limit Checker2,0741331,026
Memory Dwell1,03588,617
Memory Manager1,9582515,840
Scheduler1,1641935,809
Stored Command, 124 command sequences2,31426104,960

Source: [1], Table 3.

EEPROM is the most constrained resource on GPM and the cFS occupies about 35 percent of one 2 MB bank; the cFE image and application table images in that column are uncompressed while the application code images are compressed [1]. By lines of code the cFS accounts for 42 percent of the GPM flight software, excluding the VxWorks operating system.

The development cost avoided was estimated with SEER-SEM tuned for NASA missions: building the complete cFS suite from scratch for a Class B mission of GPM’s complexity is 49 person years [1]. Adopting it still costs tuning configuration parameters and adjusting task priorities, put at about 2 person years for a mission of that complexity and class [1].

GPM’s RAD750 and 24 MB of SRAM are generous next to a CubeSat processor, and the port to Dellingr, a 6U CubeSat deployed from the ISS in November 2017, shows what cFS costs when that margin is gone: its Gomspace Nanomind A712d carries a 40 MHz ARM7 and 2 MB of SRAM, not enough to hold the cFE and its applications in RAM at once, so the framework had to execute out of flash, only selected mission applications could be loaded dynamically to RAM, and CFDP file transfer and Housekeeping were dropped entirely to make room [8]. The port required a new OS abstraction layer for FreeRTOS 8.x, after which most of cFS ran unchanged, with the vendor firmware supplying the file systems underneath it, and the engineer who did the port judged cFS a poor fit for that processor, succeeding only because he already knew the framework well [8].

MissionLaunchProcessorRTOSRole of cFS
Lunar Reconnaissance Orbiter2009RAD750VxWorkscFE co-developed; cFE API unchanged since
Radiation Belt Storm Probes, JHU APL2012cFE
Morpheus, JSC2013 test flightscFS
GPM2014RAD750VxWorkscFS co-developed
LADEE, Ames2014cFS
Magnetospheric Multiscale2015custom Coldfire command and data handlingRTEMScFS
Dellingr 6U CubeSat2017cFS

Sources: [1] and [2]. As of 2016 the cFE application programming interface had not changed since the Lunar Reconnaissance Orbiter launch in 2009. Missions then in development ranged from NASA JSC Orion backup flight computer to Dellingr, spanning NASA software classes A through D [2]. The framework exists because the earlier Goddard practice of clone-and-own reuse, copying components from previous missions by functional similarity, left the scope of changes uncontrolled, forced a full verification and validation effort on each new mission and kept no single maintained lineage per component [2].

The open source release of February 2015 covered twelve commonly used applications and completed the stack [1]. A NASA-wide configuration control board drawn from Ames, Glenn, Goddard, Johnson, Langley, Marshall and JHU APL then took ownership, and is responsible for keeping all baseline products at NPR 7150.2B Class B [2].

An independent static architecture analysis by the Fraunhofer Center for Experimental Software Engineering, using the SAVE tool on the cFS source, checked the design rules that the reuse claim rests on [5]. Two held: cFE applications depend on the cFE core and not the reverse, and no two applications interact directly rather than through the Software Bus. Two deviations were found: a cyclic dependency from the operating system layer back to the core, avoidable by moving one header, and two applications, Memory Manager and File Manager, that reached past the cFE API to include an OS abstraction header directly. Of the six applications examined, Housekeeping, Memory Dwell, Memory Manager, Checksum, File Manager and Limit Checker, all six use Executive Services to initialize, Event Services to report, and the Software Bus to send and receive; only some use Table, File and Time Services directly, but none of the three can be dropped from a build because the first three services depend on them. The analysis was static only, and the authors listed dynamic dependency extraction, message ordering and timing measurement of software bus bottlenecks as work not yet done.

F Prime is a component and port architecture: active, passive and queued components, a C++ framework with an OS abstraction layer, and XML and SysML models compiled by autocoders into C++ base classes and ground dictionaries [11]. It first flew on ISS RapidScat, with ASTERIA the first CubeSat; Lunar Flashlight, NEA Scout and the Mars Helicopter were in development when the paper was written [11]. The architectural contrast with cFS is that cFS centers on a publish and subscribe bus between independently deployable applications, while F Prime uses statically typed connections resolved at build time [7][9].

The Ingenuity flight software lead gives the reason F Prime was chosen over cFS as portability across bare metal, embedded Linux and ground support equipment with shared code. Ingenuity ran three deployments on three processors, joined across UART by a hub pattern, and about 60 percent of project code was generated by the autocoders with about 20 percent helicopter unique; the metric behind those percentages is not defined [12]. That comparison is a list of properties, not a measured evaluation, and no quantitative cFS versus F Prime footprint comparison exists in the corpus [9][12]. F Prime has been open source under Apache 2.0 since 2017, with internal development from 2013 [14]. Extensions that exist only as prototypes include a delay tolerant networking integration of ION, not tested on flight hardware [15]. A black-box assessment of v3.2 on a Raspberry Pi testbed found no command authentication, no link encryption and recoverable opcode dictionaries, never tested against a flown deployment [13]. No comparable independent security assessment of cFS is held.

The cFS framework itself is classified NPR 7150.2C Class E and ships artifacts supporting Class B in full and a subset for Class A, so a mission treats it as a bought-in component it must still verify [3]. JPL’s separate certification regime covers the coding process, the code and the coders, with a C standard that bans dynamic allocation and recursion and nightly checks by four static analyzers, reported without defect data [27]. Model-based engineering on SMAP used SysML and UML for architecture, requirements traces and test scripts, self-reported before launch [28]. An ARINC 653 partitioned operating system has been proposed to improve reuse and testability of robotic spacecraft software, demonstrated only on a simulated inverted pendulum, so its overhead on a flight processor is unmeasured [22]. VIPER’s flight, ground and simulation software cost was estimated with SEER-SEM cross-checked against COCOMO II over an analogy set of earlier missions [30], the same model family behind the 49 and 2 person year cFS comparison [1]. The ground systems side is addressed by a multi-mission data system built so that one system serves the developer desktop, testbed and flight operations; it was presented before first use [32].

Resource Prospector, the canceled lunar volatiles mission managed at Ames with the rover built at NASA JSC, ran its rover flight software on cFS. The team’s stated reason was reuse: cFE, the Operating System Abstraction Layer and cFE-compliant applications supplied the core spacecraft functions while rover-specific applications were developed against them. The architecture was exercised on the RP15 rover testbed, taken from concept to a rover driving in the Johnson lunar rock yard within one year and operated by a team distributed across Ames, Johnson and Kennedy; the 2015 build 1 delivered hardware interfaces, basic mobility, waypoint driving, odometry and inertial measurement unit localization, basic error checking and camera services [4]. The RP15 vehicle that flight software ran was a 300 kg, four wheel, offset steered and actively suspended rover with a solar-pointing all-wheel steering mode, sized to a 3 to 4 km traverse requirement and carrying a low-computation laser hazard detector; that mobility design is the direct ancestor of VIPER’s [10].

Three costs recur in the published accounts. The framework does not supply flight command ingest or telemetry output applications; the open source release carries only UDP-based laboratory versions, and every mission has had to write its own transport-specific versions, which new users report as the hardest part of deployment [8]. The framework is stated to provide Class B artifacts in full and only a subset of what a Class A mission needs [3]. There is no reusable device plug-in design pattern, so hardware interface applications are written from scratch each time [1]. And the coupling runs both ways: as the number of supported platforms grows, applications become harder to keep portable, and as the number of applications grows, supporting a platform becomes harder [3].

A structured comparison of six CubeSat flight software frameworks against seven selection criteria, run for the VCUB1 6U CubeSat mission, picked cFS as the design baseline chiefly on flight heritage and the configuration control board behind it: of the six, only cFS and one other had actually flown, and cFS’s OpenSatKit was judged the most turnkey of the software development kits compared [9].

Langley’s LANDO project plans a ROS 2 modular autonomy framework for autonomous unloading of lunar landers with a crane and names a bridge to cFS; it is a plan with no test data, no achieved performance and no flight data [16]. Of the cFS rover uses, then, Resource Prospector is a prototype and was not flown, and no surface rover flight of cFS is documented in the held sources.

  • No source holds runtime RAM, CPU utilization, software bus latency or message throughput for cFS. The only footprint is GPM EEPROM image size [1], and the training deck, OpenSatKit paper and architecture briefing carry none [2][3][7].
  • The 49 person year build cost is a parametric model output, and the 2 person year adoption cost has no stated basis [1]. The reuse claim behind the product line is not quantified in the architect’s briefing [7].
  • Reliability claims for cFS rest on assertion: the OpenSatKit paper gives no defect count or uptime figure, and the single in-orbit application replacement on GPM is an anecdote [2].
  • The architecture compliance analysis covered six applications on a 2008 or 2009 baseline, and dynamic dependencies and bus timing were left as future work [5].
  • The Dellingr result is one engineer on one vendor board and gives no numeric footprint [8]. The comparative survey scored footprint as yes or no and did not include F Prime [9].
  • The Resource Prospector report gives no cFS measurements and does not name the rover processor; the vehicle was canceled in 2018 [4][10].

References

  1. McComas, D., Wilmot, J. and Cudmore, A. (2016). The Core Flight System (cFS) Community: Providing Low Cost Solutions for Small Spacecraft . Annual AIAA/USU Conference on Small Satellites. Source
    BibTeX
    @inproceedings{mccomas2016core,
      title = {The Core Flight System (cFS) Community: Providing Low Cost Solutions for Small Spacecraft},
      author = {McComas, David and Wilmot, Jonathan and Cudmore, Alan},
      booktitle = {Annual AIAA/USU Conference on Small Satellites},
      year = {2016},
      url = {https://ntrs.nasa.gov/citations/20160010300},
      abstract = {In February 2015 the NASA Goddard Space Flight Center (GSFC) completed the open source release of the entire Core Flight Software (cFS) suite. After the open source release a multi-NASA center Configuration Control Board (CCB) was established that has managed multiple cFS product releases. The cFS was developed and is being maintained in compliance with the NASA Class B software development process requirements and the open source release includes all Class B artifacts. The cFS is currently running on three operational science spacecraft and is being used on multiple spacecraft and instrument development efforts. While the cFS itself is a viable flight software (FSW) solution, we have discovered that the cFS community is a continuous source of innovation and growth that provides products and tools that serve the entire FSW lifecycle and future mission needs. This paper summarizes the current state of the cFS community, the key FSW technologies being pursued, the development/verification tools and opportunities for the small satellite community to become engaged. The cFS is a proven high quality and cost-effective solution for small satellites with constrained budgets.}
    }
  2. McComas, D. (2018). Increasing flight software reuse with OpenSatKit . IEEE Aerospace Conference. Source
    BibTeX
    @inproceedings{mccomas2018core,
      title = {Increasing flight software reuse with OpenSatKit},
      author = {McComas, David},
      booktitle = {IEEE Aerospace Conference},
      pages = {1--8},
      publisher = {IEEE},
      year = {2018},
      doi = {10.1109/aero.2018.8396631},
      abstract = {In January 2015 the National Aeronautics and Space Administration (NASA) Goddard Space Flight Center (GSFC) released the core Flight System (cFS) as open source under the NASA Open Source Agreement (NOSA) license. The cFS is based on flight software (FSW) developed for 12 spacecraft spanning nearly two decades of effort. The cFS can provide about a third of the FSW functionality for a low-earth orbiting scientific spacecraft. The cFS is a FSW framework that is portable, configurable, and extendable using a product line deployment model. However, the components are maintained separately so the user must configure, integrate, and deploy them as a cohesive functional system. This can be very challenging, especially for organizations with minimal FSW development experience, such as universities, that are building CubeSats. This paper describes the OpenSatKit[2]that was developed to address the cFS deployment challenges and to serve as a cFS training platform for new users. OpenSatKit provides a fully functional out-of-the box software system that includes NASA's cFS, Ball Aerospace's command and control system COSMOS, and a NASA dynamic simulator called 42. The kit is freely available, since all of the components have been released as open source. The kit runs on a Linux platform. It includes eight cFS applications, several kit-specific applications, and built in demos that illustrate how to use key application features. It also includes the software necessary to port the cFS to a Raspberry Pi and instructions for configuring COSMOS to communicate with the target. All of the demos and test scripts can be rerun unchanged with the cFS running on the Raspberry Pi. OpenSatKit can serve two significant architectural roles that will further help the adoption of the cFS and help create a community of users that can share assets. First, the kit is being enhanced to automate the integration of applications with the goal of creating a virtual cFS `App Store'. Second, a platform certification test suite can be developed that would allow users to verify the port of the cFS to a new platform. This paper will describe the current state of these efforts and plans for the future.}
    }
  3. NASA. (2020). Core Flight System (cFS) Training . NASA, NASA/TM-20205000691 Rev 1. Source
    BibTeX
    @techreport{nasa2020core,
      title = {Core Flight System (cFS) Training},
      author = {{NASA}},
      number = {NASA/TM-20205000691 Rev 1},
      institution = {NASA},
      year = {2020},
      url = {https://ntrs.nasa.gov/citations/20205011588}
    }
  4. Andrews, D., Colaprete, A., Quinn, J., Bluethmann, W. and Trimble, J. (2015). Resource Prospector (RP) - Early Prototyping and Development . AIAA SPACE Conference, 20150018395. Source
    BibTeX
    @inproceedings{andrews2015resource,
      title = {Resource Prospector (RP) - Early Prototyping and Development},
      author = {Andrews, Dan and Colaprete, Anthony and Quinn, Jacqueline and Bluethmann, William and Trimble, Jay},
      booktitle = {AIAA SPACE Conference},
      number = {20150018395},
      publisher = {American Institute of Aeronautics and Astronautics},
      institution = {NASA},
      address = {Pasadena, California},
      year = {2015},
      doi = {10.2514/6.2015-4460},
      abstract = {The Resource Prospector (RP) is an In-Situ Resource Utilization (ISRU) technology demonstration mission under study by the NASA Human Exploration and Operations Mission Directorate's (HEOMD) Advanced Exploration Systems (AES) Division. The mission, currently planned to launch in 2020, will demonstrate extraction of oxygen from lunar regolith to validate ISRU capability. The mission will address key Strategic Knowledge Gaps (SKGs) for robotic and human exploration to the Moon, Near Earth Asteroids (NEAs), and ultimately Mars, as well as meet the strategic goals of the Global Exploration Roadmap (GER), offered by the International Space Exploration Coordination Group (ISECG). In this roadmap, the use of local resources is specifically addressed relating to human exploration. RP will provide knowledge to inform the selection of future mission destinations, support the development of exploration systems, and reduce the risk associated with human exploration. Expanding human presence beyond low-Earth orbit to asteroids and Mars will require the maximum possible use of local materials, so-called in-situ resources. The moon presents a unique destination to conduct robotic investigations that advance ISRU capabilities, as well as providing significant exploration and science value. Lunar regolith contains useful resources such as oxygen, water, silicon, and light metals, like aluminum and titanium. Oxygen can be separated from the regolith for life support (breathable air), or used to create rocket propellant (oxidizer). Regolith can be used to protect against radiation exposure, be processed into solar cells, or used to manufacture construction materials such as bricks and glass. RP will characterize the constituents and distribution of water and other volatiles at the poles of the Moon, enabling innovative uses of local resources, in addition to validating ISRU capabilities. This capability, as well as a deeper understanding of regolith, will be valuable in the exploration of near-Earth asteroids (NEAs) and Mars. In order to reduce risk and explore system designs, the RP project is attempting two-fold approaches to development as it looks towards flight. We continue to explore flight planning, requirements, and interfaces definition by using Engineering Test Units (ETUs), looking towards lunar deployment, while also using fiscal year 2015 to develop, build and test an earth-terrestrial prototype rover and payload system. This terrestrial prototype, called "RP15", is built to both inform the system design, and to be a partnership advocacy tool for this unique mission. RP15 must be affordable within the resource and time constraints of fiscal year 2015, while working to the following Needs, Goals, and Objectives provided by HEOMD/AES: 1. Demonstrate rover mobility in a 1g environment 2. The Surface Segment (prototype rover + payload system) shall represent the flight system concept with as much fidelity as affordable (limited by cost and schedule) - Surface Segment shall be the approximate size/dimension/footprint -Surface Segment shall package all the expected devices (instruments, systems, etc.), even if some facets are mocked-up due to time/cost constraints -Overall Surface Segment fidelity negotiable to make achievable 3. Priority should be given to illustrating mission functionality over support functionality, which exists solely to support mission functionality This paper will provide an overview of RP project developments, including the design and build, capturing the development and initial integrated testing of RP15 in relevant environments.}
    }
  5. Ganesan, D., Lindvall, M. and McComas, D. (2009). Analyzing the Core Flight Software (CFS) with SAVE. ntrs.nasa.gov/citations/20090004613
    BibTeX
    @misc{ganesan2009analyzing,
      title = {Analyzing the Core Flight Software (CFS) with SAVE},
      author = {Ganesan, Dharmalingam and Lindvall, Mikael and McComas, David},
      howpublished = {Presentation at the Flight Software Workshop},
      year = {2009},
      url = {https://ntrs.nasa.gov/citations/20090004613},
      abstract = {This viewgraph presentation describes the SAVE tool and it's application to Core Flight Software (CFS). The contents include: 1) Fraunhofer-a short intro; 2) Context of this Collaboration; 3) CFS-Core Flight Software?; 4) The SAVE Tool; 5) Applying SAVE to CFS -A few example analyses; and 6) Goals.}
    }
  6. Reeves, G. E. (2005). An Overview of the Mars Exploration Rovers Flight Software . IEEE International Conference on Systems, Man and Cybernetics. Source
    BibTeX
    @inproceedings{reeves2005overview,
      title = {An Overview of the Mars Exploration Rovers Flight Software},
      author = {Reeves, Glenn E.},
      booktitle = {IEEE International Conference on Systems, Man and Cybernetics},
      volume = {1},
      pages = {1-7},
      address = {Waikoloa, Hawaii},
      year = {2005},
      doi = {10.1109/icsmc.2005.1571113},
      abstract = {The Mars exploration rovers (MER) flight software (FSW) is possibly the most complex software implementation to be deployed on another planet. The requirements dictated a software system that addressed four distinct mission phases (cruise, landing, egress, and surface) and the mission demanded a system with significant autonomy. The structure of the MER flight software reflects its object-oriented beginnings and the overall function reflects the requirements of the MER mission and spacecraft. This paper provides an overview of the function and structure of the MER flight software. The MER mission and spacecraft are briefly discussed to provide context for the flight software decomposition and the discussion of the software execution model.}
    }
  7. Mccomas, D. (2019). The Core Flight System (cFS) Experiences in Opening an Architecture, 20180007319. ntrs.nasa.gov/citations/20180007319
    BibTeX
    @misc{mccomas2019core,
      title = {The Core Flight System (cFS) Experiences in Opening an Architecture},
      author = {Mccomas, David},
      howpublished = {Presentation at the Goddard Space Flight Center},
      number = {20180007319},
      year = {2019},
      url = {https://ntrs.nasa.gov/citations/20180007319},
      abstract = {This presentation presents a software architecture model that contains three perspectives: User, Business, and System. This model is used to evaluate the evolution of the cFS from a NASA/Goddard in-house product line to an open source open architecture used by a world wide community.
    
    }
    }
  8. Cudmore, A. (2017). Porting the Core Flight System to the Dellingr CubeSat. ntrs.nasa.gov/citations/20170011566
    BibTeX
    @misc{cudmore2017porting,
      title = {Porting the {Core Flight System} to the {Dellingr} {CubeSat}},
      author = {Cudmore, Alan},
      howpublished = {Presentation at the Flight Software Workshop},
      year = {2017},
      url = {https://ntrs.nasa.gov/citations/20170011566},
      abstract = {Dellingr is a 6U Cubesat developed by NASA Goddard Space Flight Center. It was delivered to the International Space Station in August 2017, and is scheduled to be deployed in November 2017. Compared to a typical NASA satellite, the Dellingr Cubesat had an extremely low budget and short schedule. Although the Dellingr Cubesat has minimal hardware resources, the cFS was ultimately chosen for the flight software. Using the cFS on the Dellingr Cubesat presented a few challenges, but also offered opportunities to help speed up development and verify the ACS flight software. This presentation will cover the lessons learned in porting the cFS to the Dellingr Cubesat, including working with the limited hardware resources, porting the cFS to FreeRTOS, and overcoming limitations related to data storage and file transfer. This presentation will also cover how hardware abstraction was used to run the flight software on multiple platforms and interface with the 42 dynamic simulator.}
    }
  9. José Franzim Miranda, D., Ferreira, M., Kucinskis, F. and McComas, D. (2019). A Comparative Survey on Flight Software Frameworks for ‘New Space’ Nanosatellite Missions . Journal of Aerospace Technology and Management. Source
    BibTeX
    @article{miranda2019comparative,
      title = {A Comparative Survey on Flight Software Frameworks for ‘New Space’ Nanosatellite Missions},
      author = {José Franzim Miranda, Danilo and Ferreira, Maurício and Kucinskis, Fabricio and McComas, David},
      journal = {Journal of Aerospace Technology and Management},
      publisher = {FapUNIFESP (SciELO)},
      year = {2019},
      doi = {10.5028/jatm.v11.1081},
      abstract = {Nanosatellite missions are becoming increasingly popular nowadays, especially because of their reduced cost. Therefore, many organizations are entering the space sector due to the paradigm shift caused by nanosatellites. Despite the reduced size of these spacecrafts, their Flight Software (FSW) complexity is not proportional to the satellite volume, thus creating a great barrier for the entrance of new players on the nanosatellite market. On the other side, there are some available frameworks that can provide mature FSW design approaches, implying in considerable reduction in software project timeframe and cost. This paper presents a comparative survey between six relevant flight software frameworks, compared according to commonly required ‘New Space’ criteria, and finally points out the most suitable one to the VCUB1 reference nanosatellite mission.}
    }
  10. Fong, T., Bluethmann, W., Allan, M., Askew, S., Cannon, H., Deans, M., Fraser-Chanpong, N. and Markee, M. (2015). Development of the Resource Prospector Planetary Rover . Moon - : A New Era of Coordinated Human and Robotic Exploration. Source
    BibTeX
    @inproceedings{fong2015development,
      title = {Development of the Resource Prospector Planetary Rover},
      author = {Fong, Terrence and Bluethmann, William and Allan, Mark and Askew, Scott and Cannon, Howard and Deans, Matthew and Fraser-Chanpong, Nathan and Markee, Mason},
      booktitle = {Moon - : A New Era of Coordinated Human and Robotic Exploration},
      year = {2015},
      url = {https://ntrs.nasa.gov/citations/20190000455},
      abstract = {The Resource Prospector (RP) is an In-­‐Situ Resource Utilization (ISRU) lunar rover mission under study by NASA. RP is planned to launch in 2020 to prospect for subsurface volatiles and to extract oxygen from lunar regolith. The mission will address several of NASA's "Strategic Knowledge Gaps" for lunar exploration. The mission will also address the Global Exploration Roadmap's strategic goal of using local resources for human exploration. The distribution of lunar subsurface volatiles drives the mission requirement for mobility. The spatial distribution is hypothesized to be governed by impact cratering with the top 0.5 m being patchy at scales of 100 m. The mixing time scale increases with depth (less frequent larger impacts). Consequently, increased mobility reduces the depth requirement for sampling. The target RP traverse will extend 1 km radially from the landing site to sample craters of varying sizes. Sampling craters with different ages will reveal possible volatile emplacement history. In 1 Ga, approximately 60-­70 craters of 10 m diameter form per km2. Thus, the rover will need to sample at least ten of these craters, which may require a total traverse path length of 2-­‐3 km. During 2014-­2015, we developed an initial prototype rover for RP. The current design is a solar powered, four-­wheeled vehicle, with hub motor drive, offset four wheel steering, and active suspension. Active suspension provides capabilities including changing vehicle ride height, traversing comparatively large obstacles, and controlling load on the wheels. All-­wheel steering enables the vehicle to point arbitrarily while roving, e.g., to keep the solar array pointed at the sun while in motion. The offset steering combined with active suspension improves driving in soft soil. The rover's on-­board software utilizes NASA's Core Flight Software, which is a reusable flight software environment. During 2015, we completed the initial rover software build, which provides low-­level hardware interfaces, basic mobility control, waypoint driving, odometry, basic error checking, and camera services. Development of the prototype rover has enabled maturation of many of the subsystems to TRL 5. During the next year, we will conduct integrated testing of concepts of operation, navigation, and remote driving tools. In addition, we will perform environmental tests including radiation (avionics), thermal and thermal/vacuum (mechanisms), and gravity offload (mobility).}
    }
  11. Bocchino, R. L. J., Canham, T. K., Watney, G. J., Reder, L. J. and Levison, J. W. (2018). F Prime: An Open-Source Framework for Small-Scale Flight Software Systems . JPL Open Repository. Source
    BibTeX
    @inproceedings{bocchino2018prime,
      title = {F Prime: An Open-Source Framework for Small-Scale Flight Software Systems},
      author = {Bocchino, Robert L. Jr. and Canham, Timothy K. and Watney, Garth J. and Reder, Leonard J. and Levison, Jeffrey W.},
      booktitle = {JPL Open Repository},
      year = {2018},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/48425}
    }
  12. Canham, T. K. (2022). The Mars Ingenuity Helicopter - A Victory for Open-Source Software . IEEE Aerospace Conference. Source
    BibTeX
    @inproceedings{canham2022mars,
      title = {The Mars Ingenuity Helicopter - A Victory for Open-Source Software},
      author = {Canham, Timothy K},
      booktitle = {IEEE Aerospace Conference},
      pages = {01-11},
      publisher = {IEEE},
      year = {2022},
      doi = {10.1109/aero53065.2022.9843438}
    }
  13. Boehm, M., Doran, S. and Viswanathan, A. (2024). Adversarial Assessment of the F Prime Flight Software Framework: Findings and Recommendations . JPL Open Repository. Source
    BibTeX
    @inproceedings{boehm2024adversarial,
      title = {Adversarial Assessment of the F Prime Flight Software Framework: Findings and Recommendations},
      author = {Boehm, Michael and Doran, Steven and Viswanathan, Arun},
      booktitle = {JPL Open Repository},
      year = {2024},
      doi = {10.48577/jpl.vjvamt},
      abstract = {F Prime (F') is a multi-platform, open-source flight software (FSW) framework developed by the Jet Propulsion Laboratory (JPL). F' provides a highly capable, component-driven framework tailored towards, but not limited to, small-scale systems like CubeSats, SmallSats, and instruments. We conducted an adversarial assessment of F' aimed at evaluating its security vulnerabilities. This preliminary assessment of F' entailed a multi-stage simulation of a malicious actor's activities, including open-source reconnaissance, passive and active reconnaissance, and exploitation. In this paper, we present our methodology and discuss the preliminary findings of this assessment, which highlighted several areas where F' could be enhanced. These areas include the implementation of encryption for uplink and downlink communication, command authentication, the establishment of community standard cybersecurity practices, remediation of information leakage, and development of an opcode randomizer to provide secure defaults.We expect this preliminary work to inspire further detailed security assessments, and further the design and development of more secure and resilient flight software architectures.}
    }
  14. Starch, M. (2021). Leveraging Open-Source Development to Enhance the F Prime Flight Software Framework. dataverse.jpl.nasa.gov/dataset.xhtml
    BibTeX
    @misc{starch2021leveraging,
      title = {Leveraging Open-Source Development to Enhance the F Prime Flight Software Framework},
      author = {Starch, Michael},
      howpublished = {Presentation at the JPL Open Repository},
      year = {2021},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/54399}
    }
  15. Rosemurgy, P., Gao, J., DeBaun, S., Starch, M., Levison, J. and Castano, R. (2024). Enabling DTN in Spaceflight Systems: Integration of ION with the F Prime Flight Software Framework . IEEE Aerospace Conference. Source
    BibTeX
    @inproceedings{rosemurgy2024enabling,
      title = {Enabling DTN in Spaceflight Systems: Integration of ION with the F Prime Flight Software Framework},
      author = {Rosemurgy, Paul and Gao, Jay and DeBaun, Sky and Starch, Michael and Levison, Jeffrey and Castano, Rebecca},
      booktitle = {IEEE Aerospace Conference},
      publisher = {JPL Open Repository},
      year = {2024},
      doi = {10.48577/jpl.idifr0}
    }
  16. Cline, J. E., Vaughan, M., Waltz, W. and Wong, I. (2022). LANDO: Developing Autonomous Surface Operations for Planetary Surfaces . AIAA SCITECH Forum. Source
    BibTeX
    @inproceedings{cline2022lando,
      title = {LANDO: Developing Autonomous Surface Operations for Planetary Surfaces},
      author = {Cline, Julia E and Vaughan, Matthew and Waltz, Walter and Wong, Iok},
      booktitle = {AIAA SCITECH Forum},
      year = {2022},
      doi = {10.2514/6.2022-0625},
      abstract = {The Lightweight Surface Manipulation System (LSMS) AutoNomy capabilities Development for surface Operations and construction (LANDO) project is an Early Career Initiative (ECI) selected for funding by the Space Technology Mission Directorate (STMD) beginning in fiscal year 2022. Over the two-year project duration, the LANDO project will deliver a general-purpose autonomy framework applicable to serial and tension-actuated manipulation agents, that has been validated using an existing prototype of the LSMS-L35 (35-kg wrist lift capacity on the lunar surface, sized for a Commercial Lunar Payload Services (CLPS) mission).  Specific to the LANDO project, the autonomous LSMS-L35 will be used to demonstrate autonomous payload handling capabilities for Lunar and other planetary surfaces, directly addressing STMD capability gaps in autonomous surface construction (ASC) operations, advanced robotics and spacecraft autonomy technologies, and technologies supporting emerging space industries including the On-orbit Servicing, Assembly and Manufacturing (OSAM) National Initiative.  In this paper, an overview of the LANDO ECI project is presented.}
    }
  17. Oh, J. M. C., Trettel, I. A., Fifield, M. G. and Scandore, S. F. (2023). Mars Project Software Systems Engineering Improvements . IEEE Aerospace Conference. Source
    BibTeX
    @inproceedings{oh2023mars,
      title = {Mars Project Software Systems Engineering Improvements},
      author = {Oh, Jane M. C. and Trettel, Ian A. and Fifield, Michael G. and Scandore, Steve F.},
      booktitle = {IEEE Aerospace Conference},
      publisher = {JPL Open Repository},
      year = {2023},
      doi = {10.48577/jpl.2on0q6}
    }
  18. Dvorak, D. (2009). NASA Study on Flight Software Complexity . AIAA Infotech@Aerospace Conference. Source
    BibTeX
    @inproceedings{dvorak2009nasa,
      title = {NASA Study on Flight Software Complexity},
      author = {Dvorak, Daniel},
      booktitle = {AIAA Infotech@Aerospace Conference},
      year = {2009},
      doi = {10.2514/6.2009-1882},
      abstract = {In 2007 the NASA Office of Chief Engineer commissioned a multi-center study to bring forth technical and managerial strategies to address risks from growth in size and complexity of flight software in NASA’s space missions. The motivation for the study grew from problems attributed to flight software in a variety of missions—in both pre-launch and post-launch activities—and concerns that such problems were growing with the expanding role of flight software. The study was tasked to examine the growth in flight software size and complexity, recommend ways to reduce and better manage complexity, and identify methods of testing complex logic. This report examines complexity throughout the engineering lifecycle—from requirements definition through design, development, verification, and operations—and presents sixteen findings and associated recommendations.}
    }
  19. Lutz, R. R. and Mikulski, I. C. (2003). Patterns of Software Defect Data on Spacecraft . NASA Office of Safety and Mission Assurance, Jet Propulsion Laboratory. Source
    BibTeX
    @techreport{lutz2003patterns,
      title = {Patterns of Software Defect Data on Spacecraft},
      author = {Lutz, Robyn R. and Mikulski, Ines Carmen},
      institution = {NASA Office of Safety and Mission Assurance, Jet Propulsion Laboratory},
      year = {2003},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/7132}
    }
  20. Goldberg, J., Green, M. W., Kautz, W. H., Levitt, K. N., Melliar-Smith, P. M., Schwartz, R. L. and Weinstock, C. B. (1984). Development and Analysis of the Software Implemented Fault-Tolerance (SIFT) Computer . SRI International for NASA Langley Research Center, NASA CR-172146. Source
    BibTeX
    @techreport{goldberg1984development,
      title = {Development and Analysis of the Software Implemented Fault-Tolerance (SIFT) Computer},
      author = {Goldberg, Jack and Green, Milton W. and Kautz, William H. and Levitt, Karl N. and Melliar-Smith, P. Michael and Schwartz, Richard L. and Weinstock, Charles B.},
      number = {NASA CR-172146},
      institution = {SRI International for NASA Langley Research Center},
      year = {1984},
      url = {https://ntrs.nasa.gov/citations/19840010885},
      abstract = {SIFT (Software Implemented Fault Tolerance) is an experimental, fault-tolerant computer system designed to meet the extreme reliability requirements for safety-critical functions in advanced aircraft. Errors are masked by performing a majority voting operation over the results of identical computations, and faulty processors are removed from service by reassigning computations to the nonfaulty processors. This scheme has been implemented in a special architecture using a set of standard Bendix BDX930 processors, augmented by a special asynchronous-broadcast communication interface that provides direct, processor to processor communication among all processors. Fault isolation is accomplished in hardware; all other fault-tolerance functions, together with scheduling and synchronization are implemented exclusively by executive system software. The system reliability is predicted by a Markov model. Mathematical consistency of the system software with respect to the reliability model has been partially verified, using recently developed tools for machine-aided proof of program correctness.}
    }
  21. Liu, C. L. and Layland, J. W. (1973). Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment . Journal of the ACM, 1. Source
    BibTeX
    @article{liu1973scheduling,
      title = {Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment},
      author = {Liu, C. L. and Layland, James W.},
      journal = {Journal of the ACM},
      volume = {20},
      number = {1},
      pages = {46--61},
      year = {1973},
      doi = {10.1145/321738.321743},
      abstract = {The problem of multiprogram scheduling on a single processor is studied from the viewpoint of the characteristics peculiar to the program functions that need guaranteed service. It is shown that an optimum fixed priority scheduler possesses an upper bound to processor utilization which may be as low as 70 percent for large task sets. It is also shown that full processor utilization can be achieved by dynamically assigning priorities on the basis of their current deadlines. A combination of these two scheduling techniques is also discussed.}
    }
  22. Horvath, G., Chung, S. H. and Cilloniz-Bicchi, F. (2011). Safety-critical partitioned software architecture : a partitioned software architecture for robotic . Infotech@Aerospace. ntrs.nasa.gov/citations/20120007451
    BibTeX
    @misc{horvath2011safety,
      title = {Safety-critical partitioned software architecture : a partitioned software architecture for robotic},
      author = {Horvath, Greg and Chung, Seung H. and Cilloniz-Bicchi, Ferner},
      journal = {Infotech@Aerospace},
      year = {2011},
      url = {https://ntrs.nasa.gov/citations/20120007451},
      abstract = {The flight software on virtually every mission currently managed by JPL has several major flaws that make it vulnerable to potentially fatal software defects. Many of these problems can be addressed by recently developed partitioned operating systems (OS). JPL has avoided adopting a partitioned operating system on its flight missions, primarily because doing so would require significant changes in flight software design, and the risks associated with changes of that magnitude cannot be accepted by an active flight project. The choice of a partitioned OS can have a dramatic effect on the overall system and software architecture, allowing for realization of benefits far beyond the concerns typically associated with the choice of OS. Specifically, we believe that a partitioned operating system, when coupled with an appropriate architecture, can provide a strong infrastructure for developing systems for which reusability, modifiability, testability, and reliability are essential qualities. By adopting a partitioned OS, projects can gain benefits throughout the entire development lifecycle, from requirements and design, all the way to implementation, testing, and operations.}
    }
  23. Koubâa, A. (2016). Robot Operating System (ROS) . Studies in Computational Intelligence. Source
    BibTeX
    @book{koubaa2016robot,
      title = {Robot Operating System (ROS)},
      author = {Koubâa, Anis},
      booktitle = {Studies in Computational Intelligence},
      year = {2016},
      doi = {10.1007/978-3-319-26054-9}
    }
  24. Krasner, S. (2001). Mission data system and the future of autonomy at Jet Propulsion Laboratory. dataverse.jpl.nasa.gov/dataset.xhtml
    BibTeX
    @misc{krasner2001mission,
      title = {Mission data system and the future of autonomy at Jet Propulsion Laboratory},
      author = {Krasner, S.},
      year = {2001},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/13149}
    }
  25. Gamble, E. B. J. (1998). The Impact of Autonomy Technology on Spacecraft Software Architecture. ntrs.nasa.gov/citations/20060041497
    BibTeX
    @misc{gamble1998impact,
      title = {The Impact of Autonomy Technology on Spacecraft Software Architecture},
      author = {Gamble, E. B. Jr.},
      year = {1998},
      url = {https://ntrs.nasa.gov/citations/20060041497},
      abstract = {Autonomy technology for high-level, closed-loop control of spacecraft offers considerable benefits to space-flight projects. Those benefits can enable whole new classes of missions;  however, they are not without cost.}
    }
  26. Nesnas, I. A., Wright, A., Bajracharya, M., Simmons, R., Estlin, T. and Kim, W. S. (2003). CLARAty: an architecture for reusable robotic software . Unmanned Ground Vehicle Technology V. Source
    BibTeX
    @inproceedings{nesnas2003bclaraty,
      title = {CLARAty: an architecture for reusable robotic software},
      author = {Nesnas, I. A. and Wright, A. and Bajracharya, M. and Simmons, R. and Estlin, T. and Kim, W. S.},
      booktitle = {Unmanned Ground Vehicle Technology V},
      series = {SPIE Proceedings},
      volume = {5083},
      pages = {253},
      year = {2003},
      doi = {10.1117/12.497223},
      abstract = {In this article, we will present an overview of the Coupled Layered Architecture for Robotic Autonomy. CLARAty develops a framework for generic and reusable robotic components that can be adapted to a number of heterogeneous robot platforms. It also provides a framework that will simplify the integration of new technologies and enable the comparison of various elements. CLARAty consists of two distinct layers: a Functional Layer and a Decision Layer. The Functional Layer defines the various abstractions of the system and adapts the abstract components to real or simulated devices. It provides a framework and the algorithms for low- and mid-level autonomy. The Decision Layer provides the system's high-level autonomy, which reasons about global resources and mission constraints. The Decision Layer accesses information from the Functional Layer at multiple levels of granularity. In this article, we will also present some of the challenges in developing interoperable software for various rover platforms. Examples will include challenges from the locomotion and manipulation domains}
    }
  27. Havelund, K. and Holzmann, G. J. (2011). Software certification - coding, code, and coders . JPL Open Repository. Source
    BibTeX
    @inproceedings{havelund2011software,
      title = {Software certification - coding, code, and coders},
      author = {Havelund, Klaus and Holzmann, Gerard J.},
      booktitle = {JPL Open Repository},
      year = {2011},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/43875}
    }
  28. Murray, A., Jones, C. G., Reder, L. and Cheng, S.-W. (2011). The use of modeling for flight software engineering on SMAP . Aerospace Conference. Source
    BibTeX
    @inproceedings{murray2011use,
      title = {The use of modeling for flight software engineering on SMAP},
      author = {Murray, Alexander and Jones, Chris G. and Reder, Leonard and Cheng, Shang-Wen},
      booktitle = {Aerospace Conference},
      pages = {1-19},
      year = {2011},
      doi = {10.1109/aero.2011.5747540},
      abstract = {The Soil Moisture Active Passive (SMAP) mission proposes to deploy an Earth-orbiting satellite with the goal of obtaining global maps of soil moisture content at regular intervals. Launch is currently planned in 2014. The spacecraft bus would be built at the Jet Propulsion Laboratory (JPL), incorporating both new avionics as well as hardware and software heritage from other JPL projects. [4] provides a comprehensive overview of the proposed mission.}
    }
  29. Weiss, K. A. (2012). The Mars Science Laboratory : flight software - a platform for science and mobility. dataverse.jpl.nasa.gov/dataset.xhtml
    BibTeX
    @misc{weiss2012mars,
      title = {The Mars Science Laboratory : flight software - a platform for science and mobility},
      author = {Weiss, Kathryn Anne},
      howpublished = {Presentation at the IEEE Aerospace Conference},
      year = {2012},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/43210}
    }
  30. Stukes, S. A., Hihn, J., Allan, M., Bajjalieh, G., Deans, M., Fong, T. and Utz, H. (2021). An Innovative Approach to Modeling VIPER Rover Software Life Cycle Cost . IEEE Aerospace Conference. Source
    BibTeX
    @inproceedings{stukes2021innovative,
      title = {An Innovative Approach to Modeling VIPER Rover Software Life Cycle Cost},
      author = {Stukes, Sherry A and Hihn, Jairus and Allan, Mark and Bajjalieh, Georgia and Deans, Matthew and Fong, Terry and Utz, Hans},
      booktitle = {IEEE Aerospace Conference},
      publisher = {IEEE},
      year = {2021},
      doi = {10.1109/aero50100.2021.9438347},
      abstract = {NASA's “Volatiles Investigating Polar Exploration Rover” (VIPER) will be the first robotic mission to prospect for water ice near the south pole of the Moon in late 2023 on a 100-Earth-day mission. The information that the VIPER rover provides will help improve understanding of the composition, distribution, and accessibility of Lunar polar volatiles and will help determine how the Moon's resources can support future human space exploration. VIPER, however, represents a radical departure from the way that NASA has traditionally developed planetary robotic missions. A key consequence of these differences is that estimating the cost of VIPER's rover software is challenging and complex. For example, VIPER is being developed using management procedures typically applied to NASA research and technology projects, rather than space flight programs. In addition, key portions of the rover's software are being designed as ground software to run on mission control computers (rather than onboard the rover as flight software as with prior planetary missions) taking advantage of continuous, interactive data communications between the Moon and Earth and higher performance computing available on the ground. Moreover, the rover's software is being engineered using Agile software development practices and incorporates a significant amount of open-source code, rather than following traditional (spiral, waterfall, etc.) development methods and in-house code. In this paper, we present an innovative process to estimate the life cycle cost of VIPER's rover software. We first describe how we modeled the architecture and code counts for three software elements: Rover Flight Software (RFSW), Rover Ground Software (RGSW), and Rover Simulation Software (RSIM). We then discuss key challenges and unique aspects of our approach, such as the lack of Lunar rover analogies, the need to integrate and test large open source software, and the strategies developed to account for use of non-space flight management practices and the impact of the COVID-19 pandemic. We conclude with a summary of our results, including cumulative distribution, nearest neighbors and cluster analysis, as well as heuristics used to confirm the reasonableness of the cost estimate.}
    }
  31. Krantz, E., Chan, N. N., Tibert, G., Mao, H. and Fuglesang, C. (2025). Bridging the Basilisk Astrodynamics Framework with ROS 2 for Modular Spacecraft Simulation and Hardware Integration . International Conference on Space Robotics. Source
    BibTeX
    @inproceedings{krantz2025bridging,
      title = {Bridging the Basilisk Astrodynamics Framework with ROS 2 for Modular Spacecraft Simulation and Hardware Integration},
      author = {Krantz, Elias and Chan, Ngai Nam and Tibert, Gunnar and Mao, Huina and Fuglesang, Christer},
      booktitle = {International Conference on Space Robotics},
      pages = {343-348},
      year = {2025},
      doi = {10.1109/isparo66239.2025.11437323},
      abstract = {Integrating high-fidelity spacecraft simulators with modular robotics frameworks remains a challenge for autonomy development. This paper presents a lightweight, open-source communication bridge between the Basilisk astro-dynamics simulator and the Robot Operating System 2 (ROS 2), enabling real-time, bidirectional data exchange for spacecraft control. The bridge requires no changes to Basilisk’s core and integrates seamlessly with ROS 2 nodes. We demonstrate its use in a leader-follower formation flying scenario using nonlinear model predictive control, deployed identically in both simulation and on the ATMOS planar microgravity testbed. This setup supports rapid development, hardware-in-the-loop testing, and seamless transition from simulation to hardware. The bridge offers a flexible and scalable platform for modular spacecraft autonomy and reproducible research workflows.}
    }
  32. Dehghani, N. and Tankenson, M. (2006). A multi-mission event-driven component-based system for support of flight software development, ATLO, and operations first used by the Mars Science Laboratory (MSL) project. dataverse.jpl.nasa.gov/dataset.xhtml
    BibTeX
    @misc{dehghani2006multi,
      title = {A multi-mission event-driven component-based system for support of flight software development, ATLO, and operations first used by the Mars Science Laboratory (MSL) project},
      author = {Dehghani, Navid and Tankenson, Michael},
      howpublished = {Presentation at the International Conference on Space Operations},
      year = {2006},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=hdl:2014/39792}
    }