When should we use uvm export

I know that port is used to call a function(task) and imp define the implementation of that function(task)
So a port to imp connection is made (for example driver sequencer communication)

Can anybody give me idea and example when we need to use export

Thanks in advance.

In reply to JDS:

In the most simple way, Port is the initiator of a request and Export is the responder to a request.
Port (square) connected with Export (circle) makes a TLM communication.
For detailed explanation with example please refer to UVM 1.2 User’s Guide, section 2.3.1.3 “Basic TLM Communication”.

Hope this will be helpful.

Regards
Kapil

In reply to kapil_kumar:

My question is different. Let me be more informative.

uvm_put_port is connected with uvm_put_imp.

uvm_put_port will call put method which will be implemented in uvm_put_imp.

My question is in which situation we use uvm_put_export

In reply to JDS:

Please answer anyone