[comp.lang.ada] Summary of Diana Status

warack@engin.umich.edu (Christopher Warack) (04/08/91)

Here's the summary of what I learned about Diana.  I got several request to
post this. I'm still interested in a pointer to the latest Diana
definition.  jls mentioned a Tartan document about 5 years old.  Anyone
know an exact reference and how to get it?  The version I have is somewhat
older (~'83).  Does someone at the AJPO know?

Thanks again to everyone that responded.
- Chris

SUMMARY FOLLOWS:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
From: jls@rational.Rational.COM

The standard we use is the one from Tartan. I think it is about 5 years
old.
 
Original-msg: 
________________________________

Thanks for the response.  This is pretty much what I thought...

In article <jls.669955907@rutabaga> you write:
>>What is the latest version?
>>Where can you get the documentation for that version?
>
>Hard to say. I believe the draft standard was never formally adopted
>by a standards body, and has sort of sat around for several years.
>We adhered quite closely to the standard, but there are areas where
>we diverged: so much for the dream of a common APSE core, huh?

me>Do you guys have a definition available that I could get my hands on?
me>By the 'draft standard' do you mean the '83 version that showed up in 
me>Lecture Notes for Comp Sci #161 or something else?

>>Is anybody using it for tools other than compilers?
>
>We use it for code analysis tools, PDL, hyper-code traversal, and
>a number of other things.

>>Has anyone added object code attributes or somehow represented optimizations?
>
>We decorate the tree with code segments and other compiler information
>not specified in the original standard.

From carlisle@eng.auburn.edu Fri Mar 29 16:21:50 1991

We're using it here at Auburn - via a VERDIX/ADA
tool to get at the net (which apparently they
use in their compiler). I would be interested
in finding out what you find out about others who
are using it.  Thanks.

From: ryer@inmet.inmet.com

Intermetrics compilers use DIANA.  Our DIANA has some locally defined
extensions and representation tricks.

The interface is open.  We have provided it to other developers.

Currently, General Research Corp's "Ada Test and Verification System (ATVS)"
is the only commercially available product from another company that is based 
on our DIANA.  GRC has also developed an "Expert Avionics Code Modification"
system that uses our DIANA as a database.

Intermetrics uses DIANA as the IL for code generation, for our AdaView
symbolic debugger, and our Byron PDL tool.

Mike Ryer

From: ryer@inmet.inmet.com (Mike Ryer)

DIANA is not an easy thing to send -- we represent it as a disk-resident
structure with associated paging/long-pointer machinery.  It is defined
in IDL (which we have also extended), and the dereference/paging routines
are automatically generated (except the assembly language part).  The
Ada specification part that gets plugged into the rest of the compiler
is a single Ada package containing one variant record declaration about
10,000 lines long.

The interface is open, but it is not at all simple -- it usually takes
a bit of training time on our part to get a new DIANA user up to speed.

Code generation is just "maximal munch" (Cattell/CMU, about 1976), with
no special smarts in the DIANA -- in fact we generate a lower-lever
(level) IL from DIANA before generating machine code.

--
Christopher A. Warack                   warack@eecs.umich.edu
Graduate Dept, EECS			(313) 665-4789
University of Michigan

ae@sei.cmu.edu (Arthur Evans) (04/09/91)

Here's the word on the DIANA "standard", as I understand it.

Tartan had a contract in about 1982-83 to maintain DIANA; I was the PI.
The final report on the contract was subsequently published by
Springer-Verlag in their "Lecture Notes in Computer Science" series as
#161, with the title
    DIANA: An Intermediate Language for Ada, Revised Version
    ISBN 0-540-12695-3

Some time later, Intermetrics was under contract to maintain DIANA and
perform further upgrades.  They wrote a final report and submitted it to
the government.  As far as I have ever been able to determine, the
government has never released that report.  The Intermetrics person who
ran that effort was
    Carl Schaeffer    301-657-3775
That's an old number -- I have no idea whether or not it is still
current.

There is no real standard.  The closest thing generally available is the
Springer-Verlag book.  It seems likely that Intermetrics made
improvements, but that's hard to know.

Art Evans
Ada Consultant

stt@inmet.inmet.com (04/12/91)

Re: The DIANA standard.

Intermetrics did produce a Revision 4.0 of DIANA,
but it was never used for anything I know of.  As far as changes
between 3.0 and 4.0, we separated out the source-reconstruction
stuff so that it could conveniently be omitted when perfect
source-reconstruction was not of interest, and we made sure
that the node-class structure was a pure hierarchy, rather
than the multi-inheritance graph structure in the earlier Diana.
This allows it to map more directly to an Ada variant record
or to a single-inheritance OOP type.

The Report is called "DIANA REFERENCE MANUAL"
Draft Revision 4, internally numbered IR-MD-078.  It was prepared for
the Naval Research Laboratory under contract N00014-84-C-2445.
You may be able to get copies from our Bethesda office for
a reproduction/shipping fee.  I don't know if you can get copies
from NRL.  At the time, Rudy Krutar was the person at NRL responsible
for the DIANA maintenance contract.

Here is our Bethesda address:

    Intermetrics, Inc.
    4733 Bethesda Avenue
    Bethesda, MD  20814

-Tucker Taft
Intermetrics, Inc.
Cambridge, MA  02138