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

⟦0e452d365⟧ Wang Wps File

    Length: 28100 (0x6dc4)
    Types: Wang Wps File
    Notes: Spelunked
    Names: »~ORPHAN75.08«

Derivation

└─⟦71c0ba358⟧ Bits:30006098 8" Wang WCS floppy, CR 0151A
    └─ ⟦this⟧ »~ORPHAN75.08« 

WangText

/…00……00……00……00…K…0a……00……00…K…0b…K…00…K…07…J…0c…J…0d…J I…0a…I…0c…I…0d…I H…0b…H…02…H…05…H…06…G…0c…G…01…G F…09…F…0e…F E…0a…E…00…E…05…D…0c…D…0d…D %
#…02…#…06…"…0a…"…0e…"
" "…07…!…0b…!…0c……1c……01……1c……06……1b……08……1b……09……1b……00……1b… …1a……08……86…1                                             …02…           …02…   …02…        

…02…CPS/SDS/033

…02…831101…02……02…
TRAFFIC HANDLING
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS







4.2.3    T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲S̲U̲B̲P̲A̲C̲K̲A̲G̲E̲



4.2.3.1  F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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

         The transport subpackage (TRS) supplies the functions
         which are necessary to initialize aspecified Transport
         Process. Furthermore it includes a number of auxiliary
         functions common to different parts of the Process.

         The description of the Transport Subpackage also serves
         the purpose of giving an overview of a Transport Process
         concering Software Structure, Internal Communication
         and Data Structure.



4.2.3.1.2    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲

         This section introduces the functions which support
         a Transport Process within CAMPS.

         Six types of Transport Processes are realized:

         -   TRC/POINTTO POINT
         -   NICS/TARE
         -   SCARS/CCIS
         -   PTR
         -   PTP
         -   OCR

         The functional breakdown for each type of process is
         depicted on figure 4.2.3.1.2-1.

         Four maingroups of functions have been identified:

         -   Transport Initialization
         -   Transport Control
             Outgoing Transport
         -   Incoming Transport




4.2.3.1.3    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲

         When a Transport Process is created, the type of transport
         and the number of channels/devices to be controlled
         must be specified to the process

         The Transport Initialization includes all functions
         which are necessary to initialize Transport Control,
         Outgoing Transport and Incoming Transport in such a
         way that they support the specified type of transport.



4.2.3.1.4    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲

         he Transport Control takes care of the superior control
         functions concerning the outgoing and incoming transport.
         (START ̲UP, CLOSE ̲DOWN, Timer Functions etc.)

         The functions performed by Transport Control are initiated
         by commands received from exernal subpackages through
         a Channel Command Queue (CCQ).

         Each channel/device within a Transport Process has
         its own Transport Control working independently of
         the others.

         The Transport Control has its own subpackage "Transport
         Control Subpackag" (Ref. 4.2.4), which supplies a detailed
         functional description



4.2.3.1.5    I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲

         The Incoming Transport includes the functions which
         transfer the messages from IOS to the Analysis Processes.

         A number of message lines are detecte in order to separate
         the message into the field groups which constitute
         the External Message Format of a CIF.

         Furthermore a number of error checks are performed.

         Parameters describing the message are collected and
         transferred to the Analysis tgether with the result
         of the error check.


         Each channel/device within a Transport Process has
         its own Incoming Transport working independently of
         the others.

         The Incoming Transport has its own subpackage "Incoming
         Transprt Subpackage" (sec. 4.2.5) which gives a detailed
         description of the functions for each type of Transport.



4.2.3.1.6    O̲u̲t̲g̲o̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲

         The Outgoing Transport includes the functions which
         are closely related to the outgoing traffic.

         Outgoin messages are received from the circuit queue
         related to the subprocess and transferred to the IOS
         for transmission to the external line/device.

         The Outgoing Transport appends a number of lines such
         as: start of message, text separators, end of mssage,
         page identification etc. (ref. sec. 4.2.6).

         The OTS may also generate and transmit Abbreviated
         Service Messages (ASM) specified by the Transport Control.

         The Outgoing Transport has its own subpackage "Outgoing
         Transport Subpackage" (sec..2.6) which gives a detailed
         functional description.











































TRANSPORT PROCESS Figure 4.2.3.1.2-1…86…1         …02…   …02…   …02…   …02…                           
                
4.2.3.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The basic unit in a Transport Process is a subprocess
         taking care of all functions related to an external
         channel or a stand alone devices (PTP/PTR/OCR.

         When a Transport Process has been created it will start
         up a subprocess for each channel/device which is to
         be controlled by the process.

         This section describes the principle software structure
         related to a Transport Process. The basic componnts
         of the software structure are shown on figure 4.2.3.2-1
         to 4.2.3.2-6.

         All functions within a Transport Subprocess are realized
         by means of coroutines running under control of the
         CSF Coroutine Monitor.

         The software is supplied with a specifc set of coroutines
         for each type of Transport Process. During the initialization
         of a Transport Process only the set of coroutines related
         to the actual type of Transport is presented to the
         Coroutine Monitor.

         Each coroutine is constructed as a eentrant procedure.
         This makes it possible for all subprocess within a
         Transport Process to share the same code minimizing
         the resources of memory.



4.2.3.2.1    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲i̲t̲

         The purpose of the Transport Init module is to initialize
         a Transport rocess with the number of subprocesses
         prescribed by the creating process, i.e. the "Parent
         Process".

         The initializing includes the following maintasks:

         a)  Init. of the data structure for each subprocess.

         b)  Setting up each subprocess with th coroutines specific
             for the type of process to let them run under control
             of the Coroutine Monitor.

         c)  Starting up the Coroutine Monitor.…86…1         …02…  
             …02…   …02…   …02…                                        
               
4.2.3.2.2    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲A̲u̲x̲i̲l̲i̲a̲r̲y̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         The Transport Auxiliary Functions include a number
         of procedures which are common to the Transport Control,
         Outgoing Transport and Incomin Transport.



4.2.3.2.3    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲.̲

         The Transport Control Coroutine is responsible for
         all functions related to the Transport Control of a
         single Transport Subprocess. A specific Transport Control
         Coroutine is supplied for each ype of Transport.

         Each of these coroutines is described in the Transport
         Control Subpackage (see section 4.2.4).



4.2.3.2.4    O̲u̲t̲g̲o̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

         The Outgoing Transport Coroutine is responsible for
         all functions related to the outgoingtransport of a
         single Transport Subprocess. A specific Outgoing Transport
         Coroutine is supplied for each type of transport except
         for the PTR and the OCR.

         Each of these coroutines is described in the Outgoing
         Transport Subpackage (see section 4.25).



4.2.3.2.5    I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

         The Incoming Transport Coroutine is responsible for
         all functions related to the incoming transport of
         a single Transport Subprocess. A specific Incoming
         Transport Coroutine is supplied for each type f transport
         except for the PTP.

         Each of these coroutines is described in the Incoming
         Transport Subpackage (see section 4.2.6).




4.2.3.2.6    S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲ ̲D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲

         The Subprocess Data Record defines all data structures
         necessary to support the coroutines within a subprocess.

         The Transport Subprocess Data Mdule includes definition
         of a specific data record for each type of Transport
         (see section 4.2.3.5).

         All Data Records within a Transport Process is initialized
         by the Transport Init module.…86…1         …02…   …02…   …02…   …02…  
                                                 



                 Figure 4.2.3.2-1 til -6


4.2.3.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲



4.2.3.3.1    D̲y̲n̲a̲m̲i̲c̲a̲l̲ ̲P̲r̲o̲g̲r̲a̲m̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         When a transport process is created it will first execute
         the procedures supplied by the Transport Int module.

         Hereby the process is divided into a number of subprocesses
         corresponding the number of channels/devices, which
         are to be controlled by the process.

         For each subprocess a specific number of coroutines
         are presented to the Coroutine Moitor (i.e. inserted
         in the Ready List).

         When the Transport Init procedures are all executed
         the program control is handed over to the Coroutine
         Monitor. From now on all coroutines within the process
         are executed in the order they appear in the Redy List
         of the Coroutine Monitor.

         The coroutines within a subprocess exchange information
         to synchronize the transport (ref. 4.2.3.3.2). Note
         however that the subprocesses within a transport process
         is independent of each other.



4.2.3.3.2    I̲n̲t̲e̲n̲a̲l̲ ̲C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲

         The communication logic within a Transport Subprocess
         is realized by means of semaphores through which the
         coroutines exchange operations.

         To create a Transport Subprocess three semaphores have
         been introduced with the followig type definitions:

         Type    TC ̲OPSEM: COROUTINE ̲SEMAPHORE
                 OT ̲OPSEM: COROUTINE ̲SEMAPHORE
                 IT ̲OPSEM: COROUTINE ̲SEMAPHORE

         The configurations of semaphores and coroutines are
         shown on figure 4.2.3.3.-1 ro 4.2.3.3.-5 for each type
         of Transport Subrocess.


         Send and receive functions related to semaphores are
         performed by means of procedures defined within the
         CSF Coroutine Monitor.

         A detailed description of semaphore operations fo all
         types of Transport Subprocesses is given in section
         4.2.3.7.



4.2.3.3.2.1 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲,̲ ̲T̲C̲ ̲O̲P̲S̲E̲M̲
 ̲

         The main waiting point for the Transport Control Coroutine
         (TC ̲COROUTINE) is the TC ̲OPSEM semaphore.

         From here theTC ̲COROUTINE may receive operations from
         the Outgoing Transport Coroutine (OT ̲COROUTINE) or
         the Incoming Transport Coroutine (IT ̲COROUTINE).

         Commands from the Channel Command Queue (CCQ) are also
         received through the TC ̲OPSEM. In this case the TCCOROUTINE
         first initiates a System Call (RECEIVE ̲FIRST ̲QEL) and
         then associates the answer to the TC ̲OPSEM.

         When a command is available in the CCQ an operation
         is sent to the TC ̲OPSEM telling the TC-COROUTINE that
         a command is ready.



4.2.3.3.22 O̲u̲t̲g̲o̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲,̲ ̲O̲T̲ ̲O̲P̲S̲E̲M̲
 ̲

         The main waiting point for the Outgoing Transport Coroutine
         (OT ̲COROUTINE) is the OT ̲OPSEM semaphore.

         From here the OT ̲COROUTINE may receive operations from
         the Transport Control Coroutine (TCCOROUTINE). This
         makes it possible for the TC ̲COROUTINE to interfere
         with the outgoing transport.

         The outgoing messages to be transmitted on the external
         channel are received from the circuit Queue (CIQ) through
         the OT ̲OPSEM. In this case the OT ̲OROUTINE first initiates
         a System Call (RECEIVE ̲FIRST ̲QEL) and then associates
         the answer to OT ̲OPSEM.…86…1         …02…   …02…   …02…   …02…        
                                           
         When a message is available in the CIQ an operation
         is sent to OT ̲OPSEM indicating that a message is ready
         for transmission.

         The OT ̲COROUTINE will pack the message lines into a
         uffer which is sent to the IOS for outgoing transmission.
         This is done by initiating a System Call (APPEND ̲BYTES)
         and associating the answer to OT ̲OPSEM.

         When the IOS has emptied the buffer an operation is
         sent to OT ̲OPSEM telling the OT ̲COROUTIN that the buffer
         is idle.


4.2.3.3.2.3 I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲,̲ ̲I̲T̲ ̲O̲P̲S̲E̲M̲

         The main waiting point for the Incoming Transport Coroutine
         (IT ̲COROUTINE) is the IT ̲OPSEM semaphore.

         From here the IT ̲COROUTINE may receive commands from
         he Transport Control Coroutine (TC ̲COROUTINE). This
         makes it possible for the TC ̲COROUTINE to interfere
         with the incoming transport.

         The incoming messages from the IOS are also received
         through IT ̲OPSEM. In this case the IT ̲COROUTINE initiates
         a ystem Call (READ ̲BYTES) and associates the answer
         to IT ̲OPSEM.

         When the IOS has filled out a buffer with characters
         from the external line, an operation will be sent to
         IT ̲OPSEM, telling the IT ̲COROUTINE that the buffer
         is ready.


4.2.3.3.2.4 T̲r̲n̲s̲p̲o̲r̲t̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲P̲o̲o̲l̲s̲

         A transport subprocess is supplied with a specified
         maximum of operations by means of which the internal
         communication takes place.

         The TRS ̲OP ̲POOL semaphore contains those of the operations
         which at a certain oment are not being used in the
         internal communication, i.e. the idle operations.

         A coroutine takes out (receives) an idle operation
         from the TRS ̲OP ̲POOL each time a message is to be sent
         to another coroutine…86…1         …02…   …02…   …02…   …02…           
                                        
         An operation received from another coroutine is returned
         to the TRS ̲OP ̲POOL when the information has been saved
         or decoded.

         Operations used for communication with IOS are storedin
         IOC ̲OUT ̲POOL and IOC ̲INP ̲POOL. These operations are
         connected to a specific buffer structure required for
         transmitting/receiving a message through IOS. The pools
         simplify the reservation of buffer structures.

         The pools mentioned above are initalized with operations
         by the Transport Init Module.…86…1         …02…   …02…   …02…   …02…  
                                                 






                  Internal communication

Figure 4.2.3.3-1 til 6.…86…1         …02…   …02…   …02…   …02…                                 
          
4.2.3.4  M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.3.4.1    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲i̲t̲ ̲M̲o̲d̲u̲l̲e̲



4.2.3.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The Transport Init Module is called from the mainmodule
         "TRANSPORT" which ontains the first statement to be
         executed when a Transport Process has been created.

         The Transport Init Module will initialize a Transport
         Process with the type of transport(s) which are specified
         by the "Parent Process" (i.e. COPSY).

         The follwing main tasks are included:

         a)  Setting up a data record for each subprocess within
             the process. (See figure 4.2.3.5.1-1).

             The subprocess data record for each type of transport
             is defined in sec. 4.2.3.5.

         b)  Presenting a coroutine descriptin to CSF Coroutine
             Monitor for each coroutine within a subprocess.

         c)  Handing over the running of coroutines to the Coroutine
             Monitor.



4.2.3.4.1.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲ ̲f̲o̲r̲ ̲M̲a̲i̲n̲m̲o̲d̲u̲l̲e̲

         Before the mainmodule "TRANSPORT" is entred the "Parent
         Process" shall specify the Transport Process by means
         of the following register conventions:

         R0: START ̲UP ̲ACTIVE ̲TYPE            "Global Type"
         R1: PROCESS ̲TYPE                    "Global Type"
         R2: FIRST-̲SUBPROCESS ̲NO            "Global Constant"
         R3: NO ̲OF ̲SUBPROCESSES

         The mainmodule only contains one statement which calls
         the "Transport Init Module".


         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRANSPORT ̲START (PROCESS ̲TYPE, FIRST ̲SUBPROCESS
                             ̲NO, NO ̲OF ̲SUBPROCESSES)

         b)  TRANSPORT ̲START (R0, R1, R2, R3, R4, R7, R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲ ̲f̲o̲r̲ ̲T̲R̲A̲N̲S̲P̲O̲T̲ ̲S̲T̲A̲R̲T̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         As for mainmodule (see above).

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         Undefined. (No return is made from TRANSPORT ̲START.



4.2.3.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         The components of the Transport Init Module are shown
         on figure 4.2.3.4.1.3-1.

         Nte that the procedure PRE ̲INITIALIZATION is an external
         procedure required by COPSY.


4.2.3.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The Transport Init Module makes use of the following
         data type for the purpose of initialization:

         TRS ̲INIT ̲PARAMS =
         RECORD
             TRANSPORT ̲TYPE      :INTEGER
             SUBPROCESS ̲TYPE     :INTEGER
             SUBPROCESS ̲DATA ̲PNT :INTEGER
             SUBPROCESS ̲CNT      :INTEGER
             SUBPROCESS ̲ID       :INTEGER
             INIT ̲TRS ̲COMON      :BOOLEAN
             INTI ̲TYPE           :BOOLEAN
         EN

4.2.3.4.1.4 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         The procedures within the Transport Init Module are
         implemented with a design as given by the flowgram
         4.2.3.4.1.5-1…86…1         …02…   …02…   …02…   …02…         …02…         
         …02…                      
MAINMODULE TRANSPORT

START

TRANSPORT ̲START                  (PROCESS ̲TYPE,
                                 FIRST ̲SUBPROCESS ̲NO,
                                 NO ̲OF ̲SUBPROCESSES)

END TRANSPORT

PROCEDURE ̲TRANSPORT ̲START        (PROCESS ̲TYPE,
                                 FIRSTSUBPROCESS ̲NO,
                                 NO ̲OF ̲SUBPROCESSES)

START

PRE ̲INITIALIZATION

INIT ̲TRANSPORT ̲PROCESS                   (PROCESS ̲TYPE,
                                 FIRST ̲SUBPROCESS ̲NO,
                                 NO ̲OF ̲SUBPROCESSES)

CASE PROCESS ̲TYPE

   OR ̲S          ?   OCR ̲TC ̲COROUTINE

   PTR ̲S         ?   PTR ̲TC ̲COROUTINE

   PTP ̲S         ?   PTP ̲TC ̲COROUTINE

   NICS ̲TARE ̲S   ?   NT ̲TC ̲COROUTINE

   SCARS ̲CCIS ̲S  ?   SC ̲TC ̲COROUTINE

   TRC ̲PTOP ̲S    ?   TP ̲TC ̲COROUTINE

END CASE

END TRANSPORT ̲START








FLOWGRAM 4.2.3.4.1.5-1…86…1         …02…    …02…  …02…   …02…                               
            
   M̲o̲d̲u̲l̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲:̲

   P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲S̲T̲A̲R̲T̲

   (R0       D
   R1    C   D   SUBPROCESS ̲TYPE
   R2    C   D   FIRST ̲SUBPROCESS ̲NO
   R3    C   D   NO OF SUBPROCESSES
   R4        D   
   R7        D   INF FOR PREINITIALIZATION
   R6    C   D   LINK

   This procedure is called from the TRANSPORT MAIN MODULE
   and activates initialization of the specified transprot
   process.

   After initialization the procedure jumps to the first
   Coroutine inserted into the READY ̲LIST of the CSF ̲COROUTINEMONITOR.

   P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲P̲R̲O̲C̲E̲S̲S̲

   (R0   C   D   BOOLEAN "TYPE OF INIT"
   R1    C   D   SUBPROCESS ̲TYPE
   R2    C   D   FIRST SUBPROCESS NO
   R3    C   D   NO OF SUBPROCESSES
   R6)   C   D   LINK

   This procedure branch to the type of initialization
   related to the subproces type.

   P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲P̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

   (R6)  C   D   LINK

   This procedure will initialize a TRC/POINT TO POINT
   transport process with as many subproceses as indicated
   in SUBPROCESS ̲CNT stored in TRS ̲INIT ̲PARAMS.

   P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲N̲T̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

   (R6)  C   DLINK

   This procedure will initialize a NICS TARE Transport
   process with as many subprocesses as indicated in SUBPROCESS
   ̲CNT stored in TRS ̲INIT ̲PARAMS.


         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲S̲C̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a SCARS/CCIS transport
         process with as many subproceses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲IIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲P̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a PTP transport process
         with as many subprocesses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲INIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲R̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         his procedure will initialize a PTR transport process
         with as many subprocesses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲INIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲O̲C̲R̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a OCR transport process
         with a many subprocesses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲INIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲P̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a TRC/POINT TO POINT subprcess by inserting pointers
         (references) to the other fields of the Subprocess
         data record (i.e. TRS ̲TP ̲DATA). See datastructures
         defined in sect. 4.2.3.5.2 and 4.2.3.5.7.10.


         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲N̲T̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a NICS TARE subprocess by inserting ointers (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲NT ̲DATA). See datastructures defined in sect. 4.2.3.5.3
         and 4.2.3.5.7.10.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲S̲C̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This proedure will initialize the TRANSPORT ̲PARAMETERS
         for a SCARS/CCIS subprocess by inserting pointers (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲SC ̲DATA). See datastructures defined in sect. 4.2.3.5.4
         and 4.2.3.5.7.10.

         P̲r̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲P̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a PTP subprocess by inserting pointers (references)
         to the other fields of the subprocess data record (i.e.TRS
         ̲SC ̲DATA). See datastructures defined in sect. 4.2.3.5.5
         and 4.2.3.5.7.10.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲R̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a PTR subprocess by inseting pointers (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲SC ̲DATA). See datastructures defined in sect. 4.2.3.5.6
         and 4.2.3.5.7.10.


         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲O̲C̲R̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a OCR subprocess by inserting pointrs (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲SC ̲DATA). See datastructures defined in sect. 4.2.3.5.6a
         and 4.2.3.5.7.10.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲P̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲D
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a TRC/POINT TO
         POINT subprocess into the ready list. (See data structure
         in section 4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲N̲T̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   OINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a NICS TARE subprocess
         into the ready list. (See data structure in section
         4.2.3.5..1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲S̲C̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a SCARS/CCIS
         subprocess into the reay list. (See data structure
         in section 4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲P̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK


         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a PTP subprocess
         into the ready list. (See data structure in section
         4.2.3.5.7.1).

         P̲r̲o̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲R̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a PTR subprocess
         into the ready list. (See dat structure in section
         4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲O̲C̲R̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a OC subprocess
         into the ready list. (See data structure in section
         4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲R̲S̲ ̲S̲E̲M̲A̲P̲H̲O̲R̲E̲S̲

         (R1  C  D   NO. OF SEMAPHORES
         R4   C  D   POINTER TO SEMAPHORE POOL
         R6)  C  D   LINK

         The procedure will initialize a specified number of
         semaphors collected in a pool.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲R̲S̲ ̲O̲P̲ ̲P̲O̲O̲L̲

         (R1  C  D   NO. OF OPERATIONS
         R4   C  D   POINTER TO TRS ̲OP ̲POOL
         R5   C  D   POINTER TO OPERATION POOL
         R6   C  D   LINK

         This procedure will insert a specified number of operations
         into the TRS ̲OP ̲POOL. Data sructure defined in section
         4.2.3.5.7.6 and 4.2.3.5.7.2.


         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲I̲O̲C̲ ̲P̲O̲O̲L̲

         (R0  C  D   BUFFER SIZE (WORDS)
         R1   C  D   NO. OF BUFFERS (OPERATIONS)
         R2   C  D   POINTER TO BUFFER POOL
         R4   C  D   POINTER TO XXX ̲IOC ̲POOL
         R5   C  D   POINTER TO IOC OPEATION POOL
         R6)  C  D   LINK

         The procedure is used for inserting a number of TRS
         ̲IOC ̲OPERATIONS into the INP ̲IOC ̲POOL and the OUT ̲IOC
         ̲POOL during the initialization of a transport process.

         Before inserting of the TRS ̲IOC ̲OPERATION this is supplied
         ith a pointer to a buffer used for the communication
         with the IOS system. From now on this buffer is always
         related to the operation. Data structure defiend in
         section 4.2.3.5.7.6 and 4.2.3.5.7.2.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲R̲S̲ ̲T̲I̲M̲E̲R̲ ̲P̲R̲O̲F̲I̲L̲E̲

         (R0  C  K   NO. OFTRS TIMERS
         R1   C  K   NO. OF FLASH TIMERS
         R2   C  K   POINTER TO TIMER TABLE
         R3   C  K   POINER TO FLASH TABLE
         R4   C  K   POINTER TO TIMER PROFILE
         R6)  C  D   LINK

         The procedure will initialize the timer profile with
         the parameters specified in R0-R3. Data structre defined
         in section 4.2.3.5.7.7.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲R̲E̲S̲E̲T̲ ̲D̲A̲T̲A̲ ̲R̲E̲C̲O̲R̲D̲

         (R1  C  D   NUMBER OF WORDS TO BE RESET
         R4   C  D   POINTER TO RECORD START
         R6)  C  D   LINK

         This procedure will reset all the words of a specified
         record.


4.2.3.5  T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲ ̲D̲a̲t̲a̲…06…1         …02…   …02…   …02…   …02…  
              …02…  …02…    …02…                          


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

  The data area for a Transport Process may be divided
  ino two mainparts (see figure 4.2.3.5.1-1).

  a) C̲o̲m̲m̲o̲n̲ ̲P̲r̲o̲c̲e̲s̲s̲ ̲D̲a̲t̲a̲

     Contains variables, constants and strings declared
     within the program modules for a transport process.
     This area is common to all subprocesses within the
     process and has the samestructure for all types
     of transport.

  b) Array of subprocess data records defined for the
     type of transport which are to be controlled by
     the process.

     XX ̲PROC ̲DATA    ARRAY (1..MAX ̲XX ̲PR ̲PROCESS) OF
                     TRS ̲XX ̲DATA

     with TRS ̲XX ̲DATA equal to one ofthe following data
     records:

     TRS ̲TP ̲DATA :   (TRC/P TO P)
     TRS ̲NT ̲DATA :   (NICS TARE)
     TRS ̲SC ̲DATA :   (SCARS/CCIS)
     TRS ̲PTP ̲DATA    :   (PTP)
     TRS ̲PTR ̲DATA    :   (PTR)
     TRS ̲OCR ̲DATA    :   (OCR)

  All data records include the entry "TRANSPORT PARAETERS".
  The other fields are of different type from record
  to record.

  The TRANSPORT PARAMETERS are initialized with reference
  to the other fields of the data record.

  All coroutines within a transport subprocess are reentrant
  and access the datarecord by impressing the TRANSPORT
  PARAMETERS on a specific address inserted into the
  Coroutine Descriptions during the initialization.

  When a coroutine is active, the address of its Coroutine
  Description is stored into the external variable "RUNING
  COROUTINE" which is updated by CSF Coroutine Monitor.
  (ref.fig.4.2.3.7.1-1).




















































FIGURE 4.2.3.5.1-1…86…1         …02…   …02…   …02…   …02…        …02…  …02…    …02…                      
    
4.2.3.5.2    D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲ ̲f̲o̲r̲ ̲T̲R̲C̲/̲P̲O̲I̲N̲T̲ ̲T̲O̲ ̲P̲O̲I̲N̲T̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

TRS ̲TP ̲DATA =
RECORD

                     TRP      : TRANSPORT ̲PARAMTERS;
                     COROTINE ̲POOL    : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲TP
                                                                 ̲COROUTINES)
                                                                 OF
                                                                 TRS
                                                                 ̲COROUTINE
                                                                 ̲DESCRIPTION
                     SEMAPHORE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲TP
                                                                 ̲SEMAPHORES)
                                                                 OF
                                                                 COROUTINE
                                                                 ̲SEMAPHORE
                                                                 
                     OP ̲POOL ̲POOL     : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲TP
                                                                 ̲OP
                                                                 ̲POOLS)
                                                                 OF
                                                                 TRS
                                                                 ̲OP
                                                                 ̲POOL
                                                                 ̲TYPE
                     OPERATION BUFFER : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲TPOPERATIONS)
                                                                 OF
                                                                 TRS
                                                                 ̲OPERATION
                     INP ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲TP
                                                                       ̲INP
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     OUT ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲TP
                                                                       ̲OUT
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     INP ̲EMF ̲BUFFER   : TP ̲INP ̲EMF
                                      ̲BUFFER
                     OUT ̲EMF ̲BUFFER   : TP ̲OUT ̲EMF
                                      ̲BUFFER
                     INP ̲IOC ̲BUFER    : ARRAY                    (1..MAX
                                                                 ̲TP
                                                                 ̲INP
                                                                 ̲BUF)
                                                                 OF
                                                                 TP
                                                                 ̲INP
                                                                 ̲IOC
                                                                 ̲BUFFER
                     OUT ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲TP
                                                                 ̲OUT
                                                                 ̲BUF)
                                                                 OF
                                                                 TP
                                                                 ̲OUT
                                                                 ̲IOC
                                                                 ̲BUFFER
                     PENDING ̲ASM ̲TABLE                           :
                                                                 ARRAY 
                                                                       (1..MAX
                                                                       ̲TP
                                                                       ̲PENDING
                                                                       ̲ASM)
                                                                       OF
                                                                       TRS
                                                                       ̲ASM
                                                                       ̲WAITING
                                                                       ̲TYPE
                     TIMER ̲TABLE : ARRAY (TP ̲TRS ̲TIMER
                                 ̲TYPE) OF TRS ̲TIMER
FLASH ̲TABLE          : ARRAY (1..MAX ̲TP ̲FLASH) OF TRS
                     ̲FLASH ̲TIMER
                     TIMER ̲PROFILE    : TRS ̲TIMER ̲PROFILE
                     SYS ̲PARAMS  : TRC ̲PTOP ̲PARAMETER
                                 ̲TYPE
                     QEL ̲ATTRIBUTES ̲POOL                         :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲TP
                                                                       ̲QEL
                                                                       ̲ATTRIBUTES)
                                                                       OF
                                                                       QEL
                                                                       ̲ATTRIBUTES
                     CHN ̲PROFILE : CHANNEL ̲PROFILE
                     CHANNEL ̲STTE     : ACP ̲127 ̲CHANNEL
                                      ̲STATUS
                     CIR ̲PROFILE : CIRCUIT ̲PROFILE
                     OUT ̲FIELD ̲LIST   : TRS ̲OUT ̲FIELD
                                      ̲LIST ̲TYPE
                     INP ̲FIELD ̲LIST   : TRS ̲INP ̲FIELD
                                      ̲LIST ̲TYPE
                     OUT ̲ACP ̲PARAM    : TRS ̲OUT ̲ACP
                                      ̲PARAM ̲TYPE
                     INP ̲ACP ̲PARAM    : TRS ̲INP ̲ACP
                                      ̲PARAM ̲TYPE
                     TRS ̲TMP ̲PARAM    : TRS ̲TMP ̲YPE

END DATA RECORD FOR TRC/POINT TO POINT…86…1         …02…  
 …02…   …02…   …02…        …02…  …02…    …02…                          
4.2.3.5.3            D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲ ̲f̲o̲r̲ ̲N̲I̲C̲S̲ ̲T̲A̲R̲E̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

TRS ̲NT ̲DATA =
RECORD

                     TRP      : TRANSPORT ̲PARAMTERS;
                     COROUTINE ̲POO    : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲NT
                                                                 ̲COROUTINES)
                                                                 OF
                                                                 TRS
                                                                 ̲COROUTINE
                                                                 ̲DESCRIPTION
                     SEMAPHORE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲NT
                                                                 ̲SEMAPHORES)
                                                                 OF
                                                                 COROUTINE
                                                                 ̲SEMAPHORE
                                                                 
                     OP ̲POOL ̲POOL     : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲NT
                                                                 ̲OP
                                                                 ̲POOLS)
                                                                 OF
                                                                 TRS
                                                                 ̲OP
                                                                 ̲POOL
                                                                 ̲TYPE
                     OPERATION BUFFER : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲NT
                                                                 ̲OPERATIOS)
                                                                 OF
                                                                 TRS
                                                                 ̲OPERATION
                     INP ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲NT
                                                                       ̲INP
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     OUT ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲NT
                                                                       ̲OUT
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     INP ̲EMF ̲BUFFER   : NT ̲INP ̲EMF
                                      ̲BUFFER
                     OUT ̲EMF ̲BUFFER   : NT ̲OUT ̲EMF
                                      ̲BUFFER
                     INP ̲IOC ̲BUFFER   : ARAY                     (1..MAX
                                                                 ̲NT
                                                                 ̲INP
                                                                 ̲BUF)
                                                                 OF
                                                                 NT
                                                                 ̲INP
                                                                 ̲IOC
                                                                 ̲BUFFER
                     OUT ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲NT
                                                                 ̲OUT
                                                                 ̲BUF)
                                                                 OF
                                                                 NT
                                                                 ̲OUT
                                                                 ̲IOC
                                                                 ̲BUFFER
                     PENDING ̲ASM ̲TABLE                           :
                                                                 ARRAY 
                                                                       (1..MAX
                                                                       ̲NT
                                                                       ̲PENDING
                                                                       ̲ASM)
                                                                       OF
                                                                       TRS
                                                                       ̲ASM
                                                                       ̲WAITING
                                                                       ̲TYPE
                     TIMER ̲TABLE : ARRAY (NT ̲TRS ̲TIMER
                                 ̲TYPE) OF TRS ̲TIMER
                     FLASH ̲TA