Requirements, use-cases and detailed specifications.
The master version of all use-cases can be found in /use-cases/. Each
use-case has its own subdirectory there.
A use-case is structured as follows:
- Preconditions for the use-case (in
preconditions.md). - Name in the wiki (in
name). - A subdirectory for each variant of the use-case containing:
- A description of that variant (in
description.md). - The user view of what happens in that variant of the use-case (in
user.md).
- A description of that variant (in
From these files and patterns stored in /use-cases/.patterns/, the following
files are generated for each use-case variant:
- The system view of what happens in that variant of the use-case (in
system.md). - Sequence diagram sources matching the user and system views (in
user.seq-diagandsystem.seq-diag). - Sequence diagram images matching the user and system views (in
user.seq-diag.pngandsystem.seq-diag.png). - An integration test (in Python) for that variant of the use-case (in
test.py).
To generate these files run:
make use-casesTo collect this information and copy it to the wiki as one page per use-case, run:
make wikiYou still have to review, commit and push any changes to the wiki repository yourself.
To generate an overview of all existing protocol documentation in the public wikis for the system run:
make protocol-overviewTo copy integration tests to the Coverage Tests repository, run:
make integration-testsYou still have to review, commit and push any changes to the coverage tests repository yourself.
Note: The command will fail if you haven't checked out the coverage tests repository somewhere under your home directory.