In reply to kerulmodi:
If you are following the UVM User Manual you do not have to take care for register/unregister any object.
The key weakness I see in you code is you are using signals in a transaction level object (your sequencer). Furthermore you do not need any p_sequencer declaration.
Additionally it is unclear for me what are yxou doing with your process object.