














                         -----------------------------------
                         / A N A L Y S T   T O O L   K I T /
                         -----------------------------------
                                         ||
                                         ||
                                         \/
              ---------------------------------------------------------
              / Copyright (C) Chinook Software Group 1986, 1988, 1991 /
              /                 all rights reserved                   /
              ---------------------------------------------------------
                                         ||
                                         ||
                                         ||
                                         \/
                             ==========================
                             / Chinook Software Group /
                             / P.O. Box 24536         /
                             / Denver, CO.      80224 /
                             ==========================














              ========================================================
              / This tool suite  enables a user  to perform top-down /
              / system  specification  using the Structured Analysis /
              / Methodology  ( Data Flow Diagrams ).    Diagrams are /
              / entered  and manipulated  graphically, but stored in /
              / textual form for easy access by other tools. Support /
              / is  provided  for  data  dictionary  generation  and /
              / analysis, as well as for analysis of the DFDs.       /
              ========================================================





                             *** NOTICE: PLEASE READ ***


          This document is the companion to the SHAREWARE CHINOOK Software
          ATK product.

          This software has no artificial limitations on functionality or
          periodic reminder screens of any kind.  The CHINOOK SOFTWARE
          GROUP address and registration fee request appear at the startup
          of certain tools only.

          This document and the attendant software is provided as-is and
          without warranty as to correctness or suitability for any
          specific application. The CHINOOK SOFTWARE GROUP disclaims any
          responsibility for the use or misuse of this software by any
          individual or entity, for any purpose whatever.

          This disk, with this document on it, may be copied and
          distributed in its entirety, freely, but may not be modified or
          sold.

          If you find ATK instructive and useful, registering your copy
          with us for $35 will go a long way toward allowing its authors to
          continue its development. In return, you will be placed on our
          mailing list to receive information about future releases and
          other products.  In addition, you will be given special
          consideration with regard to future releases of ATK, and will be
          sent additional documentation including detailed file formats,
          evaluation rules, and reference pages for all functions.

          The asking price of $35 represents more than an order of
          magnitude price break when compared with similar products
          currently available.  Your support is both needed and
          appreciated.

          Please send your contribution to:
                                 The Chinook Software Group
                                 P.O. Box 24536
                                 Denver, CO.  80224

















                                     - ii -





                                  TABLE OF CONTENTS

          Introduction............................................1
               This Document......................................1
               Tool Synopsis......................................2
          Installation............................................4
               Hardware Requirements..............................4
               Supplied Software..................................5
               Procedures.........................................6
                    Floppy System.................................6
                    Hard Disk Systems.............................6
          The Graphic Editor (GED)................................8
               Command Overview...................................8
               Controlling GED....................................9
               Basic Operation...................................10
                    The Context Diagram..........................10
                    Prompts and messages.........................11
                    Description of a process.....................11
                    The Cursor...................................12
               Commands..........................................12
                    Exiting GED..................................12
                    Redrawing a DFD..............................12
                    Deleting a DFD...............................13
                    Aborting a DFD...............................13
                    Saving a DFD.................................13
                    Naming a DFD.................................13
                    Printing a DFD...............................13
                    Creating Objects.............................14
                    Moving Objects...............................14
                    Erasing Objects..............................15
                    Naming Objects...............................15
               Customizing GED...................................15
          The Data Dictionary....................................17
               Dictionary Syntax.................................17
          Data Dictionary Builder (DDBUILD)......................20
               Command Overview..................................20
          Data Dictionary Evaluator (DDEVAL).....................21
               Command Overview..................................21
          The Analysis Tool (ANAL)...............................22
               Command Overview..................................22
          Report Generator.......................................24
               Command Overview..................................24
          Miscellaneous Tools....................................26
               ATTACH............................................26
               GEDPS.............................................26
               PS................................................26
               KB................................................27
          Index..................................................28








                                    - iii -


                                                               Introduction



          Introduction

          The Structured Analysis methodology allows a user to perform a
          top-down specification of a system from a data viewpoint.  The
          methodology is not limited to software development, but functions
          well at the requirements and system design levels also.  The
          resulting set of diagrams and the data dictionary augments any
          documentation effort, and provides a concise, clear picture which
          may be dynamically maintained along with the system it describes.

          This Document

          This document is intended to acquaint those already knowledgeable
          in the Structured Analysis methodology with the ATK tool package
          and its use.

          For those unfamiliar with Structured Analysis techniques, Tom
          DeMarco's Structured Analysis and System Specification* 
                                                                   is
          strongly recommended.

          A rudimentary knowledge of IBM/PC operation is also assumed.

          This document provides basic functional information in a tutorial
          format. Each tool in the set is described, and some examples are
          provided to illustrate the most common usage. No attempt is made
          to cover every option or variation possible. It is hoped that a
          user will grasp the underlying principles of operation quickly,
          and be able to produce useful work before fully understanding
          every detail of every command.

          The document is not complete, but we believe it to contain as
          much information as the average user will need.  If you believe
          some information should be added to this tutorial to make the
          toolset more useful, please let us know.

          Be sure to consult the README.TXT and UPDATE.DOC files to get any
          changes or additions made late in the production cycle.













                              
          * Structured Analysis and System Specification, DeMarco, ISBN 0-
          13-854380, Yourdon Press (Prentice Hall), 1979.


          Analyst Tool Kit Shareware - 1 -             Revision 121191


                                                               Introduction



          Tool Synopsis

          The ATK is a collection of application software designed to
          facilitate the development, analysis, and maintenance of a set of
          DFDs (data flow diagrams) and their associated data dictionary:

            + A GRAPHIC EDITOR, called GED, which allows DFDs to be
             interactively entered and manipulated.  Unlike a generic
             graphics package, GED is specifically designed to work with
             standard DFD symbology and conventions. GED produces an ASCII
             format file as output, which can be read (and modified) by
             text editors as well as the other tools in the package.

            + A DATA DICTIONARY builder, called DDBUILD, which can read
             the output of the graphic editor and produce the skeleton
             Data Dictionary.  The data dictionary is an ASCII formatted
             file which can be read and modified by text editors as well
             as the DFD EVALUATOR.

            + A DATA DICTIONARY EVALUATOR, called DDEVAL, which reads the
             completed data dictionary, parses it for errors, and produces
             an exception listing.

            + A DATA FLOW DIAGRAM EVALUATOR, called ANAL, which reads the
             data flow diagram files and the data dictionary, and reports
             on conformance to the Structured Analysis methodology
             guidelines.

            + A REPORT GENERATOR, called RG, which formats the output of
             the other tools.  It has knowledge files produced by ATK, but
             may be used as general-purpose formatter.

            Other tools are also included:
            + A PostScript GENERATOR, called GEDPS, which converts DFD
             files into PostScript representations suitable for sending to
             PostScript printers or layout tools.

            + A DFD REUSE HELPER, called ATTACH, which copies entire DFD
             subtrees for reuse on other designs.


          This version of ATK was originally intended for classroom use and
          provides an environment in which to study the Structured Analysis
          method. It was discovered, however, to be practical for a range
          of small design efforts, and is being offered as SHAREWARE at a
          price to suit a market neglected by comparable products.









          Analyst Tool Kit Shareware - 2 -             Revision 121191


                                                               Introduction


          The toolkit features:
            + 8 levels of decomposition below the context diagram.

            + Data dictionary evaluation limited only by available memory.

            + Flat ASCII data file formats easily accessible to other
             tools.

            + PostScript output from DFDs, suitable for printing or
             incorporation as EPS documents in publishing systems like
             Ventura Publisher.

            + Full function on vanilla PC hardware configurations, with no
             mouse, math coprocessor, or expensive graphics cards
             required.









































          Analyst Tool Kit Shareware - 3 -             Revision 121191


                                                               Installation



          Installation


          Hardware Requirements

          The toolset primarily targets an IBM PC computer with:
            + a minimum of 256K of main memory

            + a standard IBM color graphics adapter (CGA, EGA, VGA)*

            + a printer capable of doing graphic output (optional, if
             hardcopy not necessary)**

            + two 360K floppy drives, or one floppy and a hard drive.

            + DOS version 2.0 or higher (DOS 3.0 or higher is helpful)

          The product will run on most all IBM PC compatibles with an
          appropriate graphics card.

          The product will run on an IBM PC/AT with an appropriate graphics
          card.

          The product will run on an IBM PS2 with an appropriate graphics
          card.

          The product will generate conforming PostScript output for DFDs.

          The product does not require a mouse, but will support one if
          present*** .

          The product does not require nor use a math coprocessor.

          The product can be evaluated with a single low-density floppy,
          albeit with some annoyance.



                              
          * For Hercules cards, Microsoft requires that the program
          MSHERC.COM be run before the card is recognized.  No other
          special action need be taken to use Hercules cards.

          ** Graphic output can be supported with the standard PrtSc
          function support (if provided), Epson 9-pin printers in any
          supported graphics mode, HP Laserjet-type printers, or
          Postscript.  More support is on the way.

          *** As a note to mouse users, many older mouse drivers did not
          understand and support EGA and VGA graphics modes.  If loading
          your mouse driver and then running GED does not result in a
          visible mouse cursor, you should contact your mouse vendor for an
          updated driver.


          Analyst Tool Kit Shareware - 4 -             Revision 121191


                                                               Installation



          Supplied Software

          The product is shipped on a single floppy disk containing the
          appropriate versions of the tool executables, a printable version
          of this manual, and some example material.

          At least the following files will be present on your distribution
          disk:
            + README.TXT     A printable file containing errata,
                  additions, or other noteworthy material.

            + GED.EXE        The Graphics Editor program.

            + DDBUILD.EXE   The Data Dictionary builder/updater program.

            + DDEVAL.EXE    The Data Dictionary evaluator program.

            + ANAL.EXE      The Data Flow Diagram Analyzer program.

            + CONFIG.ANA    A sample configuration file for the analysis
                  tool.  This file is optional, and is consulted by ANAL
                  if available.

            + CONFIG.GED    A sample configuration file for the graphics
                  editor.  This file is optional, and is consulted by GED
                  if available.

            + CONFIG.RG     A sample configuration file for the report
                  generator.  This file is optional, and is consulted by
                  RG if available.

            + RG.EXE        The page formatting utility.

            + CONFIG.RG     A sample configuration file for the report
                  generator.  This file is optional, and is consulted by
                  RG if available.

            + DOC <DIR>     A subdirectory containing application notes.

            + SAMPLES1 <DIR>A subdirectory containing some pre-written
                  DFDs for practice use, and an example of a data
                  dictionary.

            + *.TXT         Any other required up-to-date information











          Analyst Tool Kit Shareware - 5 -             Revision 121191


                                                               Installation



          Procedures

                     BEFORE YOU DO ANYTHING ELSE WITH THIS DISK,
                                 MAKE A BACKUP COPY!

          Use the diskcopy command as described in your operating system
          manual to make a copy of the disk.  Put the original disk in a
          safe place and use the copy for the remainder of your work.

          Floppy System

          If you are using a dual floppy system the easiest way to use the
          toolset is to put the tool executables in drive A: and a disk to
          contain your work in drive B:.  The sample material from the
          supplied disk may be copied to the B: drive for modification, if
          desired.

          Make a system disk using the command FORMAT B:/S with your
          regular system disk in drive A, and a NEW disk in drive B.  Copy
          all the *.EXE files from your distribution disk (Disk #1) to the
          new system disk by placing the distribution disk in drive A, and
          using the command XCOPY A:*.EXE B: /V.

          You can now use ATK by booting off of the new ATK system disk,
          and placing the working disk in drive B:.  You should make the B:
          drive the default drive, and the directory holding your DFD files
          the current directory.  (The files CONFIG.RG, CONFIG.ANA, and
          CONFIG.GED should either be here or on drive A: if you intend to
          use them.)

          The A: drive should be included in your PATH, so the operating
          system can find the tools.  PATH with no arguments will display
          the current path setting.  The path is usually set by the
          AUTOEXEC.BAT file when the machine is first booted.

          You can install the tools on a single floppy if desired.  Your
          projects will be very limited if this is not at least a 720K
          drive.

          Hard Disk Systems

          Hard disk installations vary with individual user preference.
          Keep the following points in mind for your hard disk
          installation.

            + The tools are standard executables and use no overlays; the
             tools may reside together or separately, and are subject to
             the same rules which your operating system uses to locate any
             type .EXE file (e.g., PATH).

            + The DFDs being worked on are, by default, in the current
             directory. This means that each set of DFDs (each project)
             must reside in a separate directory.


          Analyst Tool Kit Shareware - 6 -             Revision 121191


                                                               Installation


            + The files CONFIG.GED, CONFIG.ANA, and CONFIG.RG must reside
             in the current directory, in the directory pointed to by
             environment variable "ATK", or in the directory containing
             the GED.EXE, ANAL.EXE, RG.EXE (DOS 3.0 and above). Each set
             of DFDs (each project), may have its own set of setup files.

          One easy way to install ATK on a hard disk is as follows:

            1) Select a directory to install ATK in.  Assume for now it is
             C:\ATK.

            2) Change directories to the directory to install into.

            3) Place the ATK disk in your floppy drive.  Assume for now it
             is drive A:

            4) Issue the DOS command:  XCOPY A:*.* . /S /V
             This will copy all the files and save the subdirectory
             structure.

            5) If you have a second ATK installation disk, place it in the
             floppy drive and repeat step 4.

            6) Edit your AUTOEXEC.BAT file.  This will normally be
             C:\AUTOEXEC.BAT.

              a) Add a line:  SET ATK=C:\ATK

              b) Modify the line that begins with PATH or SET PATH.  Add
             the following to the end of the line:  ;C:\ATK

              c) Save and exit.


          The next time you reboot, you will have the GED tools available
          from anywhere on your disk, and the system configuration files
          for GED will be found (and can be modified) in C:\ATK.



















          Analyst Tool Kit Shareware - 7 -             Revision 121191


                                                   The Graphic Editor (GED)



          The Graphic Editor (GED)

          The graphic editor, called GED, is the means by which graphic
          representations of DFDs are entered, viewed, and manipulated. The
          output of GED is a graphic rendition of the DFD on a CRT or
          graphic printer, and an ASCII file containing a formatted
          description of the DFD which the analysis tools can read. The DFD
          file may be created or manipulated with any text editor which
          doesn't put extraneous characters into the file. This would
          normally only be done in environments which can't support GED.
          (i.e. no graphics card)

          Command Overview

          The simplest invocation is to type GED at the system prompt.
          This would cause GED to consult the file CONFIG.GED in the
          current directory, if such a file exists, and to call the context
          diagram to the screen, if it exists.  If no context diagram
          exists in the current directory, GED will provide a screen for
          its creation.  This would be the proper beginning of a new
          project.

          The full command line syntax for GED is as follows:

               GED [-flags] [initial-diagram-number]

          where brackets [] indicate optional specifications

          possible flags are:
            -q    loads diagrams "quietly", that is, without detailed
                  error reporting.

            -Eeditor
                  uses 'editor' as the minispec editor instead of EDLIN

            -ppath
                  uses 'path' as the project directory instead of the
                  current directory, if it exists.

            -m6   will set the graphics mode to mode 6 (B&W-600x200).
                  This is useful if a user has an EGA or VGA card, but the
                  only screen capture utility available only works in CGA
                  mode.

                  If the user has a VGA card, but wishes to capture a
                  monochrome drawing (such as in WordPerfect), -m17 (B&W
                  640x480) would be the appropriate flag.

                  NOTE THAT EPSON AND HP PRINTERS ARE SUPPORTED DIRECTLY
                  BY GED; the -m flag should not be necessary if you have
                  an Epson or HP-compatible printer.




          Analyst Tool Kit Shareware - 8 -             Revision 121191


                                                   The Graphic Editor (GED)


          The initial-diagram-number is specified in standard DFD dot
          notation.
            Example:        0.2.3

          is the diagram describing the third process in the diagram
          describing the second process in the diagram below context.

          Remember that if no diagram number is given, the context diagram
          will be called or created.  The context diagram has the special
          number -1, and the diagram describing the context process is 0.
            Example:        GED -q -pB:\MYPROJECT\ 0.2.5

          will invoke GED, and silently load DFD number 0.2.5 from the
          directory B:\MYPROJECT\.

          Controlling GED

          The majority of commands within GED are given using the function
          keys located to the left of the main keyboard (on an IBM PC). The
          default mapping of GED commands to these keys is shown below.
          The file CONFIG.GED provides for remapping most of the keys,
          should our choices not be yours.  A complete list can be found in
          GEDCONFIG.DOC.

          In the list below, <shft> means to hold the shift key down before
          pressing the indicated function key, while <alt> means to do the
          same with the alt key.

               <F1>  create process      <shft><F1>  visit DFD
               <F2>  name object         <shft><F2>  name DFD
               <F3>  create external     <shft><F3>  create text
               <F4>  move object         <shft><F4>  unassigned
               <F5>  create store        <shft><F5>  double
               <F6>  save DFD            <shft><F6>  abort DFD
               <F7>  create flow         <shft><F7>  route
               <F8>  redraw DFD          <shft><F8>  exit GED
               <F9>  visit child         <shft><F9>  visit parent
               <F10> delete object       <shft><F10> delete DFD

          Most operations can also be done by holding down the Alt key and
          typing the mnemonic for the action.  For example, a process can
          be created with Alt-P.

            <esc> the escape key is used to cancel a partially completed
                  operation.

            <^P>  produces hardcopy of current DFD. You must have a
                  printer capable of graphic rendition installed, and you
                  have properly configured the printer driver.*

                              
          * For example, with an IBM PC, an IBM printer, and a CGA card,
          you must run GRAPHICS before invoking GED.  If PostScript output
          is desired, GEDPS may be run after the GED session is completed.


          Analyst Tool Kit Shareware - 9 -             Revision 121191


                                                   The Graphic Editor (GED)


            <^A>  calls the analysis tool (ANAL) from within GED. Only the
                  current diagram is analyzed.

            <^S>  performs a system escape. A DOS prompt appears and any
                  DOS operation may be performed within the limits of
                  available memory. The DOS command. The DOS command EXIT
                  will return you to the graphic editor.

            <<>   (less than key) will increase the size of the current
                  object.

            <>>   (greater than key) will decrease the size of the current
                  object.

            A-F9  (The F9 key pressed with the Alt key) will visit (or
                  create) the minispec of the current process.

            Ins   The insert key will bring up a menu of objects that can
                  be created

            Del   The delete key will delete the current object

            C-PgUp  (The PgUp key pressed with the Control key) will visit
                  the parent of the current DFD

            C-PgDn  (The PgDn key pressed with the Control key) will visit
                  the child of the current process.

          Finally, GED can also be controlled using an optional mouse.
          Each mouse button can have an assigned action; for commands like
          Move and Create Flow, the mouse buttons get temporary new
          assignments.  The default mouse actions are Visit Parent for the
          left button, Visit Child for the right button, and Move for the
          middle button (if any).  Mouse buttons also have context-
          sensitive meanings.  For instance, pressing the left button after
          starting a Flow identifies the endpoint, while the right button
          identifies a route point.  Prompts requiring yes or no answers
          can be answered Yes by pressing the left button, and No by
          pressing the right button.

          Basic Operation

          Basic graphic concepts and operations for constructing and
          manipulating DFDs are summarized below. The manual provided to
          registered users contains a more complete description of each of
          the commands available.

          The Context Diagram

          DFDs are organized in the familiar inverted tree structure. The
          root node of every DFD tree is called the context diagram. If GED
                                                                           
          Epson 9-pin and HP printer compatibles are supported in any
          graphics mode, through CONFIG.GED.


          Analyst Tool Kit Shareware - 10 -            Revision 121191


                                                   The Graphic Editor (GED)


          is called with no DFD number specified, the context diagram will
          be called. If the context diagram does not exist, it will be
          created.

          The context diagram, numbered -1, has only one process intended
          to show the scope of the project at hand. The process number is
          0. (GED will draw this process for you in the context diagram,
          however, lower-level diagrams will contain nothing but text when
          they are first created.)

          The name of the context diagram is "CONTEXT" and cannot be
          changed.*

          To try this on a real diagram, try the command line
          GED -p sample1
          from your installed ATK directory (Use Shift-F8 to exit when you
          wish--other descriptions in this section assume the diagram is
          still available).

          Prompts and messages

          GED will prompt the user for information and confirmation in a
          number of circumstances.  GED will also supply informational
          messages as appropriate times.  These messages will always appear
          on the last two lines of the screen.  User-entered input will
          always appear on the last line of the screen.  User-entered input
          is always terminated by the <Enter> key, and is always cancelled
          through the <Esc> key.  Any "yes" or "no" response can be
          answered with a y or n.  The default is "yes".

          Description of a process

          The description of process 0 in the context diagram is DFD 0.

          A DFD inherits its number and name from the number and name of
          the process it decomposes.

          The names of DFDs below context are user selectable, however the
          analysis tool (ANAL) will complain if the name of a DFD does not
          match the name of the process it decomposes.

          A DFD must have at least one process, and should have no more
          than 8 (up to 50 are supported, however).

          DFDs in the tree are visited by using the 'visit child' (F9),
          'visit parent' (Shift-F9), or 'visit DFD' (Shift-F1) keys. If the
          visited DFD does not exist, it will be created.

                              
          * GED is very configurable; a number of absolutes, such as this
          one, can be modified or overridden via the configuration file.
          The usage described in the tutorial is the usual usage.  Please
          consult the section on Customizing GED, and the .DOC and .TXT
          files for details on these other uses.


          Analyst Tool Kit Shareware - 11 -            Revision 121191


                                                   The Graphic Editor (GED)


          If you press the 'visit child' key while the cursor is located on
          the process in the center of diagram -1; you will see diagram 0
          become visible.

          If a process is so well-defined that it can be described
          textually rather than being decomposed, use the 'visit minispec'
          key (Alt-F9) to edit the text description.  If the minispec does
          not exist, it will be created.  If you decide to decompose the
          process later, GED will prompt you to delete the minispec.

          The Cursor

          When a DFD is on the screen, a graphic cursor will be visible.
          This cursor is used to point to graphic objects to be placed,
          erased, moved, named, or otherwise manipulated.

          The cursor is controlled by either the mouse or the cursor pad
          keys on the right side of the keyboard of an IBM-PC or
          compatible. On machines with separate cursor and numeric pads,
          the cursor control can be switched to the numeric pad by turning
          off the Num Lock key.

          There are two cursor speeds.  The numeric keypad/cursor keys will
          provide coarse motion in any of the 8 directions.  A 'fine'
          cursor is available as well.  The fine cursor will move left,
          right, up, and down via the 'H', 'L', 'K', and 'J' keys
          respectively.  The 'C' key will always jump to the center of the
          screen.

          For an object on the screen to be selected, the cursor should be
          somewhere inside its perimeter (for closed objects), or very near
          the object (in the case of flows, flow splitters, and boundary
          points. The object selected is displayed at the bottom of the
          screen.

          Commands

          The following sections summarize some of the main commands of
          GED.  A full list of these commands can be found in ACTIONS.DOC.

          Exiting GED

          Pressing the 'exit GED' key (Alt-X) will prompt the user for
          saving changes and/or confirmation for exiting GED.  If the user
          OKs exiting, GED returnes control to DOS.

          Redrawing a DFD

          A DFD may be re-drawn by pressing the 'redraw DFD' key (F8). This
          key is useful in eliminating occasional artifacts produced as a
          result of drawing and moving objects.

          You can get a feel for the speed of this operation by pressing F8
          while a diagram is visible.


          Analyst Tool Kit Shareware - 12 -            Revision 121191


                                                   The Graphic Editor (GED)


          Deleting a DFD

          A DFD may be deleted (removed from the disk) by pressing the
          'delete DFD' key (Shift-F10) when the DFD is being displayed. In
          deleting a DFD, all children and minispecs of that DFD will be
          deleted as well.

          To experiment with this, please create a diagram or set of
          diagrams you are willing to lose first.

          Aborting a DFD

          Pressing the 'abort DFD' key (Shift-F6) will discard all work
          done since the last time the DFD was saved. The DFD is re-read
          from disk and displayed.

          Saving a DFD

          Pressing the 'save DFD' key (F6) will cause the DFD as currently
          displayed to be written to disk.  A new DFD is not permanent
          until it is saved.

          Naming a DFD

          Pressing the 'name DFD' key (Shift-F2) will allow for naming or
          re-naming the current DFD, except for the context diagram.

          Printing a DFD

          Pressing the 'Print DFD'  key (Control-P) will redraw the screen,
          erase the cursor, and invoke the print sequence.  NOTE: the
          shift-Print Screen key on your keyboard will NOT invoke GED's
          print functions; it will invoke your computer's print screen
          function.

          In some ways, printing a DFD is the trickiest part of GED.
          Details and hints can be found in PRINTING.DOC.

          There are 3 lines in the configuration file CONFIG.GED that
          control printing:  the lines PRINTER TYPE, PRINTER PORT, and
          PRINTER MODE.  As delivered, GED expects the user to have a Print
          Screen TSR loaded and properly configured.  If you have an Epson
          printer on parallel port 1, you will want these 3 lines to be:
               PRINTER TYPE=Epson
               PRINTER PORT=LPT1:
               PRINTER MODE=-2
          If you have an HP laserjet, you will want the first line to read
               PRINTER TYPE=HP
          and the others can stay the same.
          If you have a PostScript printer, see the section on GEDPS.






          Analyst Tool Kit Shareware - 13 -            Revision 121191


                                                   The Graphic Editor (GED)


          Creating Objects

          In general, objects are created by moving the cursor to the
          desired screen location of the object, and pressing the
          appropriate 'create' key (F1, F3, F5, F7), or by selecting from
          the menu-like selection of the 'create-any' key (Ins). This holds
          true for processes, externals, and stores. An opportunity to name
          the created object will be provided.  Names should be
          alphanumerics, space, dash, and underscore characters.

          Boundary points are automatically created at the end of flows
          which don't terminate on any other known object. Boundary points
          are not named.

          Flows are created by positioning the cursor on the object at
          which the flow will originate, pressing 'create flow' (F7),
          moving the cursor to the object where the flow will terminate,
          and pressing 'create flow' again.  GED will prompt for a flow
          name; if the flow did not terminate where you desired, the Cancel
          key (escape) will allow you to start again.

          The direction of the flow can be altered with the 'double' key
          (Shift-F5) after the flow is created.

          If one end of a flow rests on another flow, a flow splitter will
          be created with no arrow at the junction. Flow splitters are not
          named* .

          Flows may be maneuvered around other objects by creating route
          points on them.  Route points can be added while creating a flow
          using the 'route' key (Shift-F7).  If you add an unwanted route
          point, you can cancel it by pressing the escape key.  You may
          then continue with the flow.

          Stores come in single line and double line varieties. The 'create
          store' key initially draws a double line store. The 'double' key
          (Shift-F5) may then be used to toggle between the two
          representations.

          Descriptions are a single line of arbitrary text which can be
          placed anywhere on the diagram by pressing the 'description' key
          (").  Descriptions are not analyzed in the diagram, so their
          contents do not conform to other objects' naming conventions.

          Moving Objects

          An object may be moved by selecting the object with the cursor
          and pressing 'move object' (F4). The selected object will
          disappear, and the cursor will change to an icon of the moved
          object. The user then moves the cursor to the desired location
          for the object, and 'move object' pressed again.

                              
          * Flow splitters are implemented as route points in ATK.


          Analyst Tool Kit Shareware - 14 -            Revision 121191


                                                   The Graphic Editor (GED)


          The operation is so designed that hitting the 'move object' key
          twice without moving the cursor will cause no change in the
          object's position.

          Flows may not be moved directly. They are automatically moved
          when objects they are connected to are moved.  A flow name may be
          moved to any point on the diagram; the position is relative to
          the two endpoints of the flow.  If 'move object' (F4) is pressed
          while the cursor is on a flow line a route point object is
          created and can be moved.  The flow line passes through each of
          its route points before terminating.

          Erasing Objects

          When 'delete object' (F10) is pressed with the cursor selecting
          some object, the object will be deleted.  Deletion will prompt
          for confirmation, unless the user has configured GED otherwise.

          Naming Objects

          Pressing the 'name' key (F2) allows for the naming or re-naming
          of an object.  When renaming an object, the usual DOS command-
          line editing capabilities are available:  F1 or right arrow
          copies one character from the old name, delete removes one, and
          F3 copies the remainder of the old name.

          Customizing GED

          GED can be customized by entering configuration lines in the
          CONFIG.GED file.  A few of these lines are described below.  A
          complete set can be found in the ATK reference manual; a summary
          can be found in GEDCONFIG.DOC.

            ERROR=X  Sets the error file to be the file X.  This setting
                  is recommended (e.g., ERROR=GED.ERR).  Otherwise, errors
                  print to the screen (where they are quickly erased).

            MODE=n  Sets the graphics mode to the given number.  For the
                  IBM PC, examples are 6=B&W 640x200; 16=Color 640x350
                  EGA; 17=B&W 640x480 VGA; 18=Color 640x480 VGA.

            PROCESS COLOR=n  Sets the color of processes to the color
                  index given.  These indices are mode- and palette-
                  dependent.  (Similarly for EXTERNAL, STORE, FLOW, TEXT)

            PRINTER TYPE=X  Sets the type of printer to either Epson (the
                  default) or HP.  The printer mode depends on this type.

            PRINTER PORT=X  Sets the printer port to the given name.
                  Default is LPT1.  The whole name, such as LPT1, must be
                  used.  The port can be directed to a file.

            PRINTER MODE=n  Sets the printer mode
                  For all drivers, the following modes are supported
                  -2        Use current driver, preassigned modes

          Analyst Tool Kit Shareware - 15 -            Revision 121191


                                                   The Graphic Editor (GED)


                  -1        Use INT5 support (default if mode unspecified)

                  For Epson 9-pin and compatibles, supported modes are
                  0         60 DPI
                  1         120 DPI
                  2         High speed 120 DPI (assigned modes 6,17,18)
                  3         240 DPI
                  4         80 DPI
                  5         72 DPI
                  6         90 DPI (assigned for other modes)

                  For the HP Laserjet and compatibles, supported modes
                  (and aspect ratios) are
                  0         75 DPI, 1-1 (default most video modes)
                  1         100 DPI, 1-1
                  2         150 DPI, 1-1
                  3         300 DPI, 1-1
                  4         75 DPI, 1-2 (default mode 6)
                  5         100 DPI, 1-2
                  6         150 DPI, 1-2
                  7         300 DPI, 1-2
                  8         150 DPI, 2-3 (default modes 15,16, Hercules)
                  9         300 DPI, 3-4 (best for EGA, but big--336K)

            EDITOR=X  Sets the default editor for minispecs to path X.

            NOMOUSE  Turns off mouse support, even if a mouse driver is
                  loaded.  Useful if running GED from an external
                  application that wishes to retain control of the mouse.



























          Analyst Tool Kit Shareware - 16 -            Revision 121191


                                                        The Data Dictionary



          The Data Dictionary

          Flows and stores in a DFD are potentially decomposed into a
          series of more detailed flows and stores in the DFDs child. For
          instance, a flow named user-requests in a particular DFD would
          probably decompose into several flows in the child.

          The graphic representation of a DFD does not show the
          relationship between a flow and its decomposition. The Data
          Dictionary is an ASCII document specifying this and other
          relational information, and goes hand in hand with the set of
          data flows.

          Dictionary Syntax

          The Data Dictionary is an ASCII file, and consists of a list of
          sentences, each terminating with a period.

          A sentence consists of a left hand side followed by an equal sign
          followed by a right hand side.

          The left hand side consists of the name of the thing being
          described, such as the name of a flow or store.

          The right hand side consists of one of the following:

            + the term TBD meaning "To Be Defined".  This is a place
             holder, indicating that a proper description will be supplied
             later.

            + the word PRIMITIVE, which defines an axiomatic entity not to
             be decomposed further.

            + a symbolic description of the item in terms of its component
             items. This description will include one or more other item
             names, and may use certain symbols to indicate sequences,
             repetition, choice, or optional components.

          The exact syntax of legal data dictionary statements is supplied
          in the manual, and is described in its own syntax. Persons
          familiar with formal language specification should have no
          trouble deciphering this description, but the beginning user will
          do better to study these prototype examples.


            Example:      A = B + C + D.


          The item whose name is A is composed exactly of items B, C, and
          D. The plus sign thus denotes additive composition.





          Analyst Tool Kit Shareware - 17 -            Revision 121191


                                                        The Data Dictionary


            Example:      A = B + C + (D).

          The parentheses around item D indicate that it is optional.  That
          is, an A must have a B and a C, and it may have a D in its
          composition.


            Example:      A = B + C + {D}.

          The braces around item D indicate that zero or more iterations of
          D are required. A number may be used before the opening brace to
          indicate a lower limit on the number of iterations. Similarly, a
          number may be used after the closing brace to indicate an upper
          limit on the number of iterations.

          For instance, 1{digit}8 would specify a string of from one to
          eight digits. The absence of a number before the opening brace
          implies that a minimum of zero occurrences are permitted, while
          the absence of a number after the closing brace implies that a
          potentially infinite number of occurrences are possible.  Notice,
          then, that A = B + (C) is the same as A = B + {C}1.


            Example:      A = B + [ C | D ].

          The bracket and the vertical bar together specify a list of
          choices. The example would be read, "A is composed of a B and
          either a C or a D". Notice that the choice is exclusive, that is,
          A may not contain both a C and a D.

          To make the choice itself an optional component, we could write,

                          A = B + ([ C | D ]).

          which would be read "A is composed of a B, and may include either
          a C or a D".

          Whitespace (blanks, tabs, or newlines) may be freely included for
          readability. Since a single sentence may thus span more than one
          line, the period which ends the sentence is very important.

          A comment is a string of text bounded by asterisks.  Comments are
          also terminated by new lines.  Comments may be freely included
          virtually anywhere, even between items in a sentence. If a
          literal asterisk is needed, prefix it with a backslash.

            Example:      A = B + * this is a comment * C + D.

            Example:      * comments use the \* to identify themselves *

          To put some of the preceding information together, the following
          group of sentences specify the syntax of a FORTRAN style integer
          variable, which must start with one of the letters I thru N, and
          may contain one thru seven additional alphanumeric characters.


          Analyst Tool Kit Shareware - 18 -            Revision 121191


                                                        The Data Dictionary



            integer_name = first_char + rest.

            first_char = [I|J|K|L|M|N].

            rest = {[ALPHA|NUMBER]}7.

            ALPHA = letter_of_the_alphabet.

            NUMBER = DIGIT.

            letter_of_the_alphabet = PRIMITIVE.

            DIGIT = PRIMITIVE.

          Notice that the above description could have been written in a
          variety of ways, some of them being more concise.

          The sentence "NUMBER = DIGIT." may seem useless, since it does
          not decompose NUMBER. In fact, it specifies that NUMBER and DIGIT
          are aliases , which means that they may be used interchangeably.
          This feature is useful in a variety of scenarios, such as when
          portions of a project are specified by different individuals who
          choose different names for the same thing.

          Study the data dictionary file called SAMPLE.DCT provided in the
          SAMPLE subdirectory of the product disk for examples of data
          dictionary language usage and style.




























          Analyst Tool Kit Shareware - 19 -            Revision 121191


                                          Data Dictionary Builder (DDBUILD)



          Data Dictionary Builder (DDBUILD)

          DDBUILD is a convenience tool which will scan one or all of the
          DFDs in a project and extract all the flow and store names used
          into a preliminary form in the data dictionary. Names appear only
          once, no matter how many times they are encountered, and are
          defined equal to TBD. While DDBUILD knows nothing about the
          intended relationships among the names, it does save the user a
          tremendous amount of initial typing. The user may then employ any
          text editor to fill in the necessary information as it becomes
          available.

          DDBUILD will create a new data dictionary if one does not exist,
          or it will append to an existing dictionary. Consider then, that
          if you change the name of an item in the DFD set and rerun
          DDBUILD, the new name will be added, but the old name will
          remain.

          Command Overview

          The simplest invocation is to type DDBUILD at the system prompt.
          In this case DDBUILD will build or add to a file called DATA.DCT
          in the current directory the names of all flows and stores found
          in all the DFDs on the primary chain.

          NOTE: The primary chain is the chain of all DFDs whose first
          number is 0, such as 0.2.3.  It is possible to create DFDs with
          other digits in the first position, such as 3.4.2.  These DFDs
          are considered to exist on side chains, and are normally
          invisible to the analysis tools.  Side chains are a way of
          keeping DFDs around without having them enter into the analysis.
          Such DFDs may be renamed (DOS RENAME command) to make them
          "active".  Notice that DFDs are given filenames which correspond
          to their dot specifications minus the dots, and file extensions
          of .DFD.

          The full command line syntax for DDBUILD is as follows:

               DDBUILD [-flags] [dfd dfd ... dfd]

          where brackets [] indicate optional specifications.

          possible flags are:
             -i   suppress case sensitivity, e.g 'ABC' will be treated the
                  same as 'abc'.

             -ppath path to use to find DFDs instead of the current
                  directory

          Flags are optionally followed by a list of one or more DFDs to
          add to the dictionary.  The default is to add all DFDs on the
          main path (-1 and 0*)



          Analyst Tool Kit Shareware - 20 -            Revision 121191


                                         Data Dictionary Evaluator (DDEVAL)



          Data Dictionary Evaluator (DDEVAL)

          DDEVAL will read a project's data dictionary and DFDs and report
          errors and omissions in the specifications. When invoked by its
          name alone, it will look for a file called DATA.DCT in the
          current directory, and will produce its report to the screen.

          DDEVAL will perform a somewhat detailed analysis of the
          dictionary, and is able to report such things as aliasing
          problems, items which are defined but never used, and items which
          are undefined.

          Command Overview

          The simplest invocation is to type DDEVAL at the system prompt.
          In this case DDEVAL will evaluate the data dictionary file
          DATA.DCT and give a report
          to the CRT.

          The full command line syntax for DDEVAL is as follows:

               DDEVAL [-flags]

          where brackets [] indicate optional specifications.

          possible flags are:
            -i    ignore case in comparisons (Hello = HELLO)

            -v    report version information

            -ppath use 'path' to locate the data dictionary to evaluate.

          Example:         DDEVAL -PB:\MYSTUFF\

          will evaluate the data dictionary and DFDs in directory
          B:\MYSTUFF.



















          Analyst Tool Kit Shareware - 21 -            Revision 121191


                                                   The Analysis Tool (ANAL)



          The Analysis Tool (ANAL)

          Just as DDEVAL performs an analysis from the standpoint of the
          data dictionary, the tool ANAL performs a similar analysis from
          the standpoint of the DFDs themselves. Each DFD is examined and a
          list of potential errors is produced. Most of the evaluation
          rules apply to a single diagram while a few require a DFD to be
          examined in context with its parent. In addition, ANAL uses the
          data dictionary, which it expects to be called DATA.DCT, to
          determine flow decomposition and aliasing, and can then look for
          consistency in the diagrams. Thus, it is wise to build as much of
          the data dictionary as possible before using ANAL, to avoid
          excessive numbers of errors concerning flows.

          Command Overview

          The simplest invocation is to type ANAL at the system prompt.  In
          this case ANAL will examine all the DFDs it can find on the
          primary chain, and make its report to the standard output.

          The full command line syntax for ANAL is as follows:
               ANAL [-flags] [dfd]
          where brackets [] indicate optional specifications.

          possible flags are:
            -a    load data dictionary (DATA.DCT) to resolve aliases for
                  flows and stores. The -na flag suppresses loading the
                  dictionary.  The default is to load the dictionary.

            -i    ignore case in comparisons.  The -ni flag does not
                  ignore case in comparisons.  The default is to ignore
                  case.

            -ppath look for DFDs under the directory 'path'

          DFD is specified in standard dot notation.

          Example:         ANAL -i -pB:\MYSTUF\  0.2.3

          Two major categories of errors are detected.
            + Object usage errors which include such things as processes
             with no flows, duplicate names, and data sources/sinks.

            + Boundary errors which catch problems occurring across the
             parent/child interface such as the sudden appearance of a
             single-line store, or the disappearance of a flow.

          Also, some cosmetic errors are detected.
            + Diagrams with too many processes

            + Diagrams with double line stores where single line stores
             are expected



          Analyst Tool Kit Shareware - 22 -            Revision 121191


                                                   The Analysis Tool (ANAL)


          A description of the customization of the analysis process is
          provided in full in the manual.  The analysis configuration file
          is CONFIG.ANA.  Each of the 11 tests can be set to ON or OFF
          (default is ON).  The tests are:

          process flows     store flows      process child or minispec
          flow endpoints    flow names       duplicate names
          store double      external context parent child name check
          parent child flows in              parent child flows out

          and configuration switches:

          ignore case    alias checking

          The example in the SAMPLES1 directory is excellent for
          illustrating this tool.  Invoking ANAL will give 30 odd lines of
          errors; half of them are because some processes do not have child
          diagrams or minispecs.

          If we decide we aren't ready to have that level of scrutiny yet,
          we add the line
          process child or minispec = OFF
          to our CONFIG.ANA file.

          Running ANAL again will give about half-a-dozen errors and
          warnings.  As is typical, 4 of them have to do with naming
          conventions.  A flow that is called 'source code' in one diagram
          is called 'source language' in another.  The data dictionary is
          used to document and resolve these problems.  A line in the data
          dictionary stating
          source code = source language.
          will assert this truth (the period is critical).  Similarly, we
          enter a line
          process output = output.

          Running ANAL -a -ni still has 4 error lines, because the diagram
          has Process Output (and we entered process output).

          Running ANAL -a -i now has only two warning lines.  They indicate
          that in diagram 0.5, the flows in and out of a store are named,
          and the name is not an alias of the store.  An explanation of why
          this is an error is that if you have a aluminum recycling bin,
          you want to make sure no one is putting paper into it.  No one
          has told the data dictionary that a servicable process is a kind
          of awaiting process (one that can now be serviced).











          Analyst Tool Kit Shareware - 23 -            Revision 121191


                                                           Report Generator



          Report Generator

          The Report Generator, called RG, is a pretty printer utility
          capable of paginating the output from the various tools and
          providing page header and/or footer capability. The utility will
          access a file, called CONFIG.RG, to obtain default formatting
          parameters, and can additionally be used to provide simple
          formatting for arbitrary user generated files.

          Command Overview

          The simplest invocation is to type
               RG {type}
          at the system prompt, where {type} is a single digit 1,2,or 3,
          designating the data dictionary, dictionary exceptions, or DFD
          tree exceptions respectively.

          The utility looks for the files DATA.DCT (data dictionary),
          DICT.ERR (data dictionary exceptions), or DFDS.ERR (DFD tree
          exceptions) and will automatically invoke DDBUILD, DDEVAL, or
          ANAL to produce them if they are not found.

          If the output of a tool has been directed to a file with a name
          other than that expected by RG, the filename should be specified
          after {type}.

          NOTE: For the automatic tool invocation to work, a copy of
          COMMAND.COM must be available on the PATH.

          A variety of command line options are available with RG, as well
          as some complex possibilities for CONFIG.RG.  The full command
          line syntax for RG is as follows:

                RG [flags] report-type [report file]

          Possible flags are;
             -P   Output the printer initialization string before printing
                  any text, and output the printer term string after
                  printing all text.

             -ok  Use k as the page offset (left margin)

             -tk  Use k as the top margin

             -bk  Use k as the bottom margin

             -Rs  Use string spec s as the report title

             -Hs  Use string spec s as the page header

             -Fs  Use string s as the page footer

             -If  Use file f to initialize RG variables


          Analyst Tool Kit Shareware - 24 -            Revision 121191


                                                           Report Generator


             -lk  Use k as the page length in lines

             -wk  Use k as the page width in characters

             -nk  Use k as the page number of the first printed page


             report      Meaning                          intermediate file
             type
           ---------   ----------------                   -------------
              1       data dictionary                     [DATA.DCT]
              2       data dictionary exceptions          [dict.err]
              3       DFD-tree exceptions                 [dfds.err]
              4       Generic print file report           ----------
            5-9       User defined reports                ----------

            report file: A report file can be any legal MS-DOS file name
                         The file name will support alternate drives and
                         paths

          Each report will have a default name (see above).

          The default titles of user-defined reports can be stored  in the
          preference file.

          String notation "..." is supported on the command line to collect
          a string including spaces, except for characters '<', '>', '|',
          '+', and '=' which may not be used within them (MS-DOS gets
          them!).

            Example:     RG 2

          will generate the data dictionary exception report to the screen

            Example:     RG -P 3 >LPT1:

          will generate the DFD exception report, and print it to the
          default printer, using printer initialization strings.

            Example: RG 4 "-RCurrent Listings,nl,nl" list.txt > list.out

          will generate a user-defined report called Current Listings from
          a file called list.txt and put it in a file called list.out.













          Analyst Tool Kit Shareware - 25 -            Revision 121191


                                                        Miscellaneous Tools



          Miscellaneous Tools


          ATTACH

          Data flow diagrams (and their associated minispecs) may need to
          be reused from one project to the next, or from one part of the
          project to the next.  Also, sets of diagrams may need to be
          backed up from time to time.  The tool provided for these jobs is
          attach.

          Attach syntax is
               ATTACH [-sSOURCE-DIR] [-dTARGET-DIR] From-DFD[*] To-DFD

          The source and target directories may contain drive and directory
          information.  Use the optional asterisk (*) to copy the entire
          tree--without it a single DFD will be copied.

          GEDPS

          Postscript has become the page description language of choice for
          desktop publishing.  When presenting DFDs, a neat diagram is
          essential.  ATK provides encapsulated PostScript files as output
          from the GEDPS tool.

          GEDPS syntax is
               GEDPS [-r] [-foutput-file] DFD[*]

          The asterisk is used for wildcarding and is not useful if the
          documents are incorporated in a desktop publishing system.  The
          output output is normally directed to the screen, so the -f flag
          is normally supplied.  The -r flag is used to rotate the diagrams
          from their normal landscape orientation on 8-1/2" by 11" paper to
          portrait mode.  The file GEDPS.PS is the Postscript prologue.

          PS

          Without a desktop publishing system, it can be difficult to print
          Postscript files.  Traditional Postscript printers are controlled
          through the serial port, one of the weaker areas of the IBM PC
          design.  A tool which supports simple flow-controlled serial port
          protocol is required--in the absence of other public domain
          offerings, we include PS.  PS is a very simple program which uses
          the built in commands to communicate with the serial port.
          Because of this, PS may lose received characters sometimes.  This
          tradeoff was made in the name of full portability.

          PS syntax is
               PS [-p[COM]<1,2,3,4>] [-w] [-b] filename ...

          The default port is COM2; COM3 and COM4 are only supported if the
          BIOS (INT14) recognizes them.  The port characteristics should be
          set in advance (for IBM PCs, via the MODE command).  The -w


          Analyst Tool Kit Shareware - 26 -            Revision 121191


                                                        Miscellaneous Tools


          option is used to wait after all the files have been sent (in
          case of suspected error messages); pressing any key will exit
          after download is complete.  The -b option is rarely useful--it
          does a binary transfer of the file(s).  The option is included
          for those occasional Postscript image files that contain 8-bit
          data (a strongly discouraged practice).

          KB

          The CONFIG.GED file allows remapping of keys via lines of the
          form
               key-code=action

          Rather than supply a chart to look up key codes, the KB program
          prints those codes in the appropriate format.  ASCII characters
          are represented by their codes.  Sample actions include
               PROCESS   EXTERNAL  STORE     DESCRIPTION
               FLOW      CHILD     PARENT    ROUTE
          KB also reports mouse codes, if a mouse is detected.  See
          ACTIONS.DOC for more details.




































          Analyst Tool Kit Shareware - 27 -            Revision 121191


                                                                      Index



                                        Index

            A                                       process, 11
                 abort DFD, 13                      prompt, 11
                 alias, 19                          PS, 26
                 ANAL, 2,5,10,11,22,24         R
                 ATTACH, 2,26                       RG, 2,5,24
            B                                       route point, 14,15
                 boundary point, 14            S
            C                                       save DFD, 13
                 chain, 20                          side chain, 20
                 child, 11,13                  T
                 CONFIG.ANA, 23                     TBD, 17
                 CONFIG.GED, 15,27                  text editor, 8,16
                 CONFIG.RG, 24                 U
                 context diagram, 11                user input, 11
                 cursor, 12,14
            D
                 data dictionary,
                 2,17,20,21,22,25
                 DDBUILD, 2,20
                 DDEVAL, 2
                 delete, 15
                 delete DFD, 13
                 DeMarco, Tom, 1
                 description, 14
                 double, 14
            E
                 editor, 8,16
            F
                 floppy, 6
                 flow, 14,15
                 flow splitter, 14
            G
                 GED, 2,5
                 GEDPS, 2,26
                 GEDPS.PS, 26
                 graphic cursor, 12,14
            H
                 hard disk, 6
            I
                 input, 11
            M
                 minispec, 10,12,13,16
                 mouse, 10,16
                 move, 14
            N
                 name DFD, 13
                 name object, 15
            P
                 primary chain, 20
                 primitive, 17
                 print, 4,8,9,13,15,26


