Virtual sequence/virtual sequencer

I’m a little confused about virtual sequence and virtual sequencer.
Under what kind of condition should we use them and how do they work? Are there any special meanings about the “virtual”?related to polymorphism?

In reply to dbshy:

The word virtual has many meanings depending on the word it is placed next to. It is not related to polymorphic virtual methods. In general, virtual means something that is a stand-in or abstraction of another thing; as in virtual reality.

In this case, a virtual sequence is a special usage of a UVM sequence. It only starts other sequences and does not send any items to a driver which is its normal usage. This terminology comes from the OVM where it was a completely seperate class type ovm_virtual_sequence, and merged into a ovm_sequence.

You can find more information about using virtual sequences here.