F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
Svc::FatalHandler Component

Svc::FatalHandler Component

1. Introduction

The Svc::FatalHandler is responsible for handling FATAL event notifications from the system.

2. Requirements

The requirements for Svc::FatalHandler are as follows:

Requirement Description Verification Method
FH-001 The Svc::FatalHandler component shall handle FATAL notifications Unit Test
FH-002 The Svc::FatalHandler component shall shut down the Unix process Unit Test
FH-002 The Svc::FatalHandler component shall suspend the thread calling FATAL Unit Test

3. Design

3.1 Context

3.1.1 Component Diagram

The Svc::FatalHandler component has the following component diagram:

`Svc::CmdDispatcher` Diagram

3.1.2 Ports

The Svc::FatalHandler component uses the following port types:

Port Data Type Name Direction Kind Usage
Svc::Fatal FatalReceive Input Synch Receive FATAL notifications

3.2 Functional Description

For Unix variants, it delays for one second before exiting with a segmentation fault. This allows time for the FATAL to propagate to the ground system so the user can see what event occurred and also generates a core for debugging (assuming ulimit is set correctly). For VxWorks, it suspends the calling thread. Projects can replace this component with another that does project-specific behavior like resets.

3.3 Scenarios

3.3.1 FATAL Notification

The Svc::FatalHandler handles FATAL notifications:

FATAL Notification

3.4 State

Svc::FatalHandler has no state machines.

3.5 Algorithms

Svc::FatalHandler has no significant algorithms.

4. Dictionary

TBD

4. Module Checklists

Document Link
Design Checklist Link
Code Checklist Link
Unit Test Checklist Link

5. Unit Testing

Unit Test Output

Coverage Summary

Coverage Output - CommandDispatcherImpl.cpp

Coverage Output - CommandDispatcherComponentAc.cpp

6. Change Log

Date Description
9/26/2016 Design review edits