Patent ID: 8090563

Claim:
A method for simulating a communications network which includes a plurality of physical network devices performing a plurality of network functions, the method comprising; providing for each of the plurality of physical network devices a corresponding module or device of a plurality of modules or devices, the corresponding module or device simulating a behavior of the respective physical network device including simulating a communication of the respective physical network device with other physical network devices, wherein at least one physical network device of the plurality of physical network devices is simulated by a first implementation of a first module or device of the plurality of modules or devices, wherein the first module or device has a plurality of different implementations, the plurality of different implementations performing a same network function of the at least one physical network device, and each of the plurality of different implementations using a corresponding communication mechanism for communicating with other modules or devices of the plurality of modules or devices, the corresponding communication mechanism being defined by a number and types of communication functionalities utilized by the corresponding implementation and being different from communication mechanisms used by other implementations; and providing, for the first module or device, an interfacing object through which the first module or device communicates with other modules or devices of the plurality of modules or devices, said interfacing object having an external side and an internal side with respect to the first module or device, said external side using a single communication mechanism for communicating with other modules and devices, the single communication mechanism being independent of the first implementation and the single communication mechanism being used by each of the plurality of modules or devices for communicating with other modules and devices, and said internal side being configured to communicate with each of the plurality of different implementations of the first module or device through the corresponding communication mechanism.