Tools and components
The mapping is direct in the sense that there is mostly a 1-1 mapping between:
This is a binding of Ada to the C-Libraries of the X Window system and the Motif(tm) widget set. Nearly all of the Motif(tm) routines are included, with a steadily growing number of Intrinsics and basic Xlib functions. For a future version 1.0, it is planned to incorporate most of the calls to the Intrinsics and Xlib. This will take its time, of course.
This is a "medium" binding: On the one hand the names of the routines were nearly left untouched (just some "_"s added), on the other hand it was tried to only use Ada types in the specification part of the packages (i.e. no Ada.Interface.* type) wherever possible.
The binding was completely hand-written, therefore needed a huge amount of the authors spare time (his main task is not computing, but analysing fluid flows in turbines), but it seems now complete and stable enough to be widely used and experimented with.
The binding was tested using the GNAT-3.09-Compiler to run the examples on:
Earlier versions of GNAT might or might not work. The binding should be usable with every Ada 95 compiler, but the Makefiles are for GNAT! Motif Versions 1.2* and 2.0 and X11 releases 5 and 6 are supported.
XV Ada Library is an object-oriented library that implements parts of the XView library for C. Implemented objects are; Frame, Frame_Cmd, Panel, Panel_Button, Panel_Text, Panel_Numeric, Panel_Choice, Panel_Toggle, Panel_List, Panel_Checkbox, Panel_Message, Panel_Slider, Panel_Gauge, Menu, Menu_Item, Font, Icon, Server_Image and Panel_Notice, Text_Subwindow, Tty_Subwindow.
The library is what many call a thick binding to the C version of the XView library. In the archive there are five demonstration programs to show what the library can do. Included in the archive is also the 130+ pages manual in Postscript format.
The library is written using Gnat 3.01 and Solaris 2.4 for x86. The library also compiles under SPARC with Solaris 2.4 using Gnat 3.01. It should also compile under Linux 1.3.x with Gnat 3.01.
For a copy of the current draft of IEEE Std 1295, contact the IEEE at (800) 678-IEEE, and ask for Order Number DS03277. (The cost is $61 + shipping for an IEEE member, and somewhat more for non-members.) For technical information, contact David Emery (email@example.com) at (617) 271-2815.
The GNU distribution contains the Xlib, Xau, Xdmcp, Xext, Xt, Xaw, and Xmu portions of the SERC AdaMotif product. Full Ada source code is provided to these libraries. Example Ada programs for each library are also provided.
The bindings to the Motif libraries are not included in this distribution. The Motif layer bindings of AdaMotif can be acquired from SERC.
Graphical embedding includes both presentation, which involves the spatial composition of user interface objects, and editing, which involves logical composition of objects.
Fresco supports full multi-threading. This means that Fresco functions properly in the presence of concurrent tasks sharing memory within an application, where more than one task is performing user interface operations at the same time. In addition, the event loop, screen redraw, and application operations can run in three separate threads by default.
C++ developers (and now Ada 95 developers) are getting this new graphics toolkit called Fresco. Fresco is being developed by SGI and Fujitsu for the X Consortium. A C++ sample implementation is available in the X11R6 distribution. However, Fresco is not limited to the X Windowing system. Fresco versions are planned for Windows NT and Chicago.
The CORBA interface (see below) will allow Ada 95 Fresco applications to interoperate transparently with Fresco/C++ applications. Developers with both OIS's Fresco and CORBA products can build graphical widgets and systems in Ada 95 that are usable from non-Ada language code.
Ada 95 now has a highly advanced, truly portable graphics toolkit. This graphics toolkit is based on the next generation X standard, not a proprietary technology.
Windows NT and Windows 4.0 versions are planned in addition to the VMS and Unix X Windows versions.
SGI has a variety of papers and presentations on Fresco.
Another Ada CGI package.
CIFO has been produced by the Ada Runtime Environment Working Group/SIGAda. It will be upgraded to take new Ada 95 mechanisms into account.
Using IDL has several advantages over the alternatives:
Thus, IDL provides the interface definitions for transparent, interlingual communication. In addition to the obvious benefits of facilitating application distribution, using IDL for interface definition frees each system implementor to use the language of their choice by removing the concerns for interfacing with other languages.
Each part of the application communicates through an Object Request Broker (ORB). There are many vendors marketing ORB products. Currently, an application built (in C or C++) with one product is not easily ported to another vendor's product.
Thus, you design the interface with IDL, run the translator to generate the framework, and then fill in the templated implementation body programs.
The OIS Ada 95 packages include automatic memory management facilities. This alleviates the need to assign responsibility for destroying each object to a particular segment of your program. Performance is improved by removing the need to constantly create copies of data.
The current version of the translator product allows you to build standalone Ada 95 applications in the CORBA style. This means that you can write code that uses the interface as a client and also write code that implements the server.
The resulting code is good, object-oriented Ada 95 code and presents an elegant style of coding even for standalone systems. In addition, low overhead, local calls are used to communicate with the server code. The resulting application is as fast as any standalone system developed without CORBA in mind.
Applications built with the current translator will not require changes to use the subsequent add-on modules that will support a particular ORB vendor's product. Certain generated, hidden child packages are regenerated from the IDL that will connect to the ORB vendor's communication subsystem.
The sources of the POSIX Ada Run-Time System Librarys (PART) are available to the public for non-commercial use (see copyright).
Related publications --e.g. draft 2.4 of the POSIX/Ada 1003.5b specification (compressed Postscript file, 500K)-- as well as an implementation of POSIX threads are also available on this site.
Paradise is intended to be system- and compiler-independent; so far, it works on three environments:
It is known not to work well on SunOS/Alsys, because of problems on signal handlers. For those who would like to port Paradise to other environments, portability information is displayed in the source code.
To install Paradise, you need:
NOTE: there are no Ada sources in the distribution; the source code must be first processed by m4 to become Ada code.
You must have the Motif object code libraries to use this software. The bindings were developed using Motif version 1.0.1 and have not been tested under 1.1.
This software was developed by Boeing Commercial Airplanes and is being distributed to the public through the STARS project.
SAMeDL was developed by the SQL Ada Module Extensions Design Committee, led by Dr. Marc Graham of the Software Engineering Institute (SEI) at Carnegie Mellon University. SAMeDL is currently undergoing International Standards Organization (ISO) standardization. Because SAMeDL is defined in terms of existing industry standards, it promotes functional compliance with the entry-level Ada SQL module language interface defined in SQL2: ISO/IEC 9075:1992, Database Language SQL; and the Ada standard, ISO 8652:1987.
Two companies have developed SAMeDL tools: Competence Center Informatik GmbH and Intermetrics Inc.
Competence Center Informatik GmbH sells a SAMeDL compiler for the platforms IBM/RS6000/AIX, Sun SPARC/SunOS 4 and Sun SPARC/SunOS 5 for Oracle rdbms. Point of Contact:
Competence Center Informatik GmbH Attn.: Andreas Koeller Lohberg 10 49716 Meppen Germany voice: +49 5931-805-464 fax: +49 5931-805-100 email: firstname.lastname@example.org
Intermetrics has developed SAMeDL tools for a variety of platforms. For more information on Intermetrics' SAMeDL, please contact:
Jennifer Carle Intermetrics, Inc. 7918 Jones Branch Dr., Ste. 710 McLean, VA 22102 USA voice: +1 703-827-2606 fax: +1 703-827-5560 email: email@example.com
Notes: For do-it-yourself bindings, there are tools that automatically either convert C code into Ada or bind C code from Ada. For details, see the non-commercial tools section (cf. C2ada and cbind). There is an Ada Bindings Working Group (ABWG) which is part of SIGAda. ABWG is interested in pursuing Ada bindings to "standards." Their mission is: "To identify and disseminate issues and recommendations for the creation of Ada bindings to software systems." The ARA (Ada Resource Association) announced in May 1996 that it will actively pursue the creation of common bindings used by all compiler vendors; this will promote portability without having to wait for officially standardized and blessed Ada bindings.
There are some lists of available Ada bindings (mirror). This is the result of a collaborative effort between the Ada Information Clearinghouse (AdaIC), the Asset Source for Software Engineering Technology (ASSET), and the Association for Computing Machinery's Special Interest Group on Ada (ACM SIGAda).
ASSET, one of many government-subsidized activities trying to be software repositories, exports a catalog of its collection of assets in the domain of Ada Standards and Bindings.
Page last modified: 1998-02-10