The LogicalProcess class groups together one or more simulation objects which will share a GVTManager, a CommManager, and a Scheduler. The main loop of execution resides in the method LogicalProcess::simulate, which tells the LogicalProcess to keep executing the simulation loop until it receives a new GVT broadcast of PINFINITY. In the current implementation, there may only be one LogicalProcess per Unix heavy-weight process. This may change in the future to allow one LogicalProcess per thread.