A computer-implemented simulator for real-time simulation of the behavior of mass participants in a simulated system which populates itself with participants, in accordance with a model of the simulated system that comprises rules that govern the behavior of the individual participants and generates and records signals related to the activities that each participant carries out at any given moment, without the need to maintain all participants of the system, to create a simulation of how the actual system performs, said simulator comprising: i. Participant ID Generator components, which randomly select from the total number of participants the ID numbers of participants that are actually performing some activity; ii. Participant Generator components adapted to use the PID to generate profiles of the participants; iii. Schedule Generator components adapted to create schedules of activities for each participant and to pick the current activity at a given time; iv. Action Transformer components adapted to receive the current activity for each participant in the simulated system and to transform them to Signals received by the simulated system; v. at least one Signal Observer component adapted to receive Signals from the Action Transformer components and to stream them as the output signals observed by the simulated system, wherein the number of Signal Observer components reflects the number of concurrent output streams; and vi. Dynamic Adapter components adapted to decide, when a new PID is received by a Participant Generator component from the Participant ID Generator, whether to cache the profile of a participant so that it will be quickly available the next time the same PID is received, or not to cache and to generate the profile again the next time the PID is received, wherein a Consistency Period is defined for the simulation, so that all activities of all participants are logically consistent in such intervals, wherein given the Current Time and the defined Consistency Period, two values are produced: Current Time Within Consistency Period defined as Current Time modulus the Consistency Period, and Consistency Time defined as the Current Time minus the Current Time Within Consistency Period, wherein the Schedule Generator components use a combination of the PID along with the Consistency Time as a random seed for schedule creation for the given participant at the given Consistency Time, wherein, when schedules of activities for each participant are created by the Schedule Generator components: if caching of a schedule is not feasible, then the schedule is generated from the Consistency Time and up to the Current Time Within Consistency Period; and if caching of a schedule is feasible, the schedule is generated for the entire Consistency Period each time, and incomplete activities are cached, so that the schedule generation process of the next phase insists on finishing them before proceeding with further colliding activities, thereby allowing the entire simulation to be logically consistent at all times. i. Participant ID Generator components, which randomly select from the total number of participants the ID numbers of participants that are actually performing some activity; ii. Participant Generator components adapted to use the PID to generate profiles of the participants; iii. Schedule Generator components adapted to create schedules of activities for each participant and to pick the current activity at a given time; iv. Action Transformer components adapted to receive the current activity for each participant in the simulated system and to transform them to Signals received by the simulated system; v. at least one Signal Observer component adapted to receive Signals from the Action Transformer components and to stream them as the output signals observed by the simulated system, wherein the number of Signal Observer components reflects the number of concurrent output streams; and vi. Dynamic Adapter components adapted to decide, when a new PID is received by a Participant Generator component from the Participant ID Generator, whether to cache the profile of a participant so that it will be quickly available the next time the same PID is received, or not to cache and to generate the profile again the next time the PID is received,