8. Языки имитационного моделирования

      Для решения задач компьютерного моделирования кроме обычных алгоритмических языков программирования и оболочек типа Mathcad используются также специализированные алгоритмические языки имитационного моделирования (SPL). Полное изложение таких языков и способов решения задач с их помощью выходит за рамки намеченных целей. Поэтому мы ограничимся лишь кратким обзором. Языки SPL разрабатывались в качестве аппарата программного обеспечения имитационного подхода и изучения определенного класса систем. К ним относятся, например такие языки как CSL-язык работ, GPSS- язык транзактов, Симула-язык процессов, Симскрипт-язык событий. Имитация здесь представляет собой метод воспроизведения функционирования моделирующей системы во времени. Чтобы смоделировать на ЭВМ поведение сложной реальной системы в языке должны быть предусмотрены:
1) способы организации данных, обеспечивающие простое и эффективное моделирование,
2) удобные средства формализации и воспроизведения динамических свойств моделируемой системы,
3) возможности имитации стохастических систем, т.е. процедуры генерирования и анализа случайных величин и временных рядов.

     Языки имитационного моделирования должны позволять описывать статическую и динамическую структуру модели (возможные формы существования системы- классы объектов, свойства объектов, связи объектов между собой и со средой, формирование системного времени и управляющую программу). Например, в языке GPSS элементы потока называются транзактами. При имитации они создаются и уничтожаются. Транзакт имеет набор параметров. Отношения между транзактами устанавливаются разбиением их на группы, допускающие анализ и модификацию своего состава. Для моделирования обслуживающих объектов системы, подверженных воздействию транзактов, предусмотрен специальный класс элементов: установки, склады и переключатели. В каждый момент времени установка может обслуживать только один транзакт. На складе могут находиться одновременно несколько транзактов.

     Переключатели регулируют потоки и имеют два положения, которые меняются по указаниям самих транзактов. Для наблюдения за функционированием модели используются очереди и таблицы. Каждая очередь содержит список транзактов, задержавшихся в системе, и ведет учет среднего числа и средней продолжительности таких задержек. В таблицах можно накапливать данные для построения разнообразных частотных распределений. Функциональный аппарат языка образуют блоки. Они описывают логику модели, сообщая транзактам куда идти и что делать дальше. GPSS программа генерирует и передает транзакты из блока в блок в соответствии с правилами, устанавливаемыми самими блоками.