  
  
  
 ------------------------------------------------------------------------
  
  
  
  
  
  
  
                                 I N F O
  
                    Database System for the Common Man
  
  
  
  
  
  
  
 ------------------------------------------------------------------------
  
  
  
                               Prepared for
  
              National Aeronautics and Space Administration
                      Lyndon B. Johnson Space Center
  
  
  
                               Prepared by
  
                             Scott B. Sibley
  
               Ford Aerospace & Communications Corporation
                   Space Information Systems Operation
                              P.O. Box 58487
                            Houston, TX  77258
  
  
                                09-Aug-83
  
  
  
 ------------------------------------------------------------------------
  
  
  
                            Table of Contents
  
           INFO Notes                                     Page
           . Simplifying Data Manipulation  . . . . . . .    2
           . Definitions of INFO  . . . . . . . . . . . .    3
           . Structure of INFO Files  . . . . . . . . . .    4
           . Installing the INFO DCL Command  . . . . . .    5
           . Organizing - Of Apples & Oranges . . . . . .    6
           . INFO in the Technological Pyramid  . . . . .    7
           . Some Uses of INFO  . . . . . . . . . . . . .    8
  
  
 ------------------------------------------------------------------------
  
  
  
  
 ------------------------------------------------------------------------
  09-Aug-83              Simplifying Data Manipulation            Page 2
 ------------------------------------------------------------------------
  
  
        Session:  INFO - Database System for the Common Man
  
        Speaker:  Scott B. Sibley
        Company:  Ford Aerospace & Communications Corp.
                  Space Information Systems Operation
                  Houston, Texas
  
  
        Outline:  Description of "INFO"; Examples; Questions.
  
        Duration: 30 minutes.
  
   -------------------------------------------------------------------
  
  
  
 WHAT'S WRONG:   As  we  move  further from the Industrial Age toward the
   Information  Age,  thousands  of  people   are   introduced   to   the
   complexities of  data  manipulation:   inputing, updating, retrieving,
   sorting, etc.  Through the years, most data has  ended  up  stored  in
   either  simple  sequential files ("difficult to manage when large") or
   in complex, multi-indexed databases ("efficient for  random  access").
   How enjoyable  is information processing today?  Even most experienced
   programmers can't muster the energy to maintain an up-to-date file  of
   useful telephone numbers online. 
  
 A COMPROMISE:   Whenever  there  are  two extremes, such as "simple" and
   "complex", there ought to be a middle  ground.    Is  there  a  middle
   ground for information  processing?  There is now.  It's called "INFO"
   --  an  information  search  tool  for  loosely  structured  databases
   maintained by an ordinary text editor.  That's right, a text editor. 
  
 THE CONCEPT:   The  INFO  tool is based on "associative retrieval", that
   is, retrieving all data associated with a given search value.  Is this
   concept new?  Not really; and VMS V3.X uses it in the new DCL  command
   "SEARCH"  and  the new "MAIL" command option "SEARCH" (How about those
   names?).  Along with associative retrieval, INFO allows a hierarchical
   structure, so that detail information can be  neatly  tucked  away  in
   nested sub-levels. 
  
 NOW IS THE TIME:   So  now there is an easy way to manage information, a
   Database System for the Common Man.  Why has it taken all these years?
   Perhaps there's  a  one-word  answer,  "EFFICIENCY".      Years   ago,
   associative  retrieval  would have horrified the assembler programmers
   of the day (uses many micro-seconds).  Recently, micro-computer  users
   have  been  trying,  once  again,  to  squeeze  blood  out of turnips.
   Fortunately, a VAX can handle a moderate amount of INFO usage.    Just
   when you were going to trade your VAX for a video game system, there's
   something else only it can do. 
  
  
  
  
  
  
  
  
  
  
  
  
 ------------------------------------------------------------------------
  09-Aug-83              Definitions of INFO                      Page 3
 ------------------------------------------------------------------------
  
  Definitions of INFO -
  .
  . . Ostensive Definition -
  . .
  . . . Example of an INFO-format file:
  . . .
  . . .    $ TYPE COMPOSERS.INF
  . . .    ---- This file contains composers with opus titles ----
  . . .    ( Musical Composers -
  . . .    ( British Composers:
  . . .    ( Gustav Holst         - "The Planets"                @)
  . . .    ) British Composers
  . . .    ( American Composers:
  . . .    ( Aaron Copeland       - "Fanfare for the Common Man" @)
  . . .    ) American Composers
  . . .    ( German Composers:
  . . .    ( Ludwig Van Beethoven - "Moonlight Sonata"           @)
  . . .    ) German Composers
  . . .    ) Musical Composers
  . .
  . . . Examples of using INFO:
  . . .
  . . .    $ INFO -INPUT:COMPOSERS.INF  -ALL
  . . .     Musical Composers -
  . . .     . British Composers:
  . . .     . . Gustav Holst         - "The Planets"
  . . .     . American Composers:
  . . .     . . Aaron Copeland       - "Fanfare for the Common Man"
  . . .     . German Composers:
  . . .     . . Ludwig Van Beethoven - "Moonlight Sonata"
  . . .
  . . .    $ INFO -INPUT:COMPOSERS.INF  COMMON MAN
  . . .     Musical Composers -
  . . .     . American Composers:
  . . .     . . Aaron Copeland       - "Fanfare for the Common Man"
  . . .    $
  .
  . . Strict Definition -
  . .
  . . . INFO is a software tool which allows data stored in a hierarchical
  . . . structure to be retrieved by an associative-retrieval search for
  . . . topic words, with a variable number of data sub-levels displayed.
  .
  . . Metaphorical Definitions -
  . .
  . . . INFO is an Information Formatter -
  . . . . Just as a text formatter can format textual data, INFO can format
  . . . . information to emphasize precise, succinct ideas.
  . . . INFO is a Concept Processor -
  . . . . The standard processing unit for a Word Processor is a word; for
  . . . . INFO, the standard unit is a concept.
  . . . INFO is a Database Interpreter -
  . . . . The data handled by INFO has an interpretive structure analogous
  . . . . to the structure of a program for a BASIC language interpreter.
  . . . INFO is a Data-Reduction Tool -
  . . . . As a statistical analysis can provide data reduction for numeric
  . . . . data, so INFO enables detail information to be reduced to more
  . . . . generalized terms.
  
  
  
  
 ------------------------------------------------------------------------
  09-Aug-83              Structure of INFO Files                  Page 4
 ------------------------------------------------------------------------
  
  
  STRUCTURE of Info Files
  .
  . Hierarchical Information Files are encoded by nested groups  of
  . parentheses.   A branch of a hierarchy may be coded in either of
  . two forms, a multi-line form or a one-line form.
  .
  . MULTI-LINE BRANCH - In the multi-line form, a branch of a hierarchy
  . . is opened by a line which contains a left (opening) parenthesis in
  . . in the first column of the line, and the branch is closed by a line
  . . which begins with a right (closing) parenthesis.
  . . For example:
  . .
  . .      ( This begins a branch of the hierarchy....
  . .         ...a line contained in the branch...
  . .         ...a line contained in the branch...
  . .      ) This ends a branch of the hierarchy.
  . .
  . . Any words which appear on the opening line of a branch (words which
  . . follow 1  space  past  the  left parenthesis) are treated as search
  . . words and may be used as search-topic words  or  prefixes  for  the
  . . "INFO" command to  retrieve  information.    On the other hand, any
  . . words which appear on the closing line  of  a  branch  are  totally
  . . ignored and function  essentially as comments.  The lines contained
  . . within the branch are displayed as contents of the branch, but they
  . . are not  searched  unless  they, in turn, start a nested sub-branch
  . . (begin with a left parenthesis).
  . .
  . .     Any lines which precede the start of the first hierarchy branch
  . . in a file are ignored  by  the  "INFO"  command  and  will  not  be
  . . displayed:
  . .
  . .         ...this line is ignored...
  . .         ...this line is ignored...
  . .     ( This line will be searched for topic keywords....
  . .         ...a line contained in the branch...
  . .     ( This sub-branch line will be searched for topic keywords....
  . .     ) This line ends the sub-branch.
  . .         ...a line contained in the branch...
  . .     ) This ends a branch of the hierarchy.
  . .
  . .
  . ONE-LINE BRANCH - In  the one-line form of a hierarchy branch,
  . . the entire branch is defined on a single line which begins  with  a
  . . left parenthesis in the first column and ends with an at-sign ("@")
  . . followed by a right parenthesis:
  . .
  . .     ( This is a one-line branch of the hierarchy.@)
  . .
  . . The "@)" pair must appear before column 80 to be  recognized  as  a
  . . branch terminator (80-character  line length).  Comments may follow
  . . after the closing right parenthesis.
  
  
  
  
  
  
  
  
  
  
 ------------------------------------------------------------------------
  09-Aug-83         Installing the INFO DCL Command               Page 5
 ------------------------------------------------------------------------
  
  
 The  INFO program may be installed on a VAX/VMS system as the "INFO" DCL
 command: 
  
  
 $ INFO -HELP
     List Information: INFO [topic-prefix-list] [-LEVELS:n | -ALL {2}]
                            [-PAGELEN:n {22}] [-OUT[:file {INFO.LIS}]]
                            [-IN:file {'InfoDir'INFO.TEX}] | -WAIT |-F|-H
  
 This  command  lists  information  for  the  topics  that  match "topic-
 prefix-list", which may specify any  type  of  topic  grouping  such  as
 "COMMAND", "SYST",  "COM ERR", or "NEW COM ALPHA LIST".  If no prefix is
 given, all topics will be listed.
  
      Information is displayed a page at a time.  At the end of each page
 typed, the user is prompted with ":".  Valid responses are:
  
   / - Skip past next page            = - Show current line number
   S - Skip to next matching topic    ? - Show topic names requested
   Q - Quit    H - Help     Any other response continues to the next page.
  
 The following list explains the command options:
  -PAGELEN:n - (or -P) set page length to "n" lines; default is 22
  -LEVELS:n  - (or -L) print "n" sub-levels of information; or -ALL
  -OUT:file  - (or -O) put the requested information into "file"
  -IN:file   - (or -I) read "file" as an info file (see "INF INFO FILE")
  -WAIT      - (or -W) prompts "(end):" and waits for user to press return
 $
  
  
 Some examples of the INFO command:
  
 $ INFO -LEVELS:1                  <-- Display one level of topics.
 $ INFO COMMAND FORMATS            <-- Display "COMMAND FORMATS" info.
 $ INFO EDITOR                     <-- Display info about "EDITOR".
 $ INFO -INPUT:COMPOSERS.INF       <-- Process file "COMPOSERS.INF"
  
 ------------------------------------------------------------------------
  
  
  
 The INFO tool was developed under a support contract for the Medical
 Sciences Division at the NASA Johnson  Space  Center  and  has  been
 submitted to the DECUS Library (public domain). 
  
 To install INFO from the 1982 Fall DECUS U.S. Symposium VAX SIG Tape: 
  
   1.  Restore all files [VAX82B.FORDAERO.UTIL...]*.*;* from the Tape. 
  
   2.  Rename UTIL.DIR to top:  $ RENAME [VAX82B.FORDAERO]UTIL.DIR [0,0]
  
   3.  Edit file "[UTIL]Symbols.COM" to define disk device "LIB0:". 
  
   4.  Invoke "$ @[UTIL]Symbols" to define "INFO" global DCL symbol. 
  
  
  
  
  
  
  
 ------------------------------------------------------------------------
  09-Aug-83         Organizing - Of Apples & Oranges              Page 6
 ------------------------------------------------------------------------
  
  
  
  
 The  flexibility  of  the INFO-file structure greatly simplifies the
 task of organizing information.  Several  theories  of  organization
 are helpful: 
  
  
  Theories of Organization -
  . Any information can be structured as a "segment hierarchy".
  . Dividing information into categories usually taxes concentration.
  . Using a common "division criterion" for categories aids understanding.
  . Categories such as "Misc." or "Other" indicate improper organization.
  
  
  
  
 A proper understanding of organization can often bring simplicity to
 chaos.   Consider  the  proverbial  problem of comparing "apples and
 oranges"; there are several simple solutions: 
  
  
  Categorization of Apples & Oranges -
  .
  . Edible Fruit -
  . . Apples
  . . Oranges
  . . Plums
  .
  . Personal Computer Manufacturers -
  . . Apple
  . . Orange
  . . DEC
  .
  . Spherical Objects -
  . . Apples
  . . Oranges
  . . The Moon
  
  
  
  
 INFO raises questions as to the nature of the  knowledge  structures
 in the human brain. 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 ------------------------------------------------------------------------
  09-Aug-83         INFO in the Technological Pyramid             Page 7
 ------------------------------------------------------------------------
  
  
 The  formulation  of  the  INFO  tool  was  based largely on several
 milestones in the technological pyramid: 
  .
  . Hierarchical Databases:  HDAM, Multics -
  . . The hierarchical direct access method, "HDAM", of IBM and the
  . . hierarchical file system of the Multics operating system (Mass.
  . . Instit. of Tech.) demonstrated the advantages of structuring
  . . information in a hierarchy.
  .
  . Nesting Structure:  FORTRAN -
  . . The FORTRAN ("FORmula TRANslation") programming language of IBM
  . . clarified recursive nesting structure by replacing the standard
  . . mathematical nesting symbols, "[ { ( ) } ]", with simply a set
  . . of repeatedly-nested parentheses, "( ( ( ( ) ) ) )".
  .
  . Language String Grammar Nesting Syntax:  LISP -
  . . The LISP (List-in-String-Processor) language demonstrated that an
  . . entire programming language could be based on a fully-recursive
  . . hierarchy coded as a string grammar using only nested parentheses
  . . (LISP S-expressions:  "(CDR (A B C))").
  .
  . Nested Indentation Style:  FLECS -
  . . The FLECS ("FORTRAN Language with Extended Control Structures")
  . . pseudo-code preprocessor (Univ. of Oregon) provided a hierarchical
  . . language with source listings indented by multiple levels of dots.
  . . In addition, the simplicity of FLECS indentation style revealed
  . . that all indentation was merely an indication of continuation or
  . . sub-level details.
  .
  . Interpretive Development Language:  Digital Command Language -
  . . The INFO tool was initially implemented entirely in DCL, employing
  . . the debugging simplicity of the interpretive language.  Due to the
  . . complexity of perfecting multi-variate recursive algorithms, many
  . . useful software projects are postponed, or perhaps never attempted.
  .
  . Rapid Computing Speed:  VAX-11 FORTRAN I/O & CPU Speed -
  . . The INFO program is both I/O-bound (Input/Output) & compute-bound;
  . . yet, with the VAX FORTRAN implementation, INFO provides acceptable
  . . performance for a wide range of applications.
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 ------------------------------------------------------------------------
  09-Aug-83              Some Uses of INFO                        Page 8
 ------------------------------------------------------------------------
  
  Some Uses of INFO
  .
  . PERSONAL USE
  . . Structured, Personal Telephone Directory
  . . Organization Tool for Report/Presentation Topics
  . . Structured List of Planned Tasks
  .
  . COMPUTER SYSTEM MANAGEMENT
  . . Index of Computer Storage Media Library (Disks, Tapes, Floppies)
  . . Log of Disk Backups & Disk Formatting Events
  . . Log of Tape Usage with Data Error Messages
  .
  . BUSINESS/EMPLOYEE MANAGEMENT
  . . Organization Chart of Support Personnel
  . . Log of Bi-weekly Status Events
  . . Structured List of Employee Future Plans
  .
  . COMPUTER USER ORIENTATION
  . . Computer User's General Information Database ("$ INFO" DCL command)
  . . Internal Help for Application Programs
  .
  . PROGRAMMER AIDS
  . . Program Structure Charts (subroutine-call trees)
  . . Log of Program Modification Notes
  . . Programmer's Subroutine Library Documentation
  . . Index of Files in a Directory
  
 ------------------------------------------------------------------------
  
  Examples of an Index of a Computer Storage Media Library:
  
 $ MEDIA
  -----------------------------------------------------------
    MEDIA LIBRARY INDEX for NASA/JSC Life Sciences Computer
  -----------------------------------------------------------
  . Index Notes -
  . Sub-level 1 is being displayed - Media Type Grouping
  -----------------------------------------------------------
  
  MEDIA LIBRARY INDEX -
  . Disk Packs -
  . Floppy Diskettes -
  . Magnetic Tapes (Reels) -
  . Hewlett-Packard Cartridge Tapes -
  
  
 $ MEDIA VMS V3.2 -LEVELS:1
  MEDIA LIBRARY INDEX -
  . Disk Packs -
  . . 9002 - 19May83  RM05 Copy of VMS V3.0, V3.2, [VAXMAN]/[SYSMAN] Files
  . Floppy Diskettes -
  . . 7321 - RX01:  VAX/VMS V3.2 S/A BKUP RX1 1/2 (AS-M759B-BE) -
  . . 7322 - RX01:  VAX/VMS V3.2 S/A BKUP RX1 2/2 (AS-M760B-BE) -
  . Magnetic Tapes (Reels) -
  . . 5XXX - VAX/VMS V3.2 BIN 16MT9 Distribution Tape (BB-D782F-BE) -
 $
  
  
  
  
  
