top - download
⟦619d618fd⟧ Wang Wps File
Length: 58640 (0xe510)
Types: Wang Wps File
Notes: CPS/SDS/033
Names: »1795A «
Derivation
└─⟦fd4f47f8f⟧ Bits:30006088 8" Wang WCS floppy, CR 0140A
└─ ⟦this⟧ »1795A «
WangText
=…07…<…08…<…0b…<…0d…<…02…<…07…;…0c…;…0f…;…00…;…05…:…09…:…0a…:…0f…:…05…9…0c…9…01…9…06…9…07……17……0c……17……0f……17…
…16……08……16……0b……16……01……16……02……16… …15……08……15……0a……15……86…1
…02…
…02…
…02…
…02…CPS/SDS/033
…02…KNB/831101…02……02…
TRAFFIC
HANDLING
DETAILED
DESIGN
SPECIFICATION…02…ISSUE
1…02…CAMPS
4.2.1.4.22 F̲L̲1̲0̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.22.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 of the FL10 analysis module are
- detection of group count (GR)
- detection of accounting information (AC)
- change of encrypted message type into a now encrypted
message type in case an incoming message has been
entered from the dedicated PTR after decryption.
- Updates administration Field
- Updates ACP ̲parameter Field in case the group-count-value
has been located in FL10 instead of (SB); meaning
"see below" (FL14).
4.2.1.4.22.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: R0 = FL ̲pointer
R1 = Analysis FL
R2 = Previous FL
R3 = FL ̲area
R4 = FL ̲length
Output: R5 = Result
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FL10 ̲ANALYSIS(FL ̲POINTER; ANALYSIS ̲FL, PREV ̲FL
FL ̲AREA, FL ̲LENGTH)(RESULT)
B) FL10 ̲ANALYSIS(R0, R1, R2, R3, R4, R5, R6)
4.2.1.4.22.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.1.4-22 for structure FL10-analysis module.
a) F̲L̲ ̲D̲e̲t̲e̲c̲t̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Detects the startsequence GR of a FL10
Detects the startsequence AC of a FL10A containing
accounting ̲information; the sequence might be appended
the FL10.
ref. 4.2.1.6.2.6 for description
b) C̲h̲a̲n̲g̲e̲ ̲d̲e̲d̲i̲c̲a̲t̲e̲d̲ ̲t̲y̲p̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Changes the message ̲type of an incoming message
for local distribution entered via the dedicated
PTR after off-line decryption, from the encrypted
type used during analysis to a non encrypted type
to be used in the remaining analysis and afterwards.
c) L̲o̲c̲a̲t̲e̲ ̲c̲h̲a̲r̲a̲c̲t̲e̲r̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
ref. 4.2.1.6.2.5 for description.
4.2.1.4.22.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Administration Field (DBD/001 10.1.1)
ACP ̲parameter Field DBD/001 10.2.2)
Message Type Data (4.2.1.5.7)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
ADMINISTRATION.GROUP ̲COUNT (m)
-"- .ACCOUNTING ̲INFO (m)
ACP ̲PARAMETER. GROUP ̲COUNT (m)
QEL ̲ATTRIBUTE
MESSAGES ̲MASK (m)
ENCRYPTED ̲TYPE (m)
ANALYSIS ̲MSG ̲TYPE (m)
INCOMING ̲MSG
WRITE ̲ACP ̲PARAMS (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.4.22.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
If the message ̲type has not been determined to be of
the encrypted ̲type or a FL10 has previously been analyzed,
the FL for analysis is assumed to be FL10A for an accounting
information test; this test is also performed after
detection of a FL10 containing a group count.
Refer to description module components for details
on subjects change of dedicated PTR message ̲type and
analysis of group count value.
Fig. 4.2.1.4-22…01…STRUCTURE FL10 ANALYSIS
F̲L̲1̲0̲ ̲A̲N̲A̲L̲Y̲S̲I̲S̲(FL ̲POINTER, PREV ̲FL, ANALYSIS ̲FL,
FL ̲AREA; FL ̲LENGTH)(RESULT)
RESULT = NOT ̲OK
FL ̲AREA NE HEADER?
FL = FL ̲POINTER
PREV ̲FL = ANALYSIS ̲FL
ENCRYPTED ̲TYPE = FALSE?
DETECTION ̲FL10(FL)(FLN, CC)
CC = NOT ̲OK?
CHANGE ̲DEDICATED ̲TYPE ( )(CC)
CC = OK? FL = FLN
FL = FLN
ACP ̲PARAMS ̲GROUP ̲COUNT = SPACE?
ACP ̲PARAMS.GROUP ̲COUNT = FL(1..(FLN-FL))
WRITE ̲ACP ̲PARAMETER = TRUE
ADMINISTRATION.GROUP ̲COUNT = ACP ̲PARAMS.GROUP ̲COUNT
LOCATE ̲CHARACTER (FLN)(FL, CC)
CC = NOT ̲OK?
DETECTION ̲FL10A (FL)(FLN, CC)
CC = NOT ̲OK?
FLN = FL ̲LENGTH + FL ̲POINTER
ADMINISTRATION.ACCOUNTING ̲INFO = FL (1..(FLN - FL))
RESULT = OK
RETURN
C̲H̲A̲N̲G̲E̲ ̲D̲E̲D̲I̲C̲A̲T̲E̲D̲ ̲T̲Y̲P̲E̲ ̲( )(CC)
CC = NOT ̲OK
QEL ̲HEADER.MAINTYPE NE FROM ̲DEDICATED ̲PTR?
INCOMING ̲MSG = FALSE?
ENCRYPTED ̲TYPE = FALSE
BIT3 AND MESSAGE ̲MASK
ANALYSIS ̲MSG ̲TYPE = ABB ̲PLAIN ̲ENCRYPT?
ANALYSIS ̲MSG ̲TYPE = ABB ̲PLAIN
ANALYSIS ̲MSG ̲TYPE = PLAIN
CC = OK
RETURN
4.2.1.4.23 F̲L̲1̲2̲ ̲a̲n̲a̲l̲y̲s̲i̲s̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.23.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 of the FL12 analysis module are
- detection of FL12A containing classification word,
special handling word (if any) and national-eyes
prosigns (if any)
- consistency check between classification word and
classification prosigns of FL4
- detection of FL12B (SIC)
- validation of SIC-syntax(garbled SIC's)
- detection of Service Message based upon a SIC =
SVC
- detection of FL12C based upon Exercise Indicator
or by detect of SECTION.
- detection of FL12D based upon a List of Internal
Handling words preceding the instruction.
- updates IMF (administration Field)
4.2.1.4.23.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: R0 = FL ̲pointer
R1 = Analysis FL
R2 = Previous FL
R3 = FL area
R4 = FL length
Output: R5 = Result
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FL12 ̲ANALYSIS (FL ̲POINTER, ANALYSIS ̲FL, PREV ̲FL,
FL ̲AREA,
FL ̲LENGTH)(RESULT)
b) FL12 ̲ANALYSIS (R0, R1, R2, R3, R4, R5, R6)
4.2.1.4.23.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.1.4-23 for structure FL12 analysis module.
a) A̲N̲A̲L̲Y̲Z̲E̲ ̲C̲l̲a̲s̲s̲ ̲w̲o̲r̲d̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Detects the sequences of classification words described
in CPS/ICD/003 para 3.12.1.1.a and delivers the
matching classification-type back; also it recognizes
the word "CLEAR" (value = last-classification-type
+ 1). A pointer to the end of the classification
word detected is returned if positive completion.
b) A̲n̲a̲l̲y̲z̲e̲ ̲S̲p̲e̲c̲ ̲w̲o̲r̲d̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Detects the sequence of special handling word described
in CPS/ICD/003 para 3.12.1.1.b and returns the
matching special handling type; if the special
handling type is "For National Eyes Only" pointers
to the "Eyes" will be returned (Double National
Name Prosign)
c) L̲o̲c̲a̲t̲e̲ ̲a̲f̲t̲e̲r̲ ̲s̲p̲a̲c̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
ref. 4.2.1.4.2.4 for description
- used to detect the start of Spec ̲words.
d) E̲r̲r̲o̲r̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
ref. 4.2.1.6.1.4 for description
Error Codes: INVALID ̲CLASS ̲WORD
INCONSISTENT ̲CLASS ̲WORD
INVALID ̲SPEC ̲WORD
INCONSISTENT ̲SPEC ̲WORD
e) A̲n̲a̲l̲y̲z̲e̲ ̲A̲l̲p̲h̲a̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.1.6.2.1 for description
- validation of SIC ̲syntax
f) F̲L̲ ̲D̲e̲t̲e̲c̲t̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Detects the startsequence SIC(space) of a FL12C.
Detects the sequence "EXER" from the start of a
delivered pointer.
Detects the sequence "SECTION" from the start of
a delivered pointer.
Detects the presence of internal handling instruction
based on the following sequences at the beginning
of a line
- PERSONAL
- ADDRESSED
ref. 4.2.1.6.2.6 for description
g) U̲p̲d̲a̲t̲e̲ ̲S̲p̲e̲c̲i̲a̲l̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Update of National Eyes
Ref. 4.2.1.6.4.1 for description
h) L̲o̲c̲a̲t̲e̲ ̲C̲h̲a̲r̲a̲c̲t̲e̲r̲
Ref. 4.2.1.6.2.5 for description.
4.2.1.4.23.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Administration Field (DBD/001 10.1.1)
FL ̲Analysis Data (4.2.1.5.8)
Message Type Data (4.2.1.5.7)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
ADMINISTRATION.CLASS (m)
ADMINISTRATION.NATIONAL ̲NAME (m)
ADMINISTRATION.SIC (m)
GARBLED ̲SIC (m)
SERVICE ̲TYPE (m)
MESSAGE ̲MASK (m)
EXERSIZE ̲DETECTED (m)
INTERNAL ̲HANDLING ̲DETECTED (m)
CLEAR (m)
SERVICE ̲TYPE (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.5.23.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The analysis of FL12 starts with a test on the area
in which the supposed FL12 resides; if a FL12a is to
be analyzed the analysis-line must be the very first
of the text-field; if a FL12b, FL12c or 12d the line
must be from the text-field, otherwise the previous
analyzed format-lines somehow fooled the analysis logic;
if so this will be stopped at this point. See the procedures
described in module design for detailed description
of each FL12-type.
Fig. 4.2.1.4-23…01…STRUCTURE FL12-ANALYSIS
F̲L̲1̲2̲ ̲A̲N̲A̲L̲Y̲S̲I̲S̲ (FL ̲POINTER, PREV ̲FL, ANALYSIS ̲FL, FL
̲AREA,
FL ̲LENGTH)(RESULT)
RESULT = NOT ̲OK
ANALYSIS ̲FL = FL12A? FL ̲AREA NE TEXT ̲BEGIN?
RESULT = OK
FL ̲AREA NE TEXT? RESULT = STOP
CASE ANALYSIS ̲FL OF:
FL12A: ANALYZE ̲CLASS ̲WORD(FL)(FLN, CLASS, CC)
CC = NOT ̲OK? ERROR ̲COLLECTION(INVALID ̲CLASS
̲WORD)
CLASS = CLEAR? CLEAR = TRUE
ADMINISTRATION.CLASS = CLASS?
ERROR ̲COLLECTION(INCONSISTENT ̲CLASS ̲WORD)(
)
LOOP EOLN
LOCATE ̲AFTER ̲SPACE(FLN)(FLN, CC)
CC = NOT ̲OK? EXIT LOOP
ANALYZE ̲SPEC ̲WORD(FLN)(FL, FLN, SPEC, CC)
CC = NOT = OK? ERROR ̲COLLECTION
(INVALID ̲SPEC ̲WORD)
SPEC = NATIONAL ̲EYES? ADMINISTRATION,
NATIONAL ̲NAME
= (FL,FLN)
UPDATE ̲SPEC ̲HANDL (SPEC) (
)
SPEC = ADMINISTRATION.SPEC ̲HANDL ̲INSTR?
ERROR ̲COLLECTION(INCONSISTENT ̲SPEC ̲WORD)(
)
END EOLN LOOP
FL12B: DETECTION ̲SIC (FL)(FLN, CC)
CC = NOT ̲OK?
RESULT = OK
continues
continued FL12 ̲ANALYSIS
FLS = ADMINISTRATION.SIC ̲POINTER
LOOP MAX ̲SIC
ANALYZE ̲ALPHA(FLN, SIC ̲LENGTH)(CC)
CC = NOT ̲OK? GARBLED ̲SIC = TRUE
SIC = SVC? SERVICE ̲TYPE = TRUE
BIT4 OR MESSAGE ̲MASK
FLS(1..SIC ̲LENGTH) = FLN(1..SIC ̲LENGTH)
FLN = FLN + (SIC ̲LENGTH + 1)
FLN = IOC ̲SEPARATOR? EXIT LOOP
END MAX ̲SIC LOOP
ADMINISTRATION.TEXT ̲OFFSET = TEXT ̲POINTER -
FLN
SERVICE ̲TYPE = TRUE? ATOMAL? ERROR ̲COLLECTION
(INVALID ̲SPECIAL+HANDLING)()
FL12c: LOOP EOLN
DETECTION ̲EXERCISE(FL)(CC)
CC = OK? EXERCISE ̲DETECTED = TRUE
RESULT = OK
DETECTION ̲SECTION(FL)(FLN, CC)
CC = OK? RESULT = OK
FL = FLN
FL = IOC ̲SEPARATOR? EXIT ̲LOOP
END EOLN LOOP
continues
continued FL12 ̲ANALYIS
FL12D: DETECTION ̲INTERNAL ̲HANDLING(FL)(CC)
CC = NOT ̲OK?
RESULT = OK
INTERNAL ̲HANDLING ̲DETECTED = TRUE
END ANALYSIS ̲FL CASE
RETURN
4.2.1.4.24 A̲S̲M̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.24.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 of the ASM ̲Control Module are to analyze
the text-part (FL12G) of Abbreviated service messages
in order to detect the following ASM ̲types:
- Channel Close
- Channel Open
- Channel Test
- Channel Test Reply
- Channel Number Test
- Flash Acknowledge
- Channel Check
See description of module components for additional
functional specifications.
4.2.1.4.24.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: R0 = FL ̲pointer
R4 = FL ̲LENGTH
Output:
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) ASM ̲CONTROL(FL ̲POINTER, FL ̲LENGTH) ( )
b) ASM ̲CONTROL (R0, R4, R6)
4.2.1.4.24.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.1.4-24 for structure ASM ̲control module.
a) A̲n̲a̲l̲y̲z̲e̲ ̲C̲h̲a̲n̲n̲e̲l̲ ̲C̲l̲o̲s̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines the ASM ̲type to be an incoming channel
close if the first parameter of the FL12G equals
the operating signal QRT(+ space)
Procedure = FL ̲detection
Ref. 4.2.1.6.2.6 for description
b) A̲n̲a̲l̲y̲z̲e̲ ̲C̲h̲a̲n̲n̲e̲l̲ ̲O̲p̲e̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines the ASM-type to be an incoming channel
open if the first parameter of the FL12G equals
the operating signal QRV(+ space)
Procedure = FL-detection
ref. 4.2.1.6.2.6 for description.
c) A̲n̲a̲l̲y̲z̲e̲ ̲C̲h̲a̲n̲n̲e̲l̲ ̲T̲e̲s̲t̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines the ASM ̲Type to be an incoming channel
test if the first parameter of the FL12G equals
the sequence TEST (space)
The following text (see layout ICD/004 para 5.5.3.3)
is then analyzed and the test ̲value (1, 4 or 5)
returned.
5 = complete text recognized
4 = one word not recognized
1 = more than one word not recognized
Instead of the sequence RYRYRY.......
the equivalent sequence *U*U*U.......
is accepted.
Shared procedures
- Locate after space (4.2.1.6.2.4)
d) A̲n̲a̲l̲y̲z̲e̲ ̲T̲e̲s̲t̲ ̲R̲e̲p̲l̲y̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines the ASM ̲type to be an incoming Channel
Test Reply if the first parameter of the FL12G
equals the operating signal ZBZ(+ numeric-value).
The numeric value is validated to be in the range
(1, 4 or 5) and converted to binary; if positive
the value is returned - otherwise the ASM-type
considered as not detected (it will then be presented
to supervisor).
Shared procedures:
- Analyze Numeric (4.2.1.6.2.2)
- ASCII to Binary (4.2.1.6.2.7)
e) A̲n̲a̲l̲y̲z̲e̲ ̲T̲S̲N̲ ̲c̲h̲e̲c̲k̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines the ASM ̲type to be an incoming channel
number Test if the first parameter of the FL12G
equals the operating signal ZID. Immediately following
the ZID should be one or two TI's. The outgoing
channel designator is derived via a search in the
channel table using the logical channel number
as key (ref. 4.2.1.6.25), the designator with match
to the designator of FL12G will have the following
TSN examined; this TSN is converted into binary
form and returned; if the validation check of the
TI fails, the TSN-check ASM will be considered
as not detected.
Shared procedures:
- Locate after space (4.2.1.6.2.4)
- Analyze Alpha (4.2.1.6.2.1)
- Search channel (4.2.1.6.5.5)
- Search second channel (4.2.1.6.5.6)
- Analyze Numeric (4.2.1.6.2.2)
- FL Detection (4.2.1.6.2.6)
- ASCII Binary (4.2.1.6.2.7)
f) A̲n̲a̲l̲y̲z̲e̲ ̲F̲l̲a̲s̲h̲ ̲A̲c̲k̲n̲o̲w̲l̲e̲d̲g̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines the ASM ̲type to be an Incoming Flash
Acknowledge based upon detection of the startsequence
R(space)Z(space). The following designator is compared
with the outgoing channel designator (search channel
table ref. 4.2.1.6.27) and the TSN converted into
binary form and returned; if any mismatch or validation
error, the ASM-type is considered as not determined.
Shared procedures:
- Locate after space (4.2.1.6.2.4)
- Analyze Alpha (4.2.1.6.2.1)
- Analyze Numeric (4.2.1.6.2.2)
- ASCII Binary (4.2.1.6.2.7)
g) A̲n̲a̲l̲y̲z̲e̲ ̲C̲h̲a̲n̲n̲e̲l̲ ̲C̲h̲e̲c̲k̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines the ASM ̲type to be a Channel Check if
the startsequence of the FL12G equals CHANNEL CHECK;
Next the Channel Check-type is determined and delivered
back using the following principles:
R̲I̲-̲F̲L̲2̲ R̲I̲-̲F̲L̲3̲
Local Not local = Continuity
Local Local = Self-incoming
not-local not-local = self-outgoing
The RI ̲FL2 local/not-local equals the SEND ̲FOR
̲DISTRIBUTION = TRUE/SEND ̲FOR ̲CONVERSION = TRUE;
the RI ̲FL3 is extracted via a search in the local
RI table (ref. 4.2.1.6.15) using the ADMINISTRATION.STATION
̲ID as key.
Shared procedures:
- search local RI (4.2.1.6.5.4)
4.2.1.4.24.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Aministraction Field (DBD/001 10.1.1)
ACP ̲Parameter Field (DBD/001 10.2.2)
Local RI table (DBD/001 6.8
Channel table (DBD/001 5.3.4)
Message Type Data 4.2.1.5.7
TMP Data 4.2.1.5.2
AAS ̲TRS (CPS/ICD/009 5.6.2)
ASM ̲DATA (4.2.1.5.5)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
QEL ATTRIBUTE
ADMINISTRATION.STN ̲ID
ACP ̲PARAMS.CHANNEL ̲NO
ASM ̲TYPE (m)
ASM ̲SUBQUEUE (m)
ASM ̲VIEW (m)
ASM ̲INFO (m)
ASM ̲REPLY ̲COUNT (m)
ASM ̲SECOND ̲CHANNEL (m)
ASM ̲SECOND ̲VIEW (m)
INTERNAL ̲ASM (m)
EXTERNAL ̲ASM (m)
SEND ̲FOR ̲DISTRIBUTION …02…(m)
SEND ̲FOR ̲CONVERSION
MESSAGE ̲MASK
WRITE ̲TEXT (m)
TEXT ̲POINTER (m)
FL ̲NUMBER
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Type
CHANNEL ̲CHECK ̲TYPE = (NOT ̲CHANNEL ̲CHECK
CONTINUITY,
SELF ̲INCOMING
SELF ̲OUTGOING)
4.2.1.4.24.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The ASM Control module will analyze any ASM forwarded
to analysis; if the ASM is of a type to be handled
internal to THP, it initiates the variables ASM ̲TYPE,
ASM ̲VIEW and ASM ̲INFO with a contents to be used during
Finish Analysis Procedures; that is the subtype of
the QEL, whether the view shall follow the QEL, and
whether any additional information shall follow the
QEL when it finally are sent to a Transport Control
Queue. The ASM analyzed by this module is flagged as
INTERNAL ̲ASM when the processing starts; if it is not
recognized it will be flagged as external ̲ASM instead,
indicating that supervisor shall receive the message
(if not FL2 contains external RI's)
See module components for specific details related
to each ASM ̲type; these procedures will in addition
check the relevance of such ASM-type associated to
the originating system/device based upon the QEL ̲HEADER.
MAINTYPE; if not relevant - no analysis.
Fig. 4.2.1.4-24…01…STRUCTURE ASM ̲CONTROL
A̲S̲M̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(FL ̲POINTER)( )
TEXT ̲POINTER = FL ̲POINTER - IOC ̲RECORD ̲SIZE
WRITE ̲TEXT = TRUE
ANALYZE ̲CHANNEL ̲CLOSE (FL)(CC)
CC = OK? ASM ̲TYPE = CHANNEL ̲CLOSE ̲RECEIVED
ASM ̲SUBQUEUE = PRIMARY
ASM ̲VIEW = FALSE
ASM ̲INFO = ZERO
ANALYZE ̲CHANNEL ̲OPEN(FL)(CC)
CC = OK? ASM ̲TYPE = CHANNEL ̲OPEN ̲RECEIVED
ASM ̲SUBQUEUE = PRIMARY
ASM ̲VIEW = FALSE
ASM ̲INFO = ZERO
ANALYZE ̲CHANNEL ̲TEST(FL)(TEST ̲VALUE, CC)
CC = OK? ASM ̲TYPE = SEND ̲TEST ̲REPLY
ASM ̲SUBQUEUE = SECONDARY
ASM ̲VIEW = FALSE
ASM ̲INFO = TEST ̲VALUE
ANALYZE ̲TEST ̲REPLY(FL)(TEST ̲VALUE; CC)
CC = OK? ASM ̲TYPE = TEST ̲REPLY ̲RECEIVED
ASM ̲SUBQUEUE = PRIMARY
ASM ̲VIEW = FALSE
ASM ̲INFO = TEST ̲VALUE
ANALYZE ̲TSN ̲CHECK(FL)(TSN ̲VALUE, CC)
CC = OK? ASM ̲TYPE = TSN ̲CHECK ̲RECEIVED
ASM ̲SUBQUEUE = PRIMARY
ASM ̲VIEW = FALSE
ASM ̲INFO = TSN ̲VALUE
EXTERNAL ̲ASM = TRUE
ANALYZE ̲FLASH ̲ACKNOWLEDGE(FL (TSN ̲VALUE, CC)
CC = OK? ASM ̲TYPE = FLASH ̲ACK ̲RECEIVED
ASM ̲SUBQUEUE = PRIMARY
ASM ̲VIEW = TRUE
ASM ̲INFO = TSN ̲VALUE
continues
continues ASM ̲CONTROL
ANALYZE ̲CHANNEL ̲CHECK(FL)(CHANNEL ̲CHECK, CC)
CC = OK? CASE CHANNEL ̲CHECK OF:
CONTINUITY: SEND ̲FOR ̲DISTRIBUTION = FALSE
INTERNAL ̲ASM = FALSE
SELF ̲INCOMING: ASM ̲TYPE = SELF ̲CHECK ̲RECEIVED
ASM ̲SUBQUEUE = PRIMARY
ASM ̲VIEW = TRUE
ASM ̲INFO = ZERO
SELF ̲OUTOING: INTERNAL ̲ASM = FALSE
END CHANNEL ̲CHECK CASE
INTERNAL ̲ASM ̲TYPE = FALSE
EXTERNAL ̲ASM ̲TYPE = TRUE
RETURN
4.2.1.4.25 F̲i̲n̲i̲s̲h̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.25.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 of the Finish Analysis Module are:
- to decide if the message can follow the normal
message flow or shall be sent to a MSO position
for garble correction or inspection
- to create the Internal Message Format based upon
above decision and results of Analysis Control
Procedures.
- to do message delivery to the next responsible
subpackage on the message flow
- to inform the Transport Control Subpackage of received
ASM's
- to instruct the Transport Control Subpackage to
send ASM's as reply
- to inform MSO when a reentered message has been
analyzed correct or incorrect.
- to deliver log and statistics associated to the
incoming message.
4.2.1.4.25.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FINISH ̲ANALYSIS
b) FINISH ̲ANALYSIS (R6)
4.2.1.4.25.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.1.4-25 for structure Finish Analysis module.
a) M̲S̲O̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Cancels the normal message flow in case the message
was received garbled or has been declared garbled
during Analysis Control Procedures.
b) D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲D̲i̲s̲p̲a̲t̲c̲h̲
Determines if Data Collection shall be done in
relation to the originating source of the message;
and if positive the type of data ̲collection (Log,
statistics, storage)
c) I̲M̲F̲ ̲C̲r̲e̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲
Ref. 4.2.1.4.26 for description
d) D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲
Ref. 4.2.1.4.27 for description
- Log and Statistics
e) I̲n̲t̲e̲r̲n̲a̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.1.4.28 for description
- internal ASM's
f) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲e̲l̲i̲v̲e̲r̲y̲ ̲M̲o̲d̲u̲l̲e̲
Ref. 4.2.1.4.29 for description
g) T̲H̲P̲ ̲A̲c̲k̲n̲o̲w̲l̲e̲d̲g̲e̲m̲e̲n̲t̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Sends completion (acknowledgement) to MSO after
reentering from garble correction or inspection
(positive = Ack, negative = Message ̲view) and to
SSC AFTER RECEIPT OF Close ̲down command.
h) L̲o̲g̲ ̲C̲o̲m̲p̲l̲e̲t̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Waits in the log-completion subqueue for acknowledgement
from the Log package.
i) F̲i̲n̲i̲s̲h̲ ̲Q̲E̲L̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Dismantles received QEL and the QEL referencing
a new view if such has been used.
j) P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲E̲r̲r̲o̲r̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.1.6.2 for description
4.2.1.4.25.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Analysis Data (4.2.1.5.5)
QEL Data (4.2.1.5.3)
View Data (4.2.1.5.4)
LOG-THP (CPS/ICD/009 5.4.1)
THP-TEP (CPS/ICD/009 5.2.2)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
WAIT ̲QUEUE (m)
RECEIVE ̲SUBQUEUE
QEL ̲REF
SEND ̲QEL ̲REF (m)
SEND ̲PARAMS (m)
QEL ̲ATTRIBUTES
QUEUE ̲REF (m)
QEL ̲HEADER
SEND ̲FOR ̲PARAMS (m)
PREEMPTED ̲MSG
INCOMING ̲MSG
ACP ̲PARAMS.NO ̲OF ̲ERRORS
QEL ̲HEADER. FLAG (m)
VALID ̲MSG (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.4.25.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Messages are received from the Init Analysis procedures
directly if they were received garbled, or from the
Analysis Control procedures where analysis errors might
have been detected; if received after Analysis Control
procedures the normal message flow destinations have
been determined (Routing Control procedure); but if
the message is found invalid, all normal destinations
will be cancelled. The following procedures of the
Finish Analysis are highly influenced by that decision
(valid message/invalid message)
If invalid message, the build up IMF in the Analysis
Buffer will not be written (only deletion log); the
data ̲collection will be to the incoming invalid message
log and incoming rejected message statistics, no storage
and no external deliveries to other than MSO; also
the internal delivery procedures will be suspended
(no flash acknowledgement or internal ASM Handling
procedures)
In case the message received for analysis is received
via the Flash-subqueue, an acknowledgement shall be
sent to MSO; if invalid-msg the message-view is returned
- otherwise a selfcontained THP ̲acknowledgement.
Finally the log-completion QEL, indicating that the
previous delivered log-record has been taken care of,
shall be awaited (if not ready) in the log-completion-subqueue,
and the received QEL can be dismantled.
Fig. 4.2.1.4-25…01…STRUCTURE FINISH ANALYSIS MODULE
F̲I̲N̲I̲S̲H̲ ̲A̲N̲A̲L̲Y̲S̲I̲S̲
WAIT ̲QUEUE = COMMAND?
MSO ̲DISPATCH ( )(VALID ̲MSG)
DATA ̲COLLECTION ̲DISPATCH(VALID ̲MSG)( )
IMF ̲CREATION(VALID ̲MSG)(CC)
CC = NOT ̲OK? VALID ̲MSG = TRUE
DATA ̲COLLECTION(VALID ̲MSG)( )
VALID ̲MSG? INTERNAL ̲MESSAGE ̲HANDLING
EXTERNAL ̲DELIVERY
RECEIVE ̲SUBQUEUE NE FLASH?
THP ̲ACKNOWLEDGEMENT
WAIT ̲QUEUE = LOG ̲COMP? LOG ̲COMPLETION
FINISH ̲QEL
RETURN
M̲S̲O̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲(̲ ̲ ̲)̲(̲V̲A̲L̲I̲D̲ ̲M̲S̲
VALID ̲MSG = TRUE
ACP ̲PARAMS.NO ̲OF ̲ERRORS NE ZERO? SEND ̲FOR ̲GARBLE =
TRUE
SEND ̲FOR ̲GARBLE = TRUE?
SEND ̲FOR ̲INSPECTION = FALSE?
QEL ̲HEADER ̲SUBTYPE = FROM ̲GARBLE ̲CORRECTION
OR FROM ̲INSPECTION?
SEND ̲FOR ̲INSPECTION =
FALSE
SEND ̲FOR ̲CONVERSION = FALSE
SEND ̲FOR ̲RELAYING = FALSE
SEND ̲FOR ̲DISTRIBUTION = FALSE
SEND ̲FOR ̲COORDINATION = FALSE
SEND ̲FOR ̲RELEASE = FALSE
SEND ̲FOR ̲UMAN = FALSE
SEND ̲FOR ̲SUPERVISOR = FALSE
SEND ̲FOR ̲PUNCH = FALSE
VALID ̲MSG = FALSE
SEND ̲FOR ̲GARBLE = FALSE?
SEND ̲FOR ̲INSPECTION = FALSE
QEL ̲HEADER.FLAG = NO ̲ERROR? QEL ̲HEADER. FLAG
= ANALYSIS ̲ERROR
QEL ̲HEADER. FLAG = NO ̲ERROR? QEL ̲HEADER. FLAG
= PILOT ̲INSPECTION
PREEMPTED ̲MSG? VALID ̲MSG = FALSE
RETURN
D̲A̲T̲A̲ ̲C̲O̲L̲L̲E̲C̲T̲I̲O̲N̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲ ̲(VALID ̲MSG)( )
QEL ̲HEADER.MAINTYPE = FROM ̲NORMAL ̲PTR?
QEL ̲HEADER.MAINTYPE NE FROM ̲DEDICATED ̲PTR?
INCOMING ̲MSG = FALSE?
VALID ̲MSG = TRUE? SEND ̲FOR ̲STORAGE = TRUE
VALID ̲MSG = FALSE? SEND ̲FOR ̲LOG = TRUE
SEND ̲FOR ̲STATISTICS = TRUE
SEND ̲FOR ̲LOG = TRUE
SEND ̲FOR ̲STATISTICS = TRUE
SEND ̲FOR ̲STORAGE = TRUE
RETURN
T̲H̲P̲ ̲A̲C̲K̲N̲O̲W̲L̲E̲D̲G̲E̲M̲E̲N̲T̲ (VALID ̲MSG)( )
VALID ̲MSG = FALSE?
SEND ̲QEL. REF = ZERO
SEND ̲QEL. MAINTYPE = ACKNOWLEDGE
SEND ̲QEL. SUBTYPE = THP ̲ACK
SEND ̲QEL. SUBQUEUE = COMMAND?
SEND ̲QEL. FLAG = ZERO
SEND ̲PARAMS. INFO ̲TYPE = FALSE
SEND ̲PARAMS. CHECKP ̲STATUS = FALSE
SEND ̲REPLY (SEND ̲PARAMS, SEND ̲QEL ̲REF; QEL ̲REF)
(SEND ̲PARAMS, CC) : ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, SEND ̲REPLY,
NO ̲ACCEPT)( )
RETURN
L̲O̲G̲ ̲C̲O̲M̲P̲L̲E̲T̲I̲O̲N̲
WAIT = TRUE
QUEUE ̲REF.MAIN ̲QUEUE = ANQ
QUEUE ̲REF. SUB ̲QUEUE = LOG ̲COMP
RECEIVE ̲FIRST ̲QEL(WAIT, QUEUE ̲REF
QEL ̲ATTRIBUTES)
(QEL ̲REF; RECEIVE ̲SUBQUEUE, CC)
: ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, RECEIVE ̲LOG ̲COMP
NO ̲ACCEPT)( )
DISMANTLE (QEL ̲REF)(CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, DISMANTLE ̲LOG ̲COMP
NO ̲ACCEPT)( )
WAIT ̲QUEUE = MAIN
RETURN
F̲I̲N̲I̲S̲H̲ ̲Q̲E̲L̲
WAIT ̲QUEUE = COMMAND? DISMANTLE(QEL ̲REF)(CC): ERROR
̲OK
ERROR? PROCESSING ̲ERROR
(CC, DISMANTLE ̲CMD
NO ̲ACCEPT)( )
SEND ̲QEL ̲REF = QEL ̲REF?
DISMANTLE = TRUE
SAVE ̲VIEW(DISMANTLE, SEND ̲QEL ̲REF)(CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, DISMANTLE ̲VIEW,
NO ̲ACCEPT)( )
DISMANTLE = TRUE
SAVE ̲VIEW(DISMANTLE, QEL ̲REF)(CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, DISMANTLE ̲RECEIVED ̲
VIEW, NO ̲ACCEPT)( )
WAIT ̲QUEUE = MAIN
RETURN
4.2.1.4.26 I̲M̲F̲ ̲C̲r̲e̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.26.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 of the IMF creation module are:
- build up of a deletion ̲log(administration ̲field)
for use in case the message should be automatically
deleted.
- build up of Queue Element Information (final message-type
and flag-values)
- change of security-profile from the classification
of the incoming channel into the actual message-classification.
- write contents of analysis buffer into pre-determined
Fields of the Internal Message Format.
4.2.1.4.26.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) IMF ̲CREATION ( ) (CC)
b) IMF ̲CREATION (R5, R6)
4.2.1.4.26.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.1.4-26 for structure IMF ̲CREATION module
a) B̲u̲i̲l̲d̲ ̲D̲e̲l̲e̲t̲i̲o̲n̲ ̲L̲o̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the deletion log (administration Field)
with available information in case the View should
be subject for automatic deletion.
Shared procedures:
- Analyze Alpha (4.2.1.6.2.1)
- Move Characters (4.2.1.6.1.6)
- Analyze Numeric (4.2.1.6.2.2)
- ASCII Binary (4.2.1.6.2.7)
b) B̲u̲i̲l̲d̲ ̲Q̲E̲L̲ ̲I̲N̲F̲O̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
- Assigns the Maintype with the message-type
identified during analysis control procedures.
- assigns the QEL. Flag ̲values in accordance
with detection of Relay-instruction, readdressal
or/and pilot.
- assigns the TFC-mask to automatic release if
the originating source of the message was a
normal PTR.
c) B̲u̲i̲l̲d̲ ̲a̲c̲c̲e̲s̲s̲ ̲p̲r̲o̲f̲i̲l̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Changes the access-profile received with classification
equal to the incoming channel (circuit) to the
detected message classification.
Assignment of the following indicators:
- special handling
- encrypted
- exersize
d) M̲o̲v̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲F̲I̲E̲L̲D̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Because two fields of variable length have been
build up during analysis control procedures in
the analysis-buffer(Address and PLA ̲RI field) one
of them shall be moved from a temporary position
into a position suitable for write of the message-fields
in the same call; and this is the PLA ̲RI field
always.
Shared procedures:
- FL Control (4.2.1.6.1.3)
- Move Characters (4.2.1.6.1.6)
e) P̲r̲e̲p̲a̲r̲e̲ ̲V̲i̲e̲w̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
If the message has been reentered from garble-correction,
it contains an incomplete administration and ACP-
parameter ̲field; therefore a new view is created
without these fields in order to achieve the same
field-organization as if the message was received
from the Incoming Transport Subpackage.
f) P̲r̲e̲p̲a̲r̲e̲ ̲F̲i̲e̲l̲d̲s̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the field-list to be used during Update
View procedures. Creates fields neccessary for
field-updates of the Internal Message Format. Calculates
start and ending pointers of the complete new data-part
to be appended to the message-view.
g) U̲p̲d̲a̲t̲e̲ ̲V̲i̲e̲w̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Performs the updating of new message-fields and
closes the message-view.
h) P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲E̲r̲r̲o̲r̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.1.6.1.2 for description.
4.2.1.4.26.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Analysis Buffer (4.2.1.5.1)
QEL Data (4.2.1.5.3)
View Data (4.2.1.5.4)
FL ̲Analysis Data (4.2.1.5.8)
Message Type Data (4.2.1.5.7)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SEND ̲QEL ̲REF (m)
QUEUE ̲REF (m)
ANALYSIS ̲BUFFER
QEL ̲REF
VIEW ̲REF
FIELD ̲LIST (m)
FIELD ̲INFO (m)
ACCESS ̲PROFILE (m)
ADMINISTRATION.DELETION ̲LOG (m)
ADMINISTRATION.MAINTYPE (m)
ADMINISTRATION.FLAG (m)
ADMINISTRATION.ITEM ̲REF (m)
ADMINISTRATION.TIME ̲STAMP (m)
ADMINISTRATION.CLASS
ADMINISTRATION.SPECIAL ̲HANDL ̲INST
CLEAR
ENCRYPTED ̲TYPE
EXERSIZE ̲DETECTED
VALID ̲MSG
WRITE ̲TEXT
WRITE ̲ACP ̲PARAMS
WRITE ̲ADDRESS
WRITE ̲PLA ̲RI
ACP ̲PARAMS ̲POINTER
TEXT ̲POINTER
ADMINISTRATION ̲POINTER
ADDRESS ̲POINTER
PLA ̲RI ̲POINTER (m)
RELAY ̲DYNAMIC ̲POINTER (D)
RELAY ̲STATIC ̲POINTER (D)
END ̲BUFFER ̲POINTER (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
START ̲POINTER: INTEGER
END ̲POINTER: INTEGER
BUFFER ̲SIZE: INTEGER
4.2.1.4.26.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
During Analysis Control procedures an update of a message-field(contained
in the analysis-buffer) resulted in assignment of a
WRITE ̲boolean to true; if the message is not garbled
these write ̲booleans are used as guides for which fields
shall be updated. Should the message be garbled, only
the administration ̲field(containing a deletion log)
will be updated. Should the message have been reentered
after garble correction it will always have the ACP-parameter
field updated in addition. Comments, VDU-pages and
Abbreviated Service Messages will after successful
analysis have the text-field updated; the text was
contained in the header-field (no BT's to separate
the header from the text), so the Text-field did not
exist at all. For specific details ref. description
of module components.
Fig. 4.2.1.4-26…01…STRUCTURE IMF CREATION MODULE
I̲M̲F̲ ̲C̲R̲E̲A̲T̲I̲O̲N̲ ̲(VALID ̲MSG)(CC)
CC = OK
SEND ̲QEL ̲REF = QEL ̲REF
BUILD ̲DELETION ̲LOG
VALID ̲MSG = FALSE?
BUILD ̲QEL ̲INFO
BUILD ̲ACCESS ̲PROFILE
MOVE ̲PLA ̲RI ̲FIELD
QEL ̲HEADER.SUBTYPE = FROM ̲GARBLE? PREPARE VIEW (QEL
̲REF)
(SEND ̲QEL ̲REF,
CC)
CC = NOT ̲OK?
PREPARE ̲FIELDS(VALID ̲MSG, SEND ̲QEL ̲REF)(START ̲POINTER,
END ̲POINTER)
UPDATE ̲VIEW (START ̲POINTER, END ̲POINTER)
RETURN
B̲U̲I̲L̲D̲ ̲D̲E̲L̲E̲T̲I̲O̲N̲ ̲L̲O̲G̲
USING ADMINISTRATION. DELETION ̲LOG
LOG ̲TYPE = INIT ̲IN ̲CTS
ITEM ̲1 ̲REF ̲ID = ACP ̲PARAMS. ITEM ̲REF
MESSAGE ̲TYPE = UNIDENTIFIED
ACP ̲HEADER ̲POINTER + IOC ̲RECORD ̲SIZE + SOTF ̲SIZE"incomplete
FL1"=
IOC
̲SEPARATOR?
FL = ADS CALCULATED
CHANNEL ̲DESIGNATOR = FL(1..3)
CHANNEL ̲SERIAL ̲NO = FL(4..6)
ANALYZE ̲ALPHA (CHANNEL ̲DISIGNATOR,3)
(FL,CC)
CC = NOT ̲OK? CHANNEL ̲DESIGNATOR = DUMMY ̲DESIGNATOR
"spaces"
ANALYZE ̲NUMERIC (CHANNEL ̲SERIAL ̲NO,3)
(FL,CC)
CC = NOT ̲OK? CHANNEL ̲SERIAL ̲NO = DUMMY ̲TSN "zeroes"
RETURN
B̲U̲I̲L̲D̲ ̲Q̲E̲L̲ ̲I̲N̲F̲O̲
QEL ̲HEADER. MAINTYPE = FROM ̲NORMAL ̲PTR? QEL ̲INFO.TFC
̲MASK =
AUTOMATIC ̲RELEASE
CASE MESSAGE ̲MASK OF:
#1: ADMINISTRATION. MAINTYPE = PLAINDRESS
#5: ADMINISTRATION. MAINTYPE = PLAINDRESS ̲DATA
#9: ADMINISTRATION. MAINTYPE = PLAINDRESS ̲ENCRYPTED
#11: ADMINISTRATION. MAINTYPE = PLAINDRESS ̲SERVICE
#81: ADMINISTRATION. MAINTYPE = SC ̲PLAINDRESS
#85: ADMINISTRATION. MAINTYPE = SC ̲PLAINDRESS ̲DATA
#89: ADMINISTRATION. MAINTYPE = SC ̲PLAINDRESS ̲ENCRYPTED
#91 ADMINISTRATION. MAINTYPE = SC ̲PLAINDRESS ̲SERVICE
#2: ADMINISTRATION. MAINTYPE = ABB ̲PLAINDRESS
#6: ADMINISTRATION. MAINTYPE = ABB ̲PLAINDRESS ̲DATA
#A: ADMINISTRATION. MAINTYPE = CODRESS
#12: ADMINISTRATION. MAINTYPE = ABB ̲PLAINDRESS ̲SERVICE
#A0: ADMINISTRATION. MAINTYPE = SC ̲VDU ̲PAGE
#C0: ADMINISTRATION. MAINTYPE = SC ̲COMMENT
END CASE MESSAGE ̲MASK
ADMINISTRATION.FLAG = NON ̲CAMPS ̲ORIGINATED
PILOT ̲DETECTED? ADMINISTRAION. FLAG = PILOT
QEL ̲INFO.TFC ̲MASK = INSERT ̲PILOT
READDRESSAL ̲DETECTED? ADMINISTRATION.FLAG = READDRESSAL
RELAY ̲INSTRUCTIONS ̲DETECTED? ADMINISTRATION.FLAG =
RELAY ̲INSTRUCTIONS
DELETION ̲LOG.MESSAGE ̲TYPE = ADMINISTRATION.MAINTYPE
ADMINISTRATION.ITEM ̲REF = ACP ̲PARAMS.ITEM ̲REF
GET ̲TIME ̲STAMP( )(TIME ̲STAMP)
ADMINISTRATION.TIME ̲STAMP = TIME ̲STAMP
RETURN
B̲U̲I̲L̲D̲ ̲A̲C̲C̲E̲S̲S̲ ̲P̲R̲O̲F̲I̲L̲E̲
ACCESS ̲PROFILE.LEAST = ADMINISTRATION.SPEC ̲HANDL
CLEAR? UNCLASSIFIED? CONFIDENTIAL OR ACCESS ̲PROFILE.LEAST
ADMINISTRATION.CLASS OR ACCESS ̲PROFILE. LEAST
ENCRYPTED ̲TYPE? BIT3 OR ACCESS ̲PROFILE.LEAST
EXERSIZE ̲DETECTED? BIT8 OR ACCESS ̲PROFILE. MOST
EQUIVALENCE(VIEW ̲REF = QEL ̲REF)
CHANGE ̲PROFILE (ACCESS ̲PROFILE, VIEW ̲REF)
(CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, CHANGE ̲PROFILE,
NO ̲ACCEPT)( )
RETURN
M̲O̲V̲E̲ ̲P̲L̲A̲ ̲R̲I̲ ̲F̲I̲E̲L̲D̲
WRITE ̲PLA ̲RI = FALSE?
FL = PLA ̲RI ̲FIELD ̲POINTER
PLA ̲RI ̲FIELD ̲POINTER = ADDRESS ̲WORD ̲POINTER
MOVE PLA ̲RI ̲DESCRIPTOR (FL + DESCRIPTOR ̲SIZE)
PLA ̲RI ̲SIZE = (PLA ̲RI ̲DYNAMIC ̲COUNT + PLA ̲RI ̲STATIC
̲COUNT)
* PLA ̲RI ̲RECORD ̲SIZE
MOVE PLA ̲RI ̲RECORDS(FL + PLA ̲RI ̲SIZE)
PLA ̲RI.RELAY ̲DYNAMIC ̲COUNT = ZERO?
FL = RELAY ̲DYNAMIC ̲POINTER
RELAY ̲SIZE = RELAY ̲DYNAMIC ̲COUNT
* RELAY ̲RECORD ̲SIZE
MOVE RELAY ̲RECORDS(FL + RELAY ̲SIZE)
PLA ̲RI.RELAY ̲STATIC ̲COUNT = ZERO?
FL = RELAY ̲STATIC ̲POINTER
RELAY ̲SIZE = RELAY ̲STATIC ̲COUNT
*RELAY ̲RECORD ̲SIZE
MOVE RELAY ̲RECORDS (FL = RELAY ̲SIZE)
RETURN
P̲R̲E̲P̲A̲R̲E̲ ̲V̲I̲E̲W̲ ̲(QEL ̲REF)(SEND ̲QEL ̲REF, CC)
CC = OK
USING VIEW ̲ATTRIBUTES. FIELD ̲INF. FIELD ̲STATUS
VIEW ̲REF = QEL ̲REF
ADMINISTRATION = NOT ̲EXISTING
TEXT = INCLUDE ̲FROM ̲PREDECESSOR
ACP ̲PARAMS = NEW ̲FIELD
ACP ̲HEADER = INCLUDE ̲FROM ̲PREDECESSOR
ACP ̲TEXT ̲ENDING = INCLUDE ̲FROM ̲PREDESSOR
SET WRITE ̲ACCESS TO FIELDS
QUEUE ̲REF. MAINQUEUE = ANQ
QUEUE ̲REF. SUB ̲QUEUE = RECEIVE ̲SUB ̲QUEUE
CREATE ̲VIEW (VIEW ̲ATTRIBUTES, VIEW ̲REF,
QEUEUE ̲REF)
(VIEW ̲ATTRIBUTES, NEW ̲VIEW ̲REF,
CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR (CC, CREATE ̲VIEW
FIELDGROUP ̲EXCEEDED)( )
CC? NOT ̲OK
SEND ̲QEL ̲REF = NEW ̲VIEW ̲REF
RETURN
P̲R̲E̲P̲A̲R̲E̲ ̲F̲I̲E̲L̲D̲S̲ (VALID ̲MSG, SEND ̲QEL ̲REF)
(START ̲POINTER, END ̲POINTER)
VIEW ̲REF = SEND ̲QEL ̲REF
USING VIEW ̲ATTRIBUTES. FIELD ̲INF
START ̲POINTER = ADMINISTRATION ̲POINTER
NO ̲OF ̲FIELDS = ZERO
VALID ̲MSG = FALSE?
WRITE ̲TEXT = FALSE?
START ̲POINTER = TEXT ̲POINTER
INCREMENT NO ̲OF FIELDS
USING FIELD ̲LIST (NO ̲OF ̲FIELDS)
FIELD ̲GROUP ̲ID = TEXT
FIELD ̲BYTE ̲ADS = ZERO
RECORD ̲LENGTH = ACP ̲PARAMS ̲POINTER
- TEXT ̲POINTER
Continues
continued PREPARE ̲FIELDS (2)
WRITE ̲ACP ̲PARAMS = FALSE?
START ̲POINTER = ACP ̲PARAMS ̲POINTER
INCREMENT NO ̲OF ̲FIELDS
USING FIELD ̲LIST (NO ̲OF ̲FIELDS)
FIELD ̲GROUP ̲ID = ACP ̲PARAMS
FIELD ̲BYTE ̲ADS = ZERO
RECORD ̲LENGTH = ADMINISTRATION ̲POINTER
- ACP ̲PARAMS ̲POINTER
INCREMENT NO ̲OF ̲FIELDS
FIELD ̲INF. FIELD ̲STATUS = NEW ̲FIELD
FIELD ̲INF. ALLOCATED ̲LENGTH = 512
USING FIELD ̲LIST (NO ̲OF ̲FIELDS)
FIELD ̲GROUP ̲ID = ADMINISTRATION
FIELD ̲BYTE ̲ADS = ZERO
RECORD ̲LENGTH = ADDRESS ̲POINTER
-ADMINISTRATION ̲POINTER
END ̲POINTER = ADDRESS ̲POINTER
VALID ̲MSG = FALSE?
FIELD ̲INF.SCD = NEW ̲FIELD
continues
continued PREPARE ̲FIELDS (3)
WRITE ̲ADDRESS = FALSE?
INCREMENT NO ̲OF ̲FIELDS
FIELD ̲INF. FIELD ̲STATUS = NEW ̲FIELD
FIELD ̲INF. ALLOCATED ̲LENGTH =
PLA ̲RI ̲POINTER - ADDRESS ̲POINTER
USING FIELD ̲LIST (NO ̲OF ̲FIELDS)
FIELD ̲GROUP ̲ID = ADDRESS
FIELD ̲BYTE ̲ADS = ZERO
RECORD ̲LENGTH = PLA ̲RI ̲POINTER
-ADMINISTRATION ̲POINTER
WRITE ̲PLA ̲RI = FALSE?
INCREMENT NO ̲OF ̲FIELDS
FIELD ̲INF.FIELD ̲STATUS = NEW ̲FIELD
FIELD ̲INF.ALLOCATED ̲LENGTH =
END ̲BUFFER ̲POINTER - PLA ̲RI ̲POINTER
USING FIELD ̲LIST (NO ̲OF ̲FIELDS)
FIELD ̲GROUP ̲ID = PLA ̲RI
FIELD ̲BYTE ̲ADS = ZERO
RECORD ̲LENGTH = END ̲BUFFER ̲POINTER
̲PLA ̲RI ̲POINTER
END ̲POINTER = END ̲BUFFER ̲POINTER
continues
continued PREPARE ̲FIELDS (4)
CREATE ̲FIELDS (FIELD ̲INF, VIEW)
FIELD ̲INF, CC) : ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, CREATE ̲FIELDS,
NO ̲ACCEPT)( )
RETURN
U̲P̲D̲A̲T̲E̲ ̲V̲I̲E̲W̲ ̲ (START ̲POINTER, END ̲POINTER)( )
EQUIVALENCE (VIEW ̲REF = QEL ̲REF)
BUFFER ̲SIZE = END ̲POINTER - START ̲POINTER
WRITE ̲VIEW (BUFFER ̲SIZE,
FIELD ̲LIST
VIEW ̲REF,
START ̲POINTER)
(FIELD ̲LIST, CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR (CC, WRITE ̲VIEW,
NO ̲ACCEPT)( )
CLOSE ̲VIEW (VIEW ̲REF)(CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, CLOSE ̲VIEW,
NO ̲ACCEPT)( )
RETURN
4.2.1.4.27 D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.27.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 of the Data Collection module are:
- collection and delivery of incoming valid log and
incoming invalid log.
- collection of statistics for incoming messages
per channel.
4.2.1.4.27.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲:̲
a) DATA ̲COLLECTION
b) DATA ̲COLLECTION (R6)
4.2.1.4.27.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.1.4-27 for structure Data Collection module.
a) C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲I̲n̲c̲o̲m̲i̲n̲g̲ ̲L̲o̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the Log-record in accordance with the
valid message indicator using the data collected
during analysis control procedures.
b) C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲I̲n̲c̲o̲m̲i̲n̲g̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the statistics-record using the data
collected during analysis control procedures.
c) P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲E̲r̲r̲o̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.1.6.1.2 for description
4.2.1.4.27.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Statistics (CPS/ICD/009 6.1.1.3.2.1)
Incoming Log (CPS/ICD/009 6.1.2-2)
QEL ̲DATA (4.2.1.5.3)
VIEW ̲DATA (4.2.1.5.4)
Administration ̲field (DBD/001 10.1.1)
ACP ̲Parameter ̲field (DBD/001 10.2.2)
THP ̲LOG (CPS/ICD/009 5.4.2)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SEND ̲FOR ̲LOG
SEND ̲FOR ̲STATISTICS
BUFFER ̲REF (m)
ANSWER ̲QUEUE ̲REF (m)
QUEUE ̲REF (m)
SEND ̲PARAMS (m)
TRAFFIC ̲LOG (m)
TMP ̲RESULT ̲AREA (D)
ADMINISTRATION.DELETION ̲LOG
ADMINISTRATION.CHANNEL ̲DESIGNATOR
ADMINISTRATION.CSN
ADMINISTRATION.MAINTYPE
ADMINISTRATION.ITEM ̲REF
ADMINISTRATION.ACTION ̲PREC
ADMINISTRATION.STATION ̲ID
ADMINISTRATION.SSN
ADMINISTRATION.FILE ̲TIME
ADMINISTRATION.CLASS
ADMINISTRATION.SPEC ̲HANDL ̲INST
ADMINISTRATION.SIC
ACP ̲PARAMS.HEADING ̲END ̲OFFSET
ACP ̲PARAMS.TEXT ̲END ̲OFFSET
ACP ̲PARAMS.ENDING ̲END ̲OFFSET
QEL ̲HEADER.FLAG "Problem-code"
VALID ̲MSG
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
START ̲POINTER: INTEGER
END ̲POINTER: INTEGER
4.2.1.4.27.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The subjects for Log and statistics have previously
been selected by the Data Collection procedure of the
Finish Analysis Module; so this module simply collects
what previously has been decided.
The message for collection might be invalid (valid
message indicator) but the logic is mainly the same
during collection procedures; the administration field
from where the major data are picked up, contains dummy-parameters
if no data could be found during analysis control procedures.
If an invalid log is built up, the problem code will
be assigned the value still kept in the QEL ̲FLAG of
the received message (not changed because invalid message);
afterwards the message shall be inspected or corrected
at an incoming MSO-position where the very same code
will be displayed; that is, halted message, Analysis-error,
pilot-inspection etc.
Fig. 4.2.1.4-27…01…STRUCTURE DATA COLLECTION MODULE
D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ (VALID ̲MSG) ( )
SEND ̲FOR ̲LOG = FALSE?
COLLECTION ̲INCOMING ̲LOG(VALID ̲MSG)(START ̲POINTER
END ̲POINTER)
BUFFERSIZE = END ̲POINTER - START ̲POINTER
QUEUE ̲REF.MAIN ̲QUEUE = COQ
QUEUE ̲REF. SUB ̲QUEUE = LOG ̲COMP
RESERVE ̲BUFFER (BUFFER ̲SIZE, QUEUE ̲REF)
(BUFFER ̲REF, CC) :ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, RESERVE ̲BUFFER,
NO ̲ACCEPT)( )
WRITE ̲BUFFER(BUFFER ̲REF, START ̲POINTER,
BUFFER ̲SIZE, OFFSET = ZERO,
SIZE = BUFFER ̲SIZE)
(CC) : ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, WRITE ̲BUFFER
NO ̲ACCEPT)( )
QUEUE ̲REF.MAINQUEUE = LOG
QUEUE ̲REF.SUBQUEUE = PRIMARY
ANSWER ̲QUEUE ̲REF.MAINQUEUE = COQ
ANSWER ̲QUEUE ̲REF.SUB ̲QUEUE = LOG ̲COMP
SEND ̲PARAMS.INFORMATION ̲TYPE = FALSE
SEND ̲PARAMS. CHECKP ̲STATUS = FALSE
SEND ̲REQUEST (SEND ̲PARAMS, BUFFER ̲REF,
QUEUE ̲REF, ANSWER ̲QUEUE ̲REF)
(SEND ̲PARAMS, CC) : ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, SEND ̲BUFFER,NO ̲ACCEPT)(
)
continues
continued DATA ̲COLLECTION
DISMANTLE ̲BUFFER (BUFFER ̲REF)
(CC) : ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, DISMANTLE ̲BUFFER,
NO ̲ACCEPT)( )
SEND ̲FOR ̲STATISTICS = FALSE?
COLLECTION ̲INCOMING ̲STATISTICS(VALID ̲MSG)(START ̲POINTER)
STATISTICS ̲COLLECTION(INC ̲MSG ̲PER ̲CHN,
DUMMY ̲FORMAT,
ACP ̲PARAMS.CHANNEL ̲NO,
START ̲POINTER)
(CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, STATISTICS,
NO ̲ACCEPT)( )
RETURN
C̲O̲L̲L̲E̲C̲T̲I̲O̲N̲ ̲I̲N̲C̲O̲M̲I̲N̲G̲ ̲L̲O̲G̲ (VALID ̲MSG)(START ̲POINTER,
END ̲POINTER)
SEND ̲QEL ̲HEADER.MAINTYPE = LOG ̲RECORD
EQUIVALENCE(TMP ̲AREA = TRAFFIC ̲LOG ̲TYPE)
START ̲POINTER = TMP ̲AREA ̲POINTER
END ̲POINTER = TMP ̲AREA ̲POINTER + TRAFFIC ̲LOG ̲SIZE
USING INCOMING ̲LOG(AND ADMINISTRATION.DELETION ̲LOG)
CHANNEL ̲DESIGNATOR = ADMINISTRATION.CHANNEL ̲DESIGNATOR
CHANNEL ̲SERIAL ̲NO = ADMINISTRATION. CSN
MESSAGE ̲TYPE = ADMINISTRATION.MAINTYPE
ITEM ̲1-REF ̲ID = ADMINISTRATION.ITEM ̲REF
PRECEDENCE = ADMINISTRATION.ACTION ̲PREC
CALLING ̲STATION = ADMINISTRATION. STATION ̲ID
STATION ̲SERIAL ̲NO = ADMINISTRATION. SSN
FILING ̲TIME = ADMINISTRATION. FILE ̲TIME
CLASSIFICATION = ADMINISTRATION. CLASS
SPEC ̲HAND = ADMINISTRATION.SPEC ̲HANDL ̲INST
SIC = ADMINISTRATION. SIC
PROBLEM ̲CODE = NO ̲ERROR
VALID ̲MSG? SEND ̲QEL ̲HEADER.SUBTYPE = IN ̲VALID ̲LOG
PROBLEM ̲CODE = QEL ̲HEADER. FLAG
SEND ̲QEL ̲HEADER.SUBTYPE = IN ̲INVALID ̲LOG
SEND ̲QEL ̲HEADER.FLAG = ZERO
RETURN
C̲O̲L̲L̲E̲C̲T̲I̲O̲N̲ ̲I̲N̲C̲O̲M̲I̲N̲G̲ ̲S̲T̲A̲T̲I̲S̲T̲I̲C̲S̲ (VALID ̲MSG)(START ̲POINTER)
EQUIVALENCE (TMP ̲AREA = INC ̲STATISTICS ̲TYPE)
START ̲POINTER = TMP ̲AREA ̲POINTER
USING INCOMING ̲STATISTICS ̲PER ̲CHANNEL ̲RECORD
MSG ̲LENGTH = (ACP ̲PARAMS.HEADING ̲END ̲OFFSET
+ ACP ̲PARAMS.TEXT ̲END ̲OFFSET)
PREC ̲LEVEL = ADMINISTRATION.ACTION ̲PREC
CLASS ̲CAT = ADMINISTRATION.CLASS
SPEC ̲HANDL = ADMINISTRATION.SPEC ̲HANDL ̲INST
MSG.REJECT ̲IND = FALSE
VALID ̲MSG = FALSE? MSG ̲REJECT ̲IND = TRUE
MSG ̲LENGTH =
(MSG ̲LENGTH +
ACP ̲PARAMS.ENDING.END ̲OFFSET)
RETURN
4.2.1.4.28 I̲n̲t̲e̲r̲n̲a̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.28.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 of the Internal Message Handling module
are:
- to select a previous recognized ASM for further
processing as an internal ASM on basis of the originating
source.
- to send a command with or without a message-view
to the Channel Command queue corresponding to the
Incoming Channel upon which the message was received.
- to determine whether flash acknowledgement shall
be sent, and if so, send a command after the same
principles as described above.
4.2.1.4.28.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲:̲
a) INTERNAL ̲MESSAGE ̲HANDLING
b) INTERNAL ̲MESSAGE ̲HANDLING (R6)
4.2.1.4.28.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.1.4-28 for structure Internal Message
Handling Module.
a) C̲h̲e̲c̲k̲ ̲A̲S̲M̲-̲t̲y̲p̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines if the previously recognized ASM (ASM
̲CONTROL procedures) is relevant to the originating
source (SCARS, CCIS, NICS ̲TARE or TRC/Point to
point).
b) S̲e̲n̲d̲ ̲I̲n̲t̲e̲r̲n̲a̲l̲ ̲A̲S̲M̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the send-parameters of the command informing
that a specific ASM has been received, or requesting
a specific ASM to be transmitted.
Calculates which channel command queue the command
shall be sent to on basis of the Channel-number
placed in the ACP ̲parameter Field by an Incoming
Transport Coroutine;
- and sends the command
c) S̲e̲n̲d̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.1.6.1.5 for description
4.2.1.4.28.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
QEL ̲DATA (4.2.1.5.3)
ASM ̲DATA (4.2.1.5.5)
VIEW DATA (4.2.1.5.4)
FL ̲ANALYSIS DATA (4.2.1.5.8)
AAS ̲TRS (CPS/ICD/009 5.6.2)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INTERNAL ̲ASM
SEND ̲FOR ̲SUPERVISOR (m)
ASM ̲TYPE
ASM ̲VIEW
ASM ̲INFO
ASM ̲SUBQUEUE
ASM ̲REPLY ̲COUNT
ASM ̲SECOND ̲CHANNEL
ASM ̲SECOND ̲INFO
ADMINISTRATION. CSN
ADMINISTRATION. ACTION ̲PREC
ACP ̲PARAMS. CHANNEL ̲NO
ZGC ̲DETECTED
QEL ̲ATTRIBUTE
SEND ̲PARAMS
SEND ̲QEL ̲REF (K)
QUEUE ̲REF (M)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.4.28.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
An Incoming ASM has previously passed the ASM ̲control
procedures where the ASM ̲type was determined to be
of a type for internal handling in THP; however, if
the ASM passed that test, it might not be relevant
compared with the originating source (ex. no channel
open/close ASM's are defined in the SCARS/CCIS interface);
such ASM's will be redirected to the Supervisor Printer.
If the message is of precedence flash and the operating
signal ZGC has not been detected, a command will be
sent to a Transport Control Subpackage for transmission
of a Flash Acknowledge ASM (not SCARS or CCIS).
See description of module components for further details.
Fig. 4.2.1.4-28…01…STRUCTURE INTERNAL MESSAGE HANDLING MODULE
I̲N̲T̲E̲R̲N̲A̲L̲ ̲M̲E̲S̲S̲A̲G̲E̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
QEL ̲HEADER.MAINTYPE =
FROM ̲NORMAL ̲PTR
FROM ̲DEDICATED ̲PTR?
INTERNAL ̲ASM = FALSE?
CHECK ̲ASM ̲TYPE (ASM ̲TYPE,
QEL ̲HEADER.MAINTYPE)
(CC)
CC = NOT ̲OK? SEND ̲FOR ̲SUPERVISOR = TRUE
SEND ̲INTERNAL ̲ASM(ASM ̲TYPE, ASM ̲VIEW,
ASM ̲INFO, ASM ̲SUBQUEUE,
ACP ̲PARAMS.CH ̲NO)( )
ADMINISTRATION.ACTION ̲PREC NE FLASH?
ZGC ̲DETECTED = FALSE?
(QEL ̲HEADER.MAINTYPE =
FROM ̲SCARS OR FROM ̲CCIS?
ASM ̲TYPE = SEND ̲FLASH ̲ACK
ASM ̲VIEW = FALSE
ASM ̲INFO = ADMINISTRATION.CSN
ASM ̲SUBQUEUE = SECONDARY
SEND ̲INTERNAL ̲ASM (ASM ̲TYPE, ASM ̲VIEW,
ASM ̲INFO, ASM ̲SUBQUEUE,
ACP ̲PARAMS. CH ̲NO)( )
RETURN
C̲H̲E̲C̲K̲ ̲A̲S̲M̲ ̲T̲Y̲P̲E̲ (ASM ̲TYPE, ORIGINATOR)(CC)
CC = OK
CASE ORIGINATOR OF:
FROM ̲SCARS ASM ̲TYPE =
OR TSN ̲CHECK ̲RECEIVED?
FROM ̲CCIS?
CC = NOT ̲OK
FROM ̲NICS ̲TARE? ASM ̲TYPE =
CHANNEL ̲CLOSE ̲RECEIVED,
CHANNEL ̲OPEN ̲RECEIVED,
TEST ̲REPLY ̲RECEIVED,
TSN ̲CHECK ̲RECEIVED,
FLASH ̲ACK ̲RECEIVED,
OR
SEND ̲TEST ̲REPLY?
CC = NOT ̲OK
FROM ̲TRC ̲POINT? ASM ̲TYPE =
CHANNEL ̲CLOSE ̲RECEIVED,
CHANNEL ̲OPEN ̲RECEIVED,
TEST ̲REPLY ̲RECEIVED,
TSN ̲CHECK ̲RECEIVED,
FLASH ̲ACK ̲RECEIVED,
SELF ̲CHECK ̲RECEIVED
OR
SEND ̲TEST ̲REPLY?
CC = NOT ̲OK
END ORIGINATOR CASE
RETURN
S̲E̲N̲D̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲A̲S̲M̲ (ASM ̲TYPE, ASM ̲VIEW, ASM ̲INFO,
ASM ̲SUBQUEUE, CHANNEL ̲NO) ( )
QUEUE ̲REF. MAINQUEUE = CCQ + CHANNEL ̲NO
QUEUE ̲REF. SUBQUEUE = ASM ̲SUBQUEUE
SEND ̲QEL ̲HEADER.MAINTYPE = THP ̲INTERNAL
SEND ̲QEL ̲HEADER.SUBTYPE = ASM ̲TYPE
SEND ̲QEL ̲HEADER. FLAG = ZERO
ASM ̲VIEW = TRUE? SEND ̲QEL ̲HEADER. FLAG
= ADMINISTRATION. FLAG
SEND ̲QEL ̲INFO (1) = ASM ̲INFO
SEND ̲PARAMS. INFORMATION ̲TYPE = FALSE
SEND ̲PARAMS. CHECKP ̲STATUS = FALSE
SEND ̲PARAMS. PROFILE = ZERO
SAVE SEND ̲QEL ̲REF
ASM ̲VIEW = FALSE? SEND ̲QEL ̲REF = ZERO
SEND ̲MESSAGE (SEND ̲ASM)( )
UNSAVE SEND ̲QEL ̲REF
RETURN
4.2.1.4.29 E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲e̲l̲i̲v̲e̲r̲y̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.29.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 of the External Delivery module are to
perform the following deliveries:
- MSO for Garble Correction or Inspection
- MDP for distribution, Release or Coordination
- ACS for Conversion and/or Relaying
- Supervisor for print of Service Messages
- PTP or punch of encrypted message
- SAR and/or UMAN for storage of incoming message
(VDU ̲page)
- Flash notification to MSO (if first time) and to
the PTP when a message of precedence flash has
been sent.
4.2.1.4.29.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Call Specification:
a) EXTERNAL ̲DELIVERY
b) EXTERNAL ̲DELIVERY (R6)
4.2.1.4.29.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.1.4-29 for Structure External Delivery
Module.
a) S̲e̲n̲d̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲S̲e̲r̲v̲i̲c̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲.
Sends the message to the common MSO ̲queue for garble-correction
or message ̲inspection. If the message is of precedence
flash it also sends a flash-notification. In case
the message has been reentered from a MSO position,
nothing is sent (will be sent in a SEND ̲REPLY via
the THP acknowledge procedures of the Finish Analysis
Module).
b) S̲e̲n̲d̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲D̲i̲s̲t̲r̲i̲b̲u̲t̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Prepares the send-params to MDP with HQ-mask and
other information and sends the message for distribution,
for release or for coordination.
c) S̲e̲n̲d̲ ̲C̲o̲n̲v̲e̲r̲s̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Sends the message to the Conversion Subpackage
for conversion or/and relaying.
d) S̲e̲n̲d̲ ̲P̲u̲n̲c̲h̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Sends an incoming encrypted message to the PTP-queue
to be off-line decrypted after punch. Also sends
flash-notification if flash-precedence.
e) S̲e̲n̲d̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Sends an incoming Service Message to the Supervisor
Print Queue.
f) S̲e̲n̲d̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Sends the message to SAR for storage as incoming
and if VDU-page also to UMAN for storage in the
VDU-database.
g) S̲e̲n̲d̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.1.6.1.5 for description
4.2.1.4.29.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
THP ̲MDP (CPS/ICD/009 5.1.1)
THP ̲TEP (CPS/ICD/009 5.2.2)
THP ̲SAR (CPS/ICD/009 5.3.1)
AAS ̲ACS (CPS/ICD/009 5.6.3)
AAS ̲TRS (CPS/ICD/009 5.6.2)
QEL ̲DATA (4.2.1.5.3)
FL ANALYSIS DATA (4.2.1.5.8)
Administration Field (DBD/001 10.1.1)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SEND ̲FOR ̲GARBLE (D)
SEND ̲FOR ̲INSPECTION (D)
SEND ̲FOR ̲DISTRIBUTION (D)
SEND ̲FOR ̲COORDINATION (D)
SEND ̲FOR ̲RELEASE (D)
SEND ̲FOR ̲CONVERSION (D)
SEND ̲FOR ̲RELAYING (D)
SEND ̲FOR ̲PUNCH (D)
SEND ̲FOR ̲SUPERVISOR (D)
SEND ̲FOR ̲STORAGE (D)
SEND ̲FOR ̲UMAN (D) QUEUE
̲REF (M)
SEND ̲QEL ̲REF (K)
SEND ̲PARAMS (M)
QEL ̲HEADER
RECEIVE ̲SUBQUEUE
ADMINISTRATION.MAINTYPE
ADMINISTRATION.FLAG
C) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
SAVE ̲QEL ̲REF: INTEGER
4.2.1.4.29.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The send-for-booleans previously set up and possibly
changed again during the analysis processing, should
now have been assigned the correct value in accordance
with the normal message flow or the special message
flow; so this module simply executes what previously
has been decided, and sends a message to each destination
where the send-for-boolean is true. See description
of module components for specific details.
Fig. 4.2.1.4-29…01…STRUCTURE EXTERNAL DELIVERY MODULE
E̲X̲T̲E̲R̲N̲A̲L̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲
SEND ̲FOR ̲GARBLE
OR
SEND ̲FOR ̲INSPECTION? SEND ̲MESSAGE ̲SERVICE
SEND ̲FOR ̲DISTRIBUTION,
SEND ̲FOR ̲COORDINATION SEND ̲MESSAGE ̲DISTRIBUTION
OR
SEND ̲FOR ̲RELEASE?
SEND ̲FOR ̲CONVERSION? SEND ̲CONVERSION
SEND ̲FOR ̲RELAYING? SEND ̲CONVERSION
SEND ̲FOR ̲PUNCH? SEND ̲PUNCH
SEND ̲FOR ̲SUPERVISOR? SEND ̲SUPERVISOR
SEND ̲FOR ̲STORAGE? SEND ̲STORAGE
SEND ̲FOR ̲UMAN? SEND ̲STORAGE
RETURN
S̲E̲N̲D̲ ̲M̲E̲S̲S̲A̲G̲E̲ ̲S̲E̲R̲V̲I̲C̲E̲
QUEUE ̲REF.MAINQUEUE = MSOS ̲IMQ
QUEUE ̲REF.MAINQUEUE = ACTION ̲PREC
USING SEND ̲PARAMS
INFORMATION ̲TYPE = FALSE
CHECKP ̲STATUS = FALSE
HEADER. MAINTYPE = QEL ̲HEADER. MAINTYPE
SEND ̲FOR ̲GARBLE? HEADER. SUBTYPE = FOR ̲GARBLE
HEADER. SUBTYPE = FOR ̲INSPECTION
HEADER. FLAG = QEL ̲HEADER. FLAG
HEADER. INF = QEL ̲HEADER. TFC ̲MASK
PROFILE = ZERO
RECEIVE ̲SUBQUEUE = FLASH?
SEND ̲MESSAGE (SEND ̲MSO) ( )
ADMINISTRATION.ACT ̲PREC NE FLASH?
SAVE SEND ̲QEL
QUEUE ̲REF. MAINQUEUE = MSOS ̲CCMDQ
QUEUE ̲REF. SUBQUEUE = MAIN ̲QUEUE
USING SEND ̲PARAMS:
HEADER. MAINTYPE = FLASH ̲NOTIFICATION
HEADER. SUBTYPE = FLASH ̲ITEM ̲ARRIVED
HEADER. FLAG = ZERO
HEADER. INF = ZERO
continues
continued
SEND ̲MESSAGE (SEND ̲FLASH ̲MSO)( )
UNSAVE SEND ̲QEL
SEND ̲FOR ̲GARBLE ̲CORRECTION = FALSE
SEND ̲FOR ̲INSPECTION = FALSE
RETURN
S̲E̲N̲D̲ ̲M̲E̲S̲S̲A̲G̲E̲ ̲D̲I̲S̲T̲R̲I̲B̲U̲T̲I̲O̲N̲
QUEUE ̲REF.MAINQUEUE = MDQ
QUEUE ̲REF. SUBQUEUE = TRAFFIC
USING SEND ̲PARAMS:
INFORMATION ̲TYPE = FALSE
CHECKP ̲STATUS = TRUE
HEADER. MAINTYPE = ADMINISTRATION.MAINTYPE
SEND ̲FOR ̲DISTRIBUTION? HEADER.SUBTYPE = FOR ̲
DISTRIBUTION
PROFILE = DELIVERY
SEND ̲FOR ̲RELEASE? HEADER.SUBTYPE = FOR ̲RELEASE
PROFILE = RELEASE
SEND ̲FOR ̲COORDINATION? HEADER.SUBTYPE = FOR ̲COORDI-
NATION
PROFILE = COORDINATION
HEADER.FLAG = ADMINISTRATION.FLAG
HEADER.INF = HQ ̲MASK
INTERNAL ̲HANDLING ̲DETECTED? BIT8 OR HEADER.INF
GARBLED ̲SIC? BIT9 OR HEADER. INF
ADMINISTRATION. SIC = SPACE? BIT10 OR HEADER. INF
SEND ̲FOR ̲RELEASE
SEND ̲FOR ̲COORDINATION HEADER.INF = ZERO
OR SC ̲COMMENT
continues
continued
SEND ̲MESSAGE (SEND ̲MDP)( )
SEND ̲FOR ̲DISTRIBUTION = FALSE
SEND ̲FOR ̲RELEASE = FALSE
SEND ̲FOR ̲COORDINATION = FALSE
RETURN
S̲E̲N̲D̲ ̲C̲O̲N̲V̲E̲R̲S̲I̲O̲N̲
QUEUE ̲REF. MAINTYPE = COQ
QUEUE ̲REF. SUBTYPE = TRAFFIC
USING SEND ̲PARAMS:
INFORMATION ̲TYPE = FALSE
CHECKP ̲STATUS = TRUE
HEADER. MAINTYPE = ADMINISTRATION. MAINTYPE
SEND ̲FOR ̲CONVERSION? HEADER.SUBTYPE = FOR ̲CONVERSION
SEND ̲FOR ̲CONVERSION = FALSE
SEND ̲FOR ̲RELAYING? HEADER.SUBTYPE = FOR ̲RELAYING
SEND ̲FOR ̲RELAYING = FALSE
HEADER.FLAG = ADMINISTRATION. FLAG
HEADER.INF = QEL.HEADER.TFC ̲MASK
PROFILE = DELIVERY
SEND ̲MESSAGE (SEND ̲ACS)( )
RETURN
S̲E̲N̲D̲ ̲P̲U̲N̲C̲H̲
QUEUE ̲REF.MAINQUEUE = PTP ̲CCQ
QUEUE ̲REF.SUBQUEUE = ACTION ̲PREC
USING SEND ̲PARAMS:
INFORMATION ̲TYPE = FALSE
CHECKP ̲STATUS = TRUE
HEADER. MAINTYPE = ADMINISTRATION. MAINTYPE
HEADER. SUBTYPE = FOR ̲PUNCH
HEADER. FLAG = ADMINISTRATION. FLAG
HEADER. INF = QEL ̲HEADER. TFC ̲MASK
PROFILE = DELIVERY
SEND ̲MESSAGE (SEND ̲PUNCH)( )
ADMINISTRATION.ACTION.PREC NE FLASH?
SAVE SEND ̲QEL ̲REF
SEND ̲QEL ̲REF = ZERO
USING SEND ̲PARAMS:
CHECKP ̲STATUS = FALSE
HEADER. MAINTYPE = THP ̲INTERNAL
HEADER. SUBTYPE = FLASH ̲NOTIFICATION
HEADER. FLAG, INF = ZERO
SEND ̲MESSAGE(SEND ̲FLASH ̲PUNCH)( )
SEND ̲FOR ̲PUNCH = FALSE
RETURN
S̲E̲N̲D̲ ̲S̲U̲P̲E̲R̲V̲I̲S̲O̲R̲
QUEUE ̲REF.MAINQUEUE = SPIP ̲SUPQ
QUEUE ̲REF.SUBQUEUE = (ACTION ̲PREC + 1)
USING SEND ̲PARAMS:
INFORMATION ̲TYPE = FALSE
CHECKP ̲STATUS = TRUE
HEADER.MAINTYPE = ADMINISTRATION.MAINTYPE
HEADER.SUBTYPE = FOR ̲PRINT
HEADER.FLAG = ADMINISTRATION.FLAG
HEADER.INF = ZERO
PROFILE = DELIVERY
SEND ̲MESSAGE (SEND ̲SUP)( )
SEND ̲FOR ̲SUPERVISOR = FALSE
RETURN
S̲E̲N̲D̲ ̲S̲T̲O̲R̲A̲G̲E̲
SEND ̲FOR ̲STORAGE = FALSE?
ACCESS ̲PROFILE = CTs, ATOMAL OR ENCRYPTED?
QUEUE ̲REF.MAINQUEUE = ISQ
USING SEND ̲PARAMS:
INFORMATION ̲TYPE = FALSE
CHECKP ̲STATUS = TRUE
HEADER.MAINTYPE = ADMINISTRATION.MAINTYPE
HEADER.SUBTYPE = FOR ̲STORAGE
HEADER.FLAG = ADMINISTRATION.FLAG
HEADER.INF = INC ̲MSG ̲AFT ̲ANAL
PROFILE = ZERO
SEND ̲MESSAGE (SEND ̲SAR)( )
SEND ̲FOR ̲STORAGE = FALSE
QUEUE ̲REF.MAINQUEUE = UMAN ̲COLQ
QUEUE ̲REF. SUBQUEUE = TRAFFIC
USING SEND ̲PARAMS
INFORMATION ̲TYPE = FALSE
CHECKP ̲STATUS = TRUE
HEADER.MAINTYPE = ADMINISTRATION.MAINTYPE
HEADER.SUBTYPE = FOR ̲STORAGE
HEADER.FLAG, HEADER.INF = ZERO
PROFILE = ZERO
SEND ̲MESSAGE(SEND ̲UMAN)( )
SEND ̲FOR ̲UMAN = FALSE
RETURN