PROGRAMMER'S MANUAL

FOR THE

SCENARISTTM

AUTOMATED SCENARIO GENERATION SYSTEM

PROJECT TITLE: RESEARCH IN ARTIFICIAL

INTELLIGENCE FOR NON-COMMUNICATIONS

ELECTRONIC WARFARE SYSTEMS

Volume I

Program Description

Contract No. DAAB07-89-C-P017

August 31, 1991

Prepared for:

US ARMY COMMUNICATIONS-ELECTRONICS COMMAND

Fort Monmouth, New Jersey

Prepared by:

VISTA RESEARCH CORPORATION

3826 Snead Drive

Sierra Vista, Arizona 85635

(602)378-2130 (602)790-0500

Note (added 31 January 2017): This document was originally produced using WordPerfect 4.2, which did not have a capability for constructing graphics or for imbedding graphics.  The graphics (data flow diagrams) were prepared using another program (CADD), and are not included in this document.

Copyright (C) 1991 Vista Research Corporation


Contents

Foreword. 4

1.0.  Introduction. 5

2.0. Summary of Software Documentation. 6

3.0. Hierarchy Charts. 7

4.0. Data Flow Diagrams. 46

5.0. Input/Output Data Elements. 50

6.0. Description of System Modules. 50

Appendix A. Scenarist Test Deployment 59

Appendix B. Test Output Data Interface File. 70


Foreword

This report was prepared by the staff of Vista Research Corporation, under Contract No. DAAB07-89-C-P017 to the US Army Communications-Electronics Command.  Project staff included Dr. J. George Caldwell, Principal Investigator, Mr. William N. Goodhue, Ms. Sharon K. Hoting, Dr. William O. Rasmussen, Mr. Eric Weiss, and Mr. Fletcher Aleong.  Government monitoring of the project was provided by Dr. Frank Elmer, Head of the Advanced Concepts Division of the Center for Electronic Warfare/Reconnaissance, Surveillance and Target Acquisition (EW/RSTA).  The CECOM Project Manager was Dr. Frank Elmer.


1.0.   Introduction

1.1.   Purpose of Document

This document is the Software Programmer's Manual for the Scenarist Automated Scenario Generation System.  The purpose of this document is to provide information needed by a programmer to understand the functioning of the software on the host PC computer.  This information may be used to interpret, check out, troubleshoot, or modify the existing software.

This volume (Volume I, Program Description) presents a top-level program description of the Scenarist software.  This top-level description includes a description of the major functional areas and a listing of the functions in each of those areas.  It includes a list of the functions which each function calls and a list of the functions called by each function.  It lists the data files used by the program.  It includes data flow diagrams that show the data flows among the major Scenarist functions.  It presents a brief summary description of each of the major functions.

The first version of this document (dated June 1, 1991) also contained (in Section 5.1) a description of the major program data structures.  Since the publication of the June 1 version, the Final Report was produced.  The Final Report included both summary and detailed descriptions of the program data structures.  To avoid duplication, that material has been removed from Section 5.1.  The Section number remains, to maintain a consistent document format.  Duplication of the program description is avoided not only to save paper, but to avoid the time-consuming and unnecessary task of updating similar material in different documents.

Volume II (Program and Data File Listings) contains listings of the Scenarist programs, and of the data files used in the first two applications.  Additional program description is presented in the Final Report and the Variable Glossary.  The Final Report includes detailed descriptions of the major Scenarist functions and major program functions, files, and variables.  The Variable Glossary presents definitions of all functions and variables of the Scenarist software.

2.0. Summary of Software Documentation

A list of the documentation for the Scenarist Automated Scenario Generation System is given below.  In the early (design) stage of the project, a number of software description documents were produced in the format prescribed by DOD-STD-2167A (Defense System Software Development).  Because of the large amount of effort required to maintain those documents, they were not updated after the software top-level design was completed.  Since a "rapid prototyping" approach was used to the system development, many design developments and modifications occurred during the system development.  For this reason, the 2167A documents became somewhat obsolete (mainly because they did not include any detailed-design information).  All relevant material from those documents has been incorporated into either this Programmer's Manual, the Variable Glossary, or the Final Report.

1. Test Report for the Scenarist Automated Scenario Generation System, Vista Research Corporation, Tucson, Arizona, April 30, 1991.

2. User's Manual for the Scenarist Automated Scenario Generation System, Vista Research Corporation, Tucson, Arizona, August 31, 1991.

3. Programmer's Manual for the Scenarist Automated Scenario Generation System (including separately bound program and file listing), Vista Research Corporation, Tucson, Arizona, August 31, 1991.

4. Variable Glossary for the Scenarist Automated Scenario Generation System, Vista Research Corporation, Sierra Vista, Arizona, August 31, 1991.

5. Scenarist Automated Scenario Generation System: Final Report, Final Report for Project, "Research in Artificial Intelligence for Noncommunications Electronic Warfare Systems (Contract No. DAAB07-89-C-P017)," Vista Research Corporation, Sierra Vista, Arizona, August 31, 1991.

3.0. Hierarchy Charts

The decomposition of the Scenarist Automated Scenario Generation System into functional areas provides a convenient mechanism for displaying and discussing information about the software.  A tree-structured decomposition of the Scenarist showing functional areas and processes is presented in Section 3.1. of this manual.

Following sections will present information such as C function cross reference tables and data flow diagrams using this functional breakdown.  This will provide the programmer with a consistent view of the structure of the Scenarist.

3.1. Summary of Functional Areas and Processes

Table 3.1.  A tree-structured decomposition of the Scenarist Automated Scenario Generation System showing functional areas and processes.

*********************************************************************************

*   FUNCTIONAL AREAS            *           PROCESSES                           *

*********************************************************************************

* 0:   Scenarist Initialization    *   Initialize screen windows, CLIPS setup   *

*********************************************************************************

* 1:   Project File Selection      *   _project_selection() function         *

*********************************************************************************

* 2:   Set Initial Map Location    *   _Change_Map_Location() function       *

*    Point                      *                                               *

*********************************************************************************

* 3:   Brief system description    *  _About() function                      *

*********************************************************************************

* 4:   Processing Military     *   _Units() function                        *

*    Units                      *                                               *

*                               *      _Define_Unit(), _Copy_Unit(),            *

*                               *      _Delete_Unit(), _Reposition_             *

*                               *      Unit_by_User(), _Reposition_             *

*                               *      Subunits_by_User(), _Reposition_         *

*                               *      Subunits_by_Rules(), _Reposition_FEBA(), *

*                               *      _Display_Unit(), _Output_Unit(),         *

*                               *      Return to previous Menu                  *

*********************************************************************************

* 5:   Entry point for integrated *    _Rules() function                         *

*   CLIPS rules editor         *                                              *

*********************************************************************************

* 6:   Processing Maps            *   _Map() function                            *

*                               *                                               *

*                               *      _Draw_Terrain_Map(), _Draw_Elevation_    *

*                               *      Map(), _Draw_Road_Map(), _Add_Vector_Map_*

*                               *      with_Labels(), _Add_Vector_Map_without_  *

*                               *      Labels(), _Draw_Vector_Map_without_      *

*                               *      Labels(), _Place_Unit_on_Map(),          *

*                               *      _Zoom_Map(), _Change_Map_Location(),     *

*                               *      _Change_Map_Files(), _Print_Map(),       *

*                               *      Return to Previous Menu                  *

*********************************************************************************

* 7:   Entry point for large-     *    _Scenario_Generation function             *

*   scale scenario generation  *                                              *

*********************************************************************************

* 8:   Display hardware           *  _ Hardware_Setup() function                 *

*   characteristics            *                                              *

*********************************************************************************

* 9:   Exit from the Scenarist    *_Quit() function                              *

*********************************************************************************

3.2. Summary of C Functions by Source Code Files

The cross reference between Scenarist source code files and C functions, function prototypes,

 data structures, and data initializations is given in Table 3.2.

Table 3.2.  The cross reference between Scenarist source code files and C functions, function

 prototypes, data structures, and data initializations.

*******************************************************************************

*  Scenarist Source                                                           *

  Code Files                       Description                             *

*                                                                             *

*  s03adoca.doc    Documentation ‑‑ Description of Unit Data Structure        *

*  s03binca.h      Principal Include File                                     *

*  s03cincb.h      Header File for Map Drawing Programs ‑‑ Declarations       *

*  s03dintb.h      Header File for Map Drawing Programs ‑‑ Initialization     *

*  s03eclip.h      CLIPS Header File                                          *

*  s03fintf.h      Window, Menu, and Mouse Header File                        *

*  s03gdemo.h      EGA, DEMO, and CLIPS Conditional Compilation Header File   *

*  s03gmain.c      Main Program: main,usrfuncs,CLIPSval_0101,CLIPSval_0201    *

*  s03ipuu.c       Reposition Unit by User: _repositionunitbyuser,            *

*                 _repositionprogeny,_repositionfeba                 *

*  s03jpsu.c       Reposition Subunits by User:_repositionsubunitsbyuser      *

*  s03kpsr.c       Reposition Subunits by Rule -- File 1 (General Rule        *

*                 Repositioning Functions Plus Functions Specific          *

*                 to Problem 0101 ‑‑ Field Artillery and Air Defense       *

*                 Radars): _repositionsubunitsbyrule,                      *

*                 _spiralsearch,_preprocessing0101,_action0101,            *

*                 _suitability0101,_terrain,                               *

*                 _elevation,_distancetofeba,_horizonangle,                *

*                 _clipssuitability0101                                    *

*  s03kpsr2.c      Reposition Subunits by Rule ‑‑ File 2                     *

*                 (Functions for Problem 0201 ‑‑ TRAILBLAZER):             *

*                 _preprocessing0201,_createaccessibilitymap,              *

*                 _accessibility, _lostotarget, _LOS                       *

*                 _road,_slopetorearcell,_lostootherunits,                 *

*                 _lostoheadquarters, _dissttootherunits,                  *

*                  _distancetofront, _inforwardarea, _action0201,             *

*                  _suitability0201, clipssuitability0201                     *

*  s03ldefu.c      Define Units Function: _defineunit                         *

*  s03mcopy.c   Copy, Delete, and Display Units Functions: _editunit,         *

*                  _copyunit,                                                 *

*                 _getunitbycode,_getsubunitbycode,_getunitbyidno,         *

*                 _getunitbyindex,_getsubunitbyidno,_deleteunit,           *

*                 _displayunit,_setcoordsforzoommap,_outputunits           *

*  s03nmap.c          Map Drawing Functions: _drawmap,_label,_legend,          *

*                 _setcoordsforzoommapb                                    *

*******************************************************************************

Table 3.2.  (Continued)  The cross reference between Scenarist source code files and C functions, function prototypes, data structures, and data initializations.

*******************************************************************************

*  Scenarist Source                                                           *

  Code Files                   Description                                 *

*                                                                                *

*  s03pdraw.c      Functions for Drawing Units on Map: _drawunit,                *

*                _drawline,_transfstdtoreal                              *

*  s03qgtfl.c      Get Files Function: _getfilenames,_readmapheader,             *

*                _readmapdata,_resetmaplocpoint                          *

*  s03rsymb.c      Function for Drawing Symbols: _symbol                        *

*  s03sio.c        Basic Input‑Output Functions: _printscreen,_clearfoot,       *

*                LJ_Graphic,format,Grey_Scale,Print_Pause,PromptLine,   *

*                writString,writChar,put_out,status,pralel,stat,PrtInit,*

*                printch,printst,PrtPutC,getMode,getxy,gotoxy,getPage   

*  s03twind.c      Windows Functions: setWindow,_windowa,_windowb,               *

*                _windowbblack,_windowbenter,_windowb1,_windowb1enter,  *

*                _windowb2,_windowb3,_windowc,_windowcenter,            *

*                _windowscreen,_windowscreenblue,_windowd,_windowe,     *

*                _windoweenter                                          *

*  s03vmous.c      Mouse Functions: m_reset,m_show,m_hide,m_pos,m_moveto,        *

*                m_pressed,m_released,m_xlimit,m_ylimit,m_text_cursor,   *

*              m_motion,m_lightpen,m_move_ratio,m_conceal,m_speed,    *

*              m_graphic_cursor,initialize_cursor,Set_Graphic_Cursor, *

*              _setup_button,_clickbutton,_click_accept,_click_cancel *

*              _call_button,_call_buttonb,_call_continueb,            *

*             _call_continue,_Hardware_Setup,_setup_screen_windows   *

*                  _display_intro_screens,                                    *

*              _display_screen_windows,_project_selection,            *

*             _main_mouse_selection,_display_windowd,_About,_Units   *

*              _Rules,_Map,_Scenario_Generation,_Quit                 *

*  s03ygra2.c      Graphics Interface Functions  -- Map- and Unit-Related:    *

*                  _map_menu_selection,                                       *

*              _unit_menu_selection,_Draw_Terrain_Map,                *

*              _Draw_Elevation_Map,_Draw_Vector_Map,                  *

*              _Place_Unit_on_Map,_Zoom_Map,_Change_Map_Location,     *

*              _Change_Map_Files,_Reposition_Unit_by_User,            *

*              _Reposition_Subunits_by_User,                          *

*             _Reposition_Subunits_by_Rules,_Print_Map,_Define_Unit, *

*              _Delete_Unit,_Reposition_FEBA,_Display_Unit,           *

*              _Output_Units                                          *

*  s03xcomp.c      Map Compression Program: main,                             *

*              _readmapheadernongraphic,_writemapheader           *

*  s03zdemo.c      _run_demo_script,_call_continuec

*******************************************************************************

3.3. Summary of C Functions by Calling Function

The data shown in Table 3.3. can be used by the programmer to associate functional areas and functions with each of the primary Scenarist C functions.  The data are organized alphabetically by function name (Column II).  Each line entry for a function identifies a function that it calls.

Table 3.3.  Alphabetical listing of each Scenarist C function (Column II) and the corresponding C function(s) (Column III) which it calls.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                 

I              II                                III                           IV

3    _About()                         _call_continueb()                s03wgrap.c

3    _About()                           _windowb()                     s03wgrap.c

4    _accessibility()                   none                           s03kpsr2.c

4    _action0101()                      none                            s03kpsr.c

4    _action0201()                      _elevation()                   s03kpsr2.c

4    _Add_Vector_Map_with_Labels()      _drawmap()                     s03ygra2.c

4    _Add_Vector_Map_without_Labels()   _drawmap()                     s03ygra2.c

4    _Change_Map_Files()                _readmapheader()               s03ygra2.c

4    _Change_Map_Files()                _readmapheader()               s03ygra2.c

4    _Change_Map_Files()                _resetmaplocpoint()            s03ygra2.c

4    _Change_Map_Location()             _readmapdata()                 s03ygra2.c

4    _Change_Map_Location()             _readmapheader()               s03ygra2.c

4    _Change_Map_Location()             _resetmaplocpoint()            s03ygra2.c

4    _clipssuitability0101()            _distancetofeba()               s03kpsr.c

4    _clipssuitability0101()            _horizonangle()                 s03kpsr.c

4    _clipssuitability0101()            _terrain()                      s03kpsr.c

4    _clipssuitability0101()            _transfstdtoreal()              s03kpsr.c

4    _clipssuitability0201()            none                           s03kpsr2.c

4    _clipssuitability0101()            run()                           s03kpsr.c

4    _Copy_Unit()                       _copyunit()                    s03ygra2.c

4    _Copy_Unit()                       _editunit()                    s03ygra2.c

4    _copyunit()                        _getsubunitbycode()            s03mcopy.c

4    _copyunit()                        _getunitbycode()               s03mcopy.c

4    _copyunit()                        _transfstdtoreal()             s03mcopy.c

4    _copyunit()                        _windowb1()                    s03mcopy.c

4    _copyunit()                        _windowb2()                    s03mcopy.c

4    _copyunit()                        _windowb3()                    s03mcopy.c

4    _copyunit()                        _windowc()                     s03mcopy.c

4    _createaccessibilitymap()          _road()                        s03kpsr2.c

4    _createaccessibilitymap()          _slopetorearcell()             s03kpsr2.c

4    _createaccessibilitymap()          _terrain()                     s03kpsr2.c

4    _Define_Unit()                     _defineunit()                  s03ygra2.c

4    _Define_Unit()                     _editunit()                    s03ygra2.c

4    _defineunit()                      _getsubunitbycode()            s03ldefu.c

4    _defineunit()                      _getunitbycode()               s03ldefu.c

4    _defineunit()                      _transfstdtoreal()             s03ldefu.c

4    _defineunit()                      _windowb()                     s03ldefu.c

4    _defineunit()                      _windowbenter()                s03ldefu.c

4    _defineunit()                      _windowc()                     s03ldefu.c

4    _defineunit()                      _windowe()                     s03ldefu.c

4    _Delete_Unit()                     _deleteunit()                  s03ygra2.c

Table 3.3.  (Continued)  Alphabetical listing of each Scenarist C function (Column I) and the corresponding C function(s) (Column III) which it calls.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                 

I              II                                III                           IV

4    _deleteunit()                      _getunitbycode()              s03mcopy.c

0    _display_intro_screens()           _call_continue()              s03wgrap.c

0    _display_intro_screens()           _windowscreenblue()           s03wgrap.c

0    _display_screen_windows()          _windowa()                    s03wgrap.c

0    _display_screen_windows()          _windowb()                    s03wgrap.c

0    _display_screen_windows()          _windowc()                    s03wgrap.c

0    _display_screen_windows()          _windowd()                    s03wgrap.c

0    _display_screen_windows()          _windowe()                    s03wgrap.c

0    _display_screen_windows()          _windowscreen()               s03wgrap.c

4    _Display_Unit()                    _displayunit()                s03ygra2.c

4    _Display_Unit()                    _editunit()                   s03ygra2.c

0    _display_windowd()                 none                          s03wgrap.c

4    _displayunit()                     _drawmap()                    s03mcopy.c

4    _displayunit()                     _drawunit()                   s03mcopy.c

4    _displayunit()                     _getunitbycode()              s03mcopy.c

4    _displayunit()                     _getunitbyidno()              s03mcopy.c

4    _displayunit()                     _getunitbyindex()             s03mcopy.c

4    _displayunit()                     _setcootdsforzoommap()        s03mcopy.c

4    _distancetofeba()                  _transfstdtoreal()             s03kpsr.c

4    _disttootherunits()                _transfstdtoreal()            s03kpsr2.c

4    _Draw_Elevation_Map()              _drawmap()                    s03ygra2.c

4    _Draw_Road_Map()                   _drawmap()                    s03ygra2.c

4    _Draw_Terrain_Map()                _drawmap()                    s03ygra2.c

4    _Draw_Vector_Map_without_Labels()  _drawmap()                    s03ygra2.c

4    _Draw_Vector_Map_with_Labels()     _drawmap()                    s03ygra2.c

4    _drawline()                        none                          s03pdraw.c

6    _drawmap()                         none                           s03nmap.c

4    _drawunit()                        _transfstdtoreal()            s03pdraw.c

4    _editunit()                        none                          s03mcopy.c

4    _elevation()                       _transfstdtoreal()             s03kpsr.c

4    _mapcellsizestdcoords()            _transfstdtoreal()             s03kpsr.c

2    _getfilenames()                    _readmapdata()                s03qgtfl.c

2    _getfilenames()                    _readmapheader()              s03qgtfl.c

2    _getfilenames()                    _resetmaplocpoint()           s03qgtfl.c

4    _getsubunitbycode()                none                          s03mcopy.c

4    _getsubunitbyindex()               none                          s03mcopy.c

4    _getunitbycode()                   none                          s03mcopy.c

4    _getunitbyidno()                   none                          s03mcopy.c

4    _getunitbyindex()                  none                          s03mcopy.c

8    _Hardware_Setup()                  _call_continueb()             s03vmous.c

8    _Hardware_Setup()                  _windowb()                    s03vmous.c

4    _horizonangle()                    _elevation()                   s03kpsr.c

4    _horizonangle()                    _transfstdtoreal()             s03kpsr.c

4    _LOS()                             _elevation()                  s03kpsr2.c

Table 3.3.  (Continued)  Alphabetical listing of each Scenarist C function (Column I) and the corresponding C function(s) (Column III) which it calls.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                 

I              II                                III                           IV

4    _lostoheadquarters()               _getunitbycode()              s03kpsr2.c

4    _lostoheadquarters()               _LOS()                        s03kpsr2.c

4    _lostootherunits()                 _LOS()                        s03kpsr2.c

4    _lostotarget()                     _LOS()                        s03kpsr2.c

0    _main_menu_selection()             _About()                      s03wgrap.c

0    _main_menu_selection()             _display_windowd()            s03wgrap.c

0    _main_menu_selection()             _Hardware_Setup()             s03wgrap.c

0    _main_menu_selection()             _Map()                        s03wgrap.c

0    _main_menu_selection()             _Quit()                       s03wgrap.c

0    _main_menu_selection()             _Rules()                      s03wgrap.c

0    _main_menu_selection()             _Scenario_Generation()        s03wgrap.c

0    _main_menu_selection()             _Units()                      s03wgrap.c

0   _main_menu_selection()              _windowa()                     s03wgrap.c

0    _main_menu_selection()             _windowd()                    s03wgrap.c

0    _main_menu_selection()             _windowscreen()               s03wgrap.c

6    _Map()                             _map_menu_selection()         s03wgrap.c

6    _Map()                             _windowb()                    s03wgrap.c

6    _map_menu_selection()           _Add_Vector_Map_without_Labels() s03ygra2.c

6    _map_menu_selection()              _Add_Vector_Map_with_Labels() s03ygra2.c

6    _map_menu_selection()              _Change_Map_Files()           s03ygra2.c

6    _map_menu_selection()              _Change_Map_Location()        s03ygra2.c

6    _map_menu_selection()              _display_windowd()            s03ygra2.c

6    _map_menu_selection()              _Draw_Elevation_Map()         s03ygra2.c

6    _map_menu_selection()              _Draw_Road_Map()              s03ygra2.c

6    _map_menu_selection()              _Draw_Terrain_Map()           s03ygra2.c

6    _map_menu_selection()          _Draw_Vector_Map_without_Labels() s03ygra2.c

6    _map_menu_selection()              _Place_Unit_on_Map()          s03ygra2.c

6    _map_menu_selection()              _Print_Map()                  s03ygra2.c

6    _map_menu_selection()              _windowa()                    s03wgrap.c

6    _map_menu_selection()              _windowd()                    s03ygra2.c

6    _map_menu_selection()              _Zoom_Map()                   s03ygra2.c

4    _Output_Units()                    _outputunits()                s03ygra2.c

4    _outputunits()                     _transfstdtoreal()            s03mcopy.c

4    _Place_Unit_on_Map()               _drawunit()                   s03ygra2.c

4    _Place_Unit_on_Map()               _getunitbycode()              s03ygra2.c

4    _Place_Unit_on_Map()               _windowbenter()               s03ygra2.c

4    _Place_Unit_on_Map()               _windowcenter()               s03ygra2.c

4    _preprocessing0101()               none                           s03kpsr.c

4    _preprocessing0201()               _createaccessibilitymap()     s03kpsr2.c

4    _Print_Map()                       _printscreen()                s03ygra2.c

1    _project_selection()               _windowb()                    s03wgrap.c

1    _project_selection()               _windowd()                    s03wgrap.c

9    _Quit()                            close_dribble()               s03wgrap.c

Table 3.3.  (Continued)  Alphabetical listing of each Scenarist C function (Column I) and the corresponding C function(s) (Column III) which it calls.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                 

I              II                                III                           IV

6    _readmapdata()                     _windowscreenblue()           s03qgtfl.c

6    _readmapheader()                   _call_continue()              s03qgtfl.c

6    _readmapheader()                   _windowscreenblue()           s03qgtfl.c

4    _Reposition_FEBA()                 _repositionfeba()             s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _drawunit()                   s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _getunitbycode()              s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _repositionprogeny()          s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _repositionsubunitsbyrule()   s03ygra2.c

4    _Reposition_Subunits_by_User()     _repositionsubunitsbyuser()   s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _windowbenter()               s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _windowc()                    s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _windoweenter()               s03ygra2.c

4    _Reposition_Unit_by_User()         _repositionunitbyuser()       s03ygra2.c

4    _repositionfeba()                  none                           s03ipuu.c

4    _repositionprogeny()               _getsubunitbycode()            s03ipuu.c

4    _repositionprogeny()               _getunitbycode()               s03ipuu.c

4    _repositionprogeny()               _transfstdtoreal()             s03ipuu.c

4    _repositionsubunitsbyrule()        (*actionfunctionpointer())     s03kpsr.c

4    _repositionsubunitsbyrule()        (*preprocessingfnpointer())    s03kpsr.c

4    _repositionsubunitsbyrule()       (*suitabilityfunctionpointer()) s03kpsr.c

4    _repositionsubunitsbyuser()        _clearfoot()                   s03jpsu.c

4    _repositionsubunitsbyrule()        _mapcellsizestdcoords()        s03kpsr.c

4    _repositionsubunitsbyuser()        _getunitbycode()               s03jpsu.c

4    _repositionsubunitsbyuser()        _repositionprogeny()           s03jpsu.c

4    _repositionsubunitsbyrule()        _spiralsearch()                s03kpsr.c

4    _repositionsubunitsbyrule()        _windowbenter()                s03kpsr.c

4    _repositionsubunitsbyuser()        _windowc()                     s03jpsu.c

4    _repositionsubunitsbyrule()        _windoweenter()                s03kpsr.c

4    _repositionunitbyuser()            _getunitbycode()               s03ipuu.c

4    _repositionunitbyuser()            _repositionprogeny()           s03ipuu.c

4    _repositionunitbyuser()            _windowc()                     s03ipuu.c

6    _resetmaplocpoint()                _call_continue()              s03qgtfl.c

4    _road()                            _transfstdtoreal()            s03kpsr2.c

5    _Rules()                           _call_continueb()             s03wgrap.c

5    _Rules()                           _windowb()                    s03wgrap.c

7    _Scenario_Generation()             _call_continueb()             s03wgrap.c

7    _Scenario_Generation()             _windowb()                    s03wgrap.c

6    _setcoordsforzoommapb()            _getunitbycode()               s03nmap.c

6    _setcoordsforzoommapb()            _setcoordsforzoommap()         s03nmap.c

4    _setcoordsforzoommap()             none                          s03mcopy.c

4    _slopetorearcell()                 _elevation()                  s03kpsr2.c

4    _slopetorearcell()                 _transfstdtoreal()            s03kpsr2.c

4    _spiralsearch()                    (*_suitabilityfunction())      s03kpsr.c

Table 3.3.  (Continued)  Alphabetical listing of each Scenarist C function (Column I) and the corresponding C function(s) (Column III) which it calls.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                 

I              II                                III                           IV

4    _suitability0101()                 _transfstdtoreal()             s03kpsr.c

4    _suitability0201()                 _accessibility()              s03kpsr2.c

4    _suitability0201()                 _disttootherunits()           s03kpsr2.c

4    _suitability0201()                 _lostoheadquarters()          s03kpsr2.c

4    _suitability0201()                 _lostootherunits()            s03kpsr2.c

4    _suitability0201()                 _lostotarget()                s03kpsr2.c

4    _suitability0201()                 _terrain()                    s03kpsr2.c

4    _suitability0201()                 _transfstdtoreal()            s03kpsr2.c

4    _terrain()                         _transfstdtoreal()             s03kpsr.c

4    _transfstdtoreal()                 none                          s03pdraw.c

4    _unit_menu_selection()             _Copy_Unit()                  s03ygra2.c

4    _unit_menu_selection()             _Define_Unit()                s03ygra2.c

4    _unit_menu_selection()             _Delete_Unit()                s03ygra2.c

4    _unit_menu_selection()             _Display_Unit()               s03ygra2.c

4    _unit_menu_selection()             _display_windowd()            s03ygra2.c

4    _unit_menu_selection()             _Output_Units()               s03ygra2.c

4    _unit_menu_selection()             _Reposition_FEBA()            s03ygra2.c

4    _unit_menu_selection()            _Reposition_Subunits_by_User() s03ygra2.c

4    _unit_menu_selection()           _Reposition_Subunits_by_Rules() s03ygra2.c

4    _unit_menu_selection()             _Reposition_Unit_by_User()    s03ygra2.c

4    _unit_menu_selection()             _windowa()                    s03ygra2.c

4    _unit_menu_selection()             _windowa()                    s03ygra2.c

4    _unit_menu_selection()             _windowd()                    s03ygra2.c

4    _unit_menu_selection()             _windowscreen()               s03ygra2.c

4    _Units()                           _unit_menu_selection()        s03wgrap.c

0    _windowa()                         none                          s03twind.c

0    _windowb()                         none                          s03twind.c

0    _windowb1()                        none                          s03twind.c

0    _windowb1enter()                   none                          s03twind.c

0    _windowb2()                        none                          s03twind.c

0    _windowb3()                        none                          s03twind.c

0    _windowbblack()                    none                          s03twind.c

0    _windowbenter()                    none                          s03twind.c

0    _windowc()                         none                          s03twind.c

0    _windowcenter()                    none                          s03twind.c

0    _windowd()                         none                          s03twind.c

0    _windowe()                         none                          s03twind.c

0    _windoweenter()                    none                          s03twind.c

0    _windowscreen()                    none                          s03twind.c

0    _windowscreenblue()                none                          s03twind.c

4    _Zoom_Map()                        _setcoordsforzoommapb()       s03ygra2.c

4    CLIPSval_0101(),CLIPSval_0202()    _windowbenter()               s03gmain.c

4    CLIPSval_0101(),CLIPSval_0202()    _windowc()                    s03gmain.c

Table 3.3.  (Continued)  Alphabetical listing of each Scenarist C function (Column I) and the corresponding C function(s) (Column III) which it calls.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                 

I              II                                III                           IV

4    CLIPSval_0101(),CLIPSval_0201()    _windowe()                    s03gmain.c

0    main()                             _display_intro_screens()      s03gmain.c

0    main()                             _display_screen_windows()     s03gmain.c

2    main()                             _getfilenames()               s03gmain.c

0    main()                             _main_menu_selection()        s03gmain.c

1    main()                             _project_selection()          s03gmain.c

0    main()                             _run_demo_script()            s03gmain.c

0    main()                             _setup_screen_windows()       s03gmain.c

0    main()                             close_dribble()               s03gmain.c

0    main()                             init_clips()                  s03gmain.c

0    main()                             load_rules()                  s03gmain.c

0    main()                             reset_clips()                 s03gmain.c

0    main()                             run()                         s03gmain.c

0    main()                             set_conserve()                s03gmain.c

0    setWindow()                        none                          s03twind.c

4    usrfuncs()                         define_function()             s03gmain.c

3.4. Summary of C Functions by Called Function

The data shown in Table 3.4. can be used by the programmer to associate functional areas and functions with each of the primary Scenarist C functions.  The data are organized alphabetically by function name (Column III).  Each line entry for a function identifies the function from which it was called.

Table 3.4.  Alphabetical listing of Scenarist C functions (Column III) and the corresponding C function (Column II) from which it is called.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                 

I              II                                III                           IV

4    _spiralsearch()                    (*_suitabilityfunction())         s03kpsr.c

4    _repositionsubunitsbyrule()        (*actionfunctionpointer())        s03kpsr.c

4    _repositionsubunitsbyrule()        (*preprocessingfnpointer())       s03kpsr.c

4    _repositionsubunitsbyrule()        (*suitabilityfunctionpointer())   s03kpsr.c

0    _main_menu_selection()             _About()                         s03wgrap.c

4    _suitability0201()                 _accessibility()                 s03kpsr2.c

6    _map_menu_selection()              _Add_Vector_Map_without_Labels() s03ygra2.c

6    _map_menu_selection()              _Add_Vector_Map_with_Labels()    s03ygra2.c

0    _display_intro_screens()           _call_continue()                 s03wgrap.c

6    _readmapheader()                   _call_continue()                 s03qgtfl.c

6    _resetmaplocpoint()                _call_continue()                 s03qgtfl.c

3    _About()                           _call_continueb()                s03wgrap.c

5    _Rules()                           _call_continueb()                s03wgrap.c

7    _Scenario_Generation()             _call_continueb()                s03wgrap.c

8    _Hardware_Setup()                  _call_continueb()                s03vmous.c

6    _map_menu_selection()              _Change_Map_Files()              s03ygra2.c

6    _map_menu_selection()              _Change_Map_Location()           s03ygra2.c

4    _repositionsubunitsbyuser()        _clearfoot()                      s03jpsu.c

4    _unit_menu_selection()             _Copy_Unit()                     s03ygra2.c

4    _Copy_Unit()                       _copyunit()                      s03ygra2.c

4    _preprocessing0201()               _createaccessibilitymap()        s03kpsr2.c

4    _unit_menu_selection()             _Define_Unit()                   s03ygra2.c

4    _Define_Unit()                     _defineunit()                    s03ygra2.c

4    _unit_menu_selection()             _Delete_Unit()                   s03ygra2.c

4    _Delete_Unit()                     _deleteunit()                    s03ygra2.c

0    main()                             _display_intro_screens()         s03gmain.c

0    main()                             _display_screen_windows()        s03gmain.c

4    _unit_menu_selection()             _Display_Unit()                  s03ygra2.c

0    _main_menu_selection()             _display_windowd()               s03wgrap.c

4    _unit_menu_selection()             _display_windowd()               s03ygra2.c

6    _map_menu_selection()              _display_windowd()               s03ygra2.c

4    _Display_Unit()                    _displayunit()                   s03ygra2.c

4    _clipssuitability0101()            _distancetofeba()                 s03kpsr.c

4    _suitability0201()                 _disttootherunits()              s03kpsr2.c

6    _map_menu_selection()              _Draw_Elevation_Map()            s03ygra2.c

6    _map_menu_selection()              _Draw_Road_Map()                 s03ygra2.c

6    _map_menu_selection()              _Draw_Terrain_Map()              s03ygra2.c

6    _map_menu_selection()              _Draw_Vector_Map_without_Labels()s03ygra2.c

4    _Add_Vector_Map_without_Labels()   _drawmap()                       s03ygra2.c

4    _Add_Vector_Map_with_Labels()      _drawmap()                       s03ygra2.c

4    _displayunit()                     _drawmap()                       s03mcopy.c

4    _Draw_Elevation_Map()              _drawmap()                       s03ygra2.c

4    _Draw_Road_Map()                   _drawmap()                       s03ygra2.c

Table 3.4.  (Continued)  Alphabetical listing of Scenarist C functions (Column III) and the corresponding C function (Column II) from which it is called.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                            

I              II                                III                      IV

4    _Draw_Terrain_Map()                _drawmap()                       s03ygra2.c

4    _Draw_Vector_Map_with_Labels()     _drawmap()                       s03ygra2.c

4    _Draw_Vector_Map_without_Labels()  _drawmap()                       s03ygra2.c

4    _displayunit()                     _drawunit()                      s03mcopy.c

4    _Place_Unit_on_Map()               _drawunit()                      s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _drawunit()                      s03ygra2.c

4    _Copy_Unit()                       _editunit()                      s03ygra2.c

4    _Define_Unit()                     _editunit()                      s03ygra2.c

4    _Display_Unit()                    _editunit()                      s03ygra2.c

4    _action0201()                      _elevation()                     s03kpsr2.c

4    _horizonangle()                    _elevation()                      s03kpsr.c

4    _LOS()                             _elevation()                     s03kpsr2.c

4    _slopetorearcell()                 _elevation()                     s03kpsr2.c

4    _repositionsubunitsbyrule()        _mapcellsizestdcoords()           s03kpsr.c

2    main()                             _getfilenames()                  s03gmain.c

4    _copyunit()                        _getsubunitbycode()              s03mcopy.c

4    _defineunit()                      _getsubunitbycode()              s03ldefu.c

4    _repositionprogeny()               _getsubunitbycode()               s03ipuu.c

4    _copyunit()                        _getunitbycode()                 s03mcopy.c

4    _defineunit()                      _getunitbycode()                 s03ldefu.c

4    _deleteunit()                      _getunitbycode()                 s03mcopy.c

4    _displayunit()                     _getunitbycode()                 s03mcopy.c

4    _lostoheadquarters()               _getunitbycode()                 s03kpsr2.c

4    _Place_Unit_on_Map()               _getunitbycode()                 s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _getunitbycode()                 s03ygra2.c

4    _repositionprogeny()               _getunitbycode()                  s03ipuu.c

4    _repositionsubunitsbyuser()        _getunitbycode()                  s03jpsu.c

4    _repositionunitbyuser()            _getunitbycode()                  s03ipuu.c

6    _setcoordsforzoommapb()            _getunitbycode()                  s03nmap.c

4    _displayunit()                     _getunitbyidno()                 s03mcopy.c

4    _displayunit()                     _getunitbyindex()                s03mcopy.c

0    _main_menu_selection()             _Hardware_Setup()                s03wgrap.c

4    _clipssuitability0101()            _horizonangle()                   s03kpsr.c

4    _lostoheadquarters()               _LOS()                           s03kpsr2.c

4    _lostootherunits()                 _LOS()                           s03kpsr2.c

4    _lostotarget()                     _LOS()                           s03kpsr2.c

4    _suitability0201()                 _lostoheadquarters()             s03kpsr2.c

4    _suitability0201()                 _lostootherunits()               s03kpsr2.c

4    _suitability0201()                 _lostotarget()                   s03kpsr2.c

0    main()                             _main_menu_selection()           s03gmain.c

0    _main_menu_selection()             _Map()                           s03wgrap.c

6    _Map()                             _map_menu_selection()            s03wgrap.c

4    _unit_menu_selection()             _Output_Units()                  s03ygra2.c

4    _Output_Units()                    _outputunits()                   s03ygra2.c

Table 3.4.  (Continued)  Alphabetical listing of Scenarist C functions (Column III) and the corresponding C function (Column II) from which it is called.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                    

I              II                                III                           IV

6    _map_menu_selection()              _Place_Unit_on_Map()             s03ygra2.c

6    _map_menu_selection()              _Print_Map()                     s03ygra2.c

4    _Print_Map()                       _printscreen()                   s03ygra2.c

1    main()                             _project_selection()             s03gmain.c 0    _main_menu_selection()             _Quit()                          s03wgrap.c

2    _getfilenames()                    _readmapdata()                   s03qgtfl.c

4    _Change_Map_Location()             _readmapdata()                   s03ygra2.c

2    _getfilenames()                    _readmapheader()                 s03qgtfl.c

4    _Change_Map_Files()                _readmapheader()                 s03ygra2.c

4    _Change_Map_Files()                _readmapheader()                 s03ygra2.c

4    _Change_Map_Location()             _readmapheader()                 s03ygra2.c

4    _unit_menu_selection()             _Reposition_FEBA()               s03ygra2.c

4    _unit_menu_selection()             _Reposition_Subunits_by_Rules()  s03ygra2.c

4    _unit_menu_selection()             _Reposition_Subunits_by_User()   s03ygra2.c

4    _unit_menu_selection()             _Reposition_Unit_by_User()       s03ygra2.c

4    _Reposition_FEBA()                 _repositionfeba()                s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _repositionprogeny()             s03ygra2.c

4    _repositionsubunitsbyuser()        _repositionprogeny()              s03jpsu.c

4    _repositionunitbyuser()            _repositionprogeny()              s03ipuu.c

4    _Reposition_Subunits_by_User()     _repositionsubunitsbyuser()      s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _repositionsubunitsbyrule()      s03ygra2.c

4    _Reposition_Unit_by_User()         _repositionunitbyuser()          s03ygra2.c

2    _getfilenames()                    _resetmaplocpoint()              s03qgtfl.c

4    _Change_Map_Files()                _resetmaplocpoint()              s03ygra2.c

4    _Change_Map_Location()             _resetmaplocpoint()              s03ygra2.c

4    _createaccessibilitymap()          _road()                          s03kpsr2.c

0    _main_menu_selection()             _Rules()                         s03wgrap.c

0    main()                             _run_demo_script()               s03gmain.c

0    _main_menu_selection()             _Scenario_Generation()           s03wgrap.c

4    _Zoom_Map()                        _setcoordsforzoommapb()          s03ygra2.c

6    _setcoordsforzoommapb()            _setcoordsforzoommap()            s03nmap.c

4    _displayunit()                     _setcootdsforzoommap()           s03mcopy.c

0    main()                             _setup_screen_windows()          s03gmain.c

4    _createaccessibilitymap()          _slopetorearcell()               s03kpsr2.c

4    _repositionsubunitsbyrule()        _spiralsearch()                   s03kpsr.c

4    _clipssuitability0101()            _terrain()                        s03kpsr.c

4    _createaccessibilitymap()          _terrain()                       s03kpsr2.c

4    _suitability0201()                 _terrain()                       s03kpsr2.c

4    _clipssuitability0101()            _transfstdtoreal()                s03kpsr.c

4    _copyunit()                        _transfstdtoreal()               s03mcopy.c

4    _defineunit()                      _transfstdtoreal()               s03ldefu.c

4    _distancetofeba()                  _transfstdtoreal()                s03kpsr.c

4    _disttootherunits()                _transfstdtoreal()               s03kpsr2.c

Table 3.4.  (Continued)  Alphabetical listing of Scenarist C functions (Column III) and the corresponding C function (Column II) from which it is called.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                    

I              II                                III                           IV

4    _drawunit()                        _transfstdtoreal()               s03pdraw.c

4    _elevation()                       _transfstdtoreal()                s03kpsr.c

4    _mapcellsizestdcoords()            _transfstdtoreal()                s03kpsr.c

4    _horizonangle()                    _transfstdtoreal()                s03kpsr.c

4    _outputunits()                     _transfstdtoreal()               s03mcopy.c

4    _repositionprogeny()               _transfstdtoreal()                s03ipuu.c

4    _road()                            _transfstdtoreal()               s03kpsr2.c

4    _slopetorearcell()                 _transfstdtoreal()               s03kpsr2.c

4    _suitability0101()                 _transfstdtoreal()                s03kpsr.c

4    _suitability0201()                 _transfstdtoreal()               s03kpsr2.c

4    _terrain()                         _transfstdtoreal()                s03kpsr.c

4    _Units()                           _unit_menu_selection()           s03wgrap.c

0    _main_menu_selection()             _Units()                         s03wgrap.c

0    _display_screen_windows()          _windowa()                       s03wgrap.c

0    _main_menu_selection()             _windowa()                       s03wgrap.c

4    _unit_menu_selection()             _windowa()                       s03ygra2.c

4    _unit_menu_selection()             _windowa()                       s03ygra2.c

6    _map_menu_selection()              _windowa()                       s03wgrap.c

0    _display_screen_windows()          _windowb()                       s03wgrap.c

1    _project_selection()               _windowb()                       s03wgrap.c

3    _About()                           _windowb()                       s03wgrap.c

4    _defineunit()                      _windowb()                       s03ldefu.c

5    _Rules()                           _windowb()                       s03wgrap.c

6    _Map()                             _windowb()                       s03wgrap.c

7    _Scenario_Generation()             _windowb()                       s03wgrap.c

8    _Hardware_Setup()                  _windowb()                       s03vmous.c

4    _copyunit()                        _windowb1()                      s03mcopy.c

4    _copyunit()                        _windowb2()                      s03mcopy.c

4    _copyunit()                        _windowb3()                      s03mcopy.c

4    _defineunit()                      _windowbenter()                  s03ldefu.c

4    _Place_Unit_on_Map()               _windowbenter()                  s03ygra2.c

4    _Reposition_Subunits_by_Rules()    _windowbenter()                  s03ygra2.c

4    _repositionsubunitsbyrule()        _windowbenter()                   s03kpsr.c

4    CLIPSval_0101(),CLIPSval_0201()   _windowbenter()                   s03gmain.c

0    _display_screen_windows()          _windowc()                       s03wgrap.c

4    _copyunit()                        _windowc()                       s03mcopy.c

4    _defineunit()                      _windowc()                       s03ldefu.c

4    _Reposition_Subunits_by_Rules()    _windowc()                       s03ygra2.c

4    _repositionsubunitsbyuser()        _windowc()                        s03jpsu.c

4    _repositionunitbyuser()            _windowc()                        s03ipuu.c

4    CLIPSval_0101(),CLIPSval_0201()    _windowc()                       s03gmain.c

4    _Place_Unit_on_Map()               _windowcenter()                  s03ygra2.c

0    _display_screen_windows()          _windowd()                       s03wgrap.c

0    _main_menu_selection()             _windowd()                       s03wgrap.c

Table 3.4.  (Continued)  Alphabetical listing of Scenarist C functions (Column III) and the corresponding C function (Column II) from which it is called.  Functional area (identified in Table 3.1) is given in Column I and C source code file is given in Column IV.

                                     COLUMN NO.                                    

I              II                                III                           IV

1    _project_selection()               _windowd()                       s03wgrap.c

4    _unit_menu_selection()             _windowd()                       s03ygra2.c

6    _map_menu_selection()              _windowd()                       s03ygra2.c

0    _display_screen_windows()          _windowe()                       s03wgrap.c

4    _defineunit()                      _windowe()                       s03ldefu.c

4    CLIPSval_0101(),CLIPSval_0201()    _windowe()                       s03gmain.c

4    _Reposition_Subunits_by_Rules()    _windoweenter()                  s03ygra2.c

4    _repositionsubunitsbyrule()        _windoweenter()                   s03kpsr.c

0    _display_screen_windows()          _windowscreen()                  s03wgrap.c

0    _main_menu_selection()             _windowscreen()                  s03wgrap.c

4    _unit_menu_selection()             _windowscreen()                  s03ygra2.c

0    _display_intro_screens()           _windowscreenblue()              s03wgrap.c

6    _readmapdata()                     _windowscreenblue()              s03qgtfl.c

6    _readmapheader()                   _windowscreenblue()              s03qgtfl.c

6    _map_menu_selection()              _Zoom_Map()                      s03ygra2.c

0    main()                             close_dribble()                  s03gmain.c

9    _Quit()                            close_dribble()                  s03wgrap.c

4    usrfuncs()                         define_function()                s03gmain.c

0    main()                             init_clips()                     s03gmain.c

0    main()                             load_rules()                     s03gmain.c

0    main()                             reset_clips()                    s03gmain.c

0    main()                             run()                            s03gmain.c

4    _clipssuitability0101()            run()                             s03kpsr.c

0    main()                             set_conserve()                   s03gmain.c

3.5. Summary of Scenarist Data Files

The Scenarist data base files and a brief description of each file is given in Table 3.5. below.

  The xxxx in a file name is used to indicate a project/sequence number within project combination.

  For example, 0201 indicates project 02 and file sequence 01 within that project.

Table 3.5.  Alphabetical listing of Scenarist data base files.

 File Name         Description

clipxxxx.fil       CLIPS rule file

eqptxxxx.fil       Equipment file (descriptions of equipment)

febaxxxx.fil       FEBA file (locations of up to five points on FEBA)

genuxxxx.fil       Generic unit file (binary file ‑‑ no listing)

geoaxxxx.fil       Vector map area objects (e.g., towns, lakes)

geocxxxx.fil       Elevation map cell data

geodxxxx.fil       Terrain-type map cell data

geolxxxx.fil       Vector linear objects (e.g., roads, rivers)

geopxxxx.fil       Vector point objects

georxxxx.fil       Road availability map cell data

highlits.fil       Summary descriptive information about the Scenarist

intro.fil          Scenarist introduction screen

outxxxx.fil        Formatted output file containing specific unit data

platxxxx.fil       Platform file (descriptions of platforms)

projxxxx.fil       Project File: Names of all other Scenarist data files

scraxxxx.fil       Scratch file (binary file ‑‑ no listing)

specxxxx.fil       Specific unit file (binary file ‑‑ no listing)

symbxxxx.fil       Military unit symbols, labels

titlxxxx.fil       Map parameters and map title

4.0. Data Flow Diagrams

The data flow diagram is a form of dependency diagram that is commonly used to show overall data flow through a system.  It shows data stores and external sources and destinations of data.  Its primary purpose as a systems analysis tool is to show the basic procedural components of the system and the data that pass among them.  The data flow diagrams shown in the following sections are organized by the main processes used in the Scenarist and shown in Table 3.1.  The functional area number serves as the cross reference between the data flow diagram and the data presented in Table 3.1.

4.1. Project File Selection - Functional Area 1.

The data flow diagram for the Project File Selection function is shown in Figure 4.1-1.

4.2. Set Initial Map Location Point - Functional Area 2.

The data flow diagram for the Set Initial Map Location Point function is shown in Figure 4.2-1.

4.3. Brief System Description - Functional Area 3.

The data flow diagram for the Brief System Description  function is shown in Figure 4.3-1.

4.4. Processing Military Units - Functional Area 4.

The data flow diagrams for the Processing Military Units function are shown in Figure 4.4-1 to 4.4-10.

                    4.4-1

                    4.4-2

                    4.4-3

                    4.4-4

                    4.4-5

                    4.4-6

                    4.4-7

                    4.4-8

                    4.4-9

                    4.4-10

4.5. Entry Point for CLIPS Integrated Rule Editor - Functional Area 5.

The data flow diagram for the Rules function is shown in Figure 4.5-1.

4.6. Processing Maps - Functional Area 6.

The data flow diagrams for the Processing Maps function are shown in Figure 4.6-1 to Figure 4.6-11.

                    4.6-2

                    4.6-3

                    4.6.4

                    4.6-5

                    4.6.6

                    4.6-7

                    4.6-8

                    4.6-9

                    4.6-10

                    4.6-11

4.7. Entry Point for Large-scale Scenario Generation - Functional Area 7.

The data flow diagram for the Large-scale Scenario Generation function is shown in Figure 4.7-1.

4.8. Display Hardware Characteristics - Functional Area 8.

The data flow diagram for the Display Hardware Characteristics function is shown in Figure 4.8-1.

4.9. Exit From Scenarist - Functional Area 9.

The data flow diagram for the Exit From Scenarist function is shown in Figure 4.9-1.

5.0. Input/Output Data Elements

5.1. Data Structures

This section is no longer used.  (See discussion in Section 1.1 -- data structures are now described in the Final Report.)

5.2. Output Data Interface File

Data can be transferred between the Scenarist and other system(s) via an ASCII output file.  This formatted file contains unit data, including the coordinates of the final placement and unit identification information.  To do this, the user selects the Output Unit option form the Unit Menu screen and inputs a disk file name.  Hard copy output also can be generated using this option.  An example of this output for a test deployment is presented in Appendix B.

6.0. Description of System Modules

The description of system modules uses the same basic structure as followed in the other sections.  That is, the following sections are organized by the main Scenarist processes.  To as great extent as possible, the name of the menu selection item, such as _Draw_Terrain_Map, has been chosen to suggest the function that is performed when that option is clicked using the left mouse button.  The descriptions add to this intuitive notion and provide the programmer with more detail.

6.1. Project File Selection

The Project File Selection option occurs when the Scenarist software starts executing.  The local DOS directory is searched for files matching the wild card pattern PROJ*.FIL.  File names matching this pattern are displayed on the screen and the user clicks on the highlighted file name to select it.  The user is asked to confirm the selection.

The project file is an ASCII file containing the names of the data base files and user-defined suitability function name that the Scenarist uses at startup.  The project file, PROJ0201.FIL, used for the start of the TRAILBLAZER example is shown below.

File name: PROJ0201.FIL

intro.fil

titl01.fil

geod0201.fil

geoc0201.fil

geor0201.fil

geoa02.fil

geol02.fil

geop02.fil

genu01.fil

spec02.fil

scra01.fil

symb01.fil

plat01.fil

eqpt01.fil

feba02.fil

_suitability0201

_preprocessing0201

_action0201

_clipssuitability0201

clip0201.fil

The content and format of the various files used by the Scenarist system are described in the Final Report.

6.2. Set Initial Map Location Point

The Set Initial Map Location Point option occurs when the Scenarist software starts executing.  The project file identifies the map files and, at this point, the user can specify a map coordinate for either the center of the map display or the upper left-hand corner.

The user can alter the location point and/or the map files at any time during execution by selecting under the Processing Maps function either Change Map Location or Change Map Files.

6.3. Brief System Description

This option provides the user with point of contact address and phone information for both US Army CECOM and Vista Research Corporation.

6.4. Processing Military Units

This option provides the user with ten sub-options for handling the creation, modification, positioning, and displaying of unit data.  Each option is described below.  Sample input data used in the Beqaa Valley and TRAILBLAZER applications is shown in Appendix A of this document.  (Note: See the Test Report for additional information about the TRAILBLAZER application.)

Define Unit

This option is used to define a new generic or specific unit in the data base. 

Copy Unit

This option creates a new generic or specific unit in the data base by copying the contents of an existing record into the data structure of the new unit record.

The Scenarist allows the user four copy options:

Copy from Generic to Specific

Copy from Generic to Generic

Copy from Specific to Specific

Copy from Specific to Generic

Delete Unit

This option is used to delete a generic or specific unit from the data base.

Reposition Unit by User

This option allows the user to reposition a unit that has NO parent unit.  The user inputs the unit code of the unit to be moved and the Scenarist checks on whether a parent unit is defined for this unit.  If there is no parent unit, then the input process continues; otherwise the user is returned to the unit menu and is prompted for another selection. 

This process moves the selected unit to the user designated location repositions all subunits automatically.

Reposition Subunits by User

This option allows the user to reposition a subordinate unit.  Input data are required, if already defined in the record, for location point, radius, and placement code for each large minor subarea item and location points and placement code for point items.

Reposition Subunits by Rules

This option repositions subunits using the CLIPS expert system knowledge base.

Reposition FEBA

This option allows the user to review and/or change the location of the FEBA.  The existing points are displayed on the screen and the user is prompted for the changes.

Display Unit

This option allows the user to display the unit on the graphics terminal.  The unit is drawn in the map window on the elevation map using the zoom characteristics in effect at the time this option is chosen.

Output Unit

This option allows the user to obtain hard copy output of the specific unit and generic unit files.  The required printer is a HP Laser Jet Series II compatible printer.

Return to Previous Menu

This option returns the user to the Main Menu selection screen.

6.5. Entry Point for CLIPS Integrated Rule Editor

This option enables the user to display the data contained in the CLIPS rule file, about rule definition and source.

This option is also the "hook" in the Scenarist code to interface with a CLIPS expert system rule editor (a suggested area for future development).

6.6. Processing Maps

Draw Terrain Map

This option draws the terrain map on the graphics monitor.  Map resolution, map location point, and zoom window characteristics have been set prior to selecting this option.

Draw Elevation Map

This option draws the elevation map on the graphics monitor.  Map resolution, map location point, and zoom window characteristics have been set prior to selecting this option.

Draw Road Map

This option draws the road availability map on the graphics monitor.  Map resolution, map location point, and zoom window characteristics have been set prior to selecting this option.  (Note: A road availability cell map is distinguished from a vector road map.  The road availability cell map indicates whether a road is present in a map cell.  A vector road map draws lines (representing roads) on the screen.  A vector road map is drawn by calling the function Add Vector Map with Labels or the function Add Vector Map without Labels.

Add Vector Map with Labels

This option adds the vector map with labels to whatever already is drawn in the map window.  Map resolution, map location point, and zoom window characteristics have been set prior to selecting this option. 

In some situations, the display of the label information can make the graphics window appear very "busy".  The Scenarist provides the Add Vector Map without Labels as an alternative selection.

Add Vector Map without Labels

This option adds the vector map without labels to whatever already is drawn in the map window.  Map resolution, map location point, and zoom window characteristics have been set prior to selecting this option. 

Place Unit on Map

This option allows the user to identify a specific unit, by unit id code, and the Scenarist will place the unit on the map using the coordinate information in the data base. 

Zoom Map

This option supports three choices:

1.  Return to the original map.

2.  Set the zoom map coordinates as the bounding

    rectangle of a unit.

3.  Specify the upper left corner coordinates and

    width of the map.

Change Map Location

This option supports two choices:

1.  Specify upper left corner for map intersection

    location point.

2.  Specify map center.

Change Map Files

This option allows the user to access different map data files for the terrain-type file (GEODxxx.FIL), the elevation file (GEOCxxx.FIL), and the road file (GEORxxxx.FIL).  Maps of different resolution can be accessed to facilitate the analysis of unit placement.  The Scenarist can handle simultaneously map files of different resolutions (i.e. terrain-type file at 100-meter resolution and elevation file at 30-meter resolution).

Print Map

This option allows the user to obtain hard copy output of the graphics screen.  The required printer is a HP Laser Jet Series II compatible printer.

Return to Previous Menu

This option returns the user to the Main Menu selection screen.

6.7. Entry Point for Large-Scale Scenario Generation

This option is the "hook" in the Scenarist code to interface with processes that would reposition an entire data base of units using the Scenarist and the CLIPS knowledge base.

The analysis of the placements would be accomplished following the processing and would be supported by a number of reports indicating the degree to which canonical placements were not suitable based on the rules in the knowledge base.

The Scenarist would "thread" its way through this trace data and the user would review/approve the placements.  Final unit placement codes would be modified in the data base records at this time.

This is an area for future development.

6.8. Display Hardware Characteristics

This option displays to the screen several of the PC system hardware characteristics determined from a query of the video configuration data structure.

6.9. Exit from Scenarist

This option exits the user from the Scenarist software.

Appendix A. Scenarist Test Deployment

A. Units Used in Beqaa Valley Problem

Generic Unit file:genu01.fil

Specific Unit file: spec01.fil

FEBA File: feba01.fil

1. Define a Generic Division of Type 1

Name: Division1

Code: 1 1 1 1 0 0 0 0 0 0 0

Type: 1

Front/Rear boundary points: .5 .5

NFRONT: 2

NFRONT sets of (echelon,no.,type,idno): 5 1 1 0 5 2 1 0

NFRONT-1 boundary points: .5 .5

NREAR: 0

NALLAREA: 0

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 0

NPOINT: 0

2. Copy Generic Division of Type 1 to a Specific Division, BLUE

New Unit's Name: Division1

Old Code:    1 1 1 1 0 0 0 0 0 0 0

New Code:    1 1 1 1 0 0 0 0 0 0 0

Parent Code: 1 1 1 0 0 0 0 0 0 0 0

Idno,parentidno: 141 131

4 Corners: 92000 30000 96000 46000 74000 48000 72000 34000

(Note: for Spearfish, SD, map use (in file spec02.fil):

610000 4925000 590000 4927000 588000 4905000 608000 4903000)

Objective: yes (i.e., input a "1")

(Note: for Spearfish, SD, map use 0 (in file spec02.fil)

Mission type: 1

2 Corners: 124000 36000 128000 32000

No. pts on avenue of approach: 1

Coords: 112000 38000

3. Copy Generic Division of Type 1 to a Specific Division, RED

New Unit's Name: RedDivision1

Old Code:    1 1 1 1 0 0 0 0 0 0 0

New Code:    2 1 1 1 0 0 0 0 0 0 0

Parent Code: 2 1 1 0 0 0 0 0 0 0 0

Idno,parentidno: 241 231

4 Corners: 110000 44000 106000 28000 128000 30000 130000 40000

(Note: for Spearfish, SD, map use (in file spec02.fil):

591000 4937000 611000 4935000 613000 4955000 593000 4957000)

Objective: no (i.e., hit "enter")

4. Define a Generic Brigade of Type 1

Name: MechBde1

Code: 1 1 1 1 1 0 0 0 0 0 0

Type: 1

Front/Rear Boundary Points: 0 0

NFRONT: 0

NREAR: 0

NALLAREA: 2

NALLAREA sets of Echelon,no.,type,idno: 8 1 1 0 8 2 2 0

NALLAREA sets of symbol location pts: .4 .4 .6 .55

(Note: this example is not realistic -- in reality, the

radar units are division assets, not brigade assets.)

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 0

NPOINT: 0

5. Copy Generic Brigade of Type 1 to a Specific Brigade (Right Front of Division), BLUE

Name: MechBde1

Old Code:    1 1 1 1 1 0 0 0 0 0 0

New Code:    1 1 1 1 1 0 0 0 0 0 0

Parent Code: 1 1 1 1 0 0 0 0 0 0 0

Idno,parentidno: 151 141

Objective: no

6. Copy Generic Brigade of Type 1 to a Specific Brigade (Left Front of Division), BLUE

Name: MechBde2

Old Code:    1 1 1 1 1 0 0 0 0 0 0

New Code:    1 1 1 1 2 0 0 0 0 0 0

Parent Code: 1 1 1 1 0 0 0 0 0 0 0

Idno,parentidno: 152 141

Objective: no

7. Define a Generic Field Artillery Battery of Type 1

Name: FA_Batt1

Code: 1 1 1 1 1 0 0 1 0 0 0

Type: 1

Front/Rear Boundary Points: 0 0

NFRONT: 0

NREAR: 0

NALLAREA: 0

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 4

NMINORSUBAREAABS sets of (echelon,no.,type,idno):

10 1 1 0 10 2 2 0 10 3 2 0 10 4 3 0

NMINORSUBAREAABS sets of (location point x,y, radius):

.4 .4 50 .13 .4 50 .87 .4 50 .4 .75 50

NPOINT: 0

8. Copy Generic Field Artillery Battery of Type 1 to Specific Field Artillery Battery (in brigade MechBde1, on right front of Division1), BLUE

Name: FA_Batt1

Old Code:    1 1 1 1 1 0 0 1 0 0 0

New Code:    1 1 1 1 1 0 0 1 0 0 0

Parent Code: 1 1 1 1 1 0 0 0 0 0 0

Idno,parentidno: 181 151

Objective: no

9. Define a Generic Air Defense Artillery Battery of Type 1

Name: ADA_Batt1

Code: 1 1 1 1 1 0 0 2 0 0 0

Type: 2

Front/Rear Boundary Points: 0 0

NFRONT: 0

NREAR: 0

NALLAREA: 0

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 4

NMINORSUBAREAABS sets of (echelon,no.,type,idno):

10 1 4 0 10 2 5 0 10 3 5 0 10 4 5 0

NMINORSUBAREAABS sets of (location point x,y, radius):

.6 .55 50 .13 .2 50 .87 .2 50 .53 .5 50

NPOINT: 0

10. Copy Generic Air Defense Artillery Battery of Type 1 to Specific Field Artillery Battery (in brigade MechBde1, on right front of Division1), BLUE

Name: ADA_Batt1

Old Code:    1 1 1 1 1 0 0 2 0 0 0

New Code:    1 1 1 1 1 0 0 2 0 0 0

Parent Code: 1 1 1 1 1 0 0 0 0 0 0

Idno,parentidno: 182 151

Objective: no

12. FEBA

No. of points on FEBA: 3

Points: 99000 28000 101000 37000 104000 46000

(Note: for Spearfish, SD, map use (in file feba02.fil):

585000 4932000 600000 4931000 615000 493000)

B. Units Used in TRAILBLAZER Problem

Generic Unit file:genu02.fil

Specific Unit file: spec02.fil

FEBA File: feba02.fil

1. Define a Generic Division of Type 2

(Note: this division is assigned type 2 to distinguish it from the division defined above)

Name: Division2

Code: 1 1 1 2 0 0 0 0 0 0 0

(Note: this division is assigned number 2 to distinguish it from the division defined above.  In order to access units, the Scenarist requires that every unit have a unique code.)

Type: 2

Front/Rear boundary points: .4 .4

NFRONT: 2

NFRONT sets of (echelon,no.,type,idno("ENTI"):5 1 2 0 5 2 2 0

NFRONT-1 boundary points: .5 .5

NREAR: 0

NALLAREA: 1

NALLAREA sets of ENTI: 7 1 1 0  (Note: this is the MI Bn)

NALLAREA sets of symbol location points: .4 .8

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 1  (Note: this is the DivHQCo)

NMINORSUBAREAABS sets of ENTI: 8 1 3 0

NMINORSUBAREAABS sets of loc pt & rad: .5 .9 200

NPOINT: 0

2. Copy Generic Division of Type 2 to a Specific Division, BLUE

New Unit's Name: Division2

Old Code:    1 1 1 2 0 0 0 0 0 0 0

New Code:    1 1 1 2 0 0 0 0 0 0 0

Parent Code: 1 1 1 0 0 0 0 0 0 0 0

Idno,parentidno: 142 131

4 Corners: 610000 4925000 590000 4927000 588000 4905000 608000 4903000

Objective: no

3. Define a Generic Military Intelligence (MI) Battalion of Type 1

Name: MIBn1

Code: 1 1 1 2 0 0 1 0 0 0 0

Type: 1

Front/Rear boundary points: 0 0

NFRONT: 0

NREAR: 0

NALLAREA: 1

NALLAREA sets of ENTI: 8 1 5 0  (Note: this is the EW Co)

NALLAREA sets of symbol location points: .25 .35

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 1  (Note: this is the MIBnHQCo)

NMINORSUBAREAABS sets of ENTI: 8 2 4 0

NMINORSUBAREAABS sets of loc pt & rad: .4 .8 100

NPOINT: 0

4. Copy Generic MI Battalion of Type 1 to a Specific MI Battalion, BLUE

Name: MIBn1

Old Code: 1 1 1 2 0 0 1 0 0 0 0

New Code: 1 1 1 2 0 0 1 0 0 0

Parent Code: 1 1 1 2 0 0 0 0 0 0 0

Idno, parentidno: 171, 142

Objective: no

5. Define a Generic Electronic Warfare (EW) Company of Type 1

Name: EWCo1

Code: 1 1 1 2 0 0 1 1 0 0 0

Type: 1

Front/Rear boundary points: 0 0

NFRONT: 0

NREAR: 0

NALLAREA: 1

NALLAREA sets of ENTI: 9 1 2 0  (Note: this is the SIGINT Processing Platoon (SPP))

NALLAREA sets of symbol location points: .2 .3

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 1  (Note: this is the EWHQPlt)

NMINORSUBAREAABS sets of ENTI: 9 2 1 0

NMINORSUBAREAABS sets of loc pt & rad: .25 .35 50

NPOINT: 0

6. Copy Generic EW Company of Type 1 to a Specific EW Company, BLUE

Name: EWCo1

Old Code: 1 1 1 2 0 0 1 1 0 0 0

New Code: 1 1 1 2 0 0 1 1 0 0 0

Parent Code: 1 1 1 2 0 0 1 0 0 0 0

Idno, parent idno: 181 171

Objective: no

7. Define a Generic SIGINT Processing Platoon (SPP) of Type 1

Name: SPP1

Code: 1 1 1 2 0 0 1 1 1 0 0

Type: 1

Front/Rear boundary points: 0 0

NFRONT: 0

NREAR: 0

NALLAREA: 2

NALLAREA sets of ENTI: 10 1 6 0 10 2 7 0  (Note: these are the TRAILBLAZER and TEAMPACK sections)

NALLAREA sets of symbol location points: .2 .3 .3 .3

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 0

NPOINT: 0

8. Copy Generic SPP of Type 1 to a Specific SPP, BLUE

Name: SPP1

Old Code: 1 1 1 2 0 0 1 1 1 0 0

New Code: 1 1 1 2 0 0 1 1 1 0 0

Parent Code: 1 1 1 2 0 0 1 1 0 0 0

Idno, parentidno: 191 181

Objective: no

9. Define a Generic TRAILBLAZER Section of Type 1

Name: TBSec1

Code: 1 1 1 2 0 0 1 1 1 1 0

Type: 1

Front/Rear boundary points: 0 0

NFRONT: 0

NREAR: 0

NALLAREA: 0

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 5 (Note: these are the five TRAILBLAZER Master Control Stations)

NMINORSUBAREAABS sets of ENTI: 11 1 1 0 11 2 1 0 11 3 1 0 11 4 1 0 11 5 1 0

NMINORSUBAREAABS sets of loc coords, radius: .1 .1 25 .3 .3 25 .5 .1 25 .7 .3 25 .9 .1 25  (Note: these coordinates correspond to the "W" configuration of the canonical TRAILBLAZER laydown)

NPOINT: 0

10. Copy Generic TRAILBLAZER Section of Type 1 to a Specific TRAILBLAZER Section, BLUE

Name: TBSec1

Old Code: 1 1 1 2 0 0 1 1 1 1 0

New Code: 1 1 1 2 0 0 1 1 1 1 0

Parent Code: 1 1 1 2 0 0 1 1 1 0 0

Idno, parentidno: 1101 191

Objective: yes

Mission type: 2

Coordinates of bounding rectangle of objective: 591000 4937000 613000 4955000

11. Define a Generic TEAMPACK Section of Type 2 (Note: no rules were developed for the TEAMPACK -- just the following canonical laydown.  The section type is 2 to distinguish it from the TRAILBLAZER section, which is a section of type 1.)

Name: TPSec1

Code: 1 1 1 2 0 0 1 1 1 2 0

Type: 2

Front/Rear boundary points: 0 0

NFRONT: 0

NREAR: 0

NALLAREA: 0

NMAJORSUBAREA: 0

NMINORSUBAREAREL: 0

NMINORSUBAREAABS: 3 (Note: these are the three TEAMPACK teams)

NMINORSUBAREAABS sets of ENTI: 11 1 2 0 11 2 2 0 11 3 2 0

NMINORSUBAREAABS sets of loc coords, radius: .1 .05 25 .4 .05 25 .6 .05 25

NPOINT: 0

12. Copy Generic TEAMPACK Section of Type 2 to a Specific TEAMPACK Section, BLUE

Name: TPSec1

Old Code: 1 1 1 2 0 0 1 1 1 2 0

New Code: 1 1 1 2 0 0 1 1 1 2 0

Parent Code: 1 1 1 2 0 0 1 1 1 0 0

Idno, parentidno: 1102 191

Objective: yes

Mission type: 2

Coordinates of bounding rectangle of objective: 591000 4937000 613000 4955000

13. FEBA

No. of points on FEBA: 3

Points: 585000 4932000 600000 4931000 615000 493000)

Code:

1: Side

2: Army

3: Corps

4: Division

5: Brigade

6: Regiment

7: Battalion

8: Company/Battery

9: Platoon

10: Section

11: Squad/Team

(12: Platform)

(13: Equipment)

Appendix B. Test Output Data Interface File

 

Formatted printout of file spec02.fil (Output Unit option), showing organizational structure and locations of all units in file.

         Index Idno       Code     Sde Ech Typ   No Echelon Name/Subitem Type

 Unit:      1    141    11110000000  1   4   1     1 Div     Division1      

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  No. of area subordinate units = 2

  Subunit:  1    0      11111000000  1   5   1     1 Bde     MechBde        

  Placement code: 0

  Location (coordinates of four corners):

   610000.00 4925000.00 600000.00 4926000.00 599000.00 4915000.00 609000.00 4914000.00

  Subunit:  2    0      11112000000  1   5   1     2 Bde     MechBde        

  Placement code: 0

  Location (coordinates of four corners):

   600000.00 4926000.00 590000.00 4927000.00 589000.00 4916000.00 599000.00 4915000.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:      2    241    21110000000  2   4   1     1 Div     RedDivision1   

  Location (coordinates of four corners):

   591000.00 4937000.00 611000.00 4935000.00 613000.00 4955000.00 593000.00 4957000.00

  No. of area subordinate units = 2

  Subunit:  1    0      21111000000  2   5   1     1 Bde     Bde1           

  Placement code: 0

  Location (coordinates of four corners):

   591000.00 4937000.00 601000.00 4936000.00 602000.00 4946000.00 592000.00 4947000.00

  Subunit:  2    0      21112000000  2   5   1     2 Bde     Bde1           

  Placement code: 0

  Location (coordinates of four corners):

   601000.00 4936000.00 611000.00 4935000.00 612000.00 4945000.00 602000.00 4946000.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:      3    151    11111000000  1   5   1     1 Bde     MechBde1       

  Location (coordinates of four corners):

   610000.00 4925000.00 600000.00 4926000.00 599000.00 4915000.00 609000.00 4914000.00

  No. of area subordinate units = 2

  Subunit:  1    0      11111001000  1   8   1     1 Co/Btry FA_Batt        

  Placement code: 0

 Location (coordinates of four corners):

   610000.00 4925000.00 600000.00 4926000.00 599000.00 4915000.00 609000.00 4914000.00

  Subunit:  2    0      11111002000  1   8   2     2 Co/Btry ADA_Batt       

  Placement code: 0

  Location (coordinates of four corners):

   610000.00 4925000.00 600000.00 4926000.00 599000.00 4915000.00 609000.00 4914000.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:      4    152    11112000000  1   5   1     2 Bde     MechBde2       

  Location (coordinates of four corners):

   600000.00 4926000.00 590000.00 4927000.00 589000.00 4916000.00 599000.00 4915000.00

  No. of area subordinate units = 2

  Subunit:  1    0      11112001000  1   8   1     1 Co/Btry FA_Batt        

  Placement code: 0

  Location (coordinates of four corners):

   600000.00 4926000.00 590000.00 4927000.00 589000.00 4916000.00 599000.00 4915000.00

  Subunit:  2    0      11112002000  1   8   2     2 Co/Btry ADA_Batt       

  Placement code: 0

  Location (coordinates of four corners):

   600000.00 4926000.00 590000.00 4927000.00 589000.00 4916000.00 599000.00 4915000.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:      5    181    11111001000  1   8   1     1 Co/Btry FA_Batt1       

  Location (coordinates of four corners):

   610000.00 4925000.00 600000.00 4926000.00 599000.00 4915000.00 609000.00 4914000.00

  No. of area subordinate units = 4

  Subunit:  1    0      11111001010  1  10   1     1 Sec     FA_HQ          

  Placement code: 0

  Location (coordinates of four corners):

   605600.00 4921000.00 605600.00 4921000.00 605600.00 4921000.00 605600.00 4921000.00

  Subunit:  2    0      11111001020  1  10   2     2 Sec     TPQ‑36         

  Placement code: 0

  Location (coordinates of four corners):

   608300.00 4920730.00 608300.00 4920730.00 608300.00 4920730.00 608300.00 4920730.00

  Subunit:  3    0      11111001030  1  10   2     3 Sec     TPQ‑36         

  Placement code: 0

  Location (coordinates of four corners):

   600900.00 4921470.00 600900.00 4921470.00 600900.00 4921470.00 600900.00 4921470.00

  Subunit:  4    0      11111001040  1  10   3     4 Sec     TPQ‑37         

  Placement code: 0

  Location (coordinates of four corners):

   605250.00 4917150.00 605250.00 4917150.00 605250.00 4917150.00 605250.00 4917150.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:      6    182    11111002000  1   8   2     2 Co/Btry ADA_Batt1      

  Location (coordinates of four corners):

   610000.00 4925000.00 600000.00 4926000.00 599000.00 4915000.00 609000.00 4914000.00

  No. of area subordinate units = 4

  Subunit:  1    0      11111002010  1  10   4     1 Sec     ADA_HQ         

  Placement code: 0

  Location (coordinates of four corners):

   603450.00 4919550.00 603450.00 4919550.00 603450.00 4919550.00 603450.00 4919550.00

  Subunit:  2    0      11111002020  1  10   5     2 Sec     FAAR           

  Placement code: 0

  Location (coordinates of four corners):

   608500.00 4922930.00 608500.00 4922930.00 608500.00 4922930.00 608500.00 4922930.00

  Subunit:  3    0      11111002030  1  10   5     3 Sec     FAAR           

  Placement code: 0

  Location (coordinates of four corners):

   601100.00 4923670.00 601100.00 4923670.00 601100.00 4923670.00 601100.00 4923670.00

  Subunit:  4    0      11111002040  1  10   5     4 Sec     FAAR           

  Placement code: 0

  Location (coordinates of four corners):

   604200.00 4920030.00 604200.00 4920030.00 604200.00 4920030.00 604200.00 4920030.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:      7    142    11120000000  1   4   2     2 Div     Division2      

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  No. of area subordinate units = 4

  Subunit:  1    0      11121000000  1   5   2     1 Bde     MechBde        

  Placement code: 0

  Location (coordinates of four corners):

   610000.00 4925000.00 600000.00 4926000.00 599200.00 4917200.00 609200.00 4916200.00

  Subunit:  2    0      11122000000  1   5   2     2 Bde     MechBde        

  Placement code: 0

  Location (coordinates of four corners):

   600000.00 4926000.00 590000.00 4927000.00 589200.00 4918200.00 599200.00 4917200.00

  Subunit:  3    0      11120010000  1   7   1     1 Bn      MIBn           

  Placement code: 0

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  Subunit:  4    0      11120001000  1   8   3     1 Co/Btry DivHQCo        

  Placement code: 0

  Location (coordinates of four corners):

   598200.00 4906200.00 598200.00 4906200.00 598200.00 4906200.00 598200.00 4906200.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:      8    171    11120010000  1   7   1     1 Bn      MIBn1          

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  No. of area subordinate units = 2

  Subunit:  1    0      11120011000  1   8   5     1 Co/Btry EWCo           

  Placement code: 0

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  Subunit:  2    0      11120012000  1   8   4     2 Co/Btry MIBnHQCo       

  Placement code: 0

  Location (coordinates of four corners):

   600400.00 4908200.00 600400.00 4908200.00 600400.00 4908200.00 600400.00 4908200.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:      9    181    11120011000  1   8   1     1 Co/Btry EWCo1          

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  No. of area subordinate units = 2

  Subunit:  1    0      11120011100  1   9   2     1 Plt     SPP            

  Placement code: 0

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  Subunit:  2    0      11120011200  1   9   1     2 Plt     EWHQPlt        

  Placement code: 0

  Location (coordinates of four corners):

   604300.00 4917800.00 604300.00 4917800.00 604300.00 4917800.00 604300.00 4917800.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:     10    191    11120011100  1   9   1     1 Plt     SPP1           

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  No. of area subordinate units = 2

  Subunit:  1    0      11120011110  1  10   6     1 Sec     TBMCS          

  Placement code: 0

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  Subunit:  2    0      11120011120  1  10   7     2 Sec     TPTeam         

  Placement code: 0

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:     11    1101   11120011110  1  10   1     1 Sec     TBSec1         

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  No. of area subordinate units = 5

  Subunit:  1    0      11120011111  1  11   1     1 Sq      MCS             

  Placement code: 1

  Location (coordinates of four corners):

   607800.00 4923000.00 607800.00 4923000.00 607800.00 4923000.00 607800.00 4923000.00

  Subunit:  2    0      11120011112  1  11   1     2 Sq      MCS            

  Placement code: 1

  Location (coordinates of four corners):

   603400.00 4919000.00 603400.00 4919000.00 603400.00 4919000.00 603400.00 4919000.00

  Subunit:  3    0      11120011113  1  11   1     3 Sq      MCS            

  Placement code: 2

  Location (coordinates of four corners):

   599900.00 4924900.00 599900.00 4924900.00 599900.00 4924900.00 599900.00 4924900.00

  Subunit:  4    0      11120011114  1  11   1     4 Sq      MCS            

  Placement code: 2

  Location (coordinates of four corners):

   596500.00 4920800.00 596500.00 4920800.00 596500.00 4920800.00 596500.00 4920800.00

  Subunit:  5    0      11120011115  1  11   1     5 Sq      MCS            

  Placement code: 3

  Location (coordinates of four corners):

   591900.00 4925700.00 591900.00 4925700.00 591900.00 4925700.00 591900.00 4925700.00

  No. of point subordinate items (units, platforms, or equipment) = 0

 Unit:     12    1102   11120011120  1  10   2     2 Sec     TPSec1         

  Location (coordinates of four corners):

   610000.00 4925000.00 590000.00 4927000.00 588000.00 4905000.00 608000.00 4903000.00

  No. of area subordinate units = 3

  Subunit:  1    0      11120011121  1  11   2     1 Sq      TP             

  Placement code: 0

  Location (coordinates of four corners):

   607900.00 4924100.00 607900.00 4924100.00 607900.00 4924100.00 607900.00 4924100.00

  Subunit:  2    0      11120011122  1  11   2     2 Sq      TP             

  Placement code: 0

  Location (coordinates of four corners):

   601900.00 4924700.00 601900.00 4924700.00 601900.00 4924700.00 601900.00 4924700.00

  Subunit:  3    0      11120011123  1  11   2     3 Sq      TP             

  Placement code: 0

  Location (coordinates of four corners):

   597900.00 4925100.00 597900.00 4925100.00 597900.00 4925100.00 597900.00 4925100.00

  No. of point subordinate items (units, platforms, or equipment) = 0

FndID(189)

FndTitle(Programmer's Manual for the Scenarist Automated Scenario Generation System)

FndDescription(Programmer's Manual for the Scenarist Automated Scenario Generation System)

FndKeywords(Scenarist; automated scenario generation; artificial intelligence; test and evaluation; programmer's manual)