DESCRIPTION:
This module tests the deletion of structure networks
contained in the CSS. The state of the CSS is examined for the
changes which occur when structure networks are removed.
The semantic requirements of <delete structure network> may be described
for each structure in the network by the following table:
PRE-CONDITION | RESULTS
---------------------------------------------+-------------
reference ancestor structure |
flag status state |
--------- --------- --------- |
SR 1 DELETE ANSPEC OPEN | EMPTY
SR 2 DELETE NON-ANSPEC OPEN | EMPTY
|
SR 3 DELETE ANSPEC CLOSE | REMOVE
SR 4 DELETE NON-ANSPEC CLOSE | REMOVE
|
SR 5 KEEP ANSPEC OPEN | EMPTY
SR 6 KEEP NON-ANSPEC OPEN | AS IS
|
SR 7 KEEP ANSPEC CLOSE | REMOVE
SR 8 KEEP NON-ANSPEC CLOSE | AS IS
reference flag: DELETE The reference handling flag is set to delete.
KEEP The reference handling flag is set to keep.
ancestor status: ANSPEC All maximal ancestor paths from the structure
contain the structure specified in the
function.
NON-ANSPEC There exists a maximal ancestor path from
the structure that does not contain the
structure specified in the function.
structure status: OPEN The network structure is open at the time
the <delete structure network> function
is performed.
CLOSE The network structure is closed at the time
the <delete structure network> function
is performed.
RESULTS: EMPTY The network structure remains in the
CSS as an open, empty structure but all
references to it are removed.
AS IS The network structure remains in the
CSS with no changes. References to it by
non-deleted, non-emptied structures also
remain.
REMOVE The network structure is removed from
the CSS.
SEMANTIC REQUIREMENTS:
*** The first 8 SR's each refer to the corresponding line of the truth table.
SR1. (DELETE, ANSPEC, OPEN) ===> EMPTY
#F
127
#F 127
SR2. (DELETE, NON-ANSPEC, OPEN) ===> EMPTY
#F 127
SR3. (DELETE, ANSPEC, CLOSE) ===> REMOVE
#F 127
SR4. (DELETE, NON-ANSPEC, CLOSE) ===> REMOVE
#F 127
SR5. (KEEP, ANSPEC, OPEN) ===> EMPTY
#F 127
SR6. (KEEP, NON-ANSPEC, OPEN) ===> AS IS
#F 127
SR7. (KEEP, ANSPEC, CLOSE) ===> REMOVE
#F 127
SR8. (KEEP, NON-ANSPEC, CLOSE) ===> AS IS
#F 127
SR9. <Delete structure network> with a non-existent structure identifier has no effect on the contents of the CSS.
#F 127
SR10. If a structure is EMPTIED or REMOVED by <delete structure network> it is also unposted.
#F 127
SR11. If references to a deleted structure exist in the open structure and none of them is the current element, then, after they are deleted, the element pointer still points to the same element as before. If the element pointer was zero, it remains at zero.
#F 127
SR12. If references to a deleted structure exist in the open structure and one of them is the current element, then, after they are deleted, the element pointer is altered to point to the last preceding element, or to zero if there is no such element.
LOCAL DICTIONARY:
Functions --- 127: pdsn <delete structure network> Data Structures --- 4 ... phigs_state_list 4.2 ... name_of_open_structure 4.3 ... element_pointer 4.5 ... list_of_structure_identifiers 5 ... workstation_state_list 5.7 ... list_of_posted_structures 7 ... structure_state_list 7.3 ... list_of_structure_elements 7.3.4 ... execute_structure LOCAL SUBROUTINES: The programs in this module use a special-purpose subroutine: 1. DELCSS sets up a CSS network against which the programs test the PHIGS function <delete structure network>.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.