[RTEMS Project] #3703: Technical Specification (TS) for space profile
RTEMS trac
trac at rtems.org
Tue Feb 26 12:14:55 UTC 2019
#3703: Technical Specification (TS) for space profile
------------------------------+-----------------------------
Reporter: Sebastian Huber | Owner: Sebastian Huber
Type: task | Status: assigned
Priority: normal | Milestone: 6.1
Component: doc | Version: 6
Severity: normal | Keywords: qualification
Blocked By: | Blocking: 3701
------------------------------+-----------------------------
A Technical Specification (TS) is required by
[https://ecss.nl/standard/ecss-e-st-40c-software-general-requirements/
ECSS-E-ST-40C] and consists of
* the Software Requirements Specification (SRS, ECSS‐E‐ST‐40C Annex D),
and
* the Software Interface Control Document (ICD, ECSS‐E‐ST‐40C Annex E).
There is currently no requirements document for RTEMS. Requirements must
be reverse engineered from the documentation, the source code and the
tests. The TS will be created for the space profile of RTEMS SMP. It
should be easy to extend the TS so that more functionality can be covered
once the ground work is done.
[https://ecss.nl/standard/ecss-e-st-10-06c-technical-requirements-
specification/ ECSS-E-ST-10-06C] places requirements on requirements and
the specification content.
We need a format for requirements. One idea is to define a custom XML data
model for RTEMS requirements and use an XML document to store the
requirements in the RTEMS kernel repository (requirements master document,
RMD). The RMD can be used to generate human readable documents via Sphinx.
ECSS-E-ST-10-06C and ECSS-E-ST-40C mandate some of traceability
information:
1. ECSS-E-ST-10-06C, 8.2.3 Configuration management and traceability: The
history of requirements shall be traceable. In the XML documents the
history of requirements changes, removals, additions, etc. could be stored
in a special section along with additional information, e.g. reason for
change, date, approval status, etc. A Git pre-commit hook could check that
changes in the requirements document follow a specified procedure, e.g.
one commit may change at most one requirement and there must be a
corresponding revision entry for this change.
2. ECSS-E-ST-10-06C, 8.2.3 Configuration management and traceability: If a
requirements is derived from other requirements, then this information
must be visible (backward traceability).
3. ECSS-E-ST-40C, 5.8.3.3 Verification of the software architectural
design: Each software component shall provide a link to the requirements
it implements (forward traceability). Software architectural design to
requirements traceability matrices shall be provided.
4. ECSS-E-ST-40C, 5.8.3.5 Verification of code: Source code shall be
traceable to design and requirements. Software code traceability matrices
shall be provided.
5. ECSS-E-ST-40C, 5.8.3.6 Verification of software unit testing (plan and
results): Unit test shall be traceable to software requirements. Software
unit tests traceability matrices shall be provided.
The presentation in a human readable form of the traceability information
should be done by tools using the RMD as input and the overall source code
with requirement link annotations. This requires that we have a human and
machine readable requirements identifier (also ECSS-E-ST-10-06C, 8.2.6
Identifiability).
--
Ticket URL: <http://devel.rtems.org/ticket/3703>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list