DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦e19319773⟧ Wang Wps File

    Length: 26750 (0x687e)
    Types: Wang Wps File
    Notes: FIX/1160/PSP/0091   III   
    Names: »3165A «

Derivation

└─⟦ea7460488⟧ Bits:30006136 8" Wang WCS floppy, CR 0270A
    └─ ⟦this⟧ »3165A « 

WangText

…00……00……00……00……00…-…0a……00……00…-…0b…-…01…-…06…,…0a…,…0f…,…01…,…02……1c……00……86…1                                             …02…            …02…    …02…           
 

    3165A/bna…02…FIX/1160/PSP/0091

…02…REV/850301…02……02…#
INTER SCC HANDSHAKING PROCESSES PSP
…02…Issue 1…02…FK 7809







         A3. C̲o̲n̲t̲r̲o̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲f̲r̲o̲m̲ ̲M̲D̲Q̲-̲Q̲u̲e̲u̲e̲

             The CPMM&ED processing of a Control ̲Message received
             from FIKS is independent of CPM Operational Mode.

             Control Messages received from FIKS may be:

             o   Inbound Sync  Messages
             o   SIP…0f…C…0e… Keep Alive-Messages
             o   Control Messages designated for the NSC.

             The latter is enqueued in the CM queue for delivery
             to the NSC and no further processing is required.

         I)  If an inbound sync message is encountered a call
             is made to COMM&C (ref. 3.3.3.3.2.2.2).

         II) A SIP…0f…C…0e… Keep Alive Message always contains a SWD…0f…C…0e…
             Status Report  (ref. 3.3.2.3.2.2.2) which is retrieved
             and forwarded to the CIP Watch DOG (CWD) in an
             AMOS message.

             The SIP…0f…C…0e… KAM may in addition contain several ACK's
             for messages received by SPM…0f…C…0e…. These ACK's are
             retrieved, and one after another issued to the
             procedure "Narrative Message ACK Processing"  (NMACKP)
              (ref. 3.3.3.3.2.2.5).

         A4. N̲a̲r̲r̲a̲t̲i̲v̲e̲/̲P̲s̲e̲u̲d̲o̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲f̲r̲o̲m̲ ̲N̲M̲-̲Q̲u̲e̲u̲e̲

             Messages in NM-Queue or inbound NICS-TARE messages,
             pending for transmission to FIKS are converted
             . Before that can be granted, some accounting must
             be made for these messages as performed by the
             procedure "Narrative Message Accounting"  (NMACT,
             ref. 3.3.3.3.2.2.3).

             Pseudo Messages are substitutes for messages queued
             for intercept by the MSS and serve only to maintain
             message continuity on the proper logical channel.



         A5. C̲o̲n̲t̲r̲o̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲f̲r̲o̲m̲ ̲N̲C̲ ̲Q̲u̲e̲u̲e̲

             Messages encountered in NC may be:

             o   Control Messages from NSC to FIKS
             o   NICS-TARE transmission ACK's from the MSS
             o   Command Response/Reports from the MSS
             o   Commands to the MSS.

             i)  C̲o̲n̲t̲r̲o̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲ ̲N̲S̲C̲ ̲t̲o̲ ̲F̲I̲K̲S̲

                 These Control Messages are discarded, if CIP
                 ̲Operational Mode is non-active, to prevent
                 the stand-by SCC from performing any control
                 of the FIKS network. This is not the case if
                 the control message is for the NSS at the local
                 SCC; these messages are delivered. Network
                 supervision is provided (A3).
                 NSC issued Control Messages are enqueued in
                 TQ for transmission to FIKS.

             ii) N̲I̲C̲S̲-̲T̲A̲R̲E̲ ̲T̲r̲a̲n̲s̲m̲i̲s̲i̲o̲n̲ ̲A̲C̲K̲'̲s̲

                 ACK's for messages transmitted to NICS TARE
                 shall be forwarded to the SPM…0f…C…0e…, which is performed
                 by the procedure "NMACKP"  (ref. 3.3.3.3.2.2.5).

             iii)C̲o̲m̲m̲a̲n̲d̲ ̲R̲e̲s̲p̲o̲n̲s̲e̲s̲/̲R̲e̲p̲o̲r̲t̲s̲ ̲f̲r̲o̲m̲ ̲t̲h̲e̲ ̲M̲S̲S̲

                 Responses to commands issued by the "CPMM&C"
                 or reports on the NICS-TARE link status are
                 all handled by "CPMM&C".

             iv) C̲o̲m̲m̲a̲n̲d̲s̲ ̲t̲o̲ ̲t̲h̲e̲ ̲M̲S̲S̲

                 Commands concerning the NTS from the SCC supervisor
                 are forwarded via the "CPMM&C".



         B.  P̲r̲o̲g̲r̲a̲m̲ ̲ ̲C̲P̲M̲M̲&̲E̲D̲

             REPEAT
                 "WAIT EVENT"  (EVENT)
                 CASE OF EVENT  (1,2)

                 1.  'EVENT = AMOS MESSAGE
                     CALL "CPMM&C"

                 2.  'EVENT = SIGNAL'
                     REPEAT UNTIL MDQ ̲Empty
                         "RETRIEVE"  (MSG, MDQ)
                         IF  (MSG.TYPE = NARRATIVE)
                         THEN
                             "INNMSG"  (MSG, CH #)

                             CASE OF TYPE.CH # (1,2,3)

                             1.  'Inbound MSG'
                                 IF (CIP Operational Mode =
                                 Active)
                                 THEN
                                 QUEUE:= CQ  (CH #)
                                 CALL "INMP"  (MSG, QUEUE)
                         ELSE
                             "RELEASE"  (MSG)
                         END IF

                             2.  'Outbound MSG'
                                 CALL "INTERCEPT" (MSG,  CH
                                 #)
                                 CALL "NMACKP" (MSG ID, CH #)

                             3.  'Unknown CH #'
                                 "REPORT ERROR"
                             END CASE
                     END CASE

                 ELSE (MSG.TYPE =CONTROL)
                     CASE OF MSG.TYPE (1,2,3)

                     1.  'Inbound Sync. Message'
                         CALL "CPMM&C"



                     2.  SIP…0f…C…0e… Keep Alive Message
                         IF (CIP Operational Mode = SYNC)
                         THEN
                             CALL "CPMM&C"
                         END IF
                         IF (CIP Operational Mode= Output Active)
                         THEN
                         FOR (All ACK's contained in KAM)
                         DO
                             CALL "NMACKP"  (MSG.ID, CH #)
                         END DO
                         END IF
                         "SEND" AMOS Message (SWD…0f…C…0e… Status-Report)


                     3.  'Designated for NSC'
                             "ENQUEUE" (MSG,  CM)
                         END IF
                     END REPEAT
                     IF (CIP Operational Mode = Output Active)
                     THEN
                         REPEAT UNTIL NM Queue Empty
                             "DEQUEUE"  (MSG, PMSG, CH #, NM)
                             IF (MSG. TYPE =NARRATIVE)
                     THEN
                         CALL "INNMSG"
                     END IF
                             CALL "NMACCNT"  (MSG, PMSG, CH
                             #)
                         END REPEAT
                     END IF
                     REPEAT UNTIL NC Queue Empty
                         "DEQUEUE"  (MSG, PMSG, NC)
                         CASE OF MSG/PMSG TYPE (1,2,3,4,5)

                     1.  'NSC Control MSG to FIKS'
                         IF (CIP Operational Mode = Active)
                         OR
                             (Control MSG to SCC NSS)
                         THEN
                             "ENQUEUE"  (MSG, TQ)
                         ELSE
                             "RELEASE" (MSG)
                         END IF

                     2.  'NICS-TARE ACK'
                         CALL "NMACKP"  (PMSG)



                     3.  'Response/Report from MSS'
                         CALL "CPMM&C"  (MSG)

                     4.  'COMMANDS TO MSS'
                         CALL "CPMM&C" (MSG)

                     5.  'Else Unknown'
                         REPORT ERROR (Unknown)
                     END CASE
                 END REPEAT

                 3.  'Event = Timer Interrupt'
                     Call "CPMTIM"

                 4.  'Unknown Event'
                     REPORT ERROR (Unknown Event)
                 END CASE
             END REPEAT




3.3.3.3.2.2.1.1

         S̲u̲b̲r̲o̲u̲t̲i̲n̲e̲ ̲I̲N̲N̲M̲S̲G̲ ̲ ̲(̲M̲S̲G̲,̲ ̲C̲H̲ ̲#̲)̲

         Ref. 3.3.3.3.1.2.1.1




























3.3.3.3.2.2.2

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲P̲M̲ ̲M̲o̲n̲i̲t̲o̲r̲i̲n̲g̲ ̲&̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲ ̲(̲C̲P̲M̲M̲&̲C̲)̲

         A.  N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲

             Procedure CPMM&C performs the following functions:

             o   Controls the operation of the CIP Protocol
                 Machine (CPM) as commanded by CIP Watch Dog
                 (CWD)
             o   Channel Synchronization upon opening of the
                 logical channels to SPM (collocated N/M)
             o   Monitors the NICS-TARE channel
             o   Controls the NICS-TARE channels as commanded
                 by the SCC Supervisor
             o   Generates and transmits an hourly statistics
                 on the narrative conversion.

             CPMM&C is invoked by "CPMM&ED" when:

             1)  AMOS messages from CWD are encountered
             2)  A Sync Message is to be transmitted
             3)  A Sync sequencenumber is received
             4)  A Sync Message is encountered

             5)  A MSS Command Response or NTS Channel Report
                 is received
             6)  A Statistics Report is to be transmitted.

             The output events generated by CPMM&C during processing
             of these events are:

             o   Sync Message enqueued in TQ
             o   MSS command enqueued in MC
             o   Hourly Statistics Report to both SCC's, enqueued
                 in TQ.

         A1. C̲W̲D̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲M̲e̲s̲s̲a̲g̲e̲

             The type of command received from CWD:

             o   CWD CPM Operational Mode Change Commands

             i)  C̲P̲M̲-̲O̲p̲e̲r̲a̲t̲i̲o̲n̲a̲l̲-̲M̲o̲d̲e̲ ̲C̲h̲a̲n̲g̲e̲ ̲C̲o̲m̲m̲a̲n̲d̲

                 A CIP Operational Mode Change has taken place,
                 and CWD commands CPM to update operational
                 mode of the Message Service System accordingly.
                 The only state changes of interest here are
                 Stand-by to Active and Active to Stand-by .



         a)  S̲t̲a̲n̲d̲-̲b̲y̲ ̲t̲o̲ ̲A̲c̲t̲i̲v̲e̲

             Before the Message Service System can be opened
             the following actions must be performed in proper
             sequence:

             o   Reset all Ack.Sequencenumbers.
             o   Enqueueing of a Sync Message on the outbound
                 service channel, identified by a 'Sync Seq
                 No', maintained by CPMM&C.
             o   Reset SIP…0f…C…0e… Mailbox.
             o   CPM Operational Mode changed from Stand-by
                 to Hunt Mode (ref. 3.3.3.3.2.2.1-A1) and Sync
                 Mode.
             o   Mode.

             The Message Service System will remain closed and
             CPM remains in Hunt Mode, until an appropriate
             Sync Message is recognized on the inbound service
             channel  (ref. A2).

         b)  A̲c̲t̲i̲v̲e̲ ̲t̲o̲ ̲S̲t̲a̲n̲d̲-̲b̲y̲

             A "Stop Message Service" command is issued to the
             MSS and enqueued in the MC queue. CPM Operational
             Mode is changed to stand-by and causes the CPM
             to stop service of the outbound and inbound narrative
             message channels.

         A2. S̲y̲n̲c̲-̲M̲e̲s̲s̲a̲g̲e̲ ̲R̲e̲c̲e̲i̲v̲e̲d̲

             Inbound Sync Messages encountered by the "CPMM&ED"
             are delivered to CPMM&C.

             i)  I̲n̲b̲o̲u̲n̲d̲ ̲S̲y̲n̲c̲-̲M̲e̲s̲s̲a̲g̲e̲

                 The 'Sync Seq No' enclosed in the Sync Message
                 is returned to the SPM in a Keep Alive Message,
                 by mailing in the SIP…0f…C…0e… Mailbox for CWD to transit.
                 When this occurs CPM exits "Hunt Mode" and
                 sets Input Active.



         A3. S̲y̲n̲c̲.̲S̲e̲q̲u̲e̲n̲c̲e̲ ̲N̲u̲m̲b̲e̲r̲ ̲R̲e̲c̲e̲i̲v̲e̲d̲

             While in "Sync Mode" a received Keep Alive Message
             is checked for the correct sync.seq.no., and when
             this is found, CPM exits "Sync Mode" and sets "Output
             Active".

             The sync timer is stopped when this has occured,
             and all channels are checked for messages pending
             transmission to FIKS.

             Only messages from NICS-TARE or Intercept Queue
             are retransmitted, any others are released.

             A control message is sent to all MEDE supervisors
             announcing this SCC to be active.

             Finally the Message Service System is opened by
             an "Open Message Service" command enqueued in the
             MC-queue for the MSS.

         A4. M̲S̲S̲ ̲R̲e̲s̲p̲o̲n̲s̲e̲s̲/̲N̲T̲S̲ ̲C̲h̲a̲n̲n̲e̲l̲ ̲R̲e̲p̲o̲r̲t̲s̲

             These responses and reports are forwarded to the
             CWD in the SIP…0f…C…0e… Mailbox, and no further processing
             is performed.

         A5. S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲R̲e̲p̲o̲r̲t̲ ̲t̲o̲ ̲b̲e̲ ̲s̲e̲n̲t̲

             When the "CPMTIM" has encountered a full hour,
             it signals this to "CPMM&C", so that a Statistics
             Report can be compiled and transmitted.

             The DTG's delivered by SPM in a Keep Alive Message
             are retrieved every time they arrive and stored
             in the Statistics Record. The CPM itself provides
             the oldest DTG from the NM-queue.

             If the CPM Operational Mode is Standby, the DTG's
             will not be included in the Report.

             The Report is sent to both SCC's, and then the
             time is checked. If the time is 00:00, the statistics
             record is to be reset before next transmission.



         B.  P̲r̲o̲g̲r̲a̲m̲ ̲ ̲C̲P̲M̲M̲&̲C̲

             BEGIN
             CASE OF EVENT  (1,2,3,4,5)
             'CPM Operational Mode-Change Command'

         1.  IF  (Stand-by to Active)
             THEN
             'Clear all Ack.Seq.no's'
             'Clear SIP…0f…C…0e… Mailbox'
             "RETRIEVE"  (Sync Seq No)
             CPM Operational Mode:= HUNT + SYNC
             "CREATE"  (Sync Message  (Sync Seq No))
             "ENQUEUE"  (Sync MSG TQ)
             'Start Sync.timer'
             CALL CPMTIM (PSYNTIM)
            ELSE  (ACTIVE TO Stand-by)
             "ENQUEUE"  (CMD-STOP, MC)
           IF (CIP Operational Mode = Sync. Mode)
           THEN
             'Stop SYNTIM'
              CALL CPMTIM (SSYNTIM)
           END IF
             CPM Operational Mode:= STAND-BY
           END IF
         2.'Sync.Seq.No.received' (In Keep Alive Msg)
           IF (Sync. Seq. No. HUNT = Sync. Seg. No. MSG)
           THEN
            CPM Operational Mode:= Output Active
            'Exit Sync Mode'
            'Stop Sync. timer'
             CALL CPMTIM (SSYNTIM)
             FOR (channel = FM N/T AND Channel = FM IQ)
             DO
             'Retransmit Messages'
             CALL "INNMSG"
             "ENQUEUE" (MSG., TQ)
           END DO
           "CREATE" (SCC-STATE-MSG.)
           "ENQUEUE" (MSG., TQ) (To all MEDE-Supervisors)
           "ENQUEUE" (CMD-OPEN, MC)



         3.  'Inbound Sync Message'
            "RETRIEVE" (Sync-Seq ̲No, MSG)
          IF (CPM Operational Mode = ACTIVE)
          THEN
             'Exit Hunt Mode'
             CPM Operational Mode:= Input Active
             'Mail Sync.Seq.No.' (In SIP…0f…C…0e… Mailbox)
          END IF
         "RELEASE" (SYNC MSG)

         4.a) 'NICS-TARE Report'
              'Mail N/T - Status Report'  (In SIP…0f…C…0e… Mailbox)

           b) 'NICS-TARE Response'
              'Check Response against last command'
              'Mail N/T - Status Report' (In SIP…0f…C…0e… Mailbox

           c) 'NICS-TARE Command'
              'Save Command to check with Response'
              'Send Command'
              "Enqueue"  (PMTCB, Command, MC-Q)

         5.   'Send Statistics'
              IF (CPM Operational Mode = Standby)
              THEN
             'Clear Oldest DTG's in Statistics Record'
             ELSE
               'Compile Oldest DTG from NM-Q'
             END IF
             IF  (Statistic Record Reset)
             THEN
               MSG-TYPE:= Statistics Reset
             ELSE
               MSG-TYPE:= Normal Statistics
             END IF
             "GENERATE STATISTICS REPORT"
             "ENQUEUE" (START-REPORT; TQ, Both SCC's)
             'Check  Time'
             IF (Time = 00:00)
             THEN
               'Reset Statistics Record after Transmission'
             END IF
           END CASE
         END



3.3.3.3.2.2.3

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲N̲a̲r̲r̲a̲t̲i̲v̲e̲-̲M̲e̲s̲s̲a̲g̲e̲-̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲ ̲ ̲(̲N̲M̲A̲C̲C̲N̲T̲)̲

         A.  N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲

             Procedure "NMACCNT" is called by "CPMM&ED" whenever
             a narrative or pseudo message is retrieved from
             the NM queue; it performs the accounting for all
             messages transmitted to FIKS.

             The purpose of "NMACCNT" is to make preparations
             for a future acknowledgement of messages received
             from NICS-TARE and a "performance" acknowledgement
             for message services provided to FIKS.

             The message accounting performed by NMACCNT consists
             in maintaining an "ACK Cross-Reference Table" (XACKTAB),
             with one entry for each outbound channel. The actual
             release of acknowledgements as performed by procedure
             "NMACKP"  (ref. 3.3.3.3.2.2.5) with reference to
             the XACKTAB.

             Four types of narrative messages and two types
             of pseudo messages are recognized by logical CH
             # by NMACCNT and are as follows:

             Narrative Messages:     a)  SMF/ACP Converted MSG's
                                     b)  ACP/SMF Converted MSG's
                                     c)  Messages from NICS-TARE
                                     d)  SCC Intercepted Messages

             Pseudo Messages:        e)  SMF/ACP converted MSG's
                                     f)  ACP/SMF Converted MSG's

             a,b,e and f are correlated to messages once received
             from FIKS, while c and d are considered as SCC
             source messages.

         A1. C̲o̲n̲v̲e̲r̲t̲e̲d̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲

             No accounting has so far been made for messages
             received from FIKS for conversion. This must be
             done before the converted message has returned,
             to be able to identify and acknowledge the messages
             originally received.



             The original message is identified by the MSG ID1
             kept in the message reference (MTCB). The converted
             message has been assigned a new MSG ID2, which
             is retrieved from the message.

             MSG ID1 and MSG ID2 are stored in the XACKTAB entry
             designated by CH #, and an "Entry Busy" flag is
             raised  (Figure 4.3.3.2.2.3-1).


















             --------------------------------------------------
                FLAG          NEW MSG ̲ID          OLD MSG ̲ID
             --------------------------------------------------





























       Figure 3.3.3.3.2.2.3-1…01…XACKTAB-Entry Layout



             Procedure "NMACKP" will then provide the release
             of the ACK  (MSG ID1) for the original message
             upon receipt of the ACK  (MSG ID2) for the converted
             message  (ref. 3.3.3.3.2.2.5).

         A2. S̲C̲C̲-̲S̲o̲u̲r̲c̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲

             The processing performed by NMACCNT in this case
             is similar to case A1. "NMACKP" will ensure that
             the ACK's are issued to the MSS rather than to
             FIKS.

         A3. P̲s̲e̲u̲d̲o̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲

             Pseudo Messages are substitutes for messages received
             from FIKS for conversion, but queued for intercept
             by the MSS and serve to maintain continuity on
             the channel.

             In this case only the "OLD MSG ID" is updated in
             the proper XACKTAB entry, and the entry flagged
             "BUSY". If no message was awaiting acknowledgement
             (entry non busy) then a "Pseudo SPM-ACK" is issued
             to "NMACKP", which will provide the acknowledgement
             of the intercepted message and the release of this
             message from SPM.
             Otherwise SPM ACK will provide the ACK of the message
             awaiting acknowledegement as well as the intercepted
             message.

         B.  P̲r̲o̲g̲r̲a̲m̲ ̲ ̲N̲M̲A̲C̲C̲N̲T̲:̲

             BEGIN
               CASE OF EVENT  (1, 2, 3)

             1.  'Narrative Message'
                 "RETRIEVE"  (MSG ̲ID1, MSG ̲ID2)
                 XACKTAB (OLD,  CH #):= MSG ̲ID1
                 XACKTAB (NEW,  CH #):= MSG ̲ID2
                 XACKTAB (FLAG;   CH #):= BUSY
                 INC. Statistics Record (CH #, PREC)

             2.  'Pseudo Message'
                 "RETRIEVE"  (MSG ̲ID1)
                 INC. Statistics Record  (CH #, PREC)
                 XACKTAB (OLD,  CH #):= MSG ̲ID1
                 IF  (XACKTAB(FLAG;  CH #) = IDLE)
                 THEN
                   XACKTAB(FLAG, CH #) = BUSY
                   'Pseudo ACK Generation'
                   MSG ̲ID = XACKTAB(NEW, CH #)
                   CALL "NMACKP"  (CH #, MSG ID)
                 END IF



             3.  'Narrative Messages for N/T'
                 "RETRIEVE"  (MSG- ID1)
                 XACKTAB  (FLAG, CH #):= BUSY
                 XACKTAB  (OLD, CH #):= MSG ̲ID1
                 END CASE
             END



3.3.3.3.2.2.4

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲O̲u̲t̲b̲o̲u̲n̲d̲ ̲S̲t̲u̲c̲k̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲ ̲(̲O̲S̲T̲M̲P̲)̲

         A.  N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲

             Procedure "INTERCEPT" is called by "CPMM&ED" when
             an Outbound Stuck Message is encountered, i.e.
             a message return by NSS to the MDQ because of trunkerror.
             The Stuck Message will be enqueued in the Intercept
             Queue (IQ), but must still be accounted for to
             preserve message continuity.
             This is done from "CPMM&ED" by call of procedure
             "NMACKP".

         B.  P̲r̲o̲g̲r̲a̲m̲ ̲O̲S̲T̲M̲P̲:̲

             BEGIN
               "RETRIEVE"  (MSG, MSG ̲ID2)
               "ENQUEUE"  (MSG, IQ)
             END



3.3.3.3.2.2.5

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲N̲a̲r̲r̲a̲t̲i̲v̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲A̲C̲K̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲ ̲(̲N̲M̲A̲C̲K̲P̲)̲

         A.  N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲

         Procedure "NMACKP" is invoked when:

         1)  SPM acknowledgements are encountered by CPMM&ED"
             in the SIP…0f…C…0e… Keep Alive ̲Message
         2)  "CPMM&ED" receives an acknowledgement from the
             MSS in the NC queue
         3)  "CPMM&ED" simulates an acknowledgement for a message
             queued for intercept
         4)  "NMACCNT" encounters a pseudo message.

         Acknowledgements for SCC source messages (i.e. incoming
         NICS-TARE messages and intercepted messages) are issued
         to the MSS in the MC queue.

         Acknowledgements for inbound messages from FIKS (non-intercepted)
         are converted from CPM to SPM acknowledgements, with
         ref. to the XACKTAB (ref. 3.3.3.3.2.2.3) and mailed
         in the SIP…0f…C…0e… Mailbox. Unexpected ACK's are ignored by
         NMACKP.

         B.  P̲r̲o̲g̲r̲a̲m̲ ̲N̲M̲A̲C̲K̲P̲ ̲ ̲(̲M̲S̲G̲ ̲I̲D̲,̲ ̲C̲H̲ ̲#̲)̲

             BEGIN
               XID:= XACKT (NEW, CH #)
               IF  (XID = MSG ID, i.e. ACK Expected)
               THEN
                 "CREATE ̲ACK"  (MSG ID = XID, CH #)
                 IF  (CH # = SCC Source Message)
                 THEN
                   "ENQUEUE"  (ACK (MSG ID), MC)
                 ELSE
                   "RESERVE"  CRITICAL REGION  (SIP…0f…C…0e… MAILBOX)
                   MAIL ACK (MSG ID, CH #)
                   "RELEASE"  CRITICAL REGION  (SIP…0f…C…0e… MAILBOX)
                 END IF
               ELSE
                 IGNORE ACK
               END IF
             END



3.3.3.3.2.2.6

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲n̲b̲o̲u̲n̲d̲ ̲N̲a̲r̲r̲a̲t̲i̲v̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲ ̲(̲I̲N̲M̲P̲)̲

         A.  N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲

             Procedure "INMP" is invoked when "CPMM&ED" dequeues
             an inbound narrative message from MDQ and CPM Operational
             Mode has input active.
             The message is enqueued to the MSS according to
             channel No.
             If the message is to be transmitted to NICS-TARE
             a call is made to "NMACCNT" for accounting purposes.

         B.  P̲r̲o̲g̲r̲a̲m̲ ̲I̲N̲M̲P̲

             BEGIN
                 IF  (CH # = N/T Channel)
                 THEN
                     CALL NMACCNT  (MSG, CH #)
                 END IF
                     "ENQUEUE"  (MSG, CH #, CQ)
             END



3.3.3.3.2.2.7

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲P̲M̲ ̲T̲i̲m̲e̲r̲ ̲P̲r̲o̲c̲e̲s̲s̲ ̲ ̲(̲C̲P̲M̲T̲I̲M̲)̲

         A.  N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲

             The CPM Timer constitutes two separate timers,
             identified as:

             1)  Sync.Message Timer  (SYNTIM)
             2)  Statistics Timer

             CPMTIM is invoked by CPMED when a Timer Interrupt
             is encountered, and used to drive the above mentioned
             timers.



         A1. S̲Y̲N̲T̲I̲M̲ ̲T̲i̲m̲e̲r̲

             The purpose of SYNTIM is to detect when a sync
             message has failed to appear within a predefined
             time interval (SYNTIM preset value is TIMSSYN)
             which will result in an update of Sync.seq.no.
             and a new transmission of a sync message. This
             in turn results in a restart of SYNTIM.

         A2.  S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲T̲i̲m̲e̲r̲

             The Statistics Timer runs continously to trigger
             the transmission of a Statistics Report.
             It is maintained by sending an Amos Message to
             the Timer Process.
             Every full hour an Amos Answer is returned to run
             the timer.

         B.  P̲r̲o̲g̲r̲a̲m̲ ̲ ̲C̲P̲M̲T̲I̲M̲:̲

             BEGIN
              CASE OF EVENT/COMMAND  (1,2,3,4,5)

         1.  'EVENT = Timer Interrupt'
             'Run Timers'
             SYNTIM:= SYNTIM-1
             IF  (SYNTIM= 0 'SYNTIM  expired')
             THEN
               CALL "CPMM&C" (Send sync msg)
             END IF

         2.  'EVENT= Run STATISTICS Timer'
             CALL "CPMM&C"  (Send Statistics Report)

         3.  'COMMAND= Start/Restart STATIM'
             Send Amos Message  (TIMER Process, 1 Hour)

         4.  'COMMAND= Preset SYNTIM'
             SYNTIM:= TIMSSYN

         5.  'COMMAND= Stop SYNTIM'
             SYNTIM:= 0
           END CASE
         END



3.3.4    K̲e̲e̲p̲ ̲A̲l̲i̲v̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲ ̲(̲K̲A̲M̲)̲



3.3.4.1  I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲

         Keep Alive Messages are the common communications vehicle
         for exchange of control and status information between
         the CIP located Protocol Machine and the Watch Dog
         Submodules and the SIP located Protocol Machine and
         the Watch Dog Modules.

         Three different types of Keep Alive Messages are used:

         1)  SIP/SIP Keep Alive Messages
         2)  SIP/CIP Keep Alive Messages
         3)  CIP/SIP Keep Alive Messages

         For each type of Keep Alive Messages transmitted between
         SIP or CIP to SIP or CIP, there also exists a mailbox,
         where output data to remote submodules are stored.

         Two mailboxes are recognized at SIP:

         o   SIP…0f…R…0e… Mailbox for transfers to SIP…0f…R…0e…
         o   CIP…0f…C…0e… Mailbox for transfers to CIP…0f…C…0e….

         At CIP only one Mailbox is used:

         o   SIP…0f…C…0e… Mailbox for transfers to SIP…0f…C…0e….

         The release of Keep Alive Messages are controlled by
         the SCC Watch Dog; it takes place with a regular frequency.

         The release of a Keep Alive Message, however, may be
         accelerated when an emergency situation requires immediately
         exchange of commands, or on request from the local
         Protocol Machine if SIP…0f…R…0e… Mailbox overflow is detected,
         or if an ACK has to be transmitted.

         The receipt and distribution of control & data enclosed
         in the Keep Alive Message is performed by the local
         Protocol Machine.



         SIP/CIP Status Reports are retrieved and forwarded
         to the local Watch Dog while acknowledgement & Anti
         ̲Messages are designated for the local Protocol Machine
         itself.

         At CIP…0f…C…0e… the SCC…0f…R…0e… and NICS-TARE Link Status are forwarded
         to the local supervisors, while at SIP…0f…C…0e… the status
         is mailed in the mailbox towards the supervisor to
         whom it is intended.



3.3.4.2  S̲I̲P̲ ̲t̲o̲ ̲S̲I̲P̲ ̲K̲e̲e̲p̲-̲A̲l̲i̲v̲e̲-̲M̲e̲s̲s̲a̲g̲e̲

         SIP to SIP Keep Alive Messages contain:

         o   SWD State Report
         o   Remote SCC Status  (SCC…0f…R…0e…)
         o   Remote N/T Link Status N/T…0f…R…0e…
         o   Sync.Sequence Number (SSN). Not used.
         o   CHO, CH1 and CH2 Anti Messages

         The layout is depicted in Figure 3.3.4.2-1.

















             SWD State Message
             SCC…0f…R…0e…
             N/T…0f…R…0e…
             Not Used  (SSN)
             CH0 Anti Message
             CH1 Anti Message
             CH2 Anti Message


























           Figure 3.3.4.2-1…01…SIP/SIP KAM Layout



         An Anti Message is composed of Msg Id and Seq No. Seq
         No. is a cyclic Anti Message identifier, incremented
         by transmitting Protocol Machine each time a new Anti-Message
         is mailed.

         Seq No. is used by the receiving Protocol Machine to
         validate whether the Keep Alive Message holds a new
         Anti Message.

3.3.4.3  S̲I̲P̲ ̲t̲o̲ ̲C̲I̲P̲ ̲K̲e̲e̲p̲-̲A̲l̲i̲v̲e̲-̲M̲e̲s̲s̲a̲g̲e̲

         SIP to CIP Keep Alive Messages contain:

         o   SWD State Message
         o   SCC…0f…R…0e… Status
         o   N/T…0f…R…0e… Status
         o   Sync Seq No.
         o   CH3, CH4, CH5 and CH6 ACK's.

         The layout is depicted in Figure 3.3.4.3-1.

















             SWD State Message
             SCC…0f…R…0e…
             N/T…0f…R…0e…
             Sync Seq No.
             CH3 ACK
             CH4 ACK
             CH5 ACK
             CH6 ACK

























           Figure 3.3.4.3-1…01…SIP/CIP KAM Layout



         The Sync Seq No. is provided only in channel start
         and restart situations.

         An ACK has a format identical to Anti Messages  (please,
         refer to 3.3.4.2).



3.3.4.4  C̲I̲P̲ ̲t̲o̲ ̲S̲I̲P̲ ̲K̲e̲e̲p̲-̲A̲l̲i̲v̲e̲-̲M̲e̲s̲s̲a̲g̲e̲

         CIP to SIP Keep Alive Messages contain:

         o   CWD State Message
         o   SCC…0f…C…0e… Status
         o   N/T…0f…C…0e… Status
         o   Sync Seq No.
         o   CH0, CH1 and CH2 ACK's

         The layout is depicted in Figure 3.3.4.4-1.

















             CWD State Message
             SCC…0f…C…0e…
             N/T…0f…C…0e…
             Sync Seq No.
             CH0 ACK
             CH1 ACK
             CH2 ACK


























           Figure 3.3.4.4-1…01…CIP/SIP KAM Layout



         The Sync Seq No. is used for resynchronization of the
         CIP output channel at (re)start situations.

         The format of ACK's are identical to Anti Messages
          (Please, refer to 3.3.4.2).



3.4      D̲A̲T̲A̲ ̲O̲R̲G̲A̲N̲I̲Z̲A̲T̲I̲O̲N̲

         Please refer to source-listings

         CWDBASE
         SWDBASE
         CPMBASE
         SPMBASE

         These listings contain the data structures and explanations
         of use.



3.5      S̲T̲O̲R̲A̲G̲E̲ ̲A̲L̲L̲O̲C̲A̲T̲I̲O̲N̲

         No special provisions apply.



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̲

         The ISH subsystems run by use of Keep Alive Messages,
         which run with a frequency of 1 message pr 20 sec.'s,
         with idle load. The subsystems also support a dynamic
         transmission of Keep Alive Messages, whenever needed.



3.7      L̲I̲M̲I̲T̲A̲T̲I̲O̲N̲S̲

         N̲o̲n̲e̲



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̲

         Besides the general Error Codes returned by call of
         monitors, the modules generate the following internal
         Error Codes:



3.8.1.1  S̲P̲M̲:̲

         Decimal Value:          Error:

         106                     Checkpoint Error
         105                     Invalid Msg. type  (SPMED)
         104                     Unknown Event  (SPMED)
         103                     Unknown Answer  (SPMED)
         102                     Unknown Msg. type  (SPMED)
         101                     Unexpected Amos Msg.  (SPMED)
         100                     Invalid Command  (SPMED)
          40                     Invalid Opcode  (SPMMC)
          21                     Invalid Destination  (XMITMSG)
          20                     Invalid Msg. type  (XMITMSG)
          14                     Buffer Mislinkage  (CPMAP)
          13                     Buffer Mislinkage  (OAMP)
          12                     Buffer Mislinkage  (ONMP)
          11                     Buffer Mislinkage  (FREE-BUFF)
          10                     Buffer Mislinkage(BUFF-MGR)



3.8.1.2  C̲P̲M̲:̲

         Decimal Value:          Error:

         106                     Checkpoint Error
         105                     Invalid Msg. type  (CPMED)
         104                     Unknown Event  (CPMED)
         103                     Unknown Answer  (CPMED)
         102                     Unknown Msg. Event (CPMED)
         101                     Unexpected Amos Msg.  (CPMED)
         100                     Invalid Command  (CPMED)
          40                     Invalid Opcode  (CPMMC)
          30                     Invalid Channel No.  (NMACKP)
          20                     Invalid Channel No.  (NMACCNT)



3.8.1.3  S̲W̲D̲:̲

         Decimal Value:          Error:

         103                     Unknown Event  (SWDED)
         102                     Unknown Answer  (SWDED)
         101                     Invalid Command  (SWDED)
         100                     Answer Timeout  (SWDED)
          21                     Invalid Destination  (XMITMSG)
          20                     Invalid Msg. type  (XMITMSG)
          10                     Answer Timeout  (SCSP)



3.8.1.4  C̲W̲D̲:̲

         Decimal Value:          Error:

         103                     Unknown Event  (CWDED)
         102                     Unknown Answer  (CWDED)
         101                     Invalid Command  (CWDED)
         100                     Answer Timeout  (CWDED)
          21                     Invalid Destination  (XMITMSG)
          20                     Invalid Msg. type  (XMITMSG)
          11                     Invalid Supv. Command  (SSSCP)
          10                     Answer Timeout  (SSSCP)



3.8.2    E̲r̲r̲o̲r̲ ̲L̲o̲c̲a̲t̲i̲o̲n̲s̲

         The Error Locations displayed will be equal to the
         relative program location, which will be subject to
         change, whenever modifications are implemented in the
         modules.



3.9      L̲I̲S̲T̲I̲N̲G̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲

         Ref. to document SCCLDD and S/W library FIXLIB.





                   4  Q̲U̲A̲L̲I̲T̲Y̲ ̲A̲S̲S̲U̲R̲A̲N̲C̲E̲

         Ref. 5, Test S090.







               5  P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ ̲F̲O̲R̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲

         Ref. SCCLDD.