home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / news / asr102.doc < prev    next >
Encoding:
Text File  |  1988-05-03  |  49.4 KB  |  855 lines

  1.         Ada Software Repository Newsletter  Issue 102, December 1987
  2.  
  3.  
  4.  
  5.                    Ada Software Repository (ASR) Newsletter
  6.  
  7.                                   Edited By
  8.                                  Richard Conn
  9.                        Manager, Ada Software Repository
  10.  
  11.                                  Published By
  12.              Management Assistance Corporation of America (MACA)
  13.                         PO Drawer 100 - Building T148
  14.                  White Sands Missile Range, New Mexico  88002
  15.                                  505/678-3288
  16.  
  17.  
  18.                                   THIS ISSUE
  19.                                   ----------                             Page
  20.  
  21.                               I. Articles Section                           2
  22.  
  23.       "Some Thoughts on Software Reusability and Ada"                       2
  24.            by Richard Conn
  25.  
  26.  
  27.                             II. Release Notices                             8
  28.  
  29.       1. Welcome Message and Disk References Changed                        8
  30.       2. Rationale for Ada                                                  8
  31.       3. Info on Network Protocols in Ada                                   8
  32.       4. Source of Booch's "Software Components" Available                  9
  33.       5. AdaIC Newsletter V.1 Released                                      9
  34.  
  35.       6. ASR Taxonomy Released                                              9
  36.       7. ASR Usage Statistic                                               12
  37.       8. Questions about Abstractions                                      12
  38.       9. Utility to Write VAX/ANSI Tapes on Data General Released          13
  39.      10. String Comparison Package Released                                14
  40.  
  41.  
  42.  
  43.        The Ada Software Repository and this Newsletter are sponsored by
  44.  
  45.                  The STARS Joint Program Office, The Pentagon
  46.                                      and
  47.       The US Army Information Systems Command, White Sands Missile Range
  48.  
  49.                        -------------------------------
  50.     DISCLAIMER: Statements made in this newsletter are the opinions of the
  51.     individuals making them and are not necessarily the opinions or policy
  52.           statements of the US Government or any other organization.
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.         Ada Software Repository Newsletter  Issue 102, December 1987
  63.  
  64.  
  65.   I.   "Some  Thoughts  on  Software     software, and (5) how to ensure the
  66.  Reusability  and  Ada"                  reliability    of   the    reusable
  67.       by Richard Conn                    software.   There  are  also   many
  68.                                          political  issues  associated  with
  69.       This  article is  composed  of     making  reuse possible: (1) how  to
  70.  the essence of a paper presented at     instill  a sense of  confidence  in
  71.  the Army Micro/Info '87  Conference     the  software, (2) how to  pay  for
  72.  in Kansas City during August, 1987.     the  establishment and  maintenance
  73.                                          of a reusable software library, (3)
  74.                                          how to charge our customer when  we
  75.  1.  SOFTWARE:  TO REUSE OR  NOT  TO     reuse software, (4) how to  provide
  76.  REUSE                                   an incentive to our contractors  to
  77.  -----------------------------------     reduce   our   costs   by   reusing
  78.       Software   reusability  is   a     software, and (5) how to reduce the
  79.  double-edged  sword.  On one  side,     cost and schedule risks  associated
  80.  it  intuitively sounds like a  good     with  reusing software.   From  the
  81.  idea.   We would not  reinvent  the     point  of view of the Company,  how
  82.  wheel; we would save time and money     does  software  reuse  affect   the
  83.  by  producing  a product out  of  a     bottom  line,  the  profit  margin?
  84.  collection of components that  were     Can we save money by establishing a
  85.  already  tried and proven; we  will     reusable software library?         
  86.  have to spend less time in  testing                                        
  87.  because  many parts of  our  system     2. SOFTWARE REUSABILITY AND THE DOD
  88.  would have already been extensively     -----------------------------------
  89.  tested.                                      The  US Department of  Defense
  90.          On  the other  side,  there     (DoD) has studied the pros and cons
  91.  are   reasons   for   not   reusing     of  software reusability for  quite
  92.  software.  If I am paid by how many     some time, and it has decided  that
  93.  lines of code I write, why should I     software  reusability and a  common
  94.  do  something to reduce my  income?     computer language, Ada, are keys to
  95.  How do I charge my customer for  my     the   solution  of   its   software
  96.  system  when parts of it  were  not     problems.   The DoD has an  intense
  97.  written  by me?  Why should  I  pay     interest  in reducing its  software
  98.  (in  terms of dollars,  code  size,     costs and simultaneously increasing
  99.  and  code execution speed) for  the     the reliability of its software and
  100.  additional code someone puts into a     the     productivity     of     its
  101.  software module that my application     contractors.  The cost of  software
  102.  does not need?  How do I know  that     maintenance   in   mission-critical
  103.  a piece of software in some library     systems within the Air Force  alone
  104.  really works as advertised  without     was   $2.5B/year   in   1985,    is
  105.  bugs?   If  I'm handed a  piece  of     $3.6B/year  today  (1987),  and  is
  106.  software out of a library, how do I     expected  to  reach  $7.3B/year  by
  107.  know  that I won't spend more  time     1996    if   the   current    trend
  108.  trying to figure out what it  does,     continues[1].      Clearly,     the
  109.  whether or not it works, and how to     importance of software in our major
  110.  modify it for my application than I     weapons systems is increasing:  the
  111.  would if I wrote it myself?             F-4's  flown  in  Vietnam  in  1974
  112.       There   are   many   technical     contained  just a  few  processors,
  113.  issues  associated with making  the     the  F-16A in 1981 contained  seven
  114.  reuse of software possible: (1) how     computer  systems  (50  processors)
  115.  to determine what should be reused,     and  135K lines of code, the  F-16D
  116.  (2)  how to design for  reuse,  (3)     in 1986 contained fifteen  computer
  117.  how   to   design   with   reusable     systems  (300 processors) and  236K
  118.  software,  (4)  how  to   classify,     lines  of  code, and  the  Advanced
  119.  store,   and   retrieve    reusable     Tactical    Fighter    now    under
  120.  
  121.  
  122.  Articles, Page 2
  123.         Ada Software Repository Newsletter  Issue 102, December 1987
  124.  
  125.  
  126.  development is expected to  contain     3.  SOFTWARE  REUSE  AND   COMPUTER
  127.  over  12M  lines of  code  (all  of     LANGUAGES                          
  128.  which is to be written in Ada).         -----------------------------------
  129.       The DoD Software Initiative is          Reuse of software is not a new
  130.  based  around three main  programs:     concept, but, before the advent  of
  131.  (1)  the Ada programming  language,     Ada,   several   impediments   have
  132.  which  is managed by the Ada  Joint     prevented software reusability from
  133.  Program   Office  and  provides   a     becoming really effective.  In most
  134.  common  technical  base,  (2)   the     projects there was a distinct  lack
  135.  Software   Engineering    Institute     of   incentives   to   aggressively
  136.  (SEI), which is managed by the  SEI     encourage   reusability   (see   my
  137.  Joint Program Office and is  tasked     opening  remarks  in  this  paper).
  138.  to accelerate the transition of new     Most  languages  did not  have  the
  139.  software technology into  practice,     proper  facilities to  support  the
  140.  and (3) the Software Technology for     development  of  reusable  software
  141.  Adaptable, Reliable Systems (STARS)     components,  and reuse  with  these
  142.  program,  which is managed  by  the     languages  meant  writing   modules
  143.  STARS  Joint Program Office and  is     which performed distinct  functions
  144.  tasked with inventing a new way  of     on  particular  types  of   objects
  145.  doing software engineering, thereby     (such as the software found in  the
  146.  increasing  software   productivity     UNIX/C libraries and many libraries
  147.  and   reliability.   Ada   is   the     of commonly-used assembly  language
  148.  cornerstone for all three programs,     routines).   There  was a  lack  of
  149.  and  software reusability based  on     language    standardization     (as
  150.  Ada is a key to their success.          evidenced  by the many dialects  of
  151.       In     discussing     software     FORTRAN  and the different sets  of
  152.  reusability and the DoD, the  STARS     library    routines   found    with
  153.  program is of particular  interest.     different C compilers).  There were
  154.  STARS   is   divided   into    four     many cultural and social roadblocks
  155.  subprograms:    (1)    Foundations,     to  software  reuse,  including  an
  156.  whose   mission  is  to  create   a     educational system which encouraged
  157.  "critical    mass"   of    reusable     reinventing  software  rather  than
  158.  software components and tools,  (2)     reusing  software[3].    Efficiency
  159.  the Competing Prime Lead Contracts,     was  an overriding concern  in  our
  160.  whose  mission  is to  develop  and     older, resource-limited  computers,
  161.  demonstrate  a tailorable  software     and custom, hand-optimized code was
  162.  engineering  environment  in  which     the  prevailing  approach;   today,
  163.  software reusability is extensively     with  processors  having   advanced
  164.  employed,   (3)   Shadows,    which     significantly  in terms  of  memory
  165.  introduces    the   new    software     capacity  and processing power,  it
  166.  engineering     environment     and     has become permissible to sacrifice
  167.  techniques (including  reusability)     some efficiency in order to improve
  168.  to several candidate DoD  projects,     productivity      and      software
  169.  and  (4)  Research by  the  service     reliability.                       
  170.  laboratories,   which  provides   a          Ada's standardization (through
  171.  pragmatic    assessment   of    the     ANSI/MIL-STD-1815A   and  the   Ada
  172.  progress of the STARS program.  The     compiler   validation    procedures
  173.  five-year  STARS  program   roadmap     mandated  and enforced by  the  Ada
  174.  (which  has already begun with  the     Joint Program Office), some of  its
  175.  launch  of 33  development  efforts     special features (such as generics,
  176.  under  the Foundations  subprogram)     packages,       and        separate
  177.  is shown in Figure A[2].                compilation),   and  the   cultural
  178.                                          backing of Ada (through the DoD and
  179.                                          its  Software Initiative) make  Ada
  180.                                          especially  suitable for  promoting
  181.  
  182.  
  183.                                                      Articles, Page 3
  184.         Ada Software Repository Newsletter  Issue 102, December 1987
  185.  
  186.  
  187.  software reuse.  However, by simply     protocol    TCP/IP    (Transmission
  188.  using   Ada,  software   does   not     Control           Protocol/Internet
  189.  automatically   become    reusable.     Protocol).   The  DDN  provides   a
  190.  Rather,  Ada  provides   facilities     common  communications path  for  a
  191.  which, in turn, make software reuse     wide variety of computers, allowing
  192.  more    feasible.     Ada    allows     the  users  of these  computers  to
  193.  interfaces   to   be   defined   so     transmit electronic mail and  files
  194.  functions  performed by a  software     between each other.                
  195.  module  are  clear  and   precisely          The   value  of   a   computer
  196.  regulated.  Ada's generics facility     network    to   support    software
  197.  allows  algorithms to be  expressed     reusability   and   exchange    was
  198.  in a common form which can be later     realized for some time, and in 1979
  199.  instantiated for a particular  need     one    of   the   first    software
  200.  (such as in writing a sort  routine     repositories  on a  major  computer
  201.  as    a    generic    and     later     network,    the    CP/M    software
  202.  instantiating it to sort  integers,     repository  on  the  ARPANET   (the
  203.  floating point numbers, strings, or     Advanced  Research Projects  Agency
  204.  certain  types of records).   There     computer network) was set up on the
  205.  is  only  one  Ada,  MIL-STD-1815A,     MACSYMA  Corsortium  ARPANET   host
  206.  with  no supersets or subsets,  and     computer at MIT.  Supported by  the
  207.  the  definition of Ada  includes  a     INFO-CPM  electronic mailing  list,
  208.  collection   of  standard   library     public  domain  software  would  be
  209.  routines (such as TEXT_IO).   There     placed   into   a   collection   of
  210.  are  many Ada compilers for a  wide     directories  on this  computer,  an
  211.  variety  of computers  (the  August     electronic  mail message  would  be
  212.  1987   list   of   validated    Ada     sent  to  the  INFO-CPM  electronic
  213.  compilers[4]    lists    101    Ada     mailing  list  (where  the  message
  214.  compilers),  and transportable  Ada     would  be  duplicated  hundreds  of
  215.  software  can be written using  any     times       and       retransmitted
  216.  one of these compilers, moved to  a     individually  to  members  of  this
  217.  different computer, and  recompiled     list) announcing the new  software,
  218.  without any modification by another     and the users would  electronically
  219.  of these compilers.                     transfer  the software from MIT  to
  220.                                          their local ARPANET host computers,
  221.  4. THE ADA SOFTWARE REPOSITORY          download      it      to      their
  222.  ------------------------------          microcomputers, and use it.        
  223.       Attempts      at      software          The popularity and success  of
  224.  reusability of component  libraries     the CP/M software repository at MIT
  225.  and  tools have been with us for  a     attracted    the    interest    and
  226.  long  time,  and both the  DoD  and     attention of the DoD,  particularly
  227.  industry  have  invested a  lot  of     DARCOM,  and,  in  1983  when   the
  228.  effort   in  attempting  to   reuse     MACSYMA  Consortium was  dissolved,
  229.  software      effectively.       Of     the CP/M software repository became
  230.  particular  interest is the  effort     sponsored  by DARCOM and was  moved
  231.  sponsored  by the  Army's  Materiel     to   SIMTEL20,  a  DDN-based   host
  232.  Command (AMC, formerly known as the     computer  at  White  Sands  Missile
  233.  Department  of the  Army  Readiness     Range  in New Mexico.   The  DARCOM
  234.  Command, or DARCOM) on the  Defense     Microcomputer   Software    Sharing
  235.  Data Network (DDN)[5].  Today's DDN     System (DMSSS) was established, and
  236.  is   quite  probably  the   largest     the   CP/M   software    repository
  237.  computer-based communications media     flourished.  The DMSSS organization
  238.  in  the  world, being  composed  of     was  composed of only a few  people
  239.  over  400 computer  networks  which     who  were strong advocates  of  the
  240.  are interoperating by means of  the     concept of sharing software in this
  241.  DoD     computer     communications     manner  and  willing  to  volunteer
  242.  
  243.  
  244.  Articles, Page 4
  245.         Ada Software Repository Newsletter  Issue 102, December 1987
  246.  
  247.  
  248.  their time and effort to make  this     Sands    to    purchase    computer
  249.  venture  a reality.  The people  in     equipment  in  support of  the  ASR
  250.  DMSSS  were motivated far  more  by     activity and made plans to  provide
  251.  interest and enthusiasm rather than     the  software acquired through  its
  252.  money, and sponsors at DARCOM  felt     Foundations subprogram to the  ASR.
  253.  it  was  worthwhile to  give  these     The  ASR  today contains  over  43M
  254.  individuals access to SIMTEL20  and     bytes    of   Ada   software    and
  255.  other support as required (such  as     information, including most of  the
  256.  legal  and  security  counsel)   to     software  in the  WIS/NOSC  toolset
  257.  encourage   the  DMSSS   group   to     (representing   an  investment   of
  258.  continue  its efforts.  Many  other     $5.5M),   and   supports   a   user
  259.  software  repositories   maintained     community estimated to be as  large
  260.  and  operated  by the  DMSSS  group     as  10,000  people that  have  made
  261.  have  since sprung up  on  SIMTEL20     over 170,000 individual accesses to
  262.  (see Figure B).                         the  files  in the ASR.   Figure  C
  263.       The  Ada  Software  Repository     lists   the  major  categories   of
  264.  (ASR)  is one of  the  repositories     software  and  information  in  the
  265.  maintained by a member of the DMSSS     ASR.                               
  266.  group.   Started in late 1984,  the          The  picture painted above  is
  267.  ASR  was  approved,  set  up,   and     quite   positive   about   software
  268.  placed  into  operation   literally     reusability   with  Ada   and   the
  269.  overnight, and interest in the  ASR     implementation of the Ada  Software
  270.  was   immediately   apparent.    An     Repository,   but   the   arguments
  271.  announcement of the ASR was made to     presented at the beginning of  this
  272.  the INFO-ADA mailing list (which is     paper  on whether or not  to  reuse
  273.  sponsored by the Ada Joint  Program     software  should not be  forgotten.
  274.  Office),  and users of the DDN  and     Perhaps  the single most  important
  275.  other  networks communicating  with     thing    accomplished    by     the
  276.  the  DDN via electronic  mail  were     implementation of the ASR is simply
  277.  invited to subscribe to the  ADA-SW     that  the  ASR has shown  that  the
  278.  electronic   mailing   list   which     effective reuse of Ada software  on
  279.  serviced    the   ASR.     Software     a massive scale is quite  possible,
  280.  immediately  began to  trickle  in,     but  we  don't  yet  have  all  the
  281.  and  the user community of the  ASR     answers.  A large number of lessons
  282.  rapidly    grew.    Colonel    Bill     have  been  learned  by  the  DMSSS
  283.  Whitaker of the World-Wide Military     group (details of which are  beyond
  284.  Command   and   Control    (WWMCCS)     the scope of this paper), and there
  285.  Information  Systems  (WIS,   which     is  a  lot of questions yet  to  be
  286.  stands   for   WWMCCS   Information     resolved.     Much   research    by
  287.  Systems) organization observed  the     industry,  academia,  and  the  DoD
  288.  ASR  activity, and,  having  funded     (the  STARS program in  particular)
  289.  for  the  development  of   several     is  still underway in the  area  of
  290.  million   dollars  worth   of   Ada     software  reusability.   While  the
  291.  software components and tools in  a     ASR is quite popular, the  software
  292.  joint   WIS/NOSC   (Naval    Oceans     it  contains  is  not  perfect  and
  293.  Systems    Center)   Ada    toolset     trusted;  each item of software  in
  294.  project,  decided to  provide  this     the  ASR  comes with  a  disclaimer
  295.  software  to  the  ASR  in  further     that the software is provided  "as-
  296.  support of the ASR activity and the     is" and should be thoroughly tested
  297.  DoD Software Initiative as a whole.     before  being  relied  upon,   and,
  298.  Colonel Joe Greene, Director of the     while  some items in the  ASR  have
  299.  STARS  Joint Program  Office,  also     been shown to be quite  worthwhile,
  300.  perceived the ASR activity to be of     others  have been shown to  contain
  301.  value to the STARS program, and, in     both  major  and  minor  bugs.   To
  302.  1987,  STARS  sent funds  to  White     create  a  generation  of  software
  303.  
  304.  
  305.                                                      Articles, Page 5
  306.         Ada Software Repository Newsletter  Issue 102, December 1987
  307.  
  308.  
  309.  which  is made available through  a     [3] "Software Reuse: Motivators and
  310.  mechanism  like  the  ASR  and   is     Inhibitors"  by Will Tracz  in  the
  311.  completely trusted will require  an     Proceedings   of   IEEE    COMPCON,
  312.  enormous investment of time, money,     February, 1987.                    
  313.  and  effort, and the STARS  program                                        
  314.  and  other  programs  with  similar     [4] Ada Information  Clearinghouse,
  315.  goals in industry and academia  are     3 August 1987 list of Validated Ada
  316.  taking the first steps to make this     Compilers,  obtained from  the  Ada
  317.  investment.   As  mentioned  above,     Software Repository on the  Defense
  318.  there   are  both   technical   and     Data Network                       
  319.  political problems to be  overcome,                                        
  320.  and I am not yet convinced that  we     [5]    See   "The   Ada    Software
  321.  will  be successful  in  overcoming     Repository  and  the  Defense  Data
  322.  them.                                   Network:  A Resource  Handbook"  by
  323.                                          Richard  Conn (the author  of  this
  324.  5. FINDING OUT MORE                     paper) for more details of the DDN,
  325.  -------------------                     the ASR, and the DMSSS group.  This
  326.       If  you are inspired  to  find     book  is  published  by  New   York
  327.  out  more  about what is  going  on     Zoetrope,  838 Broadway, New  York,
  328.  with  software  reusability,   Ada,     NY, 800/242-7546.                  
  329.  STARS,  and other related  efforts,                                        
  330.  the  list of references at the  end     [6] The first twelve issues of  the
  331.  of  this paper is a good  place  to     ASR  Newsletter  are  available  in
  332.  start.   If you have access to  the     hardcopy from Echelon, Inc., 885 N.
  333.  DDN, you can subscribe to ADA-SW by     San  Antonio  Road, Los  Altos,  CA
  334.  sending electronic mail to  ADA-SW-     94022,  415/948-3820  for  a  minor
  335.  REQUEST@SIMTEL20.ARPA.   If you  do     cost.    All  issues  of  the   ASR
  336.  or  do not have access to the  DDN,     Newsletter are stored in electronic
  337.  you   can  acquire   the   Resource     form  within the ASR itself in  the
  338.  Handbook[5],  the  ASR  Newsletters     subdirectory  PD:<ADA.NEWS>, so  if
  339.  [6],  and a copy of the ASR  itself     you  have access to the DDN or  are
  340.  (see the Resource Handbook and  the     planning  to acquire a tape of  the
  341.  ASR  Newsletters for details).   If     ASR,  you  may  wish  to  get   the
  342.  you  are just now being  introduced     newsletters through the ASR itself.
  343.  to  Ada or have been  working  with                                        
  344.  Ada and want to find out more,  the     [7]  The "Ada Adoption Handbook:  A
  345.  Program  Manager's Guide  published     Program  Manager's  Guide,  Version
  346.  by    the   Software    Engineering     1.0"  by  John  Foreman  and   John
  347.  Institute[7] should be of interest.     Goodenough    of    the    Software
  348.                                          Engineering Institute is  available
  349.  6. REFERENCES                           as Technical Report  CMU/SEI-87-TR-
  350.  -------------                           9, ESD-TR-87-110, May 1987 from the
  351.  [1]  Air  Force cost  and  computer     SEI,   phone  412/268-7630.    This
  352.  resource figures extracted from the     covers  some concepts and  presents
  353.  "Air   Force  Software   Management     the  several individuals'  opinions
  354.  Initiatives"   briefing  by   Major     on  issues such as program  manager
  355.  General  Merlin  T. Smith,  HQ  Air     considerations  in  moving  to  Ada
  356.  Force  Systems Command, during  Ada     (such  as costs, technical  issues,
  357.  Expo '86.                               program control, and getting help),
  358.                                          software   production    technology
  359.  [2] "STARS Development Roadmap" was     (including Ada compiler  validation
  360.  extracted from a briefing given  by     and       programming       support
  361.  Col.  Joe Greene, Director  of  the     environments),  the  maturity   and
  362.  STARS Joint Program Office, at  the     applicability of Ada (especially to
  363.  STARS Ada Foundations Workshop.         embedded,      real-time,       and
  364.  
  365.  
  366.  Articles, Page 6
  367.         Ada Software Repository Newsletter  Issue 102, December 1987
  368.  
  369.  
  370.  distributed     systems),     other 
  371.  languages and mixing Ada with other 
  372.  languages, software reuse with Ada, 
  373.  and Ada training.  Disclaimer: "The 
  374.  ideas  and findings in this  report 
  375.  should  not  be  construed  as   an 
  376.  official   DoD  position.   It   is 
  377.  published   in  the   interest   of 
  378.  scientific      and       technical 
  379.  information exchange."
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.                                                      Articles, Page 7
  428.         Ada Software Repository Newsletter  Issue 102, December 1987
  429.  
  430.  
  431.  II. Release Notices                     under contract), as well as a great
  432.                                          deal    of    other     Ada-related
  433.  -----------------------------------     information.  You can get on  their
  434.  1.   Welcome   Message   and   Disk     mailing list by writing or calling:
  435.  References Changed                                                         
  436.                                                  AdaIC                      
  437.       The   Welcome   Message    and             3D139 (1211 S. Fern, C-107)
  438.  associated files have been  updated             The Pentagon               
  439.  to reflect the PD2: disk references             Washington DC 20301-3081   
  440.  as opposed to the old PD:.  You can             (703) 685-1477             
  441.  get WELCOME.DOC from                                                       
  442.                                          -----------------------------------
  443.           PD2:<ADA.GENERAL>              3. Info on Network Protocols in Ada
  444.                                          Date: Fri, 11 Dec 87 09:40:14 EST  
  445.  or send an email request to             From:                              
  446.                                          csed-1!csed-20!baldo@hc.dspo.gov   
  447.     ADA-SW-REQUEST@SIMTEL20.ARPA.        (James Baldo)                      
  448.                                                                             
  449.  -----------------------------------     Anyone interested in discussing the
  450.  2. Rationale for Ada                    design  or  implementation  of  Ada
  451.  Date: Tue 8 Dec 87 06:30:08-PDT         TCP/IP  protocols can  contact  the
  452.  From:                                   author at the following address:   
  453.  ALLEN_S%ASD.SPAN@STAR.STANFORD.EDU                                         
  454.  (Stanley Roger Allen, AdaDude)          James Baldo Jr.                    
  455.                                          Institute for Defense Analyses     
  456.       The  book "Rationale  for  the     1801 N. Beauregard St.             
  457.  Design  of the Green  Language"  is     Alexandria, VA 22311               
  458.  now   called   (you   guessed   it)                                        
  459.  "Rationale  for the Design  of  the     703-824-5516                       
  460.  Ada  Language".  The AJPO does  not     e-mail address:                    
  461.  distribute this book directly,  but        baldo!csed-1.uucp@hc.dspo.gov   
  462.  it is the "source" of the document.                                        
  463.  Distribution  is  handled  by   the     I am currently attempting to assist
  464.  National   Technical    Information     BDM   in  testing  the   code   for
  465.  Service  (NTIS)  and  a  couple  of     potential  use in some  STARS  work
  466.  other agencies.  They are availible     they  are doing.  IDA is  currently
  467.  at the following address/phone#:        working  on  an  X.400  MHS  (1988)
  468.                                          Remote  User implementation in  Ada
  469.  National Technical Information          funded under STARS. The emphasis in
  470.       Service                            this work is to explore the  design
  471.  US Dept of Commerce                     and   use  of   reusable   software
  472.  5285 Port Royal Road                    components.  IDA is also  examining
  473.  Springfield, Virginia  22161            the      relationship       between
  474.  (703) 487-4650                          communication software and Ada.    
  475.                                                                             
  476.  The  Rationale will cost a  certain     For  those interested in  the  NOSC
  477.  amount (I don't know just how much)     TCP/IP  protocols, Van Baker and  I
  478.  and  you  have to order it  by  its     publish a lessons learned paper  on
  479.  order number -- AD A073 854.            the project in Defense  Electronics
  480.                                          which  appreared in their  December
  481.  The    AJPO's    Ada    Information     1986 issue.                        
  482.  Clearinghouse has a lengthy list of                                        
  483.  Ada documents produced by different                                        
  484.  parts of the govt (though a lot  of                                        
  485.  them  were developed  by  companies                                        
  486.  
  487.  
  488.  Release Notices, Page 8
  489.         Ada Software Repository Newsletter  Issue 102, December 1987
  490.  
  491.  
  492.  -----------------------------------     -----------------------------------
  493.  4.  Source  of  Booch's   "Software     6. ASR Taxonomy Released           
  494.  Components" Available                                                      
  495.                                          Release of: ASR Taxonomy, 1/5/88   
  496.  Date: Mon, 14 Dec 87 11:24:02 EST                                          
  497.  From: gbooch@ajpo.sei.cmu.edu           6.1. Taxonomy:                       
  498.                                              Ada Software Repository        
  499.  Have  you seen my  book,  "Software             Introductory Information   
  500.  Components  with Ada"?  All of  the                 Contents and Use of ASR
  501.  software  listed in appendix  b  of                                        
  502.  this  book (some 501 packages)  are     6.2. Abstract:                       
  503.  available from me on tape.  If  you          Several files in the top-level
  504.  send me your address, I'll mail you     PD2:<ADA>     directory     contain
  505.  some information.                       information on the contents of  the
  506.                                          Ada  Software  Repository.    These
  507.  -----------------------------------     files are:                         
  508.  5. AdaIC Newsletter V.1 Released                ADA.CRCLST                 
  509.                                                  ADA.RPT                    
  510.  Release  of: AdaIC Newsletter,  Vol             ADA.SNP                    
  511.  5, Issue 1 (AIC51.DOC)                          ADA.TAX                    
  512.                                                  ADA.UUE                    
  513.  5.1. Taxonomy:                          and                                
  514.      Ada Books and Documents                     FILEUSE.DOC                
  515.          AdaIC Newsletters                                                  
  516.                                               Unlike  the majority of  files
  517.  5.2. Abstract:                          in the ASR, these files are updated
  518.       These  files  are  Newsletters     frequently by the maintainer of the
  519.  put  out  by  the  Ada  Information     ASR  in  order to  reflect  changes
  520.  Clearinghouse.       They       are     made    to   the    Ada    Software
  521.  recommended reading.                    Repository.                        
  522.                                                                             
  523.       AIC51.DOC (April 1987) is  not     -- ADA.CRCLST and ADA.UUE --       
  524.  the latest AdaIC newsletter.  AIC53          ADA.CRCLST contains a  listing
  525.  (Dec 87) is.  I hope to post  AIC52     of  all  the files in  the  ASR  by
  526.  and AIC53 in the near future  (when     directory.   This listing  includes
  527.  I get a copy).                          the type of the file (always  ASCII
  528.                                          for the ASR), the size of each file
  529.  5.3. Directory Listing:                 in   bytes,  and  a   CRC   (Cyclic
  530.  Directory   PD2:<ADA.NEWS>              Redundancy  Check)  value  for  the
  531.   File Name    Byte Count Line Count     file.   The CRC value is useful  in
  532.  ------------- ---------- ----------     verifying  that  a given  file  was
  533.  AIC42.DOC          31301        715     correctly transferred from the  ASR
  534.  AIC43.DOC          41422       1097     into the user's environment; if the
  535.  AIC44.DOC          32581        629     CRC  of  a file computed by  a  CRC
  536.  AIC51.DOC          17920        372     Check   program   on   the   user's
  537.  ============= ========== ==========     computer  matches the CRC  in  this
  538.    4 Files         123224       2813     list,  the user is assured that  no
  539.                                          errors  occurred in file  transfer.
  540.                                          There  are many CRC Check  programs
  541.                                          for various environments (UNIX, IBM
  542.                                          PC,  etc) scattered throughout  the
  543.                                          various repositories on SIMTEL20.  
  544.                                               ADA.UUE    is   a   copy    of
  545.                                          ADA.CRCLST that has been ARCed  and
  546.                                          then   UUENCODED.    This   process
  547.  
  548.  
  549.                                               Release Notices, Page 9
  550.         Ada Software Repository Newsletter  Issue 102, December 1987
  551.  
  552.  
  553.  significantly  reduces the size  of     -- ADA.RPT --                      
  554.  the  ADA.CRCLST file for  transfer,          ADA.RPT  is a report  similiar
  555.  thereby    expediting   the    file     to  ADA.CRCLST except that a  PAGER
  556.  transfer  process IF the  user  has     Hash code is provided instead of  a
  557.  the ability on his host computer to     CRC  value,  and a  line  count  is
  558.  decode the file (via UUENCODE)  and     given  for  each file  (a  line  is
  559.  the un-ARC it.                          terminated   by   an    end-of-line
  560.       A sample listing of the  first     character,  as  opposed to  an  Ada
  561.  few  lines of the  ADA.CRCLST  file     statement which is terminated by  a
  562.  looks like Figure 1.                    semicolon).  The PAGER Hash code is
  563.  
  564.  ===========================================================================
  565.  Figure 1: Partial ADA.CRCLST File
  566.  
  567.  Listing created Wednesday, December 30, 1987 15:22:01
  568.  
  569.          Filename                Type     Bytes   CRC
  570.  
  571.  PD2:<ADA.ADA-SQL>
  572.          DAMES.CMM.1             ASCII      833  F5C0H
  573.          DAMES.DOC.1             ASCII     5283  9A53H
  574.          DAMES.PRO.2             ASCII     4913  4A99H
  575.          DAMES.SRC.1             ASCII   616438  EE39H
  576.          DAMESABS.DOC.1          ASCII     2139  68A7H
  577.  
  578.  ============================================================================
  579.  
  580.  
  581.  generated  by the PAGER  tool  (not     -- ADA.SNP --                      
  582.  PAGER2, however) and by the  FCHECK          The ADA.SNP file documents the
  583.  tool in the ASR, so the validity of     sizes of each of the directories of
  584.  a  transferred file can be  checked     the  ASR.  The number of bytes  and
  585.  by  using programs written  in  Ada     lines    of   source    code    and
  586.  rather than a CRC Check program (no     documentation in each directory  is
  587.  Ada  implementation  is  known   to     presented,  and  a summary  of  the
  588.  exist yet).                             entire  Ada Software Repository  is
  589.       A sample listing of the  first     presented at the end of the report.
  590.  few lines of the ADA.RPT file looks          A sample listing of the  first
  591.  like Figure 2.                          few lines of ADA.SNP is in Fig 3.
  592.  
  593.  
  594.  ===========================================================================
  595.  Figure 2: Partial ADA.RPT File
  596.  
  597.  Directory and File Name               Char Count Line Count Hash
  598.  -----------------------               ---------- ---------- ----
  599.  
  600.  PD2:<ADA.ADA-SQL>
  601.    DAMES.CMM.1                                833         36   84
  602.    DAMES.DOC.1                               5283        125   32
  603.    DAMES.PRO.2                               4913         99  115
  604.    DAMES.SRC.1                             616438      13534   73
  605.    DAMESABS.DOC.1                            2139         46   42
  606.  
  607.  ===========================================================================
  608.  
  609.  
  610.  Release Notices, Page 10
  611.         Ada Software Repository Newsletter  Issue 102, December 1987
  612.  
  613.  
  614.  ===========================================================================
  615.  Figure 3: Partial ADA.SNP File
  616.  
  617.                                ---- Source Code ---- | --- Documentation ---
  618.  Directory                     Byte Count Line Count | Byte Count Line Count
  619.  -----------------------       ---------- ---------- | ---------- ----------
  620.  PD:<ADA.ADA-SQL>                 1117750      30503 |     249705       6067
  621.  PD:<ADA.AI>                       250984       7326 |     326909      10503
  622.  PD:<ADA.ANSI-LRM>                      0          0 |    1201050      46091
  623.  PD:<ADA.BENCHMARKS>              1844998      65965 |     546636      19174
  624.  PD:<ADA.CAIS>                    1719047      50360 |      10742        216
  625.  PD:<ADA.CAIS-TOOLS>               152675       4442 |       7140        132
  626.  PD:<ADA.COMPILATION-ORDER>        359990       8147 |      86428       2790
  627.  
  628.  ===========================================================================
  629.  
  630.  
  631.  
  632.  -- ADA.TAX --                           COMMUNICATIONS                     
  633.       The  file ADA.TAX  contains  a         MESSAGE HANDLING               
  634.  listing of the current taxonomy  of             RAINFORM                   
  635.  the   Ada   Software    Repository.             UNITREP SOFTWARE MODEL     
  636.  Internal   to   the   ASR   support         PROTOCOL                       
  637.  programs,    the    taxonomy     is             FTP/SMTP                   
  638.  maintained as an acyclic graph, but             SMTP                       
  639.  ADA.TAX  presents  it  as  a  tree.             TCP/IP                     
  640.  This  taxonomy dynamically  changes             TELNET                     
  641.  (typically as an  upward-compatible                                        
  642.  extension  to previous versions  of     COMPONENTS                         
  643.  the taxonomy) as the ASR grows.             CHARACTER SET                  
  644.       The following is a listing  of         COMMAND LANGUAGE INTERPRETER   
  645.  a part of ADA.TAX:                          COMPOOLS IN ADA                
  646.                                              CONTEXT-DIRECTED UPDATE        
  647.  BENCHMARKS                                  COUNT ADA STATEMENTS           
  648.      GENERAL                                     COUNT OF ADA STATEMENTS 1  
  649.          CAPACITY                                COUNT OF ADA STATEMENTS 2  
  650.          COMPUTATION-INTENSIVE,                  COUNT OF ADA STATEMENTS 3  
  651.            RECURSIVE                                                        
  652.          PERFORMANCE ISSUES              -- FILEUSE.DOC --                  
  653.      LANGUAGE COMPARISON                      FILEUSE.DOC lists all files in
  654.          ADA, C, FORTRAN, PASCAL         the subdirectories under  PD2:<ADA>
  655.      TASKING                             in order of the number of accesses.
  656.          TASKING 1                       Presented  are  the  directory  and
  657.          TASKING 2                       file  name,  the  total  number  of
  658.                                          accesses, the average monthly  rate
  659.  CAIS                                    of access, and the size of the file
  660.      SPECIFIC IMPLEMENTATION             in terms of 2048-byte disk pages.  
  661.          MITRE CAIS                           Figure 4 is a  sample  of  the
  662.              EDITOR                      first   few   lines  of  a  typical
  663.              SOURCE CODE                 FILEUSE.DOC file:                  
  664.              TEST ROUTINES
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.                                               Release Notices, Page 11
  672.         Ada Software Repository Newsletter  Issue 102, December 1987
  673.  
  674.  
  675.  ===========================================================================
  676.  Figure 4: Partial FILEUSE.DOC File
  677.  
  678.  [PHOTO:  Recording initiated  Wed 30-Dec-87 3:32PM]
  679.  
  680.  @
  681.     name                                  # refs,     rate/month,     size.
  682.  <ADA.COMPONENTS>LIST.ADA.2                  502              13       7 pgs
  683.  <ADA.COMPONENTS>ABSTRACT.SRC.1              467              15     224 pgs
  684.  <ADA.PAGER>PAGER.SRC.5                      456              17      34 pgs
  685.  <ADA.BENCHMARKS>BENCH.DOC.1                 451              15       3 pgs
  686.  <ADA.AI>EXPERT.ADA.1                        445              17      15 pgs
  687.  
  688.  ===========================================================================
  689.  
  690.  
  691.  6.3. Directory Listing:                 8.1. Taxonomy:                       
  692.  Directory   PD2:<ADA>                       COMPONENTS                     
  693.   File Name    Byte Count Line Count             LIBRARY                    
  694.  ------------- ---------- ----------                 ABSTRACTIONS           
  695.  ADA.CRCLST         38048       1103     and                                
  696.  ADA.RPT            68488       1101         COMPONENTS                     
  697.  ADA.SNP             3638         48             BINARY TREES               
  698.  ADA.TAX             5641        253                 ABSTRACTIONS           
  699.  ADA.UUE               35          4     and                                
  700.  FILEUSE.DOC        79042       1032         COMPONENTS                     
  701.  ============= ========== ==========             COMMAND LINE INTERFACE     
  702.    6 Files         194892       3541                 ABSTRACTIONS           
  703.                                          and                                
  704.  -----------------------------------         COMPONENTS                     
  705.  7. ASR Usage Statistic                          DYNAMIC ARRAY              
  706.                                                      ABSTRACTIONS           
  707.  Date: Tue, 5 Jan 88 04:40:23 MST        and                                
  708.  From:                                       COMPONENTS                     
  709.   Rick Conn <RCONN@SIMTEL20.ARPA>                FILE MANAGER               
  710.                                                      ABSTRACTIONS           
  711.       As  of 1/5/88, the 1024  files     and                                
  712.  in the Ada Software Repository have         COMPONENTS                     
  713.  been  accessed a total  of  207,035             LEXICAL ANALYZER           
  714.  times.                                              ABSTRACTIONS           
  715.                                          and                                
  716.  -----------------------------------         COMPONENTS                     
  717.  8.  Questions about Abstractions                LINKED_LISTS               
  718.                                                      SINGLY-LINKED LIST     
  719.       The  recent notice  about  the                     ABSTRACTIONS       
  720.  popular files in the ASR has raised     and                                
  721.  some    questions    about     what         COMPONENTS                     
  722.  ABSTRACTIONS  is.   As  a   general             OUTPUT PAGINATION          
  723.  answer,   the   following   release                 ABSTRACTIONS           
  724.  notice  is  attached.   Note   that     and                                
  725.  ABSTRACTIONS  is  the  second  most         COMPONENTS                     
  726.  popular item in the ASR.                        PARSER                     
  727.                                                      ABSTRACTIONS           
  728.  Release of: Abstractions                and                                
  729.  
  730.  
  731.  
  732.  Release Notices, Page 12
  733.         Ada Software Repository Newsletter  Issue 102, December 1987
  734.  
  735.  
  736.      COMPONENTS                                  Linked Lists               
  737.          STACK                                   Parser, Table-Driven       
  738.              ABSTRACTIONS                        Set Manipulation           
  739.  and                                               (Normal and Ordered Sets)
  740.      COMPONENTS                                  Sorting                    
  741.          STRING MANIPULATION                     Stack Manipulation         
  742.              ABSTRACTIONS                        String Manipulation        
  743.  and                                             String Scanning            
  744.      COMPONENTS                                                             
  745.          STRING SCANNER                       ABSTRACTIONS   is   used    by
  746.              ABSTRACTIONS                NOSC/WIS tools 5.1.1, 5.1.2, 6.1.2,
  747.  and                                     and       6.2.       See       also
  748.      MATH                                NEW_ABSTRACTIONS.                  
  749.          DIRECTED ACYCLIC GRAPH                                             
  750.              ABSTRACTIONS                8.4. Directory Listing:              
  751.  and                                     Directory   PD:<ADA.COMPONENTS>    
  752.      MATH                                 File Name    Byte Count Line Count
  753.          HASHING FUNCTIONS               ------------- ---------- ----------
  754.              ABSTRACTIONS                ABSTRACT.CMM        2263         57
  755.  and                                     ABSTRACT.CO         2657         51
  756.      MATH                                ABSTRACT.PRO        3334         74
  757.          ORDERED SET MANIPULATION        ABSTRACT.SRC      572620      17976
  758.              ABSTRACTIONS                ============= ========== ==========
  759.  and                                       4 Files         580874      18158
  760.      MATH                                                                   
  761.          SET MANIPULATION                -----------------------------------
  762.              ABSTRACTIONS                9. Utility to Write VAX/ANSI  Tapes
  763.                                          on Data General Released           
  764.  8.2. Author:                                                               
  765.      Bill Toscano, Michael Gordon        Release  of:  Write  VAX/ANSI  Tape
  766.      Intermetrics, Inc,                  from Data General                  
  767.      733 Concord Ave                                                        
  768.      Cambridge, MA 02138                 9.1. Taxonomy:                       
  769.      Contact: Lt. Colonel Falgiano           TOOLS                          
  770.      ESD/SCW                                     WRITE VAX/ANSI TAPE FROM DG
  771.      Hanscom AFB, MA  01731                                                 
  772.                                          9.2. Author:                         
  773.  8.3. Abstract:                            H. J. Clarke, A. F. Niessner, Jr.
  774.       ABSTRACTIONS contains a number       ARL/Penn State University        
  775.  of  low-level   support    routines       P.O. Box 30                      
  776.  which   are  used  by  NOSC   tools       State College, Pa.  16804        
  777.  created  by  Intermetrics.  Several                                        
  778.  routines are of general utility.        9.3. Abstract:                       
  779.                                               The  program,  Vax_Tape,  it's
  780.       Included  in ABSTRACTIONS  are     supporting   packages,   and    the
  781.  packages and routines for:              acompaning    CLI's,   provide    a
  782.          Binary Tree Manipulation        capability to write text files on a
  783.          Command Line Interfacing        Vax compatable, ANSI standard, tape
  784.            (host-dependent)              on  a  Data General  MV10000.   The
  785.          Dynamic Acyclic Graph           dynamic strings package, DYN, found
  786.          Dynamic Arrays                  in   the  Ada  Repository  in   the
  787.          File Management                 subdirectory, PD2:<ADA.COMPONENTS>,
  788.            (host-dependent)              and  named  DSTR3.SRC, is  used  by
  789.          Hashing                         this program.                      
  790.          Lexical Analysis                                                   
  791.  
  792.  
  793.                                               Release Notices, Page 13
  794.         Ada Software Repository Newsletter  Issue 102, December 1987
  795.  
  796.  
  797.  9.4. Directory Listing:                 10.4. Directory Listing:              
  798.  Directory   PD2:<ADA.TOOLS>             Directory   PD2:<ADA.COMPONENTS>   
  799.   File Name    Byte Count Line Count      File Name    Byte Count Line Count
  800.  ------------- ---------- ----------     ------------- ---------- ----------
  801.  VAXTAPE.DOC         7446        166     STRCOMP.DOC         7270        165
  802.  VAXTAPE.PRO         2816         68     STRCOMP.PRO         2656         67
  803.  VAXTAPE.SRC        25344        844     STRCOMP.SRC        45586       1072
  804.  ============= ========== ==========     ============= ========== ==========
  805.    3 Files          35606       1078       3 Files          55512       1304
  806.  
  807.  -----------------------------------
  808.  10.   String   Comparison   Package 
  809.  Released
  810.  
  811.  Release   of:   String   Comparison 
  812.  package
  813.  
  814.  10.1. Taxonomy:
  815.      COMPONENTS
  816.          STRING COMPARISON
  817.  
  818.  10.2. Author:
  819.      Erland Sommarskog
  820.      ENEA Data, Stockholm
  821.  
  822.  10.3. Abstract:
  823.  Article 219 of comp.sources.misc:
  824.  
  825.       This   posting   contains    a 
  826.  package for string-comparisons in a 
  827.  fairly   sophisticated  way   where 
  828.  regard to accents, non-letters  and 
  829.  case is only taken if necessary.
  830.       The  user  defines  how   each 
  831.  character should be sorted, whether 
  832.  if  it is a letter, and whether  it 
  833.  is a variant of another letter. See 
  834.  READ.ME [STRCOMP.DOC] for  complete 
  835.  description.
  836.       The purpose is not to  provide 
  837.  a   facility,  though,  rather   to 
  838.  demonstrate  the idea. The code  is 
  839.  in Ada.
  840.       Comments  and  questions   are 
  841.  welcome to:
  842.  
  843.          Erland Sommarskog
  844.          ENEA Data, Stockholm
  845.          sommar@enea
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  Release Notices, Page 14
  855.