A Methodology for Modular Discrete Event Simulation