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

⟦f0aff3776⟧ Wang Wps File

    Length: 86743 (0x152d7)
    Types: Wang Wps File
    Notes: CPS/SDS/031               
    Names: »1577A «

Derivation

└─⟦023bb28d7⟧ Bits:30005809 8" Wang WCS floppy, CR 0114A
    └─ ⟦this⟧ »1577A « 

WangText

…00……00……00……00……00…G…0a……00……00…G…0b…F…0c…F…06…E…00…D…0a…D…0f…D
D…07…4…0b…4…0c…4…00…4…07…3…0d…3…0e……18……0a……18……0e……18……02……18……06……17……0b……17……0f……17……02……17……05……17……06……16……0a……16……0b……16……01……16……06……15……0b……15……0f……15…
…14……09……14……0d……14…
…13……0c……13……00……13… …12……0a……12……0d……12…
…12……07……86…1                                             …02…           …02…   …02…        

…02…CPS/SDS/031

…02…FLS/840301…02……02… 
STATISTICS
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS








                    T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲



   1  GENERAL ...................................... 1-001

     1.1  PURPOSE AND SCOPE ........................ 1-001
     1.2  APPLICABLE DOCUMENTS AND PROJECT
          REFERENCES ............................... 1-001
       1.2.1  Applicable Documents ................. 1-001
       1.2.2  Project References ................... 1-002

     1.3  TERMS AND ABBREVIATIONS .................. 1-003
       1.3.1  Terms ................................ 1-003
       1.3.2  Abbreviations ........................ 1-003

   2  SUMMARY OF REQUIREMENTS ...................... 1-004

     2.1  PACKAGE DESCRIPTION ...................... 1-004
     2.2  PACKAGE FUNCTION ......................... 2-001
       2.2.1  Main Functions (Normal Operations) ... 2-001
         2.2.1.1  Statistics Collection ............ 2-001
         2.2.1.2  Statistics Dump .................. 2-002
         2.2.1.3  Statistics Generation ............ 2-003
         2.2.1.4  Statistics Request Response ...... 2-003

       2.2.2  Functional Responsibilities .......... 2-005
         2.2.2.1  Initialization, Close Down and
                  Restart .......................... 2-005
           2.2.2.1.1  Initialization ............... 2-005
           2.2.2.1.2  Close Down ................... 2-005
           2.2.2.1.3  Restart ...................... 2-005

         2.2.2.2  Check Pointing and Recovery ...... 2-006
         2.2.2.3  Error Detection and Error Handling 2-006
           2.2.2.3.1  Error Detection .............. 2-006
           2.2.2.3.2  Error Handling ............... 2-006

         2.2.2.4  Integrity of Operation ........... 2-006
         2.2.2.5  Data Collection .................. 2-006
         2.2.2.6  Security ......................... 2-006

   3  ENVIRONMENT .................................. 2-007

     3.1  EQUIPMENT ENVIRONMENT .................... 2-007
     3.2  SOFTWARE ENVIRONMENT ..................... 2-007
       3.2.1  System Software ...................... 2-007
       3.2.2  Development Software ................. 2-007



     3.3 INTERFACES ................................ 3-001
       3.3.1 External Interfaces ................... 3-001
       3.3.2 Package Interfaces .................... 3-001
         3.3.2.1 Collection Statistics Interface ... 3-001
           3.3.2.1.1 THP Contribution .............. 3-001
           3.3.2.1.2 CSF Contribution .............. 3-002
           3.3.2.1.3 MDP Contribution .............. 3-002
           3.3.2.1.4 TEP Contribution .............. 3-002
           3.3.2.1.5 SSC Contribution .............. 3-002
           3.3.2.1.6 MMS Contribution .............  3-002

         3.3.2.2 Dump Statistics Interface ......... 3-002
         3.3.2.3 Generating Statistics Interface ... 3-003
         3.3.2.4 Delivery Statistics Interface ..... 3-003
         3.3.2.5 Close Down Interface .............. 3-004

     3.4 FUNCTIONS MAINTAINED BY OTHER PACKAGES .... 3-004

   4 PACKAGE DESIGN ................................ 4-001

     4.1 PACKAGE OVERVIEW .......................... 4-001
       4.1.1 Functional Specification .............. 4-003
         4.1.1.1 Functional Break Down ............. 4-003

       4.1.2 Software Specification ................ 4-003
       4.1.3 Data Flow and Control Logic ........... 4-005
       4.1.4 Common Package Data ................... 4-006
         4.1.4.1 Shared Data Area .................. 4-006
         4.1.4.2 STP Data Area ..................... 4-010
         4.1.4.3 STP File Area ..................... 4-015
           4.1.4.3.1 STP File Information Area ..... 4-015
           4.1.4.3.2 Statistics Dump Area .......... 4-015
           4.1.4.3.3 Statistics Data Area .......... 4-016
           4.1.4.3.4 Definition Of Data Used In 
                     Statistics Dump/Data Area ..... 4-018

         4.1.4.4 Common Parameters ................. 4-021

       4.1.5 Common Package Procedures ............. 4-023
       4.1.6 Global Data ........................... 4-023
       4.1.7 Interfaces ............................ 4-023
         4.1.7.1 External Interface ................ 4-023
         4.1.7.2 Package Interface ................. 4-023
           4.1.7.2.1 Collection Interface .......... 4-023
           4.1.7.2.2 Dump/Generation/Delivery/
                     Interfaces .................... 4-026
           4.1.7.2.3 Storage Occupancy Interface ... 4-026


           4.1.7.2.4 Close Down Interface .......... 4-027
           4.1.7.2.5 Start Up Interface ............ 4-027
           4.1.7.2.6 Perform Message Flow Analysis
                     Interface ..................... 4-027

         4.1.7.3 Sub-Package Interface ............. 4-027

     4.2 SUBPACKAGES ............................... 4-029
       4.2.1 Monitor Subpackage .................... 4-029
         4.2.1.1 Functional Specification .......... 4-029
           4.2.1.1.1 Request Statistics Collection . 4-029
           4.2.1.1.2 Reserve Shared Data Area ...... 4-029
           4.2.1.1.3 Update Shared Data Area ....... 4-030
           4.2.1.1.4 Release Shared Data Area ...... 4-032
           4.2.1.1.5 Buffer Full ................... 4-032

         4.2.1.2 Software Structure ................ 4-032
         4.2.1.3 Data Flow And Control Logic ....... 4-032
         4.2.1.4 STP Monitor Module Specification .. 4-032
           4.2.1.4.1 STP Monitor Module ............ 4-032
             4.2.1.4.1.1 Functional Specification .. 4-032
             4.2.1.4.1.2 Module Interface .......... 4-032
             4.2.1.4.1.3 Module Components ......... 4-033
             4.2.1.4.1.4 Data Description .......... 4-034
             4.2.1.4.1.5 Module Design ............. 4-034

       4.2.2 Collect Subpackages ................... 4-036
         4.2.2.1 Functional Specification .......... 4-036
         4.2.2.2 Software Structure ................ 4-036
         4.2.2.3 Data Flow And Control Logic ....... 4-036
         4.2.2.4 Stp Collect Coroutine Module
                 Specification ..................... 4-036
           4.2.2.4.1 Stp Collect Coroutine Module .. 4-036
             4.2.2.4.1.1 Functional Specification .. 4-036
             4.2.2.4.1.2 Module Interface .......... 4-038
             4.2.2.4.1.3 Module Components ......... 4-038
             4.2.2.4.1.4 Data Description .......... 4-038
             4.2.2.4.1.5 Module Design ............. 4-039

       4.2.3 Statistics Main Program Sub-Package ... 4-042
         4.2.3.1 Functional Specifications ......... 4-042
           4.2.3.1.1 Initialize Start Up Condition . 4-044
           4.2.3.1.2 Receive Next Gel .............. 4-044
           4.2.3.1.3 Detect Type of Gel ............ 4-044
           4.2.3.1.4 Activation Of Different Modules 4-044

         4.2.3.2 Software Structure ................ 4-045
         4.2.3.3 Data Flow And Control Logic ....... 4-046
         4.2.3.4 User Main Module Specification .... 4-048


           4.2.3.4.1 User Main Module .............. 4-048
             4.2.3.4.1.1 Functional Specification .. 4-048
             4.2.3.4.1.2 Module Interface .......... 4-048
             4.2.3.4.1.3 Module Components ......... 4-048
             4.2.3.4.1.4 Data Description .......... 4-048
             4.2.3.4.1.5 Module Design ............. 4-049

         4.2.3.5 User Init Module Specification .... 4-051
           4.2.3.5.1 User Init Module .............. 4-051
             4.2.3.5.1.1 Functional Specification .. 4-051
             4.2.3.5.1.2 Module Interface .......... 4-051
             4.2.3.5.1.3 Module Components ......... 4-051
             4.2.3.5.1.4 Data Description .......... 4-052
             4.2.3.5.1.5 Module Design ............. 4-053

         4.2.3.6 User Common Module Specification .. 4-056
           4.2.3.6.1 User Common Module ............ 4-056
             4.2.3.6.1.1 Functional Specification .. 4-056
             4.2.3.6.1.2 Module Interface .......... 4-056
             4.2.3.6.1.3 Module Components ......... 4-056
             4.2.3.6.1.4 Data Description .......... 4-059
             4.2.3.6.1.5 Module Design ............. 4-059

         4.2.3.7 Perform Dump Module Specification . 4-062
           4.2.3.7.1 Perform Dump Module ........... 4-062
             4.2.3.7.1.1 Functional Specification .. 4-062
             4.2.3.7.1.2 Module Interface .......... 4-062
             4.2.3.7.1.3 Module Components ......... 4-062
             4.2.3.7.1.4 Data Description .......... 4-063
             4.2.3.7.1.5 Module Design ............. 4-063

         4.2.3.8 Perform Generation Module
                 Specification ..................... 4-065
           4.2.3.8.1 Perform Generation Module ..... 4-065
             4.2.3.8.1.2 Module Interface .......... 4-065
             4.2.3.8.1.3 Module Components ......... 4-065
             4.2.3.8.1.4 Data Description .......... 4-067
             4.2.3.8.1.5 Module Design ............. 4-068

         4.2.3.9 Perform Delivery Module
                 Specification ..................... 4-070
           4.2.3.9.1 Perform Delivery Module ....... 4-070
             4.2.3.9.1.1 Functional Specification .. 4-070
             4.2.3.9.1.2 Module Interface .......... 4-070
             4.2.3.9.1.3 Module Components ......... 4-070
             4.2.3.9.1.4 Data Description .......... 4-073
             4.2.3.9.1.5 Module Design ............. 4-073

         4.2.3.10  Common Sub package Data ......... 4-075
         4.2.3.11  Common Sub package Procedures ... 4-075


                        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 package specification for Statistics Package (STP)
         CPS/SDS/008 is written to fulfil the following objectives:

         1)  To provide detailed definition of the package function
             and software architecture.

         2)  To provide user operational and development personnel
             details of the ongoing analysis.

         3)  To define in detail the interface with other packages
             and to describe their facilities.

         The specification contains a description of the package
         to a level of a few software statements as lowest detail.

         Higher level design specification can be found in the
         next section, applicable documents.

         All interfaces and data are described in this specification
         and contained in Software Interface Control Document
         and Database Design Document respectively.



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̲

         The following documents represent a baseline for this
         statistical specification:

         (1.1)   CPS/210/SYS/0001
                 CAMPS System Requirements

         (1.2)   CPS/SDS/001
                 CAMPS System Design Specification



         (1.3)   CPS/SDS/024
                 CAMPS System Function

         (1.4)   CPS/SDS/025
                 Message Management

         (1.5)   CPS/SDS/029
                 System Status and Control

         (1.6)   CPS/SDS/032
                 Logging

         (1.7)   CPS/SDS/033
                 Traffic Handling

         (1.8)   CPS/SDS/034
                 Message Distribution Package

         (1.9)   CPS/SDS/036
                 Terminal Package

         (1.10)  CPS/SDS/035
                 TEP Supervisor VDU Package

         (1.11)  CPS/SDS/039
                 TEP VDU User Package

         (1.12)  CPS/SDS/030
                 Storage and Retrieval Package



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

         Reference documents are as follows:

         (2.1)   CPS/230/ICD/0001
                 User Procedures and Associated Formats

         (2.2)   CPS/230/ICD/002
                 Supervisor Commands and Procedures

         (2.3)   CPS/ICD/009
                 Software Interface Control Document

         (2.4)   CPS/DBD/001
                 Database Design Document




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̲



         Queue-id:   Queue identification

         Remainder:  The rest as a result of a division

         Statistics  Parameter String, containing information
         record:     for STP during statistics collection.



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

         STP:        Statistics Package
         SDA:        Shared Data Area
         HSG:        Hourly Statistics Generator
         DSG:        Daily Statistics Generator
         WSG:        Weekly Statistics Generator
         QEL:        Queue Element
         CSF:        CAMPS System Functions Package
         SFM:        Storage and File Management Package
         TEP:        Terminal Package
         DESCR:      Description
         INFO:       Information
         SP:         Sub-Package
         Addr:       Address
         Corr:       Corresponding
         CIf:        CAMPS Information File
         FMS:        File Management System
         MMS:        Message Management System



                2̲ ̲ ̲S̲U̲M̲M̲A̲R̲Y̲ ̲O̲F̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲



         This chapter and its sections specify the requirements
         pertinent to the package level.



2.1      P̲A̲C̲K̲A̲G̲E̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲

         The statistics package generates statistics based on
         information collected by the statistics package monitor
         procedure.

         It interfaces with the Terminal Package for retrieval
         of statistics.

         Fig. 2.1-1 gives an overview.

         The application requests STP monitor procedure to collect
         statistics (1).

         The statistics package dumps statistics onto disk (2).

         The statistics package generates statistics (3).

         The terminal package requests statistics (4).

         The letters a, b ... indicate the sequence in which
         the above mentioned functions are performed.






















































                 FIGURE 2.1-1…01…STATISTICS



2.2      P̲A̲C̲K̲A̲G̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲S̲

         The next two sub-sections 2.2.1 and 2.2.2 contain a
         functional description under normal operation and special
         circumstances respectively.



2.2.1    M̲a̲i̲n̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲(̲N̲o̲r̲m̲a̲l̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲)̲

         The Statistics Package supports the 4 functions outlined
         in the package description

         -   Statistics collection

         -   Statistics dump

         -   Statistics generation

         -   Statistics delivery



2.2.1.1  S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲

         The statistics collection is performed by STP monitor
         procedure into the shared data area. The collection
         procedures include:

         -   Count increment

         -   Add a number to a value

         -   Boundary (minimum + maximum)

         -   Cumulative time periods (i.e. how many percent
             on, of a switch)



         The request of a statistics is by supplying:

         -   Statistics group number
         -   Statistics sub-group number
         -   Statistics record number
         -   Statistics parameter

         The group and number are verified against the requestor.

         The events in the processing are (refer to fig. 2.1-1
         for event numbers).

         Application calls Statistics Package (STP) with a request
         to generate statistics (1a). The STP collector checks
         the request parameters by access to the Table in the
         shared data and updates the shared area at addresses
         specified in the Table (1b). During update and access
         of the shared data area exclusive accesses is granted
         by requesting CSF. The STP collector returns to the
         application (1c).



2.2.1.2  S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲D̲u̲m̲p̲

         The statistics package is activated every 6 minutes
         to perform dump of the collected data. The timing is
         controlled by a request to the CAMPS System Function
         timer. The dump processing is (Refer fig. 2.1-1)

         Invocation of the Statistics Package by CAMPS System
         Functions (2a). Request to CAMPS System Function for
         exclusive access to the shared data area (2b). Dump
         the data area (2e) and (2d). Give up the exclusive
         access (2f).

         If a system switch-over or restart has taken place
         the shared data area will be marked as invalid and
         the dump will generate a dummy dump.

         The dummy dump is a version of the shared data area
         which does not contribute any information during generation
         of the statistics.

         The dump area is shown in figure 2.2.1.2-1.


2.2.1.3  S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲

         The statistics package is once per hour generating
         statistics for the last hour. The processing is (refer
         to figure 2.1-1) 

         Invocation of generation part of statistics package
         (3a). Request storage occupancy from MMS (3b). Calculate
         from the dumped statistics, statistics for the last
         hour and output to statistics files (3c and 3f).

         Statistics are kept on an hourly basis for 24 hours,
         on a daily basis for 1 day, on a weekly basis for 4
         weeks and on a monthly basis.

         The statistics files are shown in figure 4.1.4.2-1-4.
         The size is in the order of 700 kbytes.



2.2.1.4  S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲R̲e̲s̲p̲o̲n̲s̲e̲

         Statistics print is output by the terminal package.
         STP delivers the statistics information to TEP. The
         processing is (for event numbers, refer to fig. 2.1-1).

         Invocation of delivering statistics (4a).

         Read the appropriate statistics information from the
         first time-interval and copy it into the CIF. Send
         the CIF to printer process. Copy the next time-interval
         into the second CIF and await reply from the first
         CIF. When the reply is received the second CIF is sent
         to printer process, the first CIF is filled up with
         the next time-interval and reply is awaited from the
         second CIF etc.


















































       FIGURE 2.2.1.3-1…01…STATISTICS  STASTICAL FILES


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̲

         Functions, for which the statistics package are responsible,
         are specified in the next paragraphs.



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̲

         Initialization of STP, i.e. preparation of main memory
         collection area and the disk resident collection area
         and the disk resident statistics file, is signalled
         by SSC. This causes STP to start an initialization
         program. 



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

         Close down of STP is initiated by SSC when a close
         down command is received. No more collection will be
         performed.


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

         Restart of STP is signalled by SSC. Restart is performed
         as initialization, refer 2.2.2.1.1, where the kind
         of restart depends on the start-up type which SSC specifies
         during restart.





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̲

         Checkpointing is not applicable to STP.



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̲



2.2.2.3.1    E̲r̲r̲o̲r̲ ̲D̲e̲t̲e̲c̲t̲i̲o̲n̲

         All errors detected by STP are reported to SSCs error
         reporting function. Detection of errors in input parameters
         in collection statistics are reported to requestor.

         Errors detected are errors in the register parameters
         during collection.



2.2.2.3.2    E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

         The action to be taken upon detection of an error is
         handled by SSC.



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

         To avoid STP monitor to access other areas than the
         shared data area (SDA) validation is performed on input
         data. Both the header information and the corresponding
         parameters in the delivered data record are checked.
         All parameters are checked for upper and lower boundaries.


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

         Not applicable to STP



2.2.2.6  S̲e̲c̲u̲r̲i̲t̲y̲

         Not performed by STP


                     3̲ ̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲S̲



3.1      E̲Q̲U̲I̲P̲M̲E̲N̲T̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲

         The STP software package is fully on-line resident
         in CAMPS processing units.

         Main memory program area size is 3k words. Main memory
         data area consists of a table and a data area. Table
         area size is 2k words. Data area size is 7.5k words.
         Disk area consists of one file containing information
         area and data area. Information area size is 400 words.
         Data area size is 300k words. The disk file is an on-line
         disk resident placed on the 2 mirrored disks.



3.2      S̲O̲F̲T̲W̲A̲R̲E̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲S̲



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

         STP's system software environments consist of the following
         components:

         -   DAMOS

         -   CSF

         -   MMS



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

         Development software is standard DAMOS and TOS (terminal
         operating system) resident in a single CR80D configuration.

         The SDA table and STP file information areas are generated
         at system generation time.





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̲

         Not applicable.



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

         Interfaces to other packages are identified below including
         a description of events. Paragraph 4 contains a detailed
         specification of all interfaces.



3.3.2.1  C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         Packages contributing with statistics information are:

         -   Traffic Handling, THP
         -   CAMPS System Function, CSF
         -   Message Distribution, MDP
         -   Terminal Package, TEP
         -   System Status and Control, SSC
         -   Message Management System, MMS

         Information delivered by the packages is listed below
         according to contributor.



3.3.2.1.1    T̲H̲P̲ ̲C̲o̲n̲t̲r̲i̲b̲u̲t̲i̲o̲n̲

         THP delivers a statistics record related to each of
         the following events:

         -   incoming messages per channel
         -   outgoing messages per channel
         -   channel availability and occupancy





3.3.2.1.2    C̲S̲F̲ ̲C̲o̲n̲t̲r̲i̲b̲u̲t̲i̲o̲n̲

         CSF delivers statistics records related to the following
         events:

         -   storage occupancy

         -   perform message flow analysis



3.3.2.1.3    M̲D̲P̲ ̲C̲o̲n̲t̲r̲i̲b̲u̲t̲i̲o̲n̲

         MDP delivers a statistics record related to each of
         the following events:

         -   incoming messages per distribution terminal
         -   outgoing messages per distribution terminal



3.3.2.1.4    T̲E̲P̲ ̲C̲o̲n̲t̲r̲i̲b̲u̲t̲i̲o̲n̲

         TEP delivers a statistics record related to each of
         the following events:

         -   use of message formats, type 1
         -   use of message formats, type 2



3.3.2.1.5    S̲S̲C̲ ̲C̲o̲n̲t̲r̲i̲b̲u̲t̲i̲o̲n̲

         SSC delivers a statistics record related to each of
         the following events:

         -   use of message formats, type 2 security interrogation
             I1 and security warning I2.


3.3.2.1.6    M̲M̲S̲ ̲C̲o̲n̲t̲r̲i̲b̲u̲t̲i̲o̲n̲

         MMS delivers a statistics record related to the following
         event.

         -   perform message flow analysis.


3.3.2.2  D̲u̲m̲p̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         STP receives a time-out dump queue element from CSF
         each time a dump process shall be incarnated.


3.3.2.3  G̲e̲n̲e̲r̲a̲t̲i̲n̲g̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         STP receives a time-out generating queue element from
         CSF each time an hourly statistics shall be generated.



3.3.2.4  D̲e̲l̲i̲v̲e̲r̲y̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         STP receives a delivery time-out queue element from
         CSF each time a delivery of statistics information
         procedures is initiated.

         The delivery procedure creates temporary CIFs for the
         statistics:

         D̲a̲y̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲C̲o̲n̲t̲e̲n̲t̲s̲

         Contents of day statistics

         -   24 one hour statistics

         -    1 day statistics

         -    1 previous day statistics

         W̲e̲e̲k̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲C̲o̲n̲t̲e̲n̲t̲s̲

         Plus the day statistics as listed above, the following
         information is included:

         -   7 one day statistics

         -   1 week statistics

         -   1 previous week statistics

         M̲o̲n̲t̲h̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲C̲o̲n̲t̲e̲n̲t̲s̲

         Plus the day and week statistics as listed above, the
         following information is included:

         -   4 one week statistics

         -   1 month statistics

         -   1 previous month statistics



         On completion of the CIF, a queue element is sent to
         the queue, to which statistics shall be sent. The QEL
         references the CIF by containing a view ref.



3.3.2.5  C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         SSC closes down STP by placing a close down command
         in STP system queue. STP thus performs the appropriate
         close down actions.



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̲

         Functions maintained by other packages are as follows:

         -   recovery functions

         -   error handling

         -   SDA synchronization





                    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̲

         Processing procedures are shown overleaf (Figure 4.1-1).

         Applications are packages such as TMP, MDP etc. which
         contribute with information for the production of statistics.

         Monitor collects the information into the shared data
         area.

         Collect calls the monitor when a specified buffer is
         full.

         User ̲main activates one or more of the shown modules
         depending on the QELs received from the applications.



















































                       FIGURE 4.1-1


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̲



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

         As shown in Figure 4.1-1 the STP functions are divided
         3 lower level functions

         -   Stp ̲monitor
         -   Stp ̲collect
         -   User ̲main



4.1.2    S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The software structure of STP consists of a CAMPS system
         function (Stp ̲monitor) and of one process which includes:

         -   a collect procedure performing the collection of
             statistics by call the Stp ̲monitor

         -   a user ̲main procedure performing the control of
             below mentioned activities

         -   a user ̲init procedure performing the initialization
             depending on the start ̲up ̲type

         -   a dump procedure performing the transfer of SDA
             to disk

         -   a generation procedure performing the generation
             of hourly, daily, weekly, and monthly statistics

         -   a delivery procedure performing the delivery of
             the above mentioned statistics.

         Refer Figure 4.1.2-1.



















































                      FIGURE 4.1.2-1
                       STP Process


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̲

         M̲o̲n̲i̲t̲o̲r̲ ̲C̲o̲n̲t̲r̲o̲l̲

         Applications call the monitor procedure and await answer
         when parameters have been collected. In between a CSF
         reserve variable call ensures that only collect access
         the shared data area.

         C̲o̲l̲l̲e̲c̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲

         When a STP ̲BUFFER ̲FULL is received from CSF, data are
         received (from monitor) and are updated.

         When a CLOSE ̲DOWN is received from SSC, received QELs
         is dismantled.

         I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲C̲o̲n̲t̲r̲o̲l̲

         The user ̲main program calls the initialize procedure
         when the system is started up. The initialization is
         depending on the start ̲up ̲type.

         D̲u̲m̲p̲ ̲C̲o̲n̲t̲r̲o̲l̲

         A CSF 6 minutes time out is received by the user ̲main
         program which then calls the dump procedure.

         G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲C̲o̲n̲t̲r̲o̲l̲

         The user ̲main program calls the generation procedure
         every full hour. Parameters in procedure call specify
         the kind of generation to be performed.

         D̲e̲l̲i̲v̲e̲r̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲

         The user ̲main program calls the delivery procedure
         at the end of a full day. Parameters in procedure call
         specify which statistics to be delivered.

         The specified statistics are converted to a predefined
         print format and are sent in a CIF to the printer process.

         When the printer process has completed the print, an
         acknowledge is sent to the STP propcess indicating
         that the next CIF shall be sent.



         S̲t̲o̲r̲a̲g̲e̲ ̲O̲c̲c̲u̲p̲a̲n̲c̲y̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲

         A Storage ̲occupancy ̲request is received by the user
         ̲main program which calculates the actual values and
         sends a QEL to the printer process.

         P̲e̲r̲f̲o̲r̲m̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲F̲l̲o̲w̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲

         A Perform ̲message ̲flow ̲analysis request is received
         by the user ̲main program. The user ̲main program calls
         the delivery procedure. In the delivery procedure two
         system calls are executed to get the actual statistics

         -   GET ̲MMS ̲statistics:     MMS ̲statistics record

         -   Read ̲CSF ̲statistics:    Resource ̲statistics ̲output
                                     Queue ̲statistics ̲output
                                     Process ̲statistics ̲output

         The statistics are converted to a predefined print
         format and are sent to the printer process.



4.1.4    C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

         Common data shared between subpackages are:

         -   Shared data area
         -   STP data area
         -   STP file area
         -   Common parameters



4.1.4.1  S̲h̲a̲r̲e̲d̲ ̲D̲a̲t̲a̲ ̲A̲r̲e̲a̲

         This area is only used by the statistics monitor procedure.



         D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ ̲o̲f̲ ̲S̲D̲A̲

         VAR
             STP ̲SHARED ̲VAR: STP ̲SHARED ̲DATA

         TYPE
             STP ̲SHARED ̲DATA=
                 RECORD
                     CURRENT:         INTEGER;(current ̲buffer)
                     BUFFERS:         SHARED ̲BUFS;
                     TEST:            TEST ̲BOOLEAN;
                     ORDERED ̲CHANGE:  ORDERED ̲BUF ̲CHANGE:
                     WORK:            STP ̲WORK ̲BUF;(stack area)
                 END;

         TYPE
             SHARED ̲BUFS =            ARRAY(BUF ̲1..BUF ̲2) OF
                 RECORD
                     COUNT:           INTEGER
                     ADDR:            POINTER
                     BUF:             ARRAY(1..MAX ̲STP ̲RECORDS)
                                      OF
                 END;                                   STP
                                      ̲RECORD

         TYPE
             STP ̲RECORD
                 RECORD
                     GROUP ̲NO,
                     SUBGROUP ̲NO,
                     RECORD ̲NO:       INTEGER
                     STP ̲INFO :       ARRAY(1..MAX ̲INFO ̲SIZE)
                                      OF
                 END;                                    INTEGER


         D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ ̲o̲f̲ ̲S̲D̲A̲

         a)  Stp ̲shared ̲data:
             - current:          Index of the STP shared buffer
                                 which is currently being filled
                                 One or two

             - test:             Indicates if signalling and
                                 reservation shall take place
                                 at buffer change

             - ordered change:   This boolean ensures that the
                                 statistics which have been
                                 collected in the last 6 min.period
                                 are dumped into the right time
                                 area on disk



             - work:             Working variables which may
                                 be used when stp variable has
                                 been reserved

         b)  Shared ̲bufs:
             - count:            Number of records currently
                                 in buffer
             - addr              Address of first free record


         D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ ̲o̲f̲ ̲S̲D̲A̲ ̲D̲a̲t̲a̲ ̲P̲a̲r̲t̲

         When the STP monitor is called, the following parameters
         are needed for updating:

         -   group ̲no
         -   subgroup ̲no
         -   record ̲no
         -   pointer to sta ̲params

         a)  G̲r̲o̲u̲p̲ ̲N̲o̲

             Group number identifies which group (refer section
             4.1.4.4) the parameters are related to.

         b)  S̲u̲b̲g̲r̲o̲u̲p̲ ̲N̲o̲

             Subgroup number identifies which of the formats
             (Refer section 4.1.4.4) from group 9 and 10 (use
             of formats) the parameters are related to.

         c)  R̲e̲c̲o̲r̲d̲ ̲N̲o̲

             Record number identifies which part of the equipment
             i.e. channel or terminal that the parameters are
             related to.



         d)  R̲e̲c̲o̲r̲d̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲

             The parameters delivered are as follows for each
             group:

             INC ̲MSG ̲PER ̲CHN: (delivered by THP)

                 MSG ̲LENGTH
                 PREC ̲LEV
                 CLASS ̲CAT
                 SPEC ̲HAND
                 REF ̲IND

             OUTG ̲MSG ̲PER ̲CHN: (delivered by THP)

                 MSG ̲LENGTH
                 PREC ̲LEV
                 CLASS ̲CAT
                 SPEC ̲HAND

             INC ̲CHN ̲AVAIL,
             OUTG ̲CHN ̲AVAIL: (delivered by THP)

                 OPEN ̲CLOSE ̲INDIC
                 OPEN ̲CLOSE ̲TIME
                 BAUDRATE

             INC ̲MSG ̲DIST ̲PER ̲TERM,
             INC ̲MSG ̲DIST ̲PER ̲DIST,
             OUTG ̲MSG ̲DIST ̲PER ̲TERM,
             OUTG ̲MSG ̲DIST ̲PER ̲DIST: (delivered by MDP)

                 MSG ̲LENGTH
                 INF ̲PREC ̲LEV
                 ACT ̲PREC ̲LEV
                 CLASS ̲CAT
                 SPEC ̲HAND
                 TERM ̲IN ̲DIST
                 ASS ̲REQ ̲INDIC

             USE ̲OF ̲FORMAT ̲1: (delivered by TEP)

                 DURATION ̲TIME
                 PREC ̲LEV
                 CLASS ̲CAT

             USE ̲OF ̲FORMAT ̲2: (delivered by TEP or SSC)

                 No parameters


4.1.4.2  S̲T̲P̲ ̲D̲a̲t̲a̲ ̲A̲r̲e̲a̲

         This area is shared between the statistics dump function,
         statistics generation function, and statistics delivery
         function.

         D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ ̲o̲f̲ ̲S̲T̲P̲ ̲D̲a̲t̲a̲ ̲A̲r̲e̲a̲

         VAR
           STP ̲WORK:
             RECORD
               STP ̲INF           : STP ̲DESCR;
               INC ̲CHAN ̲STATUS   : 
               OUTG ̲CHAN ̲STATUS  : CHN ̲STATUS;
               TIME ̲DELIVERY     : TIME ̲DEL ̲TYPE;
               COL ̲DATA          : DATA ̲AREA ̲TYPE
               WORK1             ,
               WORK2             : ARRAY(0..WORK ̲SIZE)OF INTEGER;

         TYPE
           STP ̲DESCR=
             RECORD
               PENDING ̲TIMEOUT   : INTEGER;
               STP ̲TIME          : TIME ̲TYPE;
               GEN ̲TABLE         : GEN ̲TAB ̲REC;
               DEL ̲TABLE         : DEL ̲TEB ̲REC;
               DATA ̲DESCR        : GROUP ̲DESCRIPTORS;
             END;

           GEN ̲TAB ̲REC=
             RECORD
               INTERVAL ̲COUNT    : INTEGER;
               INTERVAL ̲ADDR     : LONG;
               HOUR ̲COUNT        : INTEGER;
               ALT ̲HOUR ̲GEN      : BOOLEAN;
               HOUR ̲ADDR1        ,
               HOUR ̲ADDR2        : LONG;
               DAY ̲COUNT         : INTEGER;
               ALT ̲DAY ̲GEN       : BOOLEAN;
               DAY ̲ADDR1         ,
               DAY ̲ADDR2         : LONG;
               WEEK ̲COUNT        : INTEGER;
               ALT ̲WEEK ̲GEN      : BOOLEAN;
               WEEK ̲ADDR1        ,
               WEEK ̲ADDR2        : LONG;
               MONTH ̲COUNT       : INTEGER;
               ALT ̲MONTH ̲GEN     : BOOLEAN;
               MONTH ̲ADDR1       ,
               MONTH ̲ADDR2       : LONG;
             END;


         TYPE
           DEL ̲TAB ̲REC=
             RECORD
               HOUR ̲ADDR         : LONG;
               DAY ̲COUNT         : INTEGER;
               DAY ̲ADDR          : LONG;
               WEEK ̲COUNT        : INTEGER;
               WEEK ̲ADDR         : LONG;
               MONTH ̲COUNT       : INTEGER;
               MONTH ̲ADDR        : LONG;
             END;

           GROUP ̲DESCRIPTORS=    ARRAY(0..MAX(STA ̲GROUP ̲NO ̲TYPE)
                                 OF GROUP ̲DESCR;

           GROUP ̲DESCR=
             RECORD
               GROUP ̲BYTE ̲SIZE,
               NO ̲OF ̲SUBGROUPS,
               NO ̲OF ̲RECORDS,
               RECORD ̲SIZE       : INTEGER
             END;

           CHN ̲STATUS ̲TYPE=
             RECORD
               OPEN ̲CLOSE ̲INDIC  : BOOLEAN;
               BAUD ̲RATE         : INTEGER;
             END;

           TIME ̲DEL ̲TYPE = ARRAY (DAILY ̲DEL..MONTHLY ̲DEL) OF
                           TIME ̲DEL ̲REC;

           TIME ̲DEL ̲REC=
             RECORD
               DEL ̲CONDI         : BOOLEAN;
               TIME ̲COUNT        : INTEGER;
               TIME ̲ADDR         : LONG;
               PREV ̲CONDI        : BOOLEAN;
               PREV ̲ADDR         : LONG;
               CURR ̲CONDI        : BOOLEAN;
               CURR ̲ADDR         : LONG;
             END;


         D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ ̲o̲f̲ ̲S̲T̲P̲ ̲D̲a̲t̲a̲ ̲a̲r̲e̲a̲

         a)  Stp ̲descr:
             - pending ̲timeout     :  Indicates how many timeouts
                                      which have occurred while
                                      the system has been closed
                                      down
             - stp ̲time            :  Is updated every time
                                      a valid QEL is received

         b)  Gen ̲tab ̲rec:
             - interval ̲count      :  No of times dump has been
                                      performed (1..10)
             - hour ̲count          ,
               day ̲count           ,
               week ̲count          ,
               month ̲count         :  No of times generation
                                      has been performed for
                                      the actual time area
             - interval ̲addr       ,
               hour ̲addr 1/2       ,
               day ̲addr 1/2        ,
               week ̲addr 1/2       ,
               month ̲addr 1/2      :  Start address of the actual
                                      time areas in the STP
                                      file
             - alt ̲hour ̲gen        ,
               alt ̲day ̲gen         ,
               alt ̲week ̲gen        ,
               alt ̲month ̲gen       :  Indicates whether the
                                      generation is performed
                                      in area 1 or 2 for the
                                      actual time area

         c)  Del ̲tab ̲rec: (Is set up with data from gen ̲tab
             ̲rec)

             - hour ̲addr           ,
               day ̲addr            ,
               week ̲addr           ,
               month ̲addr          :  Start address of the actual
                                      time areas in the STP
                                      file
             - day ̲count           ,
               week ̲count          ,
               month ̲count         :  Indicates the last generated
                                      statistics in the actual
                                      time area

         d)  Group ̲descr:
             - group ̲byte ̲size     :  Size of total group record
                                      in bytes
             - record ̲size         :  Size of the record

         In figure 4.1.4.2-1 is the initialization shown for
         all groups.


         INIT

         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲ ̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲I̲N̲C̲ ̲M̲S̲G̲ ̲P̲E̲R̲ ̲C̲H̲N̲)̲
         GROUP ̲BYTE ̲SIZE    = MAX ̲EXCS*SIZE (INC ̲MSG ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = 0
         NO ̲OF ̲RECORDS      = MAX ̲EXCS
         RECORD ̲SIZE        = SIZE(INC ̲MSG ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲O̲U̲T̲G̲ ̲M̲S̲G̲ ̲P̲E̲R̲ ̲C̲H̲N̲)̲
         GROUP ̲BYTE ̲SIZE    = MAX ̲EXCS*SIZE(OUTG ̲MSG ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = 0
         NO ̲OF ̲RECORDS      = MAX ̲EXCS
         RECORD ̲SIZE        = SIZE(OUTG ̲MSG ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲I̲N̲C̲ ̲C̲H̲N̲ ̲A̲V̲A̲I̲L̲)̲   
         GROUP ̲BYTE ̲SIZE    = MAX ̲EXCS*SIZE(AVAIL ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = 0
         NO ̲OF ̲RECORDS      = MAX ̲EXCS
         RECORD ̲SIZE        = SIZE(AVAIL ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲O̲U̲T̲G̲ ̲C̲H̲N̲ ̲A̲V̲A̲I̲L̲)̲   
         GROUP ̲BYTE ̲SIZE    = MAX ̲EXCS*SIZE(AVAIL ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = 0
         NO ̲OF ̲RECORDS      = MAX ̲EXCS
         RECORD ̲SIZE        = SIZE(AVAIL ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲I̲N̲C̲ ̲M̲S̲G̲ ̲D̲I̲S̲T̲ ̲P̲E̲R̲ ̲T̲E̲R̲M̲
         
         GROUP ̲BYTE ̲SIZE    = MAX ̲VDUS*SIZE(MSG ̲DIST ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = 0
         NO ̲OF ̲RECORDS      = MAX ̲VDUS
         RECORD ̲SIZE        = SIZE(MSG ̲DIST ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲I̲N̲C̲ ̲M̲S̲G̲ ̲D̲I̲S̲T̲ ̲P̲E̲R̲ ̲D̲I̲S̲T̲)
         GROUP ̲BYTE ̲SIZE    = SIZE(MSG ̲DIST ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = 0
         NO ̲OF ̲RECORDS      = 0
         RECORD ̲SIZE        = SIZE(MSG ̲DIST ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲O̲U̲T̲G̲ ̲M̲S̲G̲ ̲D̲I̲S̲T̲ ̲P̲E̲R̲ ̲T̲E̲R̲M̲)̲
         GROUP ̲BYTE ̲SIZE    = MAX ̲VDUS*SIZE(MSG ̲DIST ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = 0
         NO ̲OF ̲RECORDS      = MAX ̲VDUS
         RECORD ̲SIZE        = SIZE(MSG ̲DIST ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲O̲U̲T̲G̲ ̲M̲S̲G̲ ̲D̲I̲S̲T̲ ̲P̲E̲R̲ ̲D̲I̲S̲T̲)̲
         GROUP ̲BYTE ̲SIZE    = SIZE(MSG ̲DIST ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = 0
         NO ̲OF ̲RECORDS      = 0
         RECORD ̲SIZE        = SIZE(MSG ̲DIST ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲U̲S̲E̲ ̲O̲F̲ ̲F̲O̲R̲M̲A̲T̲ ̲1̲)̲
         GROUP ̲BYTE ̲SIZE    = MAX ̲VDUS*SIZE(FORMAT ̲1 ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = MAX(STA ̲SUBGROUP ̲NO ̲1)
         NO ̲OF ̲RECORDS      = MAX ̲VDUS
         RECORD ̲SIZE        = SIZE(FORMAT ̲1 ̲GROUP)
         "̲S̲T̲P̲ ̲W̲O̲R̲K̲.̲S̲T̲P̲ ̲I̲N̲F̲.̲D̲A̲T̲A̲ ̲D̲E̲S̲C̲R̲(̲U̲S̲E̲ ̲O̲F̲ ̲F̲O̲R̲M̲A̲T̲ ̲2̲)̲
         GROUP ̲BYTE ̲SIZE    = MAX ̲VDUS*SIZE(FORMAT ̲2 ̲GROUP)*2
         NO ̲OF ̲SUBGROUPS    = MAX(STA ̲SUBGROUP ̲NO ̲2)
         NO ̲OF ̲RECORDS      = MAX ̲VDUS
         RECORD ̲SIZE        = SIZE(FORMAT ̲2 ̲GROUP)

                     FIGURE 4.1.4.2-1


         e)  Chn ̲status ̲type:
             - open ̲close ̲indic  :  Indicates whether the actual
                                    channel is opened or closed
                                 :

         f)  Time ̲del ̲rec        :  Is defined for the three
                                    delivery types (daily/weekly/monthly)
                                         Is loaded with data
                                    from del ̲tab ̲tec
             - del ̲condi         :  Indicates if the actual
                                    delivery is finished or
                                    not
             - time ̲count        :  No of statistics (hour/day/week)
                                    which are left to be delivered
             - time ̲addr         :  Start address in the STP
                                    file for the actual time
                                    area
             - prev ̲condi        ,
               curr ̲condi        :  Boolean which tells whether
                                    the previous/current day
                                    statistics (week/month)
                                    have been delivered or not
             - prev ̲addr         ,
               curr ̲addr         :  Address in the STP file
                                    for the previous/current
                                    day stat. (week/month)

         g)  Stp ̲work.work1/work2:  Two work areas which are
                                    used during generation/delivery
                                    of statistics.

         In 4.1.4.3 is the use of the STP file area described.


4.1.4.3  S̲T̲P̲ ̲F̲i̲l̲e̲ ̲A̲r̲e̲a̲

         As shown in figure 4.1.4.3-1, the STP file area consists
         of a contiguous file.

         The file consists of three parts:

         -   STP file information area
         -   Statistics dump area
         -   Statistics data area



4.1.4.3.1    S̲T̲P̲ ̲F̲i̲l̲e̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲ ̲A̲r̲e̲a̲

         This area is placed in the beginning of the file from
         byte address 0.

         The information consists of the following data described
         in 4.1.4.2:

         -   STP -WORK
                 -STP ̲INF
                 -INC ̲CHAN ̲STATUS
                 -OUTG ̲CHAN ̲STATUS
                 -TIME ̲DELIVERY

         When this information is placed in the file it is possible
         to recover the same data as when the system was closed
         down.



4.1.4.3.2    S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲D̲u̲m̲p̲ ̲A̲r̲e̲a̲

         This area consists of 10 interval areas, each containing
         statistics for a time interval of 6 minutes.

         Each interval is an exact copy of the data area in
         SDA.

         Each interval is of the type data ̲area ̲type (Refer
         4.1.4.3.4).





4.1.4.3.3    S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲D̲a̲t̲a̲ ̲A̲r̲e̲a̲

         This area consists of 8 major sections, 2 hourly, 2
         daily, 2 weekly, and 2 monthly sections.

         As shown in figure 4.1.4.3-1, the hour, day, week,
         and month intervals are duplicated. This is done for
         2 reasons:

         a)  Recovery Season
         b)  Delivery Season

         Ad.b):  When a time area is full (i.e hour section
                 1) the delivery procedure is called. The first
                 interval is converted to a predefined print
                 format and is copied into a CIF. The first
                 CIF is sent to the printer process and printed.
                 When the first print is finished the printer
                 process returns an acknowledge to the STP process.
                 The next CIF is created and sent etc.

                 While the printing takes place the statistics
                 for the next time period (i.e. 24 hours) are
                 stored in the other time area (hour section
                 2). If hour section 2 is full before hour section
                 1 is completely printed, the printing is stopped.

                 Print of hour section 2 is started and statistics
                 for the next time period is stored in hour
                 section 1.

                 This is done for all 4 time intervals.

         a)  H̲o̲u̲r̲l̲y̲ ̲S̲e̲c̲t̲i̲o̲n̲

             Consists of 24 hour intervals containing the accumulated
             hourly information.

         b)  D̲a̲i̲l̲y̲ ̲S̲e̲c̲t̲i̲o̲n̲

             Consists of 7 day intervals containing the accumulated
             daily information.

         c)  W̲e̲e̲k̲l̲y̲ ̲S̲e̲c̲t̲i̲o̲n̲

             Consists of 4 week intervals containing the accumulated
             weekly information.

         d)  M̲o̲n̲t̲h̲l̲y̲ ̲S̲e̲c̲t̲i̲o̲n̲

             Consists the accumulated monthly information.


                STP File information area


                   Statistics dump area
                   10 intervals of type
                      data ̲area ̲type



                       Hour section
                       24 intervals



                      Hour section 2
                       24 intervals


Statistics data
area (each interval         Day section 1
of type basic ̲data ̲          7 intervals
type)


                      Day section 2
                       7 intervals



                      Week section 1
                       4 intervals



                      Week section 2
                       4 intervals



                     Month section 1
                        1 interval



                     Month section 2
                        1 interval



                      STP file area

                     FIGURE 4.1.4.3-1


4.1.4.3.4    D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ ̲O̲f̲ ̲D̲a̲t̲a̲ ̲U̲s̲e̲d̲ ̲I̲n̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲D̲u̲m̲p̲/̲D̲a̲t̲a̲
             ̲A̲r̲e̲a̲

         TYPE
           DATA ̲AREA ̲TYPE=
             RECORD
               INC ̲MSG            :  ARRAY(1..MAX ̲EXCS)OF INC
                                     ̲
                                     MSG ̲GROUP;
               OUTG ̲MSG           :  ARRAY(1..MAX ̲EXCS) OF 
                                         OUT ̲MSG ̲GROUP;
               INC ̲AVAIL          ;
               OUTG ̲AVAIL         :  ARRAY(1..MAX ̲EXCS) OF 
                                          COL ̲AVAIL ̲GROUP;
               INC ̲DIST ̲TERM      :  ARRAY(1..MAX ̲VDUS) OF 
                                        MSG ̲DIST ̲GROUP;
               INC ̲DIST ̲DIST      :  MSG ̲DIST ̲GROUP;
               OUTG ̲DIST ̲TERM     :  ARRAY(1..MAX ̲VDUS) OF 
                                        MSG ̲DIST ̲GROUP;
               OUTG ̲DIST ̲DIST     :  MSG ̲DIST ̲GROUP;
               FORMAT ̲1           :  ARRAY(1..MAX.VDUS) OF 
                                          FORMAT ̲1 ̲GROUP;
               FORMAT ̲2           :  ARRAY(1..MAX ̲VDUS) OF 
                                         FORMAT ̲2 ̲GROUP
             END;

           BASIC ̲DATA ̲TYPE=
             RECORD
               INC ̲MSG            :  ARRAY(1..MAX ̲EXCS) OF 
                                         INC ̲MSG ̲GROUP;
               OUTG ̲MSG           :  ARRAY(!..MAX.EXCS) OF 
                                        OUTG ̲MSG ̲GROUP;
               INC ̲AVAIL          ,
               OUTG ̲AVAIL         :  ARRAY(1..MAX ̲EXCS) OF 
                                        AVAIL ̲GROUP;
               INC ̲DIST ̲TERM      :  ARRAY(1..MAX ̲VDUS) OF 
                                        MSG ̲DIST ̲GROUP;
               INC ̲DIST ̲DIST      :  MSG ̲DIST ̲GROUP;
               OUTG ̲DIST ̲TERM     :  ARRAY(1..MAX ̲VDUS) OF 
                                       MSG ̲DIST ̲GROUP;
               OUTG ̲DIST ̲DIST     :  MSG ̲DIST ̲GROUP;
               FORMAT ̲1           :  ARRAY(1..MAX ̲VDUS) OF 
                                        FORMAT ̲1 ̲GROUP;
               FORMAT ̲1 ̲TOT       :  FORMAT ̲1 ̲GROUP;
               FORMAT ̲2           :  ARRAY(1..MAX ̲VDUS) OF 
                                        FORMAT ̲2 ̲GROUP;
               FORMAT ̲2 ̲TOT       :  FORMAT ̲2 ̲GROUP
               STORAGE ̲OCCU       :  STOR ̲OCCU ̲TYPE;
             END;


         TYPE
           INC ̲MSG ̲GROUP=
             RECORD
               INC ̲OUTG ̲GROUP     :  INC ̲OUTG ̲GR;
               MSG ̲REJECTED       :  INTEGER;
             END;

           OUTG ̲MSG ̲GROUP         =  INC ̲OUTG ̲GR;

           INC ̲PUTG ̲GR=
             RECORD
               MSG ̲COUNT          ,
               AVER ̲MSG ̲LENGTH    :  INTEGER;
               MSG ̲PER ̲PRECED     :  ARRAY(1..MAX ̲PREC)OF INTEGER;
               MSG ̲PER ̲CLASSIC    :  ARRAY(1..MAX ̲CLAS)OF INTEGER;
               MSG ̲PER ̲SPEC ̲HAND  :  ARRAY(1..MAX ̲SPEC)OF INTEGER;
             END;

           COL ̲AVAIL ̲GROUP=
             RECORD
               AVAILABILITY       :  LONG;
             END;

           AVAIL ̲GROUP=
             RECORD
               AVAILABILITY
               OCCUPANCY          :  INTEGER
             END;

           MSG ̲DIST ̲GROUP=
             RECORD
               MSG ̲DELIVERED      ,
               MAX ̲MSG ̲LENGTH     ,
               AVER ̲MSG ̲LENGTH    :  INTEGER;
               MSG ̲PER ̲PRECED     :  ARRAY(1..MAX ̲PREC)OF INTEGER;
               MSG ̲PER ̲CLASSIFIC  :  ARRAY(1..MAX ̲CLAS)OF INTEGER;
               MSG ̲PER ̲SPEC ̲HAND  :  ARRAY(1..MAX ̲SPEC)OF INTEGER;
               AVER ̲TERM ̲IN ̲DIST  ,
               MAX ̲TERM ̲IN ̲DIST   ,
               MSG ̲REQ ̲ASS        :  INTEGER;
             END;



           FORMAT ̲1 ̲GROUP = ARRAY (1..MAX(STA ̲SUBGROUP ̲NO ̲1)
           OF
             RECORD
               FORMAT ̲IN ̲USE      ,
               AVER ̲DUR ̲TIME      ,
               MAX ̲DUR ̲TIME       :  INTEGER;
               TRANS ̲PER ̲PRECED   :  ARRAY(1..MAX ̲PREC)OF INTEGER;
               TRANS ̲PER ̲CLASSIFIC:  ARRAY(1..MAX ̲CLAS)OF INTEGER;
             END;

           FORMAT ̲2 ̲GROUP =       ARRAY(1..MAX(STA ̲SUBGROUP
                                  ̲NO ̲2) OF INTEGER;
           STOR ̲OCCU ̲TYPE=
             RECORD
               PER ̲STS            ,
               PER ̲ITS            :  INTEGER;
             END;


4.1.4.4  C̲o̲m̲m̲o̲n̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲

         CONST
           MAX ̲PREC            =  MAX(PREDEDENCE ̲TYPE);
           MAX ̲CLAS            =  MAX(CLASSIFICATION);
           MAX ̲SPEC            =  MAX ̲SPEC ̲HAND;

           MAX ̲STP ̲RECORDS     =  21;

           MAX ̲INFO ̲SIZE       =  MAX(SIZE(INC ̲MSG ̲PER ̲CHN ̲TYPE),
                                      SIZE(OUTG ̲MSG ̲PER ̲CHN
                                      ̲TYPE),
                                      SIZE(CHN ̲AVAIL ̲TYPE),
                                      SIZE(MSG ̲DIST ̲TYPE));

           WORK ̲SIZE =     MAX (SIZE(INC ̲MSG ̲GROUP)*MAX ̲EXCS,
                                SIZE(OUTG ̲MSG ̲GROUP)*MAX ̲EXCS,
                                SIZE(AVAIL ̲GROUP)*MAX ̲EXCS,
                                SIZE(MSG ̲DIST ̲GROUP)*MAX ̲VDUS
                                SIZE(FORMAT ̲1 ̲GROUP)*MAX ̲VDUS,
                                SIZE(FORMAT ̲2 ̲GROUP)*MAX ̲VDUS);

         TYPE
           GENERATION ̲TYPE (MSG,DSG,WSG,MSG);
           DELIVERY ̲TYPE=  (CSF ̲PROC ̲STA ̲DEL,
                            CSF ̲QUEUE ̲STA ̲DEL,
                            CSF ̲RESOURCE ̲STA ̲DEL,
                            MMS ̲STA ̲DEL,
                            DAILY ̲DEL,
                            WEEKLY ̲DEL,
                            MONTHLY ̲DEL);

           CURRENT ̲DEL ̲TYPE=   (HOUR,
                                PREVIOUS ̲DAY,
                                CURRENT ̲DAY,
                                DAY,
                                PREVIOUS ̲WEEK,
                                CURRENT ̲WEEK,
                                WEEK,
                                PREVIOUS ̲MONTH,
                                CURRENT ̲MONTH);

         STA ̲GROUP ̲NO ̲TYPE=

           (INC ̲MSG ̲PER ̲CHN,
            OUTG ̲MSG ̲PER ̲CHN,
            INC ̲CHN ̲AVAIL,
            OUTG ̲CHN ̲AVAIL,
            INC ̲MSG ̲DIST ̲PER ̲TERM,
            INC ̲MSG ̲DIST ̲PER ̲DIST,
            OUTG ̲MSG ̲DIST ̲PER ̲TERM,
            OUTG ̲MSG ̲DIST ̲PER ̲DIST,
            USE ̲OF ̲FORMAT ̲1,
            USE ̲OF ̲FORMAT ̲2);


         TYPE

         STA ̲SUBGROUP ̲NO ̲1 =

             (STA ̲1 ̲DUMMY,
              FORMAT ̲A,
              FORMAT ̲C1,
              FORMAT ̲G1,
              FORMAT ̲M,
              FORMAT ̲O,
              FORMAT ̲VDUP,
              FORMAT ̲SCG1),

         STA ̲SUBGROUP ̲NO ̲2 =

             (STA ̲2 ̲DUMMY,
              FORMAT ̲B,
              FORMAT ̲D,
              FORMAT ̲F,
              FORMAT ̲G2,
              FORMAT ̲H,
              FORMAT ̲I1,
              FORMAT ̲I2,
              FORMAT ̲N,
              FORMAT ̲P1,
              FORMAT ̲P2,
              FORMAT ̲Q,
              FORMAT ̲R,
              FORMAT ̲RVDU);


4.1.5    C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         None



4.1.6    G̲l̲o̲b̲a̲l̲ ̲D̲a̲t̲a̲

         The statistics package has no data shared with other
         packages.



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



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

         None.



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

         STP package interfaces are as follows:

         -   Interface during collection
         -   Interface during dump/gerneration/delivery
         -   Interface during storage-occupancy-request
         -   Interface during perform-message-flow-analysis
             request
         -   Interface during close-down
         -   Interface during start-up.



4.1.7.2.1    C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         Applications calling the monitor procedure with the
         following input parameters:

         -   Group number
         -   Subgroup number
         -   Record number
         -   Statistics parameters

         Refer figure 4.1.7.2.1-1.



         a)  Group number:    :  Indicates which of the groups
                                 in the data area to be updated.

         b)  Subgroup number  :  Indicates which subgroup to
                                 be updated. Is only actual
                                 for statistics concerning formats.

         c)  Record number    :  Indicates the involved device.
                                 Devices in question are channels
                                 and terminals.

         d)  Statistics       :  Parameters used for actual
                                 cal-
             parameters          culation and accumulation of
                                 the statistics information
                                 in the shared data area.



















































                     FIGURE 4.1.7.2-1
        Package Interface, Collecting Statistics.


4.1.7.2.2    D̲u̲m̲p̲/̲G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲/̲D̲e̲l̲i̲v̲e̲r̲y̲/̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         Initiation of dump/generation/delivery function is
         performed by CSF timer monitor or TEP.

         The main program module receives QELS in STP RQ, detects
         type of QEL, timeout or statistics delivery.

         When a timeout is received one or more of the functions
         are performed depending on the time.

         - Dump      :  Dumps the data in the shared data area
                        into a specified 6 minutes interval
                        in the STP file.

         - Generation:  Depending on the time one or more of
                        the following statistics will be generated

                     -  hourly statistics
                     -  daily statistics
                     -  weekly statistics
                     -  monthly statistics

         - Delivery  :  Depending on the time one of the following
                        functions will be performed:

                     -  delivery of a full day statistics
                     -  delivery of a full week statistics
                     -  delivery of a full month statistics

                     When a delivery is needed a CIF is created
                     and filled with the first statistics from
                     the full statistics. This CIF is sent to
                     TEPs printer process.

                     When a statistics ̲delivery (ACK) is received
                     from TEP the CIF is filled with the next
                     statistics etc.



4.1.7.2.3    S̲t̲o̲r̲a̲g̲e̲ ̲O̲c̲c̲u̲p̲a̲n̲c̲y̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         When storage occupancy request is received from TEP,
         STP requests storage occupancy from CSF which is returned
         to TEP.





4.1.7.2.4    C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The close ̲down command is received from SSC. SSC is
         informed via a QEL sent from STP to SSCs PRC ̲RQ, when
         STP has received the close down command.



4.1.7.2.5    S̲t̲a̲r̲t̲ ̲U̲p̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         Start up of STP is performed by SSC. Depending on the
         start up type, different start up procedures are performed.
         The main procedure calls a initialization program which
         performs the start up.



4.1.7.2.6    P̲e̲r̲f̲o̲r̲m̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲F̲l̲o̲w̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         When perform message flow analysis request is received
         from TEP, STP requests CSF and MMS for statistics material.
         The statistics is converted to a predefined print format
         and is copied into a CIF. This CIF is sent to the printer
         process.



4.1.7.3  S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         Statistics collection sub-package interfaces to statistics
         dump sub-package. Interface active upon transferring
         information from shared data area to statistics dump
         area as shown on figure 4.1.6.3-1.

         Statistics dump sub-package interfaces to statistics
         generation sub-package. Active once per hour when hourly
         statistics is generated based on the information contained
         in the statistics dump area. Figure 4.1.6.3-2 describes
         this action.

         Statistics delivery sub-package interfaces to statistics
         request sub-package. Connection is via the generated
         hourly, daily, and weekly statistics elements which
         are fetched by subpackage 4 and handed to TEP. Refer
         figure 4.1.6.3-3.

         Statistics main program sub-package interfaces to the
         dump, generation, and delivery sub-packages. Interface
         is active when main program has received a time-out
         or request QEL and the corresponding action shall be
         initiated. The actions are then performed by each of
         the above mentioned sub-packages. Refer figure 4.1.6.3-4.






 STATISTIC                                           STATISTIC
 COLLECTION                                          DUMP
 SUB-PACKAGE     TRANSFER OF STATISTIC INFOR-        SUB-PACKAGE
                 MATION FROM SHARED DATA AREA
                 TO STATISTIC DUMP AREA



 Fig.4.1.6.3.1   COLLECTION SUB-PACKAGE INTERFACE
                 TO DUMP SUB-PACKAGE







 STATISTIC                                           STATISTIC
 DUMP                                                GENERATION
 SUB-PACKAGE     GENERATING HOURLY STATISTICS        SUB-PACKAGE
                 ON BASIS OF STATISTICS DUMP
                 AREA INFORMATION



 Fig.4.1.6.3.2   DUMP SUB-PACKAGE INTERFACE
                 TO GENERATION SUB-PACKAGE







 STATISTIC                                           STATISTIC
 GENERATION                                          DELIVERY
 SUB-PACKAGE     TRANSFER GENERATED STATISTIC        SUB-PACKAGE
                 INFORMATION TO TEP



 Fig.4.1.7.3-3   GENERATION SUB-PACKAGE INTERFACE
                 TO DELIVERY SUB-PACKAGE



4.2      S̲U̲B̲P̲A̲C̲K̲A̲G̲E̲S̲

         The sub-packages 4.2.1, 4.2.2, and 4.2.3 are described
         in the following subsections.



4.2.1    M̲o̲n̲i̲t̲o̲r̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The monitor subpackage performs the collection of statistical
         information into the shared data area when requested
         by different applications.



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̲

         The subpackage functions consist of the following actions:

         -   Request statistics collection
         -   Reserve shared data area
         -   update shared data area
         -   release shared data area
         -   buffer is full

         Refer figure 4.2.1.1-1



4.2.1.1.1    R̲e̲q̲u̲e̲s̲t̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲

         Completion of a number of events causes the involved
         application to request statistics generation. This
         is achieved by issuing a monitor function call which
         carries out the 4 later actions listed in section 4.2.1.1.

         During receive collect of statistics, input parameters
         are validated. These are checked for minimum and maximum
         bounderies and format types.



4.2.1.1.2    R̲e̲s̲e̲r̲v̲e̲ ̲S̲h̲a̲r̲e̲d̲ ̲D̲a̲t̲a̲ ̲A̲r̲e̲a̲

         During update of SDA it is reserved by the monitor
         subpackage. A CSF reserve variable function call is
         performed which give the STP monitor exclusive rights
         to the SDA.





4.2.1.1.3    U̲p̲d̲a̲t̲e̲ ̲S̲h̲a̲r̲e̲d̲ ̲D̲a̲t̲a̲ ̲A̲r̲e̲a̲

         The SDA is updated for the specified record (input
         parameters) in the next free record.







                         MONITOR





REQUEST        RESERVE        RELEASE         DUMP
STATISTICS     SDA            SDA             BUFFER





                             UPDATE
                              SDA









                           4.2.1.1-1



4.2.1.1.4    R̲e̲l̲e̲a̲s̲e̲ ̲S̲h̲a̲r̲e̲d̲ ̲D̲a̲t̲a̲ ̲A̲r̲e̲a̲

         The SDA is released, by the CSF release variable function
         call, when the updating is performed.



4.2.1.1.5    B̲u̲f̲f̲e̲r̲ ̲F̲u̲l̲l̲

         When the used buffer is full a CSF qmon-signal statistics
         call is performed which sends a buffer full signal
         to the STP process.



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

         The monitor subpackage consists of one module.



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

         Control of this subpackage is achieved by the different
         applications.



4.2.1.4  S̲T̲P̲ ̲M̲o̲n̲i̲t̲o̲r̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The STP Monitor module is pertinent for the monitor
         subpackage.



4.2.1.4.1    S̲T̲P̲ ̲M̲o̲n̲i̲t̲o̲r̲ ̲M̲o̲d̲u̲l̲e̲



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

         Refer section 4.2.1.1.



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

         -


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

         The following module components have been identified
         for this module:

         -   STP ̲error
         -   Change ̲buffer
         -   Get ̲buffer
         -   Dump ̲buffer
         -   Check ̲input ̲params
         -   Perform ̲collect

         a)  S̲t̲p̲ ̲e̲r̲r̲o̲r̲

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

             Calls the monitor function retire and the calling
             process is retired.

         b)  C̲h̲a̲n̲g̲e̲ ̲b̲u̲f̲f̲e̲r̲

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

             The STAT ̲BUF ̲VAR is reserved and a buffer ̲full
             signal is sent to the STP process.
             Finally is the current buffer changed to the other
             STP buffer.
             If the TEST boolean is equal to true no reserve
             and signal is done.

         c)  G̲e̲t̲ ̲b̲u̲f̲f̲e̲r̲

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

             Calculates the pointer to current STP buffer.

         d)  D̲u̲m̲p̲ ̲b̲u̲f̲f̲e̲r̲

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

             Moves the contents of specified STP buffer to specified
             data area and delivers the record count.

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

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

             Compares the group ̲no, subgroup ̲no, record ̲no,
             and parameter pointer against contents of the SDA
             table.



         f)  P̲e̲r̲f̲o̲r̲m̲ ̲c̲o̲l̲l̲e̲c̲t̲

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

             Calls the Check ̲input ̲params procedure. If current
             buffer is full, Change ̲buffer is called.
             Delivered parameters are moved to current STP buffer
             and count and addr are updated.



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

         C̲P̲S̲ ̲P̲R̲E̲F̲I̲X̲

         GENERAL
         DAMOS ̲GENERAL
         CPS ̲CONF
         CPS ̲GENERAL
         CSF ̲GENERAL
         CSF ̲STP ̲IF
         UTILITY ̲FUNC
         QUEUE ̲MON
         CPS ̲APP ̲GENERAL
         CPS ̲STA ̲PREF

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

         Refer section 4.1.4



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

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

         Depending on the parameters received from the different
         application, different functions are executed:

         -   perform collect
         -   dump buffer

         Ref.figure 4.2.1.4.1.5-1


         MON(STP, FUNC, PARAM)

         STATISTICS  (FUNC: STP ̲MON ̲FUNC ̲TYPE,

                     PARAM: START ̲UP ̲TYPE)

                     ((CC: COMPLETION ̲CODE)

         CASE FUNC OF

                 COLLECT: - PERFORM ̲COLLECT  (GROUP ̲NO, SUBGROUP
                                             ̲NO, RECORD ̲NO,
                                             STA ̲PARAMS)  (CC)

                 DUMP:   -   DUMP ̲BUFFER(  ) (RECORD ̲NO,CC)

                 INITIALIZE:- CC=OK

                 BUF ̲CHANGE:  CHANGE ̲BUFFER(TRUE)(POINTER)

         END CASE

         MON ̲RETURN (CC)























                   FIGURE 4.2.1.4.1.5-1


4.2.2    C̲o̲l̲l̲e̲c̲t̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲s̲

         The collect subpackages calls the monitor subpackage
         when it has received a STP ̲BUFFER ̲FULL.



4.2.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 functions performed are shown in fig. 4.2.2.1-1
         and are as follows:

         -   receives next QEL in the STP queue
         -   detect the type of QEL:
             -   STP ̲BUFFER ̲FULL:
                     Call the monitor in order to read the contents
                     of a specified buffer
             -   CLOSE ̲DOWN:
                     Initiates close ̲down actions in the STP
                     package



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

         The collect subpackage consists of one module.



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

         Control of this subpackage is achieved by the QEL's
         arriving in the STP queue.



4.2.2.4  S̲t̲p̲ ̲C̲o̲l̲l̲e̲c̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The Stp collect coroutine module is pertinent for the
         collect subpackage.



4.2.2.4.1    S̲t̲p̲ ̲C̲o̲l̲l̲e̲c̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲M̲o̲d̲u̲l̲e̲

         -



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

         Refer section 4.2.2.1.





                        COLLECT


         RECEIVE                        DETECT TYPE
         next QEL                       of QEL



                                                 STP ̲BUFFER
                                                 ̲
                                                 FULL



                                                 CLOSE ̲DOWN



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

         This module is activated by either the STP monitor
         or by a SSC close down command



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

         The following module components have been identified
         for this module

         -   update ̲spec ̲hand
         -   perform ̲update
         -   collect ̲stp ̲params

         a)  U̲p̲d̲a̲t̲e̲ ̲s̲p̲e̲c̲ ̲h̲a̲n̲d̲

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

             Updates the special handling counters in accordance
             with the delivered counters.

         b)  P̲e̲r̲f̲o̲r̲m̲ ̲u̲p̲d̲a̲t̲e̲

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

             Updates statistics counters in accordance with
             the delivered STP ̲params preceded by Group-no,
             Subgroup ̲no, and Record ̲no.

         c)  C̲o̲l̲l̲e̲c̲t̲ ̲s̲t̲p̲ ̲p̲a̲r̲a̲m̲s̲

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

             Calculates the pointers to the delivered data record
             and the collect data record which are going to
             be updates.
             Perform ̲update is called.



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

         C̲P̲S̲ ̲P̲R̲E̲F̲I̲X̲

         GENERAL
         DAMOS ̲GENERAL
         CPS ̲CONF
         CPS ̲GENERAL
         CSF ̲GENERAL
         UTILITY ̲FUNC


         QUEUE ̲MON
         MESSAGE ̲MON
         COROUTINE ̲MON
         CPS ̲ERROR ̲HAND
         FMS ̲GENERAL
         IOS ̲PARAMS
         SSC ̲GENERAL
         SSC ̲SYS ̲CONF
         SSC ̲IF
         QEL ̲MAINTYPE
         SSC ̲SUBTYPE
         ACK ̲SUBTYPE
         CPS ̲APP ̲GENERAL
         CPS ̲STA ̲PREF
         CPS ̲DAMOS ̲CONF


         L̲O̲C̲A̲L̲ ̲D̲A̲T̲A̲

         Refer section 4.1.4



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

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

         QELS is received in the STP queue. Depending on the
         type of QEL different functions are executed,

         -   Buffer ̲full:

             Will cause a call of the STP monitor procedure
             in order to read the contents of specified buffer,
             and update is performed.

         -   Close ̲down:

             STP ̲close ̲down boolean is set twice and reply is
             sent to SSC.


 S̲T̲P̲ ̲C̲O̲L̲L̲E̲C̲T̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲

 STP ̲COLLECT ̲LOOP

 STP ̲COLLECT ̲CC = OK

 CASE RECEIVE ̲FIRST  (TRUE,
                     STP ̲SSC ̲Q ̲ATTR,
                     STP ̲SSC ̲QREF)
                     (STP ̲SSC ̲QEL,CC)ERROR ̲OK

     ERROR ?   ANALYZE ̲ERROR(CC,C)

 END CASE

 STP ̲CLOSE ̲DOWN EQ TRUE ?

 CASE  STP ̲SSC ̲Q ̲ATTR.HEADER.MAINTYPE OF

     STP ̲BUFFER ̲FULL ? - OBJECT EQ O ̲SINGLE AND STP
                         ̲SSC ̲QREF EQ
                         SSC ̲SUBQUEUE AND (INFORMATION(1)
                         EQ BUF ̲1 OR
                                                BUF
                                           ̲2) ?

                                           MON(STA ̲COLL,
                                             INFORMATION(1)
                         STP ̲COLLECT ̲CC=     STP ̲COL
                                             ̲BUFFER,
                         INVALID ̲QEL         STP ̲DUMP)

                                           COLLECT ̲STP
                                           ̲PARAMS

     SSC ̲COMMAND ?       SUBTYPE EQ CLOSE ̲DOWN  AND
                         OBJECT EQ O ̲SINGLE     AND
                         STP ̲SSC ̲QREF EQ SSC ̲SUBQUEUE
                         ?

                                           CASE SEND
                                           ̲REPLY
                                             (STP ̲SEND
                                             ̲PARAMS
                         STP ̲COLLECT ̲CC=     NIL
                             INVALID ̲QEL     STP ̲SSC
                                             ̲QEL)
                                             (CC) ERROR
                                             ̲OK
                                             ERROR   ANALYZE
                                                     ̲ERROR
                                                     (CC,C)
                                           END CASE
                                               STP ̲CLOSE
                                               ̲DOWN=TRUE

 END CASE


 Continued....


 Continued.....

 STP ̲COLLECT ̲CC EQ OK ?

 CASE SEND ̲GARBLE  (ERROR ̲INFO, STP ̲SSC ̲QEL)
                   (CC) ERROR ̲OK

     ERROR ?   ANALYZE ̲ERROR(CC,O)

 END CASE

                                 CASE DISMANTLE(STP
                                 ̲SSC ̲QEL) (CC)
                                                       ERROR
                                                       ̲OK

                                   ERROR ? ANALYZE ̲ERROR(CC,O)

                                 END CASE

 END  STP ̲COLLECT ̲LOOP

 END PROCEDURE


4.2.3    S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲M̲a̲i̲n̲ ̲P̲r̲o̲g̲r̲a̲m̲ ̲S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲

         This subpackage handles the main activities related
         to the statistics i.e. initialization dump of SDA,
         generation and delivery of statistics.



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

         The functions performed are shown in figure 4.2.3.1-1
         and are as follows:

         -   initialize start up condition
         -   receive next gel from STP time ̲out and request
             queue
         -   detect type of gel
         -   activation of different module
             -   perform ̲dump
             -   perform ̲generation
             -   perform ̲delivery
















                           MAIN
                         PROGRAM




Initialize   Receive            Detect            Activation
start ̲up     next gel           type of gel       of different
condition                                         module

























                       FIGURE 4.2.3.1-1


4.2.3.1.1    I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲S̲t̲a̲r̲t̲ ̲U̲p̲ ̲C̲o̲n̲d̲i̲t̲i̲o̲n̲

         Depending on the start ̲up ̲type different initialization
         functions are performed.



4.2.3.1.2    R̲e̲c̲e̲i̲v̲e̲ ̲N̲e̲x̲t̲ ̲G̲e̲l̲

         Main control QEL's are sent to the STP time ̲out and
         request queue.



4.2.3.1.3    D̲e̲t̲e̲c̲t̲ ̲T̲y̲p̲e̲ ̲o̲f̲ ̲G̲e̲l̲

         QEL's received are checked for type of gel. The following
         types will be recognized.
         -   Time ̲out from CSF (6 min.interval)
         -   Storage ̲occupancy ̲request from TEP
         -   Delivery acknowledge
         -   Perform ̲message ̲flow ̲analysis request from TEP



4.2.3.1.4    A̲c̲t̲i̲v̲a̲t̲i̲o̲n̲ ̲O̲f̲ ̲D̲i̲f̲f̲e̲r̲e̲n̲t̲ ̲M̲o̲d̲u̲l̲e̲s̲

         Depending on the detected gel different modules are
         activated:

         Time-out:

         Dump is performed of statistics collected in the previous
         6 min. Depending on time different functions are performed.

         F̲u̲l̲l̲ ̲h̲o̲u̲r̲:̲

         Generation of hourly statistics.

         F̲u̲l̲l̲ ̲d̲a̲y̲:̲

         Generation of the 24th hourly statistics.
         Generation of current day statistics.
         Delivery of the 24 hourly statistics, previous day
         statistics, and current day statistics.



         F̲u̲l̲l̲ ̲w̲e̲e̲k̲:̲

         Generation of the 7th day statistics.
         Generation of current week statistics.
         Delivery of the 7 daily statistics, previous week statistics
         and current week statistics.

         F̲u̲l̲l̲ ̲m̲o̲n̲t̲h̲:̲

         Generation of the 4th week statistics.
         Generation of current month statistics.
         Delivery of the 4 weekly statistics, previous month
         statistics and current month statistics.

         S̲t̲o̲r̲a̲g̲e̲ ̲O̲c̲c̲u̲p̲a̲n̲c̲y̲ ̲R̲e̲q̲u̲e̲s̲t̲:

         The storage ̲occupancy is delivered in a gel to the
         supervisor printer and a reply is sent to the requestor.

         D̲e̲l̲i̲v̲e̲r̲y̲ ̲A̲c̲k̲n̲o̲w̲l̲e̲d̲g̲e̲:

         The delivery module is called which causes the next
         statistics CIF to be delivered to printer process.

         P̲e̲r̲f̲o̲r̲m̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲F̲l̲o̲w̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲ ̲R̲e̲q̲u̲e̲s̲t̲:

         CSF and MMS is requested for statistics material. The
         statistics is converted to a predefined print format
         and is sent via a CIF to the supervisor printer and
         a reply is sent to the requestor.



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

         The software structure consists of 7 modules:

         -   User ̲main
         -   User ̲init
         -   User ̲common
         -   Perform ̲dump
         -   Perform ̲generation
         -   Perform ̲delivery
         -   Common ̲proc.

         Refer figure 4.2.3.1-1





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̲

         Control of this sub-package is achieved by the QEL's
         arriving in STP's time-out and request queues and by
         return code from the calling procedures.





                        USER ̲MAIN







USER ̲INIT        PERFORM              PERFORM ̲        PERFORM ̲
                 GENERATION           DELIVERY        DUMP







        USER              COMMON ̲PROC
        COMMON




























                    FIGURE 4.2.3.2-1


4.2.3.4  U̲s̲e̲r̲ ̲M̲a̲i̲n̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The user ̲main module is pertinent for the Main Program
         sub-package because it controls all the other modules
         in this sub-package.



4.2.3.4.1    U̲s̲e̲r̲ ̲M̲a̲i̲n̲ ̲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̲

         Receive gel from STP time-out and request queues and
         detect the type of QEL. Depending on the type of QEL
         the other modules are called.



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

         This module is being activated by either the timer
         monitor, printer process or supervisor function control
         sub-package. Invocation is via the return call from
         receive first QEL to QMON.

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

         USER ̲MAIN(START ̲UP ̲TYPE) (  )



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

         R̲e̲t̲u̲r̲n̲ ̲V̲i̲e̲w̲

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

         A statistics CIF is sent to the printer process.



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

         C̲P̲S̲ ̲P̲R̲E̲F̲I̲X̲

         GENERAL
         DAMOS ̲GENERAL
         CPS ̲CONF
         CPS ̲GENERAL
         CSF ̲GENERAL


         COROUTINE ̲MON
         QUEUE ̲MON
         TIMER ̲MON
         MESSAGE ̲MON
         CPS ̲ERROR ̲HAND
         FMS ̲GENERAL
         IOS ̲PARAMS
         CPS ̲IO ̲PARAMS
         QEL ̲MAINTYPE
         TIMEOUT ̲SUBTYPE
         SUPV ̲SUBTYPE
         ACK ̲SUBTYPE
         SAR ̲SUBTYPE
         CPS ̲APP ̲GENERAL
         CPS ̲STA ̲PREF

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

         Refer section 4.1.4



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

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

         STP is initialized
         QEL is received from STPRQ
         The type of QEL is detected and
         corresponding action is performed

         If QEL is of type time-out a
         procedure Perform ̲timeout ̲func is
         called (USER ̲COMMON module)
         If storage ̲occupancy ̲request
         Deliver ̲sto ̲occ is called.
         If ack the next CIF is returned
         to the printer process, and
         the empty CIF is filled up. (Call ̲delivery).


         Refer figure 4.2.3.4.1.5-1.


 U̲S̲E̲R̲ ̲M̲A̲I̲N̲ (START ̲UP ̲TYPE)

 I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲S̲T̲P̲ (START ̲UP ̲TYPE)

 MAIN ̲LOOP (loops forever)

   G̲E̲T̲ ̲N̲E̲X̲T̲ ̲Q̲E̲L̲ (NORMAL ̲CONDI)(CC)

   CC  EQ  QUEUE ̲EMPTY ?

   STP ̲CLOSE ̲DOWN EQ TRUE ?

   CASE READ ̲TIME(F ̲TIME ̲TYPE)
                   (ADDRESS(STP ̲WORK ̲STP ̲INF ̲STP ̲TIME),CC)=ERROR
                   OK

     ERROR ?  ANALYSE ̲ERROR(CC,O)

   END CASE

   CASE  STP ̲APP ̲Q ̲ATTR.HEADER.MAINTYPE OF

     TIME ̲OUT ?  P̲E̲R̲F̲O̲R̲M̲ ̲T̲I̲M̲E̲O̲U̲T̲ ̲F̲U̲N̲C̲
                         CASE STP ̲APP ̲Q ̲ATTR.HEADER.SUBTYPE
                         OF

     SUPERVISOR ̲STP ̲CMD? STORAGE ̲OCCUPANCY ̲REQUEST?
                         D̲E̲L̲I̲V̲E̲R̲ ̲T̲O̲ ̲O̲C̲C̲

                         MESSAGE ANALYSIS REQUEST? L̲O̲A̲D̲
                         ̲P̲M̲A̲N̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲

     ACK ? OUTSTANDING ̲ACK = FALSE

   END CASE

   DISMANTLE (REC ̲FIRST ̲QEL,CC)

   STP ̲CLOSE ̲DOWN EQ TRUE ?

   PENDING ̲CIF EQ FALSE ?

                           OUTSTANDING ̲ACK EQ TRUE ?

   OUTSTANDING ̲ACK EQ TRUE ?

                             C̲A̲L̲L̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲
   R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲               R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲
   C̲A̲L̲L̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲             U̲P̲D̲A̲T̲E̲ ̲T̲A̲B̲L̲E̲
   U̲P̲D̲A̲T̲E̲ ̲T̲A̲B̲L̲E̲              C̲A̲L̲L̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲
                             U̲P̲D̲A̲T̲E̲ ̲T̲A̲B̲L̲E̲

 END MAIN ̲LOOP

 END PROCEDURE
               FIGURE 4.2.3.4.1.5-1


4.2.3.5  U̲s̲e̲r̲ ̲I̲n̲i̲t̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The User Init Module (Initialize ̲STP) is called by
         the User ̲main module.



4.2.3.5.1    U̲s̲e̲r̲ ̲I̲n̲i̲t̲ ̲M̲o̲d̲u̲l̲e̲



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

         Creates 2 CIF's.
         Depending on the start ̲up ̲type
         different actions are performed.



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

         This module is being activated by the User ̲main module
         during start up of the STP process.
                                 C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
                                 INITIALIZE ̲STP(START ̲UP ̲TYPE)



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

         The following module components have been identified
         for these modules:

         -   setup ̲gen ̲addr
         -   reset ̲buffer

         a)  S̲e̲t̲u̲p̲ ̲g̲e̲n̲ ̲a̲d̲d̲r̲

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

             Initiates the different addresses in gen ̲table
             (start addr. in the STP ̲file)

         b)  R̲e̲s̲e̲t̲ ̲b̲u̲f̲f̲e̲r̲

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

             Resets the following areas in the STP ̲file:

         …86…1         …02…   …02…   …02…   …02…                               
                    
         -   interval area (depending on interval ̲count)
         -   hour area (depending on hour ̲count)
         -   prev ̲day area
         -   prev ̲week area
         -   prev ̲month area

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



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

         C̲P̲S̲ ̲P̲R̲E̲F̲I̲X̲

         GENERAL
         DAMOS ̲GENERAL
         CPS ̲CONF
         CPS ̲GENERAL
         CSF ̲GENERAL
         UTILITY ̲FUNC
         QUEUE ̲MON
         TIMER ̲MON
         MESSAGE ̲MON
         COROUTINE ̲MON
         CPS ̲ERROR ̲HAND
         FMS ̲GENERAL
         IOS ̲PARAMS
         CPS ̲IO ̲PARAMS
         QEL ̲MAINTYPE
         SSC ̲SUBTYPE
         SSC ̲GENERAL
         SSC ̲SYS ̲CONF
         CPS ̲APP ̲GENERAL
         CPS ̲STA ̲PREF
         CPS ̲DAMOS ̲CONF

         C̲P̲S̲ ̲D̲A̲T̲A̲

         CPS ̲DISK ̲ID

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

         Refer Section 4.1.4





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

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

         Initialize ̲STP perform the following functions:
         -   Creates 2 CIF's
         -   Getroot of the mir ̲moving volume
         -   Lookup the STP ̲filename
         -   Depending of the start ̲up ̲type the following is
             performed:
             Cold, dead 1 and dead 2
             -   Call Setup ̲gen ̲addr
             -   Read the system ̲time
             -   Call Reset ̲buffer
             Warm 1 and Warm 2
             -   Get data from disk
             -   Read time ̲type
             -   Call Perform ̲timeout ̲func if pending ̲timeout
                 is larger than 1
         -   And timeout is requested

         Refer figure 4.2.3.5.1.5-1




INITIALIZE ̲STP (START:UP ̲TYPE)

CASE CREATE ̲CIF (STP ̲CIF ̲ATTRIBUTES, STP ̲APP ̲QREF)
              (VIEW ̲REF1, CC) ERROR ̲OK

   ERROR? ANALYZE ̲ERROR(CC,0)

END CASE

CASE CREATE ̲CIF (STP ̲CIF ̲ATTRIBUTES, STP ̲APP ̲QREF)
              (VIEW ̲REF2, CC) ERROR ̲OK

   ERROR? ANALYZE ̲ERROR (CC,0)

END CASE

CASE GETROOT (FMS ̲MOVING, MIR ̲MOVING)
           (GETROOT ̲FDC, CC) ERROR ̲OK

   ERROR? ANALYZE  ̲ERROR (CC, 0)

END CASE

CASE LOOKUP (STP ̲FILENAME, GETROOT ̲FDCB)
          (STP ̲FDCB ̲INDEX, CC) ERROR ̲OK

   ERROR? ANALYZE ̲ERROR (CC, 0)

END CASE

START ̲UP ̲TYPE EQ WARM1 LOGOR WARM2 ?

"initiate addresses in                                            L̲O̲A̲D̲
                                                                  ̲R̲E̲A̲D̲B̲Y̲T̲E̲S̲(ADDRESS(BLE1),
 gen ̲table                                                        FROM
                                                                  ̲FILE
                                                                  ̲ADDR)

CASE READ ̲TIME(F ̲SYSTEM ̲TIME)      I̲N̲I̲T̲I̲A̲T̲E̲ ̲D̲A̲T̲A̲(RESET
                                   ̲CHN ̲STATUS)
         (WORK1, CC) ERROR ̲OK
                                   CASE READ ̲TIME(F ̲TIME
                                   ̲TYPE)
                                              (WORK1,
                                   CC) ERROR ̲OK

   ERROR? ANALYZE ̲ERROR(CC, 0)        ERROR? ANALYZE ̲ERROR
                                   (CC, 0)

END CASE                           END CASE

"Calculates interval ̲count and     "Calculate pending
                                   ̲timeout and
"hour ̲count in gen ̲table, from     "time ̲to ̲periodic
"the system ̲time
"and calculates time ̲to ̲periodic

Continue

                FIGURE 4.2.3.5.1.5-1



Continue

CASE REQUEST ̲TIMEOUT(REQUEST ̲TIME ̲RELATIVE,
                 (once, time ̲to ̲periodic))
                 (CC) ERROR ̲OK

   ERROR? ANALYZE ̲ERROR (CC, 0)

END CASE

START ̲UP ̲TYPE EQ WARM1 LOGOR WARM2 ?

                                   PENDING ̲TIMEOUT LT
                                   1 ?
"the interval ̲area and
"the hour ̲area is                                                 DUMMY
                                                                  ̲LOOP
"reset (depending of
"the counters)                                                    
                                                                  
                                                                  
                                                                  P̲E̲R̲F̲O̲R̲M̲
                                                                  ̲T̲I̲M̲E̲O̲U̲T̲
                                                                  ̲F̲U̲N̲C̲
"the previous ̲day/week/
"month area is reset                  STP ̲TIMES=STP ̲TIME
                                   + 360
                                      PENDING ̲TIMEOUT=PENDING
                                   ̲
                                                     
                                   TIMEOUT-1

                                      PENDING ̲TIMEOUT
                                   EQ 0 ?

                                   END DUMMY ̲LOOP

G̲E̲T̲ ̲N̲E̲X̲T̲ ̲Q̲E̲L̲ (START ̲UP ̲CONDI)

CASE REQUEST ̲TIMEOUT (REQUEST ̲TIME ̲RELATIVE,
                   (periodic, 6 min))
                   (CC) ERROR ̲OK

   ERROR? ANALYZE ̲ERROR (CC, 0)

END CASE

END PROCEDURE






             FIGURE 4.2.3.5.1.5-1 cont.



4.2.3.6  U̲s̲e̲r̲ ̲C̲o̲m̲m̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The User Common module is called from both User ̲main
         and User ̲init.



4.2.3.6.1    U̲s̲e̲r̲ ̲C̲o̲m̲m̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲



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̲

         The module consists of 8 common procedures used by
         both User ̲main and User ̲init.



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



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

         Following module components have been identified for
         this module:

         -   perform ̲timeout ̲func
         -   calc ̲to ̲file
         -   setup ̲del ̲table
         -   load ̲table
         -   call ̲delivery
         -   update ̲table
         -   get ̲next ̲qel
         -   deliver ̲sto ̲occ
         -   load ̲pman ̲delivery

         a)  P̲e̲r̲f̲o̲r̲m̲ ̲t̲i̲m̲e̲o̲u̲t̲ ̲f̲u̲n̲c̲

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

             Dump is performed (Perform ̲dump)
             Depending of the time following is performed:

             Full hour:  Generate a hourly statistics



             Full day:   Generate a daily statistics
                         Load the del ̲table with data from the
                         gen ̲table (setup ̲del ̲table)
                         Load the time ̲delivery table (for a
                         daily ̲del) with data from del ̲table
                         (Load ̲table)

             Full week:  Generate a weekly statistics
                         Load the del ̲table with data from the
                         gen ̲table
                         Load the time ̲delivery table (for a
                         weekly ̲del) with data from del ̲table

             Full month: Generate a monthly statistics
                         Load the del ̲table wit data from the
                         gen ̲table
                         Load the time ̲delivery table (for a
                         monthly ̲del) with data from del ̲table

         Refer figure 4.2.3.6.1.5-1

         b)  C̲a̲l̲c̲ ̲t̲o̲ ̲f̲i̲l̲e̲

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

             Calculates the first ̲byte in the file ̲address.
             This first ̲byte is used in Perform ̲dump and Perform
             ̲generation and tells where to store the data after
             respectivelly dump and generation.

         c)  S̲e̲t̲u̲p̲ ̲d̲e̲l̲ ̲t̲a̲b̲l̲e̲

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

             For each delivery ̲type the time ̲delivery table
             is loaded with data from the del ̲table.
             The load of the time ̲delivery table for daily ̲del
             will be ignored if a tmp parameter (stp ̲print ̲
             control ̲parameter ̲type) is set to false.
             This causes that the daily delivery of statistics
             won't be sent to the printer process.

         e)  C̲a̲l̲l̲ ̲d̲e̲l̲i̲v̲e̲r̲y̲



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

             Depending of the conditions in the time ̲delivery
             table following is setup:

             -   delivery ̲type
             -   current ̲del ̲type (statistics ̲type being printed)
             -   delivery ̲no
             -   from ̲file ̲addr (where to get the data from)
             Then PERFORM ̲DELIVERY is called (refer section
             4.2.3.9).

         f)  U̲p̲d̲a̲t̲e̲ ̲t̲a̲b̲l̲e̲

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

             The time ̲delivery table is updated (for one of
             the delivery ̲type)
             One of following actions is performed:

             -   Decrement the time ̲count
             -   Set prev ̲condi to false or
             -   Set del ̲condi to false

         g)  G̲e̲t̲ ̲n̲e̲x̲t̲ ̲q̲e̲l̲

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

             Receives a QEL from STP time ̲out and request queue.
             The GEL is received from this queue by use of CSF
             QMON function (QMON ̲RECEIVE ̲FIRST)
             The QEL is checked:

             -   maintype
             -   subtype
             -   object

             If fault qmon ̲send ̲garble is called.

         h)  D̲e̲l̲i̲v̲e̲r̲ ̲s̲t̲o̲ ̲o̲c̲c̲

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

             When a Storage ̲occupancy ̲request is received a
             QEL containing the calculated values is sent to
             the printer process.
             A reply is sent to the requestor.



         i)  L̲o̲a̲d̲ ̲p̲m̲a̲n̲ ̲d̲e̲l̲i̲v̲e̲r̲y̲

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

             The delivery ̲table is setup, which indicates that
             perform message flow analysis statistics shall
             be delivered. Sends a reply to the requestor.



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

         C̲P̲S̲ ̲P̲R̲E̲F̲I̲X̲

         GENERAL
         DAMON ̲GENERAL
         CPS ̲CONF
         CPS ̲GENERAL
         CSF ̲GENERAL
         COROUTINE ̲MON
         QUEUE ̲MON
         MESSAGE ̲MON
         CPS ̲ERROR ̲HAND
         FMS ̲GENERAL
         IOS ̲PARAMS
         CPS ̲IO ̲PARAMS
         TMP ̲GENERAL
         SYS ̲PARAM ̲MON
         QEL ̲MAINTYPE
         SAR ̲SUBTYPE
         ACK ̲SUBTYPE
         CPS ̲APP ̲GENERAL
         CPS ̲STA ̲PREF

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

         Refer section 4.1.4



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

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

         Refer section 4.2.3.6.1.3



P̲E̲R̲F̲O̲R̲M̲ ̲T̲I̲M̲E̲O̲U̲T̲ ̲F̲U̲N̲C̲

CALC TO FILE (INTERVAL)

PENDING ̲TIMEOUT LT 1 ?

P̲E̲R̲F̲O̲R̲M̲ ̲D̲U̲M̲P̲ (DUMMY ̲DUMP, TO ̲FILE ̲ADDR)
                         PERFORM ̲DUMP (NORMAL ̲DUMP, TO ̲FILE
                         ̲ADDR)

INTERVAL ̲COUNT=INTERVAL ̲COUNT+1

INTERVAL ̲COUNT LT 11

INTERVAL ̲COUNT=1

C̲A̲L̲C̲ ̲T̲O̲ ̲F̲I̲L̲E̲ (HOUR ̲GEN)

P̲E̲R̲F̲O̲R̲M̲ ̲G̲E̲N̲E̲R̲A̲T̲I̲O̲N̲ (HSG, FROM ̲FILE ̲ADDR, TO ̲FILE ̲ADDR)

HOUR ̲COUNT=HOUR ̲COUNT+1

HOUR ̲COUNT LT 25

HOUR ̲COUNT=1

DEL ̲TYPE=DAILY ̲DEL

C̲A̲L̲C̲ ̲T̲O̲ ̲F̲I̲L̲E̲ (DAY ̲GEN)

P̲E̲R̲F̲O̲R̲M̲ ̲G̲E̲N̲E̲R̲A̲T̲I̲O̲N̲ (DSG, FROM ̲FILE ̲ADDR, TO ̲FILE ̲ADDR)

S̲E̲T̲U̲P̲ ̲D̲E̲L̲ ̲T̲A̲B̲L̲E̲

L̲O̲A̲D̲ ̲T̲A̲B̲L̲E̲

DAY ̲COUNT=DAY ̲COUNT+1

DAY ̲COUNT LT 8

DAY ̲COUNT=1

DEL ̲TYPE=WEEKLY ̲DEL

C̲A̲L̲C̲ ̲T̲O̲ ̲F̲I̲L̲E̲ (WEEK ̲GEN)

P̲E̲R̲F̲O̲R̲M̲ ̲G̲E̲N̲E̲R̲A̲T̲I̲O̲N̲ (WSG, FROM ̲FILE ̲ADDR, TO ̲FILE ̲ADDR)

Continue 1                                                       
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 Continue
                                                                 2

                   FIGURE 4.2.3.6.1.5-1


Continue 1                                                       
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 Continue
                                                                 2

S̲E̲T̲U̲P̲ ̲D̲E̲L̲ ̲T̲A̲B̲L̲E̲

L̲O̲A̲D̲ ̲T̲A̲B̲L̲E̲

WEEK ̲COUNT=WEEK ̲COUNT+1

WEEK ̲COUNT LT 5

WEEK ̲COUNT=1

DEL ̲TYPE=MONTHLY ̲DEL

C̲A̲L̲C̲ ̲T̲O̲ ̲F̲I̲L̲E̲ (MONTH ̲GEN)

P̲E̲R̲F̲O̲R̲M̲ ̲G̲E̲N̲E̲R̲A̲T̲I̲O̲N̲ (MSG, FROM ̲FILE ̲ADDR, TO ̲FILE ̲ADDR)

S̲E̲T̲U̲P̲ ̲D̲E̲L̲ ̲T̲A̲B̲L̲E̲

L̲O̲A̲D̲ ̲T̲A̲B̲L̲E̲

MONTH ̲COUNT=MONTH ̲COUNT+1

MONTH ̲COUNT LT 3

MONTH ̲COUNT=1

END PROCEDURE















                FIGURE 4.2.3.6.1.5-1 cont.



4.2.3.7  P̲e̲r̲f̲o̲r̲m̲ ̲D̲u̲m̲p̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The Perform Dump module is called from Perform ̲timeout
         ̲func (User ̲common)



4.2.3.7.1    P̲e̲r̲f̲o̲r̲m̲ ̲D̲u̲m̲p̲ ̲M̲o̲d̲u̲l̲e̲



4.2.3.7.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 collected statistics information is dumped into
         a specified interval.



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

         Is activated by PERFRM ̲TIMEOUT ̲FUNC in USER ̲COMMON

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

         PERFORM ̲DUMP (DUMP ̲MODE, POINTER TO FILE ̲ADDR)



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

         The module identify one component
         - prepare ̲col ̲data

         a)  P̲r̲e̲p̲a̲r̲e̲ ̲c̲o̲l̲ ̲d̲a̲t̲a̲

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

             Updates the incoming/outgoing channel availability
             in accordance with the present channel status.





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

         C̲P̲S̲ ̲P̲R̲E̲F̲I̲X̲

         GENERAL
         DAMON ̲GENERAL
         CPS ̲CONF
         CPS ̲GENERAL
         CSF ̲GENERAL
         UTILITY ̲FUNC
         QUEUE ̲MON
         MESSAGE ̲MON
         COROUTINE ̲MON
         CPS ̲ERROR ̲HAND
         FMS ̲GENERAL
         IOS ̲PARAMS
         CPS ̲IO ̲PARAMS
         SSC ̲GENERAL
         SSC ̲SYS ̲CONF
         QEL ̲MAINTYPE
         SSC ̲SUBTYPE
         CPS ̲APP ̲GENERAL
         CPS ̲STA ̲PREF

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

         Refer section 4.1.4



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

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

         Depending of the dump ̲mode the following will be performed:

         -   Normal ̲dump:
             The collected statistics information is updated
             and dumped into a specified interval.

         -   Dummy ̲dump:
             The specified interval is reset

         Refer figure 4.2.3.1.7.5-1



P̲E̲R̲F̲O̲R̲M̲ ̲D̲U̲M̲P̲ (DUMP ̲MODE, TO ̲FILE ̲ADDR)

DUMMY ̲WRITE ̲SIZE=SIZE(DATA ̲AREA ̲TYPE)*2

DUMP ̲MODE EQ DUMMY ̲DUMP?

                 INITIATE ̲DATA(RESET ̲WORK ̲1 ̲2)

DUMP ̲LOOP

   DUMP ̲MODE EQ NORMAL ̲DUMP?

   DUMMY ̲WRITE ̲SIZE GE              WAIT ̲SEM(STP ̲SEMAPHORE)
         MAX ̲DUMMY ̲WRITE ̲SIZE?
                                    PREPARE ̲COL ̲DATA(PRE
                                    ̲DUMP)

                         DUMMY ̲WRITE ̲SIZE=
   DUMMY ̲WRITE ̲SIZE=0    DUMMY ̲WRITE ̲SIZE ̲
                         MAX ̲DUMMY ̲WRITE ̲SIZE-


   CASE MODIFYBYTES (TO ̲FILE ̲ADDR, BLE1,
                     STP ̲PDCB ̲INDEX)
                     (to-file-addr, CC)ERROR ̲OK

         ERROR? ANALYZE ̲ERROR (CC, 0)

   END CASE

   DUMP ̲MODE EQ NORMAL ̲DUMP?

   "increment to ̲file ̲addr ̲         INITIATE ̲DATA(RESET
                                    ̲COL ̲DATA)
   first ̲byte                       PREPARE ̲COL ̲DATA(POST
                                    ̲DUMP)
   "with to ̲file ̲addr ̲byte ̲count    SIGNAL ̲SEM(STP ̲SEMAPHORE)

DUMP ̲MODE EQ NORMAL ̲DUMP OR
(DUMP ̲MODE EQ DUMMY ̲DUMP AND DUMMY ̲WRITE ̲SIZE 1)?-EXIT

CASE MODIFYBYTES(TO ̲FILE ̲ADDR,BLE1,
               STP ̲FDCB ̲INDEX)
              (TO ̲FILE ̲ADDR, CC)ERROR ̲OK

   ERROR? ANALYZE ̲ERROR (CC, 0)

END CASE

END PROCEDURE

                FIGURE 4.2.3.1.7.5-1



4.2.3.8  P̲e̲r̲f̲o̲r̲m̲ ̲G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The Perform Generation module is called from Perform
         ̲timeout ̲func (User ̲Common)



4.2.3.8.1    P̲e̲r̲f̲o̲r̲m̲ ̲G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲



4.2.3.8.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 generation type is detected and one of the following
         function is performed

         -   perform hourly generation
         -   perform daily generation
         -   perform weekly generation
         -   perform monthly generation



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

         This module is activated by the Perform ̲timeout ̲func
         (User ̲Common)

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

         PERFORM ̲GENERATION (GENERATION ̲TYPE, 
                             POINTER TO FILE ̲ADDRESS (FROM),
                             POINTER TO FILE ̲ADDRESS (TO))
                             ()

         Refer figure 4.2.3.8.1.5-1

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

         Following module components have been identified for
         this module

         -   perform ̲sg
         -   load ̲modifybytes
         -   inc ̲from ̲to ̲file
         -   record ̲loop



         And further more the calculation components

         -   upd ̲pre ̲cla ̲spe
         -   clac ̲aver ̲occu
         -   msg ̲field
         -   term ̲dist ̲field
         -   format ̲field
         -   format ̲tot

         a)  P̲e̲r̲f̲o̲r̲m̲ ̲s̲g̲

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

             Thsi procedure loops in a group ̲no loop. For each
             group ̲no the following is performed:

             -   group ̲data is read from group ̲descr.
             -   the different time ̲interval is read into two
                 different work ̲areas and one of the calculation
                 procedure is called
             -   the calculated results is written into the
                 stp ̲file

         Refer figure 4.2.3.8.1.5-2

         b)  L̲o̲a̲d̲ ̲m̲o̲d̲i̲f̲y̲b̲y̲t̲e̲s̲

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

             Moves the calculated results from work ̲area into
             a specified time interval

         c)  I̲n̲c̲ ̲f̲r̲o̲m̲ ̲t̲o̲ ̲f̲i̲l̲e̲

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

             The first ̲byte in the file ̲address (from/to) is
             updated with group ̲size

         d)  R̲e̲c̲o̲r̲d̲ ̲l̲o̲o̲p̲

             Loops in a record ̲no. loop.
             For each record ̲no and group ̲no one of the calculation
             procedures is called

         e)  U̲p̲d̲ ̲p̲r̲e̲ ̲c̲l̲a̲ ̲s̲p̲e̲

             Summarize the different fields in either precedence,
             classification or special ̲handling



         f)  C̲a̲l̲c̲ ̲a̲v̲e̲r̲ ̲o̲c̲c̲u̲

             Calculate the average for some specified field
             in each group.
             The calculation is depending of the generation
             ̲type

         g)  The following components updates the fields in
             the different group records:

             -   msg. ̲field
             -   avail ̲field
             -   term ̲dist ̲field
             -   format ̲field
             -   format ̲tot

             For a hourly generation of statistics the values
             of short ̲term ̲blocks and intermediate ̲blocks (in
             per centage) is calculated and stored in the STP
             file (Storage occupancy).



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

         C̲P̲S̲ ̲P̲R̲E̲F̲I̲X̲

         GENERAL
         DAMOS ̲GENERAL
         CPS ̲CONF
         CPS ̲GENERAL
         CROUTINE ̲MON
         MESSAGE ̲MON
         QUEUE ̲MON
         CPS ̲ERROR ̲HAND
         FMS ̲GENERAL
         IOS ̲PARAMS
         CPS ̲IO ̲PARAMS
         CPS ̲APP ̲GENERAL
         CPS ̲STA ̲PREF

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

         Refer section 4.1.4





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

         The type of generation is detected and the group ̲no
         loop is called. This procedure updates the different
         fields in the group records and write the results into
         a specified time interval.

         Refer figure 4.2.3.8.1.5-1.



P̲E̲R̲F̲O̲R̲M̲ ̲G̲E̲N̲E̲R̲A̲T̲I̲O̲N̲                                               (GENERATION:
                                                                 GENERATION
                                                                 ̲TYPE,
                     FROM ̲FILE ̲ADDR: POINTER TO FILE ADDRESS,
                     TO ̲FILE ̲ADDR: POINTER TO FILE ̲ADDRESS)

CASE GENERATION OF

   HSG       MAX ̲STEP ̲COUNT=10

             STEP ̲SIZE=SIZE(DATA ̲AREA ̲TYPE)

   DSG       MAX ̲STEP ̲COUNT=24

             STEP ̲SIZE=SIZE (BASIC ̲DATA ̲TYPE)

   WSG       MAX ̲STEP ̲COUNT=7

             STEP ̲SIZE=SIZE (BASIC ̲DATA ̲TYPE)

   MSG       MAX ̲STEP ̲COUNT=4

             STEP ̲SIZE=SIZE (BASIC ̲DATA ̲TYPE)

END CASE

P̲E̲R̲F̲O̲R̲M̲ ̲S̲G̲

END PROCEDURE



                FIGURE 4.2.3.8.1.5-1



P̲E̲R̲F̲O̲R̲M̲ ̲S̲G̲

GROUP ̲NO=0

GROUP LOOP

   G̲E̲T̲ ̲G̲R̲O̲U̲P̲ ̲D̲A̲T̲A̲

   L̲O̲A̲D̲ ̲R̲E̲A̲D̲B̲Y̲T̲E̲S̲ (ADDRESS(BLE1), FROM ̲FILE ̲ADDR)

   STEP ̲COUNT=0

   STEP LOOP "time ̲interval

         L̲O̲A̲D̲ ̲R̲E̲A̲D̲B̲Y̲T̲E̲S̲ (ADDRESS(BLE2), FROM ̲FILE ̲ADDR)

         MAX ̲REC ̲COUNT GE 1 ?
                                    R̲E̲C̲O̲R̲D̲ ̲L̲O̲O̲P̲
         T̲E̲R̲M̲ ̲D̲I̲S̲T̲ ̲F̲I̲L̲E̲D̲

         STEP ̲COUNT=SEP ̲COUNT + 1

         STEP ̲COUNT EQ MAX ̲STEP ̲COUNT ? - EXIT

   END STEP LOOP

   L̲O̲A̲D̲ ̲M̲O̲D̲I̲F̲Y̲B̲Y̲T̲E̲S̲

   I̲N̲C̲ ̲F̲R̲O̲M̲ ̲T̲O̲ ̲F̲I̲L̲E̲

   GROUP ̲NO NE USE ̲OF ̲FORMAT ̲1 IOR USE ̲OF ̲FORMAT ̲2 ?

   F̲O̲R̲M̲A̲T̲ ̲T̲O̲T̲

   L̲O̲A̲D̲ ̲M̲O̲D̲I̲F̲Y̲B̲Y̲T̲E̲S̲

   GENERATION EQ HSG ?
                           TO ̲FILE ̲ADDR.FIRST ̲BYTE=
   I̲N̲C̲ ̲F̲R̲O̲M̲ ̲T̲O̲ ̲F̲I̲L̲E̲        TO ̲FILE ̲ADDR.FIRST ̲BYTE+GROUP
                     ̲SIZE


   GROUP ̲NO=GROUP ̲NO+1

   GROUP ̲NO EQ (MAX (STA ̲GROUP ̲NO ̲TYPE)+a) ? - EXIT

END GROUP LOOP

END PROCEDURE

                FIGURE 4.2.3.8.1.5-2



4.2.3.9  P̲e̲r̲f̲o̲r̲m̲ ̲D̲e̲l̲i̲v̲e̲r̲y̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The Perform Delivery module is called from call ̲delivery
         (User ̲Common)



4.2.3.9.1    P̲e̲r̲f̲o̲r̲m̲ ̲D̲e̲l̲i̲v̲e̲r̲y̲ ̲M̲o̲d̲u̲l̲e̲



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

         Appends statistics into CIF

         -   day statistics
         -   week statistics
         -   month statistics



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

         This module is activated by the Call ̲delivery (User
         ̲Common)

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

         PERFORM ̲DELIVERY (DELIVERY ̲TYPE,
                           CURRENT ̲DELIVERY,
                           VIEW ̲REF
                           DEL ̲NO
                           POINTER TO FILE ̲ADDRESS (FROM))
                           ()

         Refer figure 4.2.3.9.1.5-1



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

         Following module components have been identified for
         this module

         -   setup ̲head ̲line
         -   conv ̲to ̲print ̲form
         -   convert ̲mms ̲stat ̲rec
         -   convert ̲resource ̲rec
         -   convert ̲queue ̲rec


         -   convert ̲process ̲rec
         -   convert ̲msg ̲field
         -   convert ̲avail ̲filed
         -   convert ̲dist ̲field
         -   convert ̲format ̲filed
         -   convert ̲format ̲tot
         -   convert ̲stor ̲occu
         -   conv ̲pre ̲cla ̲spe
         -   make ̲record
         -   write ̲view ̲proc

         a)  S̲e̲t̲u̲p̲ ̲h̲e̲a̲d̲ ̲l̲i̲n̲e̲

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

             Depending of the delivery ̲type, current ̲delivery
             and
                                             del ̲no
             the page ̲header ̲line is set up.

         b)  C̲o̲n̲v̲ ̲t̲o̲ ̲p̲r̲i̲n̲t̲ ̲f̲o̲r̲m̲

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

             Depending of the group ̲no different conversion
             procedures is called

         c)  For the following components

             -   convert ̲mms ̲stat ̲rec
             -   convert ̲resource ̲rec
             -   convert ̲queue ̲rec
             -   convert ̲process ̲rec
             -   convert ̲msg ̲field
             -   convert ̲avail ̲field
             -   convert ̲dist ̲field
             -   convert ̲format ̲field

             the same actions is performed.

             The conversion to print format are only depending
             of the group ̲no, no ̲of ̲records and no ̲of ̲subgroups.
             For each group a group ̲header ̲line is setup.

             Chn/term ̲designator ̲line is set up. For each field
             in the group record a line is set up containing
             8 coloumns. This is done by calling MAKE ̲RECORD



         d) C̲o̲n̲v̲e̲r̲t̲ ̲f̲o̲r̲m̲a̲t̲ ̲t̲o̲t̲

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

             Converts the data to print format
             If  group ̲no = use ̲of ̲format ̲2
                 del ̲group = daily ̲del
                 cur ̲del ̲type = hour
             then call convert ̲stor ̲occu

         e)  C̲o̲n̲v̲e̲r̲t̲ ̲s̲t̲o̲r̲ ̲o̲c̲c̲u̲

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

             Setup of printformat for storage ̲occupancy

         f)  C̲o̲n̲v̲ ̲p̲r̲e̲ ̲c̲l̲a̲ ̲s̲p̲e̲

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

             Setup the printformat for either precedence, classification
             or special ̲handling

         g)  M̲a̲k̲e̲ ̲r̲e̲c̲o̲r̲d̲

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

             Depending of the rec ̲type following is set in the
             STP ̲PRINT ̲REC

             -   W ̲COUNT
             -   W
             -   TEXT ̲INDIC
             -   REC ̲TYPE

             If size of work area is exceeded then the printformat
             in the work area is appended to the CIF

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

             MAKE ̲RECORD (TEXT ̲INDIC, REC ̲TYPE, DISPLACEMENT
             
                         (where to get the data))

         h)  W̲r̲i̲t̲e̲ ̲v̲i̲e̲w̲ ̲p̲r̲o̲c̲

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

             Appends the printformat in work 2 area to a specified
             CIF





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

         C̲P̲S̲ ̲P̲R̲E̲F̲I̲X̲

         GENERAL
         DAMOS ̲GENERAL
         CPS ̲CONF
         CPS ̲GENERAL
         CSF ̲GENERAL
         MESSAGE ̲MON
         COROUTINE ̲MON
         QUEUE ̲MON
         CPS ̲ERROR ̲HAND
         FMS ̲GENERAL
         IOS ̲PARAMS
         CPS ̲IO ̲PARAMS
         QEL ̲MAINTYPE
         SAR ̲SUBTYPE
         CPS ̲APP ̲GENERAL
         CPS ̲STA ̲PREF

         C̲P̲S̲ ̲D̲A̲T̲A̲

         DATA ̲CONF

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

         Refer section 4.1.4


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

         Depending of the delivery ̲type current ̲delivery and
         del ̲no, printformat is setup and appended into a specified
         CIF.

         Refer figure 4.2.3.9.1.5-1




P̲E̲R̲F̲O̲R̲M̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ (DEL ̲TYPE:DELIVERY ̲TYPE,
                 CUR ̲DEL ̲TYPE:CURRENT ̲DEL ̲TYPE,
                 VIEW ̲REF:VIEW ̲REFERENCE,
                 DEL ̲NO:DELIVERY ̲NO
                 FROM ̲FILE ̲ADDR:POINTER TO FILE ̲ADDRESS)

CASE OPEN ̲VIEW (VIEW ̲EF)(CC)

   ERROR ? ANALYZE ̲ERROR (CC, 0)

   OK ?


END CASE

S̲E̲T̲U̲P̲ ̲H̲E̲A̲D̲ ̲L̲I̲N̲E̲

If delivery ̲type = csf ̲proc ̲sta ̲del, csf ̲queue ̲sta ̲del,
 csf ̲
                 resource ̲sta ̲de and mms ̲sta ̲del
then a CSF and a MMS call is executed.
This statistics received is converted to a predefined
 printformat.

GROUP ̲NO = 0

GROUP LOOP

   G̲E̲T̲ ̲G̲R̲O̲U̲P̲ ̲D̲A̲T̲A̲

   L̲O̲A̲D̲ ̲R̲E̲A̲D̲B̲Y̲T̲E̲S̲ (ADDRESS(BLE1), FROM ̲FILE ̲ADDR)

   C̲O̲N̲V̲ ̲T̲O̲ ̲P̲R̲I̲N̲T̲ ̲F̲O̲R̲M̲

   "updates from ̲file ̲addr. first ̲byte

GROUP ̲NO + 1 EQ (MAX(STA ̲GROUP ̲NO ̲TYPE)+ 1) ? - EXIT

CASE CLOSE ̲VIEW (VIEW ̲REF)(CC)

   ERROR ? ANALYZE ̲ERROR (CC, C)

   OK ?

END CASE

END PRECEDENCE



               FIGURE 4.2.3.9..1.5-1



4.2.3.10 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲ ̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

         Refer   4.2.3.4.1.4 (User ̲main),
                 4.2.3.5.1.4 (User ̲init),
                 4.2.3.6.1.4 (User ̲common),
                 4.2.3.7.1.4 (Perform ̲dump),
                 4.2.3.8.1.4 (Perform ̲generation) and
                 4.2.3.9.1.4 (Perform ̲delivery)

         Module data description.



4.2.3.11 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̲

         The following 4 procedures is common for the user ̲main
         subpackage:

         -   Get ̲group ̲data
         -   Load ̲readbytes
         -   Initiate ̲dat
         -   Calc ̲sts ̲its

         a)  G̲e̲t̲ ̲g̲r̲o̲u̲p̲ ̲d̲a̲t̲a̲

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

             Get the group data for a specified group from the
             group-deser

         b)  L̲o̲a̲d̲ ̲r̲e̲a̲d̲b̲y̲t̲e̲s̲

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

             Makes an IO ̲READBYTES call with a secified BLE
             and FILE ̲ADDRESS

         c)  I̲n̲i̲t̲i̲a̲t̲e̲ ̲d̲a̲t̲a̲

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

             Initiates the following data area's depending of
             the init ̲data ̲type

             -   stp ̲work.col ̲data
             -   stp ̲work.inc ̲/outg ̲chan ̲status
             -   stp ̲work.work 1/work 2

         d)  C̲a̲l̲c̲ ̲s̲t̲s̲ ̲i̲t̲s̲

             Calculates the percentage of short ̲term ̲blocks
             and of intermediate ̲blocks which has been in use.