Имитационное моделирование систем массового обслуживания…
3
вычислительных ресурсов и достаточно дороги. Непосредственная их
реализация в виде клиентского приложения для Web-браузера явля-
ется затруднительной.
Второй подход, основанный на записи кода модели на формаль-
ном языке, широко использовался в то время, когда не было опера-
ционных систем с графическим интерфейсом пользователя; он требу-
ет меньше вычислительных ресурсов. Примером такого подхода яв-
ляются ранние среды на основе языка GPSS [5] без мощного
графического интерфейса. При этом используются трансляторы или
интерпретаторы соответствующих формальных языков. Подход, ос-
нованный на трансляции и (или) компиляции, достаточно сложно ре-
ализовать для Web-браузера. Остановимся подробнее на подходе, ос-
нованном на интерпретации.
Рассмотрим возможность реализации интерпретатора в виде кли-
ентского приложения для Web-браузера, выполненного в виде Java-
апплета, использующего библиотеку классов, представленную в [2].
Для удобства работы в качестве формального языка описания модели
возьмем за основу синтаксис и семантику языка GPSS [5], который
базируется на дискретно-событийном подходе, как и библиотека
классов языка Java. Для выполнения основных функций имитацион-
ных моделей, базирующихся на дискретно-событийном подходе, реа-
лизован интерпретатор с минимальными функциями, базирующийся
на синтаксисе языка GPSS с некоторыми ограничениями.
Описание разработанного клиентского приложения.
Библиотека
классов языка Java, описанная в [2], дополнена следующими
класса-
ми
: UniApplet, расширяющий стандартный класс javax.swing.JApplet
(определяет интерфейс клиентского приложения); UniModel, расши-
ряющий класс SimJava.Syst (определяет проведение экспериментов).
Также добавлены вспомогательные классы: Block (для описания бло-
ка события модели); SaveValue (для задания сохраняемых величин);
MyList и MyDeikstra (для перевода выражений внутри модели из ин-
фиксную в постфиксную форму [6] по алгоритму Дейкстры при их
обработке в ходе моделирования).
В модели на формальном языке, похожем на GPSS, могут быть
использованы следующие
объекты
: каналы обслуживания; накопи-
тели (многоканальные устройства); очереди; гистограммы; сохраня-
емые величины. Также можно применять выражения со скобками, с
вызовом заданных математических функций, вызовом функций для
генерации случайных чисел. В выражениях можно использовать ос-
новные операции: арифметические, логические, операции срав-
нения.
Операторы
в реализации модели могут быть трех типов: операто-
ры-определения, например описание многоканальных устройств,