CAMIL

Software

Software systems and Libraries

The Leonardo Computing Environment. The Leonardo Computing Environment (LCE) project aims to integrate different software visualization and program development techniques in a unified framework. Main goals of the LCE project include design and implementation of:

The Leonardo Virtual Machine (LVM) A general-purpose multi-programmed runtime environment for program analysis, visualization, and debugging.
The Leonardo Library (LL) A cross-platform, open-source C toolkit for program development. It lets developers target different operating systems with a single application source code, providing a comprehensive collection of C "components" with a clean and modular interface. A LL component is a coherent collection of functions, types, and constants that support a specific functionality. The library is light, well-documented, easy to learn, and covers a large number of functionalities, including graphic user interface, thread, I/O and memory management. Differently from other programming toolkits, the LL also includes components with fundamental algorithms and data structures for solving efficiently a variety of computing problems (see, e.g., here). Graphic user interface components defined by the library preserve the look & feel of the target platform.
The Leonardo Tools A suite of applications for supporting different phases of program development, including editing, compiling, debugging, visualizing, and checking. These tools, entirely based on the LL library, will ship as Leonardo Virtual Machine applications, and some of them as native applications for different operating systems.

Leonardo IDE, a C programming environment for reversible execution and software visualization. Leonardo is an integrated environment for developing, executing, and visualizing C programs. It provides two major improvements over a traditional IDE. First, it provides a mechanism for visualizing computations graphically as they happen by attaching in a declarative style graphical representations to key variables in a program. As a second main feature, Leonardo includes the first run-time environment that supports fully reversible execution of C programs. The system is distributed with a collection of animations of more than 60 algorithms and data structures including approximation, combinatorial optimization, computational geometry, on-line and dynamic algorithms. Leonardo has been widely distributed on CD-ROM in computer magazines and is available for download in several software archives over the Web. It has received several technical reviews and more than 18,000 downloads over the last two years. Web page: http://www.dis.uniroma1.it/~demetres/Leonardo/

Experimental platforms
Fully Dynamic All-Pairs Shortest Paths. Experimental C platform for testing Fully Dynamic All-Pairs Shortest Paths algorithms on directed graphs. Full package available at: http://www.dis.uniroma1.it/~demetres/experim/dsp/

Two-Layer Crossing Problem. Experimental C platform for testing approximation algorithms for the Two-Layer Crossing Problem. Web page and full package available at: http://www.dsi.uniroma1.it/~finocchi/experim/cplib-2.0/

Fully Dynamic Single-source Shortest Paths. Experimental C++ (Leda) platform for testing Fully Dynamic Single-source Shortest Paths algorithms on directed graphs with negative and non-negative edge weights. Full package available at: ftp://www.dis.uniroma1.it/pub/demetres/experim/dsplib-1.0/

[an error occurred while processing this directive]