Objections in UVM?

The raise_objections and drop_objections are used in the run_phase of the tests. It is not explicitly called in any other components(agent, sequencer, env). To my understanding, these functions are used to prevent the control from moving to the next phase.
What is the significance of this.

In reply to Arun_Rajha:
You can raise/drop objections in different components (run_phase) as well as objects like sequences (body task).
The recommendation is to use the objections in the test.
The objections are stopping the simulation when all objectios has been dropped. You do not have to take care for running your simulation for a specific time.

In reply to chr_sue:
Thanks chr_sue

In reply to Arun_Rajha:

You are required to explicitly raise an objection in the run_phase of at least one component; otherwise your simulation will end at time 0. We recommend doing that in the test component. But sometimes other components need to do the same like the scoreboard component because it might take some time for the DUT to propagate its results.