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
#F 131
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
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
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
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
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 130
SR7. <Change structure identifier and references> replaces all structure invocations of original structure with invocations of resulting structure.
#F 131 130
SR8. When the resulting structure is referenced then <change structure identifier and references> causes those references to remain as is.
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
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.