Есть некое финансовое сообщество. Его участники делают вклады, растущие со временем, и приглашают новых участников.
Необходимо изучить состояние системы в каждый момент времени в зависимости от поведения участников. Основными параметрами системы служат кол-во участников, денежный баланс и динамика притока. Поведение каждого участника системы определяется присвоенной ему ролью: «саранча» снимает вклад с процентами однажды и никого не приглашает, «сознательный» снимает ежемесячно только проценты и приглашает новых участников. Надо чтобы программа могла эмулировать развитие структуры с 1 млрд. участников. Также программа должна иметь веб-интерфейс, через который можно задавать начальные параметры, описывать роли и получать результаты эмуляции.
Теперь мои мысли по реализации. Для хранения состояний участников хочу использовать БД. Каждому участнику соответствует запись в таблице согласно паттерну Active Record. Необходимо реализовать методы «вложить»,«снять» и «пригласить нового». Вычислительное ядро на C++, роли участников программируются на Luа через фронтенд, а сам фронтенд неважно на чём писать.
Хотелось бы услышать советы по реализации. Может быть есть готовые инструменты для решения моей задачи?