Введение

SIMCOS (акроним от SIMulation of Continuous Systems) — это компьютерный язык и среда разработки для компьютерного моделирования. В 1989 году он был разработан словенскими специалистами под руководством Борута Зупанчича.

Свойства

Целью языка является моделирование динамических математических моделей систем, заданных набором обыкновенных дифференциальных уравнений. Это язык, ориентированный на уравнения и компилятор. Несмотря на название, он может использоваться и для дискретного моделирования. Язык хорошо соответствует стандарту CSSL'67 для языков моделирования, что обеспечивает простоту переносимости между другими языками, соответствующими этому стандарту (например, Tutsim, ACSL и т.д.). Это программное обеспечение, работающее в среде DOS, которое иногда незначительно модифицируется для запуска под современными версиями Microsoft Windows. Помимо самого моделирования, язык позволяет выполнять параметризацию (серию моделирований с различными значениями параметров), линеаризацию моделей и оптимизацию (поиск значений параметров, при которых минимизируется целевая функция).

Процесс моделирования

Если необходимо подготовить схему моделирования, она должна быть описана на языке SIMCOS. Её можно "нарисовать" (аналогично тому, как это делается с аналоговым компьютером) с помощью закрытого графического инструмента, основанного на библиотеке блоков (он содержит базовые элементы, такие как интеграторы, усилители, сумматоры, некоторые основные входные сигналы и т. д.), но чаще она вводится в виде программы с использованием одного из текстовых редакторов, например, Edit под DOS. Независимо от способа ввода модели, на первом этапе моделирования она преобразуется в форму пространства состояний, программа переписывается на Фортран и подготавливаются файлы с входными параметрами. Эта программа на Фортране компилируется в исполняемый файл (.EXE) и запускается. Исполняемая программа считывает значения параметров из входных файлов, выполняет моделирование и записывает запрошенные вычисленные значения в другой файл. После завершения SIMCOS снова получает управление и может отображать результаты в виде графического представления. "Ядром" исполняемого файла является функция INTEG, которая может решать дифференциальные уравнения, используя один из нескольких численных методов. Сначала она считывает необходимые значения (например, значения параметров, начальные условия) из файлов, затем вызывает функцию DERIV, где модель фактически описывается в виде набора функций её производных. Возвращённые значения используются выбранным численным методом. Запрошенные результаты вычислений записываются в файл, и вся процедура повторяется до тех пор, пока не будет выполнено условие завершения.