From 9dba23c99ef5aca68ed843faf9ba23ac0c634572 Mon Sep 17 00:00:00 2001 From: Jacob Hageman Date: Wed, 28 Jul 2021 08:05:58 -0600 Subject: [PATCH] Fix #1702 #1709 #1713 #1717, Requirements update for Caelum --- docs/cFE_FunctionalRequirements.csv | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/cFE_FunctionalRequirements.csv b/docs/cFE_FunctionalRequirements.csv index 8cdc5d2f4..3cc9009ae 100644 --- a/docs/cFE_FunctionalRequirements.csv +++ b/docs/cFE_FunctionalRequirements.csv @@ -95,11 +95,10 @@ ES: Analyzer Log Trigger Mask,cES1031,"Upon receipt of a Command, the cFE shall ES: Task Status Record To File,cES1032,"Upon receipt of a Command, the cFE shall generate a Command specified file that contains the cFE Task information.",Provide capability to write all cFE task data to a file for system status and management. ES: Task Status Record To File - Default Filename,cES1032.1,"If a file is not specified, the cFE shall use the `` filename.",Provide a default file name. ES: Get Memory Pool Statistics,cES1033,"Upon receipt of a Command, the cFE shall generate a message that contains the requested memory pool statistics.",Supports memory pool management. -ES: Register Application,cES1300,"Upon receipt of a Request, the cFE shall register the calling cFE Application with the system.",cFE Applications must register with the cFE in order to allow the cFE to track the Application's resources. This function also allows the system to synchronize the application startup. The cFE Application will wait in this function until the cFE starts up. ES: Report Last Reset,cES1301,"Upon receipt of a Request, the cFE shall provide the type of last reset performed by the processor.",cFE Applications may perform processing that is specific to each reset type. ES: Report Last Reset - Types,cES1301.1,The reset types include: Power On Reset Processor Reset.,cFE Applications may perform processing that is specific to each reset type. ES: Report Application ID,cES1304,"Upon receipt of a Request, the cFE shall provide the cFE Application ID of the calling cFE Application.",A cFE Application needs to determine its own Application ID. -ES: Report Task and Application Name,cES1305,"Upon receipt of a Request, the cFE shall provide the cFE Task Name and cFE Application Name which corresponds to the specified cFE Task ID.",The command will provide a way to find the cFE Task Name and the parent cFE Application name from any cFE Application or Child task. +ES: Get Task Information,cES1305,Upon receipt of a Request the cFE shall provide information for the requested task.,Allows query of task information for reporting or management. ES: Report Application ID,cES1306,"Upon receipt of a Request, the cFE shall provide the cFE Application ID which corresponds to the specified cFE Application Name.",The Executive Services will assign an Application ID. The Application Name is specified when the cFE Application is created. This Request will provide a way to determine the cFE Application ID when the pre-determined Application Name is passed in. ES: Report Application Name,cES1307,"Upon receipt of a Request, the cFE shall provide the cFE Application Name which corresponds to the specified cFE Application ID.",The Executive Services will assign an Application ID. This Request will provide a way to determine an Application's name from its Application ID. ES: Delete Application,cES1309,"Upon receipt of a Request, the cFE shall delete the specified Application including all child tasks.",Need to be able to stop the execution of an Application and remove its System Resources. The delete will clean-up the application's main task and all of its child tasks. Note: other cFE components are required to have cleanup routines that ES calls. @@ -113,7 +112,6 @@ ES: Create Child Task - Report Error,cES1311.1,"In the event that the cFE Child ES: Create Child Task - Invalid From Child Task,cES1311.2,"In the event a child task attempts to create another child task, the cFE shall record the error in the System Log, and return an error code.",Only the cFE Application's main task can create a child task. This prevents confusion with parent/child task relationships and the allocation/deallocation of resources. ES: Delete Child Task,cES1312,"Upon receipt of a Request, the cFE shall delete the specified cFE Child Task within the cFE Application that owns the task.","As part of a cFE Application cleanup, the Application needs to be able to delete each child task." ES: Delete Child Task - Error If Application Main Task,cES1312.1,"If the specified task is the cFE Application Main Task, the request shall record the error in the System Log, and return an error code.",Cannot use Child Task Exit or Delete on the cFE Application Main Task. -ES: Register Child Task,cES1313,"Upon receipt of a Request, the cFE shall register the calling cFE Child Task with the system.","Just like cFE Applications, Child Tasks must be registered to work properly in the cFE. This function call is intended to be called by the newly created cFE Child Task." ES: End Child Task,cES1314,"Upon receipt of a Request, the cFE shall end execution of the calling cFE Child Task.", cFE Child Task needs to be able to exit and end execution. ES: End Child Task - Error If Application Main Task,cES1314.1,"If the calling task is the cFE Application Main Task, the cFE shall record the error in the System Log, and return an error code.",Cannot use Child Task Exit or Delete on the cFE Application Main Task. ES: Reserve Critical Data Store,cES1315,"Upon receipt of a Request, the cFE shall reserve the Request specified amount of memory in the Critical Data Store for the cFE Application using the Request specified name.",The Critical Data Store will be used by Applications to store critical parameters that will be preserved after an application or processor restart. ES will allocate the memory for the application. A pointer or memory address will be provided to the alloc. @@ -155,6 +153,9 @@ ES: Increment Generic Counter,cES1340,Upon receipt of a Request the cFE shall in ES: Set Generic Counter,cES1341,Upon receipt of a Request the cFE shall set the requested counter to the requested value.,Generic counter management. ES: Get Generic Counter,cES1342,Upon receipt of a Request the cFE shall provide the counter value for the requested generic counter.,Generic counter management. ES: Get Generic Counter ID By Name,cES1343,Upon receipt of a Request the cFE shall provide the generic counter ID for the requested generic counter name.,Generic counter management. +ES: Get Library Information,cES1344,Upon receipt of a Request the cFE shall provide information for the requested library.,Allows query of library information for reporting or management. +ES: Delete Memory Pool,cES1345,"Upon receipt of a Request, the cFE shall delete a Memory Pool.","Allows for management of memory resources, delete of pool once no longer needed." +ES: Get Generic Counter Name,cES1346,Upon receipt of a Request the cFE shall provide the generic counter name.,Generic counter management. ES: Power On Reset Identify Sub-Type,cES1500,"Upon a Power-on Reset, the cFE shall identify the Power On reset sub-type.",Each mission may want to further distinguish between Processor reset types in order to tailor their system's behavior. For example a mission may want to take different behavior for a watchdog time out and the execution of the processor's reset instructions. ES: Power On Reset Clear System Log,cES1501,"Upon a Power-On Reset, the cFE shall clear the Executive Services System Log.",Want to be able to determine what errors are logged by the cFE. This log is not preserved on a Power-On reset. ES: Power On Reset Clear Exception and Reset Log,cES1502,"Upon a Power-On Reset, the cFE shall clear the Executive Services Exception and Reset Log.",Want to be able to get a snapshot of some critical parameters prior to a reset as well as log the resets that have occurred. @@ -199,6 +200,8 @@ FS: Initialize File Header,cES1601,Upon receipt of a Request the cFE shall initi FS: Write File Header,cES1602,Upon receipt of a Request the cFE shall write the requested header information to the requested file.,File management support. FS: Set File Timestamp,cES1603,Upon receipt of a Request the cFE shall set the requested timestamp on the requested file.,File management support. FS: Extract Filename From Path,cES1604,Upon receipt of a Request the cFE shall provide the file name portion of the requested full path.,File management support. +FS: Filename Auto-Complete,cES1605,Upon receipt of a Request the cFE shall auto-complete a filename.,Supports filename abstraction (extensions and mount point) to support portability. +FS: Background File Dump,cES1606,Upon receipt of a Request cFE shall write the requested file in the background.,Generic background (low priority) file write capability avoids stalling out apps and services with large file writes. ES: Maximum Processor Resets,cES1709,"If the cFE Core goes through `` Maximum Processor Resets, the cFE shall initiate a Power-On Reset of the cFE.","After a number of Processor Resets, the cFE will attempt to recover by doing a Power-on Reset." EVS: Control Message By Event Type,cEVS3000,"Upon receipt of Command the cFE shall enable/disable, as specified in the Command, the future generation of Event Messages for the Command-specified Event Type.",Filtering by type allows the system to behave differently for different users. EVS: Set Event Format Mode,cEVS3001,"Upon receipt of Command, the cFE shall set the Event Format Mode to the command specified value, either Long or Short.",Providing a short format accommodates missions with limited telemetry bandwidth. A long format is desirable because it contains the most information. @@ -331,6 +334,7 @@ SB: Enable Subscription Reporting,cSB4011,"Upon receipt of a Message, the cFE sh SB: Disable Subscription Reporting,cSB4012,"Upon receipt of a Message, the cFE shall disable generation of a message when a subscription is received.",Subscription reporting intended for use by software bus network class of applications. SB: Send Previous Subscriptions,cSB4013,"Upon receipt of a Message, the cFE shall generation messages for current subscriptions.",Subscription reporting intended for use by software bus network class of applications. SB: Create Pipe,cSB4301,"Upon receipt of a Request to create a Pipe, the cFE shall create a Pipe with the Request-specified Pipe Depth and the Request-specified name.",Run time creation of Pipes supports the cFE goals of easy Application integration and system reconfiguration. +SB: Delete Pipe,cSB4302,"Upon receipt of a Request to delete a Pipe, the cFE shall Unsubscribe all messages to the Request-specified Pipe, then remove the Pipe from the Routing Information.",An Application must be capable of freeing its own resources. SB: Subscribe To Message,cSB4303,"Upon receipt of a Request to Subscribe to an SB message, the cFE shall establish a route using the Request-specified Message ID, the Request-specified Pipe ID, the Request-specified MsgId-to-Pipe limit and the Request-specified QoS.",Run time subscription supports the cFE goals of easy system integration and run time reconfigurations. SB: Subscribe To Message - Duplicate,cSB4303.1,If the Subscription is a duplicate of a previous subscription then the cFE shall issue an event message.,"Duplicate subscriptions are still a success, however, want to notify the ground." SB: Unsubscribe To Message,cSB4304,"Upon receipt of a Request to Unsubscribe to an SB Message, the cFE shall remove the route corresponding to the Request-specified Message Id and the Request-specified Pipe Id from the Routing Information.","Allow an Application to dynamically change what Messages it receives. Since the ground can manipulate the state of the routing, it is not considered an error if the Message is not currently being subscribed to when an unsubscribe request is made." @@ -352,8 +356,6 @@ SB: Set Message ID,cSB4312,"Upon receipt of a Request, the cFE shall set the rec SB: Get Message String,cSB4313,"Upon receipt of a Request, the cFE shall provide the requested string from the requested message.",Message management utility. SB: Set Message String,cSB4314,"Upon receipt of a Request, the cFE shall set the requested message with the requested string.",Message management utility. SB: Initialize Message,cSB4315,"Upon receipt of a Request, the cFE shall initialize the requested message with the requested message ID and length.",Message management utility. -SB: Initialize Message - Clear,cSB4315.1,"If requested to clear the packet, the cFE shall fill the sequence counter and packet data with zeros.",Message management utility. -SB: Initialize Message - No Clear,cSB4315.2,"If requested to not clear the packet, the cFE shall retain the provided sequence counter and packet data.",Message management utility. SB: Get User Data Pointer,cSB4316,"Upon receipt of a Request, the cFE shall provide a pointer to the user data of the requested message.",Message management utility. SB: Get User Data Length,cSB4317,"Upon receipt of a Request, the cFE shall provide the user data length of the requested message.",Message management utility. SB: Set User Data Length,cSB4318,"Upon receipt of a Request, the cFE shall set the requested message with the requested user data length.",Message management utility. @@ -364,7 +366,6 @@ SB: Set Message Time,cSB4322,"Upon receipt of a Request, the cFE shall set the r SB: Time Stamp Message,cSB4323,"Upon receipt of a Request, the cFE shall set the requested message with the current time.",Message management utility. SB: Get Command Code,cSB4324,"Upon receipt of a Request, the cFE shall provide the command code from the requested message.",Message management utility. SB: Set Command Code,cSB4325,"Upon receipt of a Request, the cFE shall set the requested message with the requested command code.",Message management utility. -SB: Get Checksum,cSB4326,"Upon receipt of a Request, the cFE shall provide the checksum from the requested message.",Message management utility. SB: Generate Checksum,cSB4327,"Upon receipt of a Request, the cFE shall set the requested message with the current checksum.",Message management utility. SB: Validate Checksum,cSB4328,"Upon receipt of a Request, the cFE shall provide the checksum validation result of the requested message.",Message management utility. SB: Set Pipe Options,cSB4329,"Upon receipt of a Request, the cFE shall set the requested pipe with the requested options.",Pipe management utility. @@ -384,6 +385,13 @@ SB: Zero Copy Send Message,cSB4342,"Upon receipt of a Request, the cFE shall rou SB: Zero Copy Pass Message,cSB4343,"Upon receipt of a Request, the cFE shall route the requested zero copy message to all subscribed pipes without updating the message sequence counter.",Zero copy message passing support for reduced overhead at the cost of additional pointer management. SB: Get Packet Type,cSB4344,"Upon receipt of a Request, the CFE shall provide the message packet type.",Provides abstraction for apps to get the packet type (command or telemetry). SB: Validate Message ID,cSB4345,"Upon receipt of a Request, the cFE shall provide the validation status of the message ID.",Provides abstraction for apps to validate a message ID. +SB: Set Packet Type,cSB4346,"Upon receipt of a Request, the CFE shall set the message packet type.",Provides abstraction for apps to set the packet type (command or telemetry). +SB: Get Header Field,cSB4347,"Upon receipt of a Request, the CFE shall provide the requested message header field.",Provides abstraction for apps to get implementation defined header fields. +SB: Set Header Field,cSB4348,"Upon receipt of a Request, the CFE shall set the requested message header field.",Provides abstraction for apps to set implementation defined header fields. +SB: Get Sequence Count,cSB4349,"Upon receipt of a Request, the CFE shall provide the message sequence count.",Provides abstraction for apps to get the message sequence count. +SB: Set Sequence Count,cSB4350,"Upon receipt of a Request, the CFE shall set the message sequence count.",Provides abstraction for apps to set the message sequence count. +SB: Get Next Sequence Count,cSB4351,"Upon receipt of a Request, the CFE shall provide the next message sequence count.",Provides abstraction for apps to get the next message sequence count value such that rollovers are handled based on the implemented field size. +SB: Get Type From MsgId,cSB4352,"Upon receipt of a Request, the CFE shall provide the message type associated with the requested message ID.","Provides abstraction for apps to get the message type given only the message ID. Supports a variety of implementations allowing for efficient message ID use (supports bit, range, table, or other logic)." SB: Initialize Routing On Power On Reset,cSB4500,Upon a Power-on Reset the cFE shall initialize the Routing Information and clear all error counters.,The cFE must initialize to a known state. SB: Initialize Routing On Processor Reset,cSB4501,Upon a Processor Reset the cFE shall initialize the Routing Information and clear all error counters,The cFE must initialize to a known state. TBL: Load Inactive Table From File,cTBL6000,Upon receipt of Command the cFE shall load an Inactive Table Image with the contents of the Command specified File.,Loading from a file allows for multiple versions of a table to be stored on board and loaded to the active table when appropriate. The file header will identify the Table that the file contents are for.