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

⟦cc59c96ae⟧ Wang Wps File

    Length: 73150 (0x11dbe)
    Types: Wang Wps File
    Notes: CECOM                     
    Names: »1612A «

Derivation

└─⟦121503e5a⟧ Bits:30006255 8" Wang WCS floppy, CR 0116A
    └─ ⟦this⟧ »1612A « 

WangText



…19……0a……19……0d……19……0e……19…          …18……08……18……09……18……0e……18… …17……0a……17……00……17……07……16……0d……16…
…15……09……15……0f……15……01……15……02……15……07……14……09……14……0a……14……0f……14……06……13……0c……13…
…12……09……12……0d……12…          …11……09……11……0a……11……01……10……09……10……0e……10……0f……10……06……0f……0c……0f… …0e……0b……0e……0e……0e……0f……0e……00……0e……01……0e……02……0e…





  "Use or disclosure of quotation data is subject to the
restriction on the title page of this Proposal/Quotation."






PART II               TECHNICAL PROPOSAL                     #







4.2.3.3  M̲e̲m̲o̲r̲y̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         The addressing mechanism of the CR80 limits the address
         space seen by a process at any one time to a window
         of 2 x 64K words.  Due to the virtual memory concept
         of DAMOS a process may, however, change the "position"
         of the window, thus leading to a practically unlimited
         addressing capability.

         The finest granularity of the virtual memory known
         to a process is a segment.  Segments can be created
         and deleted.  They have unique identifiers and may
         have different sizes.  A process which has created
         a segment may allow others to share the segment by
         explicitly identifying them and stating their access
         rights to the segment.
 
         The Page Manager implements virtual memory.  The actual
         space allocated in a Processing Unit to a process may
         be only a few segments, while the logical address space
         is the full 2 x 64k words.  Whenever addressing of
         a segment, that is not in physical memory, is attempted,
         the Page Manager will bring in the addressed segment.



4.2.3.4  P̲r̲o̲c̲e̲s̲s̲ ̲C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲

         Synchronization of processes and communication between
         them is supported in DAMOS by objects called Synchronization
         Elements (synch elements) which are referred to by
         symbolic names and may thus be known by processes system-wide.


         In DAMOS a process cannot "send" a block of data directly
         to another process identified by name.  The exchange
         must be done using a synch element.



4.2.3.5  C̲P̲U̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         The CPUs in a processing unit may be pooled and a given
         process is allocated processing power from one such
         pool.  In this way CPUs can be dedicated processes.



4.2.3.6   P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲U̲n̲i̲t̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

          The DAMOS Kernel provides facilities for managing the
          logical connections between the individual Processing
          Units attached to a Supra Bus.

          PUs may be connected logically into groups.  The number
          of PUs in a group may vary from 1 to 16.  Two groups
          may be merged, the result being a new PU-group.

          Objects are identified by symbolic names having either
          local or global scope.  They are accessible from all
          PUs in the group where they reside.

          PU Management provides functions for inclusion of a
          PU in a PU-group.

          A logical connection between two PUs is not established
          until both have received an include request from the
          opposite.  When trying to connect two PU-groups, conflicts
          between the use of global names may arise.  Therefore,
          a connection is only established if the scope of all
          names can be maintained.

          The PU Management is designed to allow graceful degradation
          when purposely closing a PU or isolating a faulty PU.
           It is possible from a PU to force a member out of
          its common group.  All PUs in the group are informed
          to break their logical connection to the designated
          PU.  As a consequence all global objects residing in
          the isolated PU are thereafter unknown to the group.
           If not faulty, the isolated PU continues executing
          its local processes and is ready to receive new include
          requests.



4.2.3.7   B̲A̲S̲I̲C̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲S̲e̲r̲v̲i̲c̲e̲

          The Basic Transport Service (BTS) offers DAMOS processes
          and device handlers the possibility to communicate
          with other remote or local processes and device handlers.

          Processes and device handlers - in the following called
          Service Users (SU) - may be addressed indirectly via
          ports.



          A service user can dynamically be tied to a port. 
          When a service user wants to communicate with another
          service user, the former service user requests a connection
          to be established between (one of) his own port(s)
          and a port to which the remote service user is tied.

          Once such a connection has been established, the two
          service users may exchange data and control information
          across the connection.

          The figure overleaf depicts the possible connections
          within a multiple PU node.


    (skema med tekst "Gateway process, not part of BTS)


4.2.3.7.1 S̲e̲r̲v̲i̲c̲e̲ ̲T̲y̲p̲e̲s̲

          The BTS offers two different types of service:

          -   stream service and
          -   message service

          In the first type of service data flows as a logically
          continuous stream from one SU to the other.  The blocking
          of data into buffers performed by the transmitting
          SU is not seen by the receiving SU.

          In the second type of service the buffers are treated
          as semantic entities and transmitted as such.  I.e.,
          a homomorph correspondance between transmit and receive
          buffers is enforced.



4.2.4     D̲A̲M̲O̲S̲ ̲I̲n̲p̲u̲t̲/̲O̲u̲t̲p̲u̲t̲

          DAMOS supports input/output (I/O) from user programs
          at different levels.

          At the lowest level user programs can interact with
          device handlers directly and transfer blocks of data
          by means of the Basic Transport Service module.  This
          interface is illustrated in the figure on next page.

          Device control is exercised via the Device Manager
          functions.  Data is transfered between the user process
          and the device handler using a port in the user process
          and a port in the device handler.

          At a higher level DAMOS offers a more structured I/O
          facility under the DAMOS I/O System (IOS).

          The IOS provides a uniform, device independent interface
          for user processes to

          -   disk files
          -   magnetic tape files
          -   interactive terminals
          -   communication lines
          -   line printers



          The IOS is a set of standard interface procedures through
          which a user communicates with a class of DAMOS service
          processes known as General File Management Systems.
           General File Management Systems include:

          -   the File Management System which implements disk
              files

          -   the Magnetic Tape File Management System for magnetic
              tape files

          -   the Terminal Management System for communication
              lines, interactive terminals and printers.

          The General File Management Systems provide functions
          which are classified as:

          -   device handling
          -   user handling
          -   file handling
          -   file access

          The common file access functions provided by the IOS
          are readbytes for input and appendbyte and modifybytes
          for output.


       Skema under afsnit 4.2.5 DAMOS Input/Output.


          These basic functions are used for transfer of blocks
          of data.

          On top of these functions the IOS provides a stream
          I/O facility where the IOS handles the blocking and
          buffering of data.



4.2.4.1   F̲i̲l̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲S̲y̲s̲t̲e̲m̲

          The File Management System (FMS) is responsible for
          storing, maintaining, and retrieving information on
          secondary storage devices (disks).

          The number and kind of devices attached to the FMS
          is dynamically reconfigurable.

          The following subjects are handled:

          -   devices and volumes
…02…-         directories
          -   files
          -   users
          -   integrity
          -   access methods



4.2.4.1.1 D̲e̲v̲i̲c̲e̲ ̲a̲n̲d̲ ̲V̲o̲l̲u̲m̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

          The file system may be given commands concerning:

          -   Management of peripheral devices.
              Devices may be assigned to and deassigned from
              the file system dynamically.  Instances of device
              handlers are at the same time created or deleted.

          -   Management of volumes.
              Volumes may be mounted on and dismounted from specific
              devices.





4.2.4.1.2 D̲i̲r̲e̲c̲t̲o̲r̲i̲e̲s̲

          The file system uses directories to implement symbolic
          naming of files.  If a file has been entered into a
          directory under a name specified by the user, it is
          possible to locate and use it later on.  Temporary
          files does not need to be named.  A file may be entered
          into several directories, perhaps under different names.
           Since a directory is also considered a file, it can
          itself be given a name and entered into another directory.
           This process may continue to any depth, thus enabling
          a hierarchical structure of file names.



4.2.4.1.3 F̲i̲l̲e̲s̲



4.2.4.1.3.1   F̲i̲l̲e̲ ̲T̲y̲p̲e̲s̲

          The file system supports two different organizations
          of files on disk.  Al contiguous file consists of a
          sequence of consecutive sectors on the disk.  The size
          of a contiguous file is fixed at the time the file
          is created and cannot be extended later on.  A random
          file consists of a chain of indices giving the addresses
          of areas scattered on the volume.  Each area consists
          of a number of consecutive sectors.  The number of
          sectors per area is determined at creation time, whereas
          the number of areas may increase during the lifetime
          of the file.



4.2.4.1.3.2   F̲i̲l̲e̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲

          The commands given to the file system concerning files
          may be grouped as:

          -   Creation and removal of files.
              A user may request that a file is created with
              a given set of attributes and put on a named volume.



          -   Naming of files in directories.
              A file may be entered into a directory under a
              symbolic name.  Using that name it is possible
              to locate the file later on.  The file may also
              be renamed or removed from the directory again.

          -   Change of access rights for a specfic user group
              (or the public) vis a vis a file.  The right to
              change the access rights is itself delegatable.



4.2.4.1.4 U̲s̲e̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

          The file management system may be given commands concerning:

          -   Creation and Removal of users (processes)



4.2.4.1.5 D̲i̲s̲k̲ ̲I̲n̲t̲e̲g̲r̲i̲t̲y̲



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

          The protection of data entrusted to the file management
          system is handled by two mechanisms:

          The first mechanism for access control is based on
          the use of Access Control Lists (ACL).  There is an
          ACL connected to each file.  The ACL is a table which
          describes the access rights of each individual user
          group (one being the public) to the corresponding file.
           Whenever a user tries to access a file, the ACL is
          used to verify that he is indeed allowed to perform
          this access.

          The second mechanism for access control is based on
          a security classification system.  Each user and each
          file is assigned a classification.  The user classification
          is recorded in the user control block and the file
          classification is recorded on the volume.  An access
          to a file is only allowed if the classification levels
          of the user and the file match to each other.



4.2.4.1.5.2   R̲e̲d̲u̲n̲d̲a̲n̲t̲ ̲D̲i̲s̲k̲s̲

          The FMS allows use of redundant disk packs, which are
          updated concurrently to assure that data will not be
          lost in case of a hard error on one disk.

          The FMS allows exclusion of one of the two identical
          volumes, while normal service goes on on the other
          one. After repair it is possible to bring up one volume
          to the state of the running volume, while normal service
          continues (perhaps with degraded performance).

          The bringing up is done by marking a raw copy of the
          good disk to that which should be brought up. While
          the copying takes place all read operations are directed
          to both disks.



4.2.4.1.5.3   B̲a̲d̲ ̲S̲e̲c̲t̲o̲r̲s̲

          The FMS is able to use a disk pack with bad sectors,
          unless it is sector 0.

          The bad sectors are handled by keeping a translation
          table on each volume from each bad sector to an alternative
          sector.

          While using redundant disks the translation tables
          of the two disks must be kept identical to assure that
          all disk addresses can be interpreted in the same way.
          If bad sectors are detected while bringing up a disk,
          they are marked as such on both disks and both translation
          tables are updated accordingly.



4.2.4.1.6 A̲c̲c̲e̲s̲s̲ ̲M̲e̲t̲h̲o̲d̲s̲

          The file management system implements two access methods
          to files:




4.2.4.1.6.1   U̲n̲s̲t̲r̲u̲c̲t̲u̲r̲e̲d̲ ̲A̲c̲c̲e̲s̲s̲

          For transfer purposes a file is considered simply as
          a string of bytes. It is, therefore, a byte string
          which is transferred between a file and a user buffer.
          The user can directly access any byte string in a file.

          The commands which are implemented by this access methods
          are:

          READBYTES      -  Read a specified byte string

          MODIFYBYTES    -  Change a specified byte string

          APPENDBYTES    -  Append a byte string to the end of
          
                              the file.



4.2.4.1.6.2   I̲n̲d̲e̲x̲e̲d̲ ̲S̲e̲q̲u̲e̲n̲t̲i̲a̲l̲ ̲A̲c̲c̲e̲s̲s̲

          CRAM is a multi-level-index indexed sequential file
          access method. It features random or sequential (forward
          or reverse) access to records of 0 to n bytes, n depending
          on the selected block size, based on keys of 0-126
          bytes. The collating sequence is using the binary value
          of the bytes so e.g. character strings are sorted alphabetically.

          CRAM is working on normal contiguous FMS files which
          are initialized for CRAM use by means of a special
          CRAM operation.

          The CRAM updating philosophy is based on the execution
          of a batch of related updatings, which all together
          forms a consistent status change of the CRAM file,
          being physically updated as a single update by means
          of a LOCK operation. That is, after such a batch of
          updates, all these updated may either be forgotten
          (by means of the FORGET operation) or locked (by means
          of the LOCK OPERATION). Both operations are performed
          without critical regions, i.e. without periods of CRAM
          data base inconsistency.

          For convenience, CRAM supports subdivision of the CRAM
          file in up to 255 subfiles, each identified by a subfile
          identifier of 0-126 byte (as a key).


          CRAM keeps track of the different versions of the CRAM
          data base by means of a 32 bit version number, which
          is incremented every time CRAMNEWLOCK (the locking
          operation) is called. This version number can only
          be changed by CRAMNEWLOCK (and CRAMINIT), but if the
          user intends to use it for some sort of unique update
          version stamping, it is delivered by the operations
          CRAMNEWOPEN, CRAMNEWLOCK, CRAMFORGET and CRAMNEWVERSION.



4.2.4.2   M̲a̲g̲n̲e̲t̲i̲c̲ ̲T̲a̲p̲e̲ ̲F̲i̲l̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲S̲y̲s̲t̲e̲m̲

          The Magnetic Tape File Management System (MTFMS) is
          responsible for storing and retrieving information
          on magnetic tapes. It is able to handle one magnetic
          tape controller with a maximum of 8 tape transports
          in daisy-chain. The driver is logically split into
          3 parts:

              -   I/O-SYSTEM interface
              -   Main Processing
              -   Magnetic tape controller interface

          Commands for the MTFMS are received by the I/O-System
          interface while the controller interface implements
          a number of (low level) commands for handling a tape
          transport.

          Symbolic volume names and file names are implemented
          through use of label records which comply with the
          ISO 1001 standard.

          The functions of the file system can be separated into
          four groups:

              -   Device functions
              -   Volume functions
              -   File functions
              -   Record functions





4.2.4.2.1 D̲e̲v̲i̲c̲e̲ ̲f̲u̲n̲c̲t̲i̲o̲n̲s̲

          The following functions are defined:

              -   Assign a given name to a given unit of the
                  controller.
              -   Deassign a given device.



4.2.4.2.2 V̲o̲l̲u̲m̲e̲ ̲f̲u̲n̲c̲t̲i̲o̲n̲s̲

          -   Initiate the tape on a given device assigning a
              name to it by writing a volume label.
          -   Mount a given volume on a given device.
          -   Dismount a given volume.
          -   Rewind a given volume.



4.2.4.2.3 F̲i̲l̲e̲ ̲f̲u̲n̲c̲t̲i̲o̲n̲s̲

          -   Create a file on a given volume. The following
              information must be supplied by the caller and
              will be written onto the tape in a file header
              label records:
              -   File name
              -   Fixed/variable length record specification
              -   Record size.

              The file is opened for output and the given volume
              is reserved for the caller.

          -   Find a file with a given name on a given volume.
              The file is opened for input and the given volume
              is reserved.

          -   Skip a given number of files (backwards or forwards)
              on a given volume. The file at the resulting tape
              position is opened for input and the volume is
              reserved.

          -   Get information about the currently open file on
              a given volume. Information like file sequence
              number, record size and type (fixed/variable length)
              can be retrieved.

          -   Close currently open file on a given volume. Volume
              reservation is released.


4.2.4.2.4 R̲e̲c̲o̲r̲d̲ ̲f̲u̲n̲c̲t̲i̲o̲n̲s̲

          -   Skip a given number of records (forwards or backwards)
              in a given file.

          -   Read a record in a given file.

          -   Write a record in a given file. The MTFMS performs
              recovery from writing errors by

          -   backspacing over the record in error

          -   erasing a fixed length of about 3.7 inches (thus
              increasing the record gap).

          -   attempting the writing once more.

          This procedure will be repeated maximally 10 times.



4.2.4.3   T̲e̲r̲m̲i̲n̲a̲l̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲S̲y̲s̲t̲e̲m̲ ̲

          The TMS is a service process which manages devices
          characterized by serial blockwise access. Examples
          of such devices are:

              -   interactive terminals (screen or hardcopy)
              -   data communication equipment (modems)
              -   line printers
              -   card readers

          In the following, the phrase "terminal" is used as
          a common term for any device of this category.

          Terminals may be attached to LTUs, LTUXs (via TDX)
          and parallel interfaces.

          The TMS performs the following main functions:

              -   terminal related security validation
              -   access control for terminals
              -   collecting of statistical information
              -   management of terminals
              -   transfer of I/O data between terminal device
                  handlers and user processes.



          The following subsections define:

          - transfer of I/O data
          - user handling
          - hardware categories



4.2.4.3.1 T̲r̲a̲n̲s̲f̲e̲r̲ ̲o̲f̲ ̲I̲/̲O̲ ̲D̲a̲t̲a̲

          The TMS enables user processes to perform I/O communication
          with terminals.

          The I/O communication can be performed in two modes:
          file mode and communication mode.



4.2.4.3.1.1   F̲i̲l̲e̲ ̲M̲o̲d̲e̲

          In this mode I/O to terminals is identical to I/O to
          backing store files from the point of view of the user
          process.

          The same IOS basic procedures are used (appendbytes,
          modifybytes, readbytes) and direct as well as stream
          I/O can be used.

          This mode provides the greatest flexibility for the
          user process. This flexibility is obtained at the expense
          of an additional overhead, as all I/O requests from
          the user process will have to pass the TMS.

          File mode I/O is aimed at terminals which will be connected
          to varying processes with different security profiles.
          The terminals in question will normally be local or
          remote interactive hardcopy or screen terminals.



4.2.4.3.1.2   C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲e̲

          In this mode I/O requests from the user process are
          sent directly to the terminal handler. The I/O interface
          between the user process and the terminal device handler
          is that of the BTS and therefore inherently different
          from backing store I/O.


          Communication mode I/O is aimed at - but not limited
          to - terminals which are connected to a single user
          process throughout its lifetime.

          The terminals in question are primarily communication
          lines like e.g. trunk lines in a message switching
          network.















































                      figur inds`ttes






4.2.4.3.2 U̲s̲e̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

          Before a user process can make use of the TMS functions,
          it must be logged on to the TMS by means of th Useron
          command. This command must be invoked by a process
          which is already known by the TMS, either through another
          Useron command or because it is the parent process
          for the TMS.

          In the Useron command the calling process grants some
          of its TMS resources to the process which is logged
          on to the TMS in the Useron command.

          When a user process seizes to use the TMS, its TMS
          resources must be released by a call of Useroff.



4.2.4.3.3 H̲a̲r̲d̲w̲a̲r̲e̲ ̲C̲a̲t̲e̲g̲o̲r̲i̲e̲s̲

          The TMS recognizes the following categories of equipment:

              -   T̲e̲r̲m̲i̲n̲a̲l̲ ̲C̲o̲n̲t̲r̲o̲l̲l̲e̲r̲ which is a line controller
                  interfacing one or more lines.

              -   L̲i̲n̲e̲, which is a group of physical signals
                  capable of sustaining one simplex or duplex
                  data stream.

              -   U̲n̲i̲t̲, which is a terminal device connected
                  to a line.

          If more than one unit is connected to a given line,
          the line is called multiplexed line.



4.2.4.3.3.1   E̲x̲a̲m̲p̲l̲e̲s̲

          1.  A parallel interface module interfacing one or
              more line printers. The line printers are units.




                          tegning





          2.  An LTU with four interface lines each connecting
              one VDU.



                          tegning






          3.  An LTU with two interface lines on which a number
              of VDUs are multidropped.





                          tegning







          4.  An X25 LTU with a single line which supports N
              virtual circuits (VC).
              Each VC is a unit.












4.2.4.3.3.2   T̲e̲r̲m̲i̲n̲a̲l̲ ̲C̲o̲n̲t̲r̲o̲l̲l̲e̲r̲s̲

          Terminal controllers may dynamically be assigned and
          deassigned by the parent process for the TMS.

          A controller can either be assigned as an active or
          as a stand-by controller.

          A stand-by controller is a device which normally is
          not active, but which may take over in case of a failure
          in an active controller.

          When an active controller is assigned for which a stand-by
          is available, this must be defined in the assignment
          command.

          The process which assigned a controller is its initial
          owner.

          Ownership of a controller may be transfered to another
          user process which is logged on to the TMS.

          When a controller is assigned, the TMS creates a corresponding
          device handler.



4.2.4.3.3.3   L̲i̲n̲e̲s̲

          The owner of a controller may assign lines to the controller.

          When a line is assigned the TMS calls the device handler
          for the controller to that effect.



4.2.4.3.3.4   U̲n̲i̲t̲s̲

          The owner of a controller with lines assigned to it
          may create units on the lines.

          Units can be created for file mode I/O or communication
          mode I/O.

          A unit created for file I/O may be a multiple or single
          access unit.



          Single access units can only be accessed by the owner
          whereas multiple access units may be accessed by a
          number of user processes.

          When the owner creates a unit, an access path to the
          unit is established. The owner may from now on access
          the unit by the IOS functions readbytes for input -
          and appendbytes, and modifybytes for output.

          Other users may obtain access to a multiple access
          unit in different ways as described in the following.

          The creator of a unit may offer it to another user
          by means of the TMS OFFER function. The user to which
          the unit is offered obtains access to the unit by the
          ACCEPT function.

          The creator of a unit may define a symbolic name -
          a unit name - for the unit. A unit name is syntactically
          identical to an FMS file name.

          Other users may obtain access to the named unit by
          the LOOKUP ̲UNIT command which corresponds to the FMS
          commands getroot, lookup and descent.



4.2.5     S̲y̲s̲t̲e̲m̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲

          When a CR80 memory mapped PU is master cleared., a
          boot strap loader is given control.

          The boot strap loader is contained in a programmed
          read-only memory which is part of the MAP module. Having
          initialized the translation tables of the MAP module,
          the boot strap loader is able to fetch a system load
          module from a disk connected to the PU.

          An initialization module which is part of the load
          module initalizes the DAMOS kernel and the DAMOS Root
          process.

          The Root process possesses all the PU resources.  The
          Root creates and intializes a system File Management
          System. 



4.3       S̲t̲a̲n̲d̲a̲r̲d̲ ̲S̲u̲p̲p̲o̲r̲t̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

          O   The support software assists in software development
              and in hardware maintenance and diagnostics. 

          The support software consists of:

          -   terminal operating system
          -   language processors
          -   system generation software
          -   debugging software
          -   utilities
          -   maintenance and diagnostics programs



4.3.1     T̲e̲r̲m̲i̲n̲a̲l̲ ̲O̲p̲e̲r̲a̲t̲i̲n̲g̲ ̲S̲y̲s̲t̲e̲m̲ ̲(̲T̲O̲S̲)̲

          TOS is an operating system which supports interactive
          terminal users in a program development environment.

          The functions performed by TOS are invoked by two types
          of requests:

          Operator commands, which are messages typed at terminals
          and sent to TOS.  The functions which may be performed
          in response to these requests are:

          -   assign/deassign disk devices
          -   mount/dismount volumes on disk drives
          -   include terminals in the system/remove terminals
              from the system
          -   log on to the system
          -   remove processes from the system
          -   broadcast messages to terminals
          -   manipulate a "news" message facility
          -   present status information
          -   run a task
          -   close the system

          Programmed requests are sent from processes to TOS.
           The functions which may be performed in response to
          these requests are:

          -   allocate resources (memory) for a task, load a
              program, and create a process to execute the program
          -   start a process


          -   stop a process
          -   restart a process
          -   logout from the system
          -   reserve a print queue file semaphore
          -   release a print queue file semaphore
          -   start a printer task



4.3.2     L̲a̲n̲g̲u̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲s̲s̲o̲r̲s̲ ̲(̲O̲p̲t̲i̲o̲n̲a̲l̲)̲

          The CR80 language processors include the following:

          -   PASCAL is a high level block-orientated language
              that offers structured and complex data and enforces
              well structured programs.  The CR80 implementation
              is based on standard Pascal as defined by Kathleen
              Jensen & Niklaus Wirth, with only minor deviations.
               The CR80 implementation provides for bit mask
              operations in addition to standard PASCAL data
              structures.  Furthermore, the CR80 implementation
              provides the following powerful additions:

              -   Compile time option enables merging assembly
                  object directly into the Pascal module.

              -   Overlay technique is supported.

              -   Built-in Trace of program execution may optionally
                  be switched in/out for debugging purposes.

              -   Sequential and random file access is available
                  from run time library.

          -   The CR80 COBOL compiler is an efficient industry-compatible
              two-pass compiler, fulfilling American National
              Standard X3.23-1974 level 1 as well as most of
              the level 2 features.

          -   SWELL 80 is a S̲oft W̲are E̲ngineering L̲ow level L̲anguage
              for the CR80 minicomputer.  SWELL offers most of
              the data and program structures of PASCAL, and,
              by enabling register control, is without the efficiency
              penalties experienced in true high-level languages.
               The main purpose of SWELL is to combine efficient
              program execution


              with efficient program development and maintenance.

          -   The assembler is a machine-orientated language
              for the CR80.  The language has a direct correspondence
              between instructions read and code generated.

          -   ADA compiler is included.  A project has been launched
              for implementation of the new DOD standard programming
              language ADA on the CR80 machine.  The project
              is planned for completion in 1983 and includes
              development of an ADA compiler hosted on and targeted
              for the CR80 as well as of an ADA programming support
              environment.  The programming support environment
              is based on the Stoneman report. Presently a subset
              of the Ada language is available producing SWELL
              code.



4.3.3     S̲y̲s̲t̲e̲m̲ ̲G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

          The utility SYSGEN-EDIT generates object files - based
          upon a set of directives, a system source, and command
          files - for subsequent compiling and linking.  A BINDER
          then binds the system object together with the application
          object based upon a command file from SYSGEN-EDIT.
           All the external references of the object modules
          are resolved in the Binder output, which is a load
          module ready for execution.  The BINDER produces a
          listing giving memory layout, module size, etc.



4.3.4     D̲e̲b̲u̲g̲g̲i̲n̲g̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

          The software debugging facilities include:

          -   Test Output Facility
          -   On-Line Interactive Debugger





4.3.5     U̲t̲i̲l̲i̲t̲i̲e̲s̲

          The CR80 utility software package will include:

          -   Editor
          -   File Copy and Compare
          -   File Merge
          -   Interactive Proper Patch Facility
          -   File Maintenance Program



4.3.6     D̲i̲a̲g̲n̲o̲s̲t̲i̲c̲ ̲P̲r̲o̲g̲r̲a̲m̲s̲ ̲(̲S̲O̲W̲ ̲4̲.̲1̲0̲)̲

          The Maintenance and Diagnostic (M&D) package is a collection
          of standard test programs which is used to verify proper
          operation of the CR80 system and to detect and isolate
          faults to replaceable modules.



4.3.6.1   O̲f̲f̲-̲l̲i̲n̲e̲ ̲D̲i̲a̲g̲n̲o̲s̲t̲i̲c̲ ̲P̲r̲o̲g̲r̲a̲m̲s̲

          The off-line M&D software package contains the following
          programs:

          -   CPU Test Program
          -   CPU CACHE Test Program
          -   Memory Map Test Program
          -   RAM Test Program
          -   PROM Test Program
          -   Supra Bus I/F Test Program
          -   CIA Test Program
          -   LTU Test Program
          -   Disk System Test Program
          -   Magtape System Test Program
          -   Floppy Disk Test Program
          -   TDX-HOST I/F Test Program
          -   Card Reader and Line Printer Test Program





4.3.6.2   O̲n̲-̲L̲i̲n̲e̲ ̲D̲i̲a̲g̲n̲o̲s̲t̲i̲c̲ ̲P̲r̲o̲g̲r̲a̲m̲s̲

          On-line Diagnostic programs will execute periodically
          as part of the exchange survailance system.  On-line
          diagnostics consists of a mixture of hardware module
          built-in test and reporting, and diagnostic software
          routines.  The following on-line diagnostic capability
          exists:

          -   CPU-CACHE diagnostic
          -   RAM test
          -   PROM test
          -   MAP/MIA test
          -   STI test
          -   Disk Controller/DCA test
          -   Tape Controller/TCA test
          -   LTU/LIA test

          On-line diagnostics will report errors to higher level
          processing to take recovery/switchover decision in
          the case of failures.



4.5       T̲R̲A̲N̲S̲M̲I̲S̲S̲I̲O̲N̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲ ̲(̲S̲O̲W̲ ̲4̲.̲2̲ ̲&̲ ̲4̲.̲3̲)̲

          The Transmission Software (or the Nodal Sub System:
          NSS) is the software located in each node of the Packet
          Switching Network.

          The purpose of the Transmission Software is the error
          free transmission of message traffic from end to end.

          The messages are packetized and routed via virtual
          circuits throughout the network. Routing is adaptive
          because nodes and/or trunks may fail.

          The adressing scheme of the network is based on the
          X.21 recommendation. By using a superior region in
          the numbering plan the network may be expanded in practice
          without limits.

          Traffic control will be maintained in the network by
          giving data, which are on their way into the network,
          a lower priority than relay data already inside the
          network. Relay data,however, are given a lower priority
          than data which are on their way out of the network.
          In this way a congestion situation will be delayed
          or even avoided.


4.5.2     N̲e̲t̲w̲o̲r̲k̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

          The internal interface of the Transmission software
          is the interface between the individual NSS'.



4.5.2.1   P̲r̲o̲t̲o̲c̲o̲l̲ ̲L̲e̲v̲e̲l̲s̲

          Level 1 is the physical layer which performs the transmission
          bits over the channel, and will not be further described
          here.

          Level 2  (Data Link Layer) will guarantee error free
          delivery of frames.  It will also have the ability
          of retransmission of selected frames so nodes may be
          connected by satellites. This layer, however, will
          be implemented in down line loadable software executed
          in communications processors or in firmware for the
          package switching network and the local area network
          respectively. It is possible to create different versions
          of the down line loadable software. By this mean package
          switching simulation can be performed in many ways.

          Level 3 (Network Layer) performs the routing and switching
          of packets from node to node.

          Level 4 (The Transport Level) performs the end-to-end
          control of messages. It ensures reliable transport
          through several interconnected networks.

          The communication as well as the network interfaces
          are shown in fig. III 4.5-3.


















































          Fig. III 4.5-3:  The Network Interface


4.5.3    T̲h̲e̲ ̲M̲o̲d̲u̲l̲e̲s̲ ̲o̲f̲ ̲t̲h̲e̲ ̲N̲S̲S̲

         The NSS will be structured in modules each consisting
         of one or more parallel tasks (co-routines).



4.5.3.1  T̲h̲e̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲S̲t̲a̲t̲i̲o̲n̲ ̲

         The main task of the Transport Station (TS) is to perform
         end-to-end control on message level.

         The TS of the originating node must therefore maintain
         a disc copy of the packets of each message which should
         be acknowledged.  If such a message is not acknowledged
         from the destination node, it must be retransmitted.

         The TS of the destination must perform a possible sorting
         of the packets of a message ensuring the propes sequence
         of their delivery, and it must return an ACK or NACK
         depending on all the packets were correctly received
         or not.

         Finally it must be mentioned that errors (trunk failure,
         node failure, congestion) may be reported from the
         underlying module.



4.5.3.2  T̲h̲e̲ ̲P̲a̲c̲k̲e̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲

         The main task of the Packet Handler (PH) is to switch
         data packets from node to node.

         The PH must maintain flow control ensuring that packets
         are not tansmitted faster than they may be received
         and buffered.  The flow control will also ensure that
         some high priority packets will be transmitted even
         during congestion conditions.



4.5.3.3  T̲h̲e̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲y̲ ̲M̲o̲d̲u̲l̲e̲

         This module will monitor the state of the node and
         report statistics and errors to the NCC, i.e network
         host.  It will also receive controlling information
         from the NCC for example Routing Tables.


4.6      C̲O̲M̲M̲U̲N̲I̲C̲A̲T̲I̲O̲N̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲



4.6.1    H̲i̲g̲h̲ ̲L̲e̲v̲e̲l̲ ̲S̲e̲r̲v̲i̲c̲e̲ ̲S̲u̲b̲s̲y̲s̲t̲e̲m̲ ̲(̲H̲S̲S̲)̲

         o   This subsystem supports the interface to the network
             at the presentation level of the OSI reference
             model.  The subsystem supports the virtual terminal
             protocol (VTP), the file transfer protocol (FTP)
             and the internal session layer protocol (ISL).
              Two simple protocols, Nodal transport interface
             (NTS) and queue interface (QI) supports the interfase
             to other submodules.

         The HSS is used when a network user wants to create
         a virtual circuit to another print in the network,
         e.g. a terminal that wants a communication with a specific
         host.  The request for the virtual circuit is serviced
         by the internal session layer.  The setup request must
         contain information about the presentation layer protocol
         (VTP of FTP) to be used on the actual virtual circuit.
          When setting up the circuit the ISL interfaces to
         the NSS through the NTI.

         The queue interface (QTF) to the HSS will contain one
         pair of queues per priority defend.  This insures quick
         response.  Only when high priority queues are empty
         lower priorities are serviced.  A special control queue
         is defined to support the session layer.  All kind
         of setup and close down requests will be inserted in
         this queue.  A virtual circuit setup request must contain
         information about distribution address, priority, rate,
         protected/nonprotected and test/operational/other.

         A special kind of session layer service is the transfer
         of statistical and billing information to the Network
         Control Center, i.e the network host.



4.6.2    T̲e̲r̲m̲i̲n̲a̲l̲ ̲A̲c̲c̲e̲s̲s̲ ̲S̲u̲b̲s̲y̲s̲t̲e̲m̲ 

         o   The Terminal access subsystem handles the layered
             interface and access  between the physical terminals
             and the network.



         The following levels are present, which will be described
         during the next paragraph:

         -1: ICC physical link layer (IPL)

         -2: ICC link layer (ILL)

         -3: ICC protocol to Network Layer (IPN)

         -4: Terminal Transport Layer (TTL)

         -5: Terminal Session Layer (TSL)

         -6: Terminal Protocol/Printer Protocol (TP/PP)

         -7: Application Layer (APP)

         T̲h̲r̲e̲e̲ ̲L̲o̲w̲e̲s̲t̲ ̲L̲e̲v̲e̲l̲s̲ 

         The 3 lowest levels ahs already been described.

         T̲e̲r̲m̲i̲n̲a̲l̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲L̲a̲y̲e̲r̲ 

         The transport layer supports a reliable transport through
         several interconnections.

         T̲e̲r̲m̲i̲n̲a̲l̲ ̲S̲e̲s̲s̲i̲o̲n̲ ̲L̲a̲y̲e̲r̲

         The terminal session layer contains all kinds of access
         and securtiy information. It manages session between
         word statistics.

         T̲e̲r̲m̲i̲n̲a̲l̲ ̲F̲o̲r̲m̲a̲t̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲ ̲L̲a̲y̲e̲r̲

         This layer contains the programs which the devices
         use to gain access to the function-oriented protocols.
         Included in the programme is the translation of requests
         into local or remote requests. Furthermore, this layer
         controls the screen facilities, such as split screen,
         protected fields, etc.


         A̲p̲p̲l̲i̲c̲a̲t̲i̲o̲n̲ ̲L̲a̲y̲e̲r̲

         This application layer is user-defined and consists
         of the specific operator functions.








                          Figure


                     5̲ ̲ ̲A̲D̲A̲ ̲C̲O̲M̲P̲I̲L̲E̲R̲



         The ADA Compiler Development Project is being carried
         out by a consortium consisting of three partners.

         The aim of the project is to construct a compiler for
         the full ADA language. The ADA Compiler Development
         project is a part of the Portable ADA Programming System
         project, which addresses the construction of an entire
         programming environment including an ADA compiler.
         The main purpose of this programming environment is
         to facilitate the development of system and application
         software for a wide variety of systems using the ADA
         high level language. The programming environment will
         conform to the Stoneman specifications from the U.S.
         Department of Defense.

         The Portable ADA Programming System project particularly
         stresses portability and feasibility for computers
         with limited address and memory space. The compiler
         development project additionally will demonstrate the
         power of formal specification and design techniques,
         which will be used to derive the compiler algorithms.

         The resulting programming environment system will be
         implemented on the Christian Rovsing CR80.



5.1      P̲R̲O̲J̲E̲C̲T̲ ̲O̲V̲E̲R̲V̲I̲E̲W̲

         The purpose of the source language conversion program
         (SLCP) project is to construct a program which converts
         source programs written in a suitable subset of the
         ADA high level language into SWELL source programs.
         The resulting SWELL source programs can be compiled
         into machine code using an existing SWELL compiler
         for the Christian Rovsing CR80 computer.



         The components of the ADA compiler developed by Christian
         Rovsing A/S will be written in the ADA subset and debugged
         using the SLCP on the CR80 computer. After the compiler
         components have been debugged and integrated into a
         complete compiler system, the compiler system will
         be used to compile the compiler components thus rendering
         superfluous the SLCP.

         The SLCP project consists of the following subprojects:

         1.  Determination of a number of design criteria for
             the ADA subset.

         2.  Informal description of the ADA subset.

         3.  Formal description of the abstract syntax of the
             ADA subset.

         4.  Elaboration of a formal description of SWELL.

         5.  Informal description of the mapping of the ADA
             subset onto equivalent SWELL constructs.

         6.  Formal description of the mapping of the ADA subset
             onto equivalent SWELL constructs (compiling algorithm).

         7.  Selection of a suitable implementation langauge
             for the conversion program.

         8.  Coding and debugging of the conversion program
             by stepwise refinement of the compiling algorithm.



5.2      D̲E̲S̲I̲G̲N̲ ̲C̲O̲N̲S̲I̲D̲E̲R̲A̲T̲I̲O̲N̲S̲

         This chapter describes the design considerations that
         have led to the selection of the SWELL language as
         the target language, i.e. the output language of the
         source language conversion program.

         Furthermore, the design considerations that have governed
         the selection of the features to be included in the
         ADA subset are described.





5.2.1    S̲e̲l̲e̲c̲t̲i̲o̲n̲ ̲o̲f̲ ̲T̲a̲r̲g̲e̲t̲ ̲L̲a̲n̲g̲u̲a̲g̲e̲

         Target language candidates were selected on the basis
         of availability on the CR80 computer.

         The following target language candidates were considered:

         1.  CR80 assembly language
         2.  COBOL
         3.  Pascal
         4.  Modula 2
         5.  UCSD Pascal
         6.  SWELL

         CR80 assembly language was rejected because it did
         not appear to have any advantages over SWELL. In many
         respects, however, it is much more primitive and more
         complicated to use than SWELL.

         COBOL, which is implemented on the CR80, was rejected
         because the mapping of ADA into COBOL was considred
         much too complicated. In particular the lack of type
         mechanisms in COBOL was considered difficult to manage.

         The Pascal compiler on the CR80 is an improved version
         of te Sequential Pascal compiler from the Solo operating
         system project. It was rejected because severe difficulties
         were expected when implementing the separate compilation
         facilities of ADA. No separate compilation or segmentation
         facilities exist in the CR80 Pascal dialect.

         Modula 2 and UCSD Pascal compilers are presently not
         implemented on the CR80 compiler. The project members
         briefly considered implementing these compilers on
         the system in order to use these powerful languages
         as target languages. This approach was rejected because
         he advantages over SWELL were not considered sufficiently
         significant to justify the implementation costs.

         SWELL was selected because of its type handling and
         separate compilation handling facilities. The drawbacks
         of the language (servere restrictions on procedure
         parameters, local variables, and expression syntax)
         were considered manageable without a large effort by
         placing acceptabel restrictions on the ADA subset.



5.3      A̲D̲A̲ ̲S̲U̲B̲S̲E̲T̲

         The following design criteria were used during the
         design of the ADA subset:

         1.  The source language conversion program project
             must be completed within an effort of approximately
             10 person months.

         2.  The ADA subset should be a true subset. The machine
             independents programs accepted by the conversion
             program should be acceptable by any ADA compiler
             without modificaiton.

         3.  An ADA language facility must be included in the
             ADA subset if the implemention of this facility
             will shorten the compiler development time by more
             than is used to implement the facility.

         4.  ADA language facilities not required for compiler
             construction should not be implemented.

         5.  The limitations in the ADA subset must not exclude
             any reasonable compiler design strategy.

         6.  The ADA subset is not required to be ideal for
             compiler construction. Language facilities may
             be omitted if they are difficult to implement and
             if the omission will cause only minor problems
             with respect to structure and efficiency of the
             resulting compiler:

             As soon as the ompiler is able to compile itself,
             the compiler will be restructured and minor parts
             of it will be recoded in order to take advantage
             of the facilities initially omitted.

         These criteria have been used to design the ADA subset.



5.4      A̲D̲A̲ ̲S̲U̲B̲S̲E̲T̲

         This chapter describes the ADA subset which is being
         used to implement the ADA compiler. The ADA subset
         has been designed using the criteria outlined in section
         5.3.



         The most important ADA features that will not be implemented
         in the subset are

         D̲a̲t̲a̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲s̲:̲

         Approximate data types (real numbers)
         Subtype declarations
         Renaming
         Arrays with more than one index
         Dynamic ranges
         Representaion specifications
         Overloading (note that overloading of array and record
         aggregates is implemented)

         C̲o̲n̲t̲r̲o̲l̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲s̲

         Return and goto

         P̲r̲o̲g̲r̲a̲m̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲s̲

         Functions
         Private parts in packages
         Generic program units
         Procedures within procedures
         Nested packages
         Separate compilation of subunits
         Tasking



5.4.1    A̲D̲A̲ ̲S̲u̲b̲s̲e̲t̲ ̲S̲y̲n̲t̲a̲x̲ ̲S̲u̲m̲m̲a̲r̲y̲























5.4.2    P̲r̲e̲d̲e̲f̲i̲n̲e̲d̲ ̲L̲a̲n̲g̲u̲a̲g̲e̲ ̲E̲n̲v̲i̲r̲o̲n̲m̲e̲n̲t̲




             6̲ ̲ ̲M̲E̲S̲S̲A̲G̲E̲ ̲F̲O̲R̲M̲A̲T̲S̲ ̲A̲N̲D̲ ̲D̲A̲T̲A̲B̲A̲S̲E̲



         In order to perform a realistic demonstration of an
         Experimental Distributed Processing Facility, Christian
         Rovsing A/S propose to implement all the six message
         formats contained in the RFQ. The formats are shown
         in section 6.1.

         In addition Christian Rovsing A/S has analysed the
         data base, data flow requirement as described in the
         RFQ.

         CECOM's request for a demonstration of the EDPF which
         does not necessarily contain the exact information
         flow in maneuver elements, but demonstrates the capabilities
         of a distributed data base. The data base is described
         in section 6.2.



6.1      M̲E̲S̲S̲A̲G̲E̲ ̲F̲O̲R̲M̲A̲T̲S̲

         The message formats shown in the RFQ will be implemented
         as they are described. The only change will be the
         change entailed by the VDU used.





6.2      D̲A̲T̲A̲ ̲B̲A̲S̲E̲

         It has been the objective of Christian Rovsing A/S
         to design a general, but simple distributed data base
         to demonstrate the capabilities of the EDPF.

         The flow and sizing requirements in the RFQ annex C
         has been interpreted.

         It is imagined that the distributed database will be
         used in a strict military organizaition like the one
         shown in figure 6.2-1.

         The information items names and the description of
         the items have let Christian Rovsing A/S to believe
         that all information fields in the database should
         be fields for narrative description. Room will be allowed
         for operator insertion of a text. No computation such
         as addition or subtraction will be performed.

         The length allocated in the data abase will be controlled
         by the peak load, which is the maximum length of information
         elements can have at the maneuver element level in
         question. The average length is not used.

         In section 6.2.2 the data base description is shown.




















         The INIT parameter is used to decide whether the information
         element can be initiated at this element or if it is
         only received. An information item can always be entered
         if mentioned in the table.

         The STORE parameter, which is always yes in the data
         given, will be used to decide if any entered information
         item will be retained in the node database after transmission.

         The UP parameter determines if the information field
         automatically will be transmitted one step up in the
         military hierarchy.

         The DOWN parameter determines if the information field
         automatically will be transmitted down one step to
         all subordinate elements.

         The LATR parameter determines if the information field
         automatically will be transmitted to all adjecent elements
         under the same commanding element.

         The CURRENCY parameter determines the priority of the
         transmissions and will be used as such.



6.2.1    D̲a̲t̲a̲ ̲B̲a̲s̲e̲ ̲U̲p̲d̲a̲t̲e̲

         A typical data base update scenario is described in
         the following. A battalion element requires some air
         craft support and enters the requirement in narrative
         text at the node computer.

         When the A/C requirement is updated locally it is automatically
         transmitted one step up and stored in that database
         with an identification of where it came from and at
         what time it was transmitted.

         The brigade element wants to enter its requirements
         for aircraft in its local database and identifies the
         information field in question. In conjunction with
         the local field are stored all A/C requirements fields
         received from the subordinant elements, i.e. the VDU
         display the subordinates requirements node by node
         and this is used as decision making data for entry
         of A/C requirement to be sent up to the higher element.



         The VDU formats required to use the distributed database
         are shown on the following pages.










             The division element can display all the A/C requirements
             information fields received from the subordinate
             brigade nodes and decide how many A/C will be allocated
             to the subordinate elements. This information field
             is automatically transmitted one step down in the
             hierarchy and so forth.



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

         The data base is described in ADA or as a file in a
         format like the following.












                      Figure 6.2.2-1


              7̲ ̲ ̲N̲E̲T̲W̲O̲R̲K̲ ̲T̲O̲P̲O̲L̲O̲G̲Y̲ ̲(̲S̲O̲W̲ ̲4̲.̲6̲)̲



         In the following subsection an analysis will be carried
         out to reveal the pro et con of the different network
         type like bus, star, ring, tree, broadcast, and irregular
         network.

         The analysis will be carried out, considering that
         the application of the network will be communication
         between units in a hierarchical military organization,
         i.e. most communication will be limited to one step
         up, down or lateral in the organization. See figure
         7-1. Aspects like redundancy, survivability and local
         distribution will be considered.

         There is an ambiguity in the objective of designing
         an optimal network which serves a hierarchical military
         organization and which allows true distributed processing
         with survivalibility features. This ambiguity will
         entail that none of the simple networks is optimal,
         but that trade off has to be made.






                          figure



7.1      B̲U̲S̲ ̲N̲E̲T̲W̲O̲R̲K̲

         The bus network is characterized by a single string
         connection network on which the nodes are attached
         like pearls on a string. See figure 7.1-1. It minimizes
         the number of interfaces in all nodes to maximum 2.
         However, it can entail many transmission where more
         than two nodes are involved.

         As an example of this look at the network in figure
         7.1-1 where node 6 is anticipated to serve a maneuver
         element which is under command of the element served
         by node 3. In order to communicate between these two
         nodes, node 2, 4, and 5 has to be engaged. Although
         this does not imply operator interaction at these nodes
         there must be sufficient processing power to handle
         this extra intermediate communication.

         Seen from a pure military tactical point of view it
         is not desirable that the well functioning of one flank
         is dependent on the condition of the other flank. The
         connections between node 4, 5, and 6 will be at the
         frontier of the battlefield and will be threatened.

         In the event that one node or one connection between
         two nodes becomes inoperational, the total network
         will be divided into two subnetwork, i.e. there is
         no redundancy in the network.

         Other bus network structures could be established,
         but the disadvantages of these cannot be completely
         removed.




















































FIGURE 7.1-1 BUS NETWORK APPLIED ON THE HIERARCHICAL…01…MILITARY ORGANIZATION SHOWN
 IN FIGURE 7-1


7.2      S̲T̲A̲R̲ ̲N̲E̲T̲W̲O̲R̲K̲

         The Star network is characterized by a cental node
         which does all the switching. No other nodes besides
         the central node needs to have the switching facility.
         In that respect it is a simple system.

         The star network is a very vulnerable network. If the
         central switch becomes inoperational all nodes are
         isolated and cannot communicate with any other node.

         In figure 7.2-1 a star network which serves the military
         organization depicted in figure 7-1 is shown. Node
         3 has been selected as the central node. A more immediate
         selection of a central node would be node 1 which serves
         the maneuver element in charge, but this would give
         raise to large communication lines:

         The star network will require transmission over intermediate
         node in the normal military communicaton scheme, i.e.
         one step up, down or lateral. Messages sent from node
         2 to 4 must go via node 3. The number of intermediate
         nodes are smaller in this case compared to the bus
         network.

         In order to minimize the length of the connection lines
         and to protect the crucial central node, this node
         should be placed in the geographical mittle of the
         area covered by the organization.

         The star network does not have any build in back up
         lines, and hence it is not in accordance with a survivable
         distributed system.

















































FIGURE 7.2.1…01…STAR NETWORK APPIED TO THE MILITARY ORGANIZATION SHOWN…01…IN FIGURE
 7-1


7.3      R̲I̲N̲G̲ ̲N̲E̲T̲W̲O̲R̲K̲

         The ring network can be looked at as an improved bus
         network. It has the disadvantage of many intermediate
         nodes when communicating in the underlying military
         organization. However, it has the great advantage that
         every node can be reached from any other node via two
         different routes.

         In case node 1 wants to communicate with node 2, this
         can be done by the direct link between the two nodes,
         or in case the link becomes inoperational, then the
         communcation can take place via node 3, 6, 5, and 4.

         The ring network must be considered better than both
         the bus and the Star network. It contains back up lines
         and all the node computers perform identical function.
         This allows reconfiguration after one node failure.
         In the star network this would not be the case, where
         it was the central node which became inoperational.




















































FIGURE 7.3-1…01…RING NETWORK APPLIED ON THE MILITARY ORGANIZATION …01…SHOWN IN FIGURE
 7-1


7.4      T̲R̲E̲E̲ ̲N̲E̲T̲W̲O̲R̲K̲

         The tree network is the network which resembles the
         underlying organization best and hence it is well suited
         as starting point for designing an optimal network
         for a military organization like the one shown in figure
         7-1.

         The tree network follows the communication lines in
         the military organization. Hence it minimizes the number
         of intermediate nodes. However, there is no low maximum
         of the number of links attached to any node. This implies
         that the distribution is not evenly distributed or
         all nodes, but it is likely that the number of legs
         from one node will be propertional with the communication
         performed by the mode in question.

         The tree networks are not optimized to perform lateral
         communication, i.e. a message from node 5 to 6 will
         have to go via node 3. A worse case exists when going
         from node 4 to 6. This will require 3 intermediate
         nodes to be involved.

         The tree network does not have any build in back up
         lines. Hence it is not optimal for a distributed survivable
         network, without modifications.





















































                FIGURE 7.4-1…01…TREE NETWORK


7.5      B̲R̲O̲A̲D̲C̲A̲S̲T̲ ̲N̲E̲T̲W̲O̲R̲K̲

         The broadcast network philosophy in its clear case
         means that all nodes are connected to all other nodes.
         By broadcasting a message from one node to all other
         nodes, they decides if the message is intended for
         the receiving node. This philosophy gives a high degree
         of ensurance for message delivery, but it also makes
         messages available for not intended recipients. The
         expenses for this network are a high overload compared
         to the optimal.

         This type of network is expensive to establish and
         operate, but it gives other desirable attributes to
         a flexible and survivable network.

         In practical trade off has to be made regarding the
         number of connections for each node. A good choice
         would be to connect every node with any other node
         if it is likely to communicate with, i.e. one up in
         hierarchy to the commanding element, and one node down
         to all the subordinate elements plus connection to
         all nodes of the hierarchy level in question. The lateral
         connections may only contain elements directly under
         the same commanding element.





















































FIGURE 7.5-1…01…BROADCAST NETWORK APPLIED TO THE MILITARY ORGANIZATION SHOWN…01…IN
 FIGURE 7-1


7.6      I̲R̲R̲E̲G̲U̲L̲A̲R̲ ̲N̲E̲T̲W̲O̲R̲K̲

         The performed analysis has shown that none of the previous
         networks are optimal, but indication of different benefits
         has been brought to attention.

         The tree network seems appropriate from an organizational
         point of view, and the broadcast network seems appropriate
         from a flexibility and survivability point of view.

         By combining the two network types a reasonable trade
         off has been made. The proposed irregular network has
         been depicted in figure 7.6-1. The normal transmission
         scheme used in the first network will be applied. This
         means that a node will find a preference link to send
         the message via and check that the link is operational.
         Only in case the link is inoperational the node will
         find a second or third choice. The number of back up
         links is only limited by the number of outgoing links
         from a given node.

         This type of network will be used in the demonstration
         set up.






















Figure 7.6-1…01…IRREGULAR NETWORK APPLIED TO THE MILITARY HIERARCHY IN FIGURE
 7-1



              8̲ ̲ ̲A̲C̲C̲E̲P̲T̲A̲N̲C̲E̲ ̲T̲E̲S̲T̲S̲ ̲(̲S̲O̲W̲ ̲4̲.̲7̲)̲



         Christian Rovsing A/S will prepare a separate acceptance
         test plan and procedure for the delivered hardware
         and for the demonstration system. These tests will
         demonstrate that the systems delivered are in full
         accordance with the requirements.

         The hardware acceptance procedures will be performed
         at the Christian Rovsing A/S facilities prior to shipment.
         The hardware acceptance procedures will be repeated
         on the first system delivered at the CECOM sites.

         The second acceptance test which comprises the application
         system test will be performed on both systems after
         installation at the CECOM site. This demonstration
         will include the generation of the executable system
         from source code. The test will be documented in acceptance
         test reports.

         The demonstration test will show how messages can be
         sent from node to node using different routes, i.e.
         first, second, and third route depending on availability.

         The demonstration will show both use of local area
         network and packet switching network. On the packets
         siwtching network, error simulation will be included
         in the laboratory demonstration in order to simulate
         bad connections in the field. This simulation is done
         by changing the software in the communication processor.
         No extra hardware is needed to simulate these transmission
         errors.

         During the demonstration the host will gather statistics
         on the network performance.

         The network topology for the demonstration will be
         based on the irregular network described in section
         7.6. The network is a modified tree network, i.e. some
         of the nodes on the same level are connected directly
         to establish back up links or more direct links than
         otherwise established. See figure 8.1.


















































                        FIGURE 8.1


                9̲ ̲ ̲T̲R̲A̲I̲N̲I̲N̲G̲ ̲(̲S̲O̲W̲ ̲4̲.̲8̲ ̲&̲ ̲4̲.̲9̲



9.1      T̲R̲A̲I̲N̲I̲N̲G̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲ ̲A̲N̲A̲L̲Y̲S̲I̲S̲

         Based on information in the RFQ Christian Rovsing's
         previous experience from similar projects, the following
         training requirements are listed:

         a)  One course will train the personnel in the system
             hardware and the operation of the software.

             Another course will train in running the demonstration
             of the "Maneuver Element of the tactical battlefield"
             and understand and modify all demonstration software.

         b)  Courses (including practical work) will have approx.
             40% theory and 60% hands-on training.

         c)  Courses for the following personnel categories
             are proposed:

             -   Installation and maintenance technicians/engineers.

             -   ADA application programmers.

         d)  Training techniques will be described.

         e)  Location of the training courses will be described.

         f)  Christian Rovsing will develop an Integrated Training
             Plan outlining the contents of the courses and
             training methods.




9.2      T̲R̲A̲I̲N̲I̲N̲G̲ ̲P̲L̲A̲N̲N̲I̲N̲G̲



9.2.1    M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲a̲n̲d̲ ̲O̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲

         The training section, which is a part of the Integrated
         Logistics Support department, see fig. 9.2.1-1 is responsible
         for development and conduct of customer training and
         the documentation delivered with the systems.




















Figure 9.2.1-1 Organization of…01…Integrated Logistic Support



         The training section is organized with a manager, technical
         writers and instructors.

         The combination of user documentation and training
         ensures that the training is supported by documentation,
         which is not only easy to use, but also complements
         the training documentation, enabling effective training
         in all aspects.




9.2.2    T̲r̲a̲i̲n̲i̲n̲g̲ ̲P̲l̲a̲n̲

         The integrated training plan gives an overview of how
         the training courses are planned, developed, and conducted.

         Later, it forms the basis for development of training
         plans for the individual courses and is the customers
         first assessment of the approach taken by Christian
         Rovsing towards the training.

         This plan contains details regarding the training management,
         how the courses are interrelated and how the requirements
         connected to each course will be incorporated. Each
         course is outlined, the facilities and equipment to
         be used are explained, and a schedule for the formal
         training of the customer personnel is proposed.



9.2.3    C̲o̲u̲r̲s̲e̲ ̲O̲v̲e̲r̲v̲i̲e̲w̲

         Courses will cover the following system components:

         -   CR80 Computer-system
         -   Software

         Courses are offered for the following categories of
         personnel:

         -   Installation and maintenance engineers.
         -   ADA application programmers.

         The following courses will be offered:

         a)  A CR80 hardware/software course
         b)  A system demonstration course.



9.3      C̲R̲8̲0̲ ̲H̲A̲R̲D̲W̲A̲R̲E̲/̲S̲O̲F̲T̲W̲A̲R̲E̲ ̲C̲O̲U̲R̲S̲E̲

         Contents:

         -   Installation of the CR80 system
         -   Reconfiguration of the CR80 system
         -   Operation of the CR80 system
         -   Maintenance of the CR80 system


         -   Troubleshooting of the CR80 system
         -   Repair of the CR80 system
         -   Use of the software development system.

         Previous knowledge required:

         5 years of experience in computer maintenance and operation.

         Number of participants:  15

         Length of course:

         One week of 30 lessons.



9.4      S̲Y̲S̲T̲E̲M̲ ̲D̲E̲M̲O̲N̲S̲T̲R̲A̲T̲I̲O̲N̲ ̲C̲O̲U̲R̲S̲E̲

         Contents:

         -   DAMOS operating system
         -   Environment software
         -   The ADA compiler
         -   ADA environment software
         -   ADA applications (demonstration system)
         -   Software Modification


         Previous knowledge required:

         -   5 years experience in application programming in
             at least one high level language.

         -   1 year experience in ADA programming.


         Number of participants:   15

         Length of Course:

         One week of 30 lessons





9.5      T̲R̲A̲I̲N̲I̲N̲G̲ ̲M̲A̲T̲E̲R̲I̲A̲L̲S̲

         The training plans will specify the training materials.

         Draft copies (2 sets) of the training materials will
         be delivered 60 days prior to the start of the course
         for review and approval.

         Final issues (15 sets) of the materials will be ready
         at start of the courses.



9.6      S̲T̲U̲D̲E̲N̲T̲S̲ ̲T̲R̲A̲I̲N̲I̲N̲G̲ ̲C̲O̲U̲R̲S̲E̲ ̲G̲U̲I̲D̲E̲

         Christian Rovsing A/S will develop and deliver the
         students Training Course Guides, each matching the
         contents of the two courses described earlier in this
         paper.

         Each guide contains the following elements as required:

         S̲e̲c̲t̲i̲o̲n̲ ̲1̲:̲

         -   Information sheets

         S̲e̲c̲t̲i̲o̲n̲ ̲2̲:̲

         -   Assignment sheets
         -   Note taking sheets
         -   Job sheets

         S̲e̲c̲t̲i̲o̲n̲ ̲3̲:̲

         -   Student Workbook

         S̲e̲c̲t̲i̲o̲n̲ ̲4̲:̲

         -   Diagram sheets

         A̲p̲p̲e̲n̲d̲i̲x̲:̲

         -   Supplementary information


         5 draft copies and 5 final copies are delivered according
         to the agreed time schedule.





9.7      T̲R̲A̲I̲N̲I̲N̲G̲ ̲T̲E̲C̲H̲N̲I̲Q̲U̲E̲S̲

         The main principle of Christian Rovsing's courses is,
         that student centered training methods are used wherever
         possible.

         To evaluate the outcome of the courses, oral questions,
         quizzes and tests are used during the courses, and
         a final practical and theoretical test is performed
         by the participants.

         The following training methods are used during the
         courses:


         a)  Group-work:         Specific tasks are distributed
                                 in writing to the groups to
                                 work on. The tasks may be theoretical
                                 or practical examinations of
                                 the various topics.

         b)  Reports:            The groups report the results
                                 of their tasks in a group session.

         c)  Discussion:         The results of the groups are
                                 discussed by the class under
                                 guidance of the instructor.

         d)  Lecture:            Lectures are used (limited)
                                 for outlining the basic rules
                                 for a given topics.

         e)  Informal talk:      Informal talk is invoked to
                                 obtain feed-back to the instructor
                                 on the outcome of the instruction.

         f)  Hands-on:           Practical work is used extensively,
                                 as this is the best way to
                                 implement the use of theoretical
                                 knowledge on the various topics
                                 covered by other training methods.
                                 In the same way, the instructor
                                 gets feed-back on the student's
                                 understanding of the topics
                                 covered in the instruction.



         g)  Tests:              Tests and questionnaires are
                                 used frequently, as these are
                                 highly motivating and underline
                                 important points of the instruction.

         1)  D̲o̲c̲u̲m̲e̲n̲t̲a̲t̲i̲o̲n̲

             The documentation is the responsibility of the
             Integrated Logistic Support Department.

             The following documentation is proposed for the
             system:

         2)  S̲o̲f̲t̲w̲a̲r̲e̲ ̲M̲a̲n̲u̲a̲l̲s̲

             a)  Programming Development Tools
             b)  S/W As-Built Documentation
             c)  S/W Listings
             d)  Users Manual for the demonstration package.


         3)  H̲a̲r̲d̲w̲a̲r̲e̲ ̲M̲a̲n̲u̲a̲l̲s̲

             a)  System Operating Manual
             b)  Maintenance Manual
             c)  Installation Manual
             d)  Module description Manuals
             e)  Inventory Manual
             f)  Hardware Assembly Breakdown
             g)  Peripheral Equipment Manuals
             h)  Test Equipment Manuals.

         This documentation covers all applicable aspects of
         use, operation, configuration and maintenance of the
         CR80 system and the demonstration system.

         3 draft copies are delivered at the time of system
         check-out. 10 final copies are delivered 30 days after
         Government approval.

         Good commercial practice is used for reproduction and
         binding.



            1̲1̲ ̲ ̲D̲I̲A̲G̲N̲O̲S̲T̲I̲C̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲ ̲(̲S̲O̲W̲ ̲4̲.̲1̲0̲)̲


         The CR80 computers have been developed with extensive
         Diagnostic Software. All critical hardware modules
         are equipped with built in test BIT programs which
         are activated at start up and which can be activated
         manually during error location and maintenance.

         In addition extensive software has been developed to
         perform diagnostic of subsystems.

         It is evident that a fault tolerant multiprocessing
         system with extreme high reliability and availability
         requirement must rely heavily on efficient diagnostic
         software.

         The CR80 diagnostic software is standard software,
         which have been implemented on many CR80 system. Hence
         its usefulness has been tested in the field.





       1̲2̲ ̲ ̲S̲P̲A̲R̲E̲ ̲P̲A̲R̲T̲S̲ ̲A̲N̲D̲ ̲S̲P̲E̲C̲I̲A̲L̲ ̲T̲O̲O̲L̲S̲ ̲(̲S̲O̲W̲ ̲4̲.̲1̲1̲)̲



         Christian Rovsing A/S will deliver spare parts as requested
         by CECOM. The spare part will be delivered as hardware
         modules to be easily inserted in the crates when a
         module fails.

         The package switching simulation facility will be provided
         without extra hardware. The Line Termination Unit of
         the Channel Unit can be down line loaded with new software
         from the host. By this mechanism many different error
         types can be programmed into the LTU software.

         The EDPF is composed of standard equipment and many
         diagnostic programs are available for error finding.
         One set comprising a scope, a data communication tester
         and a disk package field test unit will be delivered.



                1̲3̲ ̲ ̲M̲A̲I̲N̲T̲E̲N̲A̲N̲C̲E̲ ̲(̲S̲O̲W̲ ̲4̲.̲1̲2̲)̲



         Christian Rovsing will perform maintenance on both
         EDPF system from delivery until final hardware acceptance.
         However, agreement has to be made between Christian
         Rovsing and CECOM, who is allowed to operate and maintain
         the system. All personnel must be trained accordingly.



                  1̲4̲ ̲ ̲S̲A̲F̲E̲T̲Y̲ ̲(̲S̲O̲W̲ ̲4̲.̲1̲3̲)̲



         The CR80 has been designed with thorough considerations
         to personnel safety. The original design was made in
         accordance with the very strict Danish national regulations.
         The CR80 has also past the safety requirement set forth
         by the US military in connection with the NICS-TARE
         systems.

         At present Christian Rovsing has also sold CR80 computers
         to the American Commercial Industry and met the safety
         requirement. Hence Christian Rovsing does not expect
         any problems in meeting the Army safety requirement
         for the EDPF according to the MIL-STD-882A. A preliminary
         Hazard Analysis will be performed in accordance with
         para. 5.5.1.1 of MIL-STD-882A to investigate if there
         are any hazards in the design.

         The safety laid down in the CR80 is very deep and thorough,
         because it is part of general reliability, availability
         and flexibility concept to be able to modify the hardware,
         i.e. replace faulty module with error free modules
         or to add extra modules, during operation.

         There is no radioactive materials in the system, hence
         radioactive materials do not cause any hazards.




       1̲5̲ ̲ ̲P̲E̲R̲S̲O̲N̲N̲E̲L̲ ̲A̲V̲A̲I̲L̲A̲B̲L̲E̲ ̲F̲O̲R̲ ̲T̲H̲E̲ ̲E̲D̲P̲F̲ ̲P̲R̲O̲J̲E̲C̲T̲



         Christian Rovsing A/S proposal for an EDPF system is
         based on advanced existing components, which disminshes
         the need for R & D personnel. Christian Rovsing A/S
         intends to allocate full time assigned persons to the
         EDPF project. The curriculum vitae for all proposed
         persons follows.

         Any special problems which might arise during the project,
         which will require special expertise will be attached
         by establishing task forces comprising persons in possesion
         of the required skills and expertise to handle the
         problem in question.





KM[


chakera


lsj


OE


H[H


holger


jrv


                1̲6̲ ̲ ̲T̲R̲A̲V̲E̲L̲ ̲A̲N̲D̲ ̲S̲U̲B̲S̲I̲S̲T̲A̲N̲C̲E̲



         At present Christian Rovsing A/S anticipates the following
         travels and subsistance.

         -   5 progress meetings in US involving senior engineers/managers
             in one week.

         -   Site survey performed by one senior engineer during
             5 days

         -   Installation of system 1 performed by 1 manager
             and 2 technicians during 1 month

         -   Installation of system 2 performed by 1 manager
             and 2 technicians during 1 month.

         -   Execution of the demonstration performed by 1 manager,
             two senior engineers and 1 technician during 1
             month

         -   Maintenance performed by 1 technician during an
             initial 3 months' stay followed by 10 trips of
             each 5 days.

         -   5 technical trips involving 2 senior engineers/managers
             and 1 engineer of one week's duration.