Смекни!
smekni.com

Подсистема визуального отображения процесса интерпретации сетевых моделей в системе имитационного моделирования МИКРОСИМ (стр. 8 из 13)

procedure TForm1. Button1Click (Sender: TObject);

begin

Proc1 (i);

end;

Главное, чтобы вызываемая в ответ на нажатие кнопки процедура или функция была доступна внутри главного программного модуля приложения Существует несколько способов сделать процедуру или функцию доступной. Самый простой способ – это определить заголовок процедуры и тело программы в начале раздела реализации блока. Так как они размещены вначале, компилятору становится известно о их существовании до того, как они будут вызваны из какой-либо части программы. Второй способ – объявление заголовка процедуры с ключевым словом forward, а ее имя и принимаемые параметры в любой части программы. Третий способ – помещение объявления процедуры в разделе интерфейса. Такое описание действует как прототип и делает процедуру доступной из модуля в котором она описана и из любого другого модуля, использующего данный.

В случае исполнительной подсистемы МИКРОСИМ целесообразнее всего подключить все используемые в ходе ее работы модули к главному программному модулю приложения, в предложении Uses. В этом случае все процедуры и функции исполнительной подсистемы будут доступны.

Прохождение задания в интегрированной в СВПИМ системе МИКРОСИМ

В рамках данного дипломного проекта, система имитационного моделирования МИКРОСИМ была интегрирована в Систему Визуального Программирования Имитационных Моделей в рамках единой программой оболочки. Поэтому этапы прохождения задания в МИКРОСИМ претерпели существенное изменение.

Работа с моделирующей системой начинается с запуска редактора сетевых моделей. В котором разработчиком создается графическое изображение сегмента, задаются атрибуты фишек, процедуры временных задержек, трансформации и управления для переходов. После чего осуществляется экспорт графического изображения в текстовое описание, с запоминанием в файле с расширением. JOM. Например, SEG.JOM. В случае многосегментной модели, необходимо создать предварительно графическое представление и осуществить обработку каждого из сегментов, с последующим их объединением в готовую модель средствами, предоставляемыми СВПИМ.

Далее осуществляется запуск МИКРОСИМ, процесс моделирования в котором состоит из двух основных стадий: построения модели и решения (выполнения) созданной модели. Эти стадии, как было рассмотрено в специальной части проекта, реализуются двумя самостоятельными подсистемами – креативной и исполнительной, работающими в диалоговом режиме.

Рис 3.2

Запуск МИКРОСИМ осуществляется непосредственно из редактора (пункт меню «файл / запустить Microsim», (рис 3.2) что увеличивает удобство его использования, и исключает необходимость выхода из редактора с целью осуществления процесса моделирования в среде МИКРОСИМ. Однако совместное использование СВПИМ и МИКРОСИМ не является обязательным. Работа с МИКРОСИМ начинается как обычно, с работы в креативной подсистеме.

В креативную подсистему входят несколько разных обрабатывающих программ, запускаемых в определенном порядке. Исполнительная подсистема состоит из единственного загрузочного модуля.

Рассмотрим более подробно этапы построения модели и соответствующие им программные модули креативной подсистемы. Основная задача этой подсистемы – подготовка к сборке всех сегментов, из которых должна состоять создаваемая модель.

Работа с креативной подсистемой начинается с работы в ее текстовом редакторе, который предоставляет исследователю возможность просмотра и редактирования текстового описания модели на ЯОМ, а также редактирование файлов на ЯЗП (пункт меню «Model / Parameters…», рис. 3.3).

Рис. 3.3

Описание каждого сегмента на ЯОМ, созданное при помощи СВПИМ подвергается следующим последовательным преобразованиям:

· компиляция сегмента с языка ЯОМ на язык турбо Паскаль (получаются два компонента сегмента – сетевой и процедурный, первый из них запоминается в файле с расширением NET, а второй – в файле с расширением PAS);

· компиляция процедурного компонента сегмента с языка Туpбо Паскаль с использованием компилятора командной строки (получается модуль в формате TPU, который запоминается в файле с расширением TPU).

Первый этап осуществляется специальным препроцессором (компилятором) системы моделирования. В результате этого преобразования в двух разных файлах получаются два компонента – сетевой и процедурный. Сетевой компонент отражает Е-сетевую структуру сегмента, а процедурный компонент объединяет в себе все процедуры данного сегмента, выраженные на языке Паскаль.

Как уже отмечалось, стандартное расширение двух названных файлов – NET и PAS. Например, после второго преобразования сегмента из файла SEG.JOM будут получены два файла SEG.NET и SEG.PAS.

Второй этап – это компиляция полученного процедурного компонента с языка Туpбо Паскаль. Это делается с помощью стандартного компилятора, работающего в режиме командной строки. Результатом этого этапа преобразования является файл с расширением TPU, содержащий модуль в формате TPU.

Таким образом, конечным результатом обработки одного сегмента компилирующей подсистемой являются два файла с расширениями NET и TPU (например, SEG.NET и SEG.TPU). Соответствующая пара файлов должна быть получена для каждого из сегментов, входящих в модель.

Следует отметить, что при разработке модели использование СВПИМ не является обязательным. Исследователь может не использовать возможности СВПИМ, либо использовать их частично. В этом случае к стадии построения модели следует добавить еще один этап, этап редактирования и модификации описания сегмента, который осуществляется во встроенном в МИКРОСИМ специальном текстовом редакторе, либо в любом другом доступном редакторе текстовых файлов.

Назначение исполнительной подсистемы – проведение экспериментов при выполнении модели. Функции исполнительной подсистемы реализует отдельный загрузочный модуль. Его работа происходит в диалоговом режиме взаимодействия с пользователем.

Исполнительная подсистема завершает создание готовой к выполнению Е-сетевой модели и обеспечивает проведение имитационных экспериментов с этой моделью. Следует отметить, что появление подсистемы визуального отображения процесса интерпретации моделей, налагает ряд требований направленных на обеспечение возможности и правильности последующей визуализации процесса работы Е-сетевой модели.

Первое из требований заключается в указании предложения TRACE ALL при задании параметров модели. Сам по себе язык задания параметров предназначен для контроля состояния сформированных Е-сетевых моделей на стадии их выполнения (интерпретации). ЯЗП дает возможность задавать начальную маркировку позиций в сегментах модели, устанавливать или изменять значения сетевых переменных и сетевых массивов, назначать и отменять сбор статистики по избранным позициям и переходам модели, задавать и сбрасывать признак трассировки срабатывания переходов при выполнении модели, специфицировать условия остановки выполнения модели (не считая истечения заданного модельного времени и возникновения особых ситуаций). Все изменения, вносимые в Е-сетевую модель с помощью предложений ЯЗП, не требуют повторной компиляции и сборки модели, что упрощает проведение экспериментов над однажды скомпилированной и скомпонованной моделью. Как было отмечено выше, ввод предложений ЯЗП осуществляется либо непосредственно в исполнительной подсистеме, либо, с помощью текстового редактора в файл с расширением.JZP, который обрабатывается компилятором ЯЗП непосредственно перед запуском модели на исполнение.

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

В качестве третьего требования, хотелось бы указать необходимость грамотного указания единиц времени моделирования. Проведенные исследования и эксперименты показали, что даже для небольших моделей несовпадение в указании модельного времени при описании модели на ЯОМ и единицы времени, указанном при запуске модели может привести к увеличению необходимого для создания требуемого файла объема дискового пространства. Например, для модели многотерминальной вычислительной системы состоящей из процессора и трех терминалов, задания с которых поступают через интервалы времени, равные соответственно 10, 20 и 30 секунд, указание при запуске модельного времени в микросекундах приводит к тому что при времени моделирования равном одной секунде, файл имеет объем порядка 18‑ти Мбайт. При правильном указании единиц времени моделирования файл с результатами работы той же модели за время равное 1000 секунд, имеет объем порядка 17‑Кбайт.

Интерпретатор реализует алгоритм функционирования Е-сетевой машины, и таким образом обеспечивает моделирование параллельных процессов, протекающих в Е-сети, состоящей из сегментов, входящих в модель. Интерпретатор использует подпрограммы сбора статистики для накопления статистической информации об исследуемых характеристиках модели (например, о длинах очередей, числе срабатываний переходов и т.д.). Диагностические сообщения интерпретатора о ходе моделирования помещены в отдельный файл.

По окончании моделирования подпрограммы обработки статистики обеспечивают выдачу результатов моделирования в виде гистограмм и таблиц, содержащих значения исследуемых характеристик модели (например, средние длины очередей, коэффициенты занятости позиций и т.д.).

По желанию исследователя результаты моделирования могут быть сохранены в файле, для дальнейшего их изучения и обработки.

Для проведения экспериментов с моделью, требующих больших затрат машинного времени, предусматриваются возможности сохранения модели в файле и последующей загрузки модели из файла в оперативную память для продолжения моделирования.