top - download
⟦d93ab7f1f⟧ Wang Wps File
Length: 54008 (0xd2f8)
Types: Wang Wps File
Notes: FIX/1155/PSP/0093
Names: »4905A «
Derivation
└─⟦1f5010eea⟧ Bits:30006143 8" Wang WCS floppy, CR 0473A
└─⟦this⟧ »4905A «
WangText
…00……00……00……00……00……15……02……00……00……15…
…15……05……14……08……12……02……11……08……11……0e……10……09……10……0b……10……01……10……07……0f……0e……0f……02……0e……08……86…1 …02… …02… …02…
4905A/jjj…02…FIX/1155/PSP/0093
…02…JJJ/880627…02……02… #
FIKS SFS SUBSYSTEM PSP
…02…OK/840511…02… FK 7809
FIKS SFS SUBSYSTEM PSP
FIX/1155/PSP/0093
J. J. Jensen
Gottlob Borup
FMK (6), CR (4)
…0e… FIKS S/W Mgr. 880627
1.1
880627
4905A/jjj…02… FIX/1155/PSP/0093
…02… JJJ/880627…02……02… ii
FIKS SFS SUBSYSTEM PSP
…02……02… FK 7809
840511 All Issue one of Document
880627 DCN1 Changed in accordance
with Contract No. 7Y5010
FIKS-FOD CCIS LINK and.
Order No. 12/88
4905A/jjj…02… FIX/1155/PSP/0093
…02… JJJ/840511…02……02… iii
FIKS SFS SUBSYSTEM PSP
…02……02… FK 7809
T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲
1 SCOPE ........................................
1
1.1 INTRODUCTION ..............................
1
2 APPLICABLE DOCUMENTS .........................
3
2.1 SYSTEM SOFTWARE ...........................
3
2.2 FIKS DOCUMENTATION ........................
3
3 MODULE SPECIFICATION .........................
5
3.1 FUNCTIONAL CAPABILITIES ...................
5
3.1.1 Distribution Commands ..................
5
3.1.2 Supervision Commands ..................
6
3.1.3 Control Commands ......................
10
3.1.4 Online Table Handling Commands ........
13
3.2 INTERFACE DESCRIPTIONS ....................
15
3.2.1 Man Machine Interface .................
15
3.2.2 Subsystem Interfaces ..................
16
3.2.3 Interfaces To Files ...................
17
3.2.4 Interfaces To Critical Regions ........
17
3.3 PROCESSING ................................
18
3.3.1 Procedure DISTRIBUTE Processing .......
19
3.3.2 Procedure SUPERVISION Processing ......
22
3.3.3 Procedure CONTROL Processing ..........
26
3.3.4 Procedure NPDN ̲CONNECTION Processing ..
29
3.3.5 Procedure TABLE ̲HANDLING Processing ...
29
3.3.6 Procedure USP ̲TABLE ̲HANDLING
Processing ............................
32
3.3.7 Procedure DSP ̲Q ̲ST Processing .........
33
3.3.8 Procedure INT ̲TERM Processing .........
34
3.3.9 Procedure INVOKE ̲SAF ̲WAIT Processing ..
35
3.4 DATA ORGANIZATION .........................
35
3.5 STORAGE ALLOCATION ........................
35
3.6 PERFORMANCE CHARACTERISTICS ...............
35
3.7 LIMITATIONS ...............................
36
3.8 ERROR CODES/ERROR LABELS ..................
36
4 QUALITY ASSURANCE ............................
36
5 PREPARATION FOR DELIVERY .....................
36
6 DRAWINGS .....................................
36
1 S̲C̲O̲P̲E̲
This document contains an as-built product specification
of the Supervisory Functions Subsystem module (the
SFS).
The SFS is a module within the terminal process, and
its functions are to support the interactive supervisory
functions of the terminal process.
This module makes use of several procedures and data
areas belonging to other modules. It is therefore a
prerequisite that the reader is familiar with the structuring
of the terminal process, and the various functions
of it. Detailed descriptions can be found in ref. 7
and 8.
Some supervisory commands require processing in the
subsystems DTS and SAF. For the full understanding
of the processing behind these commands, the reader
should have the product specifications of DTS (ref.
9) and SAF (ref. 10) within reach. Please note that
all drawings are placed in chapter 6.
1.1 I̲N̲T̲R̲O̲D̲U̲C̲T̲I̲O̲N̲
The supervisory functions supported by this module
are a subset of the set of terminal functions available
on a N/M.
Common for these functions are, that they are only
available for operators of the type "SUPERVISOR" or
"SUPERVISOR ASSISTANT". Operators of lower classification
than these are not allowed to use the functions. (An
attempt to use them will cause a display of the error
code: "UNKNOWN COMMAND".)
Further the supervisory commands are only available
on a subset of the terminals. A flag in the terminal
control block of a terminal determines, whether the
terminal must be used for supervisory functions or
not.
For further information about user classifications
and terminal capability profiles: please refer to ref.
7.
The commands supported by SFS are in short:
D̲i̲s̲t̲r̲i̲b̲u̲t̲i̲o̲n̲ ̲c̲o̲m̲m̲a̲n̲d̲s̲:
DDT Local distribution of DT-messages
REE Reenter DT-messages to network.
S̲u̲p̲e̲r̲v̲i̲s̲i̲o̲n̲ ̲c̲o̲m̲m̲a̲n̲d̲s̲:
DAL Display alarm
DQS Display queue status
PMJ Print message journal
PML Print message log
PST Print 24 hour statistics
OPC Open FIKS-FODCCIS Link
CLC Close FIKS-FODCCIS Link
C̲o̲n̲t̲r̲o̲l̲ ̲c̲o̲m̲m̲a̲n̲d̲s̲:
BLT Block terminal
UBT Unblock terminal
INT Interrogate terminal
ROQ Reorganize a terminal queue
REQ Relocate queue elements at a terminal
RRT Reroute terminal traffic
RET Reestablish terminal traffic
NPD NPDN dial-up
NPC NPDN close-down
OPT Open trunk
CLT Close trunk
O̲n̲-̲l̲i̲n̲e̲ ̲t̲a̲b̲l̲e̲ ̲h̲a̲n̲d̲l̲i̲n̲g̲ ̲c̲o̲m̲m̲a̲n̲d̲s̲:
DOI: Display ANO table
DOT: Update ANO table
DUR: Data user reconfiguration
DRT: Routing table update
ESM: Security interrogation
2 A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲
2.1 S̲Y̲S̲T̲E̲M̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲
1) CR80 AMOS KERNEL PRODUCT SPECIFICATION
CSS/302/PSP/0008
2) CR80 AMOS I/O SYSTEM PRODUCT SPECIFICATION
CSS/006/PSP/0006
3) CR80 AMOS FILE MANAGEMENT SYSTEM
SYSTEM PRODUCT SPECIFICATION
4) CSS/920/SPS/0001
5) CR80 MINI COMPUTER HANDBOOK
2.2 F̲I̲K̲S̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲A̲T̲I̲O̲N̲
6) FIKS DATA INTERFACE REFERENCE
FIX/0100/MAN/0004
7) TEP SUBSYSTEM PSP
FIX/1151/PSP/0099
8) MES SUBSYSTEM PSP
FIX/1164/PSP/0060
9) DTS SUBSYSTEM PSP
FIX/1200/PSP/107
10) SAF SUBSYSTEM PSP
FIX/1155/PSP/0088
11) FIKS FILE GENERATORS PSP
FIX/1200/PSP/0042
12) REQUIREMENTS SPECIFICATIONS
FIX/000/SPC/0002
13) RDF MONITOR PSP
FIX/1256/PSP/0081
14) SRR SUBSYSTEM PSP
FIX/1153/PSP/0096
15) JOURNAL SUBSYSTEM PSP
FIX/1256 /PSP/0057
16) PSM PROCEDURE PSP
FIX/1200/PSP/0076
17) System Design Specification for the
FIKS/FOD-CCIS Link, FXA/SDS/001
18) DOI SUBSYSTEM PSP
FIX/1155/PSP/0115
3 M̲O̲D̲U̲L̲E̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲S̲
3.1 F̲U̲N̲C̲T̲I̲O̲N̲A̲L̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲I̲E̲S̲
In this section a short description of each command
is given. A detailed description of how the commands
are executed is given in section 3.3.
3.1.1 D̲i̲s̲t̲r̲i̲b̲u̲t̲i̲o̲n̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
Concerns the operation of narrative messages, which
have been queued into the DT-queue, due to an error
in the delivery of the message. Messages in the DT-queue
are handled by the operator by the commands DDT and
REE.
D̲D̲T̲: This command is entered if the operator wants
to distribute the DT-message to one or more
terminals local to the N/M, (or if he wants
to delete the message). When the command is
entered the operator will be prompted with
"DT ENTRY NO ̲". The number attached to the
actual DT-message (the number on the hard-copy
of the DT-message) is typed in, and the terminal
will then response by displaying the message
ID of the message (if it is found) and then
prompt the operator with "DIST TO ̲". Operator
inputs terminal ID and optionally no of copies
for each of the terminals which are going to
receive the message. The command is now executed.
If the operator answers to DIST ̲
TO by a carriage return, he will be prompted
with "DELETE ̲". If a "Y" is entered, the message
will be deleted, otherwise the situation is
the same as before the DDT command was entered.
R̲E̲E̲: This command is entered if the operator wants
to reenter the message into the FIKS network
again. The command is only allowed if the DT-message
in question was delivered to the DT-queue due
to failed delivery to other FIKS N/M's or SCC.
(ex. a Nodal error). When the command is entered,
the operator will be prompted for "DT ENTRY
NO ̲". The number of the DT-message to be reentered
is typed in, and if found, the terminal displays
the message ID of the message and issues the
prompt "REENTER ̲". If the operator answers
with "Y", the message is reentered to the network
with a routing mask equal to the one it had,
when the message was queued to the DT-queue
(meaning, that the message by the NSS subsystem
is routed to the N/M's, which have not yet
received the message). If the operator answers
by a carriage return, he will be prompted with
"DELETE ̲". If a "Y" is entered, the message
will be deleted. Otherwise the situation will
be the same as before the REE command was entered.
For further details about DT-messages:
please refer to ref.9.
The processing of DDT and REE commands takes
place in the DISTRIBUTION procedure, ref. chapter
3.3.1
3.1.2 S̲u̲p̲e̲r̲v̲i̲s̲i̲o̲n̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
The supervision commands are tools to retrieve information
and statistics on different parts of the operational
N/M.
a) D̲i̲s̲p̲l̲a̲y̲ ̲a̲l̲a̲r̲m̲
The DAL procedure display on the supervisory terminal,
alarms from the alarm/alert queue (AL). Each time
the DAL command is entered, the oldest alarm in
the queue is displayed. (The queue is able to hold
50 alarms. If alarms are inserted in a full queue,
the oldest alarms are deleted).
Alarms are enqueued to the AL-queue from different
subsystems when one of the following events occur:
1. Unsuccessfully logon/logoff
2. Wrong password in USP ̲UPDATE
3. Unsuccessfull security interrogation
4. Failed delivery of SH-message to terminal due
to wrong password
5. SH message enqueued to terminal without SH-authorization
6. SH message timeout
7. User classification too low
8. No is answered on password
9. Print queue overflow
10. Flash message to not logged on terminal
11. MTCB use count overflow
12. Long line detected at terminal
13. NPDN setup failure
14. NPDN closedown failure
15. NPDN setup established
16. NPDN closedown established
17. Orbiting control message deleted
18. Control message, destination not available
19. FIKS-FODCCIS Link open/close ok/not ok
20. FIKS-FODCCIS Link failure
The displayed alarm text contains the following information
when available:
1. Alarm event text
2. Terminal ID
3. Trunk ID
4. User ID
5. Print queue ID
6. DTG
The exact layout of the alarm text is defined in the
file ATT (alarm text table) ref. 11.
b) D̲i̲s̲p̲l̲a̲y̲ ̲q̲u̲e̲u̲e̲ ̲s̲t̲a̲t̲u̲s̲
The DQS procedure displays on the supervisory terminal
the queue status on any existing terminal at the
same N/M. The format of the display follows the
format of the permanent queue status lines on a
terminal:
- Display queues
- AX Auxiliary
- CO Coordination
- RL Release
- RT Retrieve
- SH SH-message delivery
- Print queues
- Z
- Y
- O Message delivery queues
- P
- M
- R
- LP Other printouts
- Supervisory queues
- AL Alarm
- DT Distribution
The queue status of the terminal is obtained by
entering the command DQS. The operator will then
be prompted with "TERMINAL ID ̲". When the 3-letter
ID is entered, the above described queue status
is displayed. (The terminal to be monitored can
have any status: logged on, logged off, blocked,
etc.)
c) P̲r̲i̲n̲t̲ ̲m̲e̲s̲s̲a̲g̲e̲ ̲j̲o̲u̲r̲n̲a̲l̲
Different actions performed on messages are logged
by activating the JOURNAL process which writes
the log onto the PMJ-file. By the command PMJ,
a printout of this file is initiated. After printout,
the pointers to the PMJ-file are preset, meaning
that next log printout will contain logs from this
moment. The message journal file may contain transactions
corresponding to 10 busy hours. (If the PMJ is
getting full, an error message of the type "WARNING"
will be printed on the operator console).
The parametres logged by the message journal are:
Time of event, DTG
Message identification, MSG ID
Type of event
Terminal ID
d) P̲r̲i̲n̲t̲ ̲m̲e̲s̲s̲a̲g̲e̲ ̲l̲o̲g̲
The PML procedure supports the printout from any
of the supervisory terminals of the message log.
The message log is queued for printout in the SRR
input queue upon operator request.
The message log gives information about the messages
on the HDB for the last 24 hours.
The log information consists of the following items:
- Retrival time
- Message identification, MSG ID
- Subject indicator codes, SIC
- Classification, CLASS
- Precedence.
The PRINT MESSAGE LOG is entered by the command
PML.
e) P̲r̲i̲n̲t̲ ̲s̲t̲a̲t̲i̲s̲t̲i̲c̲s̲
The PST procedure supports the printout, at the
N/M supervisor, of the 24 hours N/M statistics
generated at the SCC.
The statistical output is delivered to the N/M
supervisor's AX queue as soon as it is generated
at the SCC.
The statistics contain information about the released
and received messages for the actual N/M.
The information is
- M̲e̲s̲s̲a̲g̲e̲ ̲r̲e̲l̲e̲a̲s̲e̲d̲
class/precedence/No. of messages/No. of ANOs/No.
of characters
- M̲e̲s̲s̲a̲g̲e̲ ̲r̲e̲c̲e̲i̲v̲e̲d̲ (from the trunks)
class/precedence/No. of messages/No. of characters.
The PRINT 24 HOURS STATISTICS are entered by the
command PST.
f) O̲p̲e̲n̲/̲C̲l̲o̲s̲e̲ ̲F̲I̲K̲S̲-̲F̲O̲D̲C̲C̲I̲S̲ ̲L̲i̲n̲k̲
The OPC/CLC commands enable the supervisor, in
case a FIKS-FODCCIS Link is connected to the local
Node/MEDE, to open/close this one.
3.1.3 C̲o̲n̲t̲r̲o̲l̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
The control commands enables the supervisor/assistant
to control the terminals, and the trunk lines of a
N/M.
a) B̲l̲o̲c̲k̲/̲U̲n̲b̲l̲o̲c̲k̲
The BLT/UBT commands enables the supervisory operators
to disconnect (block) terminals logically and to
connect (unblock) terminals logically.
"BLOCKING" implies an automatic log-off of the
terminal, and subsequent log-on is not possible
(as long as the terminal has the status "BLOCKED").
"UNBLOCKING" implies that a blocked terminal is
still logged off, but log-on is now allowed.
b) S̲e̲c̲u̲r̲i̲t̲y̲ ̲i̲n̲t̲e̲r̲r̲o̲g̲a̲t̲i̲o̲n̲
The ISI function gives the supervisory operators
the possibility of initiating security interrogation
of one specific terminal. The command can only
be performed on terminals which are not blocked
and not in "RECEIVE ONLY" mode.
The security interrogation of a terminal implies
that when the terminal is logged on or when the
operator have finished a command session and again
enters the "PROMPT ̲" mode, the operator is security
interrogated: The text "SECURITY INTERROGATION"
is displayed and the operator is prompted for user-ID
and password. If the operator gives the correct
answers he is allowed to continue operation. Otherwise
the terminal is blocked and an alarm is issued
(to the supervisory terminals AL-queue). Further,
the event is logged on the journal log (ref. PMJ
command).
c) R̲e̲o̲r̲g̲a̲n̲i̲z̲e̲ ̲q̲u̲e̲u̲e̲
The ROQ Procedure helps the supervisory operators
to move a specified queue element from its present
position to the first or last position within the
queue specified.
The terminal queues in question are:
- Display queues
- CO Coordination queue
- RL Release queue
- RT Retrieve queue
- AX Auxiliary queue (print out of 24 hours
statistics)
- SH Special Handling
- Print queues
- Z
- Y
- O
- P Message delivery
- M
- R
- LP Log print
d) R̲e̲l̲o̲c̲a̲t̲e̲ ̲q̲u̲e̲u̲e̲ ̲e̲l̲e̲m̲e̲n̲t̲s̲
The REQ procedure supports the supervisory operators
in appending the queue elements starting with n
in a terminal queue at terminal A to corresponding
queue at terminal B
The terminal queues in question are the same as
for ROQ.
e) R̲e̲r̲o̲u̲t̲e̲ ̲t̲e̲r̲m̲i̲n̲a̲l̲ ̲t̲r̲a̲f̲f̲i̲c̲
The RRT procedure helps the supervisory operators
in rerouting terminal traffic. It appends all present
and future messages to terminal A to corresponding
queues at terminal B.
The terminal queues in operation are the same as
for ROQ.
The queue control procedures only act upon queue
elements, which are not active.
Only one terminal at a time is able to operate
on a given queue item.
In the ROQ and REQ commands this is assured by
the …02…Q ̲ACCESS procedure.
In the RRT command the SAF process handles the
rerouting as an entity for each terminal and thereby
assures the synchronization.
f) R̲e̲e̲s̲t̲a̲b̲l̲i̲s̲h̲ ̲T̲e̲r̲m̲i̲n̲a̲l̲ ̲T̲r̲a̲f̲f̲i̲c̲
The RET procedure helps the supervisory operators
in reestablishing terminal traffic. It redirects
future terminal traffic back to original terminal,
i.e. the procedure cancels the RRT.
No transfer of earlier rerouted messages takes
place.
g) N̲P̲D̲N̲ ̲d̲i̲a̲l̲-̲u̲p̲/̲c̲l̲o̲s̲e̲-̲d̲o̲w̲n̲
The NPD procedure enables the supervisors to connect
two Nodes with an NPDN line. The connection may
be reaction to a trunk that is out of order. The
NPC procedure allowes the supervisors to close
down an already established NPDN connection.
The dial up/close down requests are sent to the
Nodal Switch Subsystem, which communicates to the
LTUs handling the NPDN lines.
As an acknowledgement to the dial up/close sown
request the NSS sends an alarm, defining the result
of the request.
h) O̲p̲e̲n̲/̲c̲l̲o̲s̲e̲ ̲t̲r̲u̲n̲k̲s̲
The OPT/CLT commands enables the supervisory operators
to open and close the trunk lines connected to
a N/M. These commands are the same as the corresponding
SCC commands, except that the N/M operator only
is allowed to operate on trunk lines connected
to that N/M.
3.1.4 O̲n̲-̲l̲i̲n̲e̲ ̲T̲a̲b̲l̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
This set of commands enables the supervisory operator
to inspect and make online updates on addressing, routing
tables, and user profile tables. Further, a command
for reconfiguration of data user traffic is supported.
a) D̲i̲s̲p̲l̲a̲y̲ ̲A̲N̲O̲ ̲t̲a̲b̲l̲e̲ (DOI)
A table containing 100 entries in a 10x10 matrix
is displayed. The table shows the relationship
between ANO-numbers (of this N/M) and terminal
IDs. Each entry in the table identifies a terminal
ID (3 characters). (Ex.: the terminal ID corresponding
to ANO number 035 is found in the entry described
by row number 5 and line number 30).
b) U̲p̲d̲a̲t̲e̲ ̲A̲N̲O̲ ̲t̲a̲b̲l̲e̲ (DOT)
Replaces the terminal ID of a specified ANO with
a new terminal ID.
The operator is asked to enter the ANO-number.
The corresponding terminal-ID is displayed and
the operator is finally asked to enter a new terminal-ID.
The update implies, that future messages containing
the specified ANO will be distributed to the new
terminal.
c) D̲a̲t̲a̲ ̲U̲s̲e̲r̲ ̲R̲e̲c̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲ (DUR)
Each N/M has 3 data user routing tables, one primary
and 2 secondary. The tables are down-line loaded
from the SCC and into the black TDX-system.
Switching from the primary to the secondary route
is done automatically when a hard trunk failure
occurs on the primary route. Further, the DUR-command
enables the supervisory operator to manually reload
one of the alternative tables. Before this is done,
it should be controlled, that all N/Ms reload their
black TDX system with the defined table, because
the syncronization between N/M implies that they
all must use corresponding tables.
During the time it takes to reconfigurate all N/Ms,
data may be lost.
d) D̲i̲s̲p̲l̲a̲y̲/̲u̲p̲d̲a̲t̲e̲ ̲r̲o̲u̲t̲i̲n̲g̲ ̲t̲a̲b̲l̲e̲
The nodal switch subsystem (NSS) routes messages
to other N/Ms and SCCs according to 3 routing tables:
the primary, secondary, and the tertiary.
The DRT command implies, that the routing table,
describing the 3 alternative routes from this N/M
- to all other N/Ms and SCCs, are displayed. Further,
the operator is requested to type in a new set
of routing tables. If a new table is entered, the
NSS will route future messages according to this
table (until a new routing table is generated and
issued from the SCC).
e) U̲s̲e̲r̲ ̲s̲e̲c̲u̲r̲i̲t̲y̲ ̲p̲r̲o̲f̲i̲l̲e̲ ̲c̲o̲m̲m̲a̲n̲d̲s̲ (ESM)
Before updates on security profiles can be performed,
the supervisory operator must enter the security
mode. This is done by typing in the command ESM
(Enter Security Mode). The operator is now requested
to enter his SH-password. If he succeeds, he is
now allowed to use the commands DSI, DSS and XIT.
D̲i̲s̲p̲l̲a̲y̲ ̲S̲e̲c̲u̲r̲i̲t̲y̲ ̲p̲r̲o̲f̲i̲l̲e̲ ̲I̲n̲d̲e̲x̲ ̲c̲o̲m̲m̲a̲n̲d̲ (DSI):
Displays all the User-ID names attached to this
N/M in a matrix. Each entry identifies a User-ID
of max 4 characters.
D̲i̲s̲p̲l̲a̲y̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲ ̲S̲e̲c̲u̲r̲i̲t̲y̲ ̲p̲r̲o̲f̲i̲l̲e̲ ̲c̲o̲m̲m̲a̲n̲d̲ (DSS):
Displays a specified profile and allows correction,
deletion and insertion of the displayed profile.
The insertion is facilitated by displaying a dummy
profile containing an "X" on each place, the operator
shall insert a character. A user profile contains
the entries: user type, classification, password,
SH-password.
E̲x̲i̲t̲ ̲S̲e̲c̲u̲r̲i̲t̲y̲ ̲m̲o̲d̲e̲ ̲c̲o̲m̲m̲a̲n̲d̲ (XIT):
The command implies, that the security mode is
exited and the normal "PROC ̲" mode is reentered.
(Now, the commands DSI, DSS and XIT are no longer
allowed).
3.2 I̲N̲T̲E̲R̲F̲A̲C̲E̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲S̲
3.2.1 M̲a̲n̲ ̲M̲a̲c̲h̲i̲n̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
A detailed description of the man machine interface
(Syntax and Semantic roules, command mnemonics, screen
display formats etc.) are given in the requirements
specifications (ref. 12) and in the operators handbook.
They are therefore not repeated in this document.
3.2.2 S̲u̲b̲s̲y̲s̲t̲e̲m̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
Figure 3.2.2-1 shows the interfaces between the SFS
part of the terminal process and other FIKS subsystems.
Data descriptions of the interfaces are given in ref.
6.
a) S̲F̲S̲ ̲-̲ ̲o̲t̲h̲e̲r̲ ̲t̲e̲r̲m̲i̲n̲a̲l̲ ̲p̲r̲o̲c̲e̲s̲s̲e̲s̲
1. Alarms from other terminal processes. Pseudo
MTCB in AL-queue.
b) S̲F̲S̲ ̲-̲ ̲P̲I̲P̲
1. Alarms from PIP. Pseudo MTCB in AL-queue.
2. Non-deliverable message from PIP. Pseudo MTCB
in DT-queue.
3. 24 hours statistics messages from SFS. A pseudo
MTCB in a LP-queue.
c) S̲F̲S̲-̲S̲R̲R̲
1. Print Message Log requests from SFS. Pseudo
MTCB in SRS2-queue.
d) S̲F̲S̲-̲J̲O̲U̲R̲N̲A̲L̲
1. Print Message Journal request from SFS. Pseudo
MTCB in LJP-queue.
e) S̲F̲S̲-̲D̲T̲S̲
1. Requests concerning DT-messages. An AMOS system
message is sent from SFS to DTS.
2. Answers from DTS. An AMOS system answer is
sent from DTS to SFS. (The interfaces are described
in ref. 9).
f) S̲F̲S̲-̲S̲A̲F̲
1. Table handling commands, queue manipulation
commands, trunk manipulation commands, Data
User commands. A pseudo MTCB in SF-queue. The
answer from SAF is a Pseudo MTCB in the RD-queue.
(In a single case, (the DRT command) data are
copied directly into the process area of SFS
from the SAF process).
2. 24 hours statistics messages. A pseudo MTCB
in the AX-queue
3. Alarms from SAF. A pseudo MTCB in the AL-queue.
g) S̲F̲S̲-̲M̲D̲S̲
1. Non-deliverable messages from MDS. Pseudo MTCB
in DT-queue.
2. Alarms from MDS. Pseudo MTCB in AL-queue.
3. Local distribution of non-deliverable messages.
A pseudo MTCB in MDS-queue.
h) S̲F̲S̲-̲P̲S̲M̲
1. Blocking, unblocking, security interrogation.
An AMOS system message is sent from SFS to
PSM.
An AMOS system answer is received by SFS.
i) S̲F̲S̲-̲N̲S̲S̲
1. Alarms from NSS. A pseudo MTCB in AL-queue.
j) S̲F̲S̲-̲C̲T̲E̲R̲M̲/̲C̲P̲I̲P̲
1. Alarms concerning FIKS-FODCCIS Link status
change. Send via the SEND ̲REPORT-monitor.
2. Open/Close FIKS-FODCCIS Link commands. An AMOS
message sent to the CTERM-process.
3.2.3 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲t̲o̲ ̲f̲i̲l̲e̲s̲
SFS reads data from the ATT file (Alarm Text File)
when alarms are displayed.
3.2.4 I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲ ̲t̲o̲ ̲c̲r̲i̲t̲i̲c̲a̲l̲ ̲r̲e̲g̲i̲o̲n̲s̲
SFS accesses the critical regions CONFIG and XTCBCR.
3.3 M̲O̲D̲U̲L̲E̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲S̲
The SFS is considered as one module consisting of a
number of procedures. The functionalities of the SFS
submodule are grouped in a number of procedures each
performing a related set of tasks. Further these procedures
make use of a set of support procedures.
All procedures (except the support procedures) are
invoked from the mainmodule of the terminal process
TEP ̲MAIN, (ref. 7) when a command has been entered
by a terminal operator and recognized as a supervisory
command. The TEP ̲MAIN determines by inspecting the
output parametres from the command purser (the parametres
COMMAND ̲NO, MODULE ̲NO and SUBMODULE ̲NO) which group
of supervisory commandes the entered command belongs
to. The SFS procedure handling this group of commands
is then called.
As mentioned above, each procedure handles a set of
related supervisory commands and functions:
Procedure DISTRIBUTE : DDT, REE
Procedure TABLE ̲HANDLING : DOI, DOT, DUR,
DRT,
Procedure USP ̲TABLE ̲HANDLING : DSI, DSS, (ESM)
Procedure NPDN ̲CONNECTION : NPD, NPC
Procedure INT ̲TERM : INT
Procedure CONTROL : BLT, UBT, ISI,
ROQ, REQ, RRT,
RET
Procedure SUPERVISION : DAL, DQS, PMJ,
PMS, PST, OPC,
CLC
Figure 3-1 shows the block diagramme of the SFS module.
Procedures inported from other modules are not shown.
In the chapters 3.3.1-6, the processing in the procedure
(shown in figure 3-1, as the 1. level under TEP ̲MAIN)
is described in detail.
For some special types of commands, most of the processing
takes place in external subsystems, such as the DTS
process and SAF process. The processings of these are
only described in short, and references are given to
the appropriate documents.
3.3.1 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲I̲S̲T̲R̲I̲B̲U̲T̲E̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
When one the supervisory commands DDT and REE is entered
on a terminal, the procedure DISTRIBUTE is called from
the TEP ̲MAIN module. The parametres describing the
entered command are COMMAND ̲NO, MODULE ̲NO
and SUBMODULE ̲NO.
The processing in DISTRIBUTE concerns messages which
have been entered in the DT-queue, mainly due to distribution
errors. The entries in the DT-queue are pseudo MTCB's
containing informations about the error. (CATEGORY
and SUBCATEGORY). The various types of errors and their
interpretation can be found in the prefix-file AL ̲DT
̲PARAMS.S. Further, the pseudo MTCB contains a reference
(MTCB ID) to the message in question.
When elements are inserted in the DT-queue, they are
automaticly handled by the DTS-process, which allocates
a DT-number to the message and prints a part of the
message (down to the first 2 text lines) together with
an error text and the allocated DT-number on a predefined
ROP. The automatic handling of DT-messages are described
in detail in ref. 9. When DTS has finished the automatic
processing, the queue elements are still in the DT-queue,
and they can now be handled by the commands DDT and
REE. The key to the DT-message is the DT-number, and
the operator can chose which message he wants by entering
the corresponding DT-number. (The operator is informed
about the DT-numbers via the printout).
The processing in DISTRIBUTE is as follows:
1. Procedure KBD ̲DATA is called in order to issue
the command "DT ENTRY NO ̲" and to get the operators
response.
2. An AMOS system message is sent to the DTS process.
The contents of the message are the DT-
number and a code, which tells DTS that it
is requested to check if the DT-number is legal.
DTS checks if the number corresponds to one
of the entries in the DT-queue. Further, it
checks if the DT-number is reserved (already
accessed by another supervisor). If both checks
are succesfull, the DT-element is marked as
reserved (protected against access from other
operators) and the message ID of the message
is returned in an AMOS system answer.
3. The answer is received by the DISTRIBUTE procedure.
If the completion code is negative, an error
is issued and a jump is made to step 1.
In case the answer is OK, the message ID returned
by DTS is displayed on screen.
4. In the answer from DTS, the index of the pseudo
MTCB is delivered. The pseudo MTCB is read.
From the MTCB block is extracted the index
of the real MTCB (the message reference).
Finally the real MTCB is read.
If the command entered by the operator was
DDT, then the steps 5-11 are executed, otherwise
continue in step 12.
5. KBD ̲DATA is called in order to issue the prompt
"DIST TO ̲" and receive the answer.
6. If the answer was a carriage return, processing
continues in step 9. Otherwise, the characters
entered by the operator is examined.
7. The buffer returned by KBD ̲DATA contains a
number of entries, where the upper byte contains
the number of copies, and the lower byte contains
the number of the terminal. The total number
of copies are summarized in the variable COUNT.
If the value of COUNT exceeds 63 (which is
the maximum number of the "use-count" of a
MTCB, an error is issued, the last entries
are deleted, and the operator is prompted again
(step 5)). The limit of 63 copies of each message
is set in order to avoid errors in the MDS
process, when the copies are queued to the
terminals. (Each enqueueing increments the
"use-count" of the message MTCB).
8. For each of the entries in the buffer returned
from KBD ̲DATA, the terminal number is converted
to the logical terminal number by call of MON
RDF. (In case a "reroute" has been performed,
the actual terminal number differs from the
logical, ref. 13, chapter 3.2.4).
9. The steps 5-8 are repeated, until the operator
answers with a carriage return to the prompt
"DIST TO". All entries with the converted terminal
number, and number of copies are accumulated
in the buffer BUFF ̲1.
10. For each 5 entries in BUFF ̲1, a pseudo MTCB
is created. The five entries are copied to
the MTCB together with the MTCB index of the
message, and the pseudo MTCB is queued to the
MDS input queue. (The checkpointing of the
enqueueing is done in advance).
11. An AMOS system message is now generated and
sent to the DTS process. DTS is requested to
delete the pseudo MTCB received in step 4,
and to release the DT-number of the message.
Processing (of the DDT command) is continued
in step 13.
12. (The entered command was REE).
KBD ̲DATA is called in order to issue the prompt
"REENTER ̲" and to receive the operator's answer.
If the answer was yes ("Y"), an AMOS system
message is sent to DTS. DTS is requested to
reenter the message and delete the DT-queue
element, MTCB and DT-number.
The rest of the processing now concerns both
commands.
13. If the message was not requested distributed
or reentered, KBD ̲DATA is called in order to
issue the prompt "DELETE ̲". If he answers "Y",
an AMOS message is sent to DTS. (DTS is requested
to discard the message, delete the DT-queue
element and the DT-number). Otherwise an AMOS
message is sent to DTS in order to release
the DT-number. (The message gets the same status
as it had before the DISTRIBUTE procedure was
entered).
3.3.2 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲U̲P̲E̲R̲V̲I̲S̲I̲O̲N̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
When one of the supervision commands DAL, DQS, PMJ,
PML or PST are entered, the SUPERVISION procedure is
called from TEP ̲MAIN.
The procedure functions are organized in a CASE statement,
where each case performs the processing of a specific
command.
T̲h̲e̲ ̲p̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲i̲n̲ ̲S̲U̲P̲E̲R̲V̲I̲S̲I̲O̲N̲ ̲i̲s̲ ̲a̲s̲ ̲f̲o̲l̲l̲o̲w̲s̲:
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲D̲A̲L̲:
Alarms are sent from other subsystems (and also
from the terminal process itself) to the SFS module
by enqueueing a pseudo MTCB describing the alarm
into the AL-queue of the terminal process. The
interpretation of the codes describing the alarm
is given in the prefix file AL ̲DT ̲PARAMS.S.
When the DAL command is entered, a number of alarms
are displayed, by repeating the steps 1-6. (The
number of alarms displayed are currently 18).
1. The first element in the AL-queue is read (destructively)
by call of MON QACCESS. If the queue is empty,
an error is issued and the procedure is exited.
2. The pseudo MTCB (referenced by the queue element)
is read.
3. The file AAT (which contains the alarm texts
to be displayed, ref. 11) is opened. The offset
to the actual alarm text is calculated from
the alarm codes given in the pseudo MTCB, and
the text string is read.
4. Before the alarm text is displayed some additional
parametres given in the pseudo MTCB must be
inserted in reserved fields in the alarm text
string.
The parametres inserted depends on the type
of alarm:
NM ̲ALARM ̲MSG:
If alarm = PQ ̲OVERFLOW: the ID of the queue
(Z, Y, O, LP, P, M, R, SH) is calculated
and inserted.
If alarm = MTCB ̲USE ̲COUNT ̲OVERFLOW: the
message ID is copied from the pseudo MTCB
to the alarm text string. Otherwise the
parametres with offset 6 and 7 in the pseudo
MTCB are inserted.
NM ̲ALARM ̲NPDN:
The node ID is copied from pseudo MTCB
to alarm text string.
NM ̲ALARM ̲TRUNK:
If the alarm concerns a trunk or soft fail
of/off, the node ID is inserted in the
text string. If the alarm is a ORBIT ̲CTRL
̲MSG ̲DEL or DEST ̲NON ̲AVAILABLE:
The 2 node IDs given in the pseudo MTCB
are converted to ASCII characters and inserted
in text string. Further the DTG is extracted,
converted and inserted. Further, in case
of the alarm ORBIT ̲CTRL ̲MSG ̲DEL, the routing
mask (2 words) is extracted from the pseudo
MTCB, and all bits set are converted to
ASCII characters and inserted in the text
string.
5. The alarm text is displayed by call of ITRANSFER
6. The pseudo MTCB is released.
7. The procedure is exited.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲D̲Q̲S̲:
The queue status of a specified terminal is displayed:
1. KBD ̲DATA is called in order to issue the prompt
"TERM ID ̲" and to receive the operators response.
2. The procedure DSP ̲Q ̲ST is called. (ref. chapter
3.3.7) (This procedure displays the queue status
lines).
3. The procedure is exited.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲P̲M̲J̲ ̲o̲r̲ ̲P̲M̲L̲:
A request concerning printout of the message journal
file, or the printout of the last 24 hours message
storage is issued:
1. If command = PML, then a semaphore bit located
in the critical region CONFIG is reserved.
Due to constraints in the SRR process (ref.
14), the PML command is not allowed as long
as the printout from the last issued PML command
has not finished. The semaphore bit is released
by the PIP process when the printout of the
PML file has finished.
If the reservation failed, (printout of the
PML file not finished) an error is issued and
the procedure is exited.
2. A pseudo MTCB is created and the actual command
code together with the number of the terminal
process is written into the MTCB.
3. If the command = PML, the MTCB is enqueued
into the input queue of the SRR process. (SRR
generates the PML file and requests the PIP
process to print it on the ROP attached to
the specified terminal.)
If the command = PMJ, the MTCB is enqueued
into the input queue of the JOURNAL process
(ref.15) (JOURNAL calculates the start offset
and the end offset in the PMJ-file, and then
requests the PIP process to print the specified
piece of the file on the ROP attached to the
specified terminal).
4. The pseudo MTCB is released.
5. The procedure is exited.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲P̲S̲T̲:
The 24 hours statistics message received from the
SCC (and inserted in the AX-queue) is printed:
1. Read the first element (destructive) in the
AX-queue by call of MON QACCESS.
2. The queue element (an MTCB index) is inserted
in the LP-queue of the terminal process by
call of MON QACCESS.
3. The MTCB index is released.
4. The procedure is exited.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲O̲P̲C̲ ̲o̲r̲ ̲C̲L̲C̲:
An AMOS message with layout as specified in ref.
17, sec. 3.3.2.2 is sent to the CTERM-process.
The AMOS answer is awaited endless. If the completion
code in the answer indicates 'Unexpected command',
then the supervisor is informed via the 'INVALID
FODCCIS CMD'-command completion code at the operator
display.
3.3.3 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
When one of the control commands BLT, UBT, ISI, ROQ,
REQ, RRT or RET are entered, the CONTROL procedure
is called from TEP ̲MAIN. (Other control commands are
described in the succeeding chapters).
The functions of the procedure are organized in a CASE
statement, where each branch contains the processing
of a specific command.
T̲h̲e̲ ̲p̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲i̲n̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲i̲s̲ ̲a̲s̲ ̲f̲o̲l̲l̲o̲w̲s̲:
Before the CASE statement is entered, the KBD ̲DATA
procedure is called a number of times in order to issue
prompts to the operator and receive the answer. The
answers are kept in a buffer and used in the CASE statements.
The issued prompts are:
BLT, UBT, ISI : TERM ID ̲
ROQ : TERM ID ̲, QUEUE ID ̲, INDEX
̲,
FIRST/LAST ̲.
REQ : TERM ID ̲, QUEUE ID ̲, INDEX
̲,
TO TERM ID ̲.
RRT : FROM ̲, TO ̲.
RET : TERM ID ̲.
The entries in the CASE statement are:
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲B̲L̲T̲:
The procedure PSM ̲MESS is called (with input parametre
= BM ̲BLOCK). The PSM ̲MESS procedure generates an
AMOS system message and sends it to the PSM process
(ref. 16). The message tells the PSM process to
block the specified terminal. (A bit in the terminal
control block located in the critical region XTCBCR
is set). As the terminal control block is checked
each time a new command is entered, the operator
on that terminal will from now on be blocked.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲U̲B̲T̲:
The processing is the same as for BLT. PSM is now
requested to unblock the specified terminal. After
the unblocking, the terminal has the status "LOGGED
OFF".
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲I̲S̲I̲:
From the critical region XTCBCR, the M ̲STAT control
word of the terminal control block (belonging to
the specified terminal) is read. If the control
word indicates a blocked terminal or a terminal
which is not in the mode RX ̲TX, an error message
is issued and the procedure is exited. Otherwise
PSM ̲
MESS is called. (PSM ̲MESS sends an AMOS system
message to PSM. PSM enters the XTCBCR critical
region and sets the "INTERROGATE" bit in the control
block of the specified terminal). Next time a command
is entered on the specified terminal, the "INTERROGATE"
bit will be detected and the procedure INT ̲TERM
will be called. This procedure performs the interactive
interrogation, ref. chapter 3.3.8.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲R̲O̲Q̲:
The monitor procedure MON QACCESS, REORG is called
with the parametres given by the operator (terminal
number, queue number, entry number, destination).
The call implies, that the specified element (entry
number) in the specified queue (queue no) belonging
to the specified terminal (terminal no) is moved
to either the first or the last position in the
queue (specified by FIRST/LAST). An attempt to
move the first element in a queue will cause an
error if the first element is marked as active.
An attempt to move an element to the first position
in the queue will imply an error if the first element
is active. The specified element will in that case
be inserted in the second position in the queue.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲R̲E̲Q̲:
The parametres entered by the operator (terminal
ID, queue ID, index, to ̲terminal ̲id) are packed
in the array MTCB ̲BLOCK. The subcategory is set
to RELOCATE ̲MSGS. The procedure INVOKE ̲SAF ̲WAIT
is called with a reference to MTCB ̲BLOCK. The INVOKE
̲
SAF ̲WAIT procedure (ref. chapter 3.3.9) creates
a pseudo MTCB and enqueues it to the SF-queue of
the SAF subsystem. The procedure waits until an
element has arrived in the RD-queue (inserted by
the SAF process). The completion code returned
by SAF (in the MTCB) is returned to the CONTROL
procedure. This means that the actual relocation
of the queue elements is performed by the SAF process
(ref. 10).
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲R̲R̲T̲:
The processing of this command is identical to
that of the REQ command. The actual rerouting of
the traffic is performed by the SAF process (ref.
10).
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲R̲E̲T̲:
The monitor procedure MON RDF, REROUTE is called.
Input to the procedure is the terminal ID entered
by the operator and converted to the actual terminal
number. The command thereby cancels the command
RRT. The RDF update (performed by the RDF monitor
in its incore table) is checkpointed.
3.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲N̲P̲D̲N̲ ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
When one of the control commands NPD, NPC, OPT, CLT
are entered, the procedure NPDN ̲CONNECTION is called
from TEP ̲MAIN.
T̲h̲e̲ ̲p̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲i̲s̲ ̲a̲s̲ ̲f̲o̲l̲l̲o̲w̲s̲:̲
Procedure KBD ̲DATA is called in order to issue the
prompt "TRUNK ID ̲" and receive the answer. The op-code
for the command and the entered trunk ID are inserted
in the array MTCB ̲BLOCK. Procedure INVOKE ̲SAF ̲WAIT
is called with a reference to MTCB ̲BLOCK. This procedure
hands over the command to the SAF process (ref. 10)
via a pseudo MTCB inserted in the SF-queue. The response
is awaited in the RD-queue, and when received, the
completion code is transferred to NPDN ̲CONNECTION.
This means, that the actual processing of the command
takes place in the SAF process.
3.3.5 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲T̲A̲B̲L̲E̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
When one of the on-line table handling commands DUR,
DRT, DOI, DOT are entered, the procedure TABLE ̲HANDLING
is called from TEP ̲MAIN. The procedure is structured
as a CASE statement. Each branch processes one command:
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲D̲U̲R̲:
KBD ̲DATA is called in order to issue the prompt
"TABLE ID ̲", and to receive the operators answer
(0, 1 or 2, for primary, secondary or tertiary).
In the array WORK ̲BUFFER an MTCB block is built,
containing the op-code for the command and the
table ID. The procedure INVOKE ̲SAF ̲WAIT is called
with a reference to the MTCB block. This procedure
hands over the command to the SAF process via a
pseudo MTCB enqueued to the SF-queue. The answer
is awaited in the RD-queue and transferred to
TABLE ̲HANDLING. This means that the actual processing
of the command takes place in the SAF process (ref.
10).
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲D̲R̲T̲:
A MTCB block is built in the array WORK ̲BUFFER
. The parametres are: op-code of the command, the
PSW word, the BASE register, the relative address
of BUFF ̲2. The procedure INVOKE ̲SAF ̲WAIT is called
with a reference to the MTCB block. This procedure
transfers the data to SAF via the pseudo MTCB,
which is queued to the SF-queue. The SAF-process
retrieves the routing table to be displayed in
the NDF-file. The table is copied directly into
the BUFF-2 in the terminal process by the SAF process.
An answer is returned to INVOKE ̲SAF ̲WAIT, which
transfers it to TABLE ̲HANDLING.
ITRANSFER is called in order to display the table,
which was delivered by SAF. KBD ̲DATA is called
in order to issue the prompt " ̲" (the operator
is requested to enter a new routing table) and
receive the answer.
Each character in the response is compared with
the table describing all possible neighbours (which
was also delivered by SAF) in order to check if
the new table is legal. If an unknown neighbour
is found, an error is issued, and the operator
is requested to try again. Otherwise the entered
table is moved to the top of BUFF ̲2.KBD ̲DATA is
called in order to issue the prompt "ACCEPT ̲" and
receivce the answer. If the operator answered "Y",
the procedure INVOKE ̲
SAF ̲WAIT is called.
This procedure requests SAF to perform the table
update by enqueueing a pseudo MTCB into the SF-queue.
SAF reads the new table directly from the BUFF
̲2 in the terminal process, performs the update
and returns an answer to INVOKE ̲SAF ̲WAIT, which
transfers it to TABLE ̲HANDLING.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲D̲O̲I̲:
An AMOS message is sent to the DOI process containing
the number of the originating process. DOI will
then display the first page of the ANO-table at
the originating terminal and then return an AMOS
answer.
IF NEXT PAGE is entered then a new AMOS message
is sent to the DOI and the last page of the ANO-table
is displayed.
For further details, ref. 18.
C̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲D̲O̲T̲:
(Update of ANO table)
KBD ̲DATA is called in order to issue the prompt
"ENTRY NO ̲" and receive the operators answer. The
MEDE-ID of the local N/M is extracted from the
terminal control block (TCB ̲SAVE). (The first letter
in the terminal ID is used). From the Mede-ID and
the entered ANO number, the ANO word is generated.
MON RDF, GANOTRM is called in order to get the
actual terminal number corresponding to the ANO.
MON RDF, GTRMID is called (with number as input)
in order to get the terminal ID of the entered
ANO. The terminal ID is displayed by call of ITRANSFER.
KBD ̲DATA is called in order to issue the prompt
" ̲" and to receive the operator's answer (which
is a terminal ID or a *). The prompt returned from
KBD ̲DATA is a terminal number (the input is converted
by KBD ̲DATA).
KBD ̲DATA is called in order to issue the prompt
"ACCEPT ̲" and to receive the answer. If the answer
was "Y" and the previous answer was "*" (meaning
a delete of the ANO), then MON RDF, SANOEX is called
in order to delete the ANO from the ANO-existance
table. If the last entry was a "Y", then MON, RDF,
SANOTRM is called in order to change the terminal
number corresponding to the specified ANO to the
terminal number entered by the operator. The update
of the ANO entry is checkpointed by sending the
checkpoint in an AMOS system message to the CHECKP
process and receive the returned answer.
3.3.6 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲U̲S̲P̲ ̲T̲A̲B̲L̲E̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
When the supervisory command ESM is entered on a terminal,
the procedure USP ̲TABLE ̲HANDLING is called from TEP
̲MAIN. In order to use the USP-commands, the operator
is requested to enter his password. KBD ̲DATA is called
in order to issue the prompt "PASSWORD ̲" and to receive
the answer. The operator has three attempts to enter
his password. The third time a wrong password is entered,
an error message is issued, and an alarm message is
sent (by call of SEND ̲REPORT, which makes and entry
into the AL-queue), and the procedure is exited. If
a correct answer is received, KBD ̲DATA is called in
order to issue the prompt "CMND ̲" and to receive the
answer. 3 answers are allowed: DSI, DSS and XIT.
D̲S̲I̲:
A pseudo MTCB containing a request to display
a user index table is sent to SAF (by call
of INVOKE ̲SAF ̲WAIT). The SAF-process receives
the MTCB in the SF-queue, generates the USP
table (containing all user -IDs on the N/M),
creates a logical line to the terminal and
displays the table. An answer is generated
and sent back in a pseudo MTCB to the terminal
process. The INVOKE ̲SAF ̲WAIT gets the queue
element and transfers the completion code to
USP ̲TABLE ̲HANDLING. The next USP command is
awaited.
D̲S̲S̲:
KBD ̲DATA is called in order to issue the prompt
"USER ID ̲" and to receive the answer. In the
variable MTCB ̲BLOCK a pseudo MTCB containing
a request to SAF of retrieving the profile
of the specified user. Further it contains
parametres to identify the buffer, in which
the answer shall be copied into. INVOKE ̲SAF
̲WAIT is called in order to send the pseudo
MTCB to SAF and await the answer. The SAF process
retrieves the USP-profile and copies it directly
into the specified buffer in the terminal process.
The retrieved profile is examined and if it
identifies a supervisor, an error is issued
(Supervisory profiles can only be changed from
the SCC). Otherwise the profile is displayed.
KBD ̲DATA is called in order to issue the prompt
" ̲" and to get the answer. (The operator is
requested to enter a new profile). If a carriage
return is received and the retrieved profile
was empty ("X" on all fields of the profile)
an error is issued. (It is not allowed to delete
an empty profile). If a carriage return was
received and the profile was not empty, then
a DELETE flag is set . Otherwise an UPDATE
flag is set. KBD ̲DATA is called in order to
issue the prompt "ACCEPT ̲". If a "Y" is returned,
INVOKE ̲SAF ̲WAIT is called in order to send
a request to SAF concerning a deletion/correction
of the user profile.
X̲I̲T̲:
The USP ̲TABLE ̲HANDLING procedure is exited.
3.3.7 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲S̲P̲ ̲Q̲ ̲S̲T̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
When a DQS command is entered from a terminal, the
SUPERVISION procedure is invoked from TEP ̲MAIN. This
procedure requests the operator to enter a terminal
ID. DSP ̲Q ̲ST is then called with the terminal number
as parametre. The terminal control block (TCB) of the
specified terminal is accessed in order to determine
whether the terminal is of type supervisory/supervisory
assistant or not. (In the last case, the supervisory
queues (AL and DT) are not displayed).
MON QACCESS, LENGTH is called in order to get the number
of elements in each of the queues of the specified
terminal.
GET ̲CRITICAL ̲REGION is called in order to get the skeleton
format of the queue status picture (the queue names).
If the terminal is not of the type supervisory, the
2 last fields in the table are deleted (AL - and DT
queues). The number of elements in each queue is converted
to ASCII and inserted in the table. The date-time group
is received by calling MON GETDTG. The DTG is inserted
in the table. The table is displayed by call of ITRANSFER
3.3.8 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲T̲ ̲T̲E̲R̲M̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
This procedure is called from TEP ̲MAIN when a command
is entered and a test of the terminal control block
has discovered, that the INTERROGATE flag was set.
The purpose of this procedure is to perform the interrogation
of the user.
Procedure ITRANSFER is called in order to issue the
text "SECURITY INTERROGATION". The procedure ID ̲PASSWORD
is called in order to issue the prompt "USER ID ̲" and
to receive and validate the answer. If the answer was
illegal, the terminal is blocked, the event is logged
and an alarm is issued. If successful answer received,
then ID ̲PASSWORD is called in order to issue the prompt
"PASSWORD ̲" and to receive and validate the answer.
If the answer was illegal, the terminal is blocked,
the event is reported and an alarm is issued. If successfull,
then PSM ̲MESS is called in order to request the PSM
process to reset the interrogation flag in the control
block of the specified terminal.
3.3.9 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲V̲O̲K̲E̲ ̲S̲A̲F̲ ̲W̲A̲I̲T̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
This procedure constitutes the interface to the SAF
process. Each time another procedure interfaces to
SAF, this procedure is called with a MTCB block as
parametre. Communication between SAF and the terminal
process takes place via the SF-queue of SAF and the
RD-queue of the terminal process.
Old elements in the RD-queue are deleted by subsequent
calls of QACCESS, READ ̲DEST until the queue is empty.
The MTCB block is updated and inserted in the SF-queue
by call of QACCESS, INS. The MTCB is released and a
signal which tells that an element has arrived in the
RD-queue is awaited. When the signal arrives, the RD-queue
is accessed and the element is read. The corresponding
MTCB is read, and then the queue element is deleted
(QACCESS, DEL). The completion code from the MTCB is
returned to the calling process.
3.4 D̲A̲T̲A̲ ̲O̲R̲G̲A̲N̲I̲Z̲A̲T̲I̲O̲N̲
Almost all variables and data structures used by SAF
are also used by the other modules in the terminal
process. Please refer to ref. 8, chapter 3.4.
3.5 S̲T̲O̲R̲A̲G̲E̲ ̲A̲L̲L̲O̲C̲A̲T̲I̲O̲N̲
Please refer to the compiler printout listings.
3.6 P̲E̲R̲F̲O̲R̲M̲A̲N̲C̲E̲ ̲C̲H̲A̲R̲A̲C̲T̲E̲R̲I̲S̲T̲I̲C̲S̲
Some of the supervisory commands are performed by transferring
the command to SAF, SRR, PSM or DTS, and then await
the answer. As those processes all are run as background
processes with overlays, the processing may take some
time.
3.7 L̲I̲M̲I̲T̲A̲T̲I̲O̲N̲S̲
N/A
3.8 E̲R̲R̲O̲R̲ ̲C̲O̲D̲E̲S̲ ̲A̲N̲D̲ ̲E̲R̲R̲O̲R̲ ̲L̲A̲B̲E̲L̲S̲
Error codes and labels are listed in the file ERROR
̲
PREFIX.S.
4 Q̲U̲A̲L̲I̲T̲Y̲ ̲A̲S̲S̲U̲R̲A̲N̲C̲E̲
N/A
5 P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ ̲F̲O̲R̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲
The compilation and linking of the SFS is an integrated
part of the entire terminal process. Please refer to
ref. 8
6 D̲R̲A̲W̲I̲N̲G̲S̲
Figure 3-1
Block Diagramme of the SFS Module
Figure 3.2.2-1
Subsystem Interfaces