Patent Document ID: 20150025867
Application ID: 14330111
Patent Flag: 0

Claim One:
1. A simulator which simulates in real time the behavior of mass participants in a system, said simulator having an architecture adapted to allow maximum flexibility and adaptation to the time and auxiliary constraints of a wide variety of computer models of real systems, wherein said architecture of said simulator is comprised of five levels, each of which is comprised of a plurality of identical components that carries out a specific task and Dynamic Adapter components; said levels being: i. level 5 comprises Participant ID Generator components whose function is to randomize integers between 1 and P, where P is the total number of participants in the system being simulated wherein said Participant ID Generator components only randomly select the ID numbers of participants that are actually performing some activity at any given moment; the output of the Participant ID Generator components is known as the Participant ID (PID), which is passed to level 4; ii. level 4 comprises Participant Generator components adapted to use the PID that they receive as a random seed to generate profiles of the participants, said profiles known as Participants are passed to level 3; iii. level 3 is comprised of Schedule Generator components adapted to create schedules for given participants and to pick the current decision at a given time, said decisions identified by their Schedule ID (SID) are passed to level 2; iv. level 2 is comprised of Action Transformer components adapted to receive the current decisions in terms of the simulated world and to transform them to Signals received by the simulated system, said signals are passed to level 1; v. level 1 is comprised of at least one Signal Observer component adapted to receive said Signals from the Action Transformer components and to stream them as the output signals observed by the simulated system, wherein the number of instances reflects the number of concurrent output streams; and said Dynamic Adapter components are adapted to deal with caching decisions simulation-wide and to convert between time space and auxiliary space of the various components according to the current state of the machine the simulation is running upon.