In reply to chaitanyh shirsh:
In the agent you do not construct analysis_scoreboard_01.
But in the connect_phase you try to connect
predictor.port_1.connect(analysis_scoreboard_01);
My question is why do you need 2 Analysis ports in the Agent? Do you really provide 2 different transaction for analysis?