top - download
⟦f9f6da356⟧ Wang Wps File
Length: 20543 (0x503f)
Types: Wang Wps File
Notes: PACKMON monitor PSP
Names: »3088A «
Derivation
└─⟦dfa2fde64⟧ Bits:30006137 8" Wang WCS floppy, CR 0266A
└─ ⟦this⟧ »3088A «
WangText
…02…FIX/1266/PSP/0074
…02…HFJ/821129…02……02…
PACKMON Monitor
PSP
…02……02…FK 7809
T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲
1 SCOPE .............................................
1.1 Introduction ..................................
1.2 Abbreviations .................................
2 APPLICABLE DOCUMENTS ..............................
3 MODULE SPECIFICATIONS .............................
3.1 Functional Capabilities .......................
3.2 Interface Description .........................
3.3 Processing ....................................
3.3.1 Pack/Unpack REC ...........................
3.3.1.1 Scope .................................
3.3.1.2 Function ..............................
3.3.1.3 I/F Description .......................
3.3.1.4 Data Description ......................
3.3.1.5 Flow Description ......................
3.3.2 Pack/Unpack NMHD/CMHD .....................
3.3.2.1 Scope .................................
3.3.2.2 Function ..............................
3.3.2.3 I/F Description .......................
3.3.2.4 Data Description ......................
3.3.2.5 Flow Description ......................
3.3.3 Pack/Unpack PMSG ..........................
3.3.3.1 Scope .................................
3.3.3.2 Function ..............................
3.3.3.3 I/F Description .......................
3.3.3.4 Data Description ......................
3.3.3.5 Flow Description ......................
3.3.4 Pack/Unpack PMTCB .........................
3.3.4.1 Scope .................................
3.3.4.2 Function ..............................
3.3.4.3 I/F Description .......................
3.3.4.4 Data Description ......................
3.3.4.5 Flow Description ......................
3.3.5 Pack/Unpack BY, WD ........................
3.3.5.1 Scope .................................
3.3.5.2 Function ..............................
3.3.5.3 I/F Description .......................
3.3.5.4 Data Description ......................
3.3.5.5 Flow Description ......................
3.3.6 Pack/Unpack SCCCM,MEDECM,NODECM ...........
3.3.6.1 Scope .................................
3.3.6.2 Function ..............................
3.3.6.3 I/F Description .......................
3.3.6.4 Data Description ......................
3.3.6.5 Flow Description ......................
3.3.7 Calculate Pack Area .......................
3.3.7.1 Scope .................................
3.3.7.2 Function ..............................
3.3.7.3 I/F Description .......................
3.3.7.4 Data Description ......................
3.3.7.5 Flow Description ......................
3.4 Data Organization .............................
3.5 Storage Allocation ............................
3.6 Performance Characteristics ...................
3.7 Limitations ...................................
3.8 Error Codes/Error Locations ...................
3.8.1 Error Codes ...............................
3.8.2 Error Locations ...........................
3.9 Listing References ............................
4 QUALITY ASSURANCE .................................
4.1 Qualification Tests ...........................
5 PREPARATIONS FOR DELIVERY .........................
1 S̲C̲O̲P̲E̲
1.1. I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
The purpose of this document is to describe the PACKMON-monitor, used on the SCC.
1.2. A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲
Please refer to FIKS DATA INTERFACE FIX/0100/MAN/0004.
2 A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲
3 M̲O̲D̲U̲L̲E̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲
3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲C̲a̲p̲a̲b̲i̲l̲i̲t̲i̲e̲s̲
The Pack Monitor provides pack and unpack functions, which allow the SCC application programs
to work on all SCC variables as SWELL INTEGER variables.
The Pack Monitor contains internally format description of:
All Pseudo MTCB's
All Real MTCB's
All Control Messages
Binary Header of Control and Narrative Messages
This allows pack and unpack of most SCC global data only by specification of the data record
in question.
The Pack Monitor also provides a byte-integer pack/unpack function and a function where the
caller specifies the packed format, using the same format specification codes as used internally
in the Pack Monitor.
3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Please refer to appropriate sections in chapter 3.3.
3.3 P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
3.3.1 P̲a̲c̲k̲/̲U̲n̲p̲a̲c̲k̲ ̲R̲E̲C̲
3.3.1.1 S̲c̲o̲p̲e̲
This section contains the design, data, and interface description for the monitor function
REC.
3.3.1.2 F̲u̲n̲c̲t̲i̲o̲n̲
The Pack/Unpack REC function allows the caller to pack/unpack data records according to a
format specified by the caller. See Figure 3.3.1.1.
The caller parameters are delivered in PACB (referenced by R4) (A).
PACB. PACAD points to the start of the PACKED REC area (B). The PACB.UNPAD is by caller
set to point to the start of the UNPACKED-REC area (C) and incremented by PACK-MON for each
INTEGER packed or unpacked.
The PACKED-REC format is described in FORMAT-REC pointed out by PACB.RECNO (D) and sized
by PACB.CNT (E). Each word (F) in FORMAT-REC contains information of one field or a group
of fields within PACKED-REC.
Figure 3.3.1-1
PACK/UNP.REC Data Structures
3.3.1.3. I̲/̲F̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Call:
MON(PACKM, PACREC, R4, R7): X2
MON(PACKM, UNPREC, R4, R7): X2
Registers at:
Call Return
R4: ref. PACB unchanged
R7: link return loc/error code
Returns:
Link+1: Pack/unpack error, error code in R7
Link+2: OK
3.3.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A: I̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.PACAD: Start of pack area
PACB.UNPAD: Start of unpack area
PACB.RECNO: Address of FORMAT ̲REC
PACB.CNT: Number of FORMAT ̲CODE words in FORMAT ̲REC
FORMAT ̲REC: Contains information about how to pack or unpack record
B: O̲u̲t̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.UNPAD: Incremented to first unused integer in UNPACKED-REC area.
3.3.1.5 F̲l̲o̲w̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
BEGIN
- For each word in FORMAT ̲REC do the following processing:
Case PACREC:
o Read current INTEGER variable from
UNPACKED ̲REC
o Increment PACB.UNPAD
o Shift and extract as specified in FORMAT ̲CODE
o Merge variable into PACKED-REC (using a PUT instruction)
Case UNPREC:
o Read word from PACKED ̲REC where field is contained
o Shift and extract as specified in FORMAT ̲CODE
o Write into current integer of UNPACKED ̲REC area
o Increment UNPAD
END;
3.3.2. P̲a̲c̲k̲/̲U̲n̲p̲a̲c̲k̲ ̲N̲M̲H̲D̲/̲C̲M̲H̲D̲
3.3.2.1. S̲c̲o̲p̲e̲
This section contains the design, data, and interface description for the monitor function
NMHD and CMHD.
3.3.2.2 F̲u̲n̲c̲t̲i̲o̲n̲
The NMHD and CMHD monitor functions provide a pack and unpack function for the binary header
of a control or narrative message.
The packed binary header has to be memory resident as the PACKED ̲REC in Figure 3.3.1.-1.
The functions are similar to the pack/unpack REC function expect that the FORMAT ̲REC contents
is kept within the PACK ̲MON.
3.3.2.3 I̲/̲F̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Call:
MON(PACKM, PACNMHD, R4, R7) : X2
MON(PACKM, UNPNMHD, R4, R7) : X2
MON(PACKM, PACCMHD, R4, R7) : X2
MON(PACKM, UNPCMHD, R4, R7) : X2
Registers at:
Call Return
R4: ref. PACB unchanged
R7: link return loc/
error code
Returns:
Link+1: Pack/unpack errors, error code in R7
LInk+2: OK
3.3.2.4. D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A: I̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.PACAD: Address of area for packed binary header as described in FIKS DATA
I/F Section 10.1 and 10.2.
PACB.UNPAD: Address of area for unpacked binary header as defined by the SWELL
RECORDS: NM ̲HEAD and CM ̲HEAD in file SCCNAMES. D*SCCHEAD.N.
B: O̲u̲t̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.UNPAD:…02…Incremented to first free integer of the UNPACKED ̲REC
area.
3.3.2.5 F̲l̲o̲w̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Please, refer to Section 3.3.1.5.
3.3.3. P̲a̲c̲k̲/̲U̲n̲p̲a̲c̲k̲ ̲P̲M̲S̲G̲
3.3.3.1 S̲c̲o̲p̲e̲
This section contains the design, data, and interface description for the monitor function
PMSG.
3.3.3.2 F̲u̲n̲c̲t̲i̲o̲n̲
The PMSG monitor function provides a pack and unpack function for each PSEUDO MTCB occuring
within the SCC. The pack/unpack functions are similar to what is described in Section 3.3.1.2,
except that the format of every known PSEUDO MTCB is kept within the PACK ̲MON.The PSEUDO
MTCB is identified on the header variables MTY, SCA and MCC.
3.3.3.3. I̲/̲F̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Call:
MON(PACKM, PACPMSG, R4, R7): X2
MON(PACKM, UNPPMSG, R4, R7): X2
Registers at:
Call Retur
R4: Ref. PACB unchanged
R7: link return loc/
error code
Returns:
Link+1: Pack/Unpack errors
Link+2: OK
3.3.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A: I̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲
PACB.PACAD: Ref. to pack area for packed MTCB's as described in FIKS DATA I/F,
Section 7.1.2.2.
PACB.UNPAD: Ref. to unpack area for Pseudo MTCB records as defined in file:
SCCNAMES.D*SCCMTCB.N
B: O̲u̲t̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.CNT: Size of unpacked Pseudo MTCB
PACB. UNPAD: Incremented first word after the unpacked Pseudo MTCB
3.3.3.5 F̲l̲o̲w̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Please, refer to Section 3.3.1.5.
3.3.4 P̲a̲c̲k̲/̲U̲n̲p̲a̲c̲k̲ ̲P̲M̲T̲C̲B̲
3.3.4.1 S̲c̲o̲p̲e̲
This section contains the design, data, and interface description for the monitor function
PMTCB.
3.3.4.2 F̲u̲n̲c̲t̲i̲o̲n̲
The PMTCB monitor function provides a pack and unpack function for each real MTCB (narrative
or control message) occuring within the SCC. Because the real MTCB's do not contain any unambiguous
identification the caller must specify a case in one of the PACB control parameters.
Besides the case par. the functions are similar to the PMSG monitor function.
3.3.4.3 I̲/̲F̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Call:
MON(PACKM, PACMTCB, R4, R7) : X2;
MON(PACKM, UNPMTCB, R4, R7) : X2;
Registered at:
Call Return
R4: ref. PACB unchanged
R7: link return loc/error code
Returns:
Link+1: Pack/unpack errors, error code in R7
Link+2: OK
3.3.4.4. D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A: U̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.PACAD: Ref. to pack area for packed MTCB's as described in FIKS DATA I/F,
Section 7.1.1.2.
PACB.UNPAD: Ref. to unpack area for real MTCB records as defined in file SCCNAMES.
D*NSSMTCB. N and SCCNAMES.D*SCCMTCB.N
PACB.RECNO: Case of narrative or control MTCB (see file SCCNAMES.D*NSSMTCB.N
and SCCNAMES. D*SCCMTCB.N for definition of cases).
B: O̲u̲t̲p̲u̲t̲ ̲D̲a̲t̲a̲
PACB.CNT: Size of upacked MTCB
PACB.UNPAD: Incremented to first word after the unpacked MTCB
3.3.4.5. F̲l̲o̲w̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Please refer to Section 3.3.1.5.
3.3.5 P̲a̲c̲k̲/̲U̲n̲p̲a̲c̲k̲ ̲B̲Y̲,̲ ̲W̲D̲
3.3.5.1 S̲c̲o̲p̲e̲
This section contains the design, data, and interface description for the monitor functions
BY and WD
3.3.5.2 F̲u̲n̲c̲t̲i̲o̲n̲
The BY and WD monitor functions provide the caller with a general move byte and move word
funcion between the PACKED ̲REC and the UNPACKED ̲REC. The move byte function includes a byte
word conversion.
3.3.5.3 I̲/̲F̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Call:
MON(PACKM, PACBY, R4, R7): X2;
MON(PACKM, UNPBY, R4, R7): X2;
MON(PACKM, PACWD, R4, R7): X2;
MON(PACKM; UNPWD, R4, R7): X2;
Registers at:
Call Return
R4: Ref. PACB unchanged
R7: link return loc/error code
Returns:
Link+1: Pack/unpack errors
Link+2: OK
3.3.5.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A: I̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.PACAD: Ref. to PACKED ̲REC
PACB.UNPAD: Ref. to UNPACKED ̲REC
PACB.CNT: Number of bytes/words to move
B: O̲u̲t̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.UNPAD: Incremented to first free word in UNPACKED ̲REC
3.3.5.5 F̲l̲o̲w̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Please, refer to Section 3.3.1.5.
3.3.6 P̲a̲c̲k̲/̲U̲n̲p̲a̲c̲k̲ ̲S̲C̲C̲C̲M̲,̲ ̲M̲E̲D̲E̲C̲M̲,̲ ̲N̲O̲D̲E̲C̲M̲
3.3.6.1 S̲c̲o̲p̲e̲
This section contains the design, data, and interface description for the monitor funciton:
o SCCCM
o MEDECM
o NODECM
3.3.6.2 F̲u̲n̲c̲t̲i̲o̲n̲
The PACK ̲MON S/W provides a transformation of parts (or whole) of the control message body
(binary header not included) from/to the packed form where byte variables may occur (PACKED
̲REC in Figure 3.3.6-1), to/from the unpacked form where all variables reside in a word (UNPACKED
̲REC in Figure 3.3.6-1)
This control message transformation is limited to include only one (or zero) area of bytes.
The location and size of this byte area is kept within PACK ̲MON, and retrieved by means of
the control message TYP and CAT pointed out by PACB.RECNO (C).
Note: This implies that all future changes of control messages have to obay this rule,
if the PAC/UNP functions of the changed control messages are to be used.…86…W
…02… …02… …02… …02… …02… …02…
Figure 3.3.6-1
PACK/UNP Control Message
Data Structures
The part of the control message to be transformed is specified by caller in PACB.START (D)
and PACB.CNT (E) using the unpacked control message layout
The parameters PACB.OFFS (F) and PACB.CODR (G) are only applicable to the monitor functions
described in Section 3.3.7
3.3.6.3 I̲/̲F̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Call:
MON(PACKM; PACSCCCM, R4, R7): X2;
MON(PACKM, UNPSCCCM, R4, R7): X2;
MON(PACKM, PACMEDECM, R4, R7): X2;
MON(PACKM, UNPMEDECM, R4, R7): X2;
MON(PACKM, PACNODECM, R4, R7): X2;
MON(PACKM; UNPNODECM; R4, R7): X2;
Registers at:
Call Return
R4: Ref. PACB uncharged
R7: Link return loc/error
Returns:
Link+1: Pack/unpack errors
Link+2: OK
3.3.6.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A: I̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.PACAD: Ref. to PACKED ̲REC containing parts of the control messages described
in FIKS DATA I/F, Section 10.2.
PACB.UNPAD: Ref. to UNPACKED ̲REC containing parts of the unpacked control message
records defined in the files.
o SCCNAMES.D*SCCMEDE.N
o SCCNAMES.D*SCCREC.N
o SCCNAMES.D*SCCNSS.N
PACB.RECNO: Ref. to a two word record specifying type and category of one message
out of one of the three groups.
See file SCCNAMES.D*SCCNAME.N for definition of TYP, CAT values.
PACB.START: Word off-set from the end of binary header to the area contained
(or to be contained) in the UNPACKED ̲REC area.
PACB.CNT: Number of words contained (or to be contained) in the UNPACKED ̲REC
area
B: O̲u̲t̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB.RECNO: unchanged
PACB.START: unchanged
PACB.CNT: unchanged
PACB.PACAD: unchanged
PACB.UNPAD: Incremented to first file word within UNPACKED ̲REC
3.3.6.5 F̲l̲o̲w̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
BEGIN
- Calculate the number of words preceeding byte area (can be zero)
- Calculate the number of bytes within PACKED ̲REC (can be zero)
- Calculate the number of words following the byte area
- Transfer words preceeding byte area
- Transfer and pack/unpack byte area
- Transfer words following byte area
END;…86…W …02… …02… …02… …02… …02… …02… …02…
3.3.7 C̲a̲l̲c̲u̲l̲a̲t̲e̲ ̲P̲a̲c̲k̲ ̲A̲r̲e̲a̲
3.3.7.1 S̲c̲o̲p̲e̲
This section contains the design, data, and interface description for the number functions:
o GETSCCPKA
o GETMEDEPKA
o GETNODEPKA
3.3.7.2 F̲u̲n̲c̲t̲i̲o̲n̲
The three monitor functions: GETSCCPKA, GETMEDEPKA, and GETNODEPKA provide the caller with
parameters PACB.OFFS and PACB.CODE (See (F) and (G) on Figure 3.3.6-1), which define the
position of the PACKED ̲REC area within the packed control message.
3.3.7.3 I̲/̲F̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Call:
MON(PACKM, GETSCCPKA, R4, R7): X2
MON(PACKM, GETMEDEPKA, R4, R7): X2
MON(PACKM, GETNODEPKA, R4, R7):X2
Registers at:
Call Return
R4: Ref. PACB unchanged
R7: Link return loc/error code
Returns:
Link+1: Pack/unpack errors
Link+2: OK
3.3.7.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A: I̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
Please, refer to Section 3.3.6.4.-A.
B: O̲u̲t̲p̲u̲t̲ ̲D̲a̲t̲a̲:̲
PACB:OFFS: Byte off-set from the end of binary header to area contained (or
to be contained) in the PACKED-REC area.
PACB.CODE: Number of bytes contained (or to be contained) in the PACKED-REC
area.
3.3.7.5. F̲l̲o̲w̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
BEGIN
- Read the internal stored informatin about location and size of the byte area within the
packed control message.
- Calculate the location and size of the packed control message part, which corresponds
to the unpacked control message part defined by PACB.START and PACB.CNT.
END;…86…W …02… …02… …02… …02… …02… …02… …02…
3.4. D̲a̲t̲a̲ ̲O̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲
Please refer to appropriate sections in chapter 3.3.
3.5 S̲t̲o̲r̲a̲g̲e̲ ̲A̲l̲l̲o̲c̲a̲t̲i̲o̲n̲
N/A
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̲
N/A
3.7. L̲i̲m̲i̲t̲a̲t̲i̲o̲n̲s̲
The different pack and unpack formats are defined at compilation time, by data-type definitions
in the Data-Base. This implies that a change in e.g. a control message format, means it is
necessary to recompile the monitor.
3.8. E̲r̲r̲o̲r̲ ̲C̲o̲d̲e̲s̲/̲ ̲E̲r̲r̲o̲r̲ ̲L̲o̲c̲a̲t̲i̲o̲n̲s̲
3.8.1 E̲r̲r̲o̲r̲ ̲C̲o̲d̲e̲s̲
The Error Cods from PACKMON are constructed in the following manner:
Upper byte in the Error Code is equal to #24.
Lower byte is a serial no. as follows:
Hex-value: Explanation:
1. Internal parameter Error
2. Unknown Packmon function
3. Unknown PMSG main-type
4. Unknown PMSG subcategory
5. Internal PMSG format data-error
6. Unknown narr.msg.case
7. Unknown ctrl.msg.case
8. Internal MTCB format data-error
9. Unknown msg. main-type
A. Unknown SCC ctrl.msg.type
B. Unknown MEDE ctrl.msg.type
C. Unknown MEDE ctrl.msg.categ.
D. Unknown NODE ctrl.msg.type
E. Unknown mask code
F. Unknown subrecord code
10. SR's in SR not allowed
3.8.2 E̲r̲r̲o̲r̲ ̲L̲o̲c̲a̲t̲i̲o̲n̲s̲
N/A for monitor
3.9 L̲i̲s̲t̲i̲n̲g̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Please refer to SCCLDD and S/W library FIXLIB.
4. Q̲U̲A̲L̲I̲T̲Y̲ ̲A̲S̲S̲U̲R̲A̲N̲C̲E̲
4.1 Q̲u̲a̲l̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲T̲e̲s̲t̲s̲.
Please refer to System Test Reports S050-S090.…86…W …02… …02… …02… …02… …02… …02… …02…
5. P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ ̲F̲O̲R̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲
Please refer to SCCLDD.