Jeliot Program Animation System
Version 3.6.1
Niko Myller, Andrés Moreno García, Moti Ben-Ari, Erkki Sutinen
1 Introduction
Jeliot is a program animation system intended for teaching introductory
programming. Programs are animated automatically, requiring no modifications or
annotations on the part of the instructor or student. Jeliot is written in Java
for portability and animates programs that are written in Java.
2 Display
The screen is divided into a source frame on the left and a tabbed pane on the
right. The default for the right pane is the animation frame called the
Theater. Call Tree shows a tree of the current methods that have been called;
it is useful for studying recursive programs. History enables display of the
snapshots of the previous animation; use the arrow buttons and sliders to go
backwards or forwards in the sequence of frames. Note that the generation of
the history images takes some time and might slow down the visualization.
3 User interface
Commands may be issued from the menus or from two sets of buttons: one at the
top of the screen for file and edit operations, and one at the bottom for
animation control. All commands have mnemonics and shortcuts for quicker
keyboard control. The following commands are standard in an graphical user
interface:
File menu: New, Open, Save, Save As, Print, Exit.
Edit menu: Undo, Redo, Cut, Copy, Paste, Select All, Find, Replace.
Help menu: Help, About.
4 Editing and compiling
Jeliot can be in one of two modes: editing and animating. The Control menu (and
the toolbar buttons at the bottom of the screen) change modes: In edit mode,
Compile compiles the source file that has been opened and changes into
animation mode. In animation mode, Edit returns to edit mode to enable
modifying the source or opening a new source file.
5 Animation control
The animation is controlled by buttons at the bottom of the screen. Select Step
for step-by-step animation. Select Play for continuous animation; you may stop
it at any time by selecting Pause and resume the animation by selecting Play
or Step again. Rewind restarts the animation from the beginning. The slider controls
the speed of the animation.
The Animation menu includes selections: Run Until to interpret the program
without animation until a line is reached, and Print current visualization to
print a screen shot of the current display.
6 Options
Save Files In Unicode: If you experience problems with native characters
either when saving and loading files or during visualization, set this option on.
Save On Compilation: Save the source file automatically before compilation.
Ask For Method: When the animation starts, you will be asked for a method name
to call instead of the main method.
Ask For Command Line Parameters: When the animation starts, you will be asked
for parameters for the method called.
Use Null Parameter To Call Main: If checked, the main method will be called
with a null parameter; this avoids animating the creation of an empty array.
Ask Questions During Animation: Whenever an expression is to be evaluated, a
popup window will ask for the result. However, currently questions are generated only for assignment statements.
Pause On Message: Automatically pauses the animation to display messages
explaining its progress.
Show History View: Enables or disables the generation of the history view that
shows snapshots of the previous animation in the theater. Note that the generation of
the history images takes some time and might slow down the visualization. If the animation
is too slow disable this option.
Select Font Of Code: Select the font for the code editor.
7 I/O
Jeliot supports System.out.print(ln). The package jeliot.io provides the
methods void Output.println(), int Input.readInt(), double Input.readDouble(),
char Input.readChar(), String Input.readString().
8 Limitations
All classes must be in a single source file.
Only static methods that do not return an object can be called from Java API.
Constructors cannot ask for users input.
Inner classes are not supported.
Because of the underlying interpreter no circular dependencies between classes can be resolved and thus they are not supported.
9 References
Mordechai Ben-Ari, Niko Myller, Erkki Sutinen, and Jorma Tarhio. Perspectives
on program animation with Jeliot. In Software Visualization: International
Seminar, Lecture Notes in Computer Science 2269, 31-45, Dagstuhl Castle,
Germany, 2002.
Ronit Ben-Bassat Levy, Mordechai Ben-Ari, and Pekka A. Uronen. The Jeliot 2000
program animation system. Computers & Education, 40(1), 1-15, 2003.
Andrés Moreno, Niko Myller, Erkki Sutinen, and Moti Ben-Ari. Visualizing Programs with Jeliot 3. Proceedings of the International Working Conference on Advanced Visual Interfaces (AVI 2004), 373-376, Gallipoli, Lecce, Italy, 2004.
File translated from
TEX
by
TTH,
version 3.74.
On 24 Jul 2006, 13:27.