48066 (588518), страница 3

Файл №588518 48066 (Подсистема визуального отображения процесса интерпретации сетевых моделей в системе имитационного моделирования МИКРОСИМ) 3 страница48066 (588518) страница 32016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

ISPSCAN.TPU – Модуль сканера.

ISPSEMA1.TPU – Процедуры компиляции предложений ЯЗП.

ISPSEMA2.TPU – Процедуры компиляции предложений ЯЗП.

ISPSEMA3.TPU – Процедуры компиляции предложений ЯЗП.

ISPSERV1.TPU – Процедуры компиляции предложений ЯОМ.

ISPSTAT.TPU – Модуль сбора статистики.

ISPUPR.TPU – Процедуры интерфейса с пользователем.

LIBR_1.TPU – Библиотека высокого уровня для пользовательского интерфейса исполнительной подсистемы.

LIBR_2.TPU – Библиотека высокого уровня для пользовательского интерфейса исполнительной подсистемы.

NETLOAD.TPU – Сервисные процедуры отображения модели.

SERVICE.TPU – Общие сервисные процедуры.

TEXTWIND.TPU – Библиотека низкого уровня для пользовательского интерфейса исполнительной подсистемы.

TURBO3.TPU – Модули Турбо Паскаля.

UPRGLOB.TPU – Глобальные описания для пользовательского интерфейса исполнительной подсистемы.

    1. Взаимодействие МИКРОСИМ и СВПИМ

      1. Определение способа взаимодействия

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

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

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

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

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

В процессе работы интерпретатора создается файл .log, в который, при каждом срабатывании перехода в процессе интерпретации модели, записывается информация о состоянии сработавшей элементарной Е-сети.

Информация представляется в следующей последовательности:

  • имя сегмента, в котором сработал переход;

  • имя перехода;

  • время;

  • единица времени;

  • задержка;

  • единица времени;

  • входная позиция;

  • количество фишек в ней;

  • выходная позиция;

  • количество фишек в ней;

Состояние позиций отображается на момент до начала срабатывания перехода.

      1. Запись состояния модели в файл

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

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

Для реализации трассировки модели в исполнительной подсистеме МИКРОСИМ существует специальная процедура I00TRD из модуля ISPINT. Данный модуль и является интерпретатором модели, иными словами Е-сетевой машиной. Алгоритм ее функционирования представлен ниже.

      1. Алгоритм функционирования интерпретатора сетевых моделей

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

  1. Выявление условий срабатывания переходов в элементарных сетях, входящих в обрабатываемую Е-сетевую модель.

  2. Назначение на выполнение тех элементарных сетей, в которых возникают условия срабатывания перехода.

  3. Реализация временных задержек, ассоциированных с переходами при их срабатывании (реализация активных фаз сработавших переходов).

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

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

  6. Сбор статистических данных о поведении обрабатываемой Е-сети.

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

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

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

T – список сегментов модели: в списке находятся справочники всех сегментов, составляющих модель. Справочники сегментов упорядочены в списке T по возрастанию времени наступления ближайших событий в сегментах, т.е. по возрастанию значений, хранящихся в поле LOWTIME справочника сегмента. Справочники сегментов с одинаковым значением поля LOWTIME располагаются в списке T согласно дисциплине обслуживания FIFO; поле LOWTIME в справочнике пассивного сегмента (т.е. сегмента, в котором нет активных переходов) содержит значение MAXREAL (максимально возможный момент времени, или «бесконечность»).

S – список активных переходов сегмента: в список включаются таблицы тех переходов сегмента, процесс срабатывания которых находится в активной фазе. Переходы упорядочены в списке S по возрастанию времени окончания активных фаз. Значение этого времени для активного перехода хранится в поле FINT таблицы перехода и выражено в единицах времени модели. Таблицы переходов с одинаковым значением поля FINT располагаются в списке S согласно дисциплине обслуживания FIFO.

I – список прерываний: в список включаются переходы сегмента, принадлежащие элементарным сетям типа I, во входных позициях которых одновременно находятся основная и прерывающая фишки.

R – список потенциально активных переходов: в список включаются таблицы тех переходов, у которых состояние входных и выходных позиций соответствует условию срабатывания, но функция (процедура) входного и / или выходного выбора (управления) задает пустое множество позиций (неопределенное (нулевое) значение траектории перемещения фишки). Таблицы переходов в списке R располагаются согласно дисциплине обслуживания LIFO.

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

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

Алгоритм функционирования Е-сетевой машины реализуется следующими процедурами модуля ISPINT:

Процедура I000 – Управление интерпретацией модели.

Процедура I001 – Подготовка интерпретации модели.

Процедура I002 – Основной цикл интерпретации модели.

Процедура I00MC – Управление интерпретацией сегмента.

Процедура I00MS – Управление срабатыванием переходов в сегменте.

Процедура I00PT – Выполнение операций, ассоциированных со срабатыванием перехода.

Упрощенно, структура интерпретатора модели представлена на рис. 2.4.

Алгоритм функционирования процедуры I00MS, управляющей срабатыванием переходов, рассмотрим более подробно:

  1. [Инициализация]

Инициализировать список I.

  1. [Контроль возможности приостановки]

Если условие приостановки интерпретации истинно, то установить код возврата и завершить процедуру (выход).

  1. [Контроль списка I]

Если список I пуст, то перейти на шаг 4; в противном случае исключить (выбрать) переход из списка I и перейти на шаг 8.

  1. [Контроль списка S]

Если список S пуст, то завершить процедуру (выход).

  1. [Подготовка к работе с переходом]

Настроиться на работу с первым переходом в списке S.

  1. [Контроль момента активизации]

Если момент активизации FINT выбранного (из списка S) перехода больше текущего модельного времени, то установить LOWTIME<–FINT и завершить процедуру (выход).

  1. [Исключение выбранного перехода из списка S]

Выполнить процедуру I00DSL.

  1. [Контроль признака трассировки перехода]

Если задан признак трассировки срабатывания выбранного перехода, то выполнить процедуру I00TRD (вывод информации о срабатывании перехода).

  1. [Выполнение операций, ассоциированных со срабатыванием перехода]

Выполнить процедуру I00PT.

  1. [Контроль успешности операций]

Если выявлена ошибка при срабатывании перехода, то завершить процедуру (конец).

  1. [Контроль активизации переходов по входным позициям]

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

  1. [Контроль активизации переходов по выходным позициям]

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

  1. [Повторный контроль сработавшего перехода]

Проверить условие повторной активизации сработавшего перехода (и если условие истинно, то должным образом отразить это в списках S, I, R).

  1. [Контроль активизации переходов из списка R]

Проверить условие активизации переходов, находящихся в списке R.

  1. [Модификация счетчика]

Нарастить счетчик числа сработавших переходов.

  1. [Контроль числа срабатываний]

Если число сработавших переходов достигло установленного максимального значения, то сбросить счетчик числа сработавших переходов, установить код возврата и завершить процедуру (выход). В противном случае перейти на шаг 2.

Как видно из данного алгоритма процедура I00TRD вызывается процедурой I00MS, при установлении задания признака трассировки. Упрощенный алгоритм работы процедуры управления срабатыванием перехода представлен на рис. 2.5.

    1. Трассировка модели

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

СПРАВОЧНИК МОДЕЛИ (58 БАЙТА)

Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее