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

⟦0c968bd1f⟧ Wang Wps File

    Length: 18701 (0x490d)
    Types: Wang Wps File
    Notes: CPS/SDS/026               
    Names: »1598A «

Derivation

└─⟦7985b6947⟧ Bits:30005810 8" Wang WCS floppy, CR 0117A
    └─ ⟦this⟧ »1598A « 

WangText



$…06…$…07…#…0c…#…0d…#…01…#…86…1
      
      
      
      
      
      
      
   …02…   
      
  …02…   …02… 
      
 

…02…CPS/SDS/026

…02…BMN/840105…02……02…
TABLE
 MANAGEMENT
DETAILED
 DESIGN
 SPECIFICATION…02…ISSUE
 1…02…CAMPS








4.2.3    T̲M̲P̲ ̲M̲o̲n̲i̲t̲o̲r̲

         TMP Monitor is a subpackage maintaining all TMP interfaces.



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̲

         The TMP MON functions are grouped as shown on fig.
         4.2.4.1-1.

         Most functions are passed on to the TMP process except
         from those contained in the TMP MON function Module
         which requires fast access and are therefore performed
         by TMP MON itself and those contained in the Main Module
         which is the central init, answer ̲received, complete
         and cancel points in TMP MON .

         All access to TMP MON are passed through System Call
         Monitor and must thus follow the general System Call
         Monitor interface.

         Refer to Module Specification 4.2.3.1 - 4.2.3.3.








                     Figure 4.2.3.1-1


4.2.3.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲



4.2.3.2.1    S̲C̲M̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         -   SET ̲GSN               cf. 4.2.3.4.2
         -   GET ̲GSN               cf. 4.2.3.4.2
         -   DAILY ̲GSN ̲RESET       cf. 4.2.3.4.2
         -   GET ̲SYSTEM ̲PARAMETER  cf. 4.2.3.4.2


4.2.3.2.2    I̲n̲t̲e̲r̲n̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         -   TMP ̲INIT              cf. 4.2.3.4.3
         -   TMP ̲ANSWER ̲RECEIVED   cf. 4.2.3.4.3
         -   TMP ̲CANCEL            cf. 4.2.3.4.3
         -   TMP ̲COMPLETE          cf. 4.2.3.4.3
         -   DO ̲TMP ̲REQUEST        cf. 4.2.3.4.3
         -   SEND ̲TO ̲TMP           cf. 4.2.3.4.3



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

         The Control Logic is shown in figure 4.2.3.3-1.

         The two waiting points for "answer received" and "function
         completion" are placed as follows:

         -   The procedure SEND ̲TO ̲TMP contains the waiting
             point "answer received". It shall save its return
             address and possible other variables in the SOCB.
             The procedure is called in all the SCM procedures
             contained in the TMP process functions module and
             no other procedure contains an "answer received"
             waiting point.

         -   Each of the SCM procedures contains a "function
             completion" waiting point. This waiting point is
             contained in the SCM.






                     Figure 4.2.3.3-1


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̲M̲P̲ ̲P̲r̲o̲c̲e̲s̲s̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲M̲o̲d̲u̲l̲e̲



4.2.3.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The TMP process functions module contains the following
         functions, the functional description of which can
         be found as follows:

         a)  Request               cf. (b) 4.1.1

         b)  Get TMP statistics    cf. (b) 4.1.2

         c)  Get table attributes  cf. (b) 4.1.3

         d)  Lock table            cf. (b) 4.1.4

         e)  Unlock table          cf. (b) 4.1.5

         f)  Reorganize            cf. (b) 4.1.6

         g)  Abandon reorganize    cf. (b) 4.1.7

         h)  Backup                cf. (b) 4.1.8

         i)  System Start up       cf. (b) 4.1.9

         j)  Set GSN flags         cf. (b) 4.1.13

         k)  Set system parameters cf. (b) 4.1.14



4.2.3.4.12 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The module has the following package interfaces:

         a)  Request               cf. (b) 4.1.1

         b)  Get TMP statistics    cf. (b) 4.1.2

         c)  Get table attributes  cf. (b) 4.1.3



         d)  Lock table            cf. (b) 4.1.4

         e)  Unlock table          cf. (b) 4.1.5

         f)  Reorganize            cf. (b) 4.1.6

         g)  Abandon reorganize    cf. (b) 4.1.7

         h)  Backup                cf. (b) 4.1.8

         i)  System Start up       cf. (b) 4.1.9

         j)  Set GSN flags         cf. (b) 4.1.13

         k)  Set system parameters cf. (b) 4.1.14



4.2.3.4.1.3 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         N.A



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

         N.A



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

         E̲x̲t̲e̲r̲n̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         N.A

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

         TMP MONITOR MAIN module posses these requests on to
         TMP PROCESS by excecuting the procedures DO ̲TMP ̲REQUEST
         and SEND ̲TO ̲TMP.




4.2.3.4.2    T̲M̲P̲ ̲m̲o̲n̲i̲t̲o̲r̲ ̲f̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲m̲o̲d̲u̲l̲e̲



4.2.3.4.2.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 TMP monitor functions module contains the functions,
         the functional Description of which can be found as
         follows:

         a)  Set Global Serial Number         cf. (b) 4.1.10
         b)  Daily Global Serial Number Reset cf. (b) 4.1.11
         c)  Get Global Serial Number         cf. (b) 4.1.12
         d)  Get System Parameters            cf. (b) 4.1.15



4.2.3.4.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The Module has the following interfaces, which all
         are Package Interfaces:

         a)  Set Global Serial Number         cf. (b) 4.1.10
         b)  Daily Global Serial Number Reset cf. (b) 4.1.11
         c)  Get Global Serial Number         cf. (b) 4.1.12
         d)  Get System Parameters            cf. (b) 4.1.15



4.2.3.4.2.3 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         The components,

         -   SET ̲GSN                          cf. 4.2.3.4.2.5.a
         -   DAILY ̲GLOBAL ̲SERIAL ̲NUMBER ̲RESET cf. 4.2.3.4.2.5.b
         -   GET ̲GSN                          cf. 4.2.3.4.2.5.c
         -   GET ̲SYSTEM ̲PARAMETERS            cf. 4.2.3.4.2.5.d

         are implemented as SCM procedures

         -   BINARY ̲TO ̲ASCII

         Converts the specified binary value to four ASCII characters.
         If three digit indicator is true, the first character
         will be a space.

         Leading zeroes are not suppressed.



         -   ASCII ̲TO ̲BINARY

         Converts the four ASCII characters to a binary value.
         The first character may be a space or a digit. The
         remaining characters must be digits. Error exit if
         any of the characters are illegal.









  Figure 4.2.3.4.2.3 TMP MON function module components






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

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             GSN ̲ELEMENT                      cf. 4.1.4.6
             GSN ̲ARRAY                        cf. 4.1.4.6
             SYSTEM ̲PARAMETER ̲ARRAY           cf. 4.1.4.5
             TMP ̲HW ̲SEM                       cf. 4.1.4.7
             GSN ̲GROUP                        cf. 4.1.4.6
             PARAMETER ̲SPECIFIER ̲ARRAY        cf. 4.1.4.5
             PARAMETER ̲SPECIFIER              cf. 4.1.4.5

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             GSN ̲ELEMENT.DAILY ̲RESET
             GSN ̲ELEMENT.THREE ̲DIGIT
             GSN ̲ELEMENT.GSN                  (m)
             SYSTEM ̲PARAMETER ̲SPECIFIER.LENGTH
             SYSTEM ̲PARAMETER ̲SPECIFIER.PARAMETER
             TMP ̲HW ̲SEM                       (m)
             MAX ̲SYSTEM.PARAMETERS:           INTEGER

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             NA



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

         E̲x̲t̲e̲r̲n̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         CHECK ̲PAGE ̲ACCESS                    4.2.3.6.2
         TMP ̲RETIRE                           4.2.3.6.3
         CHECK ̲GSN ̲ID                         4.2.3.6.1

         a)  G̲e̲t̲ ̲G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲

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

             Checks if the specified GSN reference is a Valid
             GSN reference. If not the caller is retired.

             The GSN ̲ARRAY is reserved by Locking TMP ̲HW ̲SEM.

             If the parameter INCREASE is TRUE the specified
             GSN ̲ARRAY element is incremented according to the
             following rule:



             A three digit GSN will allways wrap around to 1
             after 999 and a four digit GSN will allways wrap
             around to 1 after 9999.

             Then the specified GSN is read and the TMP ̲HW ̲SEM
             is unlocked.

             The output is converted to ASCII and SOCB is updated

             Function completion is awaited

         F̲l̲o̲w̲g̲r̲a̲m̲:̲

         N.A

         b)  D̲a̲i̲l̲y̲ ̲G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲ ̲r̲e̲s̲e̲t̲

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

             Checks if the GSN reference is a valid GSN reference.
             If not the caller is retired.

             The GSN ̲ARRAY is reserved by locking TMP ̲HW ̲SEM.
             If the DAILY ̲RESET flag of the specified GSN is
             set the specified GSN is for a three digit GSN
             set to 999 and for a four digit GSN set to 9999.

             The TMP ̲HW ̲SEM is unlocked and function completion
             awaited.

             F̲l̲o̲w̲g̲r̲a̲m̲:̲

             N.A

         c)  S̲e̲t̲ ̲G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲

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

             Checks if the GSN reference is a valid GSN reference.
             If not the caller is retired.

             The input GSN ASCII value is converted to binary.

             The GSN array is locked.

             Then the specified GSN array element is set to
             binary GSN value according to the Three DIGIT flag.
             



             If any discrepancy exists an informative CC is
             returned. 

             Then the GSN array is unlocked and function completion
             is awaited.

             F̲l̲o̲w̲g̲r̲a̲m̲:̲

             N.A

         d)  G̲e̲t̲ ̲S̲y̲s̲t̲e̲m̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲

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

             It is checked that the specified output address
             is within the logical dataspace of caller and that
             the parameter reference is a valid parameter reference.
             If these checks are not successfull the caller
             is retired.

             then a pointer to the wanted parameter is read
             from the SYSTEM ̲PARAMETER ̲POINTER ̲ARRAY and the
             corresponding SYSTEM ̲PARAMETER is reserved by locking
             TMP ̲HW ̲SEM.

             Then the parameter is written to the buffer specified
             by caller.

             The TMP ̲HW ̲SEM is unlocked and function completion
             is awaited.

             F̲l̲o̲w̲g̲r̲a̲m̲:̲

             N.A




4.2.3.4.3    M̲a̲i̲n̲ ̲M̲o̲d̲u̲l̲e̲



4.2.3.4.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̲

         The Main Module is implemented as 4 procedures called
         by system Call Monitor;

         TMP ̲INIT, TMP ̲ANSWER ̲RECEIVED, TMP ̲COMPLETE ̲FUNCTION,
         TMP ̲CANCEL, and 1 procedure used by actual functions
         WAIT.

         a)  T̲M̲P̲ ̲I̲N̲I̲T̲

             This is the init system call entry point from system
             call monitor.

             Input registers are taken from context frame and
             stored in SOCB. Then the action depends upon function:
             

         b)  -   F ̲REQUEST is handled by procedure
                 DO ̲TMP ̲REQUEST.

             -   SEARCH functions are sent to TMP SEARCH SYNCEL.

             -   UPDATE functions are sent to TMP UPDATE SYNCEL.

             -   REMAINING functions are handled by the MON
                 ̲FUNC module in TMP MONITOR.

             SOCB list is searched for the SOCB referenced by
             answer.

             When found, it is set to be 'DONE SOCB'. CC and
             exitnumber are inserted, and SOCB status is set
             to DONE.

         c)  The function is DUMMY, as all output parameters
             were prepared during TMP ̲INIT and TMP ̲ANSWER ̲RECEIVED.

         d)  T̲M̲P̲ ̲C̲A̲N̲C̲E̲L̲

             The function is DUMMY, as TMP functions can not
             be cancelled.




4.2.3.4.3.2 Interface

         a)  T̲M̲P̲ ̲i̲n̲i̲t̲

             C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

             (R3;    "C      FUNCTION
                     "  R    EXIT NUMBER
              R5;    "C      %SOCB
                     "  R    CC
             R6);    "C -    LINK

         b)  T̲M̲P̲ ̲A̲n̲s̲w̲e̲r̲ ̲R̲e̲c̲e̲i̲v̲e̲d̲

             C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

             (R2;    "C      LAST SOCB
                     "  R    DONE COUNT (ALWAYS 1)
              R3;    "C K    %ANSWER
              R5;    "C      FIRST SOCB
                     " R     DONE SOCB
              R6);   "C -    LINK

         c)  T̲M̲P̲ ̲C̲o̲m̲p̲l̲e̲t̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲c̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

             (R5;    "C K    %SOCB
              R6);   "C -    LINK


         d)  T̲M̲P̲ ̲C̲a̲n̲c̲e̲l̲

             C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

             (R5;    "C K    %SOCB
             R6);    "C K    LINK

         NA





4.2.3.4.3.3 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         This module consists of six procedures

         -   TMPMON ̲INIT
         -   TMP ̲ANSWER ̲RECEIVED
         -   TMP ̲COMPLETE
         -   TMP ̲CANCEL
         -   DO ̲TMP ̲REQUEST

         Generates a trace record of TMP ̲PARAM.Then unpacks
         and checks TMP ̲PARAM, and sends the reference to the
         TMP process. Syncel depends upon function.

         -   SEND ̲TO ̲TMP

         Uses function and the four register parameters R1 -
         R4 stored in SOCB.SS ̲DATE (1..4) to prepare an info
         block of request info and send it to the specified
         TMP request sync element.

         The SOCB.SS ̲DATA are moved to request info as follows:

         SS ̲DATA (4) to APP ̲REF

         SS ̲DATA (1..3) to PARAMS (1..3);



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

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             SOCB        4.1.5.1.6.1

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             SOCB.RETURN   (m)
             SOCB.STATUS   (m)

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             NA



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

             NA




4.2.3.5  S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

         N.A



4.2.3.6  C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲



4.2.3.6.1    C̲h̲e̲c̲k̲ ̲G̲S̲N̲ ̲I̲D̲



4.2.3.6.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̲s̲

         Converts GSN ̲ID specifying GSN ̲GROUP and INDEX within
         GROUP to a pointer to the GSN. The calling process
         is retired, if GSN ̲ID is invalid.



4.2.3.6.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         (R1;    "C K        (GSN ̲ID.GSN ̲GROUP)
          R2;    "C K        (GSN ̲ID.GSN ̲INDEX)
          R5;    "- R        %GSN
          R6);   "C -        LINK

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲

         GSN ̲ID ̲ERROR



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

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             GSN ̲ARRAY
             GSN ̲GROUP ̲ARRAY
             GSN ̲ELEMENT

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             GSN ̲GROUP ̲ARRAY           cf. 4.1.4.6
                 GSN ̲ARRAY             cf. 4.1.4.6

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 NA 


4.2.3.6.1.4 C̲h̲e̲c̲k̲ ̲G̲S̲N̲ ̲I̲D̲ ̲D̲e̲s̲i̲g̲n̲

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

         It is checked that GSN ̲ID. GROUP is a valid group if
         not the caller is Retired 

         then actual index in GSN ̲ARRAY is calculated.

         It is checked that the calculated value is within valid
         range for actual GSN group.

         F̲l̲o̲w̲g̲r̲a̲m̲:̲

         N.A



4.2.3.6.2    C̲h̲e̲c̲k̲ ̲P̲a̲g̲e̲ ̲A̲c̲c̲e̲s̲s̲



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

             Checks, if calling process has WRITE ACCESS to
             specified buffer.

             If not, the process is retired.



4.2.3.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲  

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

         (R1;    "C -      %BUFFER
          R2;    "C -      BUFFER SIZE
          R6);   "C -      LINK



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

         N̲A̲



4.2.3.6.2.4 C̲h̲e̲c̲k̲ ̲P̲a̲g̲e̲ ̲A̲c̲c̲e̲s̲s̲ ̲D̲e̲s̲i̲g̲n̲

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

         Calls the PM ̲CHECK ̲PAGE ̲ACCESS procedure. If check
         not OK TMP ̲RETIRE is called.

         F̲l̲o̲w̲g̲r̲a̲m̲

         NA



4.2.3.6.3    T̲M̲P̲ ̲R̲e̲t̲i̲r̲e̲



4.2.3.6.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̲

         Retires the process with completion code as primary
         cause code. The other cause codes are set to OK.

         Note that the procedure must not be called from a CRITICAL
         REGION.

         Upon return to 'CLEAN EXIT' a return from MON CALL
         is made.

         Return to 'RESUMED' EXIT is impossible.





4.2.3.6.3.2 ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         (R0;    "C -        COMPLETION CODE
          R6);   "C -        LINK



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

         NA



4.2.3.6.3.4 T̲M̲P̲ ̲R̲e̲t̲i̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         E̲x̲t̲e̲r̲n̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         RETIRE              (d) 4.1.3

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

         Calls   RETIRE with codes as follows:

             -   PRIMARY     : SUBPACKAGE
             -   SECONDARY   : CC
             -   TERTIARY    : LINK

         and with the boolean RESTART ̲ALLOWED = FALSE.

         F̲l̲o̲w̲g̲r̲a̲m̲

         NA





4.2.3.6.4    U̲p̲d̲a̲t̲e̲ ̲S̲O̲C̲B̲



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

         If fatal error bit is set in CC, the calling process
         is retired.

         Otherwise:

         -   SOCB.SS ̲DATA (SOCB ̲CC) is set to CC

         -   IF CC = OK,SOCB.SS ̲DATA (SOCB ̲EXIT) is set to OKAY,
             otherwise to ERROR.

         Finally SOCB.STATUS is set to DONE.



4.2.3.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         (R1;    "C -        CC

          R5;    "C K        %SOCB

          R6);   "C -        LINK



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

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             SOCB            CPS ̲PREFIX*SYS ̲CALL ̲MON

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             SOCB.CC         (m)
             SOCB.EXITNO     (m)
             SOCB.STATUS     (m)





4.2.3.6.4.4 U̲p̲d̲a̲t̲e̲ ̲S̲O̲C̲B̲ ̲D̲e̲s̲i̲g̲n̲

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

             SOCB.CC is set to specified CC. If CC is equal
             OK, then SOCB.EXITNO is set to OK, if not SOCB.EXITNO
             is set to ERROR.

             F̲l̲o̲w̲g̲r̲a̲m̲

             NA



4.2.3.6.5    L̲o̲c̲k̲ ̲T̲M̲P̲



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

         Locks the TMP HARDWARE SEMAPHORE protecting the TMP
         SHARED DATA.

         The procedure loops until it succeeds in locking.



4.2.3.6.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         (R6);   "C -        LINK



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

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             TMP ̲SYSTEM ̲DATA           cf 4.1.4.2

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             TMP ̲SYSTEM DATA.TMP ̲HW ̲SEM    (M)



4.2.3.6.5.4 L̲o̲c̲k̲ ̲T̲M̲P̲ ̲D̲e̲s̲i̲g̲n̲

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

         TMP ̲HW ̲SEM is set to TRUE by using the instruction
         RESS.

         F̲l̲o̲w̲g̲r̲a̲m̲

         N.A





4.2.3.6.6    U̲n̲l̲o̲c̲k̲ ̲T̲M̲P̲



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

         Unlocks the TMP HARDWARE SEMAPHORE protecting TMP SHARED
         DATA.



4.2.3.6.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         (R6);   "C -        LINK



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

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲a̲n̲c̲e̲s̲

             TMP ̲SYSTEM ̲DATA           cf  4.1.4.2

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             TMP ̲SYSTEM ̲DATA.TMP ̲HW ̲SEM    (M)



4.2.3.6.6.4 U̲n̲l̲o̲c̲k̲ ̲T̲M̲P̲ ̲D̲e̲s̲i̲g̲n̲

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

         TMP ̲HW ̲SEM is set to FALSE by using the instruction
         RELS

         F̲l̲o̲w̲g̲r̲a̲m̲

         N.A





4.2.3.6.7    C̲S̲P̲ ̲E̲R̲R̲O̲R̲



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

         Retires the process in case of stack overflow in CPS
         ̲STACK.

         Completion code is set to 'TMP INTERNAL ERROR'.



4.2.3.6.7.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         (R6);   "C -        LINK



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

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CPS ̲STACK                 (a)  4.6

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             CPS ̲STACK



4.2.3.6.7.4 C̲S̲P̲ ̲E̲R̲R̲O̲R̲ ̲D̲e̲s̲i̲g̲n̲

         N.A





4.2.3.6.8    G̲e̲t̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲



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

         Reads registers R1 - R4 from context frame and stores
         them in SOCB.SS ̲DATA (1..4)



4.2.3.6.8.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         (R1;    "- R        FROM CONTEXT FRAME
          R2;    "- R        FROM CONTEXT FRAME
          R3;    "- R        FROM CONTEXT FRAME
          R4;    "- R        FROM CONTEXT FRAME
          R5;    "C K        %SOCB
          R6);   "C -        LINK



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

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             SOCB            CPS ̲PREFIX*SYS ̲CALL ̲MON

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             SOCB



4.2.3.6.8.4 G̲e̲t̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲ ̲D̲e̲s̲i̲g̲n̲

         N.A



4.2.3.7  S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         TMP Monitor interfaces to table search and table update
         subpackages via SyncEls. The interface is always such
         that a user request is passed on to another subpackage
         by sending input parameters and requesting subprocess
         identification to the other subpackage.

         Answers to the requests are received via the System
         Call Monitor.





4.2.3.7.1 I̲n̲f̲o̲b̲l̲o̲c̲k̲ ̲s̲e̲n̲d̲ ̲t̲o̲ ̲T̲M̲P̲

         The infoblock used to send a command to the synchronization
         elements associated with the TMP Process is formattet
         as REQUEST ̲INFO specified in TMP.D*PRF.F*SYSTEMPRF.



4.2.3.7.2    A̲n̲s̲w̲e̲r̲ ̲r̲e̲c̲e̲i̲v̲e̲d̲ ̲f̲r̲o̲m̲ ̲T̲M̲P̲

         The format used in answers from TMP is RESPONSE ̲INFO
         specified in TMP.D*PRF.D.SYSTEMPRF





































    Figure 4.2.3.7-1 TMP Monitor Subpackage Interface




4.3      M̲E̲M̲O̲R̲Y̲ ̲L̲A̲Y̲O̲U̲T̲

         The storage needed for TMP is split into three different
         parts:

         -   Table Storage
         -   Working Storage
         -   Code Storage.

         The sizes of these three parts are described in sections
         4.3.1-3.

         The common storage size is as follows:

                                Memory            Disk
         Table Storage          16 kbytes         1320 kbytes
         Working Storage        16 kbytes         1380 kbytes
                                 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲        ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
                                                  ̲ ̲

                                32 kbytes         2700 kbytes
…0f…                                ===========       ===========…0e…

         Code Storage           18.0 kbytes
…0f…                                ===========



4.3.1    T̲a̲b̲l̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲

         Table storage including

         -   RECORD ̲DESCRIPTIONS

         -   TABLE = DESCRIPTIONS

         -   INDEX TABLES

         -   MEMORY TABLES

         are in total 16 kbytes.


4.3.2    W̲o̲r̲k̲i̲n̲g̲ ̲S̲t̲o̲r̲a̲g̲e̲

         The total working storage is a sum of the storage needed
         for TMP Monitor and the three coroutines.

         These three parts require storage as follows:

                                Memory            Disk
                                (bytes)           (kbytes)
         TMP Monitor             0000               0
         Memory Search           0000               0
         Disc Search             3400               0
         Update                  4400             600
         Variables               ̲8̲0̲0̲0̲ ̲ ̲ ̲ ̲ ̲ ̲        ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
                                                  ̲

                                15800 bytes       600 kbytes
…0f…                                ===========       ==========…0e…



4.3.3    C̲o̲d̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲

         The TMP code consists of 17 modules, each including
         175 statements on average.

         One swell statement is on average 6 bytes.

         Required storage: 17 x 175 x 6 = 18 kbytes
                                           …0f…=========…0e…

         The code resides in memory.