Example code: module with only imports - what does this do?

One of the cookbook examples (predictor) contains an example where the predictor is a systemc module. One of the files has following content:


package alu_sc_pkg;

import uvm_pkg::*;
import uvmc_pkg::*;
import alu_analysis_pkg::alu_tlm;
import alu_agent_pkg::alu_txn;
`include "uvm_macros.svh"

class alu_tlm_sc extends alu_tlm;

 `uvm_component_utils(alu_tlm_sc)

 uvm_analysis_port  #(alu_txn) analysis_port;

 function new(string name, uvm_component parent);
   super.new(name, parent);
   analysis_port = new("operands_in",this);
 endfunction

 virtual function void connect_phase(uvm_phase phase);
   uvmc_tlm1 #(alu_txn)::connect(analysis_port, "alu_in");
   uvmc_tlm1 #(alu_txn)::connect_hier(results_ap, "alu_out");
 endfunction

 virtual function void write(alu_txn t);
   analysis_port.write(t);
 endfunction

endclass

endpackage

module alu_sc_top;
import alu_sc_pkg::*;
import uvm_pkg::*;
endmodule

Near the bottom there is a module importing the above declared pkg and uvm pkg.
What is this doing? It does not instantiate any class or so, at least not explicitly…so I am a bit puzzled.

In reply to NiLu:

What its doing is pulling in all the package dependencies into a top level module. This is usually needed for tools that allow separate compilation to answer the question: If I compile a package and no one imports it, does it exists? The answer is relevant especially for static variables that call initialization functions.