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.