SimPy – свободный Python фреймворк процессо-ориентированной дискретно-событийной системы моделирования. Его диспетчеры событий основаны на функциях-генераторах Python.
Также они могут использоваться для создания асинхронных сетей или для реализации мультиагентных систем (с как моделируемым, так и реальным взаимодействием).
Процессы в SimPy – это просто Python генераторы, которые используются для моделирования активных компонентов, например, таких как покупатели, транспортные средства или агенты. SymPy также обеспечивает различные виды общих ресурсов для моделирования точек с ограниченной пропускной способностью (например, серверов, касс, тоннелей). Начиная с версии 3.1, SimPy также будет обеспечить возможности мониторинга для помощи в сборе статистических данных о ресурсах и процессах.
Моделирование может выполняться в режиме “as fast as possible”, в режиме реального времени (wall clock time) или в режиме ручного выполнения событий.
Теоретически, в SimPy можно сделать непрерывную симуляцию, но фактически это не осуществимо. Однако, в случае моделирования с шагом фиксированного размера, где процессы не взаимодействуют с друг с другом или с общими ресурсами, может использоваться простой цикл while.
SimPy распространяется с руководством, подробной документацией и большим количеством примеров.
SimPy выпущен как Open Source проект под лицензией MIT License. Первая версия была выпущена в декабре 2002 года.
Ссылки