requirements pack¶
6 nodes, in noodlelab and above.
Requirements¶
Check Candidates¶
requirements.check_candidates
Score candidate designs, one per row, against the requirements whose
quantity is a column of the table. Adds a <ID> margin column for
each, and compliant: whether the row meets them all. compliant
(the output) keeps only those rows, ready to sort and pick from.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|
Requirement IDs to apply, comma-separated; empty: all Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Load Requirements¶
requirements.load_requirements
Read requirements from a specification file: a CSV (or a YAML or JSON list) with the columns id, quantity, op, limit and optionally unit, upper, tolerance, text, method, priority and parent.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Merge Requirements¶
requirements.merge_requirements
One set from two, such as system and subsystem requirements. An ID may appear only once.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Requirement Value¶
requirements.requirement_value
A requirement’s limit, to design with: a quantity when it has a unit (for a range, the lower limit). The required data rate, say, sets the bandwidth the link needs.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Which requirement Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Requirements¶
requirements.requirements
Write down what the design must achieve, one requirement per line:
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
One per line: ID quantity >= limit unit [method] # statement. Also <=, > and < (strict), == limit ± tolerance, between low and high Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Verify Requirement¶
requirements.verify_requirement
Check a result against a requirement. The check passes when the value
is within the limit (every element of an array: the margin is then the
worst case) and reports the margin, how far inside the limit it is in
the requirement’s unit. A failed requirement does not stop the run: it
marks the node, is listed in the Problems tab and fails noodlelab test. Chain log from node to node and put it in a report with Add
Compliance Matrix.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|
Which requirement Default |
|
|
Earlier verifications: chain these nodes into one matrix Optional. |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|