Design: 05.02/P03

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 3: Explicit updating

CHARACTERISTICS: ynnn

OPERATOR SCRIPT: passive test.

DESIGN:

picture change categories are numbered from 1 to 17:
  workstation changes :  1 to 12
  structure changes   : 13 to 17

  01 : polyline bundle representation
  02 : polymarker bundle representation
  03 : text bundle representation
  04 : interior bundle representation
  05 : edge bundle representation
  06 : pattern representation
  07 : colour representation
  08 : view representation
  09 : workstation transformation
  10 : highlighting filter
  11 : invisibility filter
  12 : HLHSR mode
  13 : structure content
  14 : post structure
  15 : unpost structure
  16 : delete structure
  17 : reference modification

invoke PICENV to set up standard picture environment

request-change: (#8,9,12) a workstation change in an entity for
  which there is a current and requested value, namely view
  representation, workstation transformation, and HLHSR.

non-request-change: (#1-7,10,11) a workstation change in an
  entity for which there is only a single value.

<set display update state> WAIT,NIVE

request-change     (8,9,12)    of greatest available severity
non-request-change (1-7,10,11) of greatest available severity
structure change   (13-17)     of greatest available severity
<redraw all structures> with CONDITIONAL
TEST: #SR 4 13 16
      "<Redraw all structures> should cause the state of visual
       representation to be CORRECT."
pass/fail depending on (current_SVR = CORRECT)

request-change     (12,9,8)    of greatest available severity
non-request-change (11,10,7-1) of greatest available severity
structure change   (17-13)     of greatest available severity
<update workstation> with PERFORM
TEST: #SR 4 13 17
      "<Update workstation> with regeneration flag = PERFORM
       should cause the state of visual representation to be
       CORRECT."
pass/fail depending on (current_SVR = CORRECT)

<redraw all structures> with CONDITIONAL to make svr = CORRECT
request-change     (9,8,12)         of severity = IMM
non-request-change (10,7-1,11)      of severity = IMM
structure change   (15,16,14,17,13) of severity = IMM
<update workstation> with POSTPONE
TEST: #SR 4 18
      "If the severity of all deferred actions is IMM, then
       <update workstation> with regeneration flag = POSTPONE
       should cause the state of visual representation to be
       CORRECT."
pass/fail depending on (current_SVR = CORRECT)

<redraw all structures> with CONDITIONAL to make svr = CORRECT
request-change     (9,8,12)         of severity = IRG
non-request-change (10,7-1,11)      of severity = IRG
structure change   (15,16,14,17,13) of severity = IRG
if no IRG-severity change available then
   goto end_irg
endif

<update workstation> with POSTPONE
TEST: #SR 4 18
      "If the severity of some of the deferred actions is IRG,
       then <update workstation> with regeneration flag = POSTPONE
       should leave the state of visual representation as
       DEFERRED or make it CORRECT."
pass/fail depending on (current_SVR = DEFERRED or CORRECT)

end_irg:

END PROGRAM 3