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.