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

⟦567e0d5d7⟧ Wang Wps File

    Length: 31112 (0x7988)
    Types: Wang Wps File
    Notes: CPS/SDS/047               
    Names: »4839A «

Derivation

└─⟦27551141f⟧ Bits:30006195 8" Wang WCS floppy, CR 0468A
    └─ ⟦this⟧ »4839A « 

WangText



…0b…    …0a……05……09……0f……09…
…08……08……08……0b……08……0c……08……86…1    
      
      
      
      
      
      
     …02… 
      
    …02…  
 …02…     
   

…02…CPS/SDS/047

…02…  841005…02……02…
OCR ANALYSIS
 AS BUILT
 DOCUMENTATION
…02……02…CAMPS











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



   1 GENERAL ........................................
        1

     1.1 PURPOSE AND SCOPE ..........................
            1
     1.2 APPLICABLE DOCUMENTS AND PROJECT REFERENCES 
            1
       1.2.1 Applicable Documents ...................
                1
       1.2.2 Reference Documents ....................
                2

     1.3 TERMS AND ABBREVIATIONS ....................
            2
       1.3.1 Terms ..................................
                2
       1.3.2 Abbreviations ..........................
                2

   2 SUMMARY OF REQUIREMENTS ........................
        3

     2.1 PACKAGE DESCRIPTION ........................
            3
     2.2 PACKAGE FUNCTIONS ..........................
            6
       2.2.1 Main Functions .........................
                6
       2.2.2 Functional Responsibilities ............
                6
         2.2.2.1 Initialization, Close Down, and
                 Restart ............................
                    6
         2.2.2.2 Checkpointing and Recovery .........
                    6
         2.2.2.3 Error Detecting and Error Handling .
                    6
         2.2.2.4 Integrity of Operation .............
                    6
         2.2.2.5 Data Collection ....................
                    7
         2.2.2.6 Security ...........................
                    7

   3 ENVIRONMENT ....................................
        8

     3.1 EQUIPMENT ..................................
            8
     3.2 SOFTWARE ...................................
            8
       3.2.1 System Software ........................
                8
       3.2.2 Development Support Software ...........
                8

     3.3 INTERFACES .................................
            8
       3.3.2 Package Interfaces .....................
                8
       3.3.2.1 Traffic Handling (THP) I/F ...........
                  8
         3.3.2.2 Log and Accountability (Log) I/F ...
                    9
         3.3.2.3 SSC Software I/F ...................
                    9
         3.3.2.4 Table Management Package (TMP) I/F .
                    9
         3.3.2.5 Message Service Operator (MSP) I/F .
                    9

     3.4 FUNCTIONS MAINTAINED BY OTHER PACKAGES .....
            9



   4 PACKAGE DESIGN .................................
       10

     4.1 PACKAGE OVERVIEW ...........................
           10
       4.1.1 Functional Specification ...............
               10
         4.1.1.1 TEMCO Control Functions ............
                   10
         4.1.1.2 Reception of Messages ..............
                   10
         4.1.1.3 Handling of Received Messages ......
                   11
         4.1.1.4 Sending the CIF's ..................
                   11
         4.1.1.5 Logging ............................
                   11

       4.1.2 Software Specification .................
               12
         4.1.2.1 OAS Process ........................
                   12

     4.2 SUBPACKAGE SPECIFICATION ...................
           15
       4.2.1 OCR Analysis Subpackage ................
               15
         4.2.1.1 Functional Specification ...........
                   15
         4.2.1.2 Software Structure .................
                   15
           4.2.1.2.1 OCR Analysis Control (OCRA ̲MAIN)
                       16
           4.2.1.2.2 Message Scan (MESS ̲SCAN) .......
                       18
           4.2.1.2.3 Message Error (MESS ERROR) .....
                       18
           4.2.1.2.4 CIF Access Method (CAM) ........
                       18
           4.2.1.2.5 Memory Access Method (MEM ACC) .
                       18
           4.2.1.2.6 Memory Management (MEM MAN) ....
                       18
           4.2.1.2.7 Format Control Interpreter (FCPI)
                      18
           4.2.1.2.8 Syntax Validation (OCR SYNTAX) .
                       19
           4.2.1.2.9 Semantic Validation (OCR SEMAN) 
                       19
           4.2.1.2.10  OCR DATA .....................
                         19
           4.2.1.2.11  OCR FCP ......................
                         19

         4.2.1.3 Data Flow ..........................
                   19
         4.2.1.4 OAS Module Specification ...........
                   20
           4.2.1.4.1 OCR Analyze Main Specification
                     (OCRA ̲MAIN) ....................
                       20
             4.2.1.4.1.1 Functional Specification ...
               20
             4.2.1.4.1.2 Module Interface ...........
               20
             4.2.1.4.1.3 Module Components ..........
               21

           4.2.1.4.2 Message Scan Specification
                     (MESS ̲SCAN) ....................
                       24
             4.2.1.4.2.1 Functional Specification ...
               24
             4.2.1.4.2.2 Module Interface ...........
               25
             4.2.1.4.2.3 Module Components ..........
               25
             4.2.1.4.2.4 Module Design ..............
               27
             4.2.1.4.2.5 Initialization Procedure ...
               27

           4.2.1.4.3 Message Error Specification
                     (MESS ̲ERROR) ...................
                       27
             4.2.1.4.3.1 Functional Specification ...
               27
             4.2.1.4.3.2 Module Interface ...........
               28


                        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 OCR Analysis As Built Documentation is written
         to fulfil the following purposes:

         1)  To describe the functions and software structure
             of the OCR Analyse process.

         2)  To provide operational and maintenance personnel
             with details of the ongoing analysis.

         3)  To define the interfaces with other packages.

         The OCR Analysis As Built Documentation defines the
         functions and software architecture of the package
         to a level, which enables the maintenance staff to
         maintain and make minor corrections in the package.



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̲

         CAMPS System Requirements
         CPS/210/SYS/001

         OCR Interface
         CPS/230/ICD/0008

         CAMPS System Design Specification
         CPS/SDS/001

         Database Design Document
         CPS/DBD/001

         CAMPS Software Interface Control Document
         CPS/ICD/009

         User VDU As Built Documentation
         CPS/SDS/039





1.2.2    R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲o̲c̲u̲m̲e̲n̲t̲s̲

         D̲O̲C̲U̲M̲E̲N̲T̲ ̲N̲A̲M̲E̲                D̲O̲C̲U̲M̲E̲N̲T̲ ̲N̲U̲M̲B̲E̲R̲

         CAMPS System Functions       CPS/SDS/024
         Message Management           CPS/SDS/025
         Table Management             CPS/SDS/026
         Input/Output Control         CPS/SDS/028
         System Status and Control    CPS/SDS/029
         Storage and Retrieval        CPS/SDS/030
         Statistics                   CPS/SDS/031
         Logging                      CPS/SDS/032
         Traffic Handling             CPS/SDS/033
         Message Distribution         CPS/SDS/034
         Supervisor VDU               CPS/SDS/035
         Supervisor Printer           CPS/SDS/036
         MDCO VDU                     CPS/SDS/037
         MSO VDU                      CPS/SDS/038
         OCR                          CPS/SDS/040
         Printer                      CPS/SDS/041



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̲



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

         VDIA      VDU Dialogue Coroutine
         VUP       VDU User Package
         MDCO      Message Distribution Control
         MSO       Message Service Operator
         OAS       OCR Analysis Subpackage
         THP       Traffic Handling Package
         CC        Completion Code
         ACS       Analysis Conversion Subpackage




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



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

         The OCR Analysis Subpackage is responsible for validation
         and conversion of messages entered via an OCR.

         On behalf of the validation result the message is wether
         sent for correction at the MDCO or directed to the
         Traffic Handling Package for release.

         In order to facilitate validation, conversion release
         and correction the OAS interfaces to the following
         packages:

         1)  CAMPS System Functions
         2)  SS & C Software
         3)  Traffic Handling
         4)  Table Management
         5)  Log and Accountability

         Figure 2.1-1 depicts the message flow between OAS and
         other CAMPS packages, while information flow is shown
         in picture 2.1-2.















































                       FIGURE 2.1-1
                       MESSAGE FLOW















































                       FIGURE 2.1-2
                     INFORMATION FLOW




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



2.2.1    M̲a̲i̲n̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         The main function of the OAS is to convert messages
         received from the OCR to CAMPS Internal Message Format
         and direct it to the ACS which will perform conversion
         to ACP127 and send it on the transmission line.



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



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

         As soon as the OCR Analysis Subprocess is started it
         will initialize and wait for reception of the first
         message or a close down command from SSC.

         On command from SSC, OAS shall terminate its current
         processing and bring it self into a stopped state.



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̲

         No checkpointing or recovery is performed by the OAS.



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

         Errors detected by the subproces is either internal
         software errors or unknown CC's delivered by System
         Software.

         Detection of an error which OAS cannot handle itself
         shall cause OAS to stop processing and transfer control
         to SSC for further handling of the situation.



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

         No software fault will effect more than one transaction.





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

         Log information on OCR transactions shall be collected
         and reported to the log subpackage. Log information
         shall be reported at the time of completion of transaction
         received from the OCR. The following information will
         be contained in the log:

         -   Device designator
         -   Transaction serial number
         -   Format id
         -   Log time
         -   Classification
         -   Special Handling



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

         The OAS has implemented the security related functions:

         a)  OAS prevent, by validation, that illegal transactions
             can be initiated.

         b)  Access to queues are checked by System Software.




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



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

         The equipment environment of this package is the CR80D
         computer.



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



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

         OAS' system software consists of the following components:

         -   DAMOS
         -   CAMPS System Functions
         -   Message Management System
         -   Storage and File Management



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

         Development software is standard DAMOS and TOS utilities
         resident in a single CR80D configuration.



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

         Ref. doc. CPS/ICD/009



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



3.3.2.1  T̲r̲a̲f̲f̲i̲c̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲(̲T̲H̲P̲)̲ ̲I̲/̲F̲

         Messages which has been validated and converted successfully
         shall by OAS be queued to THP for routing and ACP-conversion.





3.3.2.2  L̲o̲g̲ ̲a̲n̲d̲ ̲A̲c̲c̲o̲u̲n̲t̲a̲b̲i̲l̲i̲t̲y̲ ̲(̲L̲o̲g̲)̲ ̲I̲/̲F̲

         Log records collected by OAS shall be queued to Log.
         OAS then receives an accept from Log.



3.3.2.3  S̲S̲C̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲I̲/̲F̲

         On command from SSC OAS shall stop its current processing.



3.3.2.4  T̲a̲b̲l̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲(̲T̲M̲P̲)̲ ̲I̲/̲F̲

         TMP provides access to tables, global number series
         and system parameters. The tables accessed by OAS includes:

         DEVICE ̲TABLE
         AIG ̲TABLE
         PLA ̲TABLE
         SCD ̲TABLE

         Global no. series:

         Transaction serial no.



3.3.2.5  M̲e̲s̲s̲a̲g̲e̲ ̲S̲e̲r̲v̲i̲c̲e̲ ̲O̲p̲e̲r̲a̲t̲o̲r̲ ̲(̲M̲S̲P̲)̲ ̲I̲/̲F̲

         If the OCR Analysis Subpackage detects errors during
         the analysis, it will be sent to the MSO for garble
         correction.

         If the message has the precedence flash, found by validation,
         a flash notification will be sent to the MSO.



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̲

         Security interrogations and warnings are performed
         by TEMCO (SSC) without the knowledge of OAS. SSC software
         is requested by the Message Management Software to
         execute the interrogation/warning when access to a
         message is requested by OAS. Access by OAS will only
         be allowed if granted by SSC software.



                    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̲

         The OCR Analysis Package consists of one subprocess
         the OCR Analysis Subpackage (OAS), which contains the
         software needed for validation and conversion of messages
         read from the OCR.



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̲

         This section contains a description of the main functions
         of the OCR Analysis Subpackage (OAS).

         The aim of this description is to identify and make
         a priority of the subfunctions. The description is
         carried out to a level where subfunctions with self-contained
         implementation may be isolated.



4.1.1.1  T̲E̲M̲C̲O̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         As soon as the OAS subprocess is started it is ready
         to receive messages for analysis.

         TEMCO can at any time send a stop command to the OAS
         queue with highest priority. When the OAS has received
         the command it will reply an acknowledge and immediately
         stop.



4.1.1.2  R̲e̲c̲e̲p̲t̲i̲o̲n̲ ̲o̲f̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲

         The OAS can receive messages for validation from two
         packages: THP and MSO. The messages received from both
         packages will look alike.

         The CIF's received will contain the text in field 10
         and control information in field 9.

         The text lines will consist of keywords and text connected
         to the keywords, though not all lines needs a keyword.
         The key word field of a line is the first nine positions.





4.1.1.3  H̲a̲n̲d̲l̲i̲n̲g̲ ̲o̲f̲ ̲R̲e̲c̲e̲i̲v̲e̲d̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲

         The OAS will read the text part of the message line
         by line. When a line has been read it will be analyzed
         and converted, and the result will be put back into
         the CIF in order to satisfy the Internal Message Format
         (IMF).

         The analysis of a line consists of a keyword analyze,
         validation and conversion. The keyword analyze will
         compare the content of the key word field with an internal
         table. If the keyword does not exist or if it is sequenced
         wrongly the analysis will stop immediately and the
         messages will be sent for garble correction.

         When a keyword is recognized the text connected to
         it is validated and converted as if it was read from
         the VDU and the result is also stored in the same manner.

         Errors found during keyword analysis or validation
         will be converted into plain text and written into
         field 9 of the CIF, which is sent of to the MSO.



4.1.1.4  S̲e̲n̲d̲i̲n̲g̲ ̲t̲h̲e̲ ̲C̲I̲F̲'̲s̲

         When a message is analyzed, validated and converted
         correct the resulting CIF is sent to the conversion
         package ACS for further distribution.

         If a message contains keyword or validation errors
         it is sent for OCR garble correction at the MSO. The
         first time a message is sent for garble correction
         a send function is used, the following times the function
         send reply is used. If the message is found to be a
         flash message a flash notification is sent together
         with the message.



4.1.1.5  L̲o̲g̲g̲i̲n̲g̲

         When a CIF is received from THP a log record is generated
         and send to the Log package. The exit cause passed
         to the Log package can either be OCR ̲OK or OCR ̲ERROR:
         When the log record is sent no further action is taken
         until a log ack is received from the Log package.





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

         In this section the software structure will be described.

         The OCR Analysis process communicates with two packages:
         THP and TEP.

         THP contains the programs for receival and transmission
         of OCR messages, while TEP will contain programs for
         conversion from OCR message format to internal CAMPS
         format and for correction of garbled messages.

         The OAS subprocess will be implemented as a process
         without any coroutines.



4.1.2.1  O̲A̲S̲ ̲P̲r̲o̲c̲e̲s̲s̲

         In figure 4.1.2.1-1 OCR ̲S is the subprocess in THP
         while OAS ̲S is the subprocess in TEP.

         The numbers in the figure corresponds to the following:

         1)  The message entered and the (possible remote) OCR
             unit is send via a communicaiton line and received
             by OCR ̲S, who performs:

             -   control of message begin/end
             -   stores the message in a CIF.

         2)  The message stored in the CIF is sent to OAS ̲S,
             who performs:

             -   conversion of the message to internal message
                 format in the CIF.

         3)  During conversion of the message OAS ̲S uses TMP
             tables for validation and conversion.

         4)  The successfully converted CIF is sent to ACS for
             further conversion to ACP127.

         5)  The ACP127 form of the OCR message is sent on a
             transmission line.



         6)  Local distribution of OCR message.

         7)  A garbled OCR message is sent to MSO for garble
             correction. The MSO will edit the message.

         8)  The corrected message is returned to OAS ̲S for
             new analysis.

         9)  When a message is received from the OCR ̲S the OAS
             ̲S will generate a log record which is sent to the
             Log.

         10) The Log package will reply with a log acknowledge.

















































                     FIGURE 4.1.2.1-1
                      OAS STRUCTURE



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



4.2.1    O̲C̲R̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲



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

         The OCR Analysis Subpackage performs the following
         tasks:

         An OCR message is received in a CIF with the message
         stored in CIF field 9 in the OCR format (refer ICD/008).
         The contents of CIF field 9 is validated, converted
         and stored in CIF fields 1, 2, 3, 4, 5 and 8 in the
         same format as a message prepared at a CAMPS user terminal.
         Error codes for errors detected during analysis of
         the message is written to CIF field 10 in plain text.

         If the conversion is OK the CIF is sent to THP for
         transmission and local distribution - else the CIF
         is sent to the MSO for garble correction.

         OCR analysis may receive message from more than one
         OCR unit. The OCR is identified by the channel id in
         the ACP127 parameter field in the CIF.

         OCR analysis accepts a stop command from SSC.



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

         The software structure of the OAS is shown in figure
         4.2.1.2-1.

         The main design criteria was to use as much code as
         possible from VUP, thus many of the following sections
         will refer SDS/039.

         Raughly spoken the subpackage consists of VDIA plus
         USPR where:

         VDIA ̲MAIN is replaced by OCRA ̲MAIN
         VDU ̲ACCESS is replaced by MESS ̲SCAN
         VDU ̲ERRL is replaced by MESS ̲ERROR
         VDIA ̲DAT is replaced by OCRA ̲DATA
         SEMAN ̲VAL is replaced by OCR ̲SEMAN



         There is one fixed FCP program (raughly A1 + A2 from
         the user) which is placed permanent in the process
         data.



4.2.1.2.1    O̲C̲R̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲(̲O̲C̲R̲A̲ ̲M̲A̲I̲N̲)̲

         This module contains the main loop of the OAS, with
         the main waiting point. The module handles SSC commands.
         Receiving CIF's.

         Sets up required CIF handling, i.e. open views, changes
         the profile of the CIF etc.

         Sets up parameters and data for call of FCPI ̲MAIN.

         Sends CIF's and flash notifications. Perform log.

















































                     FIGURE 4.2.1.2-1
                  OAS SOFTWARE STRUCTURE



4.2.1.2.2    M̲e̲s̲s̲a̲g̲e̲ ̲S̲c̲a̲n̲ ̲(̲M̲E̲S̲S̲ ̲S̲C̲A̲N̲)̲

         The module scans the messages for keywords. When a
         keyword is found, it will be analyzed and if the analysing
         turned out to be successfully, the following characters
         will be extracted to a "field" and passed on to the
         format control interpreter, which in turn will pass
         it on to syntax procedures for validation.



4.2.1.2.3    M̲e̲s̲s̲a̲g̲e̲ ̲E̲r̲r̲o̲r̲ ̲(̲M̲E̲S̲S̲ ̲E̲R̲R̲O̲R̲)̲

         When message scan, syntax or semantic procedures has
         detected an error this module makes a suitable error
         entry in the error list in CIF field 10. The error
         messages is given in palin text.



4.2.1.2.4    C̲I̲F̲ ̲A̲c̲c̲e̲s̲s̲ ̲M̲e̲t̲h̲o̲d̲ ̲(̲C̲A̲M̲)̲

         Performs the actual read and write to CIF'S. The module
         is the same as used in the VDU User Package (VUP)(refer
         SDS/039 section 4.2).



4.2.1.2.5    M̲e̲m̲o̲r̲y̲ ̲A̲c̲c̲e̲s̲s̲ ̲M̲e̲t̲h̲o̲d̲ ̲(̲M̲E̲M̲ ̲A̲C̲C̲)̲

         Refer SDS/039 section 4.2.



4.2.1.2.6    M̲e̲m̲o̲r̲y̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲(̲M̲E̲M̲ ̲M̲A̲N̲)̲

         Refer SDS/039 section 4.2.



4.2.1.2.7    F̲o̲r̲m̲a̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲I̲n̲t̲e̲r̲p̲r̲e̲t̲e̲r̲ ̲(̲F̲C̲P̲I̲)̲

         Refer SDS/039 section 4.2.





4.2.1.2.8    S̲y̲n̲t̲a̲x̲ ̲V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲(̲O̲C̲R̲ ̲S̲Y̲N̲T̲A̲X̲)̲

         This module contains a set of procedures which are
         able to validate all fields which possible could be
         contained in an OCR message.



4.2.1.2.9    S̲e̲m̲a̲n̲t̲i̲c̲ ̲V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲(̲O̲C̲R̲ ̲S̲E̲M̲A̲N̲)̲

         This module contains procedures for semantic validation
         of the OCR messages.



4.2.1.2.10   O̲C̲R̲ ̲D̲A̲T̲A̲

         Contains all data needed in the OCR Analysis process.



4.2.1.2.11   O̲C̲R̲ ̲F̲C̲P̲

         This module contains the format control program for
         an OCR message. The FCP controls sequencing of the
         validation and conversion. Further more the FCP state
         where to store the converted data.



4.2.1.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲

         The data flow within the OAS take roughly spoken place
         from a CIF to the same CIF.

         The data is read from the CIF by the MESS ̲SCAN module,
         which performs the keyword analysis.

         When a keyword is analyzed successfully, that is if
         it is found in the keyword table and it is sequenced
         correct, the data is passed on to the proper syntax
         procedure. The syntax procedure will in turn validate
         the content of the field and activate storage.

         The STORE ̲FIELD procedure writes the result of the
         conversion, which also has been performed by the syntax
         procedure.



         The Format Control Program connected to the OCR analysis
         decides the sequence of the actions to be performed.



4.2.1.4  O̲A̲S̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.1    O̲C̲R̲ ̲A̲n̲a̲l̲y̲z̲e̲ ̲M̲a̲i̲n̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲(̲O̲C̲R̲A̲ ̲M̲A̲I̲N̲)̲



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̲

         OCR ̲MAIN handles SSC commands, analyzes and converts
         CIF's received from the OCR analyze queue (OAQ).

         S̲S̲C̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲

         When a closedown or a stop command is received in the
         command queue the process is stopped until a start
         command is received.

         C̲I̲F̲'̲s̲ ̲r̲e̲c̲e̲i̲v̲e̲d̲ ̲i̲n̲ ̲r̲e̲s̲p̲o̲n̲s̲e̲ ̲o̲r̲ ̲t̲r̲a̲f̲f̲i̲c̲ ̲s̲u̲b̲q̲u̲e̲u̲e̲

         When a CIF has been received in either traffic or response
         subqueue, the data required by FCP interpreter is set
         up and the analysis and conversion of the CIF is started.

         If no errors was detected the CIF is sent to ACS, otherwise
         it is sent to the MSO for garble correction.

         If the CIF allready have been treated by the MSO, the
         MSO should be replied both if it now is error free
         and if there still are errors in the message.

         If the message now is OK an ACK is replied, otherwise
         the message is returned to the MSO for further correction.



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

         Procedure O̲C̲R̲A̲ ̲M̲A̲I̲N̲

         (R6)    DUMMY LINK





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

         Procedure A̲N̲A̲L̲Y̲Z̲E̲ ̲T̲R̲A̲F̲F̲I̲C̲

         (R2  C  K   QEL REFERENCE
          R6) C  -   LINK

         ANALYZE ̲TRAFFIC analyzes and converts a CIF received
         from the traffic queue.

         This procedure creates a new view of the CIF and sets
         up data (i.e. OAS ̲ACCOUNT, INIT ̲AREA and view attributes)
         before calling MINI ̲VDIA, which makes the actual analyze
         and conversion of the CIF.

         If the analyze and conversion is OK the CIF is sent
         to ACS otherwise the CIF is handed over to MSO.

         At last the view is dismantled.

         Procedure A̲N̲A̲L̲Y̲Z̲E̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲

         (R2  C  K   QEL REFERENCE
          R6) C  -   LINK

         ANALYZE ̲RESPONSE analyzes and converts a CIF received
         from the response queue.

         This procedure creates a new view of the CIF and sets
         up data (i.e. OAS ̲ACCOUNT, INIT ̲AREA and view attributes)
         before calling MINI ̲VDIA, which makes the actual analyze
         and conversion ot the CIF.

         If the analyze and conversion is OK the CIF is sent
         to ACS and an ACK is sent to the MSO.

         Otherwise the CIF is handed over to MSO. At last the
         view is dismantled.

         Procedure S̲S̲C̲ ̲C̲O̲M̲M̲A̲N̲D̲

         (R1  -  R   NEXT SUBQUEUE
          R2  C  K   QEL REFERENCE
          R4  C  K   %RECEIVE QEL ATTRIBUTES
          R6) C  -   LINK

         SSC ̲COMMAND is called when a QEL is received in the
         COMMAND ̲SUBQUEUE. The procedure decides whether to
         start or to stop the process.



         S̲S̲C̲ ̲c̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲C̲L̲O̲S̲E̲ ̲D̲O̲W̲N̲ ̲o̲r̲ ̲S̲T̲O̲P̲

         NEXT ̲SUBQUEUE is set to SSC command queue, which means
         that the process reacts only or QEL's sent to SSC command
         queue.

         S̲S̲C̲ ̲c̲o̲m̲m̲a̲n̲d̲ ̲=̲ ̲S̲T̲A̲R̲T̲

         NEXT ̲SUBQUEUE is set to main queue(Q), which means
         that the process will react on all the subqueues.

         At last the procedure sends TEP ̲ACK to SSC.

         Procedure M̲I̲N̲I̲ ̲V̲D̲I̲A̲

         (R1  -  R   COMPLETION CODE
          R6) C  -   LINK

         MINI ̲VDIA reset memory management, CIF access method,
         calls initialization procedure for the "VDU ̲ACCESS
         ̲METHOD" and sets up data for the FCP interpreter.

         Further more return address and stackpointer for LONG
         ̲EXIT is set up.

         When the necessary data has been set up the FCP interpretation
         is started.

         Semantic validation is activated if no syntax or keyword
         errors was detected during analyze and conversion of
         the CIF.

         Errors: When a keyword, syntax or semantic error was
                 detected by the FCPI MINI ̲VDIA returns with
                 NOT ̲OK. If a keyword error was detected message
                 scan is stopped with LONG ̲EXIT.

         Procedure S̲E̲N̲D̲ ̲C̲O̲Q̲

         (R4  C  K   %OAS ̲ACCOUNT
          R6) C  -   LINK

         This procedure sends a CIF to COQ when the message
         is analyzed and converted OK.



         Procedure C̲H̲A̲N̲G̲E̲ ̲P̲R̲O̲F̲I̲L̲E̲

         (R5  C  K   %OAS ̲ACCOUNT
          R6) C  -   LINK

         This procedure changes the access profile for a CIF
         according to the informations in OAS ̲ACCOUNT.

         Procedure O̲P̲E̲N̲ ̲V̲I̲E̲W̲

         (R2  C  K   VIEW REFERENCE
          R6) C  -   LINK

         This procedure creates a view to the CIF and puts the
         view reference in GLOBAL ̲DATA.PRIMARY ̲ITEM.

         Procedure I̲N̲I̲T̲ ̲M̲0̲ ̲M̲1̲

         (R4  -  R   %INIT ̲AREA
          R5  -  R   %OAS ̲ACCOUNT
          R6) C  -   LINK

         This procedure initializes INIT ̲AREA and OAS ̲ACCOUNT,
         which should be done before calling MINI ̲VIDA.

         TMP is called in order to get the actual classification
         belonging to the device, which the message is received
         from.

         Procedure L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲

         (R1  C  K   E ̲OCR ̲OK/E ̲OCR ̲ERROR
          R6) C  -   LINK

         This procedure generates a log record containing:

         -    device designator
         -    format id
         -    exit cause
         -    classification
         -    special handling
         -    transaction serial number
         -    transaction start time

         Then a buffer is received and sent to the Log.

         Further more data are set up for reception of a log
         acknowledge.



         Export procedure L̲O̲N̲G̲ ̲E̲X̲I̲T̲

         (R0  C  -   COMPLETION CODE
          R6  C      DUMMY LINK

          R2  -  R   PARA 2 IN ANSWER OPERATION
          R3  -  R   PARA 3 IN ANSWER OPERATION

         The procedure jumps back to main loop with spedified
         completion code. The link register is dummy as the
         procedure will never return to caller.

         Export procedure S̲T̲A̲C̲K̲ ̲E̲R̲R̲O̲R̲

         (R6  C  -   DUMMY LINK

          R0  C  -   SEE DESCRIPTION BELOW
          R7  C  -   SEE DESCRIPTION BELOW

         Called in the error exit for stack overflow as follows:

         Switch CSP((P ̲STACK = RO) & INTEGER, (-SIZE(WORK))=R7):
              ERROR ̲OK to
              ERROR: STACK ̲ERROR (R6)
         END

         The procedure calls TEP ̲INT ̲ERROR. The registers must
         correspond to the order sequence above.



4.2.1.4.2     M̲e̲s̲s̲a̲g̲e̲ ̲S̲c̲a̲n̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲(̲M̲E̲S̲S̲ ̲S̲C̲A̲N̲)̲



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

         This module reads the OCR message line by line (line
         = IOC header record) recognizes keywords and converts
         the data into a stream of fields. These fields are
         requested by FCPI calling the procedure INPUT ̲VDU ̲FIELD
         in this module.

         The VDU ̲FIELD ̲TYPE's (in sense of VDU I/O in VDIA)
         corresponds exactly to KEYWORDs in the OCR message.
         The recognition of keywords are in fact the basis for
         assigning VDU field types to data items in the message.



         The FCP must use the types in ascending order. Redundant
         input of fields of types OCR ̲FIELD, ZZZZ ̲
         FIELD and END ̲MESS ̲FIELD should be included in FCP
         in order to ensure that the message has proper start
         and ending.

         Default blank fields are supplied when optional keywords
         have been omitted in the message.

         Two sequences are used for sequenced input of message
         and sequenced output of user messages. These sequences
         must be initialized by FCP prior to the first INPUT
         FIELD.

         If any error is found by this module an error message
         is made followed by a long exit - so that the remaining
         part of FCP is bypassed. A list of the error conditions
         are found under the description of procedure "INPUT
         ̲VDU ̲FIELDS.



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

         Procedure I̲N̲P̲U̲T̲ ̲V̲D̲U̲ ̲F̲I̲E̲L̲D̲

         (R0  -  R   FIELD REPLICA (= 0, if not found)
          R1  C  K   VDU FIELD TYPE
          R2  C  K   BYTE COUNT
          R3  C  K   DATA BYTE OFFSET
          R4  C  K   DATA POINTER
          R5  C  K   RECORD TYPE (FIXED/VARIABLE)
          R6) C      LINK



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

         Procedure N̲E̲X̲T̲ ̲F̲I̲E̲L̲D̲

         (R1  -  R   %FIELD
          R2  -  R   BYTE OFFSET
          R3  -  R   FIELD SIZE (= 0, if no data)
          R4  C  K   FILED TYPE
          R6) C      LINK

         Delivers pointer and size for the next field of the
         specified type. If no field is found a zero is returned
         in R3.



         Procedure N̲E̲W̲ ̲T̲Y̲P̲E̲

         (R1  C  K   REQUESTED FIELD TYPE
          R2  -  R   RESULT (KEYWORD ̲PRESENT/NOT ̲PRESENT)
          R6) C      LINK

         Skip possible empty lines so that the buffer contains
         a keyword with type = requested field type.

         Procedure N̲E̲X̲T̲ ̲L̲I̲N̲E̲

         (R3  -  R   LINE TYPE (OCR LINE TYPE)
          R6)

         Input the next line (IOC record) to the IOC and line
         buffer. Searches for keyword. Updates the variables:

              BUF ̲DATA ̲PT
              BUF ̲DATA ̲TOP
              BUF ̲FIELD ̲TYPE    (if keyword in line)
              BUF ̲LINE ̲NO

         The procedure performs LONG ̲EXIT if unknown keyword
         found.

         Procedure F̲I̲N̲D̲ ̲K̲E̲Y̲W̲O̲R̲D̲

         (R1  -  R   COMPLETION (KEYWORD PRESENT/NOT PRESENT)
          R2  -  R   NEW FIELD TYPE
          R6) C      LINK

         Searches the KEYWORD ̲REC array until the keyword is
         found or all keywords has been checked.

         Procedure K̲E̲Y̲W̲O̲R̲D̲ ̲E̲R̲R̲O̲R̲

         (R3  C  -   ERROR TYPE
          R6) C  -   LINK

         Calls UPDATE ̲ERROR ̲LIST with the actual error type,
         line and incarnation number.

         Save count of the sequence used in the UPDATE ̲ERROR
         ̲
         LIST is performed.

         At last LONG ̲EXIT is called to bypass the remaining
         FCP statements.





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

         Delivers the next field of the type specified on not
         found.

         The fields are found by keyword recognition. If a keyword
         is omitted in the message blank default fields are
         delivered (using max field size and min. no of fields).

         If FIELDS ̲ARE ̲WORDS it is presumed that all fields
         are placed on the keyword line and seperated by spaces,
         otherwise a field is a whole line part (starting at
         line top position = column 10) and all succeding lines,
         until next keyword are treated as containing a field
         of the same type.

         If an error is found the procedure issues an error
         message and makes a LONG ̲EXIT so that the remaining
         FCP is bypassed.



4.2.1.4.2.5 I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲

         Export procedure I̲N̲I̲T̲ ̲M̲E̲S̲S̲A̲G̲E̲ ̲S̲C̲A̲N̲

         (R1  C  K   SEQUENCE ID FOR INPUT
          R2  C  K   SEQUENCE ID FOR ERROR MESS. OUTPUT
          R6) C      LINk

         Initializes variables for message scanning does not
         make any access to the sequence.



4.2.1.4.3     M̲e̲s̲s̲a̲g̲e̲ ̲E̲r̲r̲o̲r̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲(̲M̲E̲S̲S̲ ̲E̲R̲R̲O̲R̲)̲



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

         UPDATE ̲ERROR ̲LIST

         outputs a fixed sized record to error filed in CIF.
         The record contains the following:

         Line number
         Keyword
         Field replica
         Error text (Error code)



         E.g. 10 LOG DIST   1 ILLEGAL THREE LETTER GROUP

         VDU ̲FIELD ̲SIZE

         Returns the maximum size of the VDU field.



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

         Procedure U̲P̲D̲A̲T̲E̲ ̲E̲R̲R̲O̲R̲ ̲L̲I̲S̲T̲

         (R1  C  K   FIELD TYPE
          R2  C  K   FILED REPLIC
          R3  C  K   ERROR CODE
          R6) C      LINK

         Procedure V̲D̲U̲ ̲F̲I̲E̲L̲D̲ ̲S̲I̲Z̲E̲

         (R4  C  K   FIELD TYPE
          R5  -  R   MAX SIZE OF FIELD
          R6) C      LINK