[PATCH] eng: Update requirements tooling section

Gedare Bloom gedare at rtems.org
Fri May 29 15:05:15 UTC 2020


On Fri, May 29, 2020 at 1:19 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> Update #3715.
> ---
>  eng/req/tooling.rst | 33 ++++++++++++++++++++++-----------
>  1 file changed, 22 insertions(+), 11 deletions(-)
>
> diff --git a/eng/req/tooling.rst b/eng/req/tooling.rst
> index 9c175fc..28461e9 100644
> --- a/eng/req/tooling.rst
> +++ b/eng/req/tooling.rst
> @@ -80,11 +80,11 @@ Doorstop consists of three main parts
>
>  * a primitive GUI tool (not intended to be used).
>
> -For RTEMS, its scope will be extended to manage specifications in general.  The
> -primary reason for selecting Doorstop as the requirements management tool for
> -the RTEMS Project is its data format which allows a high degree of
> -customization.  Doorstop uses a directed, acyclic graph (DAG) of items.  The
> -items are files in YAML format.  Each item has a set of
> +For RTEMS, its scope could be extended to manage specifications in general.
> +The primary reason for a close consideration of Doorstop as the requirements
> +management tool for the RTEMS Project was its data format which allows a high
> +degree of customization.  Doorstop uses a directed, acyclic graph (DAG) of
> +items.  The items are files in YAML format.  Each item has a set of
>  `standard attributes <https://doorstop.readthedocs.io/en/latest/reference/item/>`_
>  (key-value pairs).
>
> @@ -92,16 +92,17 @@ The use case for the standard attributes is requirements management.  However,
>  Doorstop is capable to manage custom attributes as well.  We will heavily use
>  custom attributes for the specification items.  Enabling Doorstop to effectively
>  use custom attributes was done specifically for the RTEMS Project in several
> -patch sets.
> +patch sets which in the end turned out to be not enough to use Doorstop for the
> +RTEMS Project.
>
>  A key feature of Doorstop is the `fingerprint of items
>  <https://doorstop.readthedocs.io/en/latest/reference/item/#reviewed>`_.
>  For the RTEMS Project, the fingerprint hash algorithm was changed from MD5 to
>  SHA256.  In 2019, it can be considered cryptographically secure.  The
>  fingerprint should cover the normative values of an item, e.g. comments etc. are
> -not included.  The fingerprint helps RTEMS users to track the significant
> -changes in the requirements (in contrast to all the changes visible in Git).  As
> -an example use case, a user may want to assign a project-specific status to
> +not included.  The fingerprint would help RTEMS users to track the significant
> +changes in the requirements (in contrast to all the changes visible in Git).
> +As an example use case, a user may want to assign a project-specific status to
>  specification items.  This can be done with a table which contains columns for
>
>  1. the UID of the item,
> @@ -115,8 +116,8 @@ table, it can be determined which items are unchanged and which have another
>  status (e.g. unknown, changed, etc.).
>
>  After some initial work with Doorstop some issues surfaced
> -(`#471 <https://github.com/doorstop-dev/doorstop/issues/471>`_)
> -It turned out that Doorstop is not designed as a library and contains to much
> +(`#471 <https://github.com/doorstop-dev/doorstop/issues/471>`_).
> +It turned out that Doorstop is not designed as a library and contains too much
>  policy. This results in a lack of flexibility required for the RTEMS Project.
>
>  1. Its primary use case is requirements management. So, it has some standard
> @@ -147,3 +148,13 @@ policy. This results in a lack of flexibility required for the RTEMS Project.
>     example, we want to use specification items for a new build system. Here it
>     is handy if you can express things like this: A is composed of B and C.
>     Build B before C.
> +
> +.. _ReqEngManagementTool:
> +
> +Custom Requirements Management Tool
> +-----------------------------------
> +
> +Since no requirements management tool was available that fits the need of the
Delete "Since"

> +RTEMS Qualification Project.  The decision was to develop a custom requirements
> +management tool written in Python 3.6 or later.  The design for it is heavily
> +inspired by Doorstop.
> --
> 2.26.2
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list