Work
in progress
Leonardo
is still work in progress: we are currently extending the system in several
directions. New features and extensions will eventually appear in future
versions of Leonardo, after an accurate testing that will ensure us not
to distribute unsafe software. Some relevant extensions are presented
below. If you have any suggestions, ideas for further improvements, or
you would like to see new features supported by Leonardo, please send
e-mail to leonardo@dis.uniroma1.it.
Leonardo
Web: a Java animation player |
We
are currently working on a Java animation player (Leonardo Web) designed
for viewing animations realized with Leonardo IDE. To support post-mortem
animation, Leonardo IDE 3.5 will be able to export smooth animations
as text files readable by Leonardo Web. |
Leonardo
IDE 4.0: a
multi-platform version of Leonardo |
We
have been asked many times about a multi-platform version of Leonardo.
This is a challenging task that has already started in the mid 1998
and will eventually give rise to a brand new version of Leonardo.
This new version, Leonardo IDE 4.0, will be mostly written in C and
will be available for both Mac and PC. New features of Leonardo IDE
4.0 will include a rock solid multi-threading time-sharing virtual
execution environment and a strongly modular design. Some modules
that will be part of Leonardo IDE 4.0 are available for download and
are presented below. |
Leonardo
RE 4.0a: a multiplatform runtime engine. We are currently
developing Leonardo IDE 4.0 in Leonardo IDE 3.4.1. An early prototype
of the virtual execution environment of Leonardo IDE 4.0 (Leonardo
RE 4.0a) is available for download below. The prototype features
console-level interaction and, if executed in Leonardo IDE 3.4.1
(yes, a virtual CPU running on a virtual CPU), provides visualization
of the process scheduling queue of the runtime engine. The package
comes with some multi-platform pre-compiled examples such as the
game of Checkers, and does not support reversible execution. Leonardo
RE 4.0a is available for MacOS, Windows, and Leonardo IDE 3.4.1.
The Readme
file included in the package provides some additional information.
|
|
|
|
Download
Leonardo RE 4.0a for Leonardo IDE 3.4.1 (sit.bin, 128 KB)
|
Download
Leonardo RE 4.0a for MacOS (sit.bin, 135 KB) |
Download
Leonardo RE 4.0a for Windows (zip, 88 KB) |
Important
notice: Leonardo RE 4.0a is a prototype distributed
for demonstration purposes. It is a sample program for testing the
runtime engine that will be part of Leonardo IDE 4.0. Leonardo RE
4.0a does NOT provide all the features of Leonardo IDE 3.4.1. |
C
Compiler RE 4.0a. A C compiler (C Compiler RE 4.0a) for
generating multi-platform executable files for Leonardo RE 4.0a
is available for download below. Currently, this C compiler is distributed
only for MacOS. The Readme
file included in the package provides some additional information.
Download
C Compiler RE 4.0a for MacOS (sit.bin, 460 KB)
|
|
Graphic
user interaction
|
|
|
|
In
the currently distributed version of Leonardo, graphical objects
in a visualization can be bound to variables in a program and the
visualization is automatically updated as soon as variables are
modified, but still no graphic user interaction with the program
and with the visualization is possible. We have thus experimented
with an enhanced version of Leonardo's visualization system that
allows it to declare widgets (e.g., checkboxes, radio buttons, etc.)
by means of new Alpha standard predicates. A checkbox, for instance,
can be associated to an integer variable, and the system guarantees
that the checkbox is selected if and only if the variable is non-zero.
These new features will appear in Leonardo IDE 4.x.
|
Smooth
animation
|
|
|
|
Supporting
smooth image transitions is a valuable feature in software visualization
systems, but it seems difficult to achieve in declarative frameworks,
as they are basically data (and not event) driven. We are currently
extending our framework in order to allow graphical objects to automatically
get animated each time they change with no explicit action by the
user, providing a powerful tool for creating smooth animation effects.
We have designed suitable ALPHA predicates for providing graphical
objects with animated behaviors, addressing both automation and
customization possibilities. Extensions of the visualization system
will be available in the next distributed version of Leonardo IDE
3.5. Three animations generated by Leonardo IDE 3.5 can be viewed
by clicking the images above.
|
|
|
|