In reply to sunitha80:
Dave, I would think a much simpler way of achieving the same result would be to remove the abstract class and the class inside the interface and just get a handle to the interface. Once you have a handle to the interface you can do all sorts of operations using the VIF.signal. You can even have the interface self register itself by instantiating the interface in a module, binding the module and having an initial block inside the module to do the registration of the interface. The draw back to your method is every signal you want to probe has to have some type of wrapper function/task.