Closed shonfeder closed 3 years ago
Synonymy is not introduced in this pr. See #21 for more context.
As indicated in the spec, the motivation for synonym is to account for cases when "a logical unit implements multiple units from a higher level". That logical unit itself demonstrates a case of this.
Concretely, the kind of example that motivated this was when implementing the function to add logical units for the tracer tool. It satisfies both TRC-UNIQ.1::DUPS.1
(because we guard against dups when adding tags to the database) and TRC-GITHUB-REF.1::IMPL.1
(because we record the location of tags when we add them to the database). Without something like synonymy, I don't know how we'll deal with these kinds of cases.
All that said, I'd rather not have the additional complexity, either in parsing or in graph of dependencies. Can you think of a way this can be avoided? Is my thinking around the likelihood of one unit implementing multiple requirements wrong? Should that be impossible? If not, is there a better way to address this scenario?
This adds links and anchors to the traceability spec (generated with
themis-tracer linkify
).The diff is unfortunately long, but it's just because of reformatting for line wrapping. The only changes here are:
**
around unit refs.Rendered file is here: https://github.com/informalsystems/vdd/blob/3005154794b71e84ab6f1e43c2b1453205d86a25/traceability/traceability.md