Design: 02.01.02.02/P08
This is an abstract, language-independent design. Grim
details may be found in the
corresponding source code.
You may return to the
documentation
for the module containing this program design, or to the
entire hierarchical table of
topics covered by the PVT.
PROGRAM 8: Deletion of a structure network with the reference flag
set to keep and references are made to the closed
specified structure
CHARACTERISTICS: nnnn
OPERATOR SCRIPT: passive test
DESIGN:
Use <open structure> and <execute structure> to set up the CSS
as follows:
100
/ \
/ \
1/ \2
/ \
/ \
101 102 120 130 140
| | / | \ | /| |
1| |2 / | \ | / | 1|
| | 1/ 2| 3\ 1| /1 |2 |
| | / | \ | / | |
103 / | \ |/ | 142
104 105 106 107
| | | | / /\
1| |2 /|\ | / / \
| | 1/ | \3 1| 1/ /2 \3
109 / | \ | / / \
/ | \ |/ / 113
110 | 108
| |
| |1
|2 |
| |
| 111
| / |
| 1/ |
| / 2|
|/ |
114 115
The nodes of the graph (100 and above) represent structures, and the
labelled edges are references to invoke (lower) structures. The
labels (1-3) represent the element position of the <execute structure>
function within the calling structure.
TEST: #SR 7 8
"When the reference handling flag is set to keep and the
closed specified structure is referenced outside the structure
network the following changes should occur to the CSS:
The specified and all closed non-specified structures all of whose
maximal ancestor paths contain the specified structure are removed.
All non-specified structures one of whose maximal ancestor path
does not contain the specified structure remain AS IS."
specf = 108
reffg = KEEP
<delete structure network> using specf, reffg
pass/fail depending on (CSS contents =
100
/ \
/ \
1/ \2
/ \
/ \
101 102 120 130 140
| | / | \ | /| |
1| |2 / | \ | / | 1|
| | 1/ 2| 3\ 1| /1 |2 |
| | / | \ | / | |
103 / | \ |/ | 142
104 105 106 107
| | | |
1| |2 /| |1
| | 1/ | |
109 / |2 |
/ | 113
110 |
114 )
END PROGRAM 8