[comp.lang.ada] Question on APSE

srwhmdr@windy.dsir.govt.nz (Malcolm Robbins) (09/26/88)

I notice that some Ada books (particularly Grady Booch's) talk about 
the Ada Programming Support Environment (APSE).

My question is are their any APSE's out there either in development or
production? How good are they?

+-----------------------------------------------------------------------------+
| Malcolm Robbins,                                                            |
| Department of Scientific and Industrial Research                            |
| New Zealand.                                                                |
|                                                                             |
| Internet: srwhmdr@wnv.dsir.govt.nz			      		      |
| Pacnet:   PSI%(05301)4600000060::SRWHMDR				      |
+-----------------------------------------------------------------------------+

ryer@inmet.UUCP (09/29/88)

RE: Are there any APSES out there

This is a matter of definition.  In one sense, if you can do Ada programming
with some collection of software and hardware, the collection is an
Ada Programming Support Environment by definition.

I think that there are five things that make a real APSE:
1. A common user interface across all tools and functions
2. A common database used by all tools
3. A portability kernel used by all of the tools
4. A consistency of style and philosophy across the entire system
5. A critical mass of tools

There are several systems out there that tie a collection of tools together
with a common user interface, some of which are quite sexy.

Some systems use a common database in that all tools use the underlying
OS's file system.  It is more APSEy if there is some level of abstraction
here.  A *REAL* APSE would not deal strictly in bulk files:  Such things as
the declarations of Ada variables or the units contained in a particular
executable should be accessible to other tools without having to read in
a whole executable or reprocess the source files.  A few Ada systems
have this property, in some cases using a semi-standard, DIANA, as one
of the key representations.

There aren't many sucessful portability kernels out there, unless you
count Unix.  There are at least two systems based on CAIS, and there
seem to be some based on PCTE (in Europe).  One of the most complete
environments is the Rational environment, which is quite tied to their
own hardware.

Regarding consistency, I am not aware of any systems that are really
smooth.  Even within the toolsets supplied by a single vendor, this
kind of thing seems to receive little attention.

A "critical mass" of tools is in the eyes of the beholder.  You need
a compiler and some kind of editor, a linker, and some way to load
and execute programs.  Do you need a syntax-directed editor?  Most of
the compiler vendors now offer debuggers and library managers as well.

My opinion is that there are no real APSEs yet, though there are some
partials.  When you go to buy one, it may be best to specify exactly
what you mean by an APSE.  Any compiler vendor will be willing to call
his compiler/debugger/library manager an APSE if that makes the sale.

Is there a market for a real APSE?  Do people prefer to build their
own (out of existing/left over tools) to accomodate their own 
organization's view of what is important?  Will anyone pay more for
a full APSE than just a compiler?  

Meanwhile, the compiler vendor I work for is gradually going in that
direction.  If you'd like some blatant advertising, contact me outside
this forum.

Mike Ryer
Director of Marketing
Ada and Support Software
Intermetrics, Inc
(617) 661-1840/ryer@inmet.inmet.com