/******************************************************************* * * DESCRIPTION: class ParallelSimulator * * AUTHOR: Alejandro Troccoli * * EMAIL: mailto://atroccol@dc.uba.ar * * DATE: 07/11/2000 * *******************************************************************/ #ifndef __PSIMULATOR_H #define __PSIMULATOR_H /** include files **/ #include "pprocess.h" // class ParallelProcessor #include "pSimulatorState.h" // class ParallelSimulatorState #include "pprocadm.h" //Definition of ProcId /** forward declarations **/ class Atomic ; /** declarations **/ class ParallelSimulator: public ParallelProcessor { public: //Functions required by Warped void initialize(); #ifdef JACKY_REVISION //this is the procId of the FC (this parallel simulator's parent) ProcId parentFCId; #endif ParallelSimulator( Atomic * ); // Default constructor //Functions that will not be redefined are commented out //ParallelProcessor &receive( const BasicExternalMessage * ) ; //ParallelProcessor &receive( const DoneMessage & ); //ParallelProcessor &receive( const BasicOutputMessage *); ParallelProcessor &receive( const InitMessage & ) ; ParallelProcessor &receive( const InternalMessage & ) ; ParallelProcessor &receive( const CollectMessage & ) ; BasicState* allocateState(); #if defined(JACKY_INFREQ_STATEMANAGER) && defined(INFREQSTATEMANAGER) //[2006-03-15] //Jacky Note: this function is to recover the variables defined in simulators //Due to reasons we have explained in JackyDebugStream.h, we need to clean the Simulator's //MessageBag if its size > 0 virtual void recoverProcessorVariables(); #endif //[2006-03-15] }; // class ParallelSimulator #endif //__PSIMULATOR_H