Type error

In reply to Raj Guru:

In the monitor code you are not consistent with aport:

uvm_analysis_port#(my_transaction)aport;
a_port = new("aport",this);
aport.write(my_transaction);

In the constructor you do not call

super.new(name, parent);