Mars Science Laboratory An Introduction to the JPL Flight Software Product Line Dr. Kathryn Anne Weiss FSW Core Cognizant Engineer December 11, 2013 02/09/2020 PRE-DECISIONAL DRAFT; For planning and discussion purposes only 1 JPL FSW Product Line CALIFORNIA INSTITUTE OF TECHNOLOGY Product Line Motivation and Objectives What is the JPL Flight Software Product Line? Product Line Development and Evolution Software Architecture Overview Summary 2 2 The Team CALIFORNIA INSTITUTE OF TECHNOLOGY
Benjamin Cichy Dr. Dan Gaines Dr. Ed Gamble Dee Leang Jeff Levison Dr. Rajeev Joshi Lloyd Manglapus Steve Scandore Igor Uchenik 3 3 Background CALIFORNIA INSTITUTE OF TECHNOLOGY Our heritage flight software is comprised of tightly coupled modules integrated into a monolithic delivery for a specific mission and flight system with limited reuse across projects
Since Pathfinder, in-house flight projects have followed a clone and own model of flight software reuse, inheriting a code base from a previous project and adapting the code to suit the projects specific needs More recently, the Reference Bus was established to develop implementation templates for in-house or mixed mode mission implementation at competitive prices The different Reference Bus configurations that arose let to a desire for a coherent approach for associated FSW implementations, with built-in flexibility for future configurations 4 4 Project Objectives CALIFORNIA INSTITUTE OF TECHNOLOGY Reference Bus commissioned the development of a JPL FSW Product Line by Section 349 in FY13
Project Objectives: Facilitate the delivery of an integrated avionics and FSW product to projects Significantly improve reuse potential of flight software while leveraging existing flight-proven implementation approaches and assets Reduce start-up time and costs for flight software infrastructure development on a project or task Facilitate software technology infusion that enhances applicability and/or reliability of flight software assets and maintains viability of the Product Line 5 5 What is the JPL Flight Software Product Line? CALIFORNIA INSTITUTE OF TECHNOLOGY The Product Line is A collection of reusable FSW assets available for deployment on a wide range of flight projects e.g. Discovery, New Frontiers, flagship, small scale satellites A FSW product development strategy that includes architectural guidelines and well-defined interfaces so that projects can integrate mission-specific FSW into existing assets to create a complete FSW system A management approach whereby the Line Organization owns the Product Line assets and oversees proposed use, deployment, maintenance, and evolution
Provides configuration control of Product Line assets and reviews/approves changes Defines the processes for asset deployment and overall FSW system 6 integration 6 Benefits of the FSW Product Line CALIFORNIA INSTITUTE OF TECHNOLOGY Proposal teams leverage assets to meet a FSW system specification and cost FSW costs decrease as asset base grows over time The FSW line manages asset base Minimizes differentiation by projects and reducing overall implementation costs Coherent approach to supporting different Reference Bus configurations The architecture standardizes interfaces and patterns for subsystem organizations (ex. G&C, Navigation, Mobility) to deliver FSW Enables distributed FSW development An iterative approach to asset development 7 Supports technology infusion and the evolving strategic vision of 7
Section 349 Organization CALIFORNIA INSTITUTE OF TECHNOLOGY Core FSW Group maintains the Product Line and hosts the development team Large and Small Scale FSW groups leverage reusable assets deployed by the Core Group Core group strengthens its asset base with contributions and feedback from the Large and Small Section 349 responsibilities Scale groups Utilize FSW Product Line assets in applicable JPL proposals Deploy Product Line assets to project customers Manage all updates required by projects using direct funds Solicit funds via proposals to support strategic multi-mission capabilities outlined in technology roadmap Establish process for continuous product improvement
8 8 Architecture Objectives CALIFORNIA INSTITUTE OF TECHNOLOGY Reduce Complexity Reusability Reliability & Predictability Reduce the V&V burden of projects
Availability Deterministic execution A property of a FSW System such that given a set of inputs to a starting system state, the resulting output and ending system state will be predictably the same Robust execution of critical software functions in the presence of faults in non-critical and non-interacting-critical software Testability Significantly improve reuse potential of the standard portions of FSW Leverage existing flight-proven implementation approaches and assets Reduce the FSW start-up time and costs on a project or task Reconfiguration of the system to load and execute only the minimum set of critical software functions Maintainability, in particular Extensibility and Modifiability Support for phased development, delivery, and integration of spacecraft system functionality, e.g. EDL software for a Mars mission does not need to be on-board the spacecraft at launch and can therefore be phased into the FSW System at a later time Distributed development of FSW, i.e. delivery of portions of the FSW system by different organizations and / or institutions
Facilitate software technology infusion that enhances applicability and/or reliability of flight software assets and maintains viability of the Product Line 9 9 Context The JPL FSW Product Line CALIFORNIA INSTITUTE OF TECHNOLOGY A FSW System consists of a FSW Core + Apps Component-Based Architecture provides architectural separation of fundamentally different concerns, e.g. mission-critical vs. non-critical functions Improved reliability Increased development flexibility Improved reusability The types of Apps are Functions (Software Services and Device Managers), Activities, and Behaviors Function A discrete action required to achieve spacecraft objectives Activity A collection of functions required to execute in a particular order to achieve spacecraft objectives; started by the Ground or by a Behavior and have a defined duration
Behavior A collection of activities scheduled autonomously to achieve mission goals 10 10 Conceptual Architecture: The Core Component CALIFORNIA INSTITUTE OF TECHNOLOGY DEFINITIONS: Core The component that interfaces directly with the underlying computer platform; it provides an execution interface to other components. The Core Component provides (1) the functionality necessary to support the execution of a component on the target compute element as well as (2) the interfaces to key spacecraft capabilities including command, telemetry, timekeeping, reliable data storage, and basic input / output. The Core Component abstracts the underlying compute platform from the remaining apps Core Component Functional Domains: Configuration Management Command Telemetry EHA, EVR, Data Products File System Parameters Intra- and Inter-Component
Messaging Operating System and Computer Hardware Abstraction Timekeeping Utilities (i.e. math, compression, bit/byte ops, etc.) Health IO 11 11 Conceptual Architecture: MSL CALIFORNIA INSTITUTE OF TECHNOLOGY 12 12 Structural View: Components CALIFORNIA INSTITUTE OF TECHNOLOGY 13 13 Structural View: Connectors CALIFORNIA INSTITUTE OF TECHNOLOGY ID Destinati on
Payload Reply ID Destinati on Payload Reply Components only communicate via (1) asynchronous non-blocking messages from a single sender to a single receiver or (2) synchronous access to single-writer shared memory 14 14 Structural View: Component State Machine CALIFORNIA INSTITUTE OF TECHNOLOGY All components implement a standard component state machine. Enables predictable behavior Supports reasoning about system state Component State Characteristics UNINITIALI ZED
STOPPED STARTED FAILED diverged (ie same as restored state or updated) uninitialized restored diverged (ie same as restored state or updated) Volatile state uninitialized initialized to known boot state diverged (ie same as boot state or updated)
diverged (ie same as boot state or updated) Threads not running running running not running Queues not established established; incoming requests are discarded* established; incoming requests processed
established; incoming requests queued yes no Nonvolatile state * does not apply to messages in the Sending CONTROL queue no Messages no 15 15 Component Registration CALIFORNIA INSTITUTE OF TECHNOLOGY
There are no compile-time dependencies; associations between components and the Core are established via registration. The software allows Components to be integrated into the FSW system without any changes to the Core or unrelated components. Independent Development and Delivery The configuration of the software including allocation of all resources (e.g. memory), runtime schedules, and component selection is fixed at system initialization. Increases Testability 16 16 Dynamic View: Execution Architecture CALIFORNIA INSTITUTE OF TECHNOLOGY
DEFINITIONS: Critical A set of functions required to maintain vehicle health and safety, including hardware safety and minimum communication (command and telemetry) with the ground. Components segment their real-time processing by rate and create separate threads for each rate group. The real-time processing execution schedule (time slice ordering and duration) shall be fixed at system initialization. Supports Deterministic Execution Components segregate non-real-time processing to separate dynamically scheduled threads. 17
17 Rate Group Flexibility CALIFORNIA INSTITUTE OF TECHNOLOGY Not all applications need to implement the full set of rate groups Part of the configuration of a component is to identify which rate groups it requires An application that doesnt require a particular rate group wouldnt expend any system resources on that rate group The architecture does support non-critical event-driven processing Not all processing must be done in rate groups Non-critical processing (e.g. image compression) may be done on aperiodic threads within the component These threads request time slices from the CORE for execution CORE adjusts schedule to allocate time to these threads Note that this allows a non-critical application to not use rate-groups at all 18 18 Supporting Patterns CALIFORNIA INSTITUTE OF TECHNOLOGY
Components follow a set of key supporting design patterns such as device power and health, and fault monitor behavior Supports Behavioral Predictability 19 19 Architecture Objectives Revisited CALIFORNIA INSTITUTE OF TECHNOLOGY Reduce Complexity Reusability Reliability & Predictability
Reduce the V&V burden of projects Availability Deterministic execution A property of a FSW System such that given a set of inputs to a starting system state, the resulting output and ending system state will be predictably the same Robust execution of critical software functions in the presence of faults in non-critical and non-interacting-critical software Testability Significantly improve reuse potential of the standard portions of FSW Leverage existing flight-proven implementation approaches and assets Reduce the FSW start-up time and costs on a project or task Reconfiguration of the system to load and execute only the minimum set of critical software functions Maintainability, in particular Extensibility and Modifiability
Support for phased development, delivery, and integration of spacecraft system functionality, e.g. EDL software for a Mars mission does not need to be on-board the spacecraft at launch and can therefore be phased into the FSW System at a later time Distributed development of FSW, i.e. delivery of portions of the FSW system by different organizations and / or institutions Facilitate software technology infusion that enhances applicability and/or reliability of flight software assets and maintains viability of the Product Line 20 20 Summary CALIFORNIA INSTITUTE OF TECHNOLOGY The JPL FSW Product Line helps address key issues: Provides a means of consolidating FSW infrastructure development typically handed down from one project to the next, minimizing rework Allows FSW components to be tightly coupled to the subsystems and associated organizations they represent, while minimizing coupling to each other Offers a consistent approach for costing FSW on future missions Provides a more direct path for FSW tech infusion into flight projects 21 21
Flavio Gregori (Iniziative/eventi culturali di ateneo (convegni, mostre …) e coordinamento attività culturali nelle biblioteche) Carmelo Alberti (Teatro) Daniele Goldoni (Musica) Carlo Bagnoli (Rapporti con la Regione e il Territorio) Irene Poli (Rapporti con l'Unione Europea) Giuseppe Barbieri (Fund Raising)...
M stands for mitosis, M phase is made up of four parts: Prophase. Metaphase. Anaphase. Telophase. Describe prophase. answer. Chromatin condenses into chromosomes. The nucleus disappears. The centrioles move to the sides of the cell. The spindle (microtubules) form and...
Models of the Atom. Thomson's Plum Pudding Model of the Atom The findings led to Thomson's "plum pudding model" in 1904. In this model, the atom consists of negative electrons that float in a sphere of positive charge, in a...
Business Profile Group Class 7 1st Meeting Tuesday 9/20/11 Project Overview There are eight (8) separate groups - "A" thru "H" There are six (6) students per group Each of you has been assigned to one of the groups.
Study of Top 500 Design Firms' Plans to Adopt MasterFormat™ 2004 Kevin R. Miller, Ph.D. D. Mark Hutchings, Ph.D. Brigham Young University Introduction 1961 initial meeting Objective Standardize the Organization of Construction Documents Since the creation of MasterFormat (MF) 1964,...
The term scam is used as a synonym (believed to be first said by Steve McQueen when he was describing the working ethics of a carny ringmaster where he used to work). ... Using the social definition of trust, i.e....
Ready to download the document? Go ahead and hit continue!