An Animation Framework for Java
SceneBeans is a Java framework for building and controlling animated
graphics. It removes the drudgery of programming animated graphics,
allowing programmers to concentrate on what is being animated,
rather than on how that animation is played back to the user.
SceneBeans is based upon
Java Beans and
Its component-based architecture allows application developers to easily
extend the framework with domain-specific visual and behavioural components.
It is used in the LTSA
tool to animate formal models of concurrent systems and has also been
used to build computer-based education programs for junior science.
- Structured Graphics
- The graphics drawn by SceneBeans are defined by a
"scene graph", a directed, acyclic graph of
Each bean encapsulates a simple drawing command and are combined to
describe complex scenes.
The SceneBeans framework includes components to display scene graphs.
Programmers can concentrate on building scene graphs to render the
required display, rather than writing code to paint the display in
response to expose events.
- A program animates a scene graph by modifying properties of the
beans in the graph before drawing each frame. The SceneBeans framework
provides support for scheduling animation behaviours. The programmer
merely has to select the behaviour components they require and wire
them into the scene graph.
- XML File Format
- SceneBeans uses an XML-based
file format to define animations.
This allows non-programmers to build animations without programming
a single line of Java and and also is convenient for programmers
because they can avoid the frustrating edit/compile/debug cycle
when fine-tuning animation parameters.
- The SceneBeans framework is designed to allow applications to
communicate with and control animations so that animations can
communicate application-specific information to the user, rather
than being mere "eye candy".
- The XML parser provides methods to register additional packages of
application-specific beans. The
processing instruction allows individual animations to register
additional packages of beans stored in separate JAR files.
The following documentation is available about SceneBeans:
You can also download the following papers:
- SceneBeans: A Component-Based Animation Framework for Java
- Giving a high level overview of the SceneBeans framework,
this paper simplifies some of the implementation details in favour of
emphasising the motivation for the framework and how it meets those
- Graphical Animation of Behaviour Models
- Graphical animation is a way of visualising the behaviour of design
models that is of use in validating the model against informally
specified requirements and in interpreting the meaning and significance
of analysis results in relation to the problem domain.
This paper describes how behaviour models specified by
Labelled Transition Systems can drive graphical animations
defined by SceneBeans. The semantic framework for the approach
is based on Timed Automata.
The latest version of SceneBeans and related software are available
from the SceneBeans download page.
Comments and Bug Reports
Send comments and bug reports to
SceneBeans was designed and implemented by
with contributions from
The SceneBeans distribution includes the redistributable binary components
of Sun's Project-X XML parser.
SceneBeans uses Konstantin Metlov's
to evaluate expressions. JEL is distributed
under the GPL,
and source code is available from the
JEL web site.