DESCRIPTION: This module tests that the functions related to workstation generate the specified workstation error messages if they are executed in incorrect conditions. The error is handled by a user defined error handling subroutine. Also, this module tests the requirement that no side effects are generated. SEMANTIC REQUIREMENTS:#F 3
SR1. If function <open workstation> is called, and the specified connection identifier is not recognized by the implementation, then error 50 or 55 is generated and the function is ignored.
#F 3
SR2. If function <open workstation> is called, and the specified workstation type is not recongnized by the implementation, then error 52 or 55 is generated and the function is ignored.
#F 3
SR3. If function <open workstation> is called, and the specified workstation identifier already is in use, then error 53 is generated and the function is ignored.
#F 4-8 63-72 74 84-90 132-134 151-185 187 196-198
SR4. If functions <close workstation>-<messages>, <set polyline representation>-<set colour model>, <set hlhsr mode>, <set view representation 3>-<set workstation viewport>, <post structure>-<unpost all structures>, <set pick filter>-<sample string>, <flush device events>, <write item to metafile>- <read item from metafile> are called , and the specified workstation is not open, then error 54 or 3 is generated and the function is ignored.
#F 3
SR5. If function <open workstation> is called, and the specified workstation cannot be opened for an implementation reason, then error 55, 50 or 52 is generated and the function is ignored.
#F 196
SR6. If function <write item to metafile> is called, and the specified workstation is not of category MO, then error 56 is generated and the function is ignored.
#F 84-90
SR7. If functions <set view representation 3>-<set workstation viewport> are called, and the specified workstation is of category MI, then error 57 is generated and the function is ignored.
#F 197-198
SR8. If functions <get item type from metafile>-<read item from metafile> are called, and the specified workstation is not of category MI, then error 58 is generated and the function is ignored.
#F 5-7 63-72 74 132-134
SR9. If functions <redraw all structures>-<set display update state>, <set polyline representation>-<set colour mode>, <set hlhsr filter>, <post stucture>-<unpost all structures> are called, and the specified workstation does not have output capability, then error 59 is generated and the function is ignored.
#F 151 160 161 168 173 176 184
SR10. If functions <set pick filter>, <initialize pick 3>, <initialize pick>, <set pick mode>, <request stroke>, <request pick>, <sample pick> are called, and the specified workstation is not of category OUTIN, then error 60 is generated and the function is ignored.
#F 152-159 162-167 169-172 174 175 177-183 185 187
SR11. If functions <initialize locator 3>-<initialize choice>, <intialize string 3>-<set choice mode>, <set string mode>-<request stroke 3>, <request valuator>, <request choice>, <request string>-<sample choice>, <sample string>, <flush device events> are called, and the specified workstation is neither of category INPUT nor of category OUTIN, then error 61 is generated and the function is ignored.
#F 3
SR12. If function <open workstation> is called, and opening this workstation would exceed the maximum number of simultaneously open workstation, then error 63 is generated and the function is ignored.
LOCAL DICTIONARY:
Functions --- 003: popwk <open workstation> 004: pclwk <close workstation> 005: prst <redraw all structures> 006: puwk <update workstation> 007: psdus <set display update state> 008: pmsg <message> 063: psplr <set polyline representation> 064: pspmr <set polymarker representation> 065: pstxr <set text representation> 066: psir <set interior representation> 067: psedr <set edge representation> 068: pspar <set pattern representation> 069: pscr <set colour representation> 070: pshlft <set highlighting filter> 071: psivft <set invisibility filter> 072: pscmd <set colour model> 074: pshrm <set hlhsr mode> 084: psvwr3 <set view representation 3> 085: psvwr <set view representation> 086: psvtip <set view transformation input priority> 087: pswkw3 <set workstation window 3> 088: pswkw <set workstation window> 089: pswkv3 <set workstation viewport 3> 090: pswkv <set workstation viewport> 132: ppost <post structure> 133: pupost <unpost structure> 134: pupast <unpost all structures> 151: pspkft <set pick filter> 152: pinlc3 <initialize locator 3> 153: pinlc <initialize locator> 154: pinsk3 <initialize stroke 3> 155: pinsk <initialize stroke> 156: pinvl3 <initialize valuator 3> 157: pinvl <initialize valuator> 158: pinch3 <initialize choice 3> 159: pinch <initialize choice> 160: pinpk3 <initialize pick 3> 161: pinpk <initialize pick> 162: pinst3 <initialize string 3> 163: pinst <initialize string> 164: pslcm <set locator mode> 165: psskm <set stroke mode> 166: psvlm <set valuator mode> 167: pschm <set choice mode> 168: pspkm <set pick mode> 169: psstm <set string mode> 170: prqlc3 <request locator 3> 171: prqlc <request locator> 172: prqsk3 <request stroke 3> 173: prqsk <request stroke> 174: prqvl <request valuator> 175: prqch <request choice> 176: prqpk <request pick> 177: prqst <request string> 178: psmlc3 <sample locator 3> 179: psmlc <sample locator> 180: psmsk3 <sample stroke 3> 181: psmsk <sample stroke> 182: psmvl <sample valuator> 183: psmch <sample choice> 184: psmpk <sample pick> 185: psmst <sample string> 187: pflush <flush device events> 196: pwitm <write item to metafile> 197: pgtitm <get item type from metafile> 198: prditm <read item from metafile> Data Structures --- 1 ... operating_state 1.2 ... workstation_state 2 ... phigs_description_table 2.2 ... list_of_available_workstation_types 2.3 ... maximum_number_of_simultaneously_open_workstations 4 ... phigs_state_list 4.1 ... set_of_open_workstations 4.1.1 ... workstation_identifier 5 ... workstation_state_list 5.1 ... workstation_identifier 6 ... workstation_description_table 6.1 ... workstation_type 6.2 ... workstation_category 8 ... phigs_error_state_list 8.1 ... error_state
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.
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.
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.
You may inspect either the design or code for this program.