A system, method and computer program product for processing multiple tasks using
a single copy of a data object employs command control vectors (CCVs) for representing
tasks. A CCV includes pointers to method objects that store instructions for processing
tasks and pointers to data objects that store temporary data generated by execution
of the method objects. A command response manager manages a queue of CCVs. A separate
CCV is generated for each session thread. Multiple CCVs can point to the same method
object so that only a single copy of a method object needs to be provided. In one
embodiment, CCVs are used in a telecommunication network emulator, where each CCV
points to a command response table method object that includes a variety of responses
for a variety of inputs. When a CCV points to a script invocation within a command
response table, the CCV includes a field for pointing to the invoked script, a
field for pointing to a particular offset within the script and a field for pointing
to a data object that stores data associated with execution of the script for the
CCV. The temporary data object and the virtual instructions of the script form
a virtual data object.