-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doc: safety: Requirment repo and guidelines #71953
Conversation
c504c13
to
1140f41
Compare
doc/safety/safety_requirements.rst
Outdated
========================================= | ||
* System Requirements | ||
|
||
.. note:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do you need the note here? drop it, should be just a normal paragraph
doc/safety/safety_requirements.rst
Outdated
|
||
* Software Requirements | ||
|
||
.. note:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
doc/safety/safety_requirements.rst
Outdated
System requirements describe the behaviour of the Zephyr RTOS (= the system here). | ||
They describe the functionality of the Zephyr RTOS of a very high level point of view, | ||
without going into details of the functionality itself. | ||
The target of the system requirements is to get an overview of the included features of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The target of the system requirements is to get an overview of the included features of | |
The target of the system requirements is to get an overview of the currently implemented features of |
doc/safety/safety_requirements.rst
Outdated
`EARS | ||
<https://alistairmavin.com/ears/>`__ Syntax for writing requirements. | ||
But we also accept contributions in other formats as long as the characteristics | ||
of a requirement from above are met. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Elevate note to a section:
Syntax
- Use of a recognized Requirements Syntax is recommended.
EARS <https://alistairmavin.com/ears/>
is a good reference.
Particularly if you are unfamiliar with requirements writing.- Other formats accepted as long as the characteristics
of a requirement from above are met.
.. note::
If you want to contribute to the requirements effort but don't know how to write requirements
or if you are new to writing requirements, we recommend to look into the
EARS <https://alistairmavin.com/ears/>
__ Syntax for writing requirements.
But we also accept contributions in other formats as long as the characteristics
of a requirement from above are met.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could not figure out how to replace multiple lines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could not figure out how to replace multiple lines.
no problem I got your point here.
doc/safety/safety_requirements.rst
Outdated
Guidelines | ||
********** | ||
Following are the guidelines for the requirements repository and what the safety committee | ||
expects when new requirements are added to the repository |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: the word 'new' might be misleading as the previous paragraph made the explicit statement that no new requirements are to be created. I think "when requirements are added to the repository is" is sufficient
doc/safety/safety_requirements.rst
Outdated
|
||
Scope | ||
===== | ||
The scope of the requirements are the **KERNEL** functionality. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
polish: "are the KERNEL functionalities" or "is the KERNEL functionality
doc/safety/safety_requirements.rst
Outdated
|
||
#. Don't add a requirement UID filed for new requirements | ||
#. After finishing work on the new Requirements execute strictDoc manage auto-uid | ||
#. Add linking of the requirements with the new distributed UIDs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue: This step isn't clear to me. Where are links needed and what exactly do you mean with "new distributed UIDs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recall the discussion on how to manage UIDs and do not recall the details.
Is there a reference in the StrictDoc "Users Guide" covering this? I hope.
Is there a StrictDoc "Users Guide"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue: This step isn't clear to me. Where are links needed and what exactly do you mean with "new distributed UIDs?
with links the links between requirements are meant. Added the missing information.
I mean with new distributed UIDs the UIDs which are generated by the tool itself.
I recall the discussion on how to manage UIDs and do not recall the details. Is there a reference in the StrictDoc "Users Guide" covering this? I hope. Is there a StrictDoc "Users Guide"?
The discussion was on the mailing list, how to manage UIDs. This was actual my proposal how to handle UIDs there was no objections against it and no counter proposal. The proposal uses commands which are provided and handled by the stricDoc tool. The user guide can be found here: https://strictdoc.readthedocs.io/en/stable/strictdoc_01_user_guide.html
|
||
Requirement Types: | ||
================== | ||
* Functional |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: Perhaps elaborate a bit on what makes requirements functional vs non-functional. I guess the main distinction is whether they can be verified by testing or not, see my comment above
doc/safety/safety_requirements.rst
Outdated
Characteristics of a good requirement: | ||
====================================== | ||
* Unambiguous | ||
* Testable (verifiable) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick: Testable is one verification strategy but not all verification happens through testing. IMHO make this read Verifiable (testable) or even Verifiable (e.g. testable for functional requirements)
doc/safety/safety_requirements.rst
Outdated
|
||
Scope | ||
===== | ||
The scope of the requirements are the **KERNEL** functionalities. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The scope of the requirements are the **KERNEL** functionalities. | |
The scope of the requirements covers the KERNEL functionalities. |
doc/safety/safety_requirements.rst
Outdated
The safety committee drive the effort to gather requirements to reflect the **actual** state of the | ||
implementation in requirements form, because of the route 3s approach of the projects safety | ||
effort. It is **NOT** the intention to create a new set of requirements to add them into the project | ||
to request new features. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The safety committee drive the effort to gather requirements to reflect the **actual** state of the | |
implementation in requirements form, because of the route 3s approach of the projects safety | |
effort. It is **NOT** the intention to create a new set of requirements to add them into the project | |
to request new features. | |
The safety committee leads the effort to gather requirements that reflect the **actual** state of the | |
implementation, following the route 3s approach of the project's safety effort. The goal is **NOT** | |
to create new requirements to request additional features for the project. |
doc/safety/safety_requirements.rst
Outdated
Following are the guidelines for the requirements repository and what the safety committee | ||
expects when requirements are added to the repository |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Following are the guidelines for the requirements repository and what the safety committee | |
expects when requirements are added to the repository | |
Below are the guidelines for the requirements repository and the expectations of the safety | |
committee when adding requirements to the repository. |
doc/safety/safety_requirements.rst
Outdated
|
||
Consistency | ||
=========== | ||
Consistency across all requirements. The language and choice of words shall be consistent. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consistency across all requirements. The language and choice of words shall be consistent. | |
Maintain consistency across all requirements. The language and choice of words shall be consistent. |
doc/safety/safety_requirements.rst
Outdated
* System Requirements: | ||
|
||
System requirements describe the behaviour of the Zephyr RTOS (= the system here). | ||
They describe the functionality of the Zephyr RTOS of a very high level point of view, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They describe the functionality of the Zephyr RTOS of a very high level point of view, | |
They describe the functionality of the Zephyr RTOS from a high-level perspective, |
doc/safety/safety_requirements.rst
Outdated
* System Requirements: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* System Requirements: | |
System Requirements |
doc/safety/safety_requirements.rst
Outdated
* Software Requirements: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Software Requirements: | |
Software Requirements |
doc/safety/safety_requirements.rst
Outdated
For the requirements management the tool `strictDoc | ||
<https://strictdoc.readthedocs.io/en/stable/>`__ | ||
is used, therefore the UID (Unique identifier) handling shall be handled by the tool and this can be achived by Following | ||
handling: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the requirements management the tool `strictDoc | |
<https://strictdoc.readthedocs.io/en/stable/>`__ | |
is used, therefore the UID (Unique identifier) handling shall be handled by the tool and this can be achived by Following | |
handling: | |
The tool used to manage requirements, strictDoc <https://strictdoc.readthedocs.io/en/stable/>_, is | |
responsible for handling the Unique Identifier (UID) associated with each requirement. To manage | |
UIDs, follow these steps: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it intended to add the ``` after steps? This change cause doc build errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Definitely not intended, sorry!
doc/safety/safety_requirements.rst
Outdated
is used, therefore the UID (Unique identifier) handling shall be handled by the tool and this can be achived by Following | ||
handling: | ||
|
||
#. Don't add a requirement UID filed for new requirements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#. Don't add a requirement UID filed for new requirements | |
#. Don't fill in the requirement UID when creating new requirements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this case the complete filed don't need to be added for a requirement,
doc/safety/safety_requirements.rst
Outdated
* `EARS | ||
<https://alistairmavin.com/ears/>`__ is a good reference. | ||
Particularly if you are unfamiliar with requirements writing. | ||
* Other formats accepted as long as the characteristics |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make these two bullet points sub-bullet points of "Use of a recognized..."
doc/safety/safety_requirements.rst
Outdated
|
||
Introduction | ||
************ | ||
The safety committee drive the effort to gather requirements to reflect the **actual** state of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
praise:
The safety committee drive the effort to gather requirements to reflect the **actual** state of the | |
The safety committee drives the effort to gather requirements to reflect the **actual** state of the |
doc/safety/safety_requirements.rst
Outdated
Introduction | ||
************ | ||
The safety committee drive the effort to gather requirements to reflect the **actual** state of the | ||
implementation in requirements form, because of the route 3s approach of the projects safety |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: route 3S is a 61508 specific term, perhaps worth adding a comment or reference to the glossary. I am pretty sure not everybody will immediately know what this means.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will ad a linkt to : https://docs.zephyrproject.org/latest/safety/safety_overview.html#general-safety-scope where the route 3s is described.
@kartben can you take another look, all comments should have been addressed |
pushed minor updates to fix formatting for definition list as I figured it would be quicker than another roundtrip of request for changes, Almost messed up your PR in the process though, sorry @simhein :) LGTM, thanks! |
Add documentation to point to the requirements repository and give the contributors a guideline how to add requirements to that repository. Signed-off-by: Simon Hein <Shein@baumer.com>
Thanks for taking a look again and saving the roundtrip 😄 |
@nashif and @tobiaskaestner can you have another look as well? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, whatever isn't addressed in this PR we can follow up within subsequent PRs.
Add documentation to point to the requirements repository and give the contributors a guideline how to add requirements to that repository.