DESCRIPTION: This module tests the basic features for setting up structure networks within the CSS and inquiring about their topology. Other features for the manipulation of the CSS are tested in the modules below this one. These descendant modules assume the capabilities tested herein, especially those for inquiring about the state of the CSS. SEMANTIC REQUIREMENTS:#F 113
SR1. Insertion of an <execute structure> element establishes a network link between the structure containing it (parent) and the structure referred to by it (child).
#F 210
SR2. <Inquire structure identifiers> returns a list of identifiers for all existing structures in the CSS.
#F 308
SR3. <Inquire paths to ancestors> returns a list of ancestor paths from the specified structure identifier.
#F 309
SR4. <Inquire paths to descendants> returns a list of descendant paths from the specified structure identifier.
#F 113 308 309
SR5. An ancestor or descendant path is a sequence of at least two ordered pairs (one pair for the specified structure, the second for an immediate ancestor or descendant) each of which consists of a referring structure identifier and the position of the 'execute structure' element in that structure (0 if there is no such element in the structure).
#F 113 308 309
SR6. Ancestor and descendant paths are always ordered with the element for the referring (parent) structure identifier preceding that for the referred (child) structure identifier, i.e. top-down.
#F 308
SR7. An ancestor path returned by <inquire paths to ancestors> is maximal if path depth is specified as zero or if path depth is positive but is not exceeded by the number of elements in the maximal path.
#F 309
SR8. A descendant path returned by <inquire paths to descendants> is maximal if path depth is specified as zero or if path depth is positive but is not exceeded by the number of elements in the maximal path.
#F 308
SR9. If a positive path depth of P and path order of TOPFIRST is specified for <inquire paths to ancestors>, then only the first P elements of any maximal ancestor path whose length exceeds P will be reported.
#F 308
SR10. If a positive path depth of P and path order of BOTTOMFIRST is specified for <inquire paths to ancestors>, then only the last P elements of any maximal ancestor path whose length exceeds P will be reported.
#F 309
SR11. If a positive path depth of P and path order of TOPFIRST is specified for <inquire paths to descendants>, then only the first P elements of any maximal descendant path whose length exceeds P will be reported.
#F 309
SR12. If a positive path depth of P and path order of BOTTOMFIRST is specified for <inquire paths to descendants>, then only the last P elements of any maximal descendant path whose length exceeds P will be reported.
#F 308
SR13. If, after truncation due to path depth, the remaining portions of two distinct maximal ancestor paths are the same, then only one such portion is reported by <inquire paths to ancestors>.
#F 309
SR14. If, after truncation due to path depth, the remaining portions of two distinct maximal descendant paths are the same, then only one such portion is reported by <inquire paths to descendants>.
LOCAL DICTIONARY:
Functions --- 113: pexst <execute structure> 210: pqsid <inquire structure identifiers> 308: pqpan <inquire paths to ancestors> 309: pqpde <inquire paths to descendants> Data Structures --- 7 ... structure_state_list 7.1 ... structure_identifier 7.3 ... list_of_structure_elements 7.3.4 ... execute_structure LOCAL SUBROUTINES: PTHSEQ accepts as a parameter a set of expected ancestor or descendant paths and compares the reported (actual) set to this expected value to test for set-equality.
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.