DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦af7825e6b⟧ Wang Wps File

    Length: 39953 (0x9c11)
    Types: Wang Wps File
    Notes: CPS/SDS/029, ISSUE 2      
    Names: »1737A «

Derivation

└─⟦20fb15aa2⟧ Bits:30006084 8" Wang WCS floppy, CR 0130A
    └─ ⟦this⟧ »1737A « 

WangText

3…00……00……00……00……16……0a……00……00……16……0b……16……00……16……02……16……06……15……08……15……0a……15……0c……15……0d……15……0f……15……02……15… …15……07……14……0a……14……0d……14……02……14……05……13……09……13……0d……13……01……13……86…1                                             …02…           …02…   …02…        

…02…CPS/SDS/029

…02…850501…02……02…
SYSTEM STATUS AND CONTROL
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS








4.2.4    E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲a̲n̲d̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲D̲e̲s̲p̲a̲t̲c̲h̲e̲r̲

         The Error Handler and Command Despatcher consists of
         the two packages:

         -   Command Despatcher (CMD)

         -   System Error Handler (SEH)

         In 4.2.4.1 - 4.2.4.6 the CMD is described meanwhile
         SEH is described in 4.2.4.7-4.2.4-12.


         C̲o̲m̲m̲a̲n̲d̲ ̲D̲e̲s̲p̲a̲t̲c̲h̲e̲r̲ ̲C̲M̲D̲



4.2.4.1  F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ ̲o̲f̲ ̲C̲M̲D̲

         Command Despatcher Functions CMD are decomposed as
         defined in fig. 4.2.4.1-1



4.2.4.1.1    I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲

         CMD awaits a start command from CFH. Thereafter it
         initializes different service system and variables.



4.2.4.1.2    S̲e̲r̲v̲e̲ ̲I̲n̲p̲u̲t̲

         During operation CMD receives commands from:

         -   MMON in the synchronization element SYSE

         -   IOC  in the synchronization element DEVICE ̲SE

         -   CMI  in the queue SYQ

         -   SUPERVISOR in the queue SYQ

         -   TEP  in the queue SYQ

         -   TIMEOUTs in the queue SYQ

         and error reported from IOC in the synchronilization
         element DEVICE ̲SE via the OPERATION ̲SEMAPHORE CMD ̲OS



         CMD
             INITIALIZATION
             SERVE ̲INPUT
             DESPATCH INCOMING REPORTS
                 DESPATCH MMON COMMANDS
                 DESPATCH CMI TCP SUPERVISOR COMMAND
                 DESPATCH TIMEOUTS
             CHANGE ATOMAL PRINTER
             CLOSE DOWN
             ERROR FIX UP





                                        FIGURE 4.2.4.1-1
                                   CMD FUNCTION DECOMPOSITION


4.2.4.1.3    D̲e̲s̲p̲a̲t̲c̲h̲ ̲I̲n̲c̲o̲m̲i̲n̲g̲ ̲R̲e̲p̲o̲r̲t̲s̲



4.2.4.1.3.1 D̲e̲s̲p̲a̲t̲c̲h̲ ̲M̲M̲O̲N̲-̲C̲o̲m̲m̲a̲n̲d̲s̲

         MMON-command in despatch to TEMCO.



4.2.4.1.3.2 D̲e̲s̲p̲a̲t̲c̲h̲ ̲I̲O̲C̲-̲E̲v̲e̲n̲t̲

         IOC-reports concerning WDP is sent of WAMCO.
         IOC-command is despatch to TEMCO and DEMCO.
         IOC ̲error reports is sent to CFH.



4.2.4.1.3.2.1 D̲e̲s̲p̲a̲t̲c̲h̲ ̲C̲M̲I̲,̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲a̲n̲d̲ ̲T̲E̲P̲-̲C̲o̲m̲m̲a̲n̲d̲s̲

         Depending on the command it is sent to CFH, TEMCO,
         DEMCO or CEMCO.



4.2.4.1.3.2.2 D̲e̲s̲p̲a̲t̲c̲h̲ ̲T̲i̲m̲e̲o̲u̲t̲s̲

         Depending on the EVENT ̲ID timeouts are sent to CFH
         and SEH.



4.2.4.1.4    C̲h̲a̲n̲g̲e̲ ̲A̲t̲o̲m̲a̲l̲ ̲P̲r̲i̲n̲t̲e̲r̲

         If a Supervisor command is ATOMAL ̲PRINTER ̲CHANGE CMD
         calls a module to perform this.



4.2.4.1.5    C̲l̲o̲s̲e̲-̲D̲o̲w̲n̲ ̲o̲f̲ ̲C̲M̲D̲

         When CMD has received a close-down command from CFH
         it empties SYQ-SYSE and DEVICE ̲SE and despatches the
         incoming reports. When this is done it signals to
         CFH ̲S and wait for SYQ.


4.2.4.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲ ̲o̲f̲ ̲C̲M̲D̲

         CMD is implemented in one coroutine CMD consists of
         the modules:

         -   CMD ̲MAINPRG

         -   INIT ̲CMD

         -   SERVE ̲INPUT

         -   DESPATCH ̲MMON ̲COMMAND

         -   DESPATCH ̲SYQ ̲EVENT

         -   DESPATCH ̲IOC ̲EVENT

         -   CHANGE ̲ATOMAL ̲PRINTER

         and the common procedures:

         -   INIT ̲SYS ̲CALL

         -   SEND ̲TO ̲TDC

         -   ERROR ̲CMD

         For software structure of CMD see fig. 4.2.4.2-1



         CMD ̲MAIN PRG
             INIT ̲CMD
             SERVE ̲INPUT
                 DESPATCH ̲MMON ̲COMMAND
                 DESPATCH ̲SYQ ̲EVENT
                 DESPATCH ̲IOC ̲EVENT
                 CHANGE ̲ATOMAL ̲PRINTER
                 SEND ̲TO ̲TDC
             INIT ̲SYS ̲CALL
             ERROR ̲CMD





                                        FIGURE 4.2.4.2-1
                                   SOFTWARE STRUCTURE OF CMD



4.2.4.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲ ̲i̲n̲ ̲C̲M̲D̲

         For data flow see fig. 4.2.4.3-1. The dotted box around
         CMD-OS indicates that CMD associates the waiting call
         on SYSE, DEVICE ̲SE and SYQ to CMD ̲OS.

         For Control Logic see fig. 4.2.4.3-2.




                     figure 4.2.4.3-1




         CMD ̲MAINPRG
             SERVE ̲INPUT
                 DESPATCH ̲MMON ̲COMMAND
                     SEND ̲TO ̲TDC
                 DESPATCH CMI SUPERVISOR TEP COMMAND
                     SEND ̲TO ̲TDC
                 DESPATCH IOC EVENT
                     SEND ̲TO ̲TDC
                 CHANGE ̲ATOMAL PRINTER
                 INIT ̲SYS ̲CALL
             INIT ̲CMD
                 INIT ̲SYS ̲CALL



                                        FIGURE 4.2.4.3-2
                                     CONTROL LOGIC FOR CMD


4.2.4.4  M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲C̲M̲D̲



4.2.4.4.1    C̲M̲D̲ ̲M̲A̲I̲N̲P̲R̲G̲



4.2.4.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         Initializes the coroutine. Serves the input. If a close-down
         is started and CMD-OS is empty it signals to CFH ̲S
         and awaits on SYQ.



4.2.4.4.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         N/A



4.2.4.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         -   CMD ̲MAINPRG
         -   CMD ̲MAINPRG calls the module INIT ̲CMD

         and the CSF-procedures

         -   SIGNAL ̲SEMAPHORE



4.2.4.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CMD ̲OS  see 4.1.4 Common COPSY data

             CFH ̲S   see 4.1.4 Common COPSY data

             CLOSE ̲DOWN ̲STARTED,



         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             CMD ̲OS

             CFH ̲S

             CLOSE ̲DOWN ̲STARTED



4.2.4.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲  

         The module INIT ̲CMD is called and a loop is entered,
         in which it is checked, that close ̲down is not in progress.
         If close ̲down is in program the loop is left and the
         semaphore CFH ̲S is signalled else the module SERVE
         ̲INPUT is entered.



4.2.4.4.2    I̲N̲I̲T̲ ̲C̲M̲D̲



4.2.4.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         Waits for a start command from CFH. Define the service
         system associated with SYSE and DEVICE ̲SE. Make a pool
         to DEVICE ̲SE to report from devices. Initializes operations
         and queue references.



4.2.4.4.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  INIT ̲CMD

         b)  INIT ̲CMD(R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R6 link

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R0 - R7 destr.



4.2.4.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         -   INIT ̲CMD

         -   INIT ̲OPERATION ̲AND ̲SYQUEUE

         INIT ̲CMD calls the common procedure

         -   INIT ̲SYS ̲CALL

         and the CSF-procedures

         -   WAIT ̲OPSEM
         -   DEFINE ̲SERVICE ̲SYSTEM
         -   INIT ̲OPERATION
         -   ANALYSE ̲ERROR



         and the PCF-procedure

         -   INIT ̲AWAIT



4.2.4.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a1) T̲y̲p̲e̲ ̲a̲n̲d̲ ̲C̲o̲n̲s̲t̲a̲n̲t̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CFH ̲CMD element in S ̲COMMAND ̲TYPE, see sec. 4.1.4

             START ̲CMD element in subtype for CFH ̲CMD

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             SYSE                                DBD

             DEVICE ̲SE                           DBD

             SYQ                                 DBD

             AWAIT ̲SYSE                          4.2.4.5

             AWAIT ̲DEVICE ̲SE                     4.2.4.5

             SYQUEUE                             4.2.4.5

             SYSE ̲OP                             4.2.4.5

             DEVICE ̲SE ̲OP                        4.2.4.5

             SYQ ̲OP                              4.2.4.5

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             SYSE

             DEVICE ̲SE

             SYQ

             AWAIT ̲SYSE.SS ̲ID                    (m)

             AWAIT ̲SYSE.SS-CODE                  (m)

             AWAIT ̲DEVICE ̲SE.SS ̲ID               (m)



             AWAIT ̲DEVICE ̲SE.SS ̲CODE             (m)

             SYQUEUE.MAINQUEUE                   (m)

             SYQUEUE.SUBQUEUE                    (m)

             SYSE ̲OP.CMD ̲TYPE                    (m)

             SYSE ̲OP ̲CMD                         (m)

             DEVICE ̲SE ̲OP.CMD ̲TYPE               (m)

             DEVICE ̲SE ̲OP ̲CMD                    (m)

             SYQ ̲OP.CMD ̲TYPE                     (m)

             SYQ ̲OP.CMD                          (m)



4.2.4.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         a)  I̲N̲I̲T̲ ̲C̲M̲D̲

             N̲a̲r̲r̲a̲t̲i̲v̲e̲

             Await a start command in CMD ̲OS. Defines the service
             system associated with SYSE and DEVICE ̲SE. Make
             a pool to device reports. Initiates the system
             calls.

             F̲l̲o̲w̲g̲r̲a̲m̲ ̲      see fig. 4.2.4.4.2.5-1

         b)  I̲N̲I̲T̲ ̲O̲P̲E̲R̲A̲T̲I̲O̲N̲ ̲A̲N̲D̲ ̲S̲Y̲Q̲U̲E̲U̲E̲

             N̲a̲r̲r̲a̲t̲i̲v̲e̲

             Initializes SYQUEUE, SYSE ̲OP, DEVICE ̲SE ̲OP and
             SYQ ̲OP

             F̲l̲o̲w̲g̲r̲a̲m̲       see fig. 4.2.4.4.2.5-2


   PROCEDURE INIT ̲CMD

   BEGIN

       WAIT ̲OPSEM(CMD ̲OS)  (OP)

       OP.CMD ̲TYPE NE CFH ̲CMD LOGOR 
                                                ERROR
                                                ̲CMD 
                                       ?        (NOT ̲RECEIVED
                                                ̲START
                                                ̲
                                                CMD,0,
                                                0)
       OP.CMD NE START ̲COR

       CASE DEFINE ̲SERVICE ̲SYSTEM(AWAIT ̲SYSE.SS ̲ID,PFC,BY
       ̲
                                            SYNCEL,SYSE,PCF
                       ̲SIZE) OF

           ERROR ? ANALYZE ̲ERROR (CC,0)
           OK ?    AWAIT ̲SYSE.SS ̲CODE = 1

       END CASE DEFINE ̲SERVICE ̲SYSTEM

       CASE DEFINE ̲SERVICE ̲SYSTEM (AWAIT ̲DEVICE ̲SE.SS
       ̲ID,PCF,BY ̲SYN-
                                          CEL,DEVICE ̲SE,PCF
                       ̲SIZE) OF
           ERROR ? ANALYZE ̲ERROR (CC, 0)
           OK ?    AWAIT ̲DEVICE ̲SE.SS ̲CODE = 1

       END CASE DEFINE ̲SERVICE ̲SYSTEM

       I = 0

       LOOP

       I = I + 1

           CASE INIT ̲AWAIT (DEVICE ̲SE) (CC) OF
               ERROR ? ANALYZE ̲ERROR (CC,0)
               OK ?

           END CASE INIT ̲AWAIT
           I EQ  NO ̲OF ̲DEVICE ̲ERROR             ?   EXIT
       END LOOP

       INIT ̲OPERATION ̲AND SYQUEUE
       INIT ̲SYS ̲CALL (AWAIT ̲SYSEL)
       INIT ̲SYS ̲CALL (AWAIT ̲DEVICE ̲SEL)
       INIT ̲SYS ̲CALL (RECEIVE ̲FIRST ̲QEL ̲FROM ̲SYQ)
       CLOSE ̲DOWN ̲STARTED = FALSE

   END PROCEDURE INIT ̲CMD.

                Figure 4.2.4.4.2.5-1


   PROCEDURE

   INIT ̲OPERATION ̲AND SYQUEUE


   BEGIN

       SYQUEUE ̲MAINQUEUE=SYQ

       SYQUEUE ̲SUBQUEUE = 0

       INIT ̲OPERATION(0, SYSE ̲OP)

       SYSE ̲OP.CMD ̲TYPE=CMD ̲INIT ̲CMD

       SYSE ̲OP.CMD  AWAIT ̲SYSEL

       INIT ̲OPERATION (0, DEVICE ̲OP)

       DEVICE ̲SE ̲OP.CMD ̲TYPE=CMD ̲INIT ̲CMD

       DEVICE ̲SE ̲OP.CMD=AWAIT ̲DEVICE ̲SEL.

       INIT ̲OPERATION (0, SYQ ̲OP)

       SYQ ̲OP.CMD ̲TYPE = CMD ̲INIT ̲CMD

       SYQ ̲OP.CMD=RECEIVE ̲FIRST ̲QEL ̲FROM ̲SYQ

   END PROCEDURE INIT ̲OPERATION ̲AND ̲SYQUEUE

















                Figure 4.2.4.4.2.5-2


4.2.4.4.3    S̲E̲R̲V̲E̲ ̲I̲N̲P̲U̲T̲



4.2.4.4.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         SERVE ̲INPUT receives an operation from CMD ̲OP and performs
         this. Depending on the operation it calls a despatch
         module. At last it associates a waiting call corresponding
         to the one it received in the start to CMD ̲OP. If the
         received operation is a STOP ̲COR-command CLOSE ̲DOWN
         ̲STARTED sets to TRUE.



4.2.4.4.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         a)  SERVE ̲INPUT

         b)  SERVE ̲INPUT (R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0 - R7 destroyed

4.2.4.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         SERVE ̲INPUT consists of two procedures:

         -   SERVE ̲INPUT

         -   SYQ ̲ACTION

         SERVE ̲INPUT calls the modules/procedures

         -   DESPATCH ̲MMON ̲COMMAND
         -   DESPATCH ̲IOC ̲EVENT
         -   CHANGE ̲ATOMAL ̲PRINTER
         -   DESPATCH ̲SYQ ̲EVENT
         -   INIT ̲SYS ̲CALL
         -   ERROR ̲CMD



         and the CSF procedures

         -   WAIT ̲OPSEM
         -   WAIT ̲SYSTEM ̲CALL
         -   SIGNAL ̲OPSEM
         -   ANALYSE ̲ERROR



4.2.4.4.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CMD ̲INIT ̲CMD and CFH ̲CMD elements in S ̲COMMAND
             ̲TYPE see sec. 4.1.4.

             CMD ̲INIT ̲CMD subtype see sec. 4.1.4

             STOP ̲COR elements in CFH ̲CMD subtype see sec.4.1.4

             SUPV ̲CMD ̲L elements in L ̲COMMAND ̲TYPE see sec.4.1.4

             ATOMAL ̲PRINTER ̲CHANGE,CAMPS ̲GO element in SUPERVISOR
             ̲SSC ̲COMMAND subtype

         a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CFH ̲OS,
             CMD ̲OS    see sec. 4.1.4 common COPSY data
             SYSE ̲INFO,

             DEVICE ̲INFO,

             SYQEL ̲ATTRIBUTES,

             SYQEL,

             SUBQUEUE ̲NO,

             CLOSE ̲DOWN ̲STARTED,

             OP

             LONG ̲OP,  see sec. 4.2.4.5

         b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             CFH ̲OS

             CMD ̲OS



             SYSE ̲INFO           (m)
             DEVICE ̲SE ̲INFO      (m)
             SYQEL ̲ATTRIBUTES    (m)
             SYQEL               (m)
             SUBQUEUE ̲NO         (m)
             CLOSE ̲DOWN ̲STARTED  (m)
             OP                  (m)
             OP.CMD ̲TYPE
             OP.CMD
             LONG ̲OP
             LONG ̲OP.CMD ̲TYPE    (m)
             LONG ̲OP.CMD         (m)



4.2.4.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         a) S̲E̲R̲V̲E̲ ̲I̲N̲P̲U̲T̲

             N̲a̲r̲r̲a̲t̲i̲v̲e̲

             Await an operation in CMD ̲OS. In a case statement
             the different despatch procedure is called. If
             the operation is a close-down command from CFH
             CLOSE ̲DOWN ̲STARTED sets to TRUE.

             F̲l̲o̲w̲g̲r̲a̲m̲,   see fig. 4.2.4.4.3.5-1

         b)  S̲Y̲Q̲-̲A̲C̲T̲I̲O̲N̲

             N̲a̲r̲r̲a̲t̲i̲v̲e̲

             If a received QEL is a SUPERVISOR ̲SSC ̲COMMAND with
             subtype equal to CAMPS-GO this is sent to CFH in
             an operation of LONG ̲OP ̲TYPES. If it is ATOMAL
             ̲PRIN-
             TER ̲CHANGE the module CHANGE ̲ATOMAL ̲PRINTER is
             called. Else the module DESPATCH ̲SYQ ̲EVENT is called.

             F̲l̲o̲w̲g̲r̲a̲m̲

             See fig. 4.2.4.4.3.5-2



   PROCEDURE SERVE ̲INPUT

   BEGIN

       WAIT ̲OPSEM (CMD ̲OS) (OP)
       OP.CMD ̲TYPE EQ CMD ̲INIT ̲CMD ?

           CASE OP.CMD
               AWAIT ̲SYSEL ?

                   WAIT ̲SYSTEM ̲CALL (OP)(SYSE ̲INFO,COUNT,CC)
                   DESPATCH ̲MMON ̲COMMAND
                   INIT ̲SYS ̲CALL(AWAIT ̲SYSEL)
               AWAIT ̲DEVICE ̲SEL ?

                   WAIT ̲SYSTEM ̲CALL(OP)(DEVICE ̲SE ̲INFO,COUNT,CC)
                   DESPATCH ̲IOC ̲EVENT
                   INIT ̲SYS ̲CALL(AWAITE ̲DEVICE ̲SEL)
               RECEIVE ̲FIRST ̲QEL ̲FROM ̲SYQ ?

                   CASE WAIT ̲SYSTEM ̲CALL(OP)(SYQEL ̲ATTRIBUTES,SYQEL,SUBQUEUE
                   ̲NO,CC)

                      ERROR?  ANALYZE ̲ERROR(CC,0)

                      OK ?

                         SYQ ̲ACTION
                         INIT ̲SYS ̲CALL(RECEIVE ̲FIRST ̲QEL
                   ̲FROM ̲SYQ)

                   END CASE   WAIT ̲SYSTEM ̲CALL
               OTHERWISE ? ERROR ̲CMD(RECEIVED ̲WRONG ̲OPERATION,0,0)

           END CASE  OP.CMD

       OP.CMD ̲TYPE   EQ CFH ̲CMD LOGAND
                                        ?  CLOSE ̲DOWN
                   ̲STARTED=TRUE
       OP.CMD EQ STOP ̲COR                  SIGNAL ̲OPSEM(SHORT
       ̲OS,OP)

       ERROR ̲CMD (RECEIVED ̲WRONG ̲OPERATION,0,0)

   END PROCEDURE SERVE ̲INPUT




                Figure 4.2.4.4.3.5-1


PROCEDURE

SYQ ̲ACTION


BEGIN

         SYQEL ̲ATTRIBUTES.HEADER.MAINTYPE EQ SUPERVISOR ̲SSC
         ̲COM-
                                                      MAND ?

             SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE EQ CAMPS ̲GO ?

                 WAIT ̲OPSEM (LONG ̲OS)(LONG ̲OP)

                 LONG ̲OP.CMD ̲TYPE = SUPV ̲CMD ̲L

                 LONG ̲OP.CMD = CAMPS ̲GO

                 SIGNAL ̲OPSEM (CFH ̲OS,LONG ̲OP)

             SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE EQ ATOMAL ̲PRIN-
                                                     TER ̲CHANGE
                 ?

                 CHANGE ̲ATOMAL ̲PRINTER

             DESPATCH ̲SYQ ̲EVENT

         DESPATCH ̲SYQ ̲EVENT

END PROCEDURE SYQ ̲ACTION

















                   Figure 4.2.4.4.3.5-2


4.2.4.4.4    D̲I̲S̲P̲A̲T̲C̲H̲-̲M̲M̲O̲N̲ ̲C̲O̲M̲M̲A̲N̲D̲



4.2.4.4.4.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         Sends the MMON-Command to TEMCO.



4.2.4.4.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         a)  DESPATCH ̲MMON ̲COMMAND

         b)  DESPATCH ̲MMON ̲COMMAND (R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R6 link

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲  

             R0 - R7  destroyed



4.2.4.4.4.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         DESPATCH ̲MMON ̲COMMAND

         Calls the procedure

         -   SEND ̲TO ̲TOC
         -   ERROR ̲CMV

         and the CSF-procedures

         -   WAIT ̲OPSEM


4.2.4.4.4.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 SHORT ̲OS           see sec. 4.1

                 SHORT ̲OP           see sec. 4.2.4.4.5

                 SYSE ̲INFO          see sec. 4.2.4.4.5

                 SUBPROCESS ̲TABLE   see sec. 4.1.4 common COPSY
                                      data


         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 SHORT-OS

                 SHORT ̲OP.CMD ̲TYPE   (m)

                 SHORT ̲OP.CMD        (m)

                 SHORT ̲OP.REFERENCE  (m)

                 SHORT ̲OP

                 SYSE ̲INFO.COMMAND

                 SYSE ̲INFO.MMON ̲REFERENCE

                 SYSE ̲INFO.SENDER

                 SUBPROCESS ̲TABLE (LOGICAL ̲NO)

         c)  I̲n̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 VAR LOGICAL ̲NO:INTEGER

                 Use to indicate which logical VDU the command
                 shall be sent to.



4.2.4.4.4.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲

         Takes a SHORT ̲OP from the pool. Set the parameter in
         this. Finds with help of SUBPROCESS ̲TABLE the coroutine
         to which the SHORT ̲OP is sent.

         F̲l̲o̲w̲g̲r̲a̲m̲     see fig. 4.2.4.4.4.5-1



PROCEDURE ̲DESPATCH ̲MMON ̲COMMAND

BEGIN

         WAIT ̲OPSEM(SHORT ̲OS) (SHORT ̲OP)

         SHORT ̲OP.CMD ̲TYPE=MMON ̲COMMAND

         SHORT ̲OP.CMD=SYSE ̲INFO.COMMAND

         SHORT ̲OP.REFERENCE=SYSE ̲INFO.MMON ̲REFERENCE

         LOGICAL ̲NO=0

         LOOP

             LOGICAL ̲NO=LOGICAL ̲NO + 1

             SYSE ̲INFO.SENDER=SUBPROCESS ̲TABLE(LOGICAL ̲NO)?

                 SEND ̲TO ̲TDC (VDU,LOGICAL ̲NO,)      EXIT

             LOGICAL ̲NO GE MAX ̲VDU ̲SUBPROCESSES ?

                 ERROR ̲CMD (MMON ̲ERROR,0,0     EXIT

         END LOOP

END PROCEDURE DESPATCH ̲MMON ̲COMMAND














                   Figure 4.2.4.4.4.5-1


4.2.4.4.5    D̲I̲S̲P̲A̲T̲C̲H̲ ̲I̲O̲C̲ ̲E̲V̲E̲N̲T̲



4.2.4.4.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         DESPATCH ̲IOC ̲EVENT sends IOC-error-reports to CFH and
         IOC-commands to TEMCO.



4.2.4.4.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         a)  DESPATCH ̲IOC ̲EVENT

         b)  DESPATCH ̲IOC ̲EVENT (R6)

         R̲e̲g̲i̲s̲t̲e̲r̲s̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6  link

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0 - R7  destroyed



4.2.4.4.5.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         The DESPATCH ̲IOC ̲EVENT module contains the three procedures:

         -   DESPATCH ̲IOC ̲EVENT
         -   DESPATCH ̲IOC ̲REPORT
         -   DESPATCH ̲IOC ̲COMMAND

         It calls the procedure

         -   SEND ̲TO ̲TDC

         and send the CSF-procedure

         -   WAIT ̲OPSEM
         -   SIGNAL ̲OPSEM



4.2.4.4.5.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             TMS ̲INF          see sec. 4.1.4 SSC internal interface
                              type

             REPORT ̲TYPE      see sec. 4.1.4 SSC internal interface
                              type

             WHERE ̲TO ̲TYPE    see sec. 4.2.4.5

         a2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             DEVICE ̲SE ̲INFO   see 4.2.4.5
             SHORT ̲OP         see 4.2.4.5
             LONG ̲OP          see 4.2.4.5

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             DEVICE ̲SE ̲INOF
             DEVICE ̲SE ̲INFO   equivalent to DEVICE ̲SE ̲INF
             DEVICE ̲SE ̲INF.ACTION
             DEVICE ̲SE ̲INF.U ̲SDID.PROFILE ̲TYPE
             DEVICE ̲SE ̲INF.U ̲SDID.LOGICAL ̲NO
             DEVICE ̲SE ̲INF.STATUS
             SHORT ̲OP.CMD ̲TYPE             (m)
             SHORT ̲OP.CMD                  (m)
             LONG ̲OP.CMD                   (m)
             LONG ̲OP ̲INF(I)

         c)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             None

4.2.4.4.5.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         a)  D̲I̲S̲P̲A̲T̲C̲H̲ ̲I̲O̲C̲ ̲E̲V̲E̲N̲T̲

             N̲a̲r̲r̲a̲t̲i̲v̲e̲

             If the report is a TMS report the type of a TMS
             report is impressed on DEVICE-INFO. Depending on
             the profile type and status a despatch procedure
             is called.

             If the report is a FMS report DESPATCH-IOC-REPORT
             is called.



             F̲l̲o̲w̲g̲r̲a̲m̲

             See fig. 4.2.4.4.5.5-1

         b)  D̲I̲S̲P̲A̲T̲C̲H̲ ̲I̲O̲C̲ ̲R̲E̲P̲O̲R̲T̲

             N̲a̲r̲r̲a̲t̲i̲v̲e̲

             An operation of LONG ̲OP ̲TYPE is received from LONG
             ̲OP. The report is copied over in the information
             field of the operation. Depending on where the
             report is to be sent the CMD ̲TYPE and CMD is set.
             The operation is sent.

             I̲n̲t̲e̲r̲f̲a̲c̲e̲

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  DESPATCH ̲IOC ̲REPORT(WHERE ̲TO:WHERE ̲TO ̲TYPE, REPORT:
                                                     REPORT
                     ̲TYPE)



         b)  D̲I̲S̲P̲A̲T̲C̲H̲ ̲I̲O̲C̲ ̲R̲E̲P̲O̲R̲T̲ ̲(̲R̲0̲,̲ ̲R̲1̲,̲ ̲R̲6̲)̲

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

             R0  WHERE ̲TO

             R1  REPORT

             R6  link

             R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R0-R7 destr.

             F̲l̲o̲w̲g̲r̲a̲m̲     See fig. 4.2.4.4.5.5-2

         c)  D̲I̲S̲P̲A̲T̲C̲H̲ ̲I̲O̲C̲ ̲C̲O̲M̲M̲A̲N̲D̲

             N̲a̲r̲r̲a̲t̲i̲v̲e̲

             Take a SHORT ̲OP from the common pool, sets the
             parameters and sends it to TEMCO, DEMCO or CEMCO.

             F̲l̲o̲w̲g̲r̲a̲m̲     See fig. 4.2.4.4.5.5-3


PROCEDURE

DESPATCH ̲IOC ̲EVENT

BEGIN

   DEVICE ̲SE ̲INFO(7)(BIT 8-BIT15)EQ TMS ?

      EQVIVALENCE(DEVICE ̲SE ̲INFO,(8)DEVICE ̲SE ̲INF:TMS ̲INF)

      CASE DEVICE ̲SE ̲INF.U ̲SDID.PROFILE ̲TYPE OF

         TERMINAL ̲P,DEVICE ̲P ̲CHANNEL ̲P ?

         DEVICE ̲SE ̲INF.STATUS EQ SD ̲OTHER ̲STATUS ?

             DESPATCH ̲IOC ̲COMMAND

         DESPATCH ̲IOC ̲REPORT(CFH,TMS ̲R)

      STLP,TIA ̲P,LTUX ̲P,LTU ̲P,MAP ̲P ?

         DESPATCH ̲IOC ̲REPORT (CFH,TMS ̲R)

      PHYS ̲WDP ̲P,WDD ̲P,WDP ̲VDU ̲P,WDP ̲ROP ̲P?

         DESPATCH ̲IOC ̲REPORT(WAMCO.TMS ̲R)

      END CASE DEVICE ̲SE ̲INFO ̲US DID ̲PROFILE ̲TYPE

   DESPATCH ̲IOC ̲REPORT(CFH,FMS ̲R)

END PROCEDURE DESPATCH ̲IOC ̲EVENT














                   Figure 4.2.4.4.5.5-1


PROCEDURE

DESPATCH ̲IOC ̲REPORT(WHERE ̲TO:WHERE ̲TO ̲TYPE,REPORT:REPORT ̲TYPE)


BEGIN

   WAIT ̲OPSEM(LONG ̲OS)(LONG ̲OP)

   I=O

   LOOP
      I = I + 1

      LONG ̲OP.INF(I)=DEVICE ̲SE ̲INFO(I)

      I EQ PCF ̲SIZE ?       EXIT

   END LOOP

   CASE WHERE ̲TO  OF

      WAMCO ? LONG ̲OP.CMD ̲TYPE=DEVICE ̲ERROR

              LONG ̲OP.CMD=DEVICE ̲SE ̲INF.U ̲SDID.PROFILE ̲TYPE

              SIGNAL ̲OPSEM(WDP ̲OS,LONG ̲OP)

      CFH ?   LONG ̲OP ̲CMD ̲TYPE=DEVICE ̲ERROR

              LONG ̲OP ̲CMD=REPORT

              SIGNAL ̲OPSEM (CFH ̲OS,LONG ̲OP)

   END CASE WHERE ̲TO

END PROCEDURE DESPATCH ̲IOC ̲REPORT











                   Figure 4.2.4.4.5.5-2


   PROCEDURE DESPATCH ̲IOC ̲COMMAND

BEGIN

   WAIT ̲OPSEM(SHORT ̲OS)(SHORT ̲OP)


   SHORT ̲OP.CMD ̲TYPE=IOC ̲CMD

   SHORT ̲OP.CMD=DEVICE ̲SE ̲INF.USER ̲ACTION

   CASE DEVICE ̲SE ̲INF.U ̲SDID.PROFILE ̲TYPE

      TERMINAL ̲P? SEND ̲TO ̲TDC(VDU,DEVICE ̲SE ̲INF.U ̲SDID.LOGICAL
 ̲NO)

      DEVICE ̲P?   SEND ̲TO ̲TDC(SAD,DEVICE ̲SE ̲INF.U ̲SDID.LOGICAL
 ̲NO)

      CHANNEL ̲P?  SEND ̲TO ̲TDC(EXC,DEVICE ̲SE ̲INF.U ̲SDID.LOGICAL
 ̲NO)

   END CASE LINE ̲SE ̲INFO.U ̲SDID ̲PROFILE ̲TYPE

END PROCEDURE DESPATCH ̲IOC ̲COMMAND

























                   Figure 4.2.4.4.5.5-3


4.2.4.4.6    D̲I̲S̲P̲A̲T̲C̲H̲ ̲S̲Y̲Q̲ ̲E̲V̲E̲N̲T̲



4.2.4.4.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         Depending on the maintype and subtype of SYQEL ̲ATTRIBUTES
         DESPATCH ̲SYQ ̲OPR sends commands to CHF,TEMCO,DEMCO,CEMCO.



4.2.4.4.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         a)  DESPATCH ̲SYQ ̲EVENT

         b)  DDSPATCH ̲SYQ ̲EVENT

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

             R 6 link

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

             R 0 - R 7  destroyed



4.2.4.4.6.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         The DESPATCH ̲SYQ ̲EVENT module contains the procedures

         -   DESPATCH ̲SYQ ̲EVENT

         -   DESPATCH ̲SUPERVISOR ̲TEP ̲COMMAND

         -   DESPATCH ̲CMI ̲COMMAND

         -   DESPATCH ̲TIMEOUTS

         -   DESPATCH ̲CSF ̲CMD

         This module calls the procedures

         -   SEND ̲TO ̲TDC
         -   ERROR ̲CMD

         and the CSF-procedures

         -   WAIT ̲OPSEM
         -   SIGNAL ̲OPSEM


4.2.4.4.6.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 SYQEL ̲ATTRIBUTES    see 4.2.4.5

                 SYQEL               see 4.2.4.5

                 SHORT ̲OS            see 4.1.4

                 SHORT ̲OP            see 4.2.4.5

                 LONG ̲OS             see 4.1.4

                 LONG ̲OP             see 4.2.4.5

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 SYQEL ̲ATTRIBUTES.HEADER.MAINTYPE

                 SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE

                 SYQEL ̲ATTRIBUTES.HEADER.INFORMATION

                 SYQEL ̲ATTRIBUTES.INFORMATION (I)

                 SYQEL

                 SHORT ̲OS

                 SHORT ̲OP.CMD ̲TYPE   (m)

                 SHORT ̲OP.CMD        (m)

                 SHORT ̲OP.REFERENCE  (m)

                 LONG ̲OS

                 LONG ̲OP.CMD ̲TYPE    (m)

                 LONG ̲OP.CMD         (m)

                 LONG ̲OP.FLAG        (m)

                 LONG ̲OP.INFORMATION (I)   (m)

         c)  I̲n̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             VAR I: INTEGER

                 Used as counter in loop-statements


4.2.4.4.6.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         A̲)̲ ̲P̲R̲O̲C̲E̲D̲U̲R̲E̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲ ̲S̲Y̲Q̲ ̲E̲V̲E̲N̲T̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲

         Depending on SYQ ̲ATTRIBUTES.HEADER.MAINTYPE a despatch
         procedure is called.

         F̲l̲o̲w̲g̲r̲a̲m̲     See fig. 4.2.4.4.6.5-1

         B̲)̲ ̲P̲R̲O̲C̲E̲D̲U̲R̲E̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲ ̲S̲U̲P̲E̲R̲V̲I̲S̲O̲R̲ ̲T̲E̲P̲ ̲C̲O̲M̲M̲A̲N̲D̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲

             Receive a SHORT ̲OP from SHORT ̲OS set the parameters
             in this and sends it to the destination which is
             indicated by SYQEL ̲ATTRIBUTES.HEADER.INFORMATION.

         F̲l̲o̲w̲g̲r̲a̲m̲ ̲    See fig. 4.2.4.4.6.5-2


         C̲)̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲ ̲C̲M̲I̲ ̲C̲O̲M̲M̲A̲N̲D̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲

             Receives a LONG ̲OP from LONG ̲OS sets the parameters
             in this and sends it to CFH ̲OS.

         F̲l̲o̲w̲g̲r̲a̲m̲     See fig. 4.2.4.4.6.5-3

         D̲)̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲ ̲T̲I̲M̲E̲O̲U̲T̲S̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲

         Depending on the event-id of the timeout, a long operation
         is sent to CFH or SEH.

         F̲l̲o̲w̲g̲r̲a̲m̲     See fig. 4.2.4.4.6.5-3

         E̲)̲ ̲D̲E̲S̲P̲A̲T̲C̲H̲ ̲C̲S̲F̲ ̲C̲M̲D̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲

         CSF signals SSC, when resource shortage in detected
         or the resource level in back to normal. The CEMCO,
         DEMCO, TEMCO coroutines are notified.

         The DEMCO and CEMCO coroutines signals their associated
         processes to stop, whereas, TEMCO signals the VDU coroutines
         to ENTER/LEAVE a resource stortage level action.


PROCEDURE

DESPATCH ̲SYQ ̲EVENT


BEGIN

    CASE SYQEL ̲ATTRIBUTES.HEADER.MAINTYPE

       SUPERVISOR ̲SSC ̲COMMAND,REQUEST ̲TO ̲SSC ?

         DESPATCH ̲SUPERVISOR ̲TEP ̲COMMAND

       CMI ̲COMMAND ̲TO ̲COPSY?

       CSF ̲CMD ? - DESPATCH ̲CSF ̲CMD

       SSC ̲INTERNAL ?

         DESPATCH ̲CMI ̲COMMAND

       TIMEOUT ?

         DESPATCH ̲TIMEOUTS

       OTHERWISE ? ERROR ̲CMD (MAINTYPE ̲ERROR,0,0)

    END CASE SYQEL ̲ATTRIBUTES.HEADER.MAINTYPE

END PROCEDURE DESPATCH ̲SYQ ̲EVENT



















                   Figure 4.2.4.4.6.5-1


PROCEDURE DESPATCH ̲SUPERVISOR ̲TEP ̲COMMAND
BEGIN
 WAIT ̲OPSEM(SHORT ̲OS)(SHORT ̲OP)
 SHORT ̲OP.CMD=SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE
 SHORT ̲OP.REFERENCE=SYQEL
 CASE SYQEL ̲ATTRIBUTES.MAINTYPE OF
    SUPERVISOR ̲SSC ̲COMMAND ?
       SHORT ̲OP.CMD ̲TYPE=SUPV ̲CMD
       CASE SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE OF
          BLOCK ̲TERMINAL,UNBLOCK ̲TERMINAL,TERMINAL ̲PROFILE ̲CHANGE ?
             SEND ̲TO ̲TDC(VDU,SYQEL ̲ATTRIBUTES.HEADER.INFORMATION
          ACCEPT ̲SAD,NON ̲ACCEPT ̲SAD.DEVICE ̲PROFILE ̲CHANGE ?
             SEND ̲TO ̲TDC(SAD,SYQEL ̲ATTRIBUTES,INFORMATION
          ACCEPT ̲EXC.NON ̲ACCEPT ̲EXC ?
             SEND ̲TO ̲TDC(EXC,SYQEL ̲ATTRIBUTES.HEADER.INFORMATION
          CIRCUIT ̲PROFILE ̲CHANGE ?
             SHORT ̲OP.INFORMATION=SYQEL ̲ATTRIBUTES.HEADER.INFORMATION
             SEND ̲TO ̲TDC(EXC, 1)
          OTHERWISE ? ERROR ̲CMD(SUBTYPE ̲ERROR,0,0)
       END CASE SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE
    REQUEST ̲TO ̲SSC ?
       SHORT ̲OP ̲CMD ̲TYPE=TEP ̲CMD
       SEND ̲TO ̲TDC(VDU,SYQEL ̲ATTRIBUTES.HEADER.INFORMATION
    END CASE SYQE ̲ATTRIBUTES.HEADER.MAINTYPE
END PROCEDURE DESPATCH ̲SUPERVISOR ̲TEP ̲COMMAND







                                  Figure 4.2.4.4.6.5-2


   PROCEDURE DESPATCH ̲CMI ̲COMMAND

   VAR I:INTEGER

   BEGIN

       WAIT ̲OSEM(LONG ̲OS)(LONG ̲OP)

       LONG ̲OP.CFH ̲MAINTYPE=CMI ̲CMD ̲I

       LONG ̲OP.CFH ̲SUBTYPE=SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE

       LONG ̲OP.INF(1)G=SYQEL

       SYQEL ̲ATTRIBUTES.OBJECT EQ BUFFER

                               LONG ̲OP.REP = BUFFER ̲R

       LONG ̲OP.REP = QEL ̲R

       I=O

       LONG ̲OP.INF(2) = SYQEL ̲ATTRIBUTES.HEADER.INF

       LOOP

           I=I + 1

           LONG ̲OP.INF(I+2)= SYQEL ̲ATTRIBUTES.INFORMATION
           (I)

           I = 3 ?   EXIT

       END LOOP

       SIGNAL ̲OPSEM (CFH ̲OS,LONG ̲OP)

   END PROCEDURE DESPATCH ̲CMI ̲COMMAND

















                Figure 4.2.4.4.6.5-3


   PROCEDURE

   DESPATCH ̲TIMEOUTS



   BEGIN

       SYQEL ̲ATTRIBUTES.SUBTYPE EQ TIMEOUT ̲EVENTS

           CASE SYQEL ̲ATTRIBUTES.HEADER.FLAG

               FINAL ̲CLOSE ̲DOWN ̲EVENT ?

                   WAIT ̲OPSEM (LONG ̲OS) (LONG ̲OP)

                   LONG ̲OP. CMD ̲TYPE=CMI ̲CMD ̲L

                   LONG ̲OP.CMD=CLOSE ̲DOWN ̲FINAL

                   SIGNAL ̲OPSEM (CFH ̲OS, LONG ̲OP)

                   RESET ̲PROCESS ̲TABLE ̲EVENT?

                   WAIT ̲OPSEM)LONG ̲OS)(LONG ̲OP)

                   LONG ̲OP.CMD ̲TYPE = SEH ̲INT ̲CMD

                   LONG ̲OP.CMD = RESET ̲PRL ̲TBL

                   SIGNAL ̲OPSEM(SEH ̲OS.LONG ̲OP)

               OTHERWISE ? ERROR ̲CMD(TIMEOUT ̲ERROR,O,0)

           END CASE SYQEL ̲ATTRIBUTES.HEADER.FLAG

       ERROR ̲CMD (TIMEOUT ̲ERROR, 0,0)

   END PROCEDURE DESPATCH ̲TIMEOUTS








                Figure 4.2.4.4.6.5-4


4.2.4.4.7    C̲H̲A̲N̲G̲E̲ ̲A̲T̲O̲M̲A̲L̲ ̲P̲R̲I̲N̲T̲E̲R̲



4.2.4.4.7.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         Change of Atomal Printer happens in following steps:

         1)  Insert special handling capability = ATOMAL in
             the new Atomal Queue

         2)  Change single capability for all:

             -   VDU
             -   MSO
             -   MDSO
             subprocesses

         3)  Set system parameter equal to new atomal printer

         4)  Remove special handling capability = ATOMAL from
             the old atomal queue. The alternative queue is
             the new atomal queue.



4.2.4.4.7.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  CHANGE ̲ATOMAL ̲PRINTER (NEW ̲ATOMAL ̲PRINTER:
                                      LOGICAL ̲DEVICE ̲NO ̲TYPE)

         b)  CHANGE ̲ATOMAL ̲PRINTER (R3, R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲nt̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R 3 NEW ̲ATOMAL ̲PRINTER

             R 6 link

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R 0 - R 7   destroyed



4.2.4.4.7.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         CHANGE ̲ATOMAL ̲PRINTER



4.2.4.4.7.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a 1) T̲y̲p̲e̲ ̲a̲n̲d̲ ̲C̲o̲n̲s̲t̲a̲n̲t̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 LOGICAL ̲DEVICE ̲NO ̲TYPE   DBD

                 NO ̲OF ̲VDUS       DBD

                 NO ̲OF ̲MSOS       DBD

                 NO ̲OF ̲MDCOS      DBD

         a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 NEW ̲ATOMAL ̲PRINTER     IF-data

                 DISTRIBUTION ̲PARAMETER DBD

                 FIRST ̲VDU ̲NO           4.1.4

                 FIRST ̲VDU ̲PRINTER ̲Q    4.1.4

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 NEW ̲ATOMAL ̲PRINTER

                 DISTRIBUTION ̲PARAMETER

                 FIRST ̲VDU ̲NO

                 FIRST ̲VDU ̲PRINTER ̲Q

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

         VAR OLD ̲ATOMAL ̲PRINTER:LOGICAL ̲DEVICE ̲NO ̲TYPE

            "keep the logical no of the old atomal printer


         VAR ATTR:QUEUE ̲ATTRIBUTES

            "keep the information of the new and old atomal
         
             printer queue

         VAR OLD ̲ATOMAL ̲Q, NEW ̲ATOMAL ̲Q:QUEUE ̲REFERENCE

         VAR DISTR:DISTRIBUTION ̲PARAMETER ̲TYPE



4.2.4.4.7.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲

         Find the logical number of the old atomnal printer.
         Find the references to the queue corresponding to the
         new atomal printer. Change the PROFILE to ATOMAL ̲CAPABILITY
         in the new atomal queue. Change the single capability
         associated with the ATOMAL ̲PRINTER (PRIS ̲PRIS ̲PRINTER)
         for all VDUs, MSOs and MDCOs. -1 in SET ̲CAPABILITY
         indicates that the functions are unchanged. Set the
         system parameters for atomal printer to the new atomal
         printer. Change the profile of the old atomal queue
         (as alt. queue the new atomal queue is used).

         F̲l̲o̲w̲g̲r̲a̲m̲     See fig. 4.2.4.4.7.5-1



PROCEDURE CHANGE ̲ATOMAL ̲PRINTER(NEW ̲ATOMAL ̲PRINTER:
                          LOGICAL ̲DEVICE ̲NO ̲TYPE)
VAR
  OLD ̲ATOMAL ̲PRINTER:LOGICAL ̲DEVICE ̲NO ̲TYPE
  DISTR:DISTRIBUTION ̲PARAMETER ̲TYPE
  ATTR: QUEUE ̲ATTRIBUTES
  OLD ̲ATOMAL ̲Q: QUEUE ̲REFERENCE
  NEW ̲ATOMAL ̲Q:
  CONST ̲ATOMAL ̲CAPABILITY=BIT 4
BEGIN
  GET ̲SYSTEM ̲PARAMETER(DISTRIBUTION ̲PARAMETER)(DISTR)
  OLD ̲ATOMAL ̲PRINTER=DISTR.ATOMAL ̲PRINTER ̲LOG ̲NO
  NEW ̲ATOMAL ̲Q.MAINQUEUE=FIRST ̲VDU ̲PRINTER ̲Q+NEW ̲ATOMAL ̲PRINTER-1 +
                                                       GLOBAL ̲GROUP
  NEW ̲ATOMAL ̲Q.SUBQUEUE=0
  GET ̲QUEUE ̲ATTRIBUTES (ATTR.NEW ATOMAL ̲Q) (CC)
  ATTR.PROFILE = ATTR.PROFILE LOGOR ATOMAL ̲CAPABILITY
  SET ̲PROFILE (ATTR.PROFILE,NEW ̲ATOMAL ̲Q,NIL)(CC)
  I=O
  LOOP
       I=I+1
       SET ̲CAPABILITY  (-1,FIRST ̲VDU ̲NO+I-1,NEW ̲ATOMAL ̲Q,
                    PRIS ̲PRIS ̲PRINTQ) (CC)
       I EQ NO ̲OF ̲VDUS + NO ̲OF ̲MSOS + NO ̲OF ̲MDCOS ?   EXIT
  END LOOP
  DISTR.ATOMAL ̲PRINTER ̲LOG ̲NO=NEW ̲ATOMAL ̲PRINTER
  SET ̲SYSTEM ̲PARAMETER(DISTRIBUTION ̲PARAMETER, DISTR)
  OLD ̲ATOMAL ̲Q.MAIN ̲QUEUE=FIRST ̲VDU ̲PRINTER ̲Q+OLD ̲ATOMAL ̲PRINTER-1
  GET ̲QUEUE ̲ATTRIBUTE (ATTR,OLD ̲ATOMAL ̲Q)(CC)
  ATTR.PROFILE = ATTR.PROFILE LOGAND(INVERSE ATOMAL ̲CAPABILITY)
  SET ̲PROFILE(ATTR.PROFILE,OLD ̲ATOMAL ̲Q,NEW ̲ATOMAL ̲Q)(CC)
END CHANGE ̲ATOMAL ̲PRINTER
                                  Figure 4.2.4.4.7.5-1


4.2.4.5  C̲o̲m̲m̲o̲n̲ ̲C̲M̲D̲-̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲



4.2.4.5.1    E̲X̲T̲E̲R̲N̲A̲L̲ ̲D̲A̲T̲A̲

             SYSE       see DBD

             SYQ        see DBD

             DEVICE ̲SE  see DBD

             VDU ̲OS     see 4.1.4

             SAD ̲OS     see 4.1.4

             EXC ̲OS     see 4.1.4

             CFH ̲OS     see 4.1.4

             SHORT ̲OS   see 4.1.4

             LONG ̲OS    see 4.1.4

             SUBPROCESS ̲TABLE   see 4.1.4



4.2.4.5.2    I̲N̲T̲E̲R̲N̲A̲L̲ ̲D̲A̲T̲A̲



4.2.4.5.2.1 T̲Y̲P̲E̲ ̲D̲E̲F̲I̲N̲I̲T̲I̲O̲N̲

             QUEUE ̲REFERENCE        see DBD

             QEL ̲REFERENCE          see DBD

             QEL ̲ATTRIBUTES         see DBD

             OPEN ̲NOTIFICATION      see DBD

             OPERATION              see DBD

             OPERATION ̲SEMAPHORE    see DBD


             SCM ̲FUNCTION           see DBD

             CMD ̲INIT ̲CMD subtype   see 4.1.4

         TYPE    WHERE ̲TO ̲TYPE=(VDU,SAD,EXC,WAMCO,CFH)

                 LONG ̲OP ̲TYPE       see 4.1.4

                 SHORT ̲OP ̲TYPE      see 4.1.4

         TYPE    SYS ̲CALL ̲TYPE=(AWAIT ̲SYSEL,AWAIT ̲LINE ̲SEL,
                 
                                RECEIVE ̲FIRST ̲QEL ̲FROM ̲SYQ)

         TYPE    CMD ̲ERROR ̲TYPE=(NOT ̲RECEIVED ̲START ̲CMD,
                                 RECEIVED ̲WRONG ̲OPERATION,
                                 MMON ̲ERROR,
                                 MAINTYPE ̲ERROR,
                                 SUBTYPE ̲ERROR
                                 TIMEOUT ̲ERROR
                                 LOGICAL ̲NO ̲ERROR)



4.2.4.5.2.2 V̲a̲r̲i̲a̲b̲l̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

         VAR AWAIT ̲DEVICE ̲SE,AWAIT ̲SYSE:SCM ̲FUNCTION
             used as system function

         VAR OP:SHORT ̲OP ̲TYPE
             "Keep information about a received operation.

         VAR DEVICE ̲OP, SYSE ̲OP, SYQ ̲OP:SHORT ̲OP ̲TYPE
             keep the waiting operator in DEVICE ̲SE,SYSE and
             SYQ. The parameter CMD indicate what kind of operation
             the variable is.

         VAR SHOR ̲OP:SHORT ̲OP ̲TYPE
             used for further commands sending to TEMCO, DEMCO
             and CEMCO.

         VAR LONG ̲OP:LONG ̲OPR ̲TYPE
             used for further commands and error-reports to
             CFH and WAMCO



         VAR DEVICE ̲SE ̲INFO:ARRAY (1..PCF ̲SIZE) OF INTEGER
             keep the information received from LINE ̲SE

         VAR SYSE ̲INFO ̲OPEN:NOTIFICATION
             keep the information received from SYSE

         VAR SYQUEUE:QUEUE ̲REFERENCE
             pointer to SYQ

         VAR SUBQUEUE ̲NO:INTEGER

         VAR SYQEL:QEL ̲REFERENCE
             pointer to a received QEL.

         VAR SYQEL ̲ATTRIBUTES:QEL ̲ATTRIBUTES
             keep a received QELs attributes.



4.2.4.6  C̲o̲m̲m̲o̲n̲ ̲C̲M̲D̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲



4.2.4.6.1    I̲N̲I̲T̲ ̲S̲Y̲S̲ ̲C̲A̲L̲L̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         INIT ̲SYS ̲CALL initiates the system calls AWAIT ̲SYSE,
         AWAIT ̲LINE ̲SE and RECEIVE ̲FIRST ̲QEL and associates
         the corresponding coroutine-operations to the operation-semaphore
         CMD ̲OS.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

         a)  INIT ̲SYS ̲CALL (SYS ̲CALL:SYS ̲CALL ̲TYPE)

         b)  INIT ̲SYS ̲CALL(R2, R6)

         R̲e̲g̲i̲s̲t̲e̲r̲s̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 2  SYS ̲CALL  (kept)

         R 6  link



         C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         INIT ̲SYS ̲CALL calls the SCM-functions defined in INIT
         ̲CMD

         -   AWAIT ̲DEVICE ̲SE
         -   AWAIT ̲SYSE

         and the CSF function

         -   RECEIVE ̲FIRST ̲QEL

         All these functions are called with INIT. Futher is
         the CSF procedure

         -   ANALYZE ̲ERROR

         called.

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0, R1, R3 - R7  destroyed

         D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

         SYS ̲CALL ̲TYPE     see 4.2.4.5

         D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

         SYSE ̲OP           see 4.2.4.5
         DEVICE ̲SE ̲OP      see 4.2.4.5
         SYQ ̲OP            see 4.2.4.5
         CMD ̲OS            see 4.2.4.5
         SYS ̲CALL          I/F-data

         E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

         SYSE ̲OP           see 4.2.4.5
         DEVICE ̲SE ̲OP      see 4.2.4.5
         SYQ ̲OP            see 4.2.4.5
         CMD ̲OS            see 4.2.4.5

         L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

         None.



PROCEDURE INIT ̲SYS ̲CALL(SYS ̲CALL:SYS ̲CALL ̲TYPE)


BEGIN

   CASE SYS ̲CALL

       AWAIT ̲SYSEL ?

           CASE INIT ̲AWAIT ̲SYSE(SYSE ̲OP)
               ERROR?   ANALYZE ̲ERROR(CC, 0)
               OK ?     ASSOCIATE(CMD ̲OS SYSE ̲OP)
           END CASE INIT ̲AWAIT ̲SYSE

       AWAIT ̲DEVICE ̲SEL ?

           CASE INIT ̲AWAIT ̲DEVICE ̲SE (DEVICE ̲SE ̲OP)
               ERROR ?  ANALYZE ̲ERROR(CC,0)
               OK ?     ASSOCIATE (CMD ̲OS,DEVICE ̲SE ̲OP)
           END CASE INIT ̲AWAIT ̲LINE ̲SE

       RECEIVE ̲FIRST ̲QEL ̲FROM ̲SYQ ?

           CASE INIT ̲RECEIVE ̲FIRST ̲QEL(TRUE,SYQUEUE,SYQ-OP)
               ERROR ?  ANALYZE ̲ERROR(CC, 0)
               OK ?     ASSOCIATE (CMD ̲OS, SYQ ̲OP)

           END CASE INIT ̲RECEIVE ̲FIRST ̲QEL

   END CASE SYS ̲CALL

END PROCEDURE INIT ̲SYS ̲CALL
















                 Figure 4.2.4.6.1-1


4.2.4.6.2    S̲E̲N̲D̲ ̲T̲O̲ ̲T̲D̲C̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         SEND ̲TO ̲TDC checks that a logical number of right size
         and signals SHORT ̲OP to a specified operation - semaphore.
         For SADs and EXCs the tables LOG ̲D ̲TO ̲LOCAL and LOG
         ̲C ̲TO ̲LOCAL are used to find the operation semaphore.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

         a)  SEND ̲TO ̲TDC (WHERE ̲TO:WHERE ̲TO ̲TYPE) LOGICAL ̲NO:
                                                         INTEGER)

         b)  SEND ̲TO ̲TDC(R0, R3, R6)

         R̲e̲g̲i̲s̲t̲e̲r̲s̲ ̲C̲o̲n̲v̲e̲nt̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 0  …02…WHERE ̲TO   (destroyed)
         R 3     LOGICAL ̲NO (destroyed)
         R 6     Link       (destroyed)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R7              (destroyed)

         D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

         VDU-OS             see 4.1.4

         SAD ̲OS             see 4.1.4

         EXC ̲OS             see 4.1.4

         LOG ̲O ̲TO ̲LOCAL     common COPSY data 4.1.4

         LOG ̲C ̲TO ̲LOCAL     common COPSY data 4.1.4

         E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

         VDU ̲OS (LOG ̲D ̲TO ̲LOCAL(LOGICAL ̲NO))

         SAD ̲OS (LOG ̲C ̲TO ̲LOCAL(LOGICAL ̲NO))


         SHORT ̲OP

         I̲n̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

         LOGICAL ̲NO: INTEGER

         F̲l̲o̲w̲g̲r̲a̲m̲     see fig. 4.2.4.6.2-2


PROCEDURE SEND ̲TO ̲TDC (WHERE ̲TO,LOGICAL ̲NO,

BEGIN

   LOGICAL ̲NO LT 0? ERROR ̲CMD(LOGICAL ̲NO ̲ERROR,WHERE ̲TO,LOGICAL
 ̲NO)

   CASE WHERE ̲TO

      VDU ?

         LOGICAL ̲NO GT MAX ̲VDU ̲NO? ERROR ̲CMD(LOGICAL ̲NO ̲ERROR,
                                           WHERE ̲TO,LOGICAL
 ̲NO)

         SIGNAL (VDO ̲OS(LOGICAL ̲NO)SHORT ̲OP

      SAD ?

         LOGICAL ̲NO GT MAX ̲SAD ̲NO? ERROR ̲CMD(LOGICAL ̲NO ̲ERROR,
                                         WHERE ̲TO,LOGICAL ̲NO)

         SIGNAL(SAD ̲OS (LOG ̲D ̲TO ̲LOCAL(LOGICAL ̲NO)),SHORT ̲OP)

      EXC ?

         LOGICAL ̲NO GT  MAX ̲EXC ̲NO? ERROR ̲CMD(LOGICAL ̲NO ̲ERROR,
 
                                         WHERE ̲TO,LOGICAL ̲NO)

         SIGNAL(EXC ̲OS(LOG ̲C ̲TO ̲LOCAL ̲NO)),SHORT ̲OP)

   END CASE WHERE ̲TO

END PROCEDURE















                    Figure 4.2.4.6.2-2


4.2.4.6.3    E̲R̲R̲O̲R̲ ̲C̲M̲D̲

         N̲a̲r̲r̲a̲t̲i̲v̲e̲

         Depending on the call parameter CMD ̲ERROR an error
         report is made and sent to SEH ̲OS. The report is made
         as described below.

         C̲M̲D̲ ̲E̲R̲R̲O̲R̲=̲  N̲O̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲D̲ ̲S̲T̲A̲R̲T̲ ̲C̲M̲D̲,̲R̲E̲C̲E̲I̲V̲E̲D̲ ̲W̲R̲O̲N̲G̲ ̲O̲P̲E̲R̲A̲T̲I̲O̲N̲

                     ERROR ̲TYPE = COPSY ̲SHORT ̲ERROR
                     USER ̲ACTION = GIVE ̲UP
                     ERROR ̲COR = CMD ̲COR
                     ERROR ̲INFO(1) = OP.CMD ̲TYPE
                     ERROR ̲INFO(2) = OP.CMD
                     REFERENCE = ADDRESS (OP)

         C̲M̲D̲ ̲E̲R̲R̲O̲R̲ = M̲M̲O̲N̲ ̲E̲R̲R̲O̲R̲

                     ERROR ̲TYPE = COPSY ̲INT ̲ERROR
                     USER ̲ACTION = CONTINUE
                     ERROR ̲COR = CMD ̲COR
                     ERROR ̲INFO (1) = SYSE ̲INFO.SENDER
                     REFERENCE = NIL

         C̲M̲D̲ ̲E̲R̲R̲O̲R̲ = M̲A̲I̲N̲ ̲T̲Y̲P̲E̲ ̲E̲R̲R̲O̲R̲,̲S̲U̲B̲T̲Y̲P̲E̲ ̲E̲R̲R̲O̲R̲

                     ERROR ̲TYPE = COPSY ̲Q ̲ERROR
                     USER ̲ACTION = CONTINUE
                     ERROR ̲COR = CMD ̲COR
                     ERROR ̲INFO.Q = SYQUEUE
                     ERROR.INFO.INFO(1) =
                                 SYQEL ̲ATTRIBUTES.HEADER.MAINTYPE
                     ERROR ̲INFO.INFO(2) =
                                 SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE
                     REFERENCE = SYQEL

         C̲M̲D̲ ̲E̲R̲R̲O̲R̲ = T̲I̲M̲E̲O̲U̲T̲ ̲E̲V̲E̲N̲T̲ ̲E̲R̲R̲O̲R̲

                     ERROR ̲TYPE = COPSY ̲Q ̲ERROR
                     USER ̲ACTION = CONTINUE
                     ERROR ̲COR = CMD ̲COR
                     ERROR ̲INFO.Q = SYQUEUE
                     ERROR ̲INFO.INFO (1) =
                                  SYQEL ̲ATTRIBUTES.HEADER.SUBTYPE
                     ERROR ̲INFO.INFO (2) =
                                  SYQEL ̲ATTRIBUTES.HEADER.FLAG
                     REFERENCE = SYQEL


         C̲M̲D̲ ̲E̲R̲R̲O̲R̲ = L̲O̲G̲I̲C̲A̲L̲ ̲N̲O̲ ̲E̲R̲R̲O̲R̲

                     ERROR ̲TYPE = COPSY ̲INT ̲ERROR
                     USER ̲ACTION = CONTINUE
                     ERROR ̲COR = CMD ̲COR
                     ERROR ̲INFO (1) = WHERE ̲TO    I/F-data for
                     ERROR ̲INFO (2) = LOGICAL NO  SEND ̲TO ̲TDC


         I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  ERROR ̲CMD (CMD ̲ERROR:CMD ̲ERROR ̲TYPE,
                        WHERE ̲TO:WHERE ̲TO ̲TYPE,
                        LOGICAL ̲NO:INTEGER

         For CMD ̲ERROR not equal to LOGICAL ̲NO ̲ERROR is WHERE
         ̲TO=NIL and LOGICAL ̲NO=NIL.

         b)  ERROR ̲CMD(R0, R3, R4, R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  WHERE ̲TO
         R3  LOGICAL ̲NO
         R4  CMD ̲ERROR
         R6  link

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0 - R7  destroyed

         C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         ERROR ̲CMD calls the CSF-procedures

         -   WAIT ̲OPSEM
         -   SIGNAL ̲OPSEM

         D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a 1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CMD ̲ERROR ̲TYPE,
             WHERE ̲TO ̲TYPE         see 4.2.4.5
             COPSY ̲GARBLE ̲PARAMS   see 4.1.4



         a 2) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CMD ̲ERROR,
             WHERE ̲TO
             LOGICAL ̲NO            I/F-data
             LONG ̲OS
             SEH ̲OS                see 4.1.4
             OP                    see 4.2.4.5

         b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             CMD ̲ERROR
             WHERE ̲TO
             LOGICAL ̲NO
             OP
             OP ̲CMD ̲TYPE
             OP ̲CMD

         c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             VAR LONG ̲OP: LONG ̲OP ̲TYPE    4.1.4
                 "used to make the error-report"

             Flowgram  see figure 4.2.4.6-3


PROCEDURE

ERROR ̲CMD(CMD ̲ERROR:CMD ̲ERROR ̲TYPE
              WHERE ̲TO:WHERE ̲TO ̲TYPE
              LOGICAL ̲NO:INTEGER
BEGIN
   WAIT ̲OPSEM(LONG ̲OS)(LONG ̲OP)
   EQVIVALENCE(LONG ̲OP.INFORMATION,PARAMS:COPSY ̲GARBLE ̲PARAMS)
   PAREMS.LOC=CMD ̲ERROR
   PAREMS.ERROR ̲COR=CMD ̲COR

   CASE CMD ̲ERROR OF

      NOT ̲RECEIVED ̲START ̲CMD,
      RECEIVED ̲WRONG ̲OPERATION?
         PARAMS.REFERENCE=ADDRESS(OP)
         PARAMS.ERROR ̲TYPE=COPSY ̲SHORT ̲ERROR
         PARAMS.USER ̲ACTION=GIVE ̲UP
         PARAMS.ERROR ̲INFO (1)= OP.CMD ̲TYPE
         PARAMS.ERROR ̲INFO (2)= OP.CMD

      MMON ̲ERROR?
         PARAMS.ERROR ̲TYPE=COPSY ̲INT ̲ERROR
         PARAMS.USER ̲ACTION=CONTINUE
         PARAMS.ERROR ̲INFO (1)= SYSE ̲INFO.SENDER

      MAINTYPE ̲ERROR,
      SUBTYPE ̲ERROR?
         PARAMS.REFERENCE = SYQEL
         PARAMS.ERROR ̲TYPE = COPSY ̲Q ̲ERROR
         PARAMS.USER ̲ACTION = CONTINUE
         PARAMS.ERROR ̲INFO.Q = SYQUEUE
         PARAMS.ERROR ̲INFO.INFO (1=SYQEL ̲ATTRIBUTES.HEADER.
                                                   MAINTYPE
         PARAMS.ERROR ̲INFO.INFO (2)=SYQEL ̲ATTRIBUTES.HEADER.
                                                   SUBTYPE

CONTINUES









                    Figure 4.2.4.6-3a


PROCEDURE ERROR ̲CMD


      TIMEOUT ̲EVENT ̲ERROR?
         PARAMS:REFERENCE=SYQEL
         PARAMS.ERROR ̲TYPE  = COPSY ̲Q ̲ERROR
         PARAMS.USER ̲ACTION = CONTINUE
         PARAMS.ERROR ̲INFO.Q = SYQUEUE
         PARAMS.ERROR ̲INFO.INFO (1)=SYQEL ̲ATTRIBUTES.HEADER
                                                   SUBTYPE
         PARAMS.ERROR ̲INFO.INFO (2)=SYQEL ̲ATTRIBUTES.HEADER.FLAG

      LOGICAL ̲NO ̲ERROR?
         PARAMS.HEADER. FLAG = VALIDATION ̲NOT ̲OK
         PARAMS.HEADER. MAINTYPE = ACK
         PARAMS.HEADER. SUBTYPE = SSC ̲ACK

         SEND ̲REPY (PARAMS,NIL,SYQEL)

         DISMANTLE ̲QEL(SYQEL)

         PARAMS.ERROR ̲TYPE=COPSY ̲INT ̲ERROR
         PARAMS.USER ̲ACTIONS=CONTINUE
         PARAMS.INFO(1) = WHERE ̲TO
         PARAMS.INFO(2) = LOGICAL ̲NO

      END CASE CMD ̲ERROR
      SIGNAL ̲OPSEM(SEH ̲OS,LONG ̲OP)
END PROCEDURE ERROR ̲CMD





















                    Figure 4.2.4.6-3b