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

⟦2c506a799⟧ Wang Wps File

    Length: 17799 (0x4587)
    Types: Wang Wps File
    Notes: CPS/SDS/041               
    Names: »1486A «

Derivation

└─⟦e8bc85b7f⟧ Bits:30005802 8" Wang WCS floppy, CR 0105A
    └─ ⟦this⟧ »1486A « 

WangText



*             …86…1
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              …02…
              
              
              
              
              
              
              
              
              
              
              …02…
              
              
              …02…
              
              
              
              
              
              
              
              

…02…CPS/SDS/041

…02…KS/811201…02……02…
PRINTER
DETAILED
 DESIGN
 SPECIFICATION…02……02…CAMPS








4.1.1.2  P̲r̲i̲n̲t̲o̲u̲t̲ ̲E̲x̲e̲c̲u̲t̲i̲o̲n̲

         This part of the main functions carries out the actual
         printing actions.

         The most important assignment in this, is to form the
         printout by merging the predefined - and the variable
         -information and then sending it to the printer.



4.1.1.2.1    F̲o̲r̲m̲a̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲

         Format Control is carrying out the necessary interface
         actions between the Printer Process and the P̲rint F̲ormat
         F̲ile via FMS.

         I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲  variables and buffers.

         G̲e̲t̲ ̲F̲o̲r̲m̲a̲t̲  obtains the format from the PFF and reads
                     in appropriate Format Descriptor Record's
                     to the Format Descriptor Buffer and handles
                     eventual Error codes from IOS.  Ref. figure
                     4.1.1-7
































                      FIGURE 4.1.1-7





4.1.1.2.2    P̲r̲i̲n̲t̲o̲u̲t̲

         These functions are together providing the printer
         device (via IOC) with the data to be printed.

         I̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲ ̲F̲r̲o̲m̲ ̲C̲I̲F̲/̲B̲U̲F̲F̲E̲R̲ transfers the data from
         the CIF referenced by theQueue element or from the
         buffer connedted with the Queue element to the source
         buffer used by the conversion functions.

         C̲o̲n̲v̲e̲r̲t̲ ̲D̲a̲t̲a̲ ̲F̲o̲r̲ ̲O̲u̲t̲p̲u̲t̲ is producing the output data
         for the printer. It is converting and merging data
         from the Source Buffer and the Format Descriptor Buffer.
         Line-and page-accounting is also carried out.

         O̲u̲t̲p̲u̲t̲ ̲D̲a̲t̲a̲ ̲T̲o̲ ̲P̲r̲i̲n̲t̲e̲r̲ takes care of transferring the
         converted data to the printer via IOC. This also includes
         reception of completion codes, error codes and printer-control
         signals from IOC.

         Ref. figure 4.1.1-8




































                      FIGURE 4.1.1-8







4.1.2    S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         In this section the software structure of PRIP will
         be described. The allocation of functions onto processes
         and coroutines will be explained, based on the analysis
         performed in section 4.1.1.

         Figure 4.1.2-1 shows the mapping of functions onto
         processes and coroutines.



4.1.2.1  P̲R̲I̲P̲ ̲P̲r̲o̲c̲e̲s̲s̲e̲s̲

         The P̲r̲i̲nter P̲ackage consists of a number of P̲r̲i̲nter
         S̲ubprocesses, each subprocess corresponding to one
         device. A subprocess is a set of coroutines to which
         a common ACCESS PROFILE can be associated. The ACCESS
         PROFILE contains information on which objects (e.g.a
         queue) a process or a subprocess may gain access to.



4.1.2.1.1    P̲R̲I̲S̲ ̲P̲r̲o̲c̲e̲s̲s̲

         a) The P̲r̲i̲nter S̲ubprocess controls the printout of
         different items on a printer (via IOC). This is happening
         under supervision of DEMCO (SSC-software). PRIS thus
         has the following responsibilities:

             - DEMCO Command Execution
             - Control and Execution of Item-Printout
             - Transaction Accounting
             - Preemption Control
             - Document Accounting

         In figure 4.1-1 an overview of PRIS is depicted.

         b) The Queue-structure of PRIS is described in sec.
         4.1 (table 4.1-a).
































                      FIGURE 4.1.2-1







4.1.2.2. P̲R̲I̲P̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲s̲

         The characteristics of the coroutine software component
         type is described in CPS/SDS/027 sec. 4.1.2.2 and thus
         it shall not be repeated here.



4.1.2.2.1    P̲R̲I̲S̲-̲C̲o̲r̲o̲u̲t̲i̲n̲e̲s̲

         The P̲r̲i̲nter S̲ubprocess consists of two coroutines:

             -the U̲ser P̲rinter C̲o̲ntrol Coroutine (UPCO)
             -the P̲r̲i̲nter O̲utp̲ut Coroutine (PROP)

4.1.2.2.1.1 U̲s̲e̲r̲ ̲P̲r̲i̲n̲t̲e̲r̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

         UPCO is the coroutine that indirectly controls the
         printing actions of the allocated printer, and thus
         it controls the other coroutine (PROP)

         UPCO is responsible for
             a)  the execution of commands received from DEMCO
                 e.g. Close Down, Start SAD, Stop SAD, Resume.
             b)  preemption control and activation.
             c)  transaction accounting
             d)  controlling of PROP in order to print the queued
                 items.
             e)  selection of information used for document
                 accounting

         As UPCO is the controlling coroutine within PRIS it
         must be assigned higher priority than PROP, meaning
         that if both UPCO and PROP are ready to run UPCO will
         be executing first.



4.1.2.2.1.2 P̲r̲i̲n̲t̲e̲r̲ ̲O̲u̲t̲p̲u̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

         PROP is carrying out the actual printing i.e. formatting
         and output of the formatted print data.

         It is controlled by commands from UPCO and reacts upon
         completion- or error- codes from IOC. In case of print-completion
         or -errors, reports are sent to UPCO.


         PROP accesses the Print Format File (via FMS) where
         description information for each format is stored.

         References to print data are handed over by UPCO.



4.1.2.3  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         In the preceding subsections of section 4.1.2, the
         processes and coroutines of PRIP have been isolated,
         and the functions to be performed by these software
         components identified.

         The software structure for each component (i.e. coroutine)
         will be outlined in the following subsections. The
         description of the software structure will mainly be
         in the form of software structure charts and references
         should be made to the functional specification given
         in section 4.1.1. The denotation used in section 4.1.1
         has as far as possible been used in the software structure
         charts, with the purpose of highlighting the close
         relationship. Thus the identification of programme
         tasks is given in narrative English and not as programme
         or procedure names.



4.1.2.3.1    U̲P̲C̲O̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The software structure of the User Printer Control
         Coroutine is outlined in fig. 4.1.2-2 through fig.
         4.1.2-6.

         Control Logic is described in sec. 4.1.3.



4.1.2.3.2    P̲R̲O̲P̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The software structure of the user printer control
         coroutine is outlined in fig. 4.1.2-7 through fig.
         4.1.2-11.

         Control logic is described in sec. 4.1.3.





























                             














          F̲r̲a̲ ̲F̲I̲G̲U̲R̲E̲ ̲4̲.̲1̲.̲2̲-̲2̲ ̲t̲i̲l̲ ̲F̲I̲G̲U̲R̲E̲ ̲4̲.̲1̲.̲2̲-̲1̲1̲




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

         This section describes the Data flow between the PRIS
         Coroutines and the Control Logic used to synchronize
         the execution of the functions allocated to them.



4.1.3.1  P̲R̲I̲S̲ ̲I̲n̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲S̲y̲n̲c̲h̲r̲o̲n̲i̲z̲a̲t̲i̲o̲n̲

         The two coroutines within PRIS synchronize as shown
         on fig. 4.1-1.

         The general principle is that a running coroutine is
         allowed to run until it issues a wait operation. Then
         the coroutine with highest priority ready to run is
         started. A coroutine is ready to run when an event
         for which it has issued a wait instruction takes place.

         UPCO waits for the S1 Semaphore. S1 is associated with
         the Cmd Queue and either the main Print Queue or one
         or several of its subqueues.

         Thus as soon as an element is sent to one of the associated
         queues, UPCO is ready to run.

         In the CMD subqueue UPCO receives DEMCO commands, Flash
         Notifications and Timer events. The print-subqueues
         receives items for print.

         S1 is also signalled by PROP when it wants to deliver
         completion  - or error-codes to UPCO.

         UPCO has the higher priority of the two PRIS-Coroutines
         and it controls PROP by sending commands to it and
         signalling S2.

         PROP is waiting for S2. S2 is signalled by UPCO as
         described above. The coroutine monitor signals S2 in
         order to indicate completion of Printer Output system
         calls initiated by PROP .

         As mentioned above S1 will be signalled on delivery
         of Completion and Error Reports to UPCO.



4.1.3.2  N̲o̲r̲m̲a̲l̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲F̲l̲o̲w̲ ̲(̲M̲a̲j̲o̲r̲ ̲T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲s̲)̲

         This section contains the functional flow for a typical
         major transaction:

             1. Start Up (Start SAD DEMCO CMD)
             2. Print of item stored in a CIF
             3. Stop (Stop SAD DEMCO CMD)

         The following HIPO diagrams illustrates the flow.















































                  1̲0̲ ̲s̲t̲k̲.̲ ̲H̲I̲P̲O̲ ̲d̲i̲a̲g̲r̲a̲m̲s̲ ̲




4.1.1    C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

         "Semaphores"

         PRIS ̲S1
         PRIS ̲S2                      : COROUTINE ̲SEMAPHORE;
         
         "Operations"

         PRIS ̲CMD ̲Q ̲OP                ,
         PRIS ̲PRINT ̲Q ̲OP              ,
         PTID ̲PTRV1 ̲OP                ,
         PRIS ̲FLASH ̲OP                ,
         PRIS ̲STAT ̲OP                 ,
         PRIS ̲SYIE ̲OP                 ,
         PRIS ̲UPCO ̲SYSCALL ̲OP         ,
         PRIS ̲UPCO ̲CMD                ,
         PRIS ̲PROP ̲REPORT ̲OP          ,
         PRIS ̲PROP ̲10 ̲OP1             ,
         PRIS ̲PROP ̲10 ̲OP2             :PRIS ̲COROUTINE ̲OPERATION;

         "QEL REFS"
         INPUT ̲QEL                    ,
         PRINT ̲ITEM ̲QEL ̲REF           : QEL ̲REFERENCE;

         "QEL ATTRS"                  
         INPUT ̲ATTR                   ,
         PRINT ̲ITEM ̲QEL ̲ATTR          : QEL ̲ATTRIBUTES;

         "BUFFERS"

         DOC ̲ACC ̲BUFFER               : ARRAY(1..80)OF CHAR;

         "FORMAT DESCRIPTOR BUFFER"
         FDB,

         SOURCE ̲BUFFER                ,
         OUTPUT ̲BUFFER                : ARRAY (1..512) OF BYTES;



         "OTHER VARIABLES"

         PRINTER ̲TYPE                 : LOW ̲HIGH ̲TYPE;
         
         LINES ̲PR ̲PAGE                : 1..99;
         LINES ̲BETWEEN ̲PAGES          : 1..99;

         PREEMPTION ̲DELAY ̲LIMIT       : PREEMPT ̲DELAY ̲TYPE;

         CLASS ̲LONG ̲TEXT ̲ARRAY        : ARRAY(1..7)OF
                                       CLASS ̲LONG ̲TEXT ̲TYPE;

         CLASS ̲SHORT ̲TEXT ̲ARRAY       : ARRAY(1..7)OF
                                       CLASS ̲SHORT ̲TEXT ̲TYPE;

         ITEM ̲CLASSIFICATION          : CLASSIFICATION ̲TYPE;
         ITEM ̲CLASSIFIED              : BOOLEAN;

         TRANS ̲ID    : TRANS ̲ID ̲TYPE  :



4.1.5    C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         TBD



4.1.6    G̲l̲o̲b̲a̲l̲ ̲D̲a̲t̲a̲ ̲E̲l̲e̲m̲e̲n̲t̲s̲



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



4.1.7.1  E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         Two external interfaces exists: Low Speed Printer Interface,
         Medium Speed Printer Interface.



4.1.7.2  P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         TBD





4.1.7.3  S̲u̲b̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.1.7.3.1    P̲r̲o̲c̲e̲s̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         None



4.1.7.3.2    C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         1̲.̲ ̲F̲r̲o̲m̲ ̲U̲P̲C̲O̲ ̲t̲o̲ ̲P̲R̲O̲P̲

             1.  Initialize ̲PROP      Cmd
             2.  Commence             Cmd
             3.  Restart              Cmd
             4.  Continue             Cmd
             5.  Abandon              Cmd
             6.  Preempt              Cmd

         2̲.̲ ̲F̲r̲o̲m̲ ̲P̲R̲O̲P̲ ̲t̲o̲ ̲U̲P̲C̲O̲

             1.  Initialize ̲CC
             2.  Print ̲Complete Rep.
             3.  Preempt ̲CC
             4.  Abandon ̲CC
             5.  Connection-Error
             6.  PROP ̲error
             7.  Paper ̲Low

         The coroutine communication is done by operations and
         semaphores.

         The calling coroutine puts its identification in the
         first word of the operation-user field and the command.or
         report-id in the second word. The third word of the
         operation-user field is used for eventual parameter
         transfer.





4.2.1    U̲s̲e̲r̲ ̲P̲r̲i̲n̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The U̲ser P̲rint C̲ontrol (UPCO) coroutine controls the
         printout of queued items performed by PROP (P̲r̲inter
         O̲utp̲ut). UPCO is controlled by DEMCO via Commands.



4.2.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̲

         The following functions are included in this subpackage
         (refer fig. 4.2.1.1-1):

             DEMCO command execution 
             Flash notification processing
             Print item processing
             I/O-Error report processing
             CC ̲Report processing
             Timeout event processing














































        F̲r̲a̲ ̲F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲1̲.̲1̲-̲1̲ ̲t̲i̲l̲ ̲F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲1̲.̲1̲-̲7̲




4.2.1.1.1    D̲E̲M̲C̲O̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲E̲x̲e̲c̲u̲t̲i̲o̲n̲

         The DEMCO command execution functions are those which
         directly involve the SSC package.

         a)  S̲t̲a̲r̲t̲ ̲(̲S̲A̲D̲)̲ ̲ ̲(̲1̲.̲1̲)̲
             
             Initialize the printing actions by sending an Initiate
             command to PROP and initializeng the working area.
             The PFF connection is accepted. A   CC ̲report is
             sent to DEMCO.

         b)  S̲t̲o̲p̲ ̲(̲S̲A̲D̲)̲ ̲ ̲ ̲(̲1̲.̲2̲)̲

             Stops the printing actions immediately. An Abandon
             command is sent to PROP and the working area will
             be cleaned up. A CC-report is sent to DEMCO.

         c)  C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲ ̲(̲1̲.̲3̲)̲

             The command will be given with a time limit parameter.

         d)  R̲e̲s̲u̲m̲e̲ ̲ ̲ ̲(̲1̲.̲4̲)

             If the printing has been stopped due to a printer
             error (e.g. paper out), IOC notifies DEMCO when
             the printer is functioning again. DEMCO then issues
             a Resume command to PRIS. UPCO receives it and
             sends a Continue command to PROP.



4.2.1.1.2    F̲l̲a̲s̲h̲ ̲N̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲2̲.̲0̲)̲

         The Flash notification execution functions are activated
         when a Flash notification is received in the command
         queue.

         a)  S̲e̲n̲d̲ ̲Q̲u̲e̲u̲e̲ ̲E̲l̲e̲m̲e̲n̲t̲ ̲t̲o̲ ̲M̲D̲C̲O̲ ̲(̲2̲.̲1̲)̲

             This function is used when the processing is stopped
             e.g. because of paper out on the printer.

         b)  S̲e̲t̲ ̲T̲i̲m̲e̲r̲ ̲(̲2̲.̲2̲)̲

             If an item of precedence lower than Flash is being
             printed when a Flash notification arrives, a timer
             will be started by a call to Timer Monitor (CSF).
             The processing of the current item will be continued.


4.2.1.1.3    P̲r̲i̲n̲t̲ ̲I̲t̲e̲m̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲3̲.̲0̲)̲

         These functions are carried out when processing an
         item from the print queue.

         a)  S̲e̲n̲d̲ ̲P̲r̲e̲e̲m̲p̲t̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲t̲o̲ ̲P̲r̲o̲p̲ ̲(̲3̲.̲1̲)̲

             If a Warning or a Security report arrives during
             printout of Tables or SYstem Information Extracts,
             preemption shall take place immediately.

         b)  G̲e̲t̲ ̲A̲c̲c̲e̲s̲s̲ ̲t̲o̲ ̲C̲I̲F̲ ̲(̲3̲.̲2̲)̲

             If the item to be printed is contained in a CIF,
             the printer process shall get access to it via
             Message Monitor.

         c)  D̲o̲c̲u̲m̲e̲n̲t̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲ ̲(̲3̲.̲3̲)̲

             Document Accounting shall be carried out for the
             following items:

                     Messages
                     Service Messages
                     Comments

             (refer SRS sec. 3.2.3....7.2 and sec. 2.2.1.2 of
             this document)

         The document accounting functions has the responsibility
         of fetching and determining the parameters and information
         that is to be printed on top or bottom of each page.

             F̲e̲t̲c̲h̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲ ̲(̲3̲.̲3̲.̲1̲)̲

             Fetches the various system parameters e.g. System
             Print Control Number.

             C̲o̲m̲p̲u̲t̲e̲ ̲N̲u̲m̲b̲e̲r̲ ̲o̲f̲ ̲P̲a̲g̲e̲s̲ ̲(̲3̲.̲3̲.̲2̲)̲

             Computes the total number of pages that each copy
             of the item consists of.

             S̲e̲t̲ ̲P̲a̲g̲e̲ ̲H̲e̲a̲d̲e̲r̲/̲T̲r̲a̲i̲l̲e̲r̲ ̲(̲3̲.̲3̲.̲3̲)̲

             Stores the Page/Header Trailer information in the
             common data area so it is available for PROP at
             printout.

         d)  C̲o̲p̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲(̲3̲.̲4̲)̲

             It is the responsibility of the copy control function
             that the current item is printed out in the right
             number of copies.



         e)  S̲e̲n̲d̲ ̲C̲o̲m̲m̲e̲n̲c̲e̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲t̲o̲ ̲P̲R̲O̲P̲ ̲(̲3̲.̲5̲)̲

             The function is used in order to let PROP print
             a copy of the current item.

         f)  P̲r̲i̲n̲t̲ ̲C̲o̲m̲p̲l̲e̲t̲e̲ ̲R̲e̲p̲o̲r̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲3̲.̲6̲)̲

             Is activated when PROP has finished processing
             a copy of the current item.

         g)  G̲i̲v̲e̲ ̲U̲p̲ ̲A̲c̲c̲e̲s̲s̲ ̲t̲o̲ ̲C̲I̲F̲ ̲(̲3̲.̲7̲)̲

             This function is activated if the item is contained
             in a CIF and its processing is completed or it
             has been abandoned.

         h)  T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲ ̲(̲3̲.̲8̲)̲

             Generates and sends log records to LOG ref. sec.
             2.2.2.6 and 4.1.1.1.6, and Status reports to UMAM.



4.2.1.1.4    E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲4̲.̲0̲)̲

         These functions are involved upon receipt of error
         reports from PROP or by detecting errors within UPCO.

         a)  S̲e̲t̲ ̲P̲r̲i̲n̲t̲e̲r̲ ̲E̲r̲r̲o̲r̲ ̲S̲t̲a̲t̲u̲s̲ ̲(̲4̲.̲1̲)̲

         b)  S̲e̲n̲d̲ ̲F̲l̲a̲s̲h̲ ̲I̲t̲e̲m̲s̲ ̲t̲o̲ ̲M̲D̲C̲O̲ ̲(̲4̲.̲2̲)̲

             If there are any items with Flash priority or above
             queued for print, when the print processing is
             stopped, they must be sent to MDCO.

         c)  S̲e̲n̲d̲ ̲E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲ ̲t̲o̲ ̲D̲E̲M̲C̲O̲ ̲(̲4̲.̲3̲)̲

             If DEMCO is not already aware of the error, an
             error report shall be sent.

         d)  A̲w̲a̲i̲t̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲F̲r̲o̲m̲ ̲D̲E̲M̲C̲O̲ ̲(̲4̲.̲4̲)̲

             When an error is reported a DEMCO command must
             be awaited.



4.2.1.1.5    C̲o̲m̲m̲a̲n̲d̲ ̲C̲o̲m̲p̲l̲e̲t̲i̲o̲n̲ ̲R̲e̲p̲o̲r̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲5̲.̲0̲)̲

         Command Completion Report Processing functions are
         activated upon receipt of Command Completion Reports
         from PROP.

         a)  S̲e̲n̲d̲ ̲C̲C̲ ̲R̲e̲p̲o̲r̲t̲ ̲t̲o̲ ̲D̲E̲M̲C̲O̲ ̲(̲5̲.̲1̲)̲

             If required DEMCO shall be notified of the command
             completion.

         b)  R̲e̲t̲u̲r̲n̲ ̲Q̲u̲e̲u̲e̲ ̲E̲l̲e̲m̲e̲n̲t̲ ̲t̲o̲ ̲Q̲u̲e̲u̲e̲ ̲(̲5̲.̲2̲)̲

             If the current item has been abandoned, it shall
             be returned to the Queue.

         c)  G̲i̲v̲e̲ ̲U̲p̲ ̲A̲c̲c̲e̲s̲s̲ ̲T̲o̲ ̲C̲I̲F̲ ̲(̲5̲.̲3̲)̲

             If the current item has been abandoned or the printout
             is completed the CIF must be closed.

         d)  S̲t̲a̲r̲t̲ ̲P̲r̲i̲n̲t̲i̲n̲g̲ ̲o̲f̲ ̲F̲l̲a̲s̲h̲ ̲I̲t̲e̲m̲ ̲(̲5̲.̲4̲)̲

             When the previous item is preempted, processing
             of the Flash item can begin.



4.2.1.1.6    T̲i̲m̲e̲o̲u̲t̲ ̲E̲v̲e̲n̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲6̲)̲

         This function processes timeout events originally initiated
         by Close Down Control (sec. 4.2.1.1.1-c) or Preemption
         Control (sec. 4.2.1.1.2-c).



4.2.1.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The UPCO software structure is depicted in fig. 4.2.1.2-1.

         A short description of each component in the figure
         is given below:



4.2.1.2.1    C̲o̲m̲m̲a̲n̲d̲ ̲Q̲u̲e̲u̲e̲ ̲I̲t̲e̲m̲s̲ ̲(̲1̲.̲0̲)̲

         All items received in the Command Queue are processed
         by this part of the UPCO software.

         a)  D̲E̲M̲C̲O̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲ ̲(̲1̲.̲1̲)̲

             The Commands to be processed are:

             Start
             Resume
             Close Down
             Stop

         b)  T̲i̲m̲e̲o̲u̲t̲ ̲E̲v̲e̲n̲t̲s̲ ̲(̲1̲.̲2̲)̲

             Two kinds of timeout events can arrive:
                 
                 1. Preemption timeout.
                 2. Close down timeout.

         c)  F̲l̲a̲s̲h̲ ̲N̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲ ̲(̲1̲.̲3̲)̲

             Flash notifications will start preemption investigations
             if an item of priority lower than Flash is currently
             being processed.



4.2.1.2.2    P̲r̲i̲n̲t̲ ̲Q̲u̲e̲u̲e̲ ̲I̲t̲e̲m̲s̲ ̲(̲2̲.̲0̲)̲

         a)  C̲I̲F̲ ̲I̲t̲e̲m̲s̲ ̲(̲2̲.̲1̲)̲

             Print items contained in a CIF will be processed
             by this component.

         b)  B̲u̲f̲f̲e̲r̲ ̲I̲t̲e̲m̲s̲ ̲(̲2̲.̲2̲)̲

             Print items contained in a buffer will be processed
             by this component.





4.2.1.2.3    I̲t̲e̲m̲s̲ ̲f̲r̲o̲m̲ ̲P̲R̲O̲P̲ ̲(̲3̲.̲0̲)̲

         The items received from PROP can be divided into the
         3 following groups:

         a)  E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲s̲ ̲(̲3̲.̲1̲)̲

             Error Reports describe both external errors that
             occurs when communicating with IOC & FMS and internal
             errors detected within PROP.

         b)  C̲o̲m̲m̲a̲n̲d̲ ̲C̲o̲m̲p̲l̲e̲t̲i̲o̲n̲ ̲R̲e̲p̲o̲r̲t̲s̲ ̲(̲3̲.̲2̲)̲

             Command completion reports can be of the following
             types:
                 
                 Initialize ̲CC
                 Abandon ̲CC
                 Preempt ̲CC

         c)  P̲r̲i̲n̲t̲ ̲C̲o̲m̲p̲l̲e̲t̲e̲ ̲R̲e̲p̲o̲r̲t̲s̲ ̲(̲3̲.̲3̲)̲

             These reports are received when PROP has finished
             printing of an item or a copy of one.


























































                     F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲1̲.̲2̲-̲1̲