In IBM Rational Rhapsody Gateway Add-on (Gateway), how can you configure the default setting so that a compound requirement will be shown as "covered" in the coverage analysis report even if all of its sub-requirements are not satisfied?
The default rule used in Gateway to detect uncovered requirements is designed to treat a compound requirement as not-covered if all of its sub-requirements are not satisfied.
According to 'SysML specification v1.2', in order to make a compound requirement "covered", all of its sub-requirements have to be satisfied, and Gateway's default behavior match with the description.
"The default interpretation of a compound requirement, unless stated differently by the compound requirement itself, is that all its subrequirements must be satisfied for the compound requirement to be satisfied. Subrequirements can be accessed through the “nestedClassifier” property of a class. "
(Ref: Section 18.104.22.168)
Simply copy the attached file (rules.br) into the <project>_rpy folder (next to the <project>.rqtf file).
Then it will show the desired coverage after the UML Model document is reloaded.
The custom rule definition will be visible in Tool > Options > Project > Rules > Project Rules.
This customized rule is a simplified version of 'uncovered' rule defined in <Gateway>/config/otscript/3/rules_ibm.br. Additional line was added to meet the specific requirement as described above. Please use the attached file with a care since this file is provided as a sample and not formally tested.
Actual VS Desired Result:
All source code and/or binaries attached to this document are referred to here as "the Program". IBM is not providing program services of any kind for the Program. IBM is providing the Program on an "AS IS" basis without warranty of any kind. IBM WILL NOT BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS), EVEN IF IBM, OR ITS RESELLER, HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.