Module #02.01.03.03 : Change structure identifier and references

All PVT documentation can be found under PHIGS Validation Tests - Overview. You may also return to the hierarchical table of topics covered by the PVT. For an explanation of the format of the individual module documentation, please see section 2.5 of the User's Guide.


DESCRIPTION:
This module tests the effects of <Change Structure Identifier and
References>.  Changes which occur to the original structure, the
resulting structure and the state of the CSS are examined.

The following truth table applies when the original and resulting
identifier are different.  The information regarding changes to
the CSS network may be derived from the "Org Cont", "Res Cont"
and NON-EXIST of the resulting state of the truth table.


             INITIAL STATE       | |        RESULTING STATE
---------------------------------| |----------------------------------------
TC | Org  | Org   : Res  | Res   | |Org  |Org  | Org   : Res  | Res | Res
 # | Stat | Post  : Stat | Post  | |Stat |Cont | Post  : Stat | Cont| Post
---+-----------------------------| |----------------------------------------
 1 |  NON-EXIST   : NON-EXIST    | |  NON-EXIST        : clos | emp | npt-N
 2 |  NON-EXIST   : clos | npt-N | |  NON-EXIST        : clos | emp | npt-N
 3 |  NON-EXIST   : clos | pst-R | |  NON-EXIST        : clos | emp | pst-R
 4 |  NON-EXIST   : open | npt-N | |  NON-EXIST        : open | emp | npt-N
 5 |  NON-EXIST   : open | pst-R | |  NON-EXIST        : open | emp | pst-R
                                 | |
 6 | clos | npt-N : NON-EXIST    | |  NON-EXIST        : clos | org | npt-N
 7 | clos | npt-N : clos | npt-N | |  NON-EXIST        : clos | org | npt-N
 8 | clos | npt-N : clos | pst-R | |  NON-EXIST        : clos | org | pst-R
 9 | clos | npt-N : open | npt-N | |  NON-EXIST        : open | org | npt-N
10 | clos | npt-N : open | pst-R | |  NON-EXIST        : open | org | pst-R
                                 | |
11 | clos | pst-O : NON-EXIST    | |  NON-EXIST        : clos | org | pst-O
12 | clos | pst-O : clos | npt-N | |  NON-EXIST        : clos | org | pst-O
13 | clos | pst-O : clos | pst-R | |  NON-EXIST        : clos | org | pst-R
14 | clos | pst-O : open | npt-N | |  NON-EXIST        : open | org | pst-O
15 | clos | pst-O : open | pst-R | |  NON-EXIST        : open | org | pst-R
                                 | |
16 | open | npt-N : NON-EXIST    | |open | emp | npt-N : clos | org | npt-N
17 | open | npt-N : clos | npt-N | |open | emp | npt-N : clos | org | npt-N
18 | open | npt-N : clos | pst-R | |open | emp | npt-N : clos | org | pst-R
                                 | |
19 | open | pst-O : NON-EXIST    | |open | emp | npt-N : clos | org | pst-O
20 | open | pst-O : clos | npt-N | |open | emp | npt-N : clos | org | pst-O
21 | open | pst-O : clos | pst-R | |open | emp | npt-N : clos | org | pst-R

Explanation of columns:
TC#              Test case number

INITIAL STATE    Indicates the state of the original and resulting
                 structure before the execution of the <change structure
                 identifier and references> function.

   NON-EXIST        The original or resulting structure does not
                    exist in the CSS at the time the <change structure
                    identifier and references> function is executed.

   Org or Res Stat  open  The structure is open at the time the <change
                          structure identifier and references> function
                          is executed.
                    clos  The structure is closed at the time the <change
                          structure identifier and references> function
                          is executed.

   Org or Res Post  pst   The structure is posted to some workstation
                          at the time the <change structure identifer
                          and references> function is executed.
                          O - The posting priority of original structure at
                              the time the <change structure identifier and
                              references> function is executed.
                          R - The posting priority of resulting structure at
                              the time the <change structure identifier and
                              references> function is executed.
                    npt   The structure is not posted to any workstation
                          at the time the <change structure identifier and
                          references> function is executed.
                          N - There is no posting priority associated with
                              original or resulting structure.


RESULTING STATE  Indicates the state of the original and resulting
                 structure after the execution of the <change structure
                 identifier and references> function.

   NON-EXIST        No structure exists with the original identifier
                    in the CSS after the <change structure identifier
                    and references> function is executed.

   Org Stat    open  The structure with the original structure
                     identifier is open after the <change structure
                     identifier and references> function is executed.
               clos  The structure with the original structure
                     identifier is closed after the <change structure
                     identifier and references> function is executed.

   Org Cont    emp   The structure with the original identifier is
                     empty after the <change structure identifier
                     and references> function is executed.

   Org Post    npt   The original structure identifier is not posted to
                     any workstation after the <change structure
                     identifier and references> function is executed.
                     N - There is no posting priority associated with
                         original structure after execution of the
                         <change structure identifier and references>
                         function.

   --------------------------------------------------------------

   Res Stat    open  The structure with the resulting structure
                     identifier is open after the <change structure
                     identifier and references> function is executed.
               clos  The structure with the resulting structure
                     identifier is closed after the <change structure
                     identifier and references> function is executed.

   Res Cont    org   The contents, if any, of the resulting structure
                     are replaced by the contents of original structure
                     after the <change structure identifier and
                     references> function is executed.
               emp   The structure with the resulting structure
                     identifier is empty after the <change structure
                     identifer and references> function is executed.

   Res Post    pst   After execution of the <change structure identifier
                     and references> function, the resulting structure
                     identifier is posted to the same workstation(s) it
                     was before, and also to any workstations to which
                     the original structure identifier was posted.
                     O - The resulting structure identifier is posted with
                         the priority of original structure after execution
                         of <change structure identifier and references>.
                     R - The resulting structure is posted with unchanged
                         priority after execution of <change structure
                         identifier and references>.
               npt   The resulting structure identifier is not posted
                     to the any workstation after the <change structure
                     identifier and references> function is executed.
                     N - There is no posting priority associated with
                         resulting structure after execution of the
                         <change structure identifier and references>
                         function.

SEMANTIC REQUIREMENTS:


SR1. When the original and resulting structure identifiers differ, <change structure identifier and references> causes the transition from the initial state to the resulting state as described in the truth table.
#F 131
#D 7 7.1 7.2 7.3.4 1.3 4.2 5.7
#S 4.4.5/30/1
#T P01/1 P01/2 P01/3 P01/4 P01/5 P01/6 P01/7 P01/8 P01/9 P01/10 P01/11
#T P01/12 P01/13 P01/14 P01/15 P01/16 P01/17 P01/18 P01/19 P01/20
#T P01/21 P01/22 P01/23 P01/24 P01/25 P01/26 P01/27 P01/28 P01/29
#T P01/30 P01/31 P01/32 P01/33 P01/34 P01/35 P01/36 P01/37 P01/38
#T P01/39 P01/40 P01/41 P01/42
#X 05.03


SR2. <Change structure identifier and references> creates an empty structure when the original and resulting structure identifier are the same and the common structure does not exist.
#F 131
#D 7 7.1
#S 4.4.5/30/1
#T P02/1 P02/2

SR3. When the original and resulting structure identifier are the same and the common structure exists, then no action is performed by execution of <change structure identifier and references>.
#F 131
#D 7 7.1 7.2 1.3 4.2 5.7
#S 4.4.5/30/1
#T P02/3 P02/4 P02/5 P02/6 P02/7 P02/8 P02/9 P02/10

SR4. When the original and resulting identifier are the same and the existing common structure is open, then the element position of the structure remains as is after execution of <change structure identifier and references>.
#F 131
#D 4.3
#S
#T P03/1 P03/2

SR5. When the original and resulting structure identifiers differ and the original structure is open after execution of <change structure identifier and references>, then the element pointer is positioned at 0.
#F 131
#D 4.3
#S
#T P03/3

SR6. When the original and resulting structure identifiers differ and the resulting structure is open after execution of <change structure identifer and references>, then the element pointer is positioned at the last element (0 if the structure is empty).
#F 131
#D 4.3
#S
#T P03/4 P03/5 P03/6

SR7. <Change structure identifier and references> replaces all structure invocations of original structure with invocations of resulting structure.
#F 131 130
#D 7.1 7.3.4
#S 4.4.5/30/1
#T P01/2 P01/4 P01/6 P01/8 P01/10 P01/12 P01/14 P01/16 P01/18 P01/20
#T P01/22 P01/24 P01/26 P01/28 P01/30 P01/32 P01/34 P01/36 P01/38
#T P01/40 P01/42

SR8. When the resulting structure is referenced then <change structure identifier and references> causes those references to remain as is.
#F 131 130
#D 7.1 7.3.4
#S 4.4.5/30/1
#T P01/2 P01/4 P01/6 P01/8 P01/10 P01/12 P01/14 P01/16 P01/18 P01/20
#T P01/22 P01/24 P01/26 P01/28 P01/30 P01/32 P01/34 P01/36 P01/38
#T P01/40 P01/42

LOCAL DICTIONARY:

  Functions ---
  130: pcstrf  <change structure references>
  131: pcstir  <change structure identifier and references>
 
  Data Structures ---
  1  ...  operating_state
  1.3  ...  structure_state
  4  ...  phigs_state_list
  4.2  ...  name_of_open_structure
  4.3  ...  element_pointer
  5  ...  workstation_state_list
  5.7  ...  list_of_posted_structures
  7  ...  structure_state_list
  7.1  ...  structure_identifier
  7.2  ...  list_of_workstations_to_which_posted
  7.3  ...  list_of_structure_elements
  7.3.4  ...  execute_structure
 
SEMANTIC CROSS-REFERENCES:
  02.01.01/SR07

LOCAL SUBROUTINES:  The programs in this module use special-purpose
subroutines:

1. TSTCIR performs a test case for one of the change structure
functions.  Based on the input parameters, it sets up a test
message, executes the appropriate function, examines the result,
and issues pass or fail.

2. ELSTR creates a substring consisting of integer pairs to
represent the contents of a structure.  Within each pair, the
first value indicates the element type (execute structure or
label) and the second value indicates the element content.

3. TCSCIR returns a substring used in the formulation of the test
message.  The substring indicates the precondition and expected
postcondition of a particular structure.  The structure can be
non-existent, opened or closed, referenced or not referenced,
posted or not posted, and empty or with the contents of original
structure.

4. ACTST returns the actual state of a structure.  The structure
can be non-existent, opened or closed, posted or not posted, and
empty or with the contents of original structure or some other
contents.


Calling structure:

                       TSTCID
                      /   |  \
                     /    |   \
                    /     |    \
                   /      |     \
                ELSTR  TCSCID  ACTST



PROGRAM 1: <Change structure identifier and references> where the original and resulting structures differ

You may inspect either the design or code for this program.


PROGRAM 2: Changing a structure identifier and references when the original and resulting identifier are the same

You may inspect either the design or code for this program.


PROGRAM 3: Effects of <change structure identifier and references> on the element pointer

You may inspect either the design or code for this program.

End of documentation for 02.01.03.03