[comp.windows.x] Ada implementation of X11R3/Xt.

kurt@PRC.Unisys.COM (Kurt Wallnau) (03/16/90)

Greetings, 

I'm chief programmer of the Unisys STARS task which is developing an Ada
implementation of the MIT X Toolkit.

We've recently received a spate of requests for information on our Ada/Xt
project, such as the request below.  At this point in our project it
is probably fair to talk about what we've done, what we'll have, and
when it will be available.

>> From: Tucker Taft <taft@ajpo.sei.cmu.edu>
>> Teri Payton at Unisys (she is their chief STARS architect)
>> is directing the development of an implementation of Xlib and Xt
>> in Ada.  It looks pretty good.
>> Her E-mail address is payton@stars.reston.unisys.com.


> From valdi@kerfi.hi.is Wed Mar 14 04:41:36 1990
> To: payton@stars.reston.unisys.com
> Could you comment on the status of this project e.g.

> 1) Estimated date of project completion ?
> 2) Supported packages (librarys) e.g. Xlib, Xt, Motif etc. ?
> 3) Software will be public, shareware or sold ?
> 4) Cooperation with MIT ?

First, it might be useful to describe what we are (and aren't) doing 
with X in Ada in this "increment."

Our task is to develop an implementation of the MIT X Toolkit, in Ada.
Our basis is the X11R3 Xt.  An upgrade to the X11R4+ toolkit has been
discussed, but as yet there are no concrete plans.

Although an implementation, in Ada, of xlib would be very desirable, for
practical considerations we decided to "make do" with the Ada bindings to 
xlib done by SAIC under a STARS Foundations contract.  We've extended the
bindings to include some missing interfaces, and made some other minor
syntactic changes.  Within STARS we are currently grappling with the issue
of Ada/Xlib standardization - perhaps this, too, is a valid net discussion
topic.

Our approach to developing an Ada/Xt implementation has been constrained
by two (sometimes competing) objectives:

1) To develop an implementation which is manifestly equivalent, functionally,
   with the MIT X Toolkit.  In practice, this means providing all of the
   features of C/Xt in such a way that there is a clear, intuitive mapping 
   from Ada/Xt to C/Xt.
   
2) Make appropriate use of Ada language features to develop a portable,
   compiler-independent toolkit, and to provide a programming interface
   which is representative of good Ada style.

Ok, the above two points sound like "motherhood."  The important point is
to note that 1 and 2 sometimes appear to be in conflict.  We've already
written a fairly extensive design report on the subject of our Ada/Xt
work, and so I am hesitant to repeat gory details here, which in any event 
may not be of general interest.  I will state, however, that I think we
have developed a very good mechanism for widget subclassing, and a 
reasonably good "simulation" of procedure types as abstract data types.

I can certainly discuss these points in more detail if there is interest.
The most important conclusion is that judicious use of Ada LRM chapter 13 
features and information hiding can provide very reasonable solutions to
problems imposed by the "C" bias of the Xt model.

And now, the specifics of the query:

>Could you comment on the status of this project e.g.

>1) Estimated date of project completion ?

We are scheduled to deliver code on April 12, May 12, and June 12.  The
April release is intended to demonstrate intrinsics functionality on a
(very!) small set of sample widgets.  The May release is intended to provide
a more fully fleshed-out widget set, in particular as driven by another
STARS project which is developing a graphical browser of ERA-style 
information models.  The final release will be what we will consider a
suitable basis for inter-STARS standardization.  I am hopeful that
industry at large will consider our work a reasonable basis for beginning
standardization.

>2) Supported packages (librarys) e.g. Xlib, Xt, Motif etc. ?

We will be providing Xlib bindings, the X11R3 intrinsics (specs and bodies),
pre-defined widget classes (public/private specs, bodies), and a sample
widget set.  The exact widgets to be developed have not been fixed, but
will be derived from the Athena, HP, and Sony widgets which appear on
the R3 release tape.

We will not be supporting Motif - this would require extensions to the
intrinsics and some uncertain licensing issues.  Of course, it may be that
R4+ will converge at the intrinsics level with OSF...

>3) Software will be public, shareware or sold ?

Beats me.  I think it is publically available but there may be
export controls.   You should contact Teri Payton, the Unisys STARS Systems
Architect, for details (payton@stars.reston.unisys.com).

>4) Cooperation with MIT ?

We presented our plans to the consortium last April.  We noted a lukewarm
but polite response to the idea of developing an Ada/Xt implementation.
Our ultimate goal is to have the consortium distribute (if not maintain!)
our implementation.  We shall see.

>
>| Thorvaldur Egill Sigurdsson    | Internet: valdi@kerfi.hi.is         |
>| Engineering Research Institute |                                     |
>| University of ICELAND          | Phone: 354-1-694699                 |
>| Hjardarhagi 2-6                |                                     |
>| 107 Reykjavik, ICELAND         |                                     |
>------------------------------------------------------------------------


Kurt Wallnau
Unisys, VFO
70 E. Swedesford Rd.
Paoli, Pa. 19301
(215) 648 2713
kurt@prc.unisys.com