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

⟦e5f28ca5e⟧ Wang Wps File

    Length: 18331 (0x479b)
    Types: Wang Wps File
    Notes: Spelunked
    Names: »~ORPHAN33.00«

Derivation

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

WangText

/…00……00……00……00…!…02……00……00…!
 …08… …0b… …0d… …0e… 
 …07……1f……0c……1f……01……1f…
…1f……06……1e……08……1e……0e……1e……05……1d……0d……1d……0e……1d……0f……1d……00……1d……01……1d……02……1c……08……1c……0e……1c… …1c……06……1c……07……1b……0b……1b……0f……1b…
…1a……08……1a……0d……1a……0e……1a……05……1a……07……19……86…1                                             …02…           …02…   …02…        

…02…CPS/SDS/026

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







                        1̲ ̲ ̲G̲E̲N̲E̲R̲A̲L̲



1.1      P̲U̲R̲P̲O̲S̲E̲ ̲A̲N̲D̲ ̲S̲C̲O̲P̲E̲

         The purpose of Table Management Package (TMP) is to
         provide search and update tools to the packages which
         want to access the data base contaiing tables, system
         parameters and global number series.

         Furthermore, TMP will control that no package accesses
         other data than it is allowed to access.

         This document describes TMP down to a level where all
         functions performed by TMP and all comonents to be
         implemented inside TMP are defined.

         This description is a further detailed description
         of TMP functions than the one in CPS/SDS/001 
         
         In this specification is given a description of general
         interfaces and general data structures.

For more detailed data and interface description refer CPS/DBD/001
 and CAMPS SW Interface Control Document.



1.2      A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲ ̲A̲N̲D̲ ̲P̲R̲O̲J̲E̲C̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲



1.2.1    A̲p̲p̲l̲i̲c̲a̲b̲l̲e̲ ̲D̲o̲c̲u̲m̲e̲n̲t̲s̲

         -   CPS/DBD/001             reference (a) see also
                                     
                                                   ec. 4.1.6
         -   CPS/ICD/009             reference (b)
         -   CSS/006/PSP/0044        reference (c)
         -   CPS/210/SYS/0001        reference (d)
         -   CPS/ICD/002             reference (e)
         -   CPS/SDS/001             reference (f)
         -   CSS/2100/PSP/0019



1.2.2    P̲r̲o̲j̲e̲c̲t̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

         N/A.…86…1         …02…   …02…   …02…   …02…                           
                        
1.3      T̲E̲R̲M̲S̲ ̲A̲N̲D̲ ̲A̲B̲B̲R̲E̲V̲I̲A̲T̲I̲O̲N̲S̲



1.3.1    T̲e̲r̲m̲s̲

         S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

         Group of modules having the same access rights.

         K̲e̲y̲

         Field value used to identify a record.

         T̲a̲b̲l̲e̲

         List of same typerecords.



1.3.2    A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲

         CSF         CAMPS System Functions
         GSN         Global Serial Number
         ID          Identification
         MDP         Message Distribution Package
         FMS         Storage and File Management
         SSC         Sytem Status and Control
         SyncEl      Synchronization Element
         TEP         Terminal Package
         THP         Traffic Handling Package
         TMP         Table Management Package…86…1         …02…   …02… 
                      …02…   …02…                                  
                             
                2̲ ̲ ̲S̲U̲M̲M̲A̲R̲Y̲ ̲O̲F̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲



2.1      T̲M̲P̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲

         TMP receives function requests from application packages
         and SSC and returns answers by means of system call
         monitor in CSF pacage.

         TMP reads from disk and writes to disk via FMS.

         Ref. fig. 2.1-1.…86…1         …02…   …02…   …02…   …02…               
                                    















































Fig. 2.1-1…01…Package Interrelationship…86…1         …02…   …02…   …02…   …02…                            
               
2.2      T̲M̲P̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲S̲



2.2.1    T̲M̲P̲ ̲N̲o̲r̲m̲a̲l̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         The normal TMP functions are:

         -           Search In Tables
         -           Update Of Tables
         -           Reorganization Of Tables
         -           Back-up/Reload Of TMP Data
                     Global Serial Number Management
         -           System Parameter Management



2.2.1.1  S̲e̲a̲r̲c̲h̲ ̲I̲n̲ ̲T̲a̲b̲l̲e̲s̲

         One or more records from a table are identified after
         a key value and delivered to caller.  More than one
         key to the same table may be specified at a time

         Only the record fields requested by caller are delivered.



2.2.1.2  U̲p̲d̲a̲t̲e̲ ̲O̲f̲ ̲T̲a̲b̲l̲e̲

         One record is inserted in a table or removed from a
         table.

         One or more records is changed.



2.2.1.3  R̲e̲o̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲ ̲O̲f̲ ̲T̲a̲b̲l̲e̲s̲

         All tables are reorganized o unused records are removed
         and records in overflow area are put in their appropriate
         place.



2.2.1.4  B̲a̲c̲k̲-̲u̲p̲/̲R̲e̲l̲o̲a̲d̲ ̲O̲f̲ ̲T̲M̲P̲ ̲D̲a̲t̲a̲

         Tables are backed up by copying them to an offline
         volume, or they are reloaded by copying them back in
         their apprpriate position at the on-line volume.




2.2.1.5  G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         The GSN is maintained in a way, so that they may be
         read or updated by other packages.

         The read may cause the GSN being read to be incresed
         by one.



2.2.1.6  S̲y̲s̲t̲e̲m̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         A system parameter may be read or updated.



2.2.2    F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲R̲e̲s̲p̲o̲n̲s̲i̲b̲i̲l̲i̲t̲i̲e̲s̲



2.2.2.1  I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲,̲ ̲C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲,̲ ̲a̲n̲d̲ ̲R̲e̲s̲t̲a̲r̲t̲



2.2.2.1.1    I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲

         In initialization TMP reloads all MP data and copies
         the memory resident data into memory. Then coroutines
         are initialized and TMP will then wait for further
         requests.



2.2.2.1.2    C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲

         TMP has no responsibility of its own by close down.



2.2.2.1.3    R̲e̲s̲t̲a̲r̲t̲

         By restart TM will read memory resident data into memory
         and initialize coroutines.

         Then a consistency check of disk resistent data is
         made and TMP will then wait for further requests.




2.2.2.2  C̲h̲e̲c̲k̲ ̲P̲o̲i̲n̲t̲i̲n̲g̲ ̲a̲n̲d̲ ̲R̲e̲c̲o̲v̲e̲r̲y̲

         TMP performs no check pointing.

         All data except global number series will be copied
         to disk each time they are updated so they will always
         b recoverable.

         All requests to TMP where TMP has not yet returned
         an answer may be lost by system failure.



2.2.2.3  E̲r̲r̲o̲r̲ ̲D̲e̲t̲e̲c̲t̲i̲o̲n̲ ̲a̲n̲d̲ ̲E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

         If input data in a TMP request are syntactically illegal
         or inconsistent, the requesting proess is retired by
         using a Kernel call.



2.2.2.4  I̲n̲t̲e̲g̲r̲i̲t̲y̲ ̲o̲f̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

         When no system failure occur TMP ensures that all requests
         will return an answer to the calling process. TMP also
         ensures that no request may cause damage in the TMP
         process

         Inconsistence in TMP data caused by update may result
         in no more output to processes requesting search than
         a completion code.

         Inconsistence in TMP data may only be coursed by a
         misused update function.

         The updated part of a table is writtenin a safety copy
         at disk before the original table is updated.



2.2.2.5  D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲

         TMP is collecting statistics on table level…86…1      
           …02…   …02…   …02…   …02…               …02…                        
               
2.2.2.6  S̲e̲c̲u̲r̲i̲t̲y̲

         TMP ensures that no subprocess reads or updates data
         not defined at system generation time.



2.3      C̲H̲A̲R̲A̲C̲T̲E̲R̲I̲S̲T̲I̲C̲S̲



2.3.1    T̲i̲m̲i̲n̲g̲

         The access times specifid here are maximum time per
         key.

         When more than one key is given by one request, the
         mean time per key will be less than access time by
         one key.

         The total access time is the sum of the time used by
         FMS and the time used by TMP.

         The disk acceses and access times are:

                                              NO OF FMS   TMP
                     PROCES-
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 DISK
                                                                 ACCESSES
                                                                 
                                                                 
                                                                 SING
                                                                 TIME

         -   Parameter read or GNS access          0       0,5
             ms
         -   Search in memory resident tables      0       
             30 ms
         -   Update of memory ables               4        40
             ms
         -   Search in disk tables                 1       
             40 ms
         -   Search in disk tables via reference   2       
             50 ms
         -   Update of disk tables                 5       
             50 ms



2.3.2    T̲h̲r̲o̲u̲g̲h̲p̲u̲t̲

         The throughput may be icreased by having the disk search
         coroutine in two incarnations.

         The throughput will increase about 50%.




2.3.3    F̲l̲e̲x̲i̲b̲i̲l̲i̲t̲y̲

         The number of data groups or the number of entries
         in one data group may increase without affecting the
         TMP Software.

         The only difference is that more storageis needed.



2.3.4    A̲c̲c̲u̲r̲a̲c̲y̲

         Any deviation from defined parameters will result in
         the calling process being retired.…86…1         …02…   …02…   …02…
           …02…                                           
                      3̲ ̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲



3.1      E̲Q̲U̲I̲P̲M̲E̲N̲T̲

         TMP executes in one processing unit consisting of more
         than one CPU.



3.2      S̲O̲F̲T̲W̲A̲R̲E̲



3.2.1    S̲y̲s̲t̲e̲m̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

         TMP uses the KERNEL, FMS, and CSFsystem software packages.

         TMP must be controlled by an operating system, for
         instance COPSY within SSC, defining the control parameters
         used by TMP.



3.2.2    D̲e̲v̲e̲l̲o̲p̲m̲e̲n̲t̲ ̲S̲u̲p̲p̲o̲r̲t̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

         The software used for development of this package is
         contined in Support Software Package.



3.3      I̲N̲T̲E̲R̲F̲A̲C̲E̲S̲



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

         N/A




3.3.2    P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         SSC, TEP, THP, STP, and MDP interfaces to TMP by requesting
         search and update functions.



3.4      F̲U̲N̲C̲T̲I̲O̲N̲S̲ ̲M̲A̲I̲N̲T̲A̲I̲N̲E̲D̲ ̲B̲Y̲ ̲O̲T̲H̲E̲R̲ ̲P̲A̲C̲K̲A̲G̲E̲S̲

         TMP is supportedby Coroutine Monitor and System Call
         Monitor in the CSF package.…86…1         …02…   …02…   …02…   …02…    
                                               
                      4̲ ̲ ̲T̲M̲P̲ ̲D̲E̲S̲I̲G̲N̲



4.1      T̲M̲P̲ ̲O̲V̲E̲R̲V̲I̲E̲W̲

         Table Management Package performs search and update
         functions at tables, system parameters, and GSN.

         The functions in TMP will be as general s possible
         so it may be possible to add further tables to the
         TMP data without the processing modules should be changed.



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

         TMP functional description starts with a description
         of data organization and access methods sed by TMP.
          This is followed by a general description of the functions
         performed by TMP.

         Finally, the functions are split into subpackages which
         again is split into modules.



4.1.1.1  T̲a̲b̲l̲e̲ ̲O̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲ ̲a̲n̲d̲ ̲A̲c̲c̲e̲s̲s̲ ̲M̲e̲t̲h̲o̲d̲s̲



4.1.1.1.1    T̲a̲b̲l̲e̲ ̲O̲r̲g̲n̲i̲z̲a̲t̲i̲o̲n̲

         All tables consist of a list of similar type records.
          Ref. fig. 4.1.1.1-1.  A table may be organized direct
         or sequential.

         Direct organization means that the records are identified
         alone by their position in the table.

         Sequential oranization means that the records are sorted
         in accordance with a primary key which also identifies
         the record.  The primary key field in a record must
         be unique in one table.  The records may also be searched
         by a secondary key, but a secondary keymay identify
         more than one record in one table.


         Refer fig. 4.1.1.1-2.  Sequential organization may
         be expanded to index sequential organization which
         means that the table is split into a number of same
         length blocks which are rferred in another sequential
         table containing a reference to last primary key in
         each block.  Ref. fig. 4.1.1.1-3.

         Sequential organization has also an incarnation called
         Secondary Key Organization.  This type may be used
         if a table is often accesed using a unique secondary
         key.  The secondary keys are put in sorted order in
         a reference table where each secondary key has a reference
         to the physical position of the record (ref. figure
         4.1.1.1-4).

         In the following the reference table will b called
         the Inverse Table.



4.1.1.1.2    R̲e̲c̲o̲r̲d̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         Each record in a table consists of one or more fields.

         The first field in some record types is reserved for
         TMP control data.  The second field will contain the
         primary key if the record as any.

         The rest of the fields may contain data of various
         kind.

         All records known by TMP have from one to sixteen fields
         of various length and are defined by a record description.
         (Ref. figure 4.1.1.-5).



4.1.1.1.3    F̲i̲e̲l̲d̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         There exst two field types. Simple fields and repeated
         fields.

         The simple field consists of one information field.

         The repeated field consists of a defined number of
         identical subfields. The first byte in a repeated field
         will tell how many of the subfelds are used. (Ref.
         figure 4.1.1.1-5).




4.1.1.1.4    T̲a̲b̲l̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         For each logical table one TABLE ̲DESCRIPTION are defined.

         Logical Table means a table accessed by other processes
         than TMP.

         All Logical Tables aredefined in CPS/DBD reference
         (a).

         TABLE ̲DESCRIPTION defines all parameters nessecary
         by performing a search or an update access, and further
         it contains an part used when collecting TMP statistics.

         One Physical Table may be referenced from morethan
         one TABLE ̲DESCRIPTION. This makes it possible that
         two applications searching in same physical table may
         get different output because they are accessing two
         different Logical Tables.

         The two Logical Tables may have defined that the same
         paraeters should be formattet in two ways or they may
         have defined different subsets of the maximum available
         output as output from actual table.

         By secondary Key Organized Tables, the TABLE ̲DESCRIPTION
         defining the Inverse Table will have a referenc to
         associated normal Logical Table.

         This means that searching in Inverse Table are consisting
         of two parts.

         First a physical reference to Normal Table entry is
         found in the Inverse Table and then the output is delivered
         in accordance with the efinitions in TABLE ̲DESCRIPTION
         of the Normal Table.

         In special cases an connection between two different
         tables may be defined, so the output from the one table
         is automatically used as input for a search in the
         other table.

         In this case the frst level table has a reference to
         the second level table in its TABLE ̲DESCRIPTION.

         A search will then start searching in first level table
         and generate an intermediate output in TMPS own data
         area.

         This output is then used as input for a searc generating
         the final output in accordance with the conventions
         of second level table…86…1         …02…   …02…   …02…   …02…          
                                         














































Fig. 4.1.1.1-1…01…Functional Description…86…1         …02…   …02…   …02…   …02…                           
                















































Fig. 4.1.1.1-2…01…Functional Description…86…1         …02…   …02…   …02…   …02…                           
                















































Fig. 4.1.1.1-3…01…Functional Description…86…1         …02…   …02…   …02…   …02…                           
                















































Fig. 4.1.1.1-4…01…Functional Description…86…1         …02…   …02…   …02…   …02…                           
                















































          Fig. 4.1.1.1-5…01…Functional Description


4.1.1.2  T̲a̲b̲l̲e̲ ̲S̲e̲a̲r̲c̲h̲

         When TMP performs a search, it gets its input from
         a data structure in the data area of the requesting
         application process.

         The segments containing this stucture and the area
         where output shall be delivered are mapped into TMP
         process during the search.

         The data structure contains the following information.

         -   Table ID.
         -   Output Address
         -   Output Buffer Length
         -   Search Mask
         -   Read Mask
         -   Numbe of Keys
         -   List of Keys

         Table ID. is a reference to the table description containing
         information necessary for this search.

         Output address is a reference to the area where output
         shall be delivered.

         Output buffer length tells how much the ouput data
         may fill.

         Search Mask specifies which fields to be searched for.

         Read Mask specifies which fields shall be delivered
         by output.

         Number of keys specifies how many input key values
         are specified in key list.

         List of keys is a list offield values used by search.

         Before search TMP checks the input keys for inconsistency
         and perhaps sorts them via a pointer ARRAY in TMP data
         area.

         The output is delivered in the same order as input
         Keys were sorted. Each Key has a pointer refeencing
         its associated output.


         An application process may by request specify if the
         first level output shall be used as input for search
         of a second level output.

         The input parameters for a one level search ad a two
         level search differs in the way that two different
         table IDs are used.

         The table ID for a two level search will contain a
         reference to the table where the second level information
         is held.



4.1.1.3  T̲a̲b̲l̲e̲ ̲U̲p̲d̲a̲t̲e̲

         Table update will updat one record specified by a primary
         key or it may update one or more fields of the same
         value to one new value in a table.

         The single record update may remove a record, insert
         a record or change the data fields.

         The data fields to be changed maybe all, or some specified
         fields of same type which shall be set to the same
         value or it may be all fields of a special value set
         to another value.

         The data field update may update the specified fields
         in all records in a table to a specified vale, or update
         only the specified fields having a special value to
         a new value.



4.1.1.4  T̲M̲P̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         The interface functions receive requests from application
         processes and pass them on to TMP process which performs
         the real processin.

         The interface functions will also ensure that the application
         processes get the responses sent by TMP process each
         time a request is completed.

         The interface functions will ensure that no unknown
         request is passed on to TMP process.


4.1.1.5  S̲y̲s̲t̲e̲m̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲ ̲a̲n̲d̲ ̲G̲l̲o̲b̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲ ̲S̲e̲r̲i̲e̲s̲

         System parameters and GSN can be read and updated.

         A GSN may be read in the special way that it is increased
         by one just befoe read.  If maximum value is exceeded
         by the increase, the GSN value becomes one.

         All accesses are performed by the application processes
         by using monitor procedure calls.

         Parameter update and GSN indicator update are performed
         by TMP process a a normal table update.



4.1.1.6  B̲a̲c̲k̲-̲u̲p̲ ̲a̲n̲d̲ ̲R̲e̲l̲o̲a̲d̲

         Back-up copies a TMP file from the on-line to SYS ̲GEN
         volume.

         Reload copies a TMP file from SYS ̲GEN  to the on-line
         volume.

         After reload, the new copied file is read into memory,
         if it norally resides here.



4.1.1.7  R̲e̲o̲r̲g̲a̲n̲i̲z̲e̲

         Reorganize removes unused records from a table and
         puts records from an overflow area in their appropriate
         position.  Reorganize may be stopped by a request from
         the Supervisor.



4.1.1.8  F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲B̲r̲e̲a̲k̲o̲w̲n̲

         To break this package down in subpackages, the functions
         described in this chapter are split into three main
         groups.

         Each group is a subpackage containing functions with
         common characteristics.  The functions mapped on each
         subpackage is shwn at fig. 4.1.1.8-1.

         The three subpackages are at the second level…86…1    
             …02…   …02…   …02…   …02…                                     
              
         In the following all TMP modules are grouped in subpackages
         and listed.

         Search Subpackage
             -   Search Communication
             -   Sort Key
             -   General Search
             -   Memory Table Search
             -   Dik Table Search
             -   Special Search

         Update Subpackage
             -   Update Communication
             -   Search
             -   Update Record
             -   Update Disk
             -   Support
             -   Start Up
         TMP Monitor
             -   Process Functions
             -   Monitor Functions
             -   Main Functions











































Fig. 4.1.1.7-1…01…Functional Breakdown…86…1         …02…   …02…   …02…   …02…                            
               
4.1.1.8.1    T̲a̲b̲l̲e̲ ̲S̲e̲a̲r̲c̲h̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         This subpackage receives search requests from a SyncEl.
         and generates the output which contains the wanted
         information.



4.1.1.8.1.1  S̲e̲a̲r̲c̲h̲ ̲C̲o̲