The reference algorithm animation model is based on a model-view-animator software structure. The model in the software structure consists of data structures directly used by the algorithm (such as graph data structure) and helper structures (such as priority queue). The view is a scripting library used to convert the models data structure into visual data structure and render the resulting visual data structure to the users display. Whenever a data structure is changed throughout an algorithm, the visual structure must be changed accordingly. The animator is used with algorithm execution module to configure the animation sequence to highlight the important steps performed by the algorithm execution. The reference algorithm animation model is meant to be used as a reference model, whereas the detail implementation is left to the algorithm animation designer. For example, in the implementation of our graph algorithm animation, we use co-routines to implement algorithm execution with animator control inserted in the execution code position where our animation designer wants to change the visual state to direct the progression of the animation. More detail of the implementation of our graph algorithm animation will be provided in next section.