boolean inputs_are_ready(ckt_time time): This is a helper member function that is used exclusively by the simulate() member function. When a component receives the simulate() message it must first determine if all its inputs are ready for its local time. The inputs_are_ready() method serves this purpose by sending the get_signal() method to all input ports in the input port list. If all the inputs are available at the specified time, this method returns TRUE and the simulate() method can continue; otherwise it returns FALSE.
ckt_time delay: The simulator engine uses the transport delay model when simulating circuits. The delay data member is used to represent this delay. Note that, like the process() function, it is only necessary for components at the lowest level of the hierarchy to define a delay time since the delay of higher level components is dependent upon the delay time of its subcomponents.
char *name: This member is used to store the name of the component. This is useful for identifying the component when debugging the simulator engine.
ckt_time local_time: Due to the distributed queue approach adopted by the simulator, it is possible for several components to be at different times during the simulation. This data member represents the location of the component along the temporal range of the simulation. Only the simulate() method needs to access this member, hence it is made private.