Skip to content

Commit

Permalink
Fix nasa#516, EVS Requirements Scrub
Browse files Browse the repository at this point in the history
  • Loading branch information
skliper committed Feb 13, 2020
1 parent a2ea8da commit 447cbae
Showing 1 changed file with 5 additions and 19 deletions.
24 changes: 5 additions & 19 deletions docs/cFE_FunctionalRequirements.csv
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ EVS: Write Local Event Log To File,cEVS3015,"_(OPTIONAL)_ Upon receipt of Comman
EVS: Write Local Event Log To File - Default Filename,cEVS3015.1,"If a file is not specified, the cFE shall use the `<PLATFORM_DEFINED>` filename.",Want to provide a default in the event that a user does not want to specify one.
EVS: Write Local Event Log Order,cEVS3016,_(OPTIONAL)_ The cFE shall write each Event Message from the earliest logged message to the most recently logged message.,"Ground operators like to see the progression of events in the order that they occurred. In a scenario when a time correction has been made, the earliest logged may not necessarily mean the oldest time stamp. This type of playback may not be desirable for Event Logs of considerable size. It is worthwhile for cFE users to keep Event Logs relatively small."
EVS: Control Message Port Routing,cEVS3017,"Upon receipt of Command the cFE shall enable/disable, as specified in the Command, the routing of all future Event Messages to the Command specified Event Message Port.","Event Message Output Ports may not be available or needed; therefore the ability to configure sending to an Event Message Port is useful."
EVS: Housekeeping Message,cEVS3018,"The cFE shall provide the following Event Service data items in telemetry (SB Messages):
EVS: Housekeeping Message,cEVS3018,"The cFE shall provide the following Event Services items in a housekeeping message:

- Valid Command Counter
- Invalid Command Counter
Expand All @@ -250,7 +250,7 @@ EVS: Housekeeping Message,cEVS3018,"The cFE shall provide the following Event Se
- _(OPTIONAL)_ Logging Mode
- For each registered Application:
o Application Event Message Sent Counter
o Application Event Service Enable Status",
o Application Event Service Enable Status",Periodically report housekeeping telemetry for system awareness and management.
EVS: Add Event Filter,cEVS3019,Upon receipt of Command the cFE shall add the specified Event Filter for the specified cFE Application and Event ID.,Want to provide the ability for filters to be added at runtime. Original implentation did not provide this capability which resulted in modifications to Applications for those events that were not registered (i.e. forgotten).
EVS: Add Event Filter - Reject Already Filtered ,cEVS3019.1,"If the Event ID is already registered for filtering, the cFE shall reject the command and generate an event message.",Filter is done on a per Event ID basis.
EVS: Add Event Filter - Application Maximum,cEVS3019.2,If the maximum number of Event IDs have been registered for the specified Application then the cFE shall reject the command and generate an event message.,"In order to scale the cFE, allocations are made for each cFE Application (see cEVS3302)."
Expand Down Expand Up @@ -284,7 +284,7 @@ EVS: Create Message - Data Types,cEVS3103.2,"The cFE shall support the following
- Long Integer
- Unsigned Long Integer",Not all processors supported under the cFE will allow floating point or real types.
EVS: Create Message - Increment Filter Counter,cEVS3103.3,"If the request specified Event ID has been registered for binary event filtering, the cFE shall increment the request specified Application's Binary Filter Counter for the request-specified Event ID.",Support binary event filtering algorithm.
EVS: Create Message - Increment Filter Counter - Retain Maximum Value,cEVS3103.3.1,"If the Binary Filter Counter has reached its maximum value of (2^16)-1, the cFE shall retain the maximum value (i.e. do not rollover to zero).",Preventing a counter rollover to zero eliminates the case when a user may think no events have occurred when in fact many events have occurred.
EVS: Create Message - Increment Filter Counter - Retain Maximum Value,cEVS3103.3.1,"If the Binary Filter Counter has reached its maximum `<PLATFORM_DEFINED>` value, the cFE shall retain the maximum value (i.e. do not rollover to zero).",Preventing a counter rollover to zero eliminates the case when a user may think no events have occurred when in fact many events have occurred.
EVS: Create Message - Long Format,cEVS3103.4,"If the SB Format Mode is set to Long, the cFE shall generate an SB Event Message formatted as specified in the cFE User's Guide containing the Spacecraft Time, Processor ID, Application ID, Event ID, Event Type, and the Request-specified Event Data.","To assist with system test and diagnostics it is important to distinguish otherwise identical messages by their sources. This is especially true in a distributed system with common subsystems. It is the intent of this requirement to allow identical subsystems to be resident in multiple processors within the flight system. In cases like this, the subsystem identifier, and message identifier may be the same; only the processor identifier would make the messages unique. A long format is desirable because it contains the most information. Design Note: It is expected that in the implemented event service, the API only requires the Event ID and Type, and that the underlying utility code fills in the processor ID, and Application ID before the message is sent."
EVS: Create Message - Long Format - Truncation,cEVS3103.4.1,"If the Event Data is greater than the `<MISSION_DEFINED>` maximum Event Data, the cFE shall truncate the Event Message with a string-termination character and increment the Message Truncation Counter.","It's important to know if data is lost, but it doesn't need to be maintained on a per-Event ID basis, therefore a single counter is used. A platform-defined length was considered but this prevents application reuse unless a minimum length is specified."
EVS: Create Message - Short Format,cEVS3103.5,"If the SB Format Mode is set to Short, the cFE shall generate an SB Event Message formatted as specified in the cFE User's Guide containing the spacecraft time, Processor ID, Application ID, Event ID, and Event Type.",Providing a short format accommodates missions with limited telemetry bandwidth.
Expand All @@ -301,26 +301,12 @@ EVS: Store Message In Event Log - Set Full Flag,cEVS3108.1,"_(OPTIONAL)_ If the
EVS: Store Message In Event Log - Increment Overflow Counter,cEVS3108.2,"_(OPTIONAL)_ If the Local Event Log is full, the cFE shall increment the Local Event Log Overflow counter.",Ground operations needs to know how many Event Messages were discarded or overwritten.
EVS: Store Message In Event Log - Log Full Behavior,cEVS3108.3,"_(OPTIONAL)_ If the Local Event Log is full, the cFE shall either (1) overwrite the oldest Event Message if the Event Logging Mode is overwrite, or (2) discard the Event Message if the Event Logging Mode is discard.",Overwriting the oldest message is useful for nominal operations because a user doesn't need to periodically clear the Log. If an error occurs when there's no communication then the Local Event Log size must be large enough to retain the Event Messages since communications was lost. Discarding the newest Event Message is useful for trouble shooting a problem. For example there may be a problem during processor initialization that occurs when there's no communications with the processor interfacing with the User. In this case the original Event Messages are critical to solving the problem so they should be preserved. Note that the Event Logging Mode can be changed via stored commanding.
EVS: Message Port Routing,cEVS3109,"For each created Event Message, the cFE shall route the Event Message, formatted as an ASCII text string, to each enabled Event Message Output Port.",Debug ports are very useful for FSW development and maintenance.
EVS: Free App Resources,cEVS3110,Upon receipt of Request the cFE shall free resources allocation for the specified Application.,"Need to be able to remove all resources associated with an application when Deleting, Restarting or Reloading an Application. In addition, this is required as part of a Processor Reset."
EVS: Initialize Message Port State On Power On Reset,cEVS3200,"Upon a Power-on Reset, the cFE shall set the `<PLATFORM_DEFINED>` Event Message Output Ports to their `<PLATFORM_DEFINED>` default state:

- Port Number 1: `<PLATFORM_DEFINED, Enabled >`
- Port Number 2: `<PLATFORM_DEFINED, Disabled >`
- Port Number 3: `<PLATFORM_DEFINED, Disabled >`
- Port Number 4: `<PLATFORM_DEFINED, Disabled >`
",Event Message Ports are customized for each platform. A rationale for all of the Power-on Reset requirements is that the cFE must initialize to a known state.
EVS: Initialize Format To Long On Power On Reset,cEVS3201,"Upon a Power-on Reset, the cFE shall set SB Event Format Mode to Long.",Each mission must determine what format they need.
EVS: Initialize Format On Power On Reset,cEVS3201,"Upon a Power-on Reset, the cFE shall set SB Event Format Mode to `<PLATFORM_DEFINED>` default mode.","Each mission must determine what format they need, defaulted to LONG."
EVS: Initialize Full Flag To False On Power On Reset,cEVS3202,"_(OPTIONAL)_ Upon a Power-on Reset, the cFE shall set the Local Event Log Full Flag to false.",Set cFE to default status across Power-on Resets.
EVS: Initialize Logging Mode On Power On Reset,cEVS3203,"_(OPTIONAL)_ Upon a Power-on Reset, the cFE shall set the Event Logging Mode to `<PLATFORM_DEFINED, overwrite>`.",Set cFE to default status across Power-on Resets.
EVS: Preserve Event Log Reset Mode On Processor Reset,cEVS3207,"_(OPTIONAL)_ Upon a Processor Reset, the cFE shall preserve or overwrite the contents of the Local Event Log based on the setting of the Event Logging Mode configuration parameter.",Try to retain the contents even across a processor reset because there may be useful diagnostic information. The contents of the Local Event Log will be preserved if the Event Logging Mode is configured to Discard (1). The contents of the Local Event Log may be overwritten (depending on the size and contents of the log prior to the reset) if the Event Logging Mode is configured to Overwrite (0).
EVS: Preserve Event Log Reset Mode On Processor Reset,cEVS3207,"_(OPTIONAL)_ Upon a Processor Reset, the cFE shall preserve the Event Logging Mode configuration parameter.",Try to retain mode across a processor reset. The contents of the Local Event Log will be preserved if the Event Logging Mode is configured to Discard. The contents of the Local Event Log may be overwritten (depending on the size and contents of the log prior to the reset) if the Event Logging Mode is configured to Overwrite.
EVS: Preserve Log Full State On Processor Reset,cEVS3208,"_(OPTIONAL)_ Upon a Processor Reset, the cFE shall preserve the Local Event Log Full state.",Retain the cFE state across Processor Resets.
EVS: Set Logging Mode On Processor Reset,cEVS3209,"_(OPTIONAL)_ Upon a Processor Reset, the cFE shall set the Event Logging Mode to the `<PLATFORM_DEFINED>` value.

TBD - doesn't match rationale",Retain the cFE state across Processor Resets.
EVS: Preserve Log Overflow Counter On Processor Reset,cEVS3210,"_(OPTIONAL)_ Upon a Processor Reset, the cFE shall preserve the Local Event Log Overflow Counter.",Retain the cFE state across Processor Resets.
EVS: Support Message Ports,cEVS3300,"The cFE shall support `<PLATFORM_DEFINED, 4>` Event Message Ports.",Since the number of Event Message Ports is hardware dependent a mission must be able to specify how many ports it will support.
EVS: Event Log Size,cEVS3301,"_(OPTIONAL)_ The cFE shall define a Local Event Log with a capacity of `<PLATFORM_DEFINED, 20>` Event Messages.",Each mission's processor card memory capacities will dictate what is reasonable.
EVS: Event Filters Per App,cEVS3302,"The cFE shall support `<PLATFORM_DEFINED, 8>` Event Message Filters per cFE Application.",Each cFE Application that register with EVS is allocated memory to support this limit.
SB: NOOP Increment Command Counter,cSB4000,"Upon receipt of a NOOP command, the cFE shall increment the command counter.

TBD - Doesn't match pattern. NOOP - version event, commands increment counter, invalid increment invalid counter.",Useful for verifying communication between the ground and SB task.
Expand Down

0 comments on commit 447cbae

Please sign in to comment.