Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Концепция и возможности объектно-ориентированной моделирующей системыСодержание книги
Поиск на нашем сайте
2.1 ОСНОВНЫЕ ОБЪЕКТЫ МОДЕЛИ Моделирующая система выполняет следующие основные функции: 1) предоставляет разработчику средства для формализованного 2) осуществляет координацию событий, определение путей Такая система позволяет передавать результаты моделирования, используемые для принятия управленческих решений, из модели в базы данных экономической информационной системы (например, через интерфейс ODBC - Open Data Base Connectivity, если моделирование проводится в среде Windows) либо «подкачивать» актуализируемые во времени параметры в модель из баз данных. В рассмотренной на рис. 1.10,6 временной диаграмме длительность выполнения функции процессом $ не зависит от типов ресурсов и характера их использования. Диаграмма обладает универсальностью, позволяет работать и с опосредованными ресурсами. Эта диаграмма использована при создании теоретических основ, концепции и алгоритмов специального программного инструментария - объектно-ориентированной системы имитационного моделирования Pilgrim, имеющей возможность агрегирования экономических объектов. Аналогичные диаграммы автоматически получаются при управлении модельным временем. Существуют шесть основных понятий, на которых базируется концепция моделирующей системы. 1 .Граф модели. Все процессы, независимо от количества уровней структурного анализа, объединяются в виде направленного графа. Пример изображения модели в виде многослойного иерархического графа, полученного при структурном анализе процесса, показан на рис. 2.1. ,2.Транзакт - это формальный запрос на какое-либо обслуживание. Транзакт в отличие от обычных заявок, которые рассматриваются при анализе моделей массового обслуживания, имеет набор ^динамически изменяющихся особых свойств и параметров. Пути миграции транзактов по графу стохастической сети определяются логикой функционирования компонентов модели в узлах сети. Транзакт является динамической единицей любой модели, работающей под управлением имитатора. Транзакт может выполнять следующие действия: • порождать группы (семейства) других транзактов; • поглощать другие транзакты конкретного семейства; • захватывать ресурсы и использовать их некоторое время, а за • определять времена обслуживания, накапливать информацию Основные параметры транзактов: • уникальный идентификатор транзакта; • идентификатор (номер) семейства, к которому принадлежит • наборы различных ресурсов, которые транзакт может захваты • время жизни транзакта; • приоритет - неотрицательное число; чем больше приоритет, • параметры обслуживания в каком-либо обслуживающем уст Примеры транзактов: • требование на перечисление денег; • заказ на выполнение работ в фирме; • телеграмма, поступающая на узел коммутации сообщений; • сигнал о загрязнении какого-либо пункта местности; • приказ руководства; • покупатель в магазине; • пассажир самолета; • проба загрязненной почвы, ожидающая соответствующего З.Узлы графа сети представляют собой центры обслуживания транзактов (но необязательно массового обслуживания). В узлах транзакты могут задерживаться, обслуживаться, порождать семейства новых транзактов, уничтожать другие транзакты. С точки зрения вычислительных процессов в каждом узле порождается независимый процесс. Вычислительные процессы выполняются параллельно и координируют друг друга. Они реализуются в едином модельном времени, в одном пространстве, учитывают временную, пространственную и финансовую динамику. Нумерация и присвоение имен узлам стохастической сети произ-||юдится разработчиком модели. Следует учесть, что транзакт всегда зинадлежит одному из узлов графа и независимо от этого относит- к определенной точке пространства или местности, координаты эрой могут изменяться. Примеры узлов: • счет бухгалтерского учета; • бухгалтерия; • производственный (ремонтный) участок; • генератор или размножитель транзактов; • транспортное средство, которое перемещает ресурсы из одной • передвижная лаборатория; • компьютерный центр коммутации сообщений (или пакетов со- • склад ресурсов. 4. Событием называется факт выхода из узла одного транзакта. эытия всегда происходят в определенные моменты времени. Они эгут быть связаны и с точкой пространства. Интервалы между вумя соседними событиями в модели - это, как правило, случайные шчины. Предположим, что в момент времени t произошло какое-событие, а в момент времени t+d должно произойти ближайшее тедующее, но не обязательно в этом же узле. Если в модель вклю-эны непрерывные компоненты, то очевидно, что передать управле-ге таким компонентам модели можно только на время в пределах грвала (/, t+d). Разработчик модели практически не может управлять событиями шую (например, из программы). Поэтому функция управления Зытиями отдана специальной управляющей программе - коорди-эру, автоматически внедряемому в состав модели. 5.Ресурс независимо от его природы в процессе моделирования южет характеризоваться тремя общими параметрами: мощностью, ■сом и дефицитом. Мощность ресурса - это максимальное число эсных единиц, которые можно использовать для различных це-iefi. Остаток ресурса - число незанятых на данный момент единиц, зрые можно использовать для удовлетворения транзактов. Дефи-родит ресурса - количество единиц ресурса в суммарном запросе тран-эв, стоящих в очереди к данному ресурсу. При решении задач динамического управления ресурсами можно выделить три основных типа: материальные, информационные и денежные ресурсы. 6.Пространство - географическое, декартова плоскость (можно ввести и другие). Узлы, транзакты и ресурсы могут быть привязаны к точкам пространства и мигрировать в нем. Внутренняя реализация модели использует объектно-ориентированный способ представления экономических процессов. Транзакты, узлы, события и ресурсы - основные объекты имитационной модели. Взаимодействие таких объектов показано на рис. 2.2, где обозначены следующие моделирующие функции: ag, key, queue, dynam, proc, term, el и е2. Функциональное назначение этих и других средств моделирующей системы рассматривается в соответствующих разделах. В различных моделирующих системах имеются разные способы представления узлов графа. Это связано с отличительными свойствами таких систем. Например, в системе GPSS узлы называются блоками; причем количество различных типов блоков более сотни, что затрудняет восприятие графа модели. В системе Pilgrim имеется всего 17 типов узлов, которые функционально перекрывают все возможности блоков GPSS и предоставляют дополнительные средства, которые в GPSS отсутствуют: • возможность работы с непрерывными процессами; • моделирование пространственной динамики; • работу с ресурсами, представляющими собой деньги и мате Имеется система обозначений узлов, помогающая «читать» граф модели. Полный перечень изображений узлов Pilgrim приведен на рис. 2.3. Каждый узел имеет графическое обозначение, функциональное наименование, произвольный уникальный номер и произвольное название (например: наименование - serv, номер - 123, название - «Мастерская»). Пути транзактов обозначаются дугами -сплошными линиями со сплошной стрелкой на одном конце. Возможны информационные воздействия из одних узлов на другие; направления таких воздействий изображаются пунктирными линиями со сплошной стрелкой на одном конце. Если моделируются бухгалтерские проводки или перечисления денег, то пути денежных сумм со счета на счет показываются пунктирными линиями с штриховой стрелкой. Рассмотрим основные процессы и действия, которые могут выполняться в различных узлах модели. Подробные описания таких действий на уровне языка моделирования и соответствующие правила будут приведены в последующих разделах. Генератор транзактов (с бесконечной емкостью) имеет наименование ag. Узлы-генераторы создают новые транзакты и передают их в другие узлы модели. Параметры генератора в случае необходимости можно изменить посредством информационного воздействия из другого узла с помощью сигнала cheg (здесь и далее сигнал - это специальная функция, выполненная транзактом, находящимся в одном узле, в отношении другого узла). Очередь (с относительными приоритетами или без. приоритетов) имеет наименование queue. Если приоритеты не учитываются, то транзакты упорядочиваются в очереди в порядке поступления. Когда приоритеты учитываются, транзакт попадает не в «хвост» очереди, а в конец своей приоритетной группы. Приоритетные группы упорядочиваются от «головы» очереди к «хвосту» в порядке уменьшения приоритета. Если транзакт попадает в очередь и не имеет своей при- аритетной группы, то группа с таким приоритетом сразу возникнет: \ ней будет один вновь поступивший транзакт. Узел обслуживания с многими параллельными каналами имеет менование serv. Обслуживание может быть в порядке поступле-j транзакта в освободившийся канал либо по правилу абсолютных иоритетов. Если такое правило задано и возникает ситуация, при эрой в «голове» очереди на обслуживание находится транзакт с..улевым приоритетом, все каналы заняты, причем в одном из капов на обслуживании находится транзакт с более низким приори- эм, то выполняется следующее: • обслуживание неприоритетного транзакта прерывается; • неприоритетный транзакт удаляется из канала в стек времен- • канал занимает более приоритетный транзакт. После освобождения канала прерванный транзакт возвращается канал и дообслуживается столько времени, сколько оставалось на эмент прерывания. Реально возможны прерывания в прерываниях, когда на вход уз-поступают все более приоритетные транзакты, а обслуживание эисходит медленно. Поэтому глубина стека временного хранения! ограничена. Терминатор, убирающий транзакты из модели, имеет наимено-лие term. Транзакт, поступающий в терминатор, уничтожается. В эминаторе фиксируется время жизни транзакта. Управляемый генератор {размножитель) транзактов имеет на-ленование creat. Он позволяет создавать новые семейства транзак-эв. Дело в том, что транзакты, создаваемые обычными генератора-[ ag, принадлежат семейству с номером 0 (номер семейства - один ^ параметров транзакта). Если возникает необходимость создать ровое семейство с ненулевым номером, то соответствующее требо-ание содержится в порождающем транзакте, поступающем на вход reat. Далее за нулевое модельное время происходит следующее: • порождающий транзакт выходит из узла creat; • из этого же узла выходит группа новых транзактов, принадле- Управляемый терминатор транзактов имеет наименование elet. Иногда в модели возникает необходимость уничтожить (по-К-лотить) заданное число транзактов, принадлежащих конкретному |ремейству. Требование на такое действие содержится в уничтожаю-'' дем транзакте, поступающем на вход узла delet. Этот транзакт ждет поступления в узел транзактов указанного семейства и уничтожает их; время жизни при этом регистрируется. После поглощения заданного количества транзактов (или по специальному сигналу freed из другого узла) уничтожающий транзакт покидает узел. Клапан, перекрывающий путь транзактам, имеет наименование key. Если на клапан воздействовать сигналом hold из какого-либо узла, то клапан перекрывается и транзакты не могут через него проходить. Сигнал rels из другого узла открывает клапан. Транзакты проходят через этот узел без задержки - за нулевое модельное время. Часто этот узел используется для целей синхронизации или для моделирования работы с информационными ресурсами. Очередь с пространственно-зависимыми приоритетами имеет наименование dynam. Транзакты, попадающие в такую очередь, привязаны к точкам пространства. Очередь обслуживается специальным узлом ргос, работающим в режиме пространственных перемещений. Смысл обслуживания транзактов заключается в тоц, чтобы посетить все точки пространства, с которыми связаны (или из которых поступили) транзакты. При поступлении каждого нового транзакта, если он не единственный в очереди, происходит переупорядочение очереди таким образом, чтобы суммарный путь посещения точек был минимальным. Не следует считать, что при этом решается задача коммивояжера: для решения такой задачи в нулевой момент времени имеется вся информация о точках пространства. В данном же случае информация о новых точках поступает во время движения, когда некоторые точки уже посещены. Рассмотренное правило работы узла dynam в литературе называется «алгоритмом скорой помощи». Управляемый процесс (непрерывный или пространственный) имеет наименование ргос. Этот узел работает в трех взаимно исключающих режимах: 1) моделирование управляемого непрерывного процесса (напри 2) моделирование доступа к оперативным информационным ре 3) моделирование пространственных перемещений (например, В первом режиме после входа транзакта в узел запускается непрерывная модель, являющаяся функцией на языке C++, имеющая параметр «время». Такой моделью могут быть математическая формула или разностное уравнение, или другое. Эта модель синхрони- эвана с другими узлами имитационной модели. Выполнением „ивностью) непрерывной модели можно управлять из других уз-з. По сигналу passiv транзакт вытесняется из узла ргос в стек, по-чего очередные элементарные интервалы времени d перестают тать в непрерывную модель, а расчет по формуле или интегри-.яе разностного уравнения прекращается. Сигнал activ возвра-. транзакт в узел и восстанавливает расчет по непрерывной мо-,-л. После выхода транзакта из узла выполнение непрерывной мо-пи прекращается. Чистое время пребывания транзакта без учета снения его в стек - это и время обслуживания транзакта, и вре-[ выполнения непрерывной модели. Второй режим отличается от предыдущего только тем, что не-:рывные процессы в узле не моделируются, так как они не нужны i моделирования доступа к информационным ресурсам. В третьем режиме обслуживание каждого нового транзакта за-эчается в имитации перемещения узла ргос в новую точку про-анства, координаты которой - это параметры транзакта. Перемещение осуществляется с заданной скоростью. Счет бухгалтерского учета (операция типа «проводка») имеет именование send. Транзакт, который входит в такой узел, является эосом на перечисление денег со счета на счет или на бухгалтер-проводку. Правильность работы со счетами регулируется спе-.ьным узлом direct, который имитирует работу бухгалтерии, лзакт, вошедший в узел send, далее может перейти только в узел _ ct. Если в узле send остаток денег достаточен, чтобы выполнить еречисление на другой счет (щ^другой узел send), то узел direct вы-лняет перечисление и выпускает обслуженный транзакт. В про-вном случае в узле send возникает дефицит средств и соответст-|$енно очередь необслуженных транзактов. Распорядитель финансов («главный бухгалтер») имеет наимено-ие direct. Он управляет работой узлов типа send. Причем для пра-[ьной работы модели достаточно одного узла direct; он обслужит rate счета без нарушения логики модели. Однако не будет ошибкой, |<бсли каждый счет send будет обслуживаться отдельным бухгалтером f direct. Поэтому, чтобы разделить статистику по разным участкам ^моделируемой бухгалтерии, можно использовать несколько узлов «direct. - Если при обслуживании какого-либо счета возникает дефицит | ресурсов, то в этом случае возможны различные дисциплины обслуживания: в хронологическом порядке поступления транзактов, по жестко задаваемым приоритетам, по днамическим приоритетам (чем меньшую сумму нужно перечислить, тем приоритетнее транзакт). Склад перемещаемых ресурсов имеет наименование attach. Это хранилище какого-то количества однотипного ресурса (например, гаражное хозяйство, имеющее 25 грузовиков). Единицы ресурсов в нужном количестве выделяются транзактам, поступающим в узел attach, если остаток (количество единиц, имеющихся в наличии) позволяет выполнить такое обслуживание. В противном случае возникает очередь необслуженных транзактов и соответственно дефицит ресурса. Транзакты, получившие ресурсы, вместе с ними мигрируют по графу во время выполнения модели и возвращают по мере необходимости разными способами: либо все единицы вместе, либо небольшими партиями, либо поштучно. На один и тот же склад можно обращаться несколько раз, не возвращая ранее полученные с этого склада ресурсы. Корректность работы склада обеспечивает менеджер - специальный узел manage. Менеджер (или распорядитель) ресурсов имеет наименование manage. Он управляет работой узлов типа attach. Для правильной работы модели достаточно иметь один узел-менеджер; он обслужит все склады без нарушения логики модели. Однако не будет ошибкой, если склад будет обслуживаться отдельным менеджером. Поэтому, чтобы разделить статистику по разным складам перемещаемых ресурсов, можно использовать несколько узлов-менеджеров. Если при обслуживании какого-либо склада возникает дефицит ресурсов, то в этом случае возможны те же дисциплины обслуживания, которые использовались в узле direct. Структурный узел финансово-хозяйственных платежей имеет наименование pay. Он предназначен для упрощения той части имитационной модели, которая связана с работой бухгалтерии. Если позволить обращения к счетам бухгалтерского учета из всех частей модели, где возникают требования на проводки или перечисления, то граф станет запутанным. Описание условий прохождения транзактов по путям будет очень длинным и сложным. Условия - это логические выражения с многочисленными if, else, switch, case и while. Очень сложные условия увеличивают модель и порождают семантические ошибки, которые могут быть обнаружены только после длительного тестирования модели. Поэтому вся работа бухгалтерии собирается на одном структурном слое модели (слой 3, см. рис. 2.1). Обращения на этот слой в нужные входы-узлы происходят ^других слоев из узла pay автоматически, без графического объеди-„_i этих слоев с помощью дуг. Структурный узел выделения ресурсов имеет наименование rent. „ применяется для упрощения графа и всей модели при работе со ногами, складами с различных уровней структурной схемы точно: же, как узел pay. Произвольный структурный узел имеет наименование down. Он ■ необходим для упрощения очень сложного слоя модели, за-эчающегося в «развязывании» сложной запутанной схемы, нахо-дейся на одном слое, по двум разным уровням (или слоям). Его иьза точно такая же, как полезность узлов pay и rent. Виртуальный структурный узел имеет наименование parent, /зел parent - мощное средство структурного анализа при создании модели. Узел виртуален. В тексте модели он отсутствует. Этот узел эзволяет объединить некоторое множество любых узлов модели и вместить их на более низкий слой, оставив на исходном слое толь-графический значок parent. Работа с такими узлами возможна.лько в режиме CASE-технологии создания имитационных моделей ри использовании графического конструктора. Такая технология удет рассмотрена в последующих разделах. 2.2
|
|||||
Последнее изменение этой страницы: 2016-06-06; просмотров: 363; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.34.209 (0.011 с.) |