In reply to chris_le:
Thank you for your comment.
Regarding 1-d, there is no structural difference from 1-a. The point of 1-d is that its env has a handle(s) to a sequencer(s). Thanks to this, the test doesn’t need to look into the structure below env. UVM has basic concept that test and test bench structure should be clearly separated to make reuse possible. So, it is not good that test needs to know layer structure below env. For example, test class has to be updated whenever there is any structural changes in env like VIP change, another env insertion in the env, agent instance name change, etc. That’s the reason why I would rather suggest 1-d than 1-a (and 1-b).
To be hones, I don’t get why Mentor is introducing direct sequencer referencing by test in Cookbook of Verification Academy.
By the way, here is another discussion regarding virtual sequence/sequencer use. [advantages of virtual sequences versus tasks](https://verificationacademy.com/forums/uvm/advantages-virtual-sequences-versus-tasks) Please refer to this as well and leave your comments.