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

⟦e9d91981d⟧ Wang Wps File

    Length: 49564 (0xc19c)
    Types: Wang Wps File
    Notes: CPS/SDS/036               
    Names: »1642A «

Derivation

└─⟦8b37ca311⟧ Bits:30006109 8" Wang WCS floppy, CR 0174A
    └─ ⟦this⟧ »1642A « 

WangText

W…00……00……00……00…I…02……00……00…I
…12……05……11……0f……10……0a……10……0f……10… …0f……08……0f……09……0f……0f……0f……02……0f…
…0f… …0e……09……0e……0e……0e……02……0e…
…0e……06……0d……0d……0d……02……0d…
…0c……08……0c……09……0c……0d……0c…
…0c……06……0c……07……0b……0c……0b……00……0b……01……0b……02……0b……86…1                                             …02…           …02…   …02…        
#
…02…CPS/SDS/036

…02…841115…02……02…
SUPERVISOR PRINTER
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS








                    T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲



   1 GENERAL ........................................1
     001

     1.1 PURPOSE AND SCOPE ..........................1
         002
     1.2 APPLICABLE DOCUMENTS AND PROJECT REFERENCES 1
         002
       1.2.1 Applicable Documents ...................1
       002
       1.2.2 Project References .....................1
       002

     1.3 TERMS AND ABBREVIATIONS ....................1
     003
       1.3.1 Abbreviations ..........................1
       003
       1.3.2 Terms ..................................1
       004

   2 SUMMARY OF REQUIREMENT .........................2
     001

     2.1 PACKAGE DESCRIPTION ........................2
     001
     2.2 PACKAGE FUNCTIONS ..........................2
     005
       2.2.1 Main Functions (Normal Operation) ......2
       005
         2.2.1.1 Delivery of Print Items ............2
         005
         2.2.1.2 Generation of Table- and SYIE-Print
                 Items ..............................2
                 005
         2.2.1.3 Keep Account of Printer Configur-
                 ation ..............................2
                 005
       2.2.2 Functional Responsibilities ............2
       006
         2.2.2.1 Initialization, Close Down, and
                 Restart ............................2
                 006
         2.2.2.2 Check Pointing and Recovery ........2
         006
         2.2.2.3 Error Detecting and Error Handling .2
         006
         2.2.2.4 Integrity of Operation .............2
         006
         2.2.2.5 Data Collection ....................2
         007
           2.2.2.5.1 Log ............................2
           007
           2.2.2.5.2 Statistics .....................2
           007
         2.2.2.6 Security ...........................2
         007

     2.3 CHARACTERISTICS ............................2
     007
       2.3.1 Timing .................................2
       007
       2.3.2 Throughput .............................2
       007
       2.3.3 Flexibility ............................2
       007
       2.3.4 Accuracy ...............................2
       008

   3  ENVIRONMENTS ..................................3
   001

     3.1 EQUIPMENT ..................................3
     001
     3.2 SOFTWARE ...................................3
     001
       3.2.1 System Software ........................3
       001
       3.2.2 Development Support Software ...........3
       001

     3.3 INTERFACES .................................3
     001
       3.3.1 External Software ......................3
       001
       3.3.2 Package Interface ......................3
       001



     3.4 FUNCTIONS MAINTAINED BY OTHER PACKAGES .....3
     001

   4 PACKAGE DESIGN .................................4
   001

     4.1 PACKAGE OVERVIEW ...........................4
     001
       4.1.1 Functional Specification ...............4
       003
         4.1.1.1 Execute SSC and Supervisor Commands 4
         006
         4.1.1.2 Keep Account of Printer Config-
                 uration ............................4
                 006
         4.1.1.3 Delivery of Print Items ............4
         006
         4.1.1.4 Generation of Table- and SYIE-Print
                 Items ..............................4
                 007

       4.1.2 Software Structure .....................4
       007
         4.1.2.1 SPRI Processes .....................4
         008
         4.1.2.2 SPRI Coroutines ....................4
         008
         4.1.2.3 Software Structure .................4
         011

       4.1.3 Data Flow and Control Logic ............4
       017
         4.1.3.1 PRIS Internal Data Flow and Co-
                 routine Synchronization ............4
                 017

       4.1.4 Common Package Data ....................4
       024
       4.1.5 Common Package Procedures ..............4
       024
         4.1.5.1 SPIP REPLY Specification ...........4
         024
         4.1.5.2 SPIP SUPV REPLY Specification ......4
         026
         4.1.5.3 SPIP DISMANTLE Specification .......4
         027
         4.1.5.4 CANCEL SYSTEM CALL Specification ...4
         028
         4.1.5.5 ERROR REP Specification ............4
         029
         4.1.5.6 GETUP REC SPECIFICATION ............4
         030
         4.1.5.7 REL OP REC Specification ...........4
         031
         4.1.5.8 SPIP INIT Specification ............4
         032

       4.1.6 Global Data Elements ...................4
       036
       4.1.7 Interfaces .............................4
       036
         4.1.7.1 External Interfaces ................4
         036
         4.1.7.2 Package Interfaces .................4
         036
         4.1.7.3 Sub-Package Interfaces .............4
         036

     4.2 SUBPACKAGE SPECIFICATONS ...................4
     037
       4.2.1 Supervisor Print Control Subpackage ....4
       037
         4.2.1.1 Functional Specification ...........4
         039
         4.2.1.2 SPICO Software Structure ...........4
         039
         4.2.1.3 Data Flow ..........................4
         041
         4.2.1.4 SPICO Module Specifications ........4
         045
           4.2.1.4.1 SPICO ̲MAIN Specification .......4
           045

         4.2.1.5 Common SPICO Data ..................4
         056
         4.2.1.6 Common SPICO Procedures ............4
         056
         4.2.1.7 Subpackage Interfaces ..............4
         056



       4.2.2 Delivery Control Subpackage (DELCO) ....4
       057
         4.2.2.1 Functional Specification ...........4
         057
         4.2.2.2 DELCO Software Structure ...........4
         061
         4.2.2.3 Data Flow and Control Logic ........4
         071
         4.2.2.4 Module Specification ...............4
         084
           4.2.2.4.1 DELCO ̲MAIN Specification .......4
           084
           4.2.2.4.2 INITIALIZE ̲DELCO Specification .4
           088
           4.2.2.4.3 PROC ̲SPICO ̲ITEMS Specification .4
           092
           4.2.2.4.4 PROC ̲RESCO ̲ITEMS Specification .4
           103
           4.2.2.4.5 Not used .......................4
           108
           4.2.2.4.6 PROC ̲ANSQ ̲ITEM Specification ...4
           108
           4.2.2.4.7 DELIVER ̲ITEM Spec. .............4
           114
           4.2.2.4.8 DELIVER ̲REQUEST Spec. ..........4
           117
           4.2.2.4.9 DELCO ̲REPLY Spec. ..............4
           118

         4.2.2.5 Common DELCO Data ..................4
         121
         4.2.2.6 Common DELCO Procedures ............4
         121
           4.2.2.6.1 FLASH ̲CHECK Spec. ..............4
           121
           4.2.2.6.2 INIT RECEIVE FROM SPIP ANSQ Spec4
           122
           4.2.2.6.3 RECEIVE ITEM Spec. .............4
           123
           4.2.2.6.4 INIT RECEIVE ITEM Spec. ........4
           124
           4.2.2.6.5 DELCO CMD TO RESCO Spec. .......4
           125
           4.2.2.6.6 DELCO CC TO SPICO Spec. ........4
           126
           4.2.2.6.7 SEND RETURN SYIE TAB FILE CMD 
                     PRT ............................4
                     127
           4.2.2.6.8 DETERMINE CHECKP ACTIONS Spec. .4
           128
           4.2.2.6.9 DELCO SAVE Spec. ...............4
           129

         4.2.2.7 Subpackage Interfaces ..............4
         130

       4.2.3 Request Control Subpackage .............4
             132
         4.2.3.1 Functional Specification ...........4
                 132
         4.2.3.2 RESCO Software Structure ...........4
                 134
         4.2.3.3 Data Flow and Control Logic ........4
                 136
         4.2.3.4 RESCO Module Specifications ........4
                 139
           4.2.3.4.1 RESCO MAIN Specifications ......4
           139
           4.2.3.4.2 PROC TABLE Specifications ......4
                     147

         4.2.3.5 Common Subpackage Data .............4
                 157
         4.2.3.6 Common Subpackage Procedures........4
                 157
           4.2.3.6.1 CMD TO DELCO SPECIFICATION .....4
                     157
           4.2.3.6.2 PROC DELCO ITEM ................4
                     158
           4.2.3.6.3 Output Buffer ..................4
                     159
           4.2.3.6.4 PROC TMP REQ ...................4
                     160
           4.2.3.6.5 PROC OBS Specification .........4
                     161
           4.2.3.6.6 PROC CONV Specification ........4
                     164

         4.2.3.7 Coroutine Interfaces ...............4
                 170
           4.2.3.7.1 DELCO RESCO Interfaces .........4
           170
           4.2.3.7.2 RESCO DELCO Interfaces .........4
           170




                        1̲ ̲ ̲G̲E̲N̲E̲R̲A̲L̲



1.1      P̲U̲R̲P̲O̲S̲E̲ ̲A̲N̲D̲ ̲S̲C̲O̲P̲E̲

         a)  The Supervisor Printer Package Specification for
             the CAMPS project/4040 is written to fulfil the
             following objectives:

             1)  To provide a detailed definition of the Supervisor
                 Printer Package function and Software architecture.

             2)  To provide user operational and development
                 personnel with details of the ongoing analysis.

             3)  To define in detail the interfaces with other
                 packages and to describe their facilities.

         b)  The Supervisor Printer Package Specification defines
             the functions and software architecture of the
             package to a level sufficient for a programmer
             to start coding.

             The Supervisor Printer Package constitutes one
             of the building blocks of the TEP package.

             For an overall description of the TEP package refer
             CPS/SDS/012.

             All Supervisor Printer Package internal data and
             interfaces are defined within this document in
             detail. For a detailed data description of data
             external to the Supervisor Printer Package and
             interfaces to other packages refer to the Database
             Design Document (CPS/DBD/001)and the relevant interface
             documents.





1.2      A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲ ̲A̲N̲D̲ ̲P̲R̲O̲J̲E̲C̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲



1.2.1    A̲p̲p̲l̲i̲c̲a̲b̲l̲e̲ ̲D̲o̲c̲u̲m̲e̲n̲t̲s̲

         CAMPS System Requirement Specification
         CPS/210/SYS/0001

         Supervisor Commands and Procedures
         CPS/230/ICD/0002

         CAMPS System Design Specification
         CPS/SDS/001

         Database Design Document
         CPS/DBD/001

         CAMPS Software Interface Control Document
         CPS/ICD/009



1.2.2    R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲o̲c̲u̲m̲e̲n̲t̲s̲

         DOCUMENT NAME                        DOCUMENT NUMBER
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         CAMPS System Functions               CPS/SDS/024
         Message Management                   CPS/SDS/025
         System Status and Control            CPS/SDS/029
         Table Managment                      CPS/SDS/026
         Input/Output Control                 CPS/SDS/028
         Storage and Retrieval                CPS/SDS/030
         Statistics                           CPS/SDS/031
         Logging                              CPS/SDS/032
         Traffic Handling                     CPS/SDS/033
         Message Distribution                 CPS/SDS/034
         Supervisor VDU                       CPS/SDS/035
         MDCO VDU                             CPS/SDS/037
         MSO VDU                              CPS/SDS/038
         USER VDU                             CPS/SDS/039
         OCR                                  CPS/SDS/040
         Printer                              CPS/SDS/041


1.3      T̲E̲R̲M̲S̲ ̲A̲N̲D̲ ̲A̲B̲B̲R̲E̲V̲I̲A̲T̲I̲O̲N̲S̲



1.3.1    A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲

         TEP     T̲e̲rminal P̲ackage
         SPRI    S̲upervisor P̲r̲i̲nter Package
         SPIP    S̲upervisor P̲ri̲nter P̲rocess
         SPICO   S̲upervisor P̲ri̲nt C̲o̲ntrol Subpackage
         DELCO   D̲e̲l̲ivery C̲o̲ntrol Subpackage
         RESCO   R̲e̲ques̲t C̲o̲ntrol Subpackage
         PRIP    P̲r̲i̲nter P̲ackage
         PRIS    P̲r̲i̲nter S̲ubprocess
         SUP     S̲upervisor VDU̲ P̲ackage
         SVUP    S̲upervisor V̲DU̲ P̲rocess
         VUP     V̲DU U̲ser P̲ackage
         VUS     V̲DU U̲ser S̲ubprocess
         UMAM    U̲ser M̲essage A̲ccess and M̲onitoring
         SSC     S̲ystem S̲tatus and C̲ontrol
         DEMCO   D̲e̲vice M̲anagement and C̲o̲ntrol
         CSF     C̲amps S̲ystem F̲unctions
         MDP     M̲essage D̲istribution P̲ackage
         TMP     T̲able M̲anagement P̲ackage
         STP     S̲t̲atistics P̲ackage
         THP     T̲raffic H̲andling P̲ackage
         SYIE    S̲Y̲stem I̲nformation E̲xtracts
         ASM     A̲bbreviated S̲ervice M̲essage
         M       Module
         E       Extention
         MC      Module Component
         CP      Common Procedure





1.3.2    T̲e̲r̲m̲s̲

         All local package constants and types are defined in
         section 4.1.4.
         Global constants and types are defined in the database
         design document.(CPS/DBD/0001)





                2̲ ̲ ̲S̲U̲M̲M̲A̲R̲Y̲ ̲O̲F̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲



2.1      P̲A̲C̲K̲A̲G̲E̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲

         The S̲upervisor P̲R̲I̲nter Package (SPRI) contains the
         software to support the functions required for Supervisor
         Printers.

         The Supervisor Printer Package and the Printer Package
         (ref. CPS/SDS/041) has a master/slave relationship,
         where the Supervisor Printer Package acts as the master.
         It keeps account of the Supervisor Printer Configuration
         and delivers the arriving Print items in accordance
         with this to the Printer Package. The Supervisor Printer
         Process additionally generates print items, which are
         also delivered in accordance with the Supervisor Printer
         Configuration.

         The Printer Package works as a slave for the Supervisor
         Printer Package. It takes care of formatting and printout
         of the items delivered by the Supervisor Printer Package.

         Print items to be delivered by Supervisor Printer Package
         are:

         a)  Arriving items:

             Reports
             Log CIF'S
             Log Trace CIF'S
             Statistics Print
             Service Messages
             Catalogue Display Print
             Status Print
             Instruction Print

         b)  Generated items:

             SYstem Information Extract Print
             Table Print

         The Supervisor Printer Package interfaces to the Printer
         Package and to other parts of the Terminal Package
         as well as other Packages within the CAMPS System.



         The interfaces are shown on figure 2.1-1.

         The numbers refer to the table below.

         1.  Items for print, Flash notifications, Print replies.

         2.  Items for print, Table print- and SYIE print -
             requests, SPIP ̲ACK's and Supervisor Commands.

         3.  Status print items (from UMAM), Status item requests.
             Preparation Queue length Requests and Replies.

         4.  SSC Commands, Warning-Security- and Error-reports,
             SSC Command Acknowledges.

         5.  Warning-reports for print

         6.  Log CIFs for print, Log print replies

         7.  Warning reports, Channel reports and Service messages.

         8.  Statistics CIFs, Statistics print replies.






















                       TABLE 2.1-1


         SPRI uses the CAMPS System Functions and has access
         to several tables via Table Management Package











                       Figure 2.1-1



2.2      P̲A̲C̲K̲A̲G̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲S̲

         This section outlines the functions to be performed
         by SPRI.



2.2.1    M̲a̲i̲n̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲(̲N̲o̲r̲m̲a̲l̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲)̲

         The Main Functions implemented by SPRI are:

         1.  Delivery of print items

         2.  Generation of Table- and SYIE- print items.

         3.  Keep account of Printer Configuration



2.2.1.1  D̲e̲l̲i̲v̲e̲r̲y̲ ̲o̲f̲ ̲P̲r̲i̲n̲t̲ ̲I̲t̲e̲m̲s̲

         All supervisor print items are delivered to the appropriate
         printer (Supervisor, Report, LOG, Statistics) according
         to the present configuration. The configuration is
         set by supervisor, and can be changed dynamically.



2.2.1.2  G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲T̲a̲b̲l̲e̲-̲ ̲a̲n̲d̲ ̲S̲Y̲I̲E̲-̲P̲r̲i̲n̲t̲ ̲I̲t̲e̲m̲s̲

         When the supervisor requests printout of a table or
         of SYstem Information Extracts. SPRI shall generate
         these print items from information contained in the
         various tables ,System Parameters etc.



2.2.1.3  K̲e̲e̲p̲ ̲A̲c̲c̲o̲u̲n̲t̲ ̲o̲f̲ ̲P̲r̲i̲n̲t̲e̲r̲ ̲C̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲

         To ensure correct delivery SPRI must always be aware
         of the current supervisor printer configuration.





2.2.2    F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲R̲e̲s̲p̲o̲n̲s̲i̲b̲i̲l̲i̲t̲i̲e̲s̲



2.2.2.1  I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲,̲ ̲C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲,̲ ̲a̲n̲d̲ ̲R̲e̲s̲t̲a̲r̲t̲

         Initialization is invoked by SSC when the process is
         started up.

         Close Down is performed on command from SSC.

         Restart actions are for SPRI the same as Initialization
         actions.



2.2.2.2  C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲i̲n̲g̲ ̲a̲n̲d̲ ̲R̲e̲c̲o̲v̲e̲r̲y̲

         SPRI is responsible for check pointing of service messages
         as they are sent to the report printer.



2.2.2.3  E̲r̲r̲o̲r̲ ̲D̲e̲t̲e̲c̲t̲i̲o̲n̲ ̲a̲n̲d̲ ̲E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

         SPRI is designed so that errors are detected at an
         early stage.

         All detected errors, i.e. System Call errors, Queue
         errors, internal software errors, etc, are handled
         by using the CSF procedures ANALYZE ̲ERROR and SEND
         ̲GARBLE.



2.2.2.4  I̲n̲t̲e̲g̲r̲i̲t̲y̲ ̲o̲f̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

         The error detection and error handling functions described
         in section 2.2.2.3 ensures that errors are detected
         and handled properly.

         Single and minor software errors do not decrease system
         throughput. Only severe errors cause major recovery.





2.2.2.5  D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲



2.2.2.5.1 L̲o̲g̲

         N/A



2.2.2.5.2 S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲

         N/A



2.2.2.6  S̲e̲c̲u̲r̲i̲t̲y̲

         SPRI selects printer to print Password list and Command
         Print and therefore needs to be trusted software.



2.3      C̲H̲A̲R̲A̲C̲T̲E̲R̲I̲S̲T̲I̲C̲S̲



2.3.1    T̲i̲m̲i̲n̲g̲

         N/A.



2.3.2    T̲h̲r̲o̲u̲g̲h̲p̲u̲t̲

         SPRI is able to generate and/or delivery print items
         at a rate so that PRIP can fulfil its throughput requirements
         (ref. SDS 041 - sec. 2.3.2). This is achieved by sending
         print items to the printer processes so when an item
         has been printed and the printer process acknowledges
         this, the next print item is already available for
         print out.



2.3.3.   F̲l̲e̲x̲i̲b̲i̲l̲i̲t̲y̲

         The design ensures that changes to formats and format
         tolerances can be implemented with ease to facilitate
         improvement of the document layout quality and useability.



         The design allows that two additional precedence levels
         can easily be implemented.



2.3.4    A̲c̲c̲u̲r̲a̲c̲y̲

         Time is as accurate as the system time.

         All other data are exact.





                      3̲ ̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲



3.1      E̲Q̲U̲I̲P̲M̲E̲N̲T̲

         The equipment environment of this package is the CR80D
         Computer.



3.2      S̲O̲F̲T̲W̲A̲R̲E̲



3.2.1    S̲y̲s̲t̲e̲m̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

         SPRI's system software environment consists of the
         following components:

         -   DAMOS
         -   CAMPS System Functions
         -   SSC
         -   TMP



3.2.2    D̲e̲v̲e̲l̲o̲p̲m̲e̲n̲t̲ ̲S̲u̲p̲p̲o̲r̲t̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

         Development software is standard DAMOS and TOS (Terminal
         Operating System) resident in a single CR80D configuration.



3.3      I̲N̲T̲E̲R̲F̲A̲C̲E̲S̲



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

         N/A.



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

         Ref. CPS/ICD/009



3.4      F̲U̲N̲C̲T̲I̲O̲N̲S̲ ̲M̲A̲I̲N̲T̲A̲I̲N̲E̲D̲ ̲B̲Y̲ ̲O̲T̲H̲E̲R̲ ̲P̲A̲C̲K̲A̲G̲E̲S̲

         N/A.





                    4̲ ̲ ̲P̲A̲C̲K̲A̲G̲E̲ ̲D̲E̲S̲I̲G̲N̲



4.1      P̲A̲C̲K̲A̲G̲E̲ ̲O̲V̲E̲R̲V̲I̲E̲W̲

         The Supervisor Printer Package (SPRI) consists of one
         process called the Supervisor Printer Process (SPIP).
         SPIP contains the software for handling print queued
         for the supervisor printers and distributing it to
         the appropriate Printer Subprocess (PRIS), which performs
         the actual printout.

         The Supervisor Print Process (SPIP) consists of four
         subpackages :

         a)  SPICO (Supervisor Print Control) which reacts upon
             SSC commands, Supervisor Commands, and controls
             the other coroutines.

         b)  DELCO (Delivery Control) which reacts upon commands
             from SPICO, input from the Supervisor Print Queue,
             the Report Queue, the Log Print Queue, the Statistics
             Print Queue, and the Answer Queue. From RESCO it
             receives information for delivery to the Supervisor
             Printer and to UMAM.

             DELCO distributes items for print to the printer
             subprocess currently assigned for the various types
             of print. For Print of Flash precedence, DELCO
             signals the appropriate PRIS by command to the
             Command Queue for the process.

         c)  RESCO (Request Control) which receives the following
             print requests from the Supervisor VDU Process
             (SVUP):

             System Information Extract Requests
             Table Print Requests

             and obtains the requested items by request to TMP
             or UMAM. When obtained, the items are passed to
             DELCO for delivery to the appropriate Printer Process.

         d)  SPIP Initialisation Subpackage which initialises
             the three coroutines SPICO,DELCO and DESCO, Semaphores
             and operations

         Communication with other packages (apart from Monitor
         Calls) is done via queues. SPIP has 7 main queues:



         1)  Command Queue:

             Close Down command from SSC, flash notifiations,
             configuration change notifications,PRINTQ cancelled
             notifications and PRINTQ unblocked notifications.

         2)  Answer Queue:

             Replies from PRIS. When SPIP wants a notification
             from PRIS upon completion of processing of an item,
             the Send Request, Send Reply mechanism is used.

         3)  Report Queue:

             Reports and Service Messages sent by other packages
             for print at the Report Printer. The Report Queue
             consists of 7 subqueues - one for reports, one
             for each precedence level and two for future extentions.

         4)  Supervisor Print Queue:

             This consists of six subqueues. One for each precedence
             level and two for possible extensions. Items for
             print at the supervisor printer are sent to this
             queue. 

         5)  Log Print Queue:

             LOG CIFs sent from the LOG package for print at
             the LOG printer.

         6)  Statistics Print Queue:

             Statistics information sent by the Statistics Package
             and Midnight Status Information sent by UMAM for
             print at the Statistics Printer.

         7)  Request Queue:

             Print requests sent from the Supervisor VDU package
             to be generated by RESCO and sent for print at
             the Supervisor Printer.







                       Figure 4.1-1



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̲

         This section contains an analysis of the main functions
         to be performed by the Supervisor Printer Package.

         The analysis is carried out to a level where subfunctions
         with self-contained implementation considerations may
         be isolated, thereby reducing the complexity to be
         grasped at one time.

         Furthermore, the aim of the analysis is to identify
         precisely concurrency and priorities of subfunctions.

         The analysis does not include the package functions
         derivable from the functional responsibilities described
         in section 2.2.2. These functions will be analysed
         and described for each identified subfunction in section
         4.2 of this document.

         In figure 4.1.1-1 an overview of the SPRI functions
         is shown. This first level breakdown represents a simple
         grouping of the requirements outlined in section 2.

         In the following subsections, each of the functions
         shown in the boxes of figure 4.1.1-1 will be broken
         down into subfunctions.










                      Figure 4.1.1-1


4.1.1.1  E̲x̲e̲c̲u̲t̲e̲ ̲S̲S̲C̲ ̲a̲n̲d̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲



4.1.1.1.1    C̲a̲r̲r̲y̲ ̲O̲u̲t̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲A̲c̲t̲i̲o̲n̲s̲

         When a command arrives, the actions required are carried
         out.



4.1.1.1.2    S̲e̲n̲d̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲C̲o̲m̲p̲l̲e̲t̲i̲o̲n̲

         On completion of some of the commands, a command completion
         is sent.



4.1.1.2  K̲e̲e̲p̲ ̲A̲c̲c̲o̲u̲n̲t̲ ̲o̲f̲ ̲P̲r̲i̲n̲t̲e̲r̲ ̲C̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲

         SPIP reads the system parameters containing the Supervisor
         Printer Configuration at initialization and when the
         configuration is changed.



4.1.1.3  D̲e̲l̲i̲v̲e̲r̲y̲ ̲o̲f̲ ̲P̲r̲i̲n̲t̲ ̲I̲t̲e̲m̲s̲

         All items queued for print at SPIP are delivered to
         the appropriate printer subqueue.



4.1.1.3.1    D̲e̲t̲e̲r̲m̲i̲n̲e̲ ̲D̲e̲v̲i̲c̲e̲ ̲D̲e̲s̲i̲g̲n̲a̲t̲o̲r̲

         The appropriate printer device designator is determined
         from information about the printer configuration and
         the actual item type.



4.1.1.3.2    S̲e̲n̲d̲ ̲P̲r̲i̲n̲t̲ ̲I̲t̲e̲m̲

         When the destination printer device is determined,
         the item is sent to it.





4.1.1.4  G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲T̲a̲b̲l̲e̲-̲ ̲a̲n̲d̲ ̲S̲Y̲I̲E̲-̲P̲r̲i̲n̲t̲ ̲I̲t̲e̲m̲s̲

         When the Supervisor has entered a Table print or a
         SYIE-Print command at his terminal, the supervisor
         VDU process sends a request to SPIP, which takes care
         of generation and delivery of the print item.



4.1.1.4.1    D̲e̲t̲e̲r̲m̲i̲n̲e̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲T̲y̲p̲e̲

         Upon arrival of a Table- or -SYIE-print request the
         type of request is determined.



4.1.1.4.2    G̲e̲t̲ ̲R̲e̲q̲u̲e̲s̲t̲e̲d̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲

         The Table-entries, the system parameters or other data
         which form the requested print item is accessed by
         system calls, or by requests to UMAM.



4.1.1.4.3    L̲o̲a̲d̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲ ̲I̲n̲t̲o̲ ̲F̲i̲l̲e̲

         In order to be sent for print, the data is loaded into
         the file SYIE ̲TAB ̲FILE.



4.1.1.4.4    R̲e̲q̲u̲e̲s̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲

         The Request Control Function takes care that only one
         request is being processed at a time.

         When a request is sent to Pris, Request Control Function
         awaits a Reply Competion Code from Pris. If the CC
         was okay the next request can be processed otherwise
         the same request is sent for print once more.



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 SPRI is described.
         The allocation of functions onto processes and coroutines
         is explained based on the analyses in section 4.1.1.



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



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

         The S̲upervisor P̲R̲I̲nter Package consists of one process.
         This process is called SPIP (Supervisor Printer Process)

         The responsibilities and the queue structure of SPIP
         are described earlier in sec. 4.1. An overview of SPIP
         is shown in Fig. 4.1-1.



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

         The characteristics of the coroutine software component
         type is described in (CPS/SDS/024)-sec.2.2.1.5 and
         therefore it shall not be repeated here.





   Fig. 4.1.2-1  Functional Breakdown - Main Functions.



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

         SPIP consists of three coroutines.



4.1.2.2.1.1 S̲P̲I̲C̲O̲ ̲(̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲P̲r̲i̲n̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲)̲

         SPICO reacts upon SSC commands, FLASH Notifications,
         Supervisor Commands and items from DELCO. SPICO controls
         the other coroutines. It receives all input via the
         S1 semaphore and signals the S2 semaphore.



4.1.2.2.1.2 D̲E̲L̲C̲O̲ ̲(̲D̲e̲l̲i̲v̲e̲r̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲)̲

         DELCO delivers the items queued in the REP, SUP,LOG
         and STAT Queues to the appropriate printers. Items
         generated by RESCO are also delivered.

         Replies from PRIS are received in the ANS queue. Replies
         to requests originated by RESCO are delivered to RESCO
         via the S3 semaphore.

         SPICO Commands and other input items are received in
         the S2 semaphore. DELCO signals semaphores S1 and S3
         in order to communicate with SPICO and RESCO.



4.1.2.2.1.3 R̲E̲S̲C̲O̲ ̲(̲R̲e̲q̲u̲e̲s̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲)̲

         RESCO receives its input from the S3 semaphore. These
         inputs are supervisor print requests from the REQQ
         (Request Queue) and SPICO commands and PRIS-replies
         passed on by DELCO.

         RESCO generates the items requested by the supervisor
         and passes them on to DELCO for delivery. RESCO signals
         S2 and waits for S3.





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 SPRI 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    S̲P̲I̲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 Supervisor Print Control
         coroutine is outlined in by fig. 4.1.2-2.





              Fig. 4.1.2-2  SPICO-structure.




4.1.2.3.2    D̲E̲L̲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 Delivery Control Coroutine
         is outlined in fig. 4.1.2-3





              Fig. 4.1.2-3  DELCO Structure





4.1.2.3.3    R̲E̲S̲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 Request Control Coroutine
         is outlined in fig. 4.1.2-4.





              Fig. 4.1.2-4  RESCO Structure





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 SPIP
         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 three coroutines within SPIP synchronize as shown
         in fig. 4.1-1.

         The general principle is that a running coroutine is
         allowed to run until it issues a wait operation. Then
         the next coroutine ready to run is started.

         S̲P̲I̲C̲O̲ waits for the S1 semaphore. S1 is normally associated
         with arrival of items in the CMD queue. S1 is also
         signalled by DELCO on delivery of SPICO Command Completions.

         Items arriving in the CMD Queue can be Flash Notifications,
         SSC Commands and Supervisor Commands.

         D̲E̲L̲C̲O̲ waits for the S2 semaphore. S2 is signalled by
         SPICO on delivery of Commands, by RESCO on delivery
         of Command Completions, items to be delivered to PRIS
         and Requests to be sent to UMAM. S2 is also signalled
         on arrival of items in the Report Queue, Supervisor
         Print Queue, Log Queue, Statistics Print Queue and
         the Answer Queue.

         R̲E̲S̲C̲O̲ waits for the S3 semaphore. S3 is signalled by
         DELCO on delivery of Commands and replies from PRIS
         and UMAM. S3 is also signalled on arrival of print
         requests in the Request Queue when required.





4.1.3.1.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 two typical
         major transactions:

         1.  Delivery of an arriving print item.

         2.  Processing (Generation, delivery and control) of
             a supervisor print request.





                      Fig. 4.1.3-1  





                       Fig. 4.1.3-2





                       Fig. 4.1.3-3





                       Fig. 4.1.3-4





                       Fig. 4.1.3-5





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

         Ref. SPR ̲PREFIX.S SPR ̲DATA.S



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̲



4.1.5.1  S̲P̲I̲P̲ ̲R̲E̲P̲L̲Y̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.1.5.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 procedure sends an acknowledge to the reply-queue
         specified in the request-QEL, which is passed as parameter
         to the call.



4.1.5.1.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)  SPIP ̲REPLY (INPUT ̲QEL : QEL ̲REFERENCE,
                         FLAG ̲VALUE : QEL ̲FLAGS)
                         ( )

         b)  SPIP ̲REPLY (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̲

         R3  INPUT ̲QEL     DEST
         R4  FLAG ̲VALUE    DEST
         R6           LINK DEST

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

         All registers are      DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE





4.1.5.1.3    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̲

         Ref. SOURCE LISTING



4.1.5.1.4    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         The Queue Monitor Procedure
         SEND ̲REPLY is used.

         Ref. SOURCE LISTING


4.1.5.2  S̲P̲I̲P̲ ̲S̲U̲P̲V̲ ̲R̲E̲P̲L̲Y̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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

         The procedure sends a command completion reply to SVUP
         in an information QEL containing a time stamp and a
         command-id.



4.1.5.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)  SPIP ̲SUPV ̲REPLY (QEL : QEL ̲REFERENCE,
                              FLAG ̲VALUES : QEL ̲FLAGS,
                              SUPERVISOR ̲SPIP ̲CMD ̲ID:
                              SUPERVISOR ̲CMD ̲TYPE  )
         b)  SPIP ̲SUPV ̲REPLY (R3,R4,R5,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̲

         R3                 INPUT ̲QEL                  DEST.
         R4                 FLAG ̲VALUE                 DEST.
         R5                 SUPERVISOR ̲SPIP ̲CMD ̲ID     DEST.
         R6                 LINK                       DEST.

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

         RO - R7            DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



4.1.5.2.3                   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̲

         Ref. SOURCE LISTING



4.1.5.2.4                   P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. SOURCE LISTING


4.1.5.3  S̲P̲I̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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

         The Procedure determines the item type (Single-QEL,
         Buffer, View) and issues the appropriate system call
         in order to dismantle the item.



4.1.5.3.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)  SPIP ̲DISMANTLE (QEL : QEL-REFERENCE ,
                             OBJECT:OBJECT ̲TYPE, SUBPCK ̲NO)

         b)  SPIP ̲DISMANTLE (R2, 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̲

         R2                 QEL (DESTROYED)
         R3                 OBJECT
         R4                 SUBPCK ̲NO SPI   RES
         R6                 LINK

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

         R0 - R7 DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE



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

         N/A


4.1.5.3.4    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. SOURCE LISTING



4.1.5.4  C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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

         The Procedure requests cancellation of a specified
         system call.



4.1.5.4.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)  CANCEL ̲SYSTEM ̲CALL (OPERATION)
         b)  CANCEL ̲SYTEM ̲CALL (R5, 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̲

         R5                 Pointer to OPERATION (kept)
         R6                 LINK                 (Dest)

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

         R0-R4, R6-R7       DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



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

         Ref. SOURCE LISTING



4.1.5.4.4                   P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲ ̲

         Ref. SOURCE LISTING


4.1.5.5  E̲R̲R̲O̲R̲ ̲R̲E̲P̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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

         The procedure reports internally detected software
         errors to SSC.



4.1.5.5.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̲s̲

         a)  ERROR ̲REP (ERROR ̲TYPE:PRIS ̲ERROR ̲IDENT ̲TYPE,
                        USER ̲ACTION ̲SPIP ̲USER ̲ACT ̲TYPE,
                        SUBPACKAGE ̲SW ̲CONF ̲NO,
                        MODULE ̲SW ̲CONF ̲NO,
                        PROCEDURE ̲NO,
                        CALL ̲NO:INTEGER
                        QEL ̲REF:QRL ̲REFERENCE)

         b)  ERROR ̲REP (R0, R1, R2, R3, R4, R5, R7, 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̲

         Ro                 ERROR ̲TYPE
         R1                 USER ̲ACTION
         R2                 SUBPACKAGE ̲SW ̲CONF ̲NO
         R3                 MODULE ̲SW ̲CONF ̲NO
         R4                 PROCEDURE ̲NO
         R5                 CALL ̲NO
         R7                 QEL ̲REF
         R6                 LINK

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

         All registers are destroyed



4.1.5.5.3                   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̲:

         Ref. SOURCE LISTING





4.1.5.5.4                   P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         The Procedure uses the SEND ̲GARBLE - Procedure. The
         parameters are set according to the error parameters.

         Ref. SOURCE LISTING



4.1.5.6  G̲E̲T̲U̲P̲ ̲R̲E̲C̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲



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

         The procedure find a free SPIP ̲COROUTINE ̲OPERATION.When
         no operation is free the procedure ERROR ̲REP is called.



4.1.5.6.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)  GET ̲OP-REC () (OPERATION)
         b)  GET ̲OP ̲REC (R5, 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-R4, R6-R7       Destroyed
         R5                 Pointer to operation

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



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

         Ref. SOURCE LISTING





4.1.5.6.4    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. SOURCE LISTING



4.1.5.7  R̲E̲L̲ ̲O̲P̲ ̲R̲E̲C̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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

         The procedure release a SPIP ̲COROUTINE ̲OPERATION: The
         procedure ERROR ̲REP is called, when the operation can't
         be found.



4.1.5.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)  REL ̲OP ̲REC (OPERATION)
         b)  REL ̲OP ̲REC (R5, 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̲

         R5                 Pointer to operation
         R6                 LINK

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

         R5                 KEPT
         R0-R4, R6-R7       Destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



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

         Ref. SOURCE LISTING





4.1.5.7.4    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. SOURCE LISTING



4.1.5.8  S̲P̲I̲P̲ ̲I̲N̲I̲T̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.1.5.8.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 procedure analyses the contents of the Registers,
         Setups, Start/Restart Information, Initializes Coroutine
         Monitor, SPIP Coroutines, Semaphores, Operations and
         Status SPICO.



4.1.5.8.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̲s̲

         a)  SPIP ̲INIT (START ̲UP ̲TYPE, SUBPROCESS ̲TYPE)
         b)  SPIP ̲INIT (R0, R1, R6)

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

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

         R0                 START ̲UP ̲TYPE
         R1                 SUBPROCESS ̲TYPE
         R6                 LINK

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

         R0-R7              Destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None





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

         Ref. SOURCE LISTING



4.1.5.8.4    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. fig. 4.1.5.8.4-1




P̲R̲O̲C̲E̲S̲S̲ ̲S̲T̲A̲R̲T̲


SUBPROCESS ̲TYPE    SPIP ̲S?

  ERROR ̲REP(INT,GUP,O,NIL,8,1,M1)

CASE STARTUP ̲TYPE:


  DEAD 1?    START ̲UP: = SPIP ̲START

  DEAD 2?    START ̲UP: = SPIP ̲START

  COLD?      START ̲UP: = SPIP ̲START

  WARM1?     START ̲UP: = SPIP ̲RESTART

  WARM2?     START ̲UP: = SPIP ̲RESTART

  OTHERWISE?     E̲R̲R̲OR ̲REP(INT,GUP,O,NIL,8,2,NIL)̲ (4.1.5.5)


END ̲CASE


INIT ̲COMON (SPICO ̲REC, SPICO ̲PRIO, SPIP ̲S, SPI): OK


         INIT ̲COROUTINE (DELCO ̲REC,DELCO ̲PRIO, SPIP ̲NO,

                          DELCO, MAIN : OK


         INIT ̲COROUTINE (RESCO ̲REC, RESCO ̲PRIO, SPIP
         ̲NO,

                          RES, MAIN : OK


         INIT ̲SEMAPHORE (0, SPIP ̲S1) : OK

         INIT ̲SEMAPHORE (0, SPIP ̲S2) : OK

         INIT ̲SEMAPHORE (0, SPIP ̲S3) : OK

         I=1




         LOOP UNTIL IS MAX ̲SPIP ̲OP? EXIT


         INIT ̲OPERATION(1 SPIP ̲OP  I   : OK

         I=I+1

         END LOOP


END


S̲P̲I̲C̲O̲ ̲M̲A̲I̲N̲ (4.2.1.4.1.5)


END MODULE













                Fig. 4.2.4.4.1.5-1


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

         Ref. CAMPS DBD 001



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



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

         N/A



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

         Ref CPS/ICD/009  Software Interface Control Document.



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̲ ̲S̲P̲I̲C̲O̲ ̲t̲o̲ ̲D̲E̲L̲C̲O̲

             1.  SPIP ̲CLOSE       CMD
             2.  CONFIG ̲CHANGE
             3.  PRINTQ ̲CANCELLED
             4.  PRINTQ ̲UNBLOCKED

         2.  F̲r̲o̲m̲ ̲D̲E̲L̲C̲O̲ ̲t̲o̲ ̲S̲P̲I̲C̲O̲

             1.  SPIP ̲CLOSE ̲CC
             2.  CONFIG ̲CHANGE ̲CC
             3.  PRINTQ ̲CANCELLED ̲CC
             3.  PRINTQ ̲UNBLOCKED ̲CC



         3.  F̲r̲o̲m̲ ̲D̲E̲L̲C̲O̲ ̲t̲o̲ ̲R̲E̲S̲C̲O̲

             1.  SPIP ̲CLOSE
             2.  PRINT ̲ACK ̲FROM ̲PRIS
             3.  ABANDON ̲REQ
             4.  READY
             5.  CLEAR ̲REQ
             6.  RESPONSE ̲FROM ̲UMAM



         4.  F̲r̲o̲m̲ ̲R̲E̲S̲C̲O̲ ̲t̲o̲ ̲D̲E̲L̲C̲O̲

             1.  SPIP ̲CLOSE ̲CC
             2.  PRINT ̲ITEM ̲FOR ̲DELIVERY
             3.  REQUEST ̲TO ̲UMAM



4.2      S̲U̲B̲P̲A̲C̲K̲A̲G̲E̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲S̲



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

         The S̲upervisor P̲ri̲nt C̲o̲ntrol coroutine (SPICO) has
         the capability of closing SPIP actions down, when ordered
         by SSC.
         SPICO has the highest priority within SPIP.



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 carried out by this subpackage
         (refer fig. 4.2.1.1-1):

             SSC Command execution
             Flash notification processing
             Supervisor Command execution
















































        Fig. 4.2.1.1-1 SPICO Functional Breakdown.


4.2.1.1.1    S̲S̲C̲ ̲a̲n̲d̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲E̲x̲e̲c̲u̲t̲i̲o̲n̲

         The only SSC Command possibly issued to SPIP is Close
         Down.  The possible Supervisor Commands are Configuration
         Change Notification, Queue Cancel Notification and
         Queue Unblocked Notification.



4.2.1.1.1.1 S̲e̲n̲d̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲t̲o̲ ̲D̲E̲L̲C̲O̲ ̲(̲1̲.̲1̲)̲

         Upon receipt of a Command, SPICO will send a close
         command to DELCO.



4.2.1.1.2 A̲w̲a̲i̲t̲ ̲C̲C̲ ̲f̲r̲o̲m̲ ̲D̲E̲L̲C̲O̲ ̲(̲1̲.̲2̲)̲

         When a command has been issued to DELCO, completion
         is awaited.



4.2.1.1.3 S̲e̲n̲d̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲A̲c̲k̲n̲o̲w̲l̲e̲d̲g̲e̲ ̲(̲1̲.̲3̲)̲

         When the command has been completed, an acknowledge
         is sent to SSC or SVUP if required.



4.2.1.1.1.4 S̲t̲o̲p̲ ̲S̲P̲I̲C̲O̲ ̲A̲c̲t̲i̲o̲n̲s̲ ̲(̲1̲.̲4̲)̲

         After an SSC Close Down acknowledge has been sent,
         SPICO enters a state where it ignores all input.



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̲)̲

         Flash notifications are ignored.



4.2.1.2  S̲P̲I̲C̲O̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         SPICO consists of only one module - SPICO ̲MAIN.
         The internal structure of that is depicted in fig.
         4.2.1.2-1.
















































         Fig. 4.2.1.2-1 SPICO Software Structure


4.2.1.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲

         The following HIPO-diagrams show the data flow of SPICO.
















































                      Fig. 4.2.1.3-1
















































                      Fig. 4.2.1.3-2
















































                      Fig. 4.2.1.3-3


4.2.1.4  S̲P̲I̲C̲O̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲



4.2.1.4.1    S̲P̲I̲C̲O̲ ̲M̲A̲I̲N̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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

         The SPICO ̲MAIN Module contains all the functions to
         be carried out by SPICO.  Therefore, the functional
         specification can be found in sec. 4.2.1.1.



4.2.1.4.1.2 M̲o̲d̲u̲l̲e̲ ̲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)  SPICO ̲MAIN

         b)  SPICO ̲MAIN (R6)

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

         R6                        LINK (DESTROYED)

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

         All registers are DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None.



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



4.2.1.4.1.3.1 P̲R̲O̲C̲ ̲C̲M̲D̲Q̲ ̲I̲T̲E̲M̲S̲

         Analyzes the maintype of received items in CMD ̲QUEUE.





4.2.1.4.1.3.2 A̲N̲A̲L̲Y̲S̲E̲ ̲S̲S̲C̲ ̲C̲M̲D̲

         Analyzes the subtype of a SSC ̲COMMAND.



4.2.1.4.1.3.3 A̲N̲A̲L̲Y̲S̲E̲ ̲S̲U̲P̲V̲ ̲C̲M̲D̲

         Analyzes the subtype of a SUPERVISOR ̲SPIP ̲COMMAND.



4.2.1.4.1.3.4 P̲R̲O̲C̲ ̲F̲L̲A̲S̲H̲ ̲N̲O̲T̲

         Process FLASH ̲NOTIFICATION items.



4.2.1.4.1.3.5 P̲R̲O̲C̲ ̲D̲E̲L̲C̲O̲ ̲I̲T̲E̲M̲S̲

         Process DELCO items.



4.2.1.4.1.3.6 S̲P̲I̲C̲O̲ ̲C̲L̲O̲S̲E̲ ̲A̲C̲T̲I̲O̲N̲S̲

         Send EXECUTION ̲OK reply to SSC, and SPICO ̲CLOSE ̲FLAG
         is set to true.



4.2.1.4.1.3.7 P̲R̲O̲C̲ ̲S̲U̲P̲V̲ ̲C̲C̲

         If the SUPERVISOR ̲SPIP ̲COMMAND was sent with request
         a reply will be sent to the supervisor.



4.2.1.4.1.3.8 I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲C̲M̲D̲Q̲

         Initiates received from CMD queue and associate this
         to semaphor SPIP ̲S1.



4.2.1.4.1.3.9 C̲M̲D̲ ̲T̲O̲ ̲D̲E̲L̲C̲O̲

         Signal DELCO with the requested command.



4.2.1.4.1.4 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̲

         Ref. SPICO ̲PREFIX.S
              SPICO ̲DATA.S



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

         The module contains the SPICO-Main Loop.  All input
         items are investigated and the connected subfunctions
         are carried out.

         The flowgrams in fig. 4.2.1.4.1-1 through fig. 4.2.1.4.1-8
         illustrates the design.


SPICO ̲MAIN


    SET SPIP ̲CLOSED ̲FLAG = FALSE




    I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲C̲M̲D̲Q̲

    SPICO ̲LOOP

        WAIT ̲OPSEM (SPIP ̲S1)(OPERATION) : OK


       SPIP ̲CLOSED ̲FLAG EQ TRUE?


        CASE OPERATION . ID OF:


           CMDQ ̲ITEM? SPICO ̲CMDQ ̲OP=OPERATION (-2) P̲R̲O̲C̲ ̲C̲M̲D̲Q̲
 ̲I̲T̲E̲M̲S̲ 

           DELCO ̲ITEM?SPICO ̲DELCO ̲OP=OPERATION P̲R̲O̲C̲ ̲D̲E̲L̲C̲O̲ ̲I̲T̲E̲M̲S̲

           OTHERWISE? ERROR ̲REP(INT,GUP,SPI,1,NO ̲SPICO ̲MAIN,1,NIL)     (4.1.5.5
                                                                       )


         END ̲CASE


    END SPICO ̲LOOP



   END










                     Fig. 4.2.1.4.1-1


PROC ̲CMDQ ̲ITEMS

  SET SPICO ̲INPUT ̲QREF.MAIN ̲QUEUE = SPIP ̲SPIP ̲CMDQ

  SET SPICO ̲INPUT ̲QREF.SUB ̲QUEUE  = SPIP ̲MAIN

  CASE WAIT ̲SYSTEM ̲CALL(SPICO ̲CMDQ ̲OP)
           (SPICO ̲INPUT ̲ATTR, SPICO ̲INPUT ̲QEL,
            SUBQUEUE, CC ) : ERROR ̲OK


     ERROR?   ANALYSE ̲ERROR (CC,0) : OK

     OK?


              CASE SPICO ̲INPUT ̲ATTR.HEADER.MAINTYPE OF:

                 SSC ̲COMMAND?    A̲N̲A̲L̲Y̲S̲E̲ ̲S̲S̲C̲ ̲C̲M̲D̲ ( -3 )

                 SUPERVISOR ̲SPIP ̲COMMAND?

                        A̲N̲A̲L̲Y̲S̲E̲ ̲S̲U̲P̲V̲ ̲C̲M̲D̲ ̲(̲ ̲-̲4̲ ̲ ̲)̲

               FLASH ̲NOTIFICATION?  P̲R̲O̲C̲ ̲F̲L̲A̲S̲H̲ ̲N̲O̲T̲ ̲(̲ ̲-̲5̲ ̲ ̲)̲

               OTHERWISE? ERROR ̲REP(QER, CON, SPI, I, NO ̲PROC
             ̲
                          CMDQ ̲ITEMS, I, SPICO ̲INPUT ̲QEL)(4.1.5.5)

                            REL ̲OP ̲REC(SPICO ̲CMDQ ̲OP)(4.1.5.7)


                                 I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲C̲M̲D̲Q̲
                                            (4.2.1.6.1)



             END ̲CASE


  END ̲CASE


END
                     Fig. 4.2.1.4.1-2


ANALYSE ̲SSC ̲CMD


  CASE  SPICO ̲INPUT ̲ATTR . HEADER . SUBTYPE OF:


     CLOSE DOWN?  C̲M̲D̲ ̲T̲O̲ ̲D̲E̲L̲C̲O̲(̲N̲I̲L̲,̲ ̲S̲P̲I̲P̲ ̲C̲L̲O̲S̲E̲)̲
                              (4.2.1.6.2)









     OTHERWISE?      ERROR ̲REP(QER,CON,SPI1,NO ̲ANALYSE ̲SSC ̲CMD,1,
                          SPICO ̲INPUT ̲QEL)(4.1.5.5)
                 SPIP REPLY(SPICO ̲INPUT ̲QEL,
                          (VALIDATION NOT ̲OK)
                          (   4.1.5.1     )

                 REL ̲OP ̲REC(SPICO ̲CMDQ ̲OP)(4.1.5.7)
                 I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲C̲M̲D̲Q̲
                                 ( 4.2.1.6.1 )



   END ̲CASE



END











                    Fig.- 4.2.1.4.1-3


ANALYSE ̲SUPV ̲CMD


   CASE SPICO ̲INPUT ̲ATTR . HEADER . SUBTYPE OF:


      CONFIGURATION ̲CHANGE ̲NOTIFICATION?


             CMD ̲TO ̲DELCO (NIL,CONFIG ̲CHANGE)(4.2.1.6.2 )



      QUEUE ̲CANCEL ̲NOTIFICATION?


             CMD ̲TO ̲DELCO(SPICO ̲INPUT ̲ATTR.HEADER.INF,PRINTQ
             ̲
             CANCELLED)(4.2.1.6.2 )



      QUEUE ̲UNBLOCK ̲NOTIFICATION?

             CMD ̲TO ̲DELCO(SPICO ̲INPUT ̲ATTR.HEADER.INF,PRINTQ
             ̲
             UNBLOCKED)(4.2.1.6.2 )

      OTHERWISE?   ERROR ̲REP(QER,CON,SPI,1,NO ̲ANALYSE ̲SUPV ̲
                 CMD,1,SPICO ̲INPUT ̲QEL)
                 REL ̲OP ̲REC(SPICO ̲CMDQOP)(4.1.5.7)


                 I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲C̲M̲D̲Q̲(̲4.2.1.6.1 )


   END ̲CASE

END




                     Fig. 4.2.1.4.1-4


   PROC ̲FLASH ̲NOT





   S̲P̲I̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲S̲P̲I̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲Q̲E̲L̲,̲ ̲S̲P̲I̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲A̲T̲T̲R̲.OBJECT,
                   S̲P̲I̲)̲(4.1.5.3 )


   REL ̲OP ̲REC(SPICO ̲CMDQ ̲OP)(4.1.5.7)


    I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲C̲M̲D̲Q̲ (4.2.1.6.1 )




    END



























                  Fig. 4.2.1.4.1-5


PROC ̲DELCO ̲ITEMS


  CASE OPERATION.ITEM NAME OF :


     SPIP ̲CLOSE ̲CC?   S̲P̲I̲C̲O̲ ̲C̲L̲O̲S̲E̲ ̲A̲C̲T̲I̲O̲N̲S̲( -7 )





     CONFIG ̲CHANGE ̲CC?  PROC ̲SUPV ̲CC(CONFIGURATION ̲CHANGE
 ̲
                      NOTIFICATION)( -8 )





     PRINTQ ̲CANCELLED ̲CC?   PROC ̲SUPV ̲CC(QUEUE ̲CANCEL
 ̲
                          NOTIFICATION)( -9 )




     PRINTQ ̲UNBLOCKED ̲CC?  PROC ̲SUPV ̲CC(QUEUE ̲UNBLOCK
 ̲
                         NOTIFICATION)( -10 )


   OTHERWISE?

         ERROR ̲REP(INT,CON,SPI,1,NO ̲PROC ̲DELCO ̲ITEMS,1,NIL)(4.1.5.5)

         SPIP ̲DISMANTLE(SPICO ̲INPUT ̲QEL,SPICO ̲INPUT ̲ATTR.OBJECT,SPI)

         REL ̲OP ̲REC(SPICO ̲CMDQ ̲OP)(4.1.5.7)

         REL ̲OP ̲REC(SPICO ̲DELCO ̲OP)(4.1.5.7)

         INIT ̲RECOVER ̲FROM ̲SPIP ̲CMDQ




   END CASE

END
                  Fig. 4.2.1.4.1-6


   SPICO ̲CLOSE ̲ACTIONS



        S̲P̲I̲P̲ ̲R̲E̲P̲L̲Y̲(̲S̲P̲I̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲Q̲E̲L̲,̲E̲X̲E̲C̲U̲T̲I̲O̲N̲ ̲O̲K̲)(4.1.5.1)



        ̲S̲P̲I̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲S̲P̲I̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲Q̲E̲L̲,̲ ̲S̲P̲I̲C̲O̲ ̲I̲N̲P̲U̲T̲
                     A̲T̲T̲R̲.̲O̲B̲J̲E̲C̲T̲,̲S̲P̲I̲)̲(4.1.5.3)

      REL ̲OP ̲REC(SPICO ̲CMDQ ̲OP)(4.1.5.7)

      REL ̲OP ̲REC(SPICO ̲DELCO ̲OP)(4.1.5.7)


        SET  SPIP ̲CLOSED ̲FLAG =  TRUE



   END




























                Fig. 4.2.1.4.1    -7


   PROC ̲SUPV ̲CC(SVUP ̲SPIP ̲CMD ̲SUBTYPE)

     SPICO ̲INPUT ̲ATTR.FUNCTION ̲REQ  EQ  FALSE ?

     S̲P̲I̲P̲ ̲S̲U̲P̲V̲ ̲R̲E̲P̲L̲Y̲ ̲(̲S̲P̲I̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲Q̲E̲L̲,̲ ̲O̲,̲ ̲S̲V̲U̲P̲ ̲S̲P̲I̲P̲ ̲C̲M̲D̲
   ̲S̲U̲B̲T̲Y̲P̲E̲)̲
                      (4.1.5.2)




     S̲P̲I̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲ ̲(̲S̲P̲I̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲Q̲E̲L̲,̲ ̲S̲P̲I̲C̲O̲ ̲I̲N̲P̲U̲T̲
                      A̲T̲T̲R̲.̲O̲B̲J̲E̲C̲T̲,̲ ̲S̲P̲I̲)̲(4.1.5.3)

     REL ̲OP ̲REC(SPICO ̲CMDQ ̲OP)(4.1.5.7)

     REL ̲OP ̲REC(SPICO ̲DELCO ̲OP)(4.1.5.7)


     I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲C̲M̲D̲Q̲ (4.2.1.6.1)

   END


























                 Fig. 4.2.1.4.1  -8


4.2.1.5  C̲o̲m̲m̲o̲n̲ ̲S̲P̲I̲C̲O̲ ̲D̲a̲t̲a̲

         Ref. SPILCO ̲PREFIX.S
              SPICO-DATA.S



4.2.1.6  C̲o̲m̲m̲o̲n̲ ̲S̲P̲I̲C̲O̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         None



4.2.1.7  S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.2.1.7.1    S̲P̲I̲C̲O̲ ̲D̲E̲L̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The following commands are sent to DELCO via operation
         semaphore SPIP ̲S2 SPIP ̲CLOSE:
             CONFIG ̲CHANGE
             PRINTQ ̲CANCELLED
             PRINTQ ̲UNBLOCKED



4.2.1.7.2    D̲E̲L̲C̲O̲ ̲S̲P̲I̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The following items are sent to SPICO via operation
         semaphore SPIP ̲S1:

             SPIP ̲CLOSE ̲CC
             CONFIG ̲CHANGE ̲CC
             PRINTQ ̲CANCELLED ̲CC
             PRINTQ ̲UNBLOCKED ̲CC





4.2.2    D̲e̲l̲i̲v̲e̲r̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The D̲e̲livery C̲ontrol Subpackage (DELCO) controls the
         delivery of print items to the appropriate printers.



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

         The following functions are carried out by this subpackage
         (ref. fig. 4.2.2.1-1):

             Delivery of Print Items

             Execution of Commands from SPICO.















































Fig. 4.2.2.1-1 DELCO Functional Breakdown - Main Functions


4.2.2.1.1    D̲e̲l̲i̲v̲e̲r̲y̲ ̲o̲f̲ ̲P̲r̲i̲n̲t̲ ̲I̲t̲e̲m̲s̲ ̲(̲1̲.̲0̲)̲

         All items queued for print at SPIP, shall be delivered
         to the appropriate printer subqueue.



4.2.2.1.1.1 D̲e̲t̲e̲r̲m̲i̲n̲e̲ ̲D̲e̲v̲i̲c̲e̲ ̲D̲e̲s̲i̲g̲n̲a̲t̲i̲o̲n̲ ̲(̲1̲.̲1̲)̲

         The appropriate printer device designation determined
         from information about the printer configuration and
         the actual item type.



4.2.2.1.1.2 S̲e̲n̲d̲ ̲P̲r̲i̲n̲t̲ ̲I̲t̲e̲m̲ ̲(̲1̲.̲2̲)̲

         When the destination printer device is determined,
         the item is sent to it.



4.2.2.1.2    E̲x̲e̲c̲u̲t̲i̲o̲n̲ ̲o̲f̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲ ̲f̲r̲o̲m̲ ̲S̲P̲I̲C̲O̲(̲2̲.̲0̲)̲



4.2.2.1.2.1 S̲e̲n̲d̲ ̲C̲L̲O̲S̲E̲ ̲C̲M̲D̲ ̲t̲o̲ ̲R̲E̲S̲C̲O̲ ̲(̲2̲.̲1̲)̲

         When a CLOSE CMD is received it is passed on to RESCO
         in order to close RESCO down as well.



4.2.2.1.2.2 C̲a̲n̲c̲e̲l̲ ̲D̲E̲L̲C̲O̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲s̲ ̲(̲2̲.̲2̲)̲

         All outstanding sytem calls initiated by DELCO are
         cancelled.



4.2.2.1.2.3 S̲e̲n̲d̲ ̲C̲o̲m̲m̲e̲n̲t̲s̲ ̲C̲C̲ ̲t̲o̲ ̲S̲P̲I̲C̲O̲ ̲(̲2̲.̲3̲)̲

         SPICO is notified when its commands have been completed.



4.2.2.1.2.4 S̲t̲o̲p̲ ̲D̲E̲L̲C̲O̲ ̲A̲c̲t̲i̲o̲n̲s̲ ̲(̲2̲.̲4̲)̲

         After SPICO has been notified of CLOSE completion,
         DELCO enters a passive state where it ignores all input.





4.2.2.1.3    K̲e̲e̲p̲ ̲A̲c̲c̲o̲u̲n̲t̲ ̲o̲f̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲P̲r̲i̲n̲t̲e̲r̲ ̲C̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲
             ̲(̲3̲.̲0̲)̲

         The current configuration is determined at two different
         points : of initialisation and when the configuration
         has been changed.



4.2.2.1.3.1 P̲r̲o̲c̲e̲s̲s̲ ̲C̲o̲n̲f̲i̲g̲ ̲C̲h̲a̲n̲g̲e̲ ̲N̲o̲t̲.̲ ̲(̲3̲.̲1̲)̲ ̲

         When a Configuration Change Notification is received
         from SPICO the current configuration data will be read
         and the appropriate changes in delivery strategy is
         performed.



4.2.2.1.3.2 G̲e̲t̲ ̲C̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲ ̲D̲a̲t̲a̲ ̲(̲3̲.̲2̲)̲

         The system parameter which contains the configuration
         data is read by a call to Table Management.