En este artículo se describe un simulador de un sistema distribuido que se construyó para realizar una evaluación preliminar de un nuevo protocolo para memoria compartida distribuida. La simulación es dirigida por ejecución y se efectúa en un monoprocesador, que divide su tiempo entre los múltiples procesos simulados. Un aspecto novedoso es el uso de la sobrecarga de operadores de C++ para entregar el control al simulador en los puntos en que los procesos efectúan accesos a la memoria compartida. This article describes a distributed system simulator, which was built to evaluate a new causally consistent distributed shared memory protocol. The simulation is execution driven, and is performed in a uniprocessor whose time is shared by multiple simulated processes. A novel feature is the use of C++ operator overloading to transfer control to the simulator each time a process performs a shared memory operation.