comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@linus.mitre.org (Robert I. Eachus)
Subject: Re: Ada PDLs
Date: 30 Jul 90 17:57:40 GMT	[thread overview]
Message-ID: <EACHUS.90Jul30135740@aries.linus.mitre.org> (raw)
In-Reply-To: ssdken@watson.Claremont.EDU's message of 26 Jul 90 21:43:39 GMT


     A long time ago (1984) the there was a big fight over whether Ada
PDL's should be compilable.  By the end of the year the battle was
over, as the last advocates of Ada PDL's which were not compilable Ada
were won over.  I think that ACM SIGAda even passed a resolution that
the proper PDL for Ada is syntactically correct compilable Ada.

     The IEEE went ahead and approved IEEE 990 (1987) as a Recommended
Practice, after a similar phrase was added.

     There are several tools which allow you to add standardized
comments to source programs, but in general it is easier to express
detailed designs in Ada than to actually implement some of them.
My personal preference is to have a couple of packages which I use
during design, only two of which are mentioned in the final product:

     with Documentation; use Documentation;
     with Assertions; use Assertions;
     with To_Be_Done; use To_Be_Done;
     with Undefined;

     The advantage of this approach is that the body of Assertions and
Documentation can be much different during development, so that
compiling and running a development version delivers various useful
statistics.  One of my favorite tricks is to make each programmer a
record type, and have the elaboration of an object of that type have
the side effect of incrementing a counter...

     The disadvantage of this approach to design documentation is that
you don't get those statistics until and unless you have a compilable
design.  (I prefer to start with a compilable design and to keep it
that way.)  The big advantage is that, assuming you frequently compile
your design, the design documentation always agrees with the actual
product.

     One class of changes I would like to get into Ada 9X is
better support for design attributes. (foo'LAST_MODIFIED, bar'VERSION,
foo_bar'AUTHOR should be required attributes).




--

					Robert I. Eachus

with STANDARD_DISCLAIMER;
use  STANDARD_DISCLAIMER;
function MESSAGE (TEXT: in CLEVER_IDEAS) return BETTER_IDEAS is...

  reply	other threads:[~1990-07-30 17:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1990-07-26 20:51 Ada PDLs Anthony E. Sterrett
1990-07-26 21:43 ` Ken Nelson
1990-07-30 17:57   ` Robert I. Eachus [this message]
  -- strict thread matches above, loose matches on Subject: below --
1988-03-17 18:53 Charlie Martin
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox