In reply to chr_sue:
I suppose in my case the “slave driver” is actually more of a monitor that communicates with a sequence. The master driver is the only component/interface that can actually drive signals, so when the agent is in passive mode i.e. subsystem level, the master driver and sequencer are off and the “slave driver/responder” or monitor-for-the-sequence and sequencer are on along with the monitor. The slave driver then has the sole purpose of communicating with sequences, and the monitor has the sole purpose of sending to an analysis export to coverage collector/scoreboard etc.
It’s essentially the same as your first suggestion with the monitor connected to the sequencer, but splitting out the two functionalities into two components. In retrospect, it does seem preferable to only have to use two BFM interfaces per agent rather than three in my case.