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 - metrics - download

⟦22054e7e9⟧ Wang Wps File

    Length: 59461 (0xe845)
    Types: Wang Wps File
    Notes: FIX/1160/PSP/0091   II    
    Names: »3150A «

Derivation

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

WangText



/…05….…08….…09….…0d….…02….…06…+…09…+…0a…+…0f…+  *…0a…*…0f…*     )…09…)…0e…)…00…)…06…(…0a…(…0b…(…86…1
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    …02…
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    …02…
                    
                    
                    
                    …02…
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    

   …0f…3150A/bna…02…FIX/1160/PSP/0091

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








                 ---------------------------------------

                 CWD to SWD State Message
                 ---------------------------------------
                  O     S     ST     AT      A      TAS
         -----------------------------------------------
          C   U   X
          W   O   X
          D   OT  X
              S         X
              ST              X
          S   TSA       X
          T   AT                     X
          A   A                              X
          T   TAS                                   X
          E   AR                     X
              RT                     X

         -----------------------------------------------
 



           Table 3.3.2.3.2.2.2-6…01…CWDSM Encoding



         A5. Outbound CWD…0f…C…0e… Status Report Encoding
              ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             The Status Report sent from CWD to the collocated
             SIP Watch Dog (SWD…0f…C…0e…) contains two parameters:

             o   Local NICS-TARE Link Status (N/T…0f…C…0e…)

             o   CWD to SWD…0f…C…0e… State Message.

             The N/T…0f…C…0e… is retrieved from NICS-TARE Status Reports
             received via the CIP Protocol Machine, and is intended
             for the remote SCC Supervisor.

             The CWD to SWD…0f…C…0e… State Message is generated from
             the CWD State Parameter and contains CIP Operational
             Status and the SCC supervisor Requests and Responses
             to the SCC Watch Dog/Remote SCC supervisor.

             The CWD State Parameters to CWD to SWD…0f…C…0e… State Message
             conversion is defined in Table 3.3.2.3.2.2.2-6.




         B.  P̲r̲o̲g̲r̲a̲m̲ ̲C̲W̲D̲C̲&̲S̲P̲:̲

             BEGIN
                 IF  (EVENT = SWD…0f…C…0e… State Report)
                 THEN
                     'Reset SIP…0f…C…0e… KAM Absence timer'
                     CALL "CWDTIM"  (Reset SKATIM)
                     RETRIEVE (N/T…0f…R…0e…, SCC…0f…R…0e… Status)
                     IF (N/T…0f…R…0e…, SCC…0f…R…0e… Status Changed)
                     THEN
                         "CREATE"  (PMTCB, N/T…0f…R…0e…, SCC…0f…R…0e… Status)
                         "ENQUEUE"  (PMTCB,  CM Queue)
                     END IF
                     RETRIEVE  (SWD…0f…C…0e… State Message)
                     'Calculate New State'
                     STATE: = CSSET STATE  (CWDSP,  SWDSM)
                     'Get Action'
                     ACTION:= SSET Action  (CWDSP,  SWDSM)
                     'Get Message Text'
                     TEXT:= CSSET ̲TEXT (CWDSP,  SWDSM)
                 ELSE  (EVENT = COMMAND/OPCMD or Timeout/TO)
                     'Calculate New-State'
                     STATE:= COSET STATE (CMDSP,  EVENT)
                     'Get Action'
                     ACTION:= COSET ACTION  (CMDSP,  EVENT)
                     'Get Message Text'
                     TEXT:= COSET TEXT  (CMDSP,  EVENT)
                 END IF
                 CIP Operational Mode:= State ̲Group  (CWDSP)
                 "GENERATE"  (CWD to SWD…0f…C…0e… State Report)
                 "RESERVE ̲CRITICAL ̲REGION"(SIP…0f…C…0e… Mailbox)
                 MAIL (CWD to SWD…0f…C…0e… State Report)
                 "RELEASE ̲CRITICAL REGION" (SIP…0f…C…0e… Mailbox)
                 'Execute Action'
                 CALL "ACTION"
                 'Prompt Supervisor'
                 "CREATE"  (PMTCB,  TEXT)
                 "ENQUEUE" (PMTCB, CM Queue)
             END



         B1.     S̲t̲a̲t̲e̲ ̲E̲v̲e̲n̲t̲ ̲T̲a̲b̲l̲e̲s̲

         B1.1    I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲

                 The COSET and CSSET State Event Tables, defined
                 in Table 3.3.2.3.2.2.2-7A and Table 3.3.2.3.2.2.2-8A,
                 are decoded as follows:

                 ----------------------
                 Entry.         Message
                 No.            No.

                        (*)

                 New            Action
                 State          No.
                 ----------------------

             o   "Entry No." is referenced in the State Event
                 Comment tables, appended to each State Event
                 Table.

             o   "New State" is the menomonic for the CWD State
                 Value, and the CWD State ̲Parameter is updated
                 accordingly. If the contents is (-), no CWD
                 state change is required.

             o   "Message No." is a reference to the Message
                 Text printed on the event-log printer and defined
                 in B1.2.

             o   "Action No." is a reference to an action procedure
                 defined in B1.2, which is executed each time
                 the entry applies. If (-) then no action is
                 required.

             o   An asterix (*) in the centerfield indicates
                 that a CIP Operational Mode change takes place.


         B1.2    Action Procedures/Message Texts

         A1.     BEGIN
                     "Send NSC-report including SCC…0f…C…0e…- & SCC…0f…R…0e…-states
                     and possible supervisor-message"
                 END

         A2.     BEGIN
                     "Change CWDSP"
                     "Send CIP/SIP Keep Alive Message"
                 END

         A3.     BEGIN
                     "Change CWDSP"
                     "Send CIP/SIP Keep Alive Message"
                     "Send NCS-report"
                 END

         A4.     BEGIN
                     "Change CWDSP"
                     "Send NSC-report"
                     "Send AMOS message to CPM with CIP Operational
                     Mode Update"
                     "Stop Timers"
                     "Send CIP/SIP Keep Alive Message"
                 END

         A5.     BEGIN
                     "Change CWDSP"
                     "Send CIP/SIP Keep Alive Message"
                     "Send NCS-report"
                     Send AMOS message to CPM with CIP Operational
                     Mode Update"
                 END



         A6.     BEGIN
                     "Change CWDSP"
                     Send CIP/SIP Keep Alive Message"
                     Send NSC-report"
                     Send AMOS Message to CPM with CIP Operational
                     Mode Update"
                     "Start Timers"
                 END

         A7.     BEGIN
                     "Send NSC-report"
                     "Start response-timer"
                 END

         A8.     BEGIN
                     "Change CWDSP"
                     "Send NSC-report
                 END

         A9.     BEGIN
                     "Change CWDSP"
                     "Send NSC-report"
                     Start response-timer"
                 END

         A 10.   BEGIN
                     "Change CWDSP"
                     "Send NSC-report"
                     "Start response-timer"
                     "Send CIP/SIP Keep Alive Message"
                 END



             M̲e̲s̲s̲a̲g̲e̲s̲ ̲t̲o̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲o̲n̲ ̲E̲v̲e̲n̲t̲-̲L̲o̲g̲ ̲P̲r̲i̲n̲t̲e̲r̲

             M1:     "OFF LINE"

             M2:     "BUSY"

             M3:     "INVALID COMMAND"

             M4:     "STAND-BY"

             M5:     "ACTIVE"

             M6:     "REQUEST CANCELLED"

             M7:     "COMMAND REJECTED"

             M8:     "GO ACTIVE"

             M9:     RESPONSE TIMEOUT"

             M10:    "REJECTED BY REMOTE SUPERVISOR"



         B1.3    C̲W̲D̲S̲P̲/̲O̲P̲C̲M̲D̲ ̲S̲t̲a̲t̲e̲/̲E̲v̲e̲n̲t̲ ̲T̲a̲b̲l̲e̲ ̲(̲C̲O̲S̲E̲T̲)̲

                 The COSET State Event Table is a two dimensional
                 array, where each element holds a state and
                 optional action- and/or message designator.

                 State is retrieved by a call:

                 STATE:= COSET STATE  (STATE, EVENT)

                 Action is retrieved by a call:

                 ACTION:= COSET ACTION  (STATE, EVENT)

                 Message Text is retrieved as:

                 TEXT:= COSET TEXT  (STATE, EVENT)

                 COSET is defined in Table 3.3.2.3.2.2.2-7A
                 and described in COSET Narrative Table, Table
                 3.3.2.3.2.2.2-7B.










































   Table 3.3.2.3.2.2.2-7A…01…CWDSP/OPCMD State Event Table



         --------------------------------------------------------
         Entry   Comments
         No.
         --------------------------------------------------------

         1       SCC is already off-line. Command OK.

         2       Transition to off-line already in progress.
                 The second "GO" command has been issued before
                 completion of the first "GO and is ignored.

         3-5     Initiate transition to off-line.

         6       SCC is in a transition state from stand-by
                 to active.
                 Since the "GO" command is not valid in the
                 active mode, the command can't be validated
                 or executed until the transition is completed
                  (SCC Busy).

         7-10    Invalid command in active state. The command
                 is rejected.

         11      Transition to stand-by performed.

         12-14   SCC already stand-by. Command OK.

         15      A request to go active is rejected by the supervisor.
                 Command OK.
         --------------------------------------------------------




         Table 3.3.2.3.2.2.2-7B…01…COSET Narratives




         --------------------------------------------------------
         Entry   Comments
         No.
         --------------------------------------------------------
         16      SCC has accepted a request to go active, and
                 the transition may be in progress. The "GA"
                 command has not yet been completed, why the
                 "GS" command is rejected  (SCC Busy).

         17      The SCC supervisor forwards a request to the
                 remote SCC supervisor to go active. Command
                 OK.

         18      The switchover request is already in progress,but
                 not yet completed. Command OK.

         19      The SCC supervisor rejects that he cancelled
                 a switchover request in progress. Repeat the
                 request to go active to the remote SCC supervisor.

         20      Same as 18, besides a response timeout has
                 just occured. Issue the request once more.

         21-24   The stand-by SCC may only go active if so requested
                 by the active SCC supervisor. Invalid command.
         --------------------------------------------------------




         Table 3.3.2.3.2.2.2-7B…01…COSET Narratives


         --------------------------------------------------------
         Entry   Comments
         No.
         --------------------------------------------------------

         25      The supervisor accepts to go active.

         26      The supervisor repeats the accept to go active.
                 CWD…0f…C…0e… goes on announcing it.

         27      SCC is already active. Command OK.

         28-30   The supervisor prefers to cancel the request
                 to the remote SCC to go active.

         31      Timeout ignored, since no command in progress.

         32      Off-line acknowledgement from SWD…0f…C…0e… has timed
                 out. SCC supervisor has authority to go off-line
                 anyhow.

         33-37   Please, ref. to 31.

         38      Remote SCC supervisor response timeouts, to
                 go active request. CWD…0f…C…0e… asks for SWD…0f…C…0e… authorization
                 to go active.

         39-40   Please, ref. to 31
         --------------------------------------------------------




            Table 3.3.2.3.2.2.2-7B  (cont.'d)



         B1.4    C̲W̲D̲S̲P̲/̲S̲W̲D̲S̲M̲ ̲S̲t̲a̲t̲e̲/̲E̲v̲e̲n̲t̲ ̲T̲a̲b̲l̲e̲ ̲ ̲(̲C̲S̲S̲E̲T̲)̲

                 The CSSET State Event Table is a two dimensional
                 array, where its entry holds a state- and/or
                 a message designator.

                 State is retrieved as: 

                 STATE:= CSSET STATE  (STATE, EVENT)

                 Action is retrieved by a call:

                 ACTION:= CSSET ACTION  (STATE, EVENT)

                 Message is retrieved as:

                 TEXT:= CSSET TEXT  (STATE, EVENT)

                 The CSSET is defined in Table 3.3.2.3.2.2.2-8A
                 and appended a CSSET Narrative Table, Table
                 3.3.2.3.2.2.2-8B










































      Table 3.3.2.3.2.2.2-8A…01…CSSET State/Event Table



         --------------------------------------------------------
         Entry   Comments
         No.
         --------------------------------------------------------

         1-6     CWD ignores SWD…0f…C…0e… State Messages while off-line.

         7       SIP…0f…C…0e… failures. Don't await off-line acknowledgement,
                 but go directly off-line.

         8       Off-line transition acknowledged. Go off-line.

         9-10    SWD…0f…C…0e… has not yet encountered the "notice" of
                 CWD going off-line.

         11-12   A failure has occured, CWD…0f…C…0e… is restarted, and
                 operation prefers to go off-line. This has
                 not yet been observed by SWD…0f…C…0e….

         13      CIP isolated. Must wait alive signals from
                  SWD…0f…C…0e….

         14      SWD…0f…C…0e… not yet observed that SCC has returned
                 to stand-by.

         15      "Stationary" state stand-by. No command, responses
                 or requests are in progress.

         16      SWD…0f…C…0e… or remote SCC supervisor requests supervisor
                 to go active. Forward the message.

         17-18   CIP…0f…C…0e… failure has occured, which has not yet
                 been observed by SWD…0f…C…0e….

         19      SWD…0f…C…0e… failures. Enter passive state.

         20      Invalid state. The CWD has entered transition
                 from stand-by to active on his own account;
                 go offline.

         --------------------------------------------------------




         Table 3.3.2.3.2.2.2-8B…01…CSSET Narratives



         --------------------------------------------------------
         Entry   Comments
         No.
         --------------------------------------------------------

         21      Supervisor's rejection to go active has been
                 observed. Stop announcing it.

         22      SWD…0f…C…0e… has not yet observed that supervisor rejects
                 to go active.  Go on announcing it.

         23-24   Invalid state. CWD…0f…C…0e… has failed and has entered
                 transition from stand-by to active on its own
                 account. Go standby, and wait for SWD…0f…C…0e… to synchronize.

         25      Request to go active is obsolete because of
                 SWD…0f…C…0e… failure.
                 Notify supervisor and return to passive state.

         26      Refer to 20; also cancel request.

         27      Request to go active is cancelled (response
                 timeout).
                 Notify supervisor.

         28      Request to go active still in progress.

         29-30   Please, refer to 23-24. Also cancel request.

         31      Please, refer to 19.

         32      Please, refer to 20.

         33      Supervisor accepted to go active, but too late.
                 Notify him.
         --------------------------------------------------------




             Table 3.3.2.3.2.2.2-8B (cont.'d)



         --------------------------------------------------------
         Entry   Comments
         No.
         --------------------------------------------------------

         34      SWD…0f…C…0e… has not yet observed that CWD…0f…C…0e… is ready
                 to go active.

         35      SWD…0f…C…0e… has observed and approved that CWD…0f…C…0e… goes
                 active.

         36      Invalid state. SWD…0f…R…0e… has reported SCC…0f…R…0e… unable
                 to go active without being requested. Go active.

         37      Please, refer to 19.

         38      Invalid state. CWD…0f…C…0e… has entered active state
                 without SWD…0f…C…0e… approval. Go offline.

         39      SWD…0f…C…0e… "commands" the CWD…0f…C…0e… to go stand-by either
                 caused by a SWD…0f…C…0e… failure or "System Control
                 Center" integrity violation, observed by the
                 SCC Watch Dog.

         40      SWD…0f…C…0e… failure has occured. SWD…0f…C…0e… commands the
                 CWD…0f…C…0e… to initiate restart.

         41      "Stationary" active state. No command, requests
                 or responses are in progress.

         42      CWD…0f…C…0e… has observed that switchover was declined.

         43      Please, refer to 19.

         44      Please, refer to 20.

         45      Request to go stand-by is granted.

         46      Transition to stand-by granted, but remote
                 supervisor or SCC Watch Dog immediately after
                 that request the supervisor to go active again.
                 (This must be forwarded to supervisor in state
                 16).
         --------------------------------------------------------


            Table 3.3.2.3.2.2.2-8B  (cont.'d)


         --------------------------------------------------------
         Entry   Comments
         No.
         --------------------------------------------------------

         47      SWD…0f…C…0e… not yet answered the request to go stand-by.

         48      The transition to stand-by is declined, return
                 to active.

         49      Supervisor tries to return to active, after
                 issuing a request to go stand-by. This is made
                 impossible by SWD…0f…C…0e… failure.

         50      Invalid state, refer to 20.

         51      Permission to return to active is not granted.

         52      SWD…0f…C…0e… failure has occured. SWD…0f…C…0e… "commands" CWD…0f…C…0e…
                 to initialize restart.

         53      Permission to return to active granted.

         54      The local supervisor cancels the request to
                 go stand-by at the same time as the request
                 is rejected by SWD…0f…C…0e…/remote supervisor.

         55      Please, refer to 19.

         56      Invalid state. The CWD…0f…C…0e… has entered active
                 state without SWD…0f…C…0e… authorization. Go offline.

         57      Request to go stand-by granted simultanuously
                 with response timeout.

         58      As 57, but remote supervisor/SWD…0f…C…0e… requests
                 the supervisor to go active again (via state
                 16).

         59-60   Response timeout occured.
         --------------------------------------------------------



            Table 3.3.2.3.2.2.2-8B  (cont.'d)



3.3.2.3.2.2.3

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

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

             The CWD Timer constitutes four separate timers,
             identified as:

             1)  SIP…0f…C…0e… KAM Absence Timer  (SKATIM)

             2)  CIP/SIP…0f…C…0e… KAM Release Timer  (CSKRTIM)

             3)  Response Timeout Timer  (SUPTIM)

             4)  NSC-report Release Timer  (REPTIM)

             SWDTIM is invoked by CWDED when a Timer Interrupt
             is encountered by the CWD process, and is used
             to drive the above mentioned timers.

             CWDTIM maintains these timers as commanded by the
             procedures CWDC&SP and SCSKAM; when a timer expires
             a predefined action is performed. The purpose and
             maintenance of these timers are as follows:

             A1. S̲K̲A̲T̲I̲M̲ ̲T̲i̲m̲e̲r̲

                 The purpose of SKATIM is to detect when a SIP…0f…C…0e…
                 Keep Alive Message has failed to appear within
                 a predefined time interval (SKATIM preset value
                 20SKATIMO) which is interpreted as a failure
                 of SIP…0f…C…0e….

                 If the SKATIM expires a 'pseudo' SIP…0f…C…0e… Status
                 Report is generated with SWD…0f…C…0e… Status "Undefined"
                 and forwarded to procecdure CWDC&SP.
                 SKATIM is commanded preset by CWDC&SP each
                 time a SWD…0f…C…0e… Status Report is received.



             A2. C̲S̲K̲R̲T̲I̲M̲ ̲T̲i̲m̲e̲r̲

                 The CSKRTIM serves to trigger the release of
                 CIP/SIP…0f…C…0e… Keep Alive Messages with regular intervals.
                 SCKRTIM preset value is CSKRTIMO.

                 When SCKRTIM expires a call is made to procedure
                 SCSKAM to provide for the transmission of the
                 Keep Alive Message.

                 SCKRTIM is in turn preset by SCSKAM each time
                 a Keep Alive Message has been released.

             A3. S̲U̲P̲T̲I̲M̲ ̲T̲i̲m̲e̲r̲

                 The SUPTIM Timer is started by CWDC&SP each
                 time the supervisor has issued a request to
                 the "System Control Center" and defines response
                 timeout elapse time (SUPTIMO).

                 When RESPTIM expires, CWDC&SP is called, and
                 if no response has been received until then,
                 a response timeout has occured.

             A4. R̲E̲P̲T̲I̲M̲ ̲T̲i̲m̲e̲r̲

                 The REPTIM Timer is used to trigger the release
                 of NSC-report with regular intervals. REPTIM
                 preset value is TIMRQL.

                 When REPTIM expires a call is made to procedure
                 XNSCREP to provide for the transmission of
                 the NSC-report.

                 REPTIM is in turn preset by XNSCREP each time
                 an NSC-report has been sent.



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

                 BEGIN
                   CASE OF EVENT/COMMAND  (1,2,3,4,5,6,7,8,9)

                 1.  'EVENT = Timer Interrupt'
                     'Run Timers'
                     SKATIM:= SKATIM-1
                     SUPTIM:= SUPTIM-1
                     CSKRTIM:= CSKRTIM-1
                     REPTIM:= REPTIM-1
                     IF  (SKATIM = 0 'SKATIM expired')
                     THEN
                       CREATE and Send Pseudo Status report
                       SWD…0f…C…0e… Status:= Undefined
                       N/T…0f…R…0e… Status:= Undefined
                       SCC…0f…R…0e… Status:= Undefined
                       CALL "CWDC&SP"  (SWD…0f…C…0e… Status Report)
                     END IF
                     IF (SUPTIM= 0, 'Response Timeout')
                     THEN
                       CALL "CWDC&SP" (Timeout)
                     END IF
                     IF (CSSKRTIM= 0, 'Release KAM'
                     THEN
                       CALL "SCSKAM"
                     END IF
                     IF  (REPTIM =0,'REPTIM expired')
                     THEN
                       CALL "XNSCREP"  (release NSC-report)
                     END IF

                 2.  'COMMAND = Preset SKATIM'
                     SKATIM:= SKATIM0

                 3.  'COMMAND = Preset SUPTIM'
                     SUPTIM:=SUPTIM0

                 4.  'COMMAND = Preset CSKRTIM'
                     CSKRTIM:= CSKRTIM0

                 5.  'COMMAND = Preset REPTIM'
                     REPTIM:= TIMRQL

 …86…1         …02…   …02…   …02…   …02…                                       
    
                 6.  'COMMAND = Stop SKATIM'
                     SKATIM:= 0

                 7.  'COMMAND = Stop SUPTIM'
                     SUPTIM:= 0

                 8.  'COMMAND = Stop CSKRTIM'
                     CSKRTIM:= 0

                 9.  'COMMAND = stop REPTIM'
                     REPTIM:= 0

                     END CASE

                 END



3.3.2.3.2.2.4

         Procedure Send CIP/SIP…0f…C…0e… Keep-Alive-Message (SCSKAM)
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

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

             Procedure SCSKAM is invoked by the CWD timer, when
             the KAM release time expires, and a Keep Alive
             Message has to be transmitted.

             The data mailed in the SIP…0f…C…0e… Mailbox by CWDED, CWDC&SP
             and the CPM submodule are retrieved and piggybacked
             in the Keep Alive Message transmitted.

         B.  P̲r̲o̲g̲r̲a̲m̲:̲

             BEGIN
                 "RESERVE ̲CRITICAL ̲REGION"  (SIP…0f…C…0e… ̲Mailbox)
                 Retrieve Mail  (data)
                 "RELEASE ̲CRITICAL ̲REGION"  (SIP…0f…C…0e… ̲Mailbox)
                 "WRITE"  (SIP…0f…C…0e… ̲Keep ̲Alive ̲Message)
                 "ENQUEUE"  (SIP…0f…C…0e… KAM, TQ)
                 CALL "CWDTIM"  (Preset CSKRTIM)
             END



3.3.2.3.2.2.5

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲T̲r̲a̲n̲s̲m̲i̲t̲ ̲N̲S̲C̲ ̲R̲e̲p̲o̲r̲t̲ ̲(̲X̲N̲S̲C̲R̲E̲P̲)̲

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

             Procedure XNSCREP is invoked when:

             o   REPTIM expires and CWDTIM signals this to XNSCREP

             o   CWDC&SP encounters an action-procedure including
                 a transmission of NSC-report.

         B.  P̲r̲o̲g̲r̲a̲m̲:̲

             BEGIN
               "RESERVE CRITICAL REGION"(SIP…0f…C…0e… Mailbox)
               Retrive Mail (Data)
               "RELEASE CRITICAL REGION" (SIP…0f…C…0e… Mailbox)
               "WRITE" (Pseudo MTCB, NSC-report)
               "ENQUEUE" (Pseudo MTCB, CM-queue)
               CALL "CWDTIM" (Preset REPTIM)
             END



3.3.3    N̲a̲r̲r̲a̲t̲i̲v̲e̲-̲M̲e̲s̲s̲a̲g̲e̲-̲P̲r̲o̲t̲o̲c̲o̲l̲-̲M̲a̲c̲h̲i̲n̲e̲ ̲ ̲(̲N̲M̲P̲M̲)̲



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

         The ISH Narrative Message Protocol Machine consists
         of four processes at the two SCC's and the collocated
         N/M's: CIP Protocol Machines & SIP Protocol Machines.

         By handshaking, these protocol machines provide the
         end to end control required by FIKS, for messages sent
         to the SCC for Message Service.

         A brief description of the Narrative Message Protocol
         Machine functional capabilities is provided in section
         3.3.3.2, as an introduction to the detailed design
         in section 3.3.3.3.



3.3.3.2  N̲M̲P̲M̲ ̲S̲u̲m̲m̲a̲r̲y̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         A.  P̲e̲r̲f̲o̲r̲m̲e̲d̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲:̲

             The NMPM performs the following functions:

             o   Maintain "Message Service System" Reliability

             o   Forward messages from FIKS to Message Service
                 at the SCC

             o   Return messages from Message Service to FIKS.

             The NMPM configuration and environment is depicted
             in Figure 3.3.2.3.-1.


















































    Figure 3.3.3.2-1…01…NMPM Configuration & Environment



         B.  N̲a̲r̲r̲a̲t̲i̲v̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲

             The elements & procedures of the protocol, employed
             by NMPM, are as follows:

         B1. P̲r̲o̲t̲o̲c̲o̲l̲ ̲E̲l̲e̲m̲e̲n̲t̲

             i)  L̲o̲g̲i̲c̲a̲l̲ ̲C̲h̲a̲n̲n̲e̲l̲ structure, defined by ANO's
                 in the narrative messages from FIKS.

             ii) N̲a̲r̲r̲a̲t̲i̲v̲e̲ ̲S̲M̲F̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲.

             iii)A̲n̲t̲i̲-̲M̲e̲s̲s̲a̲g̲e̲s̲ ̲exchanged between the two SIP
             ̲
                 protocol ̲Machines for message synchronization
                 (refer to B2).

             iv) T̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲ ̲A̲C̲K̲'̲s̲ for messages transmitted
                 to/received from NICS-TARE.

             v)  P̲e̲r̲f̲o̲r̲m̲a̲n̲c̲e̲ ̲A̲C̲K̲'̲s̲ for Message Service performed
                 to FIKS.

             vi) S̲y̲n̲c̲-̲M̲e̲s̲s̲a̲g̲e̲s̲ for start and reset of inbound
                 and outbound logical channels.

             vii)S̲t̲a̲n̲d̲-̲b̲y̲ ̲&̲ ̲A̲c̲t̲i̲v̲e̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ of the SIP Protocol
                 Machine.

         B2. G̲e̲n̲e̲r̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             When the "Message Service System" is open for FIKS,
             one SIP and one CIP Protocol Machine is active.
             Messages from FIKS for message service, are transmitted
             to both the active and stand-by SPM.

             Messages at the stand-by SPM are back-up for messages
             in progress at the "Message Service ̲System" and
             will remain there until a "Performance ACK" has
             been encountered by the active SPM. The active
             SPM then forwards an "Anti Message" to the stand-by
             SPM that will "annihilate" the corresponding message
             if it is recognized at the SPM. Otherwise, the
             Anti Message will be enqueued at the SPM and await
             the arrival of the message and cancel it when it
             appears. Messages may arrive in any order at the
             active & stand-by SPM.



             ACK's from the CPM and Anti ̲Messages from SPM are
             piggybacked in CIP and SIP Keep Alive Messages,
             respectively.

             Messages sent to Message Service from FIKS i.e.
             SMF/ACP or ACP/SMF conversion, are not acknowledged
             by the SPM, until the Message Service has been
             performed, and the message returns to FIKS.

             SPM performs the acknowledgemnet to CPM on behalf
             of FIKS.

             The SIP Protocol Machine does not recognize the
             correlation between a message for conversion and
             the corresponding converted message. This is done
             by CPM alone.

             An example is shown in Figure 3.3.3.2-2.





































         MSG(ID1):   For conversion

         MSG(ID2):   Converted

         MSG(NT1):   To NICS-TARE

         MSG(NT2):   From NICS-TARE






       Figure 3.3.3.2-2…01…SPM & CPM Message Exchange



             SPM immediately ACK's incoming messages on whatever
             logical channel they may arrive. CPM on the other
             hand recognizes converted messages. A cross reference
             between old ID (ID1) and new ID (ID2) is maintained
             by CPM and the acknowledgement of the original
             received message (ID1) withheld until the converted
             message (ID2) is acknowledged by SPM.
             This makes CPM realize the acknowledgement.

         B3. L̲o̲g̲i̲c̲a̲l̲ ̲C̲h̲a̲n̲n̲e̲l̲ ̲S̲t̲a̲r̲t̲/̲R̲e̲s̲t̲a̲r̲t̲

             When the logical channel between SPM and CPM is
             to be (re)opened, all messages left over from a
             prior active session, has to be removed, and the
             channel resynchronized. That is performed by means
             of sync messages (ref. B1, vi).

             SPM and CPM exchange Sync Seq No. via Status ̲Reports,
             piggybacked in Keep Alive Messages; they are used
             by SPM and CPM to recognize sync messages enqueued
             by CPM and SPM, respectively.

             The sync message is a label in the stream of incoming
             messages to CPM and SPM that signals start of a
             new session. Prior messages are obsolete. CPM and
             SPM enters hunt mode, and start normal operation
             as soon as the hunted sync message is encountered.
             The channels are In Sync.

         B4. S̲C̲C̲ ̲S̲w̲i̲t̲c̲h̲o̲v̲e̲r̲

             When SCC switchover takes place, either caused
             by SCC failure or because the supervisor decides
             so, the stand-by protocol machine will go active.

             Prior to that, all logical channels must be resynchronized.
             When active, the SPM will start transmitting the
             oldest message, not yet released by an Anti Message
             from the remote SPM.

         B5. S̲p̲e̲c̲i̲a̲l̲ ̲P̲r̲o̲v̲i̲s̲i̲o̲n̲s̲

             Messages queued for intercept at the "Message Service
             System" are checkpointed and acknowledged to FIKS
             to maintain message continuity on the logical channels.
             Messages intercepted will appear as SCC source
             messages to FIKS.



         C.  N̲M̲P̲M̲ ̲H̲i̲g̲h̲l̲i̲g̲h̲t̲s̲

             o   Logical channel structure that allows simultanously
                 service or messages to NICS-TARE and messages
                 for conversion.

             o   ACK's piggybacked in Keep Alive Messages will
                 be constantly repeated, and may be lost without
                 any damage of the NMPM.

             o   Narrative Message back-up at collocated N/M
                 to avoid that messages are trapped at a defect
                 SCC.



3.3.3.3  N̲M̲P̲M̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲s̲ ̲S̲P̲M̲ ̲a̲n̲d̲ ̲C̲P̲M̲



3.3.3.3.1

             S̲I̲P̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲ ̲M̲a̲c̲h̲i̲n̲e̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲ ̲ ̲(̲S̲P̲M̲)̲



3.3.3.3.1.1

         S̲P̲M̲ ̲S̲u̲m̲m̲a̲r̲y̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The SPM submodule performs the following functions:

         1)  Handshaking with CPM to open the Narrative Message
             Link to the SCC.

         2)  Receive and forward messages from FIKS to the collocated
             SCC.

         3)  Acknowledge incoming messages from the SCC on behalf
             of FIKS.

         4)  Receive and unpack SIP and CIP Keep Alive Messages.

         5)  Interchange of Anti Messages with remote SPM for
             message synchronization.

         6)  Delivery of oldest DTG in queues to CPM, for statistical
             purposes.



         The SPM is invoked when:

         1)  An AMOS message is received from SIP Watch Dog.

         2)  Messages are enqueued in SDQ by the NSS.

         3)  A Timer Interrupt is encountered.

         An overview of the SPM environment is depicted in Figure
         3.3.3.3.1.1-1.



         1)  AMOS message for SIP Operational Mode update.

         2)  AMOS messages containing events retrieved from
             CIP…0f…C…0e…/SIP…0f…R…0e… Keep Alive Messages, i.e.

             a)  CWD…0f…C…0e… Status Reports,

             b)  SWD…0f…R…0e… Status Reports.

         3)  Narrative and control messages from FIKS network:

             a)  Narrative messages from FIKS to the SCC,

             b)  Narrative messages from the SCC,

             c)  Keep Alive Messages from CIP…0f…C…0e…,

             d)  Keep Alive Messages from  SIP…0f…R…0e….

         4)  Timer Interrupt.

         5)  Narrative and control messages to FIKS network:

             a)  Narrative messages to the SCC,

             b)  Keep Alive Messages to SIP…0f…R…0e…,

             c)  Keep Alive Messages to CIP…0f…C…0e….

         6)  Anti Messages to SIP…0f…R…0e….

         7)  ACK's to CIP Protocol Machine  (CPM).















                   Figure 3.3.3.3.1.1-1
               Overview of SPM Environment




         The SPM is implemented as one CR80 process and a program
         module, which consists of the following procedures:

         1)  SPM Event Distribution  (SPMED)

         2)  SPM Monitoring & Control  (SPMM&C)

         3)  Outbound Narrative Message Processing  (ONMP)

         4)  Dispatch Message  (DMSG)

         5)  CPM Ack Processing  (CPMAP)

         6)  Inbound Anti Message Processing  (IAMP)

         7)  Inbound Narrative-Message Processing  (INMP)

         8)  SPM Timer (SPMTIM)

         A visual table of contents is provided in Figure 3.3.3.3.1.1-2.


















































    Figure 3.3.3.3.1.1-2…01…SPM Visual Table of Contents



3.3.3.3.1.2
         S̲P̲M̲ ̲D̲e̲t̲a̲i̲l̲e̲d̲ ̲D̲e̲s̲i̲g̲n̲



3.3.3.3.1.2.1

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲P̲M̲-̲E̲v̲e̲n̲t̲-̲D̲i̲s̲t̲r̲i̲b̲u̲t̲i̲o̲n̲ ̲ ̲(̲S̲P̲M̲E̲D̲)̲

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

             SPM Event Distribution is invoked, when an external
             event is received by the SPM process, i.e.

             o   AMOS message from SIP Watch Dog

             o   Timer Interrupt

             o   Narrative Message from FIKS

             o   Control Message from FIKS.

             The event is decoded and validated, and if not
             recognized an error is reported. Events recognized
             by SPMED are:

             i)  Operational Mode Control message from SIP Watch
                 Dog (SWD)

             ii) Timer Interrrupt to run the timers (SYNTIM
                 & RQLTIM)

             iii)Narrrative message for Message Service at the
                  SCC, i.e.:

                 a)  SMF to ACP Conversion

                 b)  ACP to SMF Conversion

                 c)  Transmission to NICS-TARE

             iv) Narrative message from the SCC, i.e.:

                 a)  Message received from NICS-TARE

                 b)  Message returned from "Message Service",
                     i.e. a) and b) above



             v)  Keep Alive Message from:

                 a)  Collocated CIP

                 b)  Remote SIP

             The event types are validated in accordance to
             SPM Operational Mode and the onward event processing
             is performed by a call to one of the following
             procedures:

             o   SPM Timer Process  (SPMTIM)

             o   SPM Monitoring & Control  (SPMM&C)

             o   Outbound Narrative Message Processing  (ONMP)

             o   Inbound Anti Message Processing  (IAMP)

             o   Inbound Narrative Message Processing  (INMP)

             o   CPM ACK Processing  (CPMAP)

             o   In-Narrative-Message  (INNMSG).

             A detailed description of each event is provided
             in the following subsections, and the event distribution
             process is illustrated in Figure 3.3.3.3.1.2.1-1.
































         1)  SWD…0f…R…0e… and CWD…0f…C…0e… Status Reports

         2)  Timer Interrupt

         3)  SWD…0f…C…0e… Mode Control Message

         4)  Inbound Narrative Messages from FIKS & SCC

         5)  Outbound Anti Messages

         6)  Outbound Narrative Messages to SCC

         7)  CPM Acknowledgements

         8)  Sync Messages

         9)  Inbound Narrative Messages from SCC to FIKS

      Figure 3.3.3.3.1.2.1-1…01…SPM Event-distribution



         A1. A̲M̲O̲S̲-̲M̲e̲s̲s̲a̲g̲e̲ ̲f̲r̲o̲m̲ ̲S̲I̲P̲-̲W̲a̲t̲c̲h̲ ̲D̲o̲g̲/̲S̲P̲M̲-̲O̲p̲e̲r̲a̲t̲i̲o̲n̲a̲l̲-̲M̲o̲d̲e̲

             This event is handled by "SPMM&C" (ref.3.3.3.3.1.2)
             and controls the SPM Operational Mode (SPMOPM),
             used for validation of other events.

             SPMOPM may be in one of four states:

             O:  Off-line

             S:  Stand-by

             H:  Hunt

             A:  Active

             State O and S correspond to the global SIP-Operational
             ̲Mode state O and S (ref. 3.3.2.3.1.2.2-A1), while
             both state "H" and "A" are SIPOPM "A" states.

             State "H" is entered on start and restart of the
             inbound channels from the SCC, i.e. when the SCC
             goes active.

         A2. T̲i̲m̲e̲r̲-̲I̲n̲t̲e̲r̲r̲u̲p̲t̲

             This event is forwarded to "SPMTIM" for use when
             running the timers (SYNTIM & RQLTIM).

         A3. N̲a̲r̲r̲a̲t̲i̲v̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲

             A narrative message is classified in accordance
             to the ANO number(s), stored in the message, and
             makes the logical channels employed by the SCC
             Protocol Machine.

             The logical channel No. (CH #) is retrieved by
             a call to "INNMSG" and is by "SPMED" recognized
             as:

             i)  An Outbound Message Channel (to the SCC)

             ii) An Inbound Message Channel (from the SCC)

             Outbound messages are unconditionally delivered
             to the procedure "ONMP".

             Inbound messages are only delivered to the procedure
             "INMP" if SPM Operational Mode is active. Otherwise,
             inbound messages are released from the SIP Distribution
             Queue (SDQ).



         A4. C̲o̲n̲t̲r̲o̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲

             The only control messages recognized by SPMED are
             Keep Alive Messages from either the remote SIP…0f…R…0e…
             or the collocated CIP…0f…C…0e…, or Sync Messages.
             Keep Alive Messages may carry several events, which
             depend on SPM Operational Mode.

         i)  SIP…0f…R…0e…-Keep-Alive-Message
              ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             A SIP…0f…R…0e…KAM always contains a SWD…0f…R…0e… Status Report,
             which is retrieved and forwarded to the SWD…0f…C…0e… Submodule
             by means of an AMOS message.

             If SPM Operational Mode is hunt or active, a SIP…0f…R…0e…
             KAM may in addition carry up to one "Anti Message"
             per outbound logical channel.
             These "Anti Messages" are retrieved one after another
             delivered to the procedure "IAMP".

         ii) CIP…0f…C…0e…-Keep-Alive-Message
              ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             A CIP…0f…C…0e… KAM always contains a CWD…0f…C…0e… Status Report,
             which is retrieved from the KAM and forwarded to
             the SWD…0f…C…0e… submodule, by means of an AMOS message.

             If SPM Operational Mode is active, the CIP…0f…C…0e… KAM
             may in addition contain up to one CPM ACK per inbound
             logical channel, which are retrieved and one after
             another delivered to the procedure "CPMAP".

         iii)S̲y̲n̲c̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲

             Sync Messages are unconditionally delivered to
             procedure "SPMM&C".



         B.  P̲r̲o̲g̲r̲a̲m̲:̲

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

             1.  'EVENT = AMOS Message
                  CALL "SPMM&C"

             2.  'EVENT = Timer ̲Interrupt
                  CALL "SPMTIM"

             3.  'EVENT = SIGNAL'
                 REPEAT UNTIL SDQ Empty
                 Retrieve ̲MSG  (SDQ, MSG)
                 IF (MSG TYPE = Narrative Message)
                 THEN
                   "INNMSG"  (MSG, CH #)
                   CASE OF TYPE (CH #)  (1,2,3)

                 1.  'Outbound Channel'
                     CALL "ONMP"  (MSG, CH #)
                     IF (SPM Operational Mode = Output ACTIVE)
                     THEN
                       CALL ("DMSG, CH #)
                     END IF

                 2.  'Inbound Channel'
                     IF  (SPM Operational Mode = Input Active)
                     THEN
                       CALL "INMP"  (MSG, CH #)
                     ELSE
                       Release  (MSG, SDQ)
                     END IF

                 3.  'ELSE'
                     "REPORT ̲ERROR"  (Unknown ̲Channel)
                 END CASE


             ELSE (MSG TYPE = Control Message)
                 CASE OF CTRL MSG  (1,2,3,4)

                 1.  'Sync Message'
                     CALL 'SPMM&C'

                 2.  'SIP…0f…R…0e… Keep Alive Message'
                     Retrieve SWD…0f…R…0e… Status Report
                     "Send AMOS Message (SWD…0f…R…0e… Status Report)
                     "Wait Answer"
                     IF (SIP Operational Mode = Stand-by)
                     THEN
                         FOR (All Anti MSG's in SIP…0f…R…0e… KAM)
                         DO
                         Retrieve AMSG  (ID, CH #)
                         CALL "IAMP"  (AMSG, ID, CH #)
                     END DO
                     END IF

                 3.  'CIP…0f…C…0e… Keep Alive Message'
                     Retrieve CWD…0f…C…0e… Status Report
                     "Send AMOS Message  (CWD…0f…C…0e… Status Report)
                     "Wait Answer"
                     IF (SPM-Operational Mode = Active)
                     THEN
                         FOR (All CPM ACK' s in KAM)
                     DO
                         Retrieve CPM ̲ACK  (ID, CH #)
                         CALL "CPMAP"  (ID, CH #)
                     END DO
                     END IF

                 4.  'ELSE'
                     "REPORT ERROR"  (Unknown Control MSG)
                   END CASE
                 END IF
             END REPEAT
           END CASE
         END REPEAT





3.3.3.3.1.2.1.1

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

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

             INNMSG is called by SPMED and CPMED (ref. 3.3.3.3.2.2.1)
             when a Narrative MSG has been encountered to make
             out to which logical channels, the message belongs.

             The ANO(s) contained in the message is the logical
             channel designator, and assigned as shown in Table
             3.3.3.3.1.2.1.1-1.


^------------------------------------------------------------------^
^  ANO      Logical                                       TYPE
     ^
^           CH  #                                    SPM     
   CPM^
^------------------------------------------------------------------^

 X003      CH1   Messages for conversion ACP/SMF    O *      
                   I
 X004      CH0   Messages for conversion SMF/ACP    O        
                                                    I
 X005-X255 CH2   Message to NICS-TARE               O        
                                                    I
 T,U,V,WOOO- CH2 Message to NICS-TARE               O        
                                                    I
 255
 S/Z 203   CH4   Converted Message ACP/SMF          I        
                                                    O
 S/Z 204   CH3   Converted Message SMF/ACP          I        
                                                    O
 S/Z 205   CH5   Messages from NICS-TARE            I        
                                                    O
 S/Z 206   CH6   SCC Intercepted Message            I        
                                                    O

 ------------------------------------------------------------------
 *)         O:   Outbound, I:  Inbound, 




          Table 3.3.3.3.1.2.1.1-1…01…Logical Channels



             "INNMSG" scans through the ANO list in the message
             handed over, to search for an ANO designating a
             logical channel.

             The v̲e̲r̲y̲ ̲f̲i̲r̲s̲t̲ recognized, will be used as channel
             designator, and the remaining ANO's will be ignored
             by "INNMSG". This means that if the ANO list contains
             elements, which point to more than one logical
             channel, only the first will be used and returned
             to the caller.

             If no ANO's are recognized it is assumed that a
             CH2 ANO is contained in an AIG.

         B.  P̲r̲o̲g̲r̲a̲m̲:̲

             BEGIN
               REPEAT UNTIL (ANO recognized) or (All ANO's done)
                 Read ̲Next ̲ANO
                 IF  (ANO recognized)
                 THEN
                   CH #:= CHANNEL  (ANO)
                   EXIT
                 END
               END REPEAT
               CH #:= CH2
             END



3.3.3.3.1.2.2

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

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

             Procedure SPMM&C performs the following functions:

             o   Control of the operational mode of the SIP
                 Protocol Machine (SPM) as commanded by CIP
                 Watch Dog,

             o   Channel synchronization upon opening of the
                 logical channels to CPM (SCC).

             SPMM&C is invoked by "SPMED" when:

             o   An AMOS message from SWD is encountered,

             o   An Inbound Sync. Message is received.

         A1. S̲W̲D̲ ̲M̲o̲d̲e̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲C̲o̲m̲m̲a̲n̲d̲

             This command is received from SWD each time a SIP
             Operational Mode change has taken place; it is
             a command to SPM to operate in accordance to the
             current SCC status.

             The only state changes of interest here are Stand-by
             to Active and Active to Stand-by.

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

             All ACK-sequence number's are cleared and the CIP…0f…C…0e…
             Mailbox is reset.
             The SPM enters "Hunt Mode" (ref. 3.3.3.3.1.2.1-A1)
             and "Sync Mode".

             In order to reopen the logical channels to/from
             CPM a sync message is transmitted to CPM with sync
             sequence number updated (channel synchronization).
             The sync timer is started upon transmission.



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

             The SPM stops operating the inbound logical channel
             as soon as the collocated SCC goes standby. All
             inbound narrative messages from the SCC are discarded
             by "SPMED" and no provision is required by SPMM&C.

             On the outbound logical channels all unacknowledged
             messages are returned from the "Transmitted MSG
             Q" to the "Pending MSG Q" and these channels will
             from now on function as back-up for the corresponding
             channels at the active SPM.

         iii)While in "Hunt Mode" a received sync sequence 
             number in a sync message will be returned to CPM
             in a Keep Alive Message by mailing in CIP…0f…C…0e… Mailbox
             for SWD to transmit, and then SPM exits from "Hunt
             Mode", and sets 'Input Active'.

         iv) While in "Sync Mode" a received Keep Alive Message
             is checked for the correct sync sequencenumber,
             and when this is found, SPM exits "Sync Mode" and
             sets 'Output Active'.

             A call is made to "Dispatch Msg" (DMSG 3.3.3.3.1.2)
             and the SPM outbound channels are active.
             The sync timer is stopped when this has occured.

         B.  P̲r̲o̲g̲r̲a̲m̲

             BEGIN
               CASE OF EVENT  (1,2,3)

             1.  'SWD Mode Control Command'
                 IF  (SIP Operational Mode CMD = Active)
                 THEN
                     'Clear all ACK.seq.no's
                     'Clear CIP…0f…C…0e… Mailbox'
                     'Enter Hunt Mode on inbound channels'
                     'Enter Sync Mode'
                     Retrieve Sync Seq No. CMD
                     SPM Operational Mode:= HUNT + SYNC (Sync
                     Seq No. CMD)
                     'Initiate resynchronization of outbound
                     channels'
                     "CREATE ̲SYNC ̲MESSAGE"  (Sync Seq No)
                     "ENQUEUE" (Sync MSG, TQ)
                     'Start Sync. timer'
                     CALL SPMTIM (PSYNTIM)


              ELSE  (SIP Operational Mode. CMD= Stand-by)
                 'Close Inbound channels'
                 SPM Operational Mode:= Stand-by
                 'Reset Outbound Channel to Stand-by'
                 FOR  (All Outbound Channels)
                 DO
                    REPEAT  (While TMQ  (CH  #) non-empty)
                      "DEQUEUE"  (MSG,  TMQ (CH #))
                      "ENQUEUE"  (MSG, PMQ  (CH #))
                    END REPEAT
                 END DO
                 'Stop Sync. timer'
                 CALL SPMTIM (SSYNTIM)
             END IF

         2.  'Sync.Seq.No. received'  (In Keep Alive Msg.)
             IF (Sync.Seq.No. HUNT = SYNC.SEQ.No. MSG)
             THEN
                 SPM Operational Mode:= Output Active
                 'Exit Sync Mode'
                 'Stop Sync timer'
                 CALL SPMTIM (SSYNTIM)
                 FOR (All Outbound Channels)
                 DO
                   CALL "DISPATCH MSG" (DMSG)
                 END DO
             END IF

         3.  'Sync. Message received'
             IF (SPM Operational Mode = Active)
             THEN
                 'Exit Hunt Mode'
                 SPM Operational Mode:= Input Active
                 'Mail Sync.Seq.No.' (In CIP…0f…C…0e… Mailbox)
             END IF
           END CASE
         END



3.3.3.3.1.2.3

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲O̲u̲t̲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̲ ̲ ̲(̲O̲N̲M̲P̲)̲

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

             Procedure ONMP is called by "SPMED" whenever a
             narrative message for transmission to the SCC is
             encountered.

             It is a new message for Message Service at the
             SCC.

             ONMP is employed by the three logical channels
             from FIKS to the SCC, and the one in question is
             pointed out by the channel no (CH #), validated
             and handed over by SPMED. The logical channels
             recognized by ONMP are:

             C̲H̲ ̲#̲ ̲   M̲n̲e̲m̲o̲n̲i̲c̲    M̲e̲s̲s̲a̲g̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             CH0     CHSAC       SMF to ACP Conversion
             CH1     CHASC       ACP to SMF Conversion
             CH2     CHFIN       FIKS to NICS-TARE

             All outbound channels from FIKS to the SCC are
             handled in the same way by ONMP. This means that
             the connection between an outgoing message for
             conversion and the corresponding incoming converted
             message is n̲o̲t̲ recognized by SPM, but is alone
             managed by the CIP-Protocol Machine (CPM).

             The processing performed is determined by SIP Operational
             Mode (Stand-by/Active).



         A1. N̲e̲w̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲ ̲(̲S̲t̲a̲t̲u̲s̲ ̲=̲ ̲O̲K̲)̲

             The message is, by a call to"FILTERID", compared
             to the "Anti Messages" (AMSG) currently queued
             on that channel. If a match is found (with respect
             to MSG ID) then the "Anti-message" as well as the
             messages themself are released (Message/Anti Message).

             Otherwise the message is enqueued in the Pending
             Message Queue for the channel and remains here
             until transmitted to the SCC by either local or
             remote SPM.

         B.  P̲r̲o̲g̲r̲a̲m̲:̲

             BEGIN
                CALL  "FILTERID" (Anti MSG Q, MSG ID)
                IF  (Anti MSG (MSG ID) is found)
                 THEN
                   Release anti MSG
                   Release Message
                 ELSE
                   Enqueue  (MSG, Pending MSG Q)
                 END IF
             END



3.3.3.3.1.2.4

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲i̲s̲p̲a̲t̲c̲h̲-̲M̲S̲G̲ ̲ ̲(̲C̲H̲ ̲#̲)̲ ̲ ̲(̲D̲M̲S̲G̲)̲

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

             Procedure DMSG is called only when SIP Operational
             Mode is active, and then by "CPMED" when a message
             has been enqueued in the Pending Message Queue,
             or by "CPMAP" when a message has been released
             from the "Transmitted Message Queue" (TMQ).

             DMSG performs the delivery of messages to the NSS
             for transmission when messages are pending, and
             the channel is available for transmission.

             The channel is available if less than "MAXTRANSMIT"
             messages are awaiting CPM acknowledgement (MAX-TRANSMIT
             = 1). Otherwise the channel is "busy", and no further
             transmissions will take place until at least one
             message in TMQ is released by a CPM acknowledgement.

             The processing is as follows:

             While a message is pending in PMQ, and the channel
             is available, the oldest message in PMQ is dequeued
             from PMQ and enqueued in TMQ and at the same time
             delivered to the NSS in the Transport Queue  (TQ).

         B.  P̲r̲o̲g̲r̲a̲m̲.̲

             BEGIN
               REPEAT UNTIL  ((CHANNEL BUSY) or (PMQ empty))
                Dequeue  (Pending MSG Q, MSG)
                Enqueue  (Transmitted MSG Q, MSG)
                Enqueue  (TQ, MSG)
                Increment Transmitted MSG Count
                IF (Transmitted MSG Count ̲MAXTRANSMIT)
                THEN
                  CHANNEL ̲BUSY:= TRUE
                 END IF
              END REPEAT
             END




3.3.3.3.1.2.5

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲P̲M̲-̲A̲C̲K̲-̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲ ̲(̲C̲P̲M̲A̲P̲)̲

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

             Procedure CPMAP is called by "SPMED" when a CPM
             acknowledgement is encountered. The CH # and MSG
             ID designating the message(s) acknowledged are
             validated and handed over by SPMED.

             CPMAP is called only when SIP Operational Mode
             is active.

             A CPM acknowledgement may be an acknowledgement
             of up to "MAXTRANSMIT" messages, received by CPM
             (ref. 3.3.3.3.1.2.4).

             The processing is as follows:

             The Transmitted Message Queue (TMQ) is searched
             for the message, with the same MSG ID, as received
             in the acknowledgement.
             If the message is found, it is dequeued from TMQ
             and released, along with all older messages held
             in TMQ.

             For each message dequeued from TMQ, a corresponding
             "Anti Message" (same MSG ID) is mailed in the SIP
             Mailbox. SIP Mailbox overflow may occur, and in
             that case a delivery request is immediately sent
             to the SIP Watch Dog (SWD) before the remaining
             "Anti-messages" are mailed.


         B.  P̲r̲o̲g̲r̲a̲m̲:̲

             BEGIN
                 CALL "SEARCHBUF" (Transmitted MSG Q (CH #,
                 MSG ID))
                 IF  (Message  (MSG ID) is found)
                 THEN
                     FOR  (Oldest MSG) until MSG (MSG ID))
                     DO
                     IF (SIP Mailbox Overflow)
                     THEN
                     REPEAT
                         Send AMOS Signal  (Delivery Request)
                     UNTIL (No SIP Mailbox overflow)
                     END IF
                     Get MSG ID  (MSG)
                     Creat Anti MSG  (MSG ID)
                     "RESERVE CRITICAL ̲REGION"  (SIP Mailbox)
                     Mail Anti MSG  (MSG ̲ID) in SIP Mailbox
                     "RELEASE CRITICAL REGION"  (SIP Mailbox)
                     Dequeue  (MSG, TMQ)
                     Release MSG
                     END DO
                 END IF
             END





3.3.3.3.1.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 called by "SPMED" when a narrative
             message from the SCC is encountered, while SIP
             Operational mode is active. SIP is actually not
             a recipient of narrative messages from the SCC.

             The only purpose of sending narrative messages
             to SIP is to have SPM, on behalf of FIKS, perform
             the acknowledgement of received messages.

             INMP is employed by four logical channels from
             the SCC to FIKS, and the channel currently served
             is designated by the channel number (CH #) validated
             and handed over by SPMED.

             The logical channels recognized by INMP are:
             C̲H̲ ̲#̲    M̲n̲e̲m̲o̲n̲i̲c̲       M̲e̲s̲s̲a̲g̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             CH3     CHSAO          SMF to ACP Conversion Object
             CH4     CHASO          ACP to SMF Conversion Object
             CH5     CHNTF          NICS-TARE to FIKS
             CH6     CHIFM          Intercepted FIKS Messages

             All inbound channels are processed in the same
             way, i.e. a converted message is n̲o̲t̲ related to
             the original message sent from FIKS to the SCC
             for conversion, but handled as if it was a message
             received from a SCC located message source.

             INMP processing of incoming narrative messages
             is as follows:

             The MSG ID is retrieved from the message, and written
             into the acknowledgement created. The acknowledgement
             is mailed in the CIP Mailbox, and the message is
             released.



         B.  P̲r̲o̲g̲r̲a̲m̲:̲

             BEGIN
               Retrieve ̲MSG ̲ID  (MSG, MSG ̲ID)
               Create-ACK  (MSG ̲ID,  CH #)
               RESERVE ̲CRITICAL ̲REGION  (CIP ̲Mailbox)
               Mail ACK in CIP ̲Mailbox
               RELEASE ̲CRITICAL ̲REGION  (CIP ̲Mailbox)
               Release ̲MSG
              'Make SWD mail ACK'
              'Send AMOS signal
             END



3.3.3.3.1.2.7

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

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

             Procedure IAMP is called by "SPMED" when an "Anti
             ̲Message" (AMSG) is encountered.

             The AMSG's are used for message synchronization
             between the stand-by and active SPM; they are sent
             from the active SPM whenever a message has been
             transmitted and properly acknowledged.
             It signals to the stand-by SPM that the message
             designated by the AMSG may be released.

             Messages for message service at the SCC are simultaneously
             transmitted to the active and stand-by collocated
             N/M SIP's, but is not necessarily received in the
             same order by both SIP's  (network delay).

             It could happen that an "Anti-Message" arrives
             to the stand-by SIP, before the corresponding message
             is received. In that case the AMSG must be stored
             and wait for the arrival of the message.

             The processing of "Anti Messages" is similar to
             the processing of narrative messages by ONMP (ref.
             3.3.3.3.1.2.3) with the interchange of the roles
             played by "Anti Messages" and messages, respectively.



             The AMSG is, by a call to "FILTERID" compared to
             the pending messages, currently held in PMQ.
             If a message with identical MSG ID is found, the
             AMSG is released, and the message dequeued from
             PMQ and released. Otherwise is the AMSG enqueued
             in the "Anti Message Queue" (AMQ) for that channel.

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

             BEGIN
                 "FILTERID" (Pending MSG Q (CH #)) (MSG ID)
                 IF (MSG  (MSG ID) is found)
                 THEN
                     DEQUEUE  (MSG, Pending MSG Q (CH #))
                     Release MSG
                     Release AMSG
                 ELSE
                     ENQUEUE  (AMSG, Anti MSG Q  (CH #))
                 END IF
             END

3.3.3.3.1.2.8

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

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

             The SPM Timer constitutes two separate timers,
             identified as:

             1)  Sync. message timer (SYNTIM)

             2)  Queue length release timer (RQLTIM).


         SPMTIM is invoked by SPMED when a timer interrupt is
         encountered by the SPM process, and is used to drive
         the above mentioned timers.

         SPMTIM maintains these timers, as commanded by the
         procedure SPMM&C, and when a timer expires a predefined
         action is performed. 
         The purpose and maintenance of these timers are as
         follows:

         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 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. R̲Q̲L̲T̲I̲M̲ ̲T̲i̲m̲e̲r̲

             The RQLTIM serves to trigger the collecting of
             queuelengths pr CH #, and oldest DTG of messages
             waiting to be converted at SCC. The collected data
             are copied into the CIP…0f…C…0e… Mailbox for transmission
             to CPM at collocated SCC. This is done by call
             of subroutine MAILQL.

             RQLTIM is in return preset by MAILQL each time
             collection has been performed.



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

         BEGIN
         CASE OF EVENT/COMMAND (1,2,3,4,5)
         1.  'Event = Timer Interrupt'                           
             'Run Timers'
             SYNTIM:= SYNTIM-1
             RQLTIM:= RQLTIM-1
             IF (SYNTIM= O 'SYNTIM expired')
             THEN
                 CALL "SPMM&C" (Send Sync.Message)
             END IF
             IF (RQLTIM =O'RQLTIM expired')
             THEN
                 'Mail Queue length'
                 CALL MAILQL-Subroutine
             END IF

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

         3.  'COMMAND= Preset RQLTIM'
             RQLTIM:= TIMRQL

         4.  'COMMAND= Stop SYNTIM'
             SYNTIM:=0

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



3.3.3.3.1.2.8.1

         S̲u̲b̲r̲o̲u̲t̲i̲n̲e̲ ̲F̲I̲L̲T̲E̲R̲I̲D̲ ̲ ̲(̲Q̲U̲E̲U̲E̲;̲ ̲I̲D̲)̲

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

             FILTERID operates on queues and queue elements
             employed by the SPM output channels, all with the
             same data structure:

             o   Transmitted Message Queue  (TMQ)

             o   Pending Message Queue  (PMQ)

             o   Anti Message Queue  (AMQ).

             The purpose of "FILTERID" is to search for a  specific
             element identified by "ID" in the queue designated
             by "QUEUE".

             "FILTERID" is called by:

             o   ONMP to search for an element in AMQ

             o   CPMAP to search for an element in TMQ

             o   IAMP to search for an element in PMQ.

             Each queue element in AMQ, TMQ and PMQ has upon
             enqueueing been allowed a certain "lifetime", which
             thereafter is maintained by "FILTERID".

             The processing performed by "FILTERID" is as follows:

             If the queue is non-empty the first (oldest) element
             is inspected to see whether an element ID is identical
             to the "ID" searched for, and if so, the reference
             to that element is returned to the caller.

             Otherwise, the element's "lifetime" is decremented,
             and if expired, dequeued and released in accordance
             with type, i.e. Anti Messages are discarded and
             messages are enqueued in the N/M supervisors distribution
             queue (DT).

             The queue is scanned, until all elements are inspected
             or an "ID" match is detected.



         B.  P̲r̲o̲g̲r̲a̲m̲ ̲ ̲S̲E̲A̲R̲C̲H̲-̲Q̲U̲E̲U̲E̲ ̲ ̲(̲Q̲U̲E̲U̲E̲,̲ ̲I̲D̲)̲

             BEGIN
               REPEAT UNTIL (ID ̲Match) or  (All elements done)
                 Retrieve  (ELEMENT, Queue)
                 IF  (ELEMENT.ID = ID)
                 THEN
                   FOUND:= TRUE
                 ELSE
                   Decrement ELEMENT.LIFETIME
                   IF  (ELEMENT.LIFETIME= 0)
                   THEN
                     DEQUEUE  (ELEMENT, QUEUE)
                     IF  (ELEMENT.TYPE = ANTI MESSAGE)
                     THEN
                       Release ELEMENT
                     ELSE
                       ENQUEUE  (ELEMENT.MTCB, DT Queue)
                     END IF
                   END IF
                  END IF
                END REPEAT
              END



3.3.3.3.2    C̲I̲P̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲ ̲M̲a̲c̲h̲i̲n̲e̲ ̲(̲C̲P̲M̲)̲



3.3.3.3.2.1

         C̲P̲M̲ ̲S̲u̲m̲m̲a̲r̲y̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The CPM submodule performs the following functions:

         1)  Handshaking with SPM to open the Narrative Message
             Channels to the SCC

         2)  Receive/Forward messages to/from the SCC from/to
             FIKS

         3)  "Performance ACK" of "Message Services" performed
             for FIKS  (Message Conversion)

         4)  Acknowledgement of messages from/to FIKS transmitted/received
             to/from NICS-TARE



         5)  SCC Internal Message Distribution of messages to/from
             FIKS

         6)  Receive and unpack SIP…0f…C…0e… Keep Alive Messages

         The CPM is invoked when:

         1)  AMOS Message from CIP Watch Dog is encountered

         2)  Message enqueued in MDQ by the NSS for internal
             SCC distribution

         3)  Message enqueued in N/M queue by the MSS

         4)  Command/Response/ACK enqueued in NC queue by MSS.

         The CPM submodule is implemented as one CR80 process
         and a program module, which consists of the following
         procedures:

         1)  CPM Message & Event Distribution  (CPMM&ED)

         2)  CPM monitoring & Control  (CPMM&C)

         3)  Narrative Message Accounting  (NMACT)

         4)  Outbound Stuck Message Processing  (OSTMP)

         5)  Narrative Message ACK Processing  (NMACKP)

         6)  In Narrative Message  (INNMSG)

         7)  Inbound Narrative Message Processing  (INMP)

         8)  CPM Timer Process  (CPMTIM).



         A visual table of contents is provided in Figure 3.3.3.3.2.1-1.


















































    Figure 3.3.3.3.2.1-1…01…CPM Visual Table of Contents



3.3.3.3.2.2  C̲P̲M̲ ̲D̲e̲t̲a̲i̲l̲e̲d̲ ̲D̲e̲s̲i̲g̲n̲



3.3.3.3.2.2.1    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲C̲P̲M̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲&̲ ̲E̲v̲e̲n̲t̲ ̲D̲i̲s̲t̲r̲i̲b̲u̲t̲i̲o̲n̲
                 ̲(̲C̲P̲M̲M̲&̲E̲D̲)

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

             CPM Message & Event Distribution is invoked, when
             an external event is encountered by the CPM process,
             i.e.:

             o   AMOS Message Received

             o   Message enqueued in MDQ Queue

             o   Message enqueued in NM Queue

             o   Message enqueued in NC Queue

             o   Timer Interrupt  (AMOS Answer).

             "CPMM&ED" performs both the external and internal
             message distribution of messages to/from FIKS from/to
             the SCC, and the CPM internal event distribution.

             In other words, CPMM&ED provides the message distribution
             function within the SCC, of narrative and control
             messages received from FIKS and delivered in the
             MDQ queue by the NSS.

             Messages and event encountered by the CPM process
             are validated by CPMM&ED and an error reported,
             if not recognized.



         Events recognized by CPMM&ED are:

         i)      Command messages from CIP Watch Dog

         ii)     Inbound Narrative Messages for Message Service
                 at the SCC

         iii)    Sync-Messages

         iv)     SIP…0f…C…0e… Keep Alive Messages

         v)      FIKS to NSC Control Messages

         vi)     Outbound Messages returned from Message Service

         vii)    Control Messages from NSC to FIKS

         viii)   NICS-TARE Transmission ACK's

         ix)     Reports & Responses from MSS

         x)      Timer Interrupts to run the timer  (SYNTIM).

         Events are validated in accordance to CPM Operational
         Mode (ref. A1) and processed and distributed by CPMM&ED
         to one of the following procedures:

         o   CPM Timer Process  (CPMTIM)

         o   CPM Monitoring & Control  (CPMM&C)

         o   Narrative Message Accounting  (NMACT)

         o   Intercept Narrative Message  (INTERCEPT)

         o   Narrative Message ACK Processing  (NMACKP)

         o   Inbound Narrative Message Processing  (INNMSG)

         The event distribution is depicted in Figure 3.3.3.3.2.2.1-1,
         and a detailed description of each case is provided
         in the following subsections.





































         1)  a)  Sync Messages
             b)  CWD Channel Control
             c)  MSS Responses/Reports
             d)  MSS Commands
         2)  SWD…0f…C…0e… Status Reports
         3)  Control Messages from NSC to FIKS
         4)  Outbound Messages from MSS
         5)  Outbound Messages Returned by NSS
         6)  SPM…0f…C…0e…- and MSS Acknowledgements
         7)  Inbound Messages for Message Service
         8)  Network Report from FIKS to NSC
         9)  Messages to MSS

      Figure 3.3.3.3.2.2.1-1…01…CPM EVENT-distribution



         A1. A̲M̲O̲S̲ ̲L̲e̲t̲t̲e̲r̲ ̲f̲r̲o̲m̲ ̲C̲I̲P̲ ̲W̲a̲t̲c̲h̲ ̲D̲o̲g̲/̲C̲P̲M̲-̲O̲p̲e̲r̲a̲t̲i̲o̲n̲a̲l̲-̲M̲o̲d̲e̲

             One type of commands may be issued by CWD to CPM:

             o   CPM Operational Mode Control.

             All commands are delivered to CPMM&C (ref. 3.3.3.3.2.2)
             which maintains the CPM Operational Mode in accordance
             to the CIP Operational Mode change reported in
             the CWD Command Message, and which forwards commands
             to the MSS.

             CPM Operational Mode, on the other hand, controls
             the message distribution function performed, and
             may be in one of four states:

             O:  Off-line

             S:  Stand-by

             H:  Hunt

             A:  Active.

             States "O" and "S" correspond to the CIP ̲Operational-Mode
             states "O" and "S", while both states "H" and "A"
             are CIPOPM "A" states.

             State "H" is entered on start and restart of the
             inbound narrative message channel from FIKS, i.e.
             whenever the SCC goes from non-active to active.



         A2. N̲a̲r̲r̲a̲t̲i̲v̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲ ̲f̲r̲o̲m̲ ̲M̲D̲-̲Q̲u̲e̲u̲e̲

             A narrative message is classified in accordance
             to the ANO number(s) stored in the message; it
             makes the logical channel structure employed by
             the SCC Protocol Machine for the exchange of narrative
             messages between FIKS and the SCC.

             The logical channel number (CH #) is retrieved
             by a call to "INNMSG"; it is by CPMM&ED recognized
             as (ref. 3.3.3.3.2.2.1.1):

             o   An Inbound Message Channel  (from FIKS)

             o   An Outbound Message Channel  (to FIKS)

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

             Inbound narrative messages are forwarded to the
             MSS subsystem, only if CPM Operational Mode is
             active, and are otherwise dequeued from MDQ and
             released.

             Inbound narrative messages are of the following
             classes:

             o   Messages for SMF/ACP Conversion

             o   Messages for ACP/SMF Conversion

             o   Messages for Transmission to FIKS

             The logical channel number (CH #) returned by "INNMSG"
              (ref. 3.3.3.3.1.2.1.1) classifying the message,
             is stored in the message reference  (MTCB) which
             is enqueued in the proper MSS queue CQ2, CQ3 or
             CQ4 for onward processing by the MSS.

             (Notice that the receipt of narrative messages
             is not acknowledged by CPM to SPM until a message
             has been transmitted to NICS-TARE or converted
             and returned to SPM. The CPM ACK's are actually
             Performance Acknowledgement).



         ii) O̲u̲t̲b̲o̲u̲n̲d̲ ̲N̲a̲r̲r̲a̲t̲i̲v̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲

             Outbound narrative messages encountered in MDQ
             are messages, originally received from the MSS,
             and enqueued in TQ for transmission to FIKS, but
             returned to the MD queue by the NSS because of
             trunk-error.

             These "Stuck Messages" can not be requeued in TQ,
             but require that special provisions are made to
             maintain message continuity. That is taken care
             of by delivering the message to the procedure "Intercept".
             
             These messages must be accounted for by call of
             the procedure "NMACKP".