Traceable Constraints
Click arrow key () to navigate to next page
Traceable Constraints are Important
- Traceability of constraints from implementation to requirement is very important.
- Traceability ensures that:
- spurious constraints are not introduced,
- the successful implementation of requirements can be ascertained, and
- requirements that have unworkable ramifications can be identified.
- For a large system, a non-traceable constraint is a loose cannon.
Example
- Consider this XML instance document:
- <?xml version="1.0"?>
- <Document classification="secret">
- <Para classification="unclassified">
- One if by land, two if by sea;
- </Para>
- </Document>
- Suppose the requirements are stated in this document: security.html
- Continued on next slide ...
Example (cont.)
- In section A.1.3.4.5 of security.html it states the requirement:
-
Requirement: For an instance document to be valid the value of each classification attribute must be one of these values:
- top-secret
- secret
- confidential
- unclassified
Schematron "see" attribute
- The assert element has an optional "see" attribute, which may be used to link an assertion to the requirement it implements, e.g.
- <sch:pattern name="Classifications">
- <sch:assert test="@classification='top-secret' or
- @classification='secret' or
- @classification='confidential' or
- @classification='unclassified'"
- see="http://www.example.com/military/security.html#A.1.2.3.4.5">
- The value of a classification must be one of top-secret,
- secret, confidential, or unclassified, because of MILSPEC
- XXXX (1999) section A.1.2.3.4.5
- </sch:assert>
- </sch:rule>
- </sch:pattern>