The classes in the system form a complex hierarchy, exploiting multiple inheritance and polymorphism to provide a rich expanse of capabilities. The two methods of influencing an object's behaviour, through rules and constraints, offer dynamic methods of control whilst retaining the mechanism within the object's structure. The separate methods for geometry dependent and independent aspects lead to a more disciplined classification of an object's behaviour.
The use of object-oriented techniques, and in particular the implementation of these in C++, in animation systems leads to certain problems. In particular the use of a `class-instance' type language has some limitations as opposed to a `delegation' style. This has been overcome in REALISM by objects creating replacement instances, effecttively `delegating' themselves as different classes. Another problem, that of collision detection violating the encapsulation of the classes and creating heavy inter-object communications, has been solved by implementing a two-stage approach using a global table of bounding volumes as the first stage, and a direct peer-to-peer dialogue as the final stage.
The REALISM system therefore has the advantages of traditional properties of object-oriented systems but also overcomes some of the difficulties that arise in applying O-O techniques to an animation system.