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