The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
Dynamic Probe Class Library (DPCL) is an object-based C++ class library that provides the necessary infrastructure to allow tool developers and sophisticated tool users to build parallel and serial tools through technology called dynamic instrumentation. DPCL takes the basic components needed by tool developers and encapsulates them into C++ classes. Each of these classes provide the member functions necessary to interact and dynamically instrument a running application with software patches called probes. Dynamic instrumentation provides the flexibility for tools to insert probes into applications as the application is running and only where it is needed.
Open Watcom consists of the famous Watcom C++ and WATFOR compilers -- now open source. Open Watcom is mainly used for developing embedded, DOS, and ncurses software. Open Watcom includes the C/C++/Fortran IDE from Watcom for DOS and a full set of command-line tools for compilation, including the superb Watcom debugger. Open Watcom emits easy-to-understand errors and warnings when things go wrong. Open Watcom generates small statically linked binaries for Linux, Win32, Win16, OS/2, QNX, NetWare, and MS-DOS real and protected mode, among other targets. However, Open Watcom is still only beta-quality on Linux and BSD. The two most serious issues are imperfect C++ template support and an inability to dynamically link with shared libraries built by GCC. Also, Open Watcom is released under the Sybase Open Watcom Public License, which is considered non-free by most Debian Linux developers. NOTE: Open Watcom binaries for Linux are not available anywhere. You must build it yourself. 1.5 has known build issues on Linux; use version 1.4 or the current daily build instead.
The TIGL Geometry Library can be used for easy processing of geometric data stored inside CPACS data sets. TIGL offers query functions for the geometry structure. These functions can be used, for example, to detect how many segments are attached to a certain segment, which indices these segments have, or how many wings and fuselages the current airplane configuration contains. This functionality is necessary because TIGL targets not only the modeling of simple wings or fuselages but also the description of quite complicated structures with branches or flaps. The library uses the OpenCASCADE software to represent the airplane geometry by B-spline surfaces in order to compute surface points and also to export the geometry in the IGES/VTK format. The library provides external interfaces for C, C++, Python, Java, and FORTRAN.
DISLIN is a high-level, easy-to-use plotting library for displaying data as curves, bar graphs, pie charts, 3D-colour plots, surfaces, contours, and maps. Several output formats are supported, such as X11, VGA, PostScript, PDF, CGM, HPGL, TIFF, and PNG. Plotting extensions for the interpreting languages Perl, Python, and Java are also supported for most operating systems.
SEM2DPACK is a simulator of 2D elastic wave propagation and fracture dynamics that applies the Spectral Element Method (SEM, similar to mass-lumped high-order finite element methods). Flexibility and accuracy are the main goals. Although the emphasis is currently on computational seismology and earthquake source dynamics, this tool might attract a wider audience in computational mechanics, research, and engineering.
PVM (Parallel Virtual Machine) is a portable message-passing programming system, designed to link separate host machines to form a ``virtual machine'' which is a single, manageable computing resource. The virtual machine can be composed of hosts of varying types, in physically remote locations. PVM applications can be composed of any number of separate processes, or components, written in a mixture of C, C++ and Fortran. The system is portable to a wide variety of architectures, including workstations, multiprocessors, supercomputers and PCs.