Algorithm visualization (AV) researches the displaying of the dynamic properties of software. The primary application areas are education and debugging. The many different AV systems cover a wide range of topic areas with different feature sets. Choosing an AV system for a given task is therefore difficult. Alas, most
AV systems cannot be adapted to specific needs by configuring or extending components.
This thesis presents a requirement-driven framework design with a default implementation for extensible and configurable AV systems. The framework consequently uses dynamic loading for component acquisition and hashing for administrating the components. New instances can be retrieved by cloning the stored prototypes. Extensions can also be added or removed at run-time. The representation of object state by properties instead of fixed attributes allows the introduction of new object properties at run-time. The handler concept introduced in this thesis strictly separates two parties and thus simplifies individual component extensions. The framework provides a package for on-the-fly translation of arbitrary Swing-based GUI components.
Finally, we present a reference implementation prototype of the framework and analyze it according to our requirements. Example extensions underscore the functionality of underlying framework. The prototype also offers advanced AV operations, such as the first implementation of general-purpose dynamic reverse
playing in AV systems.