In reply to verified:
In the UVM we are differentiating between transient and non-transient objects. Transient objects are all objects used to construct the UVM environment (testbench). They are created at runtime 0 and stay unchanged during the whole simulation. Each component has certain relationship to each other (parent/child relationship). With the second argument in the constructor we are taking care for this.
Transient objects have a limited life-time they are used as seq_items or sequences. These objects do not have a specil parent/chid realtionship. For this reason they hav in the constructor only 1 argument.