SIM.JS - Википедия - SIM.JS

SIM.JS, бесплатный пакет моделирования дискретных событий на основе JavaScript
Оригинальный автор (ы)Маниш Варшней
Разработчики)Маниш Варшней
Стабильный выпуск
0.26 / 16 января 2012 г.; 8 лет назад (2012-01-16)
Написано вJavaScript
Операционная системаКроссплатформенность
ТипДискретное моделирование событий
ЛицензияLGPL
Интернет сайтsimjs.z5.web.основной.windows.сеть код.Google.com/п/ simjs-источник/

SIM.JS основанный на событиях дискретное событие симуляция библиотека на основе стандартаJavaScript. Библиотека была написана для обеспечения возможности моделирования в стандартных браузерах с использованием веб-технологий.

SIM.JS поддерживает сущности, ресурсы (объекты, буферы и хранилища), связь (с помощью таймеров, событий и сообщений) и статистику (с сериями данных, временными рядами и статистикой населения).

Дистрибутив SIM.JS содержит учебные пособия, подробную документацию и большое количество примеров.

SIM.JS выпущен как Открытый исходный код программное обеспечение под LGPL лицензия. Первая версия была выпущена в январе 2011 года.

Пример

При загрузке библиотеки есть несколько примеров. Моделирование светофора - это стандартная задача моделирования, которую можно смоделировать, как в этом примере:

функция trafficLightSimulation (GREEN_TIME, MEAN_ARRIVAL, SEED, SIMTIME) {var sim = new Sim (); var random = новый случайный (SEED); var trafficLights = [новый Sim.Event («Север-Юг»), новый Sim.Event («Восток-Запад»)]; var stats = new Sim.Population («Ожидание на перекрестке»); var LightController = {currentLight: 0, // свет, который включен в данный момент start: function () {sim.log (trafficLights [this.currentLight] .name + "OFF" + "," + trafficLights [1 - this. currentLight] .name + "ВКЛ"); sim.log ("------------------------------------------"); // отключение текущего светового освещения [this.currentLight] .clear (); // включаем другой свет. // Обратите внимание на истинный параметр: событие должно «поддерживать» trafficLights [1 - this.currentLight] .fire (true); // обновляем переменную currentLight this.currentLight = 1 - this.currentLight; // Повторять каждый интервал GREEN_TIME this.setTimer (GREEN_TIME) .done (this.start); }};

внешняя ссылка