top - download
⟦82d70fcee⟧ Wang Wps File
Length: 68129 (0x10a21)
Types: Wang Wps File
Notes: CPS/SDS/032
Names: »1569A «
Derivation
└─⟦945185ab2⟧ Bits:30005808 8" Wang WCS floppy, CR 0113A
└─ ⟦this⟧ »1569A «
WangText
…07……00……00……00……00…H…02……00……00…H
G…0c…G…06…F…01…F…06…E…0a…E…0e…E…00…E…05…E…07…D…08…D…0d…D
D…07…C…0d…8…0a…8…0e…8…02…7…08…7…0b…7…0c…7…01…7…02…7…07…6…0a…6…0b…6…00…6 6…05…5…0d…5
4…09…4…0b…4…0d…4…00…4
…02…CPS/SDS/032
…02…HUH/820503…02……02…
LOGGING
DETAILED DESIGN SPECIFICATION…02……02…CAMPS
…06…1 …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
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-002
1.3.1 Terms .....................................
1-002
1.3.2 Abbreviations .............................
1-003
2 SUMMARY OF REQUIREMENTS ..........................
2-001
2.1 PACKAGE DESCRIPTION ............................
2-001
2.2 PACKAGE FUNCTIONS ..............................
2-004
2.2.1 Main Functions at Normal Operation .........
2-004
2.2.2 Functional Responsibilities ................
2-004
2.2.2.1 Initialization, Close Down and Restart
. 2-004
2.2.2.1.1 Initialize and Restart .............
2-005
2.2.2.1.1.1 Start Up Types ................
2-005
2.2.2.1.1.2 Log Package Initialize ........
2-005
2.2.2.1.2 Close Down .........................
2-006
2.2.2.2 Checkpointing and Recovery .............
2-006
2.2.2.2.1 Checkpointing ......................
2-006
2.2.2.2.2 Recovery ...........................
2-006
2.2.2.3 Error Detecting and Error Handling .....
2-007
2.2.2.4 Integrity of Operation .................
2-007
2.2.2.5 Data Collection ........................
2-007
2.2.2.6 Security ...............................
2-007
2.3 CHARACTERISTICS ................................
2-008
2.3.1 Timing .....................................
2-008
2.3.1.1 Collect Run Time .......................
2-008
2.3.1.2 Trace Run Time .........................
2-009
2.3.2 Throughput .................................
2-009
2.3.3 Flexibility ................................
2-009
2.3.4 Accuracy ...................................
2-009
3 ENVIRONMENT ......................................
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 Interfaces ........................
3-001
3.3.2 Package Interfaces .........................
3-001
3.3.2.1 Application Package Interface ..........
3-002
3.3.2.2 SSC Interface ..........................
3-002
3.3.2.3 TEP Interface ..........................
3-002
3.3.2.4 CSF Interface ..........................
3-003
3.3.2.5 SAR Interface ..........................
3-003
3.4 FUNCTIONS MAINTAINED BY OTHER PACKAGES .........
3-005
4 PACKAGE DESIGN ...................................
4-001
4.1 PACKAGE OVERVIEW ...............................
4-001
4.1.1 Functional Specification ...................
4-003
4.1.1.1 Functional Breakdown ...................
4-003
4.1.1.1.1 Log Collection Functions ...........
4-003
4.1.1.1.2 Log Trace Functions ................
4-004
4.1.2 Software Specification .....................
4-006
4.1.3 Data Flow and Control Logic ................
4-007
4.1.4 Common Package Data.........................
4-009
4.1.5 Common Package Procedures ..................
4-013
4.1.5.1 Dismantle Request Procedure ............
4-013
4.1.6 Global Data ................................
4-016
4.1.7 Interfaces .................................
4-016
4.1.7.1 External Interfaces ....................
4-016
4.1.7.2 Package Interfaces .....................
4-016
4.1.7.2.1 Applications Interfaces ............
4-016
4.1.7.2.2 Interface to SCC ...................
4-019
4.1.7.2.3 Interface to TEP ...................
4-019
4.1.7.2.4 Interface to CSF ...................
4-019
4.1.7.2.5 Interface to SAR ...................
4-020
4.1.7.3 Subpackage Interfaces ..................
4-020
4.2 Subpackage specification .......................
4-020
4.2.1 Log Collect Subpackage .....................
4-020
4.2.1.1 Functional Specification ...............
4-021
4.2.1.1.1 Log Record Collection ..............
4-021
4.2.1.1.2 Log Record Store ...................
4-021
4.2.1.1.3 Log Record Printout ................
4-022
4.2.1.1.4 Log CIF Store ......................
4-022
4.2.1.1.5 Initialization .....................
4-024
4.2.1.1.6 Error Processing ...................
4-024
4.2.1.1.7 Close Down .........................
4-024
4.2.1.2 Software Structure .....................
4-024
4.2.1.3 Data Flow and Control Logic ............
4-024
4.2.1.4 Module Specification ...................
4-026
4.2.1.4.1 Collect Module .....................
4-026
4.2.1.4.1.1 Functional Specification .......
4-026
4.2.1.4.1.2 Module Interface ...............
4-026
4.2.1.4.1.3 Module Components ..............
4-027
4.2.1.4.1.4 Data Description ...............
4-027
4.2.1.4.1.5 Module Design ..................
4-027
4.2.1.4.2 Log CIF Handling Module ............
4-042
4.2.1.4.2.1 Functional Specification .......
4-042
4.2.1.4.2.2 Module Interface ...............
4-042
4.2.1.4.2.3 Module components ..............
4-042
4.2.1.4.2.4 Data Description ...............
4-043
4.2.1.4.2.5 Module Design ..................
4-043
4.2.1.5 Common Subpackage Data ...............
4-056
4.2.1.6 Common Subpackage Procedures .........
4-060
4.2.1.7 Subpackage Interfaces ................
4-067
4.2.1.7.1 Close Down Flag ..................
4-067
4.2.2 Log Trace Subpackage .......................
4-068
4.2.2.1 Functional Specification ...............
4-068
4.2.2.1.1 Receive Trace Keys .................
4-068
4.2.2.1.1.1 Trace Key Definition ...........
4-068
4.2.2.1.2 Retrieve Pertinent Log CIFs ........
4-070
4.2.2.1.3 Trace Log Records ..................
4-070
4.2.2.1.4 Return Traced Log Records ..........
4-070
4.2.2.2 Software Structure .....................
4-072
4.2.2.3 Data Flow and Control Logic ............
4-072
4.2.2.4 Module Specification ...................
4-074
4.2.2.4.1 Trace Module .......................
4-074
4.2.2.4.1.1 Functional Specification .......
4-074
4.2.2.4.1.2 Module Interface ...............
4-074
4.2.2.4.1.3 Module Components ..............
4-075
4.2.2.4.1.4 Data Description ...............
4-075
4.2.2.4.1.5 Module Design ..................
4-076
4.2.2.4.2 Trace Log CIF Module ...............
4-104
4.2.2.4.2.1 Functional Specification .......
4-104
4.2.2.4.2.2 Module Interface ...............
4-104
4.2.2.4.2.3 Module Components ..............
4-104
4.2.2.4.2.4 Data Description ...............
4-105
4.2.2.4.2.5 Module Design ..................
4-106
4.2.2.5 Common Subpackage Data ................
4-123
4.2.2.6 Common Subpackage Procedures ..........
4-128
4.2.2.6.1 Create Trace CIF Procedure .........
4-128
4.2.2.6.2 Terminate CIF Procedure ............
4-128
4.2.2.6.3 Send Trace CIF Procedure ...........
4-128
4.2.2.6.4 Dismantle Request Procedure ........
4-129
4.2.2.7 Subpackage Interface ..................
4-138
4.2.2.7.1 Close Down Flag ....................
4-138
4.3 MEMORY LAY OUT .................................
4-139
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̲
The package specification for logging is written to
fulfil the following objectives:
1) To provide detailed definition of the package functions
and software architecture.
2) To provide user operational and development personnel
details of the ongoing analysis.
3) To define in detail the interfaces with other packages
and to describe their facilities.
The design specification is a software description
of the LOG package, down to a level where all modules
are defined.
Higher level design specifications can be found in
the system design document.
The application interfaces to LOG are described in
this document.
All interfaces and data are described in detail in:
- CPS/ICD/009 Software Interface Control Document
- CPS/DBD/001 Database Design Document
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̲
- CPS/210/SYS/0001 CAMPS System Requirements
- CPS/SDS/029 CAMPS System Function
- CPS/SDS/030 Storage and Retrieval
- CPS/SDS/033 Traffic Handling
- CPS/DBD/001 Data Base Design Document
Document
- CPS/ICD/009 Software Interface Control
- CPS/SPS/035 Supervisor VDU
- CPS/SDS/036 Supervisor Printer
- CPS/SDS/037 MDCO VDU
- CPS/SDS/038 MSO VDU
- CPS/SDS/039 User VDU
- CPS/SDS/040 OCR
- CPS/SDS/041 Printer
1.2.2 P̲r̲o̲j̲e̲c̲t̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
N/A.
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 T̲e̲r̲m̲s̲
Applications (TEP,THP,SSC,CSF) - packages are TEP,
THP, SSC and CSF which contribute with log information
to the LOG package.
1.3.2 A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲
CIF CAMPS Information File
CSF CAMPS System Functions
SAR Storage and Retrieval
MMS Storage and File Management
SSC System Status and Control
TEP Terminal Package
MDCO Message Distribution Control Operator
MSO Message Service Operator
TOS Terminal Operating System
DAMOS CR80D Advanced Multiprocessor Operating System
PD Preliminary Design
SP Subpackage
LOG Logging Package
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 tasks of the LOG package are:
a) Receive log records from applications.
b) Send the incoming log information to TEP for printout.
c) Store the log information by means of SAR.
d) Trace log records requested by TEP using SAR to
retrieve the log CIF-cif. in question.
A chart with the LOG package and its inter-relationships
with other packages is shown on fig. 2.1-1.
Explanation to the inter-relationships chart fig. 2.1-1:
No 1: The application transfers the log records to
LOG.
No 2: When a specific log record is safely stored,
an acknowledge is returned.
No 3: Close down command from SSC
No 4: Acknowledge on close down command
No 5: The incoming log records are transferred to
the TEP supervisor log print queue.
No 6: Request to CSF for creation of log CIF.
No 7: Return of the created log CIF-ref.
No 8: Append log record to CSF.
No 9: Set-up time monitor in CSF.
No 10: Receive time out from time monitor.
No 11: Request SAR to store the log CIF.
No 12: TEP request LOG to retrieve log records.
No 13: LOG request SAR to find a specified log
CIF-ref.
No 14: Return of requested log CIF-ref.
No 15: Retrieve log records from disk.
No 16: Return the traced log records.
Fig. 2.1-1…01…LOG Inter-Relationship.
2.2 P̲A̲C̲K̲A̲G̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲S̲
2.2.1 M̲a̲i̲n̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲a̲t̲ ̲N̲o̲r̲m̲a̲l̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
The main functions at normal operation are:
a) Collection of log records from TEP THP, SSC and
CSF.
The log records are transferred to the LOG package
via buffers and queue elements.
b) Append the collected log records.
The collected log records are appended to the log
CIF.
Every 10 minutes or when the log CIF runs full
or on supervisor request the present used log CIF-ref.
is stored by SAR and a new requested.
Log records are stored online for a period of at
least 24 hours and offline for at least 30 days.
c) Log record printout.
The incoming log records are queued for printout
contained in a log CIF to the supervisor log print
queue.
d) Trace of stored log information.
The stored log information is retrieved and traced
on supervisor request. The trace command and trace
keys are sent to LOG via the TEP package.
The requested log records are appended in a trace
CIF and the trace CIF-ref. is queued in the supervisor
print queue.
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̲
2.2.2.1.1 I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲a̲n̲d̲ ̲R̲e̲s̲t̲a̲r̲t̲
The initialize and restart software is placed at the
LOG package start up entry point.
2.2.2.1.1.1 S̲t̲a̲r̲t̲-̲u̲p̲ ̲T̲y̲p̲e̲s̲
There are two types of start up in the LOG package.
At start up SSC identify the type.
a) I̲n̲i̲t̲i̲a̲l̲i̲s̲e̲ ̲S̲t̲a̲r̲t̲-̲u̲p̲
In this start up type the LOG package data is initialised.
The coroutines are created and started. No recovery
actions are taken.
The following SSC start up types will cause a initialise
start up:
DEAD1, DEAD2 and COLD.
b) R̲e̲c̲o̲v̲e̲r̲y̲ ̲S̲t̲a̲r̲t̲-̲U̲p̲
After switch-over and total system error the recovery
start-up will be activated. The present used log CIF
is recovered and added the last saved log records from
the fast log file.
The following SSC start-up types will cause a recovery
start-up action:
WARM1 and WARM2
2.2.2.1.1.2 L̲o̲g̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲
Initialization of the log package is divided into a
global part including all subpackages and a part unique
to each subpackage.
The global part of the initialize software is placed
outside the subpackages. It recognizes the startup
type, create and starts the coroutines.The global initialise
is described in section 4.1.
The subpackage initialization is described in section
4.2.1.4.1.5 and 4.2.2.4.1.5.
2.2.2.1.2 C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲
The close down software is resident in the COLLECT
Sub-Package
When COLLECT receives a close down command from SSC,
the following actions are taken:
a) Empty incoming log queue.
b) Append the log records to the log CIF.
c) Store log CIF via SAR
d) Send completion code to SSC.
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̲
2.2.2.2.1 C̲h̲e̲c̲k̲ ̲P̲o̲i̲n̲t̲i̲n̲g̲
The present used log CIF is checkpointed on disk.
2.2.2.2.2 R̲e̲c̲o̲v̲e̲r̲y̲
The recovery actions are executed when a recovery start-up
occur.
There are two recovery start-up types: Warm 1 and
Warm 2 but the recovery action for LOG is the same.
The present used log CIF is recovered.
The last stored log records are recovered from the
fast log disc file and appended to the log CIF. The
log CIF is terminated and stored via SAR. Max. one
log record can be lost!
2.2.2.3 E̲r̲r̲o̲r̲ ̲D̲e̲t̲e̲c̲t̲i̲n̲g̲ ̲a̲n̲d̲ ̲E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
Errors detected by LOG are:
a) Error in the incoming log record queue element.
b) Error in trace commands and trace keys from TEP.
E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
All errors are reported to SSC.
Error a: The incoming log record is sent to the
SSC garble queue and a completion code
is returned to the sender.
Error b: The command is deleted and a completion
code returned to TEP.
2.2.2.4 I̲n̲t̲e̲g̲r̲i̲t̲y̲ ̲o̲f̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
To avoid errors in the log trace mechanism the incoming
log records are deleted if errors are found in the
log parameters or in the queue element referencing
the log record buffer. A negative completion code will
be returned to the sender and the queue element in
question sent to the SSC garble function.
2.2.2.5 D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲
The collection of log records is done by means of queue
elements and the buffer functions implemented by CSF.
The log records are transferred to the incoming log
queue by sending a queue element with a reference to
a log record buffer.
When a log record is received by LOG, an acknowledge
queue element is returned to the log record sender
when the log record is safely stored.
2.2.2.6 S̲e̲c̲u̲r̲i̲t̲y̲
No security action is performed by LOG.
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̲
Every 10 minutes, the presently used CIF will be closed
and stored. This action is only taken if the CIF contains
log records.
Log records are stored online for a period of at least
24 hours.
Log records are stored offline for a period of at least
30 days.
2.3.1.1 C̲o̲l̲l̲e̲c̲t̲ ̲R̲u̲n̲ ̲T̲i̲m̲e̲
The CPU time used by LOG during the log collect procedure:
a) For each log record, validated,
and queued for print out : 1
ms
b) storage of each log record
on disk : 0.2
ms
c) Storage of old log CIF and re
quest of new log CIF every 10 min. : 0.1
ms
Estimated average CPU time used by
LOG for each received log record : 1.1
ms
Estimated CPU time used by LOG in
a busy min. : 160
ms
Note that it is CPU time not response time.
Number of system and spplication call for each received
log records:
IOS fast disc file access : 1
times
CSF log CIF access : 0,2
times
SAR store log CIF : 0,005
times
QMON receive, send and dismantle qel. : 3
times
2.3.1.2 T̲r̲a̲c̲e̲ ̲R̲u̲n̲ ̲T̲i̲m̲e̲
The average CPU time used by LOG,
tracing a ten busy minute log CIF
is estimated to : 100
ms
This only includes the CPU time used by LOG. It is
not response time.
The trace procedure is executed in such a way that
no significant performance reduction occurs.
2.3.2 T̲h̲r̲o̲u̲g̲h̲p̲u̲t̲
The amount of log records are estimated to be 145 log
records per busy minute, 7000 log records per busy
hour and 35000 per busy 24 hours.
2.3.3 F̲l̲e̲x̲i̲b̲i̲l̲i̲t̲y̲
The modularity of the LOG package facilitates implementation
of changes in the log record format and trace format
as well as changes in the log record store timing.
2.3.4 A̲c̲c̲u̲r̲a̲c̲y̲
Not applicable to LOG.
No calculations or data manipulation are performed
by LOG.
3̲ ̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲S̲
3.1 E̲Q̲U̲I̲P̲M̲E̲N̲T̲
The software within the LOG package is online resident
in one processing unit.
Main memory data area consists of buffer and data area.
Main memory buffer area size will be 1000 words.
Main memory data area size will be 900 words.
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̲
The system software environment to LOG are:
- CAMPS System Function
- Message Management System
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 support software is standard DAMOS and
TOS resident in a single CR 80D.
3.3 I̲N̲T̲E̲R̲F̲A̲C̲E̲
3.3.1 E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
There are no external interfaces to LOG.
3.3.2 P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
An interface overview is shown in figure 3.3.2-1.
3.3.2.1 A̲p̲p̲l̲i̲c̲a̲t̲i̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The LOG package receives log records from TEP, THP,
SSC and CSF. This interface is referred to as application
package interface.
The application package interface is implemented by
means of queue elements and the buffer function implemented
by CSF.
The buffers are used to transport the log records from
the applications to LOG.
When a log record is safely stored an acknowledge is
returned to the sender in an answer queue.
3.3.2.2 S̲S̲C̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The interface to SSC is implemented by means of queues.
The queues are used to:
a) Transfer close down commands from SSC
b) Send close down completion codes to SSC
3.3.2.3 T̲E̲P̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
L̲o̲g̲ ̲P̲r̲i̲n̲t̲o̲u̲t̲
The interface to TEP is implemented by means of queues
and log CIFs. The CIF's may contain up to 558 log
records waiting for printout.
Incoming log records are stored in CIFs and queue elements
with CIF-refs. are sent to the TEP printout queue.
L̲o̲g̲ ̲T̲r̲a̲c̲e̲
Log trace commands are sent to LOG in a buffer via
a queue. The queue elements contain pointers to buffers
with trace keys. The traced log records are stored
in a trace CIF and the CIF-ref. is returned to TEP
in a queue element.
3.3.2.4 C̲S̲F̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The interface to CSF is implemented by means of monitor
calls.
The monitor calls are used e.g. when requesting for
a queue element and time out.
Please refer to CPS/ICD/009.
3.3.2.5 S̲A̲R̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The SAR interface is implemented with queues.
The queues are used to:
a) Request SAR for a CIF-ref.
b) Receive CIF-ref. from SAR.
c) Request SAR for cataloguing and storage of a CIF.
Refer to CPS/ICD/009 and section 4.1.7.2.5 for a more
detailed description.
Fig. 3.3.2-1…01…LOG Interfaces
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̲
The functions maintained by other packages are:
- Error handling by SSC
- close down by SSC
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 main events in the LOG package are shown by means
of a diagram fig. 4.1-1 and appertaining text.
It is natural to divide the events in a log collecting
part and a log tracing part.
L̲O̲G̲ ̲C̲O̲L̲L̲E̲C̲T̲
L̲o̲g̲ ̲R̲e̲c̲o̲r̲d̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ - The log information generated
by the applications is sent to the LOG package via
queue elements and buffers.
A̲p̲p̲e̲n̲d̲ ̲l̲o̲g̲ ̲r̲e̲c̲o̲r̲d̲s̲ - The collected log records are
appended to a created CIF when log time and log record
type is added.
S̲t̲o̲r̲e̲ ̲l̲o̲g̲ ̲C̲I̲F̲ - The log CIFs are stored with 10 minute
intervals and new log CIFs are created.
SAR catalogs the CIF-ref. for later retrieval.
L̲O̲G̲ ̲T̲R̲A̲C̲E̲
L̲o̲g̲ ̲t̲r̲a̲c̲i̲n̲g̲ - The supervisor's log trace requests are
transferred via TEP to the LOG package. A number of
trace keys tells the log trace mechanisms, which of
the stored log records to retrieve.
R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲o̲f̲ ̲l̲o̲g̲ ̲C̲I̲F̲s̲ - The retrieved log CIFs are
traced and the wanted log records selected.
A̲p̲p̲e̲n̲d̲ ̲l̲o̲g̲ ̲r̲e̲c̲o̲r̲d̲s̲ - The selected log records are appended
to an especially created CIF.
T̲r̲a̲n̲s̲f̲e̲r̲ ̲l̲o̲g̲ ̲C̲I̲F̲-̲r̲e̲f̲.̲ ̲t̲o̲ ̲T̲E̲P̲ - The log CIF-ref. and
a completion code is returned to TEP.
Fig. 4.1-1…01…Package Events
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̲
4.1.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲B̲r̲e̲a̲k̲d̲o̲w̲n̲
The functions implemented by LOG are separated in two
groups:
1) Log collection functions
2) Log trace functions
4.1.1.1.1 L̲o̲g̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
Log records, generated by the applications, are transferred
to the incoming log queue. The incoming log records
are read by the LOG application and four things happen:
a) The log record buffer is read and stored on the
fast disk file. When the file runs full the contents
is appended to the log CIF.
b) An acknowledge is returned to the log record sender.
c) Every 10 minutes or on supervisors request the
present log CIF is closed and stored via SAR. If
the supervisor wants a print out of the latest
collected log records a request is generated and
sent to LOG via TEP.
d) The closed log CIF is sent to the supervisor log
print queue for printout.
S̲t̲o̲r̲a̲g̲e̲ ̲o̲f̲ ̲l̲o̲g̲ ̲C̲I̲F̲'̲s̲
Every 10 minutes the present used log CIF is stored
and catalogued via SAR. A new log CIF is requested
from MMS. If no log records were appended to the log
CIF, no action is taken.
4.1.1.1.2 L̲o̲g̲ ̲T̲r̲a̲c̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
The stored log records may be retrieved with respect
to specific trace keys and sent to supervisors position
via TEP. The following functions are implemented by
LOG when log records are retrieved:
a) The trace command is received from TEP.
b) The pertinent time interval is computed and the
CIF-refs. are retrieved via SAR.
c) The wanted log records are traced and appended
to a trace CIF.
d) The trace CIF-ref is sent to TEP via a queue element
when the trace action is completed.
Fig. 4.1.1.1.2-1…01…Functional Breakdown
4.1.2 S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The LOG package consists of two subpackages:
1) Log collect subpackage
2) Log trace subpackage
The functions allocated to each of the subpackages
correspond with the functional break-down in chapter
4.1.1.1.
The two subpackages are independent of one another
and they have no common data area.
The log Collect subpackage is divided in two modules:
1) Record Collect Module
2) Log CIF Handling Module.
R̲e̲c̲o̲r̲d̲ ̲C̲o̲l̲l̲e̲c̲t̲ ̲M̲o̲d̲u̲l̲e̲
The Record Collect Module receive and validate the
incoming queue elements. The incoming log records are
stored and an acknowledge returned to the sender.
When the collect buffer runs full, a 10 mins. time
out is received or a request log command is received
the Log CIF Handling Module is called.
L̲o̲g̲ ̲C̲I̲F̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
This module implement all log CIF relevant functions
such as:
- store the collect buffer contents in the log CIF
- reset the collect buffer index pointer
- catalogue the present log CIF via SAR
- request a new log CIF
- send log CIF for print-out.
The Log Trace sub-package is divided in two modules:
1) Trace Module
2) Trace Log CIF Module.
T̲r̲a̲c̲e̲ ̲M̲o̲d̲u̲l̲e̲
The Trace Module is the main module. It received the
trace command and validates it. The requested log
CIFs are retrieved via SAR and each log CIF traced
via a call to the Trace Log CIF Module.
T̲r̲a̲c̲e̲ ̲L̲o̲g̲ ̲C̲I̲F̲ ̲M̲o̲d̲u̲l̲e̲
This module implement log CIF trace.
The traced log records are collected in a trace CIF
and sent for printout.
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̲
There is no data flow between the subpackages. The
data flow and control logic is described in section
4.2 for each subpackage.
A close down flag is set by the COLLECT subpackage
during close down. It is used by both subpackages.
Fig 4.1.2. S/W BREAKDOWN
4.1.4 C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
Refer to CPS/DBD/001 for global types
TYPE QEL ̲REF : QEL ̲REFERENCE
TYPE OBJECT : OBJECT ̲TYPE
TYPE CC : COMPLETION ̲CODE
TYPE CLOSE ̲DOWN : BOOLEAN
TYPE LOG ̲RECORD ̲TYPE : (INIT ̲A ̲C1 ̲G1 ̲G3 ̲M,
FINAL ̲A ̲C1 ̲G1 ̲G3, FINAL
̲M,
INIT ̲O ̲H, FINAL ̲O ̲H,
FINAL ̲B ̲E1 ̲E2 ̲G2, FINAL
̲D ̲F,
FINAL ̲P1, FINAL ̲P2,
FINAL ̲N ̲Q ̲R,
INIT ̲DUMMY, FINAL ̲K1
̲I1,
FINAL ̲K2, FINAL ̲I2,
FINAL ̲SUPV,
FINAL ̲MDCO, FINAL ̲MSO,
PRINTER ̲LOG, OCR ̲LOG,
OUT ̲VALID ̲LOG, IN ̲VALID
̲LOG,
IN ̲VALID ̲LOG, IN ̲DISC
̲LOG,
OUT ̲VALID ̲PTP ̲LOG, INIT
̲OUT ̲CTS,
INIT ̲IN ̲CTS, INIT ̲COM
̲NOT,
FINAL ̲OUT ̲CTS, FINAL
̲IN ̲CTS, FINAL ̲COM ̲NOT)
TYPE SERIAL ̲NO ̲TYPE : INTEGER
TYPE LOG ̲TYPE : LOG ̲RECORD ̲TYPE
TYPE TERMINAL ̲DESIGNATOR : TERMINAL ̲DESIGNATOR
̲TYPE
TYPE DEVICE ̲DESIGNATOR : DEVICE ̲DESIGNATOR ̲TYPE
TYPE TRANSACTION ̲SERIAL ̲NO : TRANSACTION ̲SERIAL ̲NO
̲TYPE
TYPE FORMAT ̲ID : FORMAT ̲ID ̲TYPE
TYPE LOG ̲TIME : TIME ̲TYPE
TYPE ITEM ̲1 ̲REF ̲ID : ITEM ̲REF ̲ID ̲TYPE
TYPE EXIT ̲CAUSE : EXIT ̲CAUSE ̲TYPE
TYPE CLASSIFICATION : CLASSIFICATION ̲TYPE
TYPE SPEC ̲HAND ̲CAT : SPEC ̲HAND ̲TYPE
TYPE TRANSACTION ̲START ̲TIME: TIME ̲TYPE
TYPE ITEM ̲2 ̲REF ̲ID : ITEM ̲REF ̲ID ̲TYPE
TYPE MONTH ̲DAY : TIME ̲TYPE
TYPE DECISION ̲CODE : DECISION ̲CODE ̲TYPE
TYPE USER ̲IDENTIF : USER ̲ID ̲TYPE
TYPE PROBLEM ̲CODE : PROBLEM ̲CODE ̲TYPE
TYPE SYSTEM ̲PRINT ̲OUT ̲NO : SYSTEM ̲PRINT ̲CONT ̲NO
̲TYPE
TYPE CHANNEL ̲DESIGNATOR : CHANNEL ̲DESIGNATOR ̲TYPE
TYPE CHANNEL ̲SERIAL ̲NO : CHANNEL ̲SERIAL ̲NO ̲TYPE
TYPE PRECEDENCE : PRECEDENCE ̲TYPE
TYPE CALLING ̲STATION : STATION ̲ID ̲TYPE
TYPE STATION ̲SERIAL ̲NO : STATION ̲SERIAL ̲NO ̲TYPE
TYPE FILING ̲TIME : TIME ̲TYPE
TYPE SIC : SIC ̲GROUP ̲TYPE
TYPE MESSAGE ̲TYPE ̲TYPE : MAIN ̲TYPE
VAR EXP ̲CHANNEL ̲SERIAL ̲NO : CHANNEL ̲SERIAL ̲NO
̲TYPE
VAR TIME ̲STAMP ̲SEND : TIME ̲TYPE
TYPE OBJECT ̲TYPE = (VIEW, BUFFER, TIMEOUT, SINGLE)
TYPE LOG ̲CIF ̲ADM ̲FIELD = LOG ̲CIF ̲ADM ̲TYPE
TYPE TRAFFIC ̲LOG=
RECORD
LOG ̲TYPE:LOG ̲RECORD ̲TYPE
LOG ̲TIME:TIME ̲TYPE;
DESIGNATOR: DESIGNATOR ̲TYPE;
SERIAL ̲NO: SERIAL ̲NO ̲TYPE;
MESSAGE ̲TYPE: MESSAGE ̲TYPE ̲TYPE;
ITEM ̲1 ̲REF ̲ID: ITEM ̲REF ̲ID ̲TYPE;
PRECEDENCE: PRECEDENCE ̲TYPE;
CALLING ̲STATION:STATION ̲ID ̲TYPE;
STATION ̲SERIAL ̲NO:STATION ̲SERIAL ̲NO ̲TYPE;
FILING ̲TIME: TIME ̲TYPE;
CLASSIFICATION: CLASSIFICATION ̲TYPE;
SPEC ̲HAND ̲CAT: SPEC ̲HAND ̲TYPE;
SIC: SIC ̲GROUP ̲TYPE;
PROBLEM ̲CODE: PROBLEM ̲CODE ̲TYPE;
EXP ̲CHANNEL ̲SERIAL ̲NO:CHANNEL ̲SERIAL ̲TO ̲TYPE
END;
TYPE CTS ̲ATOMAL ̲DELETION ̲LOG =
RECORD
LOG ̲TYPE:LOG ̲RECORD ̲TYPE;
LOG ̲TIME:TIME ̲TYPE;
CHANNEL ̲DESIGNATOR:CHANNEL ̲DESIGNATOR ̲TYPE;
CHANNEL ̲SERIAL ̲NO:CHANNEL ̲SERIAL ̲NO ̲TYPE;
MESSAGE ̲TYPE:MESSAGE ̲TYPE ̲TYPE
ITEM ̲1 ̲REF ̲ID:ITEM ̲REF ̲ID ̲TYPE;
CALLING ̲STATION:STATION ̲ID ̲TYPE;
STATION ̲SERIAL ̲NO:STATION ̲SERIAL ̲NO ̲TYPE;
FILING ̲TIME:TIME ̲TYPE;
TERMINAL ̲DESIGNATOR:TERMINAL ̲DESIGNATOR ̲TYPE;
TIME ̲STAMP ̲SEND:TIME ̲TYPE
END;
TYPE VDU ̲USER ̲LOG=
RECORD
LOG ̲TYPE:LOG ̲RECORD ̲TYPE
LOG ̲TIME:TIME ̲TYPE;
TERMINAL ̲DESIGNATOR:TERMINAL ̲DESIGNATOR ̲TYPE;
TRANSACTION ̲SERIAL ̲NO:TRANSACTION ̲SERIAL ̲NO
̲TYPE;
FORMAT ̲ID:TEP ̲FORMAT ̲ID ̲TYPE;
ITEM ̲1 ̲REF ̲ID:ITEM ̲REF ̲ID ̲TYPE;
EXIT ̲CAUSE:EXIT ̲CAUSE ̲TYPE;
CLASSIFICATION:CLASSIFICATION ̲TYPE;
SPEC ̲HAND ̲CAT:SPEC ̲HAND ̲TYPE;
TRANSACTION ̲START ̲TIME:TIME ̲TYPE;
ITEM ̲2 ̲REF ̲ID:ITEM ̲REF ̲ID ̲TYPE;
MONTH ̲DAY:TIME ̲TYPE;
DECISION ̲CODE:DECISION ̲CODE ̲TYPE
END;
TYPE VDU ̲SECURITY ̲LOG=
RECORD
LOG ̲TYPE:LOG ̲RECORD ̲TYPE;
LOG ̲TIME:TIME ̲TYPE;
TERMINAL ̲DESIGNATOR:TERMINAL ̲DESIGNATOR ̲TYPE;
TRANSACTION ̲SERIAL ̲NO:TRANSACTION ̲SERIAL ̲NO
̲TYPE;
FORMAT ̲ID:TEP ̲FORMAT ̲ID ̲TYPE;
EXIT ̲CAUSE:EXIT ̲CAUSE ̲TYPE;
TRANSACTION ̲START ̲TIME:TIME ̲TYPE;
USER ̲ID:USER ̲ID ̲TYPE
END;
TYPE PRINTER ̲OCR ̲LOG=
RECORD
LOG ̲TYPE:LOG ̲RECORD ̲TYPES;
LOG ̲TIME:TIME ̲TYPE;
DEVICE ̲DESIGNATOR:DEVICE ̲DESIGNATOR ̲TYPE;
TRANSACTION ̲SERIAL ̲NO:TRANSACTION ̲SERIAL ̲NO
̲TYPE;
FORMAT ̲ID:TEP ̲FORMAT ̲ID ̲TYPE;
ITEM ̲1 ̲REF ̲ID:ITEM ̲REF ̲ID ̲TYPE;
EXIT ̲CAUSE:EXIT ̲CAUSE ̲TYPE;
CLASSIFICATION:CLASSIFICATION ̲TYPE;
SPEC ̲HAND ̲CAT:SPEC ̲HAND ̲TYPE;
TRANSACTION ̲START ̲TIME:TIME ̲TYPE;
SYSTEM ̲PRINT ̲CONT ̲NO:SYSTEM ̲PRINT ̲CONT ̲NO
̲TYPE
END;
TYPE VDU ̲SUPV ̲LOG=
RECORD
LOG ̲TYPE:LOG ̲RECORD ̲TYPE
LOG ̲TIME:TIME ̲TYPE;
TERMINAL ̲DESIGNATOR:TERMINAL ̲DESIGNATOR ̲TYPE;
TRANSACTION ̲SERIAL ̲NO:TRANSACTION ̲SERIAL ̲NO
̲TYPE;
FORMAT ̲ID:TEP ̲FORMAT ̲ID ̲TYPES;
ITEM ̲1 ̲REF ̲ID:ITEM ̲REF ̲ID ̲TYPE;
EXIT ̲CAUSE:EXIT ̲CAUSE ̲TYPES;
TRANSACTION ̲START ̲TIME:TIME ̲TYPE;
MONTH ̲DAY:TIME ̲TYPE;
PROBLEM ̲CODE:PROBLEM ̲CODE ̲TYPE
END;
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̲
4.1.5.1. I̲n̲i̲t̲i̲a̲l̲i̲s̲e̲ ̲L̲o̲g̲ ̲P̲a̲c̲k̲a̲g̲e̲
F̲l̲o̲w̲c̲h̲a̲r̲t̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
1) INITIALISE LOG PACKAGE
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
- Refer figure 4.1.5.1-1
The start up type from SSC is defined in register 0
The start up type indicate recovery action or not
The coroutines are initialised and started
LOG START UP ENTRY POINT
INITIALIZE ̲LOG ̲PACKAGE
Start up type is in register zero
PRE ̲INITIALIZE
CASE START ̲UP ̲TYPE OF
DEAD1 OR
DEAD2 OR ?
COLD
WARM1 OR
WARM2 ? L̲O̲G̲ ̲C̲I̲F̲ ̲R̲E̲C̲O̲V̲E̲R̲Y̲
OTHER?
END CASE
INIT ̲COROUTINE(LOG ̲COLLECT ̲CO,PRIO1,SUB1,COLLECT ̲ID,
LOG ̲COLLECT ̲ADD)
INIT ̲COROUTINE(LOG ̲TRACE ̲CO,PRIO2,SUB2,TRACE ̲ID
LOG ̲TRACE ̲ADD)
Fig. 4.1.5.1-1 Log Package Initialise
L̲O̲G̲ ̲C̲I̲F̲ ̲R̲E̲C̲O̲V̲E̲R̲Y̲
CASE RECEIVE ̲FIRST ̲QEL (TRUE,DUMMY ̲Q)
(LOG ̲CIF ̲VIEW ̲REF,COLL ̲QEL,COLL
̲SUBQ,CC):
ERROR? ANALYSE ̲ERROR(CC,0)
OK?
END CASE
CASE READ BYTES (LOG ̲SAVE ̲FD,LOG ̲SAVE ̲FILEADDRESS,
COLLECT ̲BUFFER)
(LOG ̲SAVE ̲FILEADDRESS,CC):
ERROR? ANALYSE ̲ERROR (CC,0)
OK?
END CASE
INITIALISE LOG ̲CIF ̲FIELD ̲LIST ̲2
PUT ̲LOG ̲CIF(LOG ̲CIF ̲FIELD ̲LIST ̲2,LOG ̲CIF ̲VIEW ̲REF)
NO ̲OF ̲LOG ̲RECORDS=COLLECT ̲BUFFER.NO ̲OF ̲LOG
STORE ̲LOG ̲CIF(LOG ̲CIF ̲VIEW ̲REF,NO ̲OF ̲LOG ̲RECORDS)
Fig. 4.1.5.1-2 Log Cif Recovery
4.1.6 G̲l̲o̲b̲a̲l̲ ̲D̲a̲t̲a̲
Refer to CPS/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̲
There are no external interfaces to the LOG package.
4.1.7.2 P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
An interface overview is given in fig. 4.1.7.2-1.
It covers all the LOG interfaces to other packages.
Each LOG interface is described in a separate chapter.
For detailed description refer to CPS/ICD/009.
4.1.7.2.1 A̲p̲p̲l̲i̲c̲a̲t̲i̲o̲n̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
Collection of log records is performed by means of
queue elements and the buffer function, implemented
by CSF. When a log record is generated, the application
(SSC, THP, CSF, TEP) must reserve a queue element and
a buffer. The log parameters are written in the reserved
buffer and the queue element is sent to the SYSTEM
̲Q with a sent request command.
When log records are received by LOG, the log time
and log record type is added to the log record parameters.
An acknowledge queue element will be sent to the application
answer queue, when the log record is properly stored.
For detailed description refer to CPS/ICD/009 sec.
4.2.2.3 and 5.4.
Fig. 4.1.7.2-1…01…Log Interface
Queue names used in fig. 4.1.7.2-1.
MAIN ̲Q SUB
̲Q
Q1 System queue SYSTEM ̲Q 0
Q1,1 Incoming command queue SYSTEM ̲Q IN
̲COMM
̲Q
Q1,2 Incoming log queue SYSTEM ̲Q IN
̲LOG
̲Q
Q1,3 Timeout queue SYSTEM ̲Q TIM
̲Q
Q2,1 Trace command queue TRACE ̲Q COMM
̲Q(1)
Q2,2 Trace reply queue TRACE ̲Q REPLY
̲Q(2)
Q3 Retrieval response queue RET ̲RESP ̲Q SUB
̲0
Q4 Close down acknowlegde PCR ̲RQ LOG
̲RQ
Q5 Application response queues
Q6 Incoming storage queue ISQ SUB
̲Q ̲1
Q7 Retrieval request queue RRQ SUB
̲Q ̲1
Q8 Trace command completion SVUP ̲CREPQ 0
Q9 Return traced log records SPIP ̲LOGQ 0
4.1.7.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲t̲o̲ ̲S̲S̲C̲
The queue interface to SSC is used to receive a close
down command and to return a close down completion
code.
For detailed description refer CPS/ICD/009 sec. 4.2.1.3.1.
4.1.7.2.3 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲t̲o̲ ̲T̲E̲P̲
L̲o̲g̲ ̲P̲r̲i̲n̲t̲
A log CIF is sent to the supervisor log print queue
every 10 minutes or on supervisor request.
L̲o̲g̲ ̲p̲r̲i̲n̲t̲ ̲r̲e̲q̲u̲e̲s̲t̲
A log print request from the supervisor, sent to the
incoming command queue, will cause an immediate termination
of the present log CIF. The log CIF-ref is sent to
the supervisor log print queue and a command completion
code is returned to the supervisor.
L̲o̲g̲ ̲T̲r̲a̲c̲e̲
The stored log records may be traced on supervisor
request. Trace command and trace keys are transferred
to LOG by means of queue elements and the buffer function
implemented by CSF.
The traced log records will be copied in a CIF and
the trace CIF-ref. and a completion code is returned
in a queue element to the supervisor.
If the requested log records cannot be traced then
a completion code indicating this is returned to TEP.
For details refer to CPS/ICD/009 sec. 5.4.
4.1.7.2.4 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲t̲o̲ ̲C̲S̲F̲ ̲a̲n̲d̲ ̲M̲M̲S̲
The interface is implemented by means of monitor calls
and queues.
For further description please refer to CPS/ICD/009.
4.1.7.2.5 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲t̲o̲ ̲S̲A̲R̲
The interface to SAR is implemented with queues. When
LOG requests SAR to catalogue and store a CIF, the
CIF-ref. and a SAR log type indicator is sent to the
SAR incoming storage queue.
Refer CPS/ICD/009
A queue interface is also used when LOG request SAR
to retrieve CIF-refs. A time interval and a SAR log
type indicator is sent to the SAR retrieval request
queue. A completion code or CIF-ref. is returned to
the retrieve response queue.
4.1.7.3 S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The only subpackage interface is the close down flag.
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̲
The LOG package is divided in two subpackages.
The subpackages are : 4.2.1) Log collect subpackage
4.2.2) Log trace subpackage
The subpackages are described in chapter 4.2.1 and
4.2.2.
4.2.1 L̲o̲g̲ ̲C̲o̲l̲l̲e̲c̲t̲ ̲S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The log collect subpackage includes log record collection
and storage.
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 functions for the log collect subpackage consists
of four main functions and a number of sub functions.
The main functions are:
1) Log record collection
2) Log record store
3) Log record printout
4) Log CIF store
The Record Collect Module implement the log record
collect function.
The Log CIF Handling Module implement all log CIF relevant
functions:
- store the collect buffer contents in the log CIF
- reset the collect buffer index pointer
- catalogue the present log CIF via SAR
- request a new log CIF
- send log CIF for printout
4.2.1.1.1 L̲o̲g̲ ̲R̲e̲c̲o̲r̲d̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲
Queue elements referencing a log record buffer are
sent to the system queue. The queue elements and the
buffer are read. The log record parameters are stored
in the buffer and log time and log record type are
added to the parameters.
A send reply queue element is returned to the reply
queue. The queue element contain the log record type
and a completion code indicating proper storage of
the log record.
4.2.1.1.2 L̲o̲g̲ ̲R̲e̲c̲o̲r̲d̲ ̲S̲t̲o̲r̲e̲
The contents of the collect buffer is stored in the
log CIF. This action occurs when:
- the collect buffer is full
- a 10 min.time out is received
- the supervisor request the latest received log
records.
4.2.1.1.3 L̲o̲g̲ ̲R̲e̲c̲o̲r̲d̲ ̲P̲r̲i̲n̲t̲o̲u̲t̲
A log CIF is sent for printout every 10 minutes or
on supervisor request.
4.2.1.1.4 L̲o̲g̲ ̲C̲I̲F̲ ̲S̲t̲o̲r̲e̲
The present used log CIF will be closed and catalogued
via SAR when a 10 min. time out occurs or on supervisor
request. A new log CIF will then be created for online
storage from MMS.
Fig. 4.2.1.1-1…01…FUNCTIONAL BREAKDOWN
4.2.1.1.5 I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲
Ref. section 2.2.2.1.1. and 4.1.5.1
4.2.1.1.6 E̲r̲r̲o̲r̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
Ref. section 2.2.2.3.
4.2.1.1.7 C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲
Ref. section 2.2.2.1.2.
4.2.1.2 S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
The collect subpackage consist of one coroutine performing
the functions listed in section 4.2.1.1.
The coroutine in the collect subpackage consist of
two software modules.
The Log Collect subpackage is divided in two modules:
R̲e̲c̲o̲r̲d̲ ̲C̲o̲l̲l̲e̲c̲t̲ ̲M̲o̲d̲u̲l̲e̲
The Record Collect module is the main module. It receives
and validates all incomming queue elements and define
the actions to perform.
L̲o̲g̲ ̲C̲I̲F̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
All Log CIF relevant functions are implemented by this
module.
The module is called from the Record Collect Module.
The call parameters decide the wanted action.
4.2.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̲
The data flow is described in fig 4.2.1.3-1 and in
section 4.2.1.4
Fig.4.2.1.3-1
4.2.1.4 M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.4.1 R̲e̲c̲o̲r̲d̲ ̲C̲o̲l̲l̲e̲c̲t̲ ̲M̲o̲d̲u̲l̲e̲
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 Record Collect module receives and validates the
incoming queue element.
If the queue element references a log record buffer
the log record data is stored in the collect buffer.
The backup of the collect buffer will be updated on
the fast disk file.
When the collect buffer runs full a call to the Log
CIF Handling module will cause a transfer of the buffer
contents to the CIF.
If the received queue element contains a time out or
a supervisor CIF request, a call will be made to the
Log CIF Handling module.
4.2.1.4.1.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The main module is not called from other modules.
The interface is implemented via queues.
Please refer to section 4.1.7.
4.2.1.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
SEND ̲GARBLE(CONTINUE, QERROR, COLL ̲QEL, ERR ̲INFO)
Queue elements with errors are sent to the SSC garble
queue via the SEND ̲GARBLE call to CSF.
4.2.1.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲s̲
No specific module data is identified for this module.
Refer section 4.2.1.5.
4.2.1.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Each of the flowgram figures are described shortly
in this section:
1) M̲a̲i̲n̲ ̲F̲l̲o̲w̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-1 Main
flowgram
The following tasks are implemented in flow 1:
- Initialize, the collect subpackage is initialized,
expanded in flow 2.
- Get Next Command, from SSC, expanded in flow
5.
- Get Next Request, from the system queue, expanded
in flow 6.
- Process SSC Command, close down command,
(CIF HANDLING MODULE).
- Process Log, read and store incoming log records,
expanded in flow 7.
- Process Supervisor Command, sent the present
CIF for printout and store it via SAR,
(CIF HANDLING MODULE).
- Process Timeout, sent the present CIF for printout
and store it via SAR, (CIF ̲HANDLING MODULE).
- Send Garble, if queue elements with errors
are received they are sent to the SSC garble
queue, expanded in flow 11.
- Dismantle Request, dismantle CIF, buffers and
queue elements.
2) I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-2
The log collect module is initialized.
- Collect buffer index and close down flag is
initialized.
- Main queue and sub-queue variables are initialized.
- Open Fast Disk File, the fast disk file is
opened, expanded in flow 3.
- Create New Log Cif, a new log cif is created,
(common procedure).
- Request Timeout, a ten minutes interval timeout
is requested, expanded in flow 4.
3) O̲p̲e̲n̲ ̲F̲a̲s̲t̲ ̲D̲i̲s̲k̲ ̲F̲i̲l̲e̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-3
The fast disk file is opened and made ready for
use. The fast disk file is used for temporary storage
of collected log records.
4) R̲e̲q̲u̲e̲s̲t̲ ̲T̲i̲m̲e̲o̲u̲t̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-4
A 10 minutes periodic timeout is requested. The
timeout is used as a "close CIF command".
5) G̲e̲t̲ ̲N̲e̲x̲t̲ ̲C̲o̲m̲m̲a̲n̲d̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-5
This is a dummy receive function used after a close
down command as waiting point.
6) G̲e̲t̲ ̲N̲e̲x̲t̲ ̲R̲e̲q̲u̲e̲s̲t̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-6
All incoming data to the system queue is received.
The incoming data can be:
- SSC command, close down
- incoming log records
- supervisor command, request log CIF
- timeout, from time monitor
7) P̲r̲o̲c̲e̲s̲s̲ ̲L̲o̲g̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-7
In this flow the log collection function is implemented.
- Read Log Buffer, the incoming log buffer is
read, expanded in flow 8.
- The log type and the log time is added, expanded
in flow 9. The log record is stored on the
fast disk log file, if the collect buffer,
used for temporary storage of log records,
is full the contents is appended to the log
CIF.
- Print Log CIF, when the log CIF reaches the
max value, it is sent for printout, expanded
in flow 8.
- A new log CIF is created, when the present
log CIF is stored via SAR.
- Send APP ACK, an acknowledge is returned to
the log record sender, expanded in flow 10.
8) R̲e̲a̲d̲ ̲L̲o̲g̲ ̲B̲u̲f̲f̲e̲r̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-8
The incoming log buffer is read into the collect
buffer.
9) R̲e̲a̲d̲ ̲L̲o̲g̲ ̲T̲i̲m̲e̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-9
The log time is read each time a log record is
received from the applications. Log time is time
type.
10) S̲e̲n̲d̲ ̲A̲P̲P̲ ̲A̲C̲K̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-10
An acknowledge is sent to the log record sender
when it is properly stored.
11) S̲e̲n̲d̲ ̲G̲a̲r̲b̲l̲e̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.1.5-11
Queue elements with errors are sent to the SSC
garble queue.
F̲l̲o̲w̲g̲r̲a̲m̲ ̲L̲i̲s̲t̲
1) Main Flow
2) Initialize
3) Open Fast Disk File
4) Request Timeout
5) Get Next Command
6) Get Next Request
7) Process Log
8) Read Log Buffer
9) Read Log Time
10) Send APP ACK
11) Send Garble
LOG COLLECT
INITIALIZE 2
LOOP
CLOSE ̲DOWN EQ TRUE? G̲E̲T̲ ̲N̲E̲X̲T̲ ̲C̲O̲M̲M̲A̲N̲D̲ 5
G̲E̲T̲ ̲N̲E̲X̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲ 6
CASE COLL ̲QEL ̲ATTR.HEADER.MAINTYPE OF
SSC ̲COMMAND? CIF ̲HANDLING (SSC ̲CLOSE ̲DOWN)(
)
INCOMING ̲LOG? P̲R̲O̲C̲E̲S̲S̲ ̲L̲O̲G̲ 7
SUPERVISOR ̲LOG ̲COMMAND? CIF ̲HANDLING(CIF ̲REQUEST)(
)
TIME ̲OUT? CIF ̲HANDLING(TIME ̲OUT)( )
OTHER? SEND GARBLE 11 APP.PARAMS.FLAG = NOT
̲OK
END CASE
DISMANTLE REQUEST (COLL ̲QEL, COLL ̲QEL ̲ATTR.OBJECT)
END LOOP
Figure 4.2.1.4.1.5-1 MAIN FLOW
INITIALIZE
COLL ̲BUF ̲INDEX = 1
CLOSE ̲DOWN = FALSE
IN ̲Q. MAINQUEUE = SYSTEM ̲Q
IN ̲Q. SUBQUEUE = 0
CMD ̲Q.MAINQUEUE = SYSTEM ̲Q
CMD ̲Q.SUBQUEUE = IN ̲COMM ̲Q
O̲P̲E̲N̲ ̲F̲A̲S̲T̲ ̲D̲I̲S̲K̲ ̲F̲I̲L̲E̲ ̲ 3
CREATE ̲NEW ̲LOG ̲CIF (LOG ̲CIF ̲ATTRIBUTES,
LOG ̲CIF ̲Q ̲REF)
T̲I̲M̲E̲ ̲O̲U̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲ 4 (LOG ̲CIF ̲VIEW ̲REF)
Figure 4.2.1.4.1.5-2 INITIALIZE
O̲P̲E̲N̲ ̲F̲A̲S̲T̲ ̲D̲I̲S̲K̲ ̲F̲I̲L̲E̲
CASE GETROOT (LOG ̲FSN, LOG ̲VOLN)
(LOG ̲ROOT ̲FD, CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
CASE LOOKUP (LOG ̲ROOT ̲FD, LOG ̲SAVE ̲FILENAME)
(LOG ̲SAVE ̲FD, CC):
ERROR? ANALYSE ̲ERROR(CC, O)
OK?
END CASE
Figure 4.2.1.4.1.5-3
OPEN FAST DISK FILE
R̲E̲Q̲U̲E̲S̲T̲ ̲T̲I̲M̲E̲O̲U̲T̲
CASE REQUEST TIMEOUT (TIM ̲PARAMETER)
(CC):
ERROR? ANALYSE ̲ERROR (CC, 0)
OK?
END CASE
Figure 4.2.1.4.1.5-4
REQUEST TIMEOUT
G̲E̲T̲ ̲N̲E̲X̲T̲ ̲C̲O̲M̲M̲A̲N̲D̲
CASE RECEIVE ̲FIRST ̲QEL (TRUE, CMD ̲Q)
(COLL ̲QEL ̲ATTR, COLL ̲QEL,
COLL ̲SUB ̲Q, CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
Figure 4.2.1.4.1.5-5
GET NEXT COMMAND
G̲E̲T̲ ̲N̲E̲X̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲
CASE RECEIVE ̲FIRST ̲QEL:(TRUE, IN ̲Q)
(COLL ̲QEL ̲ATTR, COLL
̲QEL, COLL ̲SUBQ, CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
Figure 4.2.1.4.1.5-6
GET NEXT REQUEST
P̲R̲O̲C̲E̲S̲S̲ ̲L̲O̲G̲
R̲E̲A̲D̲ ̲L̲O̲G̲ ̲B̲U̲F̲F̲E̲R̲ ̲ 8
INCREMENT NO ̲OF ̲LOG ̲RECORDS "log record count
pr cif
COLLECT ̲BUFFER.RECS (COLL ̲BUF ̲INDEX).LOG ̲TYPE =
COLL ̲QEL ̲ATTR.HEADER.SUBTYPE
R̲E̲A̲D̲ ̲L̲O̲G̲ ̲T̲I̲M̲E̲ ̲ 9
INCREMENT COLL ̲BUF ̲INDEX
PUT ̲LOG ̲DATA ( ) ( )
COLL ̲BUF ̲INDEX LE COLLECT ̲NO ̲OF ̲LOG ̲RECORDS?
CIF ̲HANDLING(BUFFER ̲FULL) ( )
S̲E̲N̲D̲ ̲A̲P̲P̲ ̲A̲C̲K̲ 10
Figure 4.2.1.4.1.5-7
PROCESS LOG
R̲E̲A̲D̲ ̲L̲O̲G̲ ̲B̲U̲F̲F̲E̲R̲
BUF ̲SIZE = MAX ̲LOG ̲REC ̲SIZE-TYPE ̲TIME ̲SIZE
CASE READ ̲BUFFER (BUF ̲REF,
COLLECT ̲BUFFER.RECS(LOG ̲BUF ̲INDEX).BUF,
BUF ̲SIZE, 1)
(SIZE, CC)
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
Figure 4.2.1.4.1.5-8
READ LOG BUFFER
R̲E̲A̲D̲ ̲L̲O̲G̲ ̲T̲I̲M̲E̲
CASE READ ̲TIME (F ̲TIME ̲TYPE)
(COLLECT ̲BUFFER.RECS(COLL ̲BUF
̲INDEX).LOG ̲TIME,CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
Figure 4.2.1.4.1.5-9
READ LOG TIME
S̲E̲N̲D̲ ̲A̲P̲P̲ ̲A̲C̲K̲
APP ̲PARAMS.HEADER.INF = COL ̲QEL ̲ATTR.HEADER.SUBTYPE
CASE SEND ̲REPLY (APP ̲PARAMS,NIL,COLL ̲QEL)
(CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK
END CASE
Figure 4.2.1.4.1.5-10
SEND APP ACK
SEND GARBLE
SEND ̲GARBLE (CONTINUE, QERROR, COLL ̲QEL, ERR
̲INFO)
Figure 4.2.1.4.1.5-11
SEND GARBLE
4.2.1.4.2 L̲o̲g̲ ̲C̲I̲F̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The Log CIF Handling module handle all CIF relevant
functions. The functions are:
- store the collected log records in the log CIF
- reset the collect buffer index pointer
- terminate and store the present log CIF via SAR
- request a new log CIF
- send the terminated log CIF for printout
- perform close down action
4.2.1.4.2.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The Log CIF Handling module interface to the Record
Collect module via calls:
CIF ̲HANDLING(CIF ̲REQUEST) ( )
A CIF ̲REQUEST will cause termination of the present
log CIF. The CIF is stored via SAR and sent for printout.
CIF ̲HANDLING(TIME ̲OUT) ( )
Same function as CIF ̲REQUEST.
CIF ̲HANDLING(BUFFER ̲FULL) ( )
The collect buffer content is stored in the log CIF
and the collect buffer index is preset to the initial
value.
CIF ̲HANDLING(SSC ̲CLOSE ̲DOWN) ( )
The incoming SSC close down command will cause storage
of all pending log records and termination of the log
CIF.
4.2.1.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
CIF ̲HANDLING(COMMAND) ( )
This is the main procedure. The command decides which
action to take. They are:
CIF ̲REQUEST, TIME ̲OUT, BUFFER ̲FULL, SSC ̲CLOSE ̲DOWN
PUT ̲LOG ̲CIF(LOG ̲CIF ̲FIELD ̲LIST ̲2, LOG ̲CIF ̲VIEW ̲REF)
The collected log records are stored on the log CIF.
STORE ̲LOG ̲CIF(LOG ̲CIF ̲VIEW ̲REF, NO ̲OF ̲LOG ̲RECORDS)
The present used log CIF is terminated and stored via
SAR.
PRINT ̲LOG ̲CIF(LOG ̲CIF ̲VIEW ̲REF)
A copu of the terminated and stored log CIF is sent
to the supervisor log print queue.
4.2.1.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
No specific module data is identified for this module.
Refer section 4.2.1.5.
4.2.1.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Each of the flowgrams are described shortly in this
section:
1) C̲I̲F̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ ̲- Refer to fig. 4.2.1.4.2.5-1.
This is the main procedure. The call parameter
decides the actions to take.
2) P̲r̲o̲c̲e̲s̲s̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-2
The present used log CIF is on request terminated,
stored and sent for printout. A new log is created
and a command acknowledge is returned to the supervisor.
3) P̲r̲o̲c̲e̲s̲s̲ ̲T̲i̲m̲e̲o̲u̲t̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-3
The present used log CIF is terminated, stored
and sent for printout. A new log CIF is then created.
4) B̲u̲f̲f̲e̲r̲ ̲F̲u̲l̲l̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-4.
The content of the collect buffer is stored on
the log CIF.
5) P̲r̲o̲c̲e̲s̲s̲ ̲S̲S̲C̲ ̲C̲o̲m̲m̲a̲n̲d̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-5.
This flow shows the implementation of the close
down command from SSC.
The close down flag, used by both subpackages,
is set. If the no. of log records, received since
the log CIF was created, is more than zero the
log CIF is terminated and stored via SAR.
A completion code is returned to SSC.
- Put Log CIF, expanded in flow 6
- Store Log CIF, expanded in flow 7.
6) P̲u̲t̲ ̲L̲o̲g̲ ̲C̲I̲F̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-6
The collected log records are stored on the log
CIF. The log CIF is checkpointed. The collect buffer
index pointer is reset and stored on the fast disk
file. Both pointer and log records are stored on
the fast disk file.
- Put Log Data is a common subpackage procedure.
7) S̲t̲o̲r̲e̲ ̲L̲o̲g̲ ̲C̲I̲F̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-7.
The present used log CIF is terminated and stored
via SAR.
- Handle CIF Header, the CIF header is created,
expanded in flow 8.
- Sent To SAR, the CIF is catalogued via SAR,
expanded in flow 9.
8) H̲a̲n̲d̲l̲e̲ ̲C̲I̲F̲ ̲H̲e̲a̲d̲e̲r̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-8.
The CIF header is created and stored in the CIF
administration field.
9) S̲e̲n̲d̲ ̲T̲o̲ ̲S̲A̲R̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-9.
The present and terminated log CIF is stored and
catalogued via SAR.
10) P̲r̲i̲n̲t̲ ̲L̲o̲g̲ ̲C̲I̲F̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.4.2.5-10.
A copy of the terminated and stored log CIF Is
sent to the supervisor log print queue.
F̲l̲o̲w̲g̲r̲a̲m̲ ̲L̲i̲s̲t̲
1) CIF ̲HANDLING
2) PROCESS SUPV COMMAND
3) PROCESS TIMEOUT
4) BUFFER FULL
5) PROCESS SSC COMMAND
6) PUT ̲LOG ̲CIF
7) STORE ̲LOG ̲CIF
8) HANDLE CIF HEADER
9) SEND TO SAR
10) PRINT ̲LOG ̲CIF
CIF ̲HANDLING (CONMAND: (CIF ̲REQUEST, TIME ̲OUT,
BUFFER ̲FULL, SSC ̲CLOSE ̲DOWN)) ( )
CASE COMMAND OF
CIF ̲REQUEST? P̲R̲O̲C̲E̲S̲S̲ ̲S̲U̲P̲V̲ ̲C̲O̲M̲M̲A̲N̲D̲ 2
TIME ̲OUT? P̲R̲O̲C̲E̲S̲S̲ ̲T̲I̲M̲E̲O̲U̲T̲ 3
BUFFER ̲FULL? B̲U̲F̲F̲E̲R̲ ̲F̲U̲L̲L̲ 4
SSC ̲CLOSE ̲DOWN? P̲R̲O̲C̲E̲S̲S̲ ̲S̲S̲C̲ ̲C̲O̲M̲M̲A̲N̲D̲ 5
OTHER?
END CASE
RETURN
Fig. 4.2.1.4.2.5-1
CIF ̲HANDLING
P̲R̲O̲C̲E̲S̲S̲ ̲S̲U̲P̲V̲ ̲C̲O̲M̲M̲A̲N̲D̲
NO ̲OF ̲LOG ̲RECORDS EQ O?
COLL ̲BUF ̲INDEX NE 1? PUT ̲LOG ̲DATA ( ) (
)
PUT ̲LOG ̲CIF (LOG ̲CIF ̲FIELD ̲LIST ̲2, LOG ̲CIF ̲VIEW
̲REF) 6
STORE ̲LOG ̲CIF (LOG ̲CIF ̲FIELD ̲LIST ̲2, NO ̲OF ̲LOG
̲RECORDS) 7
PRINT ̲LOG ̲CIF (LOG ̲CIF ̲VIEW ̲REF) 10
CREATE ̲NEW ̲LOG ̲CIF (LOG ̲CIF ̲ATTRIBUTES, LOG ̲CIF
̲Q ̲REF)
(LOG ̲CIF ̲VIEW ̲REF)
CASE SEND ̲REPLY (SUPQ ̲PARAMS, NIL, COLL ̲QEL)
(CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
Figure 4.2.1.4.2.5-2
PROCESS SUPERVISOR COMMAND
P̲R̲O̲C̲E̲S̲S̲ ̲T̲I̲M̲E̲O̲U̲T̲
NO ̲OF ̲LOG ̲RECORDS EQ O?
COLLECT ̲BUF ̲INDEX NE 1? PUT ̲LOG ̲DATA ( ) (
)
PUT LOG ̲CIF (LOG ̲CIF ̲FIELD ̲LIST ̲2, LOG ̲CIF
̲VIEW ̲REF) 6
STORE ̲LOG ̲CIF (LOG ̲CIF ̲VIEW ̲REF, NO ̲OF ̲LOG
̲RECORDS) 7
PRINT ̲LOG ̲CIF (LOG ̲CIF ̲VIEW ̲REF) 10
CREATE ̲NEW ̲LOG-CIF (LOG ̲CIF ̲ATTRIBUTES, LOG
̲CIF ̲Q ̲REF)
(LOG ̲CIF ̲VIEW ̲REF)
Figure 4.2.1.4.2.5-3
PROCESS TIMEOUT
B̲U̲F̲F̲E̲R̲ ̲F̲U̲L̲L̲
PUT ̲LOG ̲CIF(LOG ̲CIF ̲FIELD ̲LIST ̲2, LOG ̲CIF ̲VIEW
̲REF) 6
NO ̲OF ̲LOG ̲RECORDS LT MAX ̲CIF ̲LOGS?
STORE ̲LOG ̲CIF (LOG ̲CIF ̲VIEW ̲REF, NO ̲OF ̲LOG ̲RECORDS)
7
PRINT ̲LOG ̲CIF (LOG ̲CIF ̲VIEW ̲REF) 10
DISMANTLE ̲REQUEST (LOG ̲CIF ̲VIEW ̲REF, VIEW)
CREATE ̲NEW ̲LOG ̲CIF (LOG ̲CIF ̲ATTRIBUTES, LOG ̲CIF
̲Q ̲REF)
(LOG ̲CIF ̲VIEW ̲REF)
Fig. 4.2.1.4.2.5-4
BUFFER FULL
P̲R̲O̲C̲E̲S̲S̲ ̲S̲S̲C̲ ̲C̲O̲M̲M̲A̲N̲D̲
COLL ̲QEL ̲ATTR.HEADER.SUBTYPE NE CLOSE ̲DOWN?
SEND GARBLE
Any SSC-command is Close ̲Down.
CLOSE ̲DOWN = TRUE
NO ̲OF ̲LOG ̲RECORDS EQ 0?
PUT ̲LOG ̲CIF (LOG ̲CIF ̲FIELD ̲LIST ̲2, LOG ̲CIF ̲VIEW
̲REF) 6
STORE ̲LOG ̲CIF (LOG ̲CIF ̲VIEW ̲REF, NO ̲OF ̲LOG ̲RECORDS)
7
CASE SEND ̲REPLY (SSC ̲PARAMS, NIL, COLL ̲QEL)
(CC):
ERROR? ANALYSE ̲ERROR (CC, 0)
OK?
END CASE
Figure 4.2.1.4.2.5-5
PROCESS SSC COMMAND
PUT ̲LOG ̲CIF (LOG ̲CIF ̲FIELD ̲LIST ̲2: FIELD ̲LIST,
LOG ̲CIF ̲VIEW ̲REF: QEL ̲REFERENCE)
CASE WRITE ̲VIEW (CIF ̲WRITE ̲SIZE,
LOG ̲CIF ̲FIELD ̲LIST ̲2,
LOG ̲CIF ̲VIEW ̲REF,
COLLECT ̲BUFFER.RECS)
(CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
CASE SAVE ̲VIEW (FALSE, LOG ̲CIF ̲VIEW
̲REF)
(CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
COLLECT ̲BUFFER.HEADER.COLL ̲BUF ̲INDEX = 1
Same new index value.
PUT ̲LOG ̲DATA ( ) ( )
RETURN
Figure 4.2.1.4.2.4-6
PUT LOG CIF
STORE ̲LOG ̲CIF (LOG ̲CIF ̲VIEW ̲REF: QEL
̲REFERENCE,
NO
̲OF
̲LOG
̲RECORDS:
INTEGER)
H̲A̲N̲D̲L̲E̲ ̲C̲I̲F̲ ̲H̲E̲A̲D̲E̲R̲ ̲ 8
S̲E̲N̲D̲ ̲T̲O̲ ̲S̲A̲R̲ 9
RETURN
Figure 4.2.1.4.2.5-7
STORE LOG CIF
H̲A̲N̲D̲L̲E̲ ̲C̲I̲F̲ ̲H̲E̲A̲D̲E̲R̲
LOG ̲CIF ̲HEADER. NO ̲OF ̲LOG ̲RECORDS =
COLLECT ̲BUFFER.HEADER.NO ̲OF ̲LOG ̲RECORDS
LOG ̲CIF ̲HEADER.ITEM ̲REF =
LOG ̲CIF ̲ATTRIBUTES.NAME.CIF ̲ID.LEAST
Other Parameters are always loaded
LOAD LOG ̲CIF ̲HEADER ̲FIELD ̲LIST
CASE WRITE ̲VIEW (HEADER ̲WRITE ̲SIZE,
LOG ̲CIF ̲HEADER ̲FIELD ̲LIST,
LOG ̲CIF ̲VIEW ̲REF,
LOG ̲CIF ̲HEADER)
(CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
Figure 4.2.1.4.2.5-8
HANDLE CIF HEADER
S̲E̲N̲D̲ ̲T̲O̲ ̲S̲A̲R̲
CASE SEND ̲QEL (SAR ̲SEND ̲PARAMS,
LOG ̲CIF ̲VIEW ̲REF,
SAR ̲QUEUE)
(CC):
ERROR? - ANALYSE ̲ERROR (CC, O)
OK?
END CASE
Figure 4.2.1.4.2.5-9
SEND TO SAR
PRINT ̲LOG ̲CIF (LOG ̲CIF ̲VIEW ̲REF: QEL ̲REFERENCE)
CASE SEND ̲QEL (TEP ̲PARAMS, LOG ̲CIF ̲VIEW ̲REF,
TEP ̲PRINT ̲Q)
(CC):
ERROR? --ANALYSE ̲ERROR (CC,0)
OK?
END CASE
RETURN
Figure 4.2.1.4.2.5-10
PRINT LOG CIF
4.2.1.5 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
TYPE START ̲UP ̲TYPE: INTEGER
The start up type, given by SSC, indicates the
start up.
TYPE CC : COMPLETION ̲CODE
TYPE CLOSE ̲DOWN : BOOLEAN
This is a flag indicating that a close down is
received from SSC.
L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
TYPE COLL ̲QEL ̲ATTR : QEL ̲ATTRIBUTES
TYPE COLL ̲QEL : QEL ̲REFERENCE
TYPE COLL ̲SUBQ : SUBQUEUE ̲INDEX
VAR COLLECT ̲BUFFER : COLLECT ̲BUFFER ̲TYPE
The collect buffer is used to collect the incoming
log records.
VAR COLL ̲BUF ̲INDEX : COLL ̲BUF ̲INDEX ̲TYPE
Is a pointer to the collect buffer.
VAR BUF ̲SIZE : INTEGER
Buf size is the size of one log record.
VAR IN ̲Q : QUEUE ̲REFERENCE
VAR CMD ̲Q : QUEUE ̲REFERENCE
INIT CMD ̲Q.MAIN ̲QUEUE = SYSTEM ̲Q
CMD ̲Q.SUB ̲QUEUE = IN ̲COMM ̲Q
VAR SSC ̲PARAMS : SEND ̲PARAMS
INIT SSC ̲PARAMS.INFORMATION ̲TYPE = FALSE
INIT SSC ̲PARAMS.CHECKP ̲STATUS = FALSE
INIT SSC ̲PARAMS.HEADER.MAINTYPE = ACK
INIT SSC ̲PARAMS.HEADER.SUBTYPE = LOG ̲ACK
INIT SSC ̲PARAMS.HEADER.FLAGS = 0
VAR SUPV ̲PARAMS : SEND ̲PARAMS
INIT SUPV ̲PARAMS.CHECKP ̲STATUS = FALSE
INIT SUPV ̲PARAMS.HEADER.SUBTYPE = LOG ̲CIF
̲ACK
INIT SUPV ̲PARAMS.HEADER.MAINTYPE = ACKNOWLEDGE
INIT SUPV ̲PARAMS.HEADER.FLAGS = 1
INIT SUPV ̲PARAMS.INFORMATION ̲TYPE = TRUE
INIT SUPV ̲PARAMS.HEADER.INF = LOG ̲CIF
̲REQUEST
VAR ERR ̲INFO : ERROR
̲INF
INIT ERR ̲INFO QERROR ̲INF.RECEIVING ̲Q = TBD
INIT ERR ̲INFO QERROR ̲INF.ORIGINAL ̲SENDER= TBD
INIT ERR ̲INFO QERROR ̲INF.USER ̲CC = TBD
VAR APP ̲PARAMS : SEND ̲PARAMS
INIT APP ̲PARAMS.HEADER.SUBTYPE = LOG COLLECT
ACK
INIT APP ̲PARAMS.HEADER.MAINTYPE = ACKNOWLEDGE
INIT APP ̲PARAMS.HEADER.FLAGS = 1
INIT APP ̲PARAMS.HEADER.INFORMATION ̲TYPE = FALSE
INIT APP ̲PARAMS.CHECKP ̲STATUS = FALSE
VAR TEP ̲PARAMS : SEND ̲PARAMS
INIT TEP ̲PARAMS.CHECKP ̲STATUS = LOG ̲CIF
INIT TEP ̲PARAMS.HEADER.SUBTYPE = CIF ̲ON
̲REQUEST
INIT TEP ̲PARAMS.HEADER.FLAGS = ONLY ̲CIF
VAR SAR ̲SEND ̲PARAMS : SEND ̲PARAMS
INIT SAR ̲SEND ̲PARAMS.INFORMATION ̲TYPE = FALSE
INIT SAR ̲SEND ̲PARAMS.CHECKP ̲STATUS = TRUE
INIT SAR ̲SEND.PARAMS.HEADER.MAINTYPE = LOG CIF
INIT SAR ̲SEND ̲PARAMS.HEADER.SUBTYPE = LOG ̲FROM
̲LOG
TO ̲SAR
INIT SAR ̲SEND ̲PARAMS.HEADER.FLAGS = 0
VAR SAR ̲QUEUE : QUEUE
̲REFERENCE
INIT SAR ̲QUEUE.MAINQUEUE = ISQ
INIT SAR ̲QUEUE.SUB ̲QUEUE = SUB ̲Q
̲0
VAR TIM ̲PARAMETER : REQUEST
̲TIME ̲RELATIV;
INIT TIM ̲PARAMETER.TIME ̲OUT ̲KIND = K ̲RELATIV;
INIT TIM ̲PARAMETER.QUEUE.MAIN ̲QUEUE = SYSTEM
̲QUEUE
INIT TIM ̲PARAMETER.QUEUE.SUB ̲QUEUE = TIM ̲Q
INIT TIM ̲PARAMETER.TIMEOUT = PERIODIC INIT TIM
̲PARAMETER.FORMAT = MINUTES
INIT TIM ̲PARAMETER.TIME = 10
INIT TIM ̲PARAMETER.EVENT ̲ID = 0
VAR LOG ̲FSN : FILE ̲SYSTEM
̲
Initialized to FSN of file system NAME
for fixed head mirrored disk.
VAR LOG ̲VOLN : VOLUME
̲NAME
Initialized to volume name of fixed head mirrored
disk.
VAR LOG ̲ROOT ̲FD : FDCB ̲INDEX
VAR LOG ̲SAVE ̲FD : FDCB ̲INDEX
VAR LOG ̲SAVE ̲FILENAME : FILE ̲NAME
Initialized to LOG ̲SAVE file name
VAR LOG ̲SAVE ̲FILEADDRESS : FILE ̲ADDRESS
Initialized to
FIRST ̲BYTE : 0
BYTE ̲COUNT : Size of
COLLECT
̲BUFFER
in bytes
VAR COLLECT ̲BUFFER ̲BLE : BUFFER
̲LIST ̲
Initialized to point to ELEMENT
COLLECT ̲BUFFER
VAR LOG ̲CIF ̲ATTRIBUTES : VIEW ̲ATTRIBUTES
Initialized with attributes of LOG ̲CIF
VAR LOG ̲CIF ̲Q ̲REF : QUEUE
̲REFERENCE
INIT LOG ̲CIF ̲Q ̲REF.MAIN ̲QUEUE = SYSTEM
̲Q
LOG ̲CIF ̲Q ̲REF.SUB ̲QUEUE = IN ̲LOG
̲Q
VAR LOG ̲CIF ̲VIEW ̲REF : VIEW ̲REFERENCE
VAR LOG ̲CIF ̲FIELD ̲LIST ̲2 : FIELD
̲LIST
VAR CIF ̲WRITE ̲SIZE : INTEGER
Initialized to SIZE OF COLLECT ̲BUFFER.RELS B
VAR LOG ̲CIF ̲HEADER : LOG ̲CIF
̲ADM ̲FIELD
Initialized classification, special handling
and exercise to UNCLASSIFIED, No special handling,
exercise = 0,
VAR LOG ̲CIF ̲HEADER ̲FIELD ̲LIST : FIELD
̲LIST
VAR HEADER ̲WRITE ̲SIZE : INTEGER
Initialized to LOG ̲CIF ̲HEADER
TYPE INTERNAL ̲LOG ̲REC ̲TYPE =
RECORD
LOG ̲TYPE : LOG ̲RECORD ̲TYPE;
LOG ̲TIME : TIME ̲TYPE;
BUF : ARRAY (1..MAX ̲LOG ̲REC ̲SIZE) OF INTEGER
END
TYPE COLLECT ̲BUFFER ̲TYPE =
RECORD
HEADER : COLLECT ̲CONTROL ̲HEADER ̲TYPE
RECS : ARRAY (1..COLLECT ̲BUFFER ̲NO ̲OF ̲LOG
̲RECORDS) OF INTERNAL ̲LOG ̲REC ̲TYPE
END
TYPE COLL ̲BUF ̲INDEX ̲TYPE =
(0..COLLECT ̲BUFFER ̲NO ̲OF ̲LOG ̲RECORDS)
TYPE COLLECT ̲CONTROL ̲HEADER ̲TYPE =
RECORD
NO ̲OF ̲LOG ̲RECORDS : (0..MAX ̲CIF ̲LOGS);
COLL ̲BUF ̲INDEX : COLL ̲BUF ̲INDEX ̲TYPE
END
C̲o̲n̲s̲t̲a̲n̲t̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲s̲
MAX ̲LOG ̲REC ̲SIZE =26
TYPE ̲TIME ̲SIZE = 3
The size of LOG ̲TYPE + LOG ̲TIME in bytes.
COLLECT ̲NO ̲OF ̲LOG ̲RECORDS = 8
MAX ̲CIF ̲LOGS =558
max numbers of log records in one CIF
TIME ̲OUT =10
max time between storage of log records
Please note that
TIME ̲OF ̲DELETION = LOG ̲TIME
END ̲OF ̲TRANSMISSION ̲TIME= LOG ̲TIME
RECEPTION ̲TIME = LOG ̲TIME
TIME ̲OF ̲EVENT = LOG ̲TIME
4.2.1.6 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
F̲l̲o̲w̲c̲h̲a̲r̲t̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
1) C̲r̲e̲a̲t̲e̲ ̲N̲e̲w̲ ̲L̲o̲g̲ ̲C̲I̲F̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.6-1.
A new log CIF is created and the log of field list
is initialized.
2) P̲u̲t̲ ̲L̲o̲g̲ ̲D̲a̲t̲a̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.6-2.
The collected log records and the buffer header
is stored on the fast disk log file.
3) D̲i̲s̲m̲a̲n̲t̲l̲e̲ ̲R̲e̲q̲u̲e̲s̲t̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer fig. 4.2.1.6-3.
This procedure dismantles the object referenced
by the QEL ̲REF. Input parameters are QEL ̲REF and
OBJECT.
4) D̲i̲s̲m̲a̲n̲t̲l̲e̲ ̲V̲i̲e̲w̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.6-4.
The log CIF view is closed and dismantled.
5) D̲i̲s̲m̲a̲n̲t̲l̲e̲ ̲B̲u̲f̲f̲e̲r̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ - Refer to fig. 4.2.1.6-5
The log record buffer is dismantled.
6) D̲i̲s̲m̲a̲n̲t̲l̲e̲ ̲Q̲E̲L̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ ̲ - Refer to fig. 4.2.1.6-6
The actual queue element is dismantled.
CREATE ̲NEW ̲LOG ̲CIF (LOG ̲CIF ̲ATTRIBUTES: QEL ̲ATTRIBUTES,
LOG ̲CIF ̲Q ̲REF: QUEUE ̲REFERENCE)
(LOG ̲CIF ̲VIEW ̲REF: QEL ̲REFERENCE)
CASE CREATE ̲CIF (LOG ̲CIF ̲ATTRIBUTES,
LOG ̲CIF ̲Q ̲REF)
(LOG ̲CIF ̲VIEW ̲REF, CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
CASE OPEN ̲VIEW (LOG ̲CIF ̲VIEW ̲REF)
(CC):
ERROR? ANALYSE ̲ERROR (CC, 0)
OK?
END CASE
INITIALIZE LOG ̲CIF ̲FIELD ̲LIST ̲2
RETURN
Figure 4.2.1.6-1
CREATE NEW LOG CIF
PUT ̲LOG ̲DATA ( ) ( )
Store COLLECT ̲BUFFER on fast disk log file
CASE MODIFYBYTES (LOG ̲SAVE ̲FD, LOG ̲SAVE ̲FILEADDRESS,
COLLECT ̲BUFFER ̲BLE)
(LOG ̲SAVE ̲FILEADDRESS, CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
RETURN
Figure 4.2.1.6-2.
PUT LOG DATA
DISMANTLE REQUEST (QEL ̲REF: QEL ̲REFERENCE,
OBJECT: OBJECT ̲TYPE)
CASE OBJECT OF
VIEW? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲V̲I̲E̲W̲ 4
BUFFER? D̲I̲S̲M̲A̲N̲T̲L̲E̲
̲B̲U̲F̲F̲E̲R̲
5
TIMEOUT, SINGLE? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ 6
END CASE
Figure 4.2.1.6-3
DISMANTLE REQUEST
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲V̲I̲E̲W̲
CASE CLOSE ̲VIEW (QEL-REF)
(CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
CASE DISMANTLE ̲VIEW (QEL ̲REF)
(CC):
ERROR? ANALYSE ̲ERROR (CC,O)
OK?
END CASE
Figure 4.2.1.6-4
DISMANTLE VIEW
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲B̲U̲F̲F̲E̲R̲
CASE DISMANTLE ̲BUFFER (COLL ̲QEL)
(CC):
ERROR? ANALYSE ̲ERROR (CC, O)
OK?
END CASE
Figure 4.2.1.6-5
DISMANTLE BUFFER
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲
CASE DISMANTLE ̲QEL (COLL ̲QEL)
(CC):
ERROR? ANALYSE ̲ERROR (CC,O)
OK?
END CASE
Figure 4.2.1.6-6
DISMANTLE QEL
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 C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲ ̲F̲l̲a̲g̲
When a close-down-command is received from SSC, the
close-down-flag is set to true.
The close-down-flag is reset during start-up The flag
is used by both subpackages to identify a close-down-action
in progress.