Design: 04.02.04.01/P10
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 10: Annotation style
CHARACTERISTICS: ynny
OPERATOR SCRIPT:
Throughout this program, when an annotation text primitive is
displayed, its reference point is marked with an asterisk
polymarker, and its annotation point with a circle polymarker.
ANNOTATION STYLE 1: This screen should display several examples
of annotation style #1 (reference point unconnected to annotation
point), and one example of a different style. Identify the
distinct style.
UNSUPPORTED ANNOTATION STYLES: As above, for ANNOTATION STYLE 1.
ANNOTATION STYLE 2: This screen should display several examples
of annotation style #2 (reference point connected to annotation
point), and one example of a different style. Identify the
distinct style.
NON-MANDATORY REGISTERED ANNOTATION STYLES: This screen displays
a sample of supported registered annotation styles (at most 8).
For each displayed style, look up its annotation style identifier
in the ISO register and verify that the actual appearance of the
style agrees with the ISO specification.
IMPLEMENTOR DEFINED ANNOTATION STYLES: This screen displays a
sample of implementor defined annotation styles (at most 8). For
each displayed style, look up its annotation style identifier in
the implementor's documentation and verify that the actual
appearance of the style agrees with the specification.
COMPLETE DOCUMENTATION FOR IMPLEMENTOR ANNOTATION STYLES: No
associated picture. Verify that all the entries in the list of
available annotation styles for this workstation type are
documented by the implementor. The list may be a subset of the
documented annotation styles.
DESIGN:
use <inquire annotation facilities> to determine:
numas = number of available annotation styles
lavsas = list of available standard annotation styles
lavras = list of available registered (non-mandatory) annotation styles
lavias = list of available implementor-defined annotation styles
TEST: #SR 77
"The list of available annotation styles returned by
<inquire annotation facilities> should include styles
number 1 and 2."
pass/fail depending on (lavsas includes styles 1 and 2)
message to operator: throughout this program, annotation text
reference point is marked with asterisk polymarker, annotation
point with circle polymarker.
if (annotation style #1 not available) then
message: skipping tests for style #1
goto end_style_1
endif
*** *** *** style #1 (unconnected) *** *** ***
set up perm to randomize order
ngstyl = random integer from 1 to 3
display interspersed 3 actual and 3 simulated examples of style #1,
with actual #ngstyl done incorrectly (use style #2)
TEST: #SR 1 2 5 75 76 78 80
"The mandatory annotation style number 1 should leave the
reference point and the annotation point of the annotation
text primitive unconnected."
OPQA/ANNOTATION STYLE 1: Which annotation style is different?
pass/fail depending on (operator correctly identifies primitive
with style #2)
if (2 not available) then
goto end_style_1
endif
lunsup = list of (mostly) unsupported annotation styles, contains:
a negative unsupported type (< minimum in lavias)
a positive unsupported type (> maximum in lavras)
1,
2, if supported (the only non-#1 style)
0, if not in lavias
Display in random order annotation styles from lunsup
TEST: #SR 5 75 76 78 79 80
"Unavailable annotation styles should be displayed as
annotation style number 1."
OPQA/UNSUPPORTED ANNOTATION STYLES: Which annotation style is
different?
pass/fail depending on (the #2 annotation style selected)
end_style_1:
*** *** *** style #2 (connected) *** *** ***
if (annotation style #2 not available) then
message: skipping tests for style #2
goto end_style_2
endif
set up perm to randomize order
ngstyl = random integer from 1 to 3
display interspersed 3 actual and 3 simulated examples of style #2,
with actual #ngstyl done incorrectly (use style #1)
TEST: #SR 1 2 5 75 76 78 80
"The mandatory annotation style number 2 should connect
the reference point and annotation point with a polyline,
using the current attributes."
OPQA/ANNOTATION STYLE 2: Which annotation style is different?
pass/fail depending on (operator correctly identifies primitive
with style #2)
end_style_2:
*** *** *** registered styles *** *** ***
regdx = size of lavras
if regdx < 1 skip to neg_type, with message
if regdx < 9
stydis = styles to be displayed = all annotation styles in lavras
else
stydis = styles to be displayed = 8 annotation styles randomly
selected from lavras
endif
display in order and label all annotation styles in stydis
TEST: #SR 5 75 76 78 81
"The registered non-mandatory annotation styles (> 2) should
agree with their registered description."
OPQA/NON-MANDATORY REGISTERED ANNOTATION STYLES: Is each
annotation style depicted according to its numeric identifier's
specification in the ISO register?
pass/fail depending on (operator responds "yes")
neg_type:
*** *** *** implementor-defined styles *** *** ***
impdx = size of lavias
if impdx < 1 goto end_annotation_style, with message
if impdx< 9
stydis = styles to be displayed = all annotation styles in lavias
else
stydis = styles to be displayed = 8 annotation styles randomly
selected from lavias
endif
display in order and label all annotation styles in stydis
TEST: #SR 5 75 76 78 82
"Implementor-defined annotation styles (< 1) should agree
with the descriptions supplied by the implementor."
OPQA/IMPLEMENTOR DEFINED ANNOTATION STYLES: Is each annotation
style depicted according to its numeric identifier's
specification in the implementor documentation?
pass/fail depending on (operator responds "yes")
if (impdx <= 8) then
all implementor annotation styles already shown - skip test
goto end_annotation_style
endif
TEST: #SR 82
"All reported implementor-defined annotation styles
available for a given workstation type should be
documented by the implementor."
OPQA/COMPLETE DOCUMENTATION FOR IMPLEMENTOR ANNOTATION STYLES:
Are all these reportedly available annotation styles documented
by the implementor <lavias> ?
pass/fail depending on (operator responds "yes")
end_annotation_style:
END PROGRAM 10