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

⟦3a547a8a3⟧ Wang Wps File

    Length: 27743 (0x6c5f)
    Types: Wang Wps File
    Notes: Message Management Stm.   
    Names: »1074A «

Derivation

└─⟦b3a67856d⟧ Bits:30006040 8" Wang WCS floppy, CR 0065A
    └─ ⟦this⟧ »1074A « 

WangText



…0b……07……09……02……09……06……09……07……08……0c……08……0d……08……02……08…



…02…CPS/SDS/003

…02…OKH/810801…02……02…
MESSAGE MANAGEMENT SYSTEM
…02……02…CAMPS







                    4̲ ̲ ̲P̲A̲C̲K̲A̲G̲E̲ ̲D̲E̲S̲I̲G̲N̲



4.1      P̲A̲C̲K̲A̲G̲E̲ ̲O̲V̲E̲R̲V̲I̲E̲W̲



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̲

         An overview of MMS functions is given in figure 4.1.1-1.

         MMS contains the following subpackages:

         -   CIF Handling Subpackage
         -   CIF Storage and Retrieval Subpackage
         -   Checkpoint and Recovery Subpackage.



4.1.1.1  C̲I̲F̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         This subpackage performs all functions for manipulation
         of CIFs in Short Term Storage.



4.1.1.1.1    S̲h̲o̲r̲t̲ ̲T̲e̲r̲m̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         Performs allocation and deallocation of Short Term
         Storage disk space to CIFs.

         Performs purge of deallocated blocks when appropriate,
         of section 2.2.2.6.2.

         Performs threshold monitoring and accounting functions
         for Short Term Storage.



4.1.1.1.2    S̲e̲c̲u̲r̲i̲t̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲

         Contains the control functions associated with security
         profiles, ref. section 2.2.2.6.





4.1.1.1.3    C̲I̲F̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲

         Execute the following commands from application processes:

         -   Create CIF
         -   Create New CIF Version
         -   Create View
         -   Create Fields
         -   Get View Attributes
         -   Change Attributes
         -   Remove View



4.1.1.1.4    C̲I̲F̲ ̲I̲/̲O̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲

         Execute the I/O commands:

         -   Read View
         -   Write View



4.1.1.1.5    I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         Perform the start up functions in MMS.



4.1.1.2  S̲t̲o̲r̲a̲g̲e̲ ̲a̲n̲d̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         This subpackage performs the functions associated with
         storage and retrieval of CIFs.  The management of Intermediate
         and Long Term Storage is the responsibility of the
         subpackage.





4.1.1.2.1    S̲t̲o̲r̲a̲g̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         -   Copying of CIFs to and from Intermediate and Long
             Term Storage.

         -   Freeing of space in Intermediate Storage when a
             CLEAR command is issued.

         -   Reorganizations of Intermediate Storage.



4.1.1.2.2    D̲i̲r̲e̲c̲t̲o̲r̲y̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         Performs management of Online CIF Directory and Long
         Term Storage Directories.



4.1.1.2.3    C̲o̲m̲m̲a̲n̲d̲ ̲E̲x̲e̲c̲u̲t̲i̲o̲n̲

         Executes the following application process commands:

         -   Store
         -   Retrieve
         -   Dump
         -   Clear

         In addition, it performs unloading of a CIF to Intermediate
         Storage when its use has terminated.



4.1.1.2.4    S̲t̲o̲r̲a̲g̲e̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲ ̲a̲n̲d̲ ̲M̲o̲n̲i̲t̲o̲r̲i̲n̲g̲

         Performs threshold and accounting functions for Intermediate
         Storage.



4.1.1.3  C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲ ̲a̲n̲d̲ ̲R̲e̲c̲o̲v̲e̲r̲y̲

         This subpackage manages the checkpoint arrays described
         in section 2.2.2.2, and executes the commands.

         -   Save
         -   Restore

















































                Fig. 4.1.1-1…01…MMS Functions


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

         MMS is implemented as a set of coroutines within the
         File Management Process.  Ref. figure 2.1.1-1.

         There are three types of coroutines:

         a)  M̲e̲s̲s̲a̲g̲e̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

             This type of coroutine executes commands from application
             processes.  There is a number of incarnations of
             the coroutine, so that several commands can be
             processed in parallel.  Each coroutine can execute
             commands associated with any of the 3 subpackages.

         b)  C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲ ̲T̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

             Transmits checkpoints to standby PU via the SSC
             checkpoint transmission process.  There is only
             one incarnation of the coroutine.  It belongs entirely
             to Checkpoint and Recovery Subpackage.

         c)  D̲i̲s̲k̲ ̲P̲u̲r̲g̲e̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

             Purges deallocated disk blocks before they can
             be reused.  There is one incarnation of this coroutine.
              It belongs entirely to CIF Handling Function subpackage.

         The subpackage functions are implemented as a set of
         procedures called from the coroutines.  The Message
         Handler Coroutines execute commands on behalf of all
         subpackages.

         The structure is shown on figure 4.1.2-1.















































           Fig. 4.1.2-1…01…MMS Software Structure


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

         The main flow is shown on figure 4.1.3-1.

         The FMS Command Reception Coroutine receives commands
         at the FMS synchronization elements (ref. figure 2.1.1-1)
         and sends them to the Message Handler Coroutines via
         a semaphore.  The first idle coroutine will get the
         command and start executing it.  It will do so by calling
         the appropriate subpackage procedures.

         If the subpackage procedures shall read or write on
         disk, they do so via the FMS Disk Cache Manager coroutines.

         The Disk Purge Coroutine is activated when a disk block
         of sufficiently high security is deallocated.

         The Checkpoint Transmission Coroutine is activated
         by the SAVE and RESTORE commands.  Termination of the
         transmission is awaited in a response semaphore before
         processing proceeds.



4.1.3.1  U̲p̲d̲a̲t̲e̲ ̲L̲o̲c̲k̲o̲u̲t̲

         The CIF Handling Subpackage shall assure that two Write
         View commands on the same CIF can not be executed concurrently.
















































         Fig. 4.1.3-1…01…Data Flow and Control Logic


4.1.4    P̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

         This section describes data which are shared by the
         subpackages.



4.1.4.1  C̲o̲m̲m̲a̲n̲d̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲s̲

         A set of operation buffers are used by the FMS Command
         Handler to store received commands and queue them to
         the Message Handler Coroutine Semaphore.

         The command buffer is a parameter to the call of subpackage
         procedures and is again used to generate a response
         to calling application process.



4.1.4.2  C̲I̲F̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲B̲l̲o̲c̲k̲s̲

         Each active CIF is described by a CIFCB.  The CIFCB
         is mainly managed by CIF Handling Subpackage, but contains
         control variables for the two other subpackages as
         well.
         The format is shown in section 4.2.1.4.1.



4.1.4.3  V̲i̲e̲w̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲B̲l̲o̲c̲k̲s̲

         Each active view is described by a VCB.  The same remarks
         apply as for CIFCB.  The VCB format is shown in section
         4.2.1.4.6.



4.1.5    C̲o̲m̲m̲o̲n̲ ̲D̲a̲t̲a̲

         This section describes data shared with other packages.
          They are:

         -   Command Parameter Record Formats
         -   Checkpoint Transmission Buffers


4.1.5.1  C̲o̲m̲m̲a̲n̲d̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲ ̲R̲e̲c̲o̲r̲d̲ ̲F̲o̲r̲m̲a̲t̲s̲

         These are the formats of some of the Command Parameter
         Blocks used in the commands to MMS described in section
         4.1.6.



4.1.5.1.1    V̲i̲e̲w̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲e̲s̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲ ̲R̲e̲c̲o̲r̲d̲


          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             APPLICATION CONTROL

             INFORMATION (cf 2.2.1.4.4)
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             SECURITY PROFILE
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             CIF ID
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         VERSION
         INDICATOR
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             SI                       RI
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             FIELD
             INFORMATION
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲


         SI: Storage and Retrieval Information
         RI: Recovery Information



4.1.5.1.2    F̲i̲e̲l̲d̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲ ̲E̲l̲e̲m̲e̲n̲t̲



          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

                                       A
             FIELD TYPE            CS  R  R
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             ALLOCATED LENGTH
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             USED LENGTH
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲



         R:                 1  Field group is referenced by
         View

         AR:                0  Read Access Only
                            1  Read and Write Access

         FIELD TYPE:        0  Temporary Field
                            1  Permanent Field

         ALLOCATED LENGTH:  The number of bytes allocated to
         the
                            field.

         USED LENGTH:       The number of bytes which have been
                            written to the field.

         CS:                Creation Status:  0:  Not Existing
                                              1:  Field included
                                                  from 
                                                  predecessor
                 
                                                  view.
                                               2:  New field
                 
                                                   created.





4.1.5.1.3    F̲i̲e̲l̲d̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲


          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             NO. OF ELEMENTS
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲


             FIELD INFORMATION
                 ELEMENTS
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲


         NO. OF ELEMENTS:  The number of elements in FIELD
                           INFORMATION ELEMENTS.  Must not
                           exceed 16.

         Field Information is part of the View Attributes Parameter
         Record, see 4.1.5.1.1.



4.1.5.1.4    F̲i̲e̲l̲d̲ ̲L̲i̲s̲t̲ ̲E̲l̲e̲m̲e̲n̲t̲



          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             FIELD GROUP ID
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             FIELD BYTE ADDRESS
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             RECORD LENGTH
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲



         FIELD BYTE ADDRESS:  Denotes a relative byte number
                              within the field.  Must be even.

         RECORD LENGTH:       Number of bytes to be transferred
                              to or from the field.  Must be
                              even



4.1.5.1.5    F̲i̲e̲l̲d̲ ̲L̲i̲s̲t̲


          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             NO. OF ELEMENTS
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             FIELD LIST ELEMENTS
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲


         NO. OF ELEMENTS:  The number of elements in FIELD LIST
                           ELEMENTS.

         Field List is a parameter to READ VIEW and WRITE VIEW
         commands.  See 4.1.6.2.2.



4.1.5.1.6    C̲I̲F̲ ̲I̲D̲ ̲L̲i̲s̲t̲ ̲E̲l̲e̲m̲e̲n̲t̲


          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             CIF ID
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         VERSION
         INDICATOR
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

            S
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲


         S:  Area for return of STORE TIME




4.1.5.1.7    C̲I̲F̲ ̲I̲D̲ ̲L̲i̲s̲t̲


          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

             NO OF ELEMENTS
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

               CIF ID
               List Elements

          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         CIF ID List is a parameter in DUMP CIF SEQUENCE command.
          See 4.1.6.2.3.4.



4.1.6    I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.1.6.1  E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         Not applicable.



4.1.6.2  M̲e̲s̲s̲a̲g̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲S̲y̲s̲t̲e̲m̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         G̲e̲n̲e̲r̲a̲l̲ ̲C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲

         All application process access to MMS must be performed
         via Message Monitor within CSF.  Each access consists
         of a command sent to one of the Storage and File Management
         Process synchronization elements and a reply sent by
         MMS to the Message Monitor answer synchronization element
         of the application process.  The communication flow
         is shown on figure 4.1.6.2-1.

         A command to MMS consists of up to 3 parts, as shown
         on figure 4.1.6.2-2.



         a)  C̲o̲m̲m̲a̲n̲d̲ ̲B̲o̲d̲y̲

             This is always present.  It is sent in the process
             communication information element to the SFM synchronization
             element.  The standard part contains various control
             information, which is independent of the command.
              The parameter part contains command dependent
             information.

         b)  C̲o̲m̲m̲a̲n̲d̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲ ̲B̲l̲o̲c̲k̲

             Is used for some commands where the parameter information
             is too voluminous to be held in the process communication
             information element.  The parameter block is a
             consecutive area in the data space of the sending
             application process.

         c)  A̲p̲p̲l̲i̲c̲a̲t̲i̲o̲n̲ ̲D̲a̲t̲a̲ ̲B̲u̲f̲f̲e̲r̲

             Is only present for read/write commands.  It is
             a consecutive area in the application data space
             of the sending process.

         Execution of a command usually results in updating
         the Command Parameter Block and Application Data Buffer,
         if present.

         Having terminated command execution, MMS returns a
         reply formatted as command body, where parameter part
         now contains return parameters, including a completion
         code.  The completion code tells if the command was
         executed as requested, or the reason why it was not.




















































     Fig. 4.1.6.2-1…01…MMS Process Communication Scheme



                            ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         COMMAND BODY        COMMAND CODE
                            ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

                             COMMAND BODY
                             STANDARD PART
                            ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲



                             COMMAND BODY
                             PARAMETER PART

                            ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲



                            ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         COMMAND 
         PARAMETER BLOCK     COMMAND
                             DEPENDANT
                            ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲



         APPLICATION        ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         DATA BUFFER


                            ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲



       Fig. 4.1.6.2-2…01…GENERAL MMS COMMAND STRUCTURE


4.1.6.2.1    C̲I̲F̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲



4.1.6.2.1.1  C̲r̲e̲a̲t̲e̲ ̲C̲I̲F̲

         Input:

         Command Body:       Security Profile
         Command Parameter 
         Block:              CIF Attributes, as described below

         Output:

         Command Body:       Completion Code
                             View Ref.
         Command Parameter
         Block:              Completed Attributes, as described
                             below.

         The CIF Attributes input parameter is a View Attributes
         Parameter record (see section 4.1.5.1.1) with the following
         fields filled in by calling application:

         -   Application Control Information

         -   Recovery Information:
             1:  Recoverable CIF
             0:  Non-Recoverable CIF

         -   Field Information (see section 4.1.5.1.3).
             Contains a Field Information Element (see section
             4.1.5.1.2) for each field of the new CIF.  If ALLOCATED
             LENGTH is non-zero, it will be used to allocate
             initial disk space for the field.  USED LENGTHS
             is ignored.  FIELD TYPE specifies for each field
             whether it is permanent or temporary.  CS, AR and
             R fields are ignored.

         A CIF will be created with the specified attributes.
          A view referencing the CIF will be generated too.
          It will reference all field groups of the CIF and
         have Read- and Write access to all fields.  The CIF
         attributes parameter will be updated to contain the
         view attributes for the generated view.

         The CIF ID field is only relevant if at least one of
         the fields is permanent.  The version indicator is
         set to one, and used length of each field is set to
         zero.


4.1.6.2.1.2  C̲r̲e̲a̲t̲e̲ ̲N̲e̲w̲ ̲C̲I̲F̲ ̲V̲e̲r̲s̲i̲o̲n̲

         Input:

         Command Body:       View Ref. Previous Version.
         Command Parameter
         Block:              CIF Attributes, as specified below.

         Output:

         Command Body:       Completion Code
                             View Ref., New Version
         Command Parameter
         Block:              View Attributes, new version.

         The input view must reference the latest version of
         the CIF, and the CIF must be permanent.

         A new CIF version will be generated together with a
         view referencing it.  The attributes will be copied
         from previous version, except for:

         a)  VERSION INDICATOR is increased by one.

         b)  ALLOCATED LENGTH of each field is taken from the
             input CIF Attributes.

         c)  USED LENGTH of each field is set to zero.

         d)  The view will reference all fields with read and
             write access.



4.1.6.2.1.3  C̲r̲e̲a̲t̲e̲ ̲V̲i̲e̲w̲

         Input:

         Command Body:       View Ref. Predecessor View.
         Command Parameter
         Block:              View Attributes

         Output:

         Command Body:       Completion Code
                             View Ref., New View
         Command Parameter
         Block:              View Attributes, New View.



         For each field group, the corresponding FIELD INFORMATION
         ELEMENT in input View Attributes specifies the field
         of the new view as follows (see section 4.1.5.1.2):

         a)  The R field specifies, if the field group shall
             be referenced by the view.  The new view can only
             reference a subset of the field groups referenced
             by predecessor view.

         b)  For those field groups which shall be referenced,
             the AR field specifies the access right of the
             new view.  Write access can only be obtained if
             the predecessor view has write access.

         c)  The CS field specifies if a field reference shall
             already be created for the new view.  If specified,
             subsequent calls of the Create Fields command can
             be avoided.  Field creation and inclusion is handled
             as specified in CREATE FIELDS below.  Upon return
             of reply, the Command Parameter Block contains
             the attributes of the new view.



4.1.6.2.1.4  C̲r̲e̲a̲t̲e̲ ̲F̲i̲e̲l̲d̲s̲

         Input:

         Command Body:       View Ref.
         Command Parameter 
         Block:              Field Information

         Output:

         Command Body:       Completion Code
         Command Parameter
         Block:              Updated Field Information

         The command specifies for a view previously created
         by Create View, how new field references shall be set
         in the new view, if not already specified in Create
         View.  The input parameter contains the specifications.
          If the R field is set to one in a Field Information
         Element, the CS field specifies, whether the field
         shall be included from predecessor view or a new field
         shall be added to the field group.  In the latter case
         ALLOCATED LENGTH may:


         -   specify that space shall be allocated for the field.
              Note that creation or inclusion can only take
             place for those field groups which were referenced
             in the CREATE VIEW command.

         Upon return of reply, the Updated Field Information
         will contain the complete field information for the
         view.

         The command may be called several times for the same
         view, but each field group may only be specified once.

         Note that inclusion of a field from predecessor view
         requires that it still exists.



4.1.6.2.1.5  G̲e̲t̲ ̲V̲i̲e̲w̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲e̲s̲

         Input:

         Command Body:       View Ref.

         Output:

         Command Body:       Completion Code
         Command Parameter
         Block:              View Attributes

         The View Attributes are delivered in a View Attributes
         Parameter Record, see section 4.1.5.1.1.



4.1.6.2.1.6  C̲h̲a̲n̲g̲e̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲e̲s̲

         Input:

         Command Body:       View Ref.
                             Security Profile
                             Change Mask.

         Command Parameter
         Block:              Application Control Information

         Output:

         Command Body:       Completion Code.



         The changeable attributes are Security Profile and
         Application Control Information.  The Change Mask specifies
         the words of Application Control Information which
         shall be changed.  Only a trusted process is allowed
         to decrease the Security Profile.



4.1.6.2.1.7  R̲e̲m̲o̲v̲e̲ ̲V̲i̲e̲w̲

         Input:

         Command Body:       View Ref.

         Output:

         Command Body:       Completion Code.

         If the view is not subject to storage, it will be deleted.
          Those fields which are only referenced by the deleted
         view and which are not subject to storage will be deleted
         too.

         Note that a view referencing a recoverable CIF must
         be removed by means of the SAVE command.



4.1.6.2.2    C̲I̲F̲ ̲I̲/̲O̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲



4.1.6.2.2.1  R̲e̲a̲d̲ ̲V̲i̲e̲w̲

         Input:

         Command Body:       View Ref.
                             Application Data Buffer Size.
         Command Parameter
         Block:              Field List.

         Output:

         Command Body:       Completion Code
         Command Parameter
         Block:              Updated Field List
         Application Data
         Buffer:             Data read from view.



         Reads data from one or more fields as specified in
         Field List (see section 4.1.5.1.5).  The data are placed
         consecutively in Application Data Buffer.

         Each field list element contains two variables controlling
         the read operation from the field:

         a)  F̲i̲e̲l̲d̲ ̲B̲y̲t̲e̲ ̲A̲d̲d̲r̲e̲s̲s̲

             A byte offset within the field specifying where
             to start the read operation.  Must be even valued.

         b)  R̲e̲c̲o̲r̲d̲ ̲L̲e̲n̲g̲t̲h̲

             The maximum number of bytes to be read from the
             field.  A value of zero is allowed.  The actual
             number of bytes read may be smaller than specified,
             as read will not continue beyond USED LENGTH of
             the field.  Must be even valued.

         After the read operation each field list element will
         be updated as follows:

         c)  Record Length will contain number of bytes actually
             read.  It may be zero, if field was empty or if
             application data buffer could not hold more data.

         d)  Field Byte Address will be increased by Record
             Length and will thus point to the first byte after
             the bytes read.  This will particularly facilitate
             a sequence of read operations from a field.

         Note that the most efficient read operation is obtained,
         if read operations are started on sector boundaries
         (512 bytes) within fields, and if complete sectors
         are read.  Moreover, efficiency is likely to be increased,
         if the field groups specified in field list are consecutive.





4.1.6.2.2.2  W̲r̲i̲t̲e̲ ̲V̲i̲e̲w̲

         Input:

         Command Body:       View Ref.
                             Application Data Buffer Size
         Command Parameter
         Block:              Field List
         Application Data
         Buffer:             Data to be written

         Output: 

         Command Body:       Completion Code
         Command Parameter
         Block:              Updated Field List

         Writes data from the application data buffer to one
         or more fields, as specified by field list (see section
         4.1.5.1.5).

         Each field list element contains two variables controlling
         the write operation:

         a)  F̲i̲e̲l̲d̲ ̲B̲y̲t̲e̲ ̲A̲d̲d̲r̲e̲s̲s̲

             A byte offset within the field specifying where
             to start the write operation.  It is allowed to
             start write anywhere in the field, even beyond
             USED LENGTH of the field.  Must be even valued.

         b)  R̲e̲c̲o̲r̲d̲ ̲L̲e̲n̲g̲t̲h̲

             The number of bytes to be written to the field.
              Must be even valued.

         After the write operation each field list element will
         be updated as follows:

         c)  Field Byte Address will be increased by Record
             Length.  This will particularly facilitate a sequence
             of write operations to a field.

         Moreover USED LENGTH and possibly ALLOCATED LENGTH
         of the field will be updated, if data are written beyond
         the previous value. Cf. section 2.2.1.3.4.

         The most efficient write operation is obtained if write
         operations are started on sector boundaries (512 bytes)
         and if complete sectors are written.


4.1.6.2.3    S̲t̲o̲r̲a̲g̲e̲ ̲a̲n̲d̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲



4.1.6.2.3.1  S̲t̲o̲r̲e̲

         Input:

         Command Body:       View Ref

         Output:

         Command Body:       CIF ID
                             View ID
                             Completion Code

         Requests that the referenced view be stored.

         When the command has been completed, the view is retrievable
         from Online Storage by the returned CIF ID, View ID



4.1.6.2.3.2  R̲e̲t̲r̲i̲e̲v̲e̲

         Input:

         Command Body:       CIF ID
                             View ID

         Command Parameter
         Block.              Type
                             Dump File Ref
                             Dump Segment ID

         Output:

         Command Body:       View Ref
         Command Parameter
         Block:              View Attributes.

         Requests retrieval of a view specified by CIF ID and
         View ID.

         Type defines whether retrieval shall be done from Online
         Disk or from a Long Term Storage volume.  In the latter
         case, dump file and dump segment shall be specified.



         The Dump File Ref. is the one returned by I/O system
         on a look-up command for the dump file.



4.1.6.2.3.3  I̲n̲i̲t̲ ̲D̲u̲m̲p̲

         Input:

         Command Body:       Dump File Ref.

         Output:

         Command Body:       Dump Segment Id
                             Completion Code.

         Prepares the referenced file for a dump.  The file
         must have been looked up by an I/O system command.



4.1.6.2.3.4  D̲u̲m̲p̲ ̲C̲I̲F̲ ̲S̲e̲q̲u̲e̲n̲c̲e̲

         Input:

         Command Body:       Dump File Ref
         Command Parameter
         Block:              CIF ID List.

         Output:

         Command Body:       Number of CIFs dumped.
                             Completion Code.

         Command Parameter
         Block:              Updated CIF ID List.

         Dumps the CIFs specified in the list to the specified
         dump file.

         The CIF ID list is updated in the following way:

         For each dumped CIF, the STORE TIME of the CIF is inserted
         in the corresponding CIF ID list element.  If STORE
         TIME is zero, the CIF is still referenced by views
         with update access and can thus still be subject to
         store requests.

         The command may be issued a number of times during
         a dump.


4.1.6.2.3.5  T̲e̲r̲m̲i̲n̲a̲t̲e̲ ̲D̲u̲m̲p̲

         Input:

         Command Body:       Dump File Ref

         Output:

         Command Body:       Completion Code.

         Terminates a dump and closes the dump file.  It must
         however be dismantled by a call to I/O System.



4.1.6.2.3.6  C̲l̲e̲a̲r̲

         Input:

         Command Body:       Clear Time

         Output:

         Command Body:       Completion Code.

         Requests that CIFs which reside in Intermediate Storage
         and have STORE TIME smaller than Clear Time are removed.



4.1.6.2.4    C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲ ̲a̲n̲d̲ ̲R̲e̲c̲o̲v̲e̲r̲y̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲



4.1.6.2.4.1  S̲a̲v̲e̲

         Input:

         Command Body:       Recovery Level.
         Command Parameter
         Block:              Checkpoint View Ref List, 
                             Application process Data
                             Remove View Ref. List.

         Output:

         Command Body:       Completion Code.



         Requests the views of the Checkpoint View Ref list
         to be checkpointed together with the Application Process
         Data, and the views of the Remove View Ref list to
         be removed afterwards.



4.1.6.2.4.2  R̲e̲s̲t̲o̲r̲e̲

         Input:              None

         Output:

         Command Body:       Completion Code
         Command Parameter
         Block:              Application Process Data.

         Reads the next checkpoint from checkpoint array, restores
         the CIF and the views contained in it, and returns
         application process data from the checkpoint.



4.1.6.2.5    S̲t̲o̲r̲a̲g̲e̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲ ̲a̲n̲d̲ ̲M̲o̲n̲i̲t̲o̲r̲i̲n̲g̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲



4.1.6.2.5.1 S̲e̲t̲ ̲T̲h̲r̲e̲s̲h̲o̲l̲d̲ ̲V̲a̲l̲u̲e̲s̲

         Input:

         Command Body:       Short Term Storage Thresholds
                             Intermediate Storage Thresholds

         Output:

         Command Body:       Completion Code



4.1.6.2.5.2 G̲e̲t̲ ̲T̲h̲r̲e̲s̲h̲o̲l̲d̲ ̲W̲a̲r̲n̲i̲n̲g̲

         Input               None

         Output

         Command Body:       Warning Type
                             Completion Code



         The command is kept by MMS until a Threshold is exceeded.
         Then it is returned with indication of which thresholds
         were exceeded.



4.1.6.2.5.3  G̲e̲t̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲O̲c̲c̲u̲p̲a̲n̲c̲y̲

         Input               None

         Output

         Command Body        Number of free blocks in STS
                             Number of free sectors in IS



4.2.1    C̲I̲F̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲



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

         An overview of CIF Handling Subpackage is shown on
         figure 4.2.1.1-1.



4.2.1.1.1    S̲h̲o̲r̲t̲ ̲T̲e̲r̲m̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         S̲hort T̲erm S̲torage is an ordinary contiguous file allocated
         by FMS.  Apart from initial allocation of the file,
         FMS does not access STS.  The size of STS is a system
         generation parameter.

         The STS Storage Management utilizes a two level storage
         allocation scheme using blocks and sectors.  STS is
         subdivided into blocks of equal size.  A block consists
         of a number of sectors, each of 512 bytes.  A sector
         is the smallest addressable unit on a disk volume.

         The blocksize is a system generation parameter and
         may range from 2 to 8 sectors.

         Blocks are numbered from 1 to NO. OF BLOCKS.



4.2.1.1.1.1  S̲h̲o̲r̲t̲ ̲T̲e̲r̲m̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲A̲l̲l̲o̲c̲a̲t̲i̲o̲n̲

         This section describes the allocation and deallocation
         of blocks in STS.  

         Free blocks are described in the F̲ree B̲lock M̲ap.  FBM
         is a bit array of length NO OF BLOCKS.  The bit corresponding
         to a block is set, if the block is not allocated to
         a CIF.



         When storage is allocated to a CIF, either when the
         CIF is created or when it is extended, one or more
         blocks are allocated and reserved for the CIF.  The
         blocks allocated to a CIF are described in the CIF
         Block List of the CIF.  The blocks allocated to a CIF
         will be selected in such a way, that they are physically
         as close as possible to each other.  When blocks are
         deallocated from a CIF, they may be freed at once,
         and thus transferred to FBM.  The blocks may, however,
         be subject to purge before reuse.  Blocks which must
         be purged are described in the P̲urge B̲lock M̲ap, which
         is a bit array of length NO OF BLOCKS.  When the block
         has actually been purged, it is transferred from PBM
         to FBM.

         Each block is at a given time in one of the following
         states:

         a)  Allocated to a CIF
         b)  Free
         c)  Subject to Purge

         Block state transitions are shown on figure 4.2.1.1.1-1.


















































          Fig. 4.2.1.1-1…01…CIF Handling Functions


















































         Fig. 4.2.1.1.1-1…01…Block State Transitions