ТЕХНИЧЕСКИЕ НАУКИ
УДК 519.673:004.9
ОРГАНИЗАЦИЯ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ ПРОМЫШЛЕННО-ПРИРОДНЫХ КОМПЛЕКСОВ*
А. Я. Фридман
ФГБУН Институт информатики и математического моделирования КНЦ РАН
Аннотация
Рассмотрены особенности управления ходом имитационного моделирования сложных пространственных динамических объектов — промышленно-природных комплексов (ППК). Для организации имитационного режима системы ситуационного моделирования ППК предложено событийное планирование имитации с применением процессного способа организации квазипараллелизма. Отличие такого способа выполнения имитации состоит в том, что при неготовности входных ресурсов для запуска некоторого процесса делается попытка запустить порождающие их процессы, для чего формируется новый список активизируемых процессов, и только при невозможности сделать это имитация приостанавливается до получения указаний пользователя. В практическом аспекте это позволяет повысить устойчивость имитационного режима к оперативным изменениям концептуальной модели ППК. Ключевые слова:
имитационное моделирование, промышленно-природный комплекс, событийное планирование имитации, процессный способ организации квазипараллелизма.
PLANNING OF SIMULATION FOR INDUSTRY-NATURAL COMPLEXES
Alexander Ya. Fridman
Institute for Informatics and Mathematical Modelling of the KSC of the RAS
Abstract
This paper presents organizational features of simulation for complicated spatial dynamic objects, namely Industry-Natural Complexes (INCs). In the situational modeling system for INCs, the simulation mode is proposed to organize by event-driven simulation using process-oriented method to imitate quasi-parallelism. This approach to simulation is distinguished with the following. If any input resources of a certain process are not ready-to-use, the job scheduler attempts to run processes generating these resources. With this purpose, it forms a new list of processes to be activated. Only if this does not work, the scheduler suspends simulation till getting a user instruction. In practical aspect, the proposed approach increases robustness of simulation at operative changes of the INC conceptual model.
Keywords:
simulation, Industry-Natural Complex, event-driven simulation, process-oriented method to imitate quasi-parallelism.
Введение
В рамках имитационного подхода алгоритмы, моделирующие функционирование составных частей объекта, позволяют по исходным данным, содержащим сведения о начальном состоянии объекта, и фактическим значениям его параметров отобразить реальные явления, получить сведения о возможном поведении объекта для данной конкретной ситуации и принять на основании этой информации соответствующие решения. Известно, однако, что предсказательные возможности имитационного моделирования значительно меньше, чем у аналитических моделей.
* Работа частично поддержана грантами РФФИ (проекты №№ 14-07-00256-а, 14-07-00257-а, 15-07-04760-а, 15-07-02757-а, 16-29-04424-офи_м, 16-29-12901-офи_м).
Сам термин «имитационное моделирование» означает, что с помощью используемых математических моделей результат нельзя заранее вычислить или предсказать, поэтому для прогноза поведения реального объекта необходим эксперимент (имитация) на модели при заданных исходных данных.
Имитация представляет собой численный метод проведения компьютеризованных экспериментов с моделями, описывающими поведение объекта в течение заданного или формируемого периода времени, которое в имитационной модели (ИмМ) чаще всего описывается набором алгоритмов, реализуемых на некотором языке (языках) моделирования. Имитируя различные реальные ситуации на ИмМ, исследователь или ЛПР получает возможность оценить эффективность различных принципов управления системой, сравнить варианты структуры объекта, определить степень влияния изменений его параметров и начальных условий имитации на показатель(и) эффективности.
На основании опыта имитационного моделирования сложных систем [1-4] рекомендуется использовать ИмМ в следующих случаях:
1. Если не существует законченной постановки задачи исследования и идет процесс познания объекта моделирования. Имитационная модель служит средством изучения явления.
2. Если аналитические методы имеются, но математические процедуры столь сложны и трудоемки, что имитационное моделирование дает более простой способ решения задачи.
3. Когда, кроме оценки влияния параметров объекта, желательно наблюдать за поведением его компонентов в течение определенного периода.
4. Когда имитационное моделирование оказывается единственным способом исследования системы из-за невозможности наблюдения каких-либо (например критических) явлений в реальных условиях.
5. Когда необходимо контролировать протекание процессов в объекте путем замедления или ускорения явлений в ходе имитации.
6. При подготовке специалистов и освоении новой техники, когда ИмМ дает возможность приобретения необходимых навыков эксплуатации объекта.
7. Когда изучаются новые ситуации в объекте исследования, о которых мало что известно или не известно ничего. В этом случае имитация служит для предварительной проверки новых стратегий и правил принятия решений перед проведением экспериментов на реальном объекте.
8. Когда особое значение имеет последовательность событий в проектируемом объекте и модель используется для предсказания узких мест в функционировании объекта и других трудностей, появляющихся в поведении объекта при введении в него новых компонентов.
В исследуемой проблематике моделирования ППК актуальны все перечисленные варианты использования имитационных моделей, кроме, возможно, второго, который более характерен для давно изучаемых, "устоявшихся" предметных областей. Кроме того, для предлагаемого подхода принципиально важна возможность интегрирования в единую систему моделирования моделей компонентов объекта, построенных разными группами исследователей в разное время и, соответственно, имеющих различные динамические параметры (шаг дискретности, порядок модели и т. д.) и даже различные принципы внутренней организации (например, чисто логические, автоматные и аналитические модели).
Однако имитационные модели наряду с перечисленными достоинствами имеют и существенные недостатки. Разработка хорошей ИмМ часто обходится дороже создания аналитической модели и требует больших временных затрат. Р. Шеннон показал в [4], что ИмМ в принципе неточна и невозможно измерить степень этой неточности. Тем не менее, имитационное моделирование — один из наиболее широко используемых методов при решении задач синтеза и анализа сложных систем. К достоинствам имитационного метода с точки зрения его использования в ситуационной системе моделирования (ССМ) [5], разрабатываемой для моделирования ППК, относятся также: возможность описания поведения компонентов объекта на высоком уровне детализации, отсутствие ограничений на вид зависимостей между
параметрами ИмМ и состоянием внешней среды, возможность исследования динамики взаимодействия компонентов во времени и пространстве параметров системы. Основы имитационного моделирования
Существует множество толкований основных определений таких понятий, как имитационная модель, компоненты и параметры модели, функциональные зависимости, ограничения, целевые функции моделирования. В дальнейшем используются определения, приведенные Р. Шенноном [4].
1. Каждая модель представляет собой некоторую комбинацию таких составляющих, как компоненты, переменные, параметры, функции, ограничения, целевые функции.
2. Под компонентами понимают составные части, которые при соответствующем объединении образуют систему. Иногда компонентами считают также элементы системы или ее подсистемы. Система определяется как группа или совокупность объектов, объединенных некоторой формой регулярного взаимодействия или взаимозависимости для выполнения заданной функции. Изучаемая система состоит из компонентов.
3. Параметрами являются величины, которые исследователь может выбирать произвольно, в отличие от переменных модели, которые принимают только значения, определяемые видом данной функции. В модели системы различают переменные двух видов — экзо- и эндогенные. Экзогенные переменные называются также входными. Это означает, что они порождаются вне системы или являются результатом взаимодействия внешних причин. Эндогенными переменными называются переменные, возникающие в системе в результате воздействия внутренних причин. В тех случаях, когда эндогенные переменные характеризуют состояние или условия, имеющие место в системе, назовем их переменными состояния. Когда же необходимо описать входы и выходы системы, мы имеем дело с входными и выходными переменными.
4. Функциональные зависимости описывают поведение переменных и параметров в пределах компонента или же выражают соотношения между компонентами системы. Эти соотношения по своей природе являются либо детерминистскими, либо стохастическими. Оба типа соотношений обычно выражаются в виде алгоритмов, которые устанавливают зависимость между переменными состояниями и экзогенными переменными.
5. Ограничения представляют собой устанавливаемые пределы изменения значений переменных или условия их изменений. Они могут вводиться либо разработчиком, либо устанавливаться самой системой вследствие присущих ей свойств. В ССМ ППК эти ограничения естественно реализуются принятым списковым форматом представления данных.
6. Целевая функция (функция критерия) представляет собой точное отображение целей или задач системы и необходимых правил оценки их выполнения. Выражение для целевой функции должно быть однозначным определением целей и задач, с которыми соизмеряются принимаемые решения. Как уже упоминалось, целевые функции в ССМ обязательны для всех объектов — компонентов объекта исследования — и могут приписываться каждому процессу, моделирующему то или иное преобразование данных.
При реализации ИмМ используются обычно три представления времени: ^ — реальное время системы, работа которой имитируется на данной ИмМ; £0 — модельное время (системное), по которому организуется синхронизация событий в системе; — машинное время имитации, отражающее затраты этого ресурса компьютера на организацию имитации.
С помощью модельного времени организуется синхронизация всех событий Cij в модели и выполнение алгоритмов АЛj■ компонентов К модели системы, течение времени внутри которых отображается "локальными" временами ti. Предполагается, что на заданных временных интервалах Ту между последовательными моментами ti функционирование каждого алгоритма АЛу (выполнение им некоторого функционального действия ФД'у) не требует вмешательства внешнего управляющего устройства. Таким образом реализуется квазипараллельная работа компонентов ИмМ. Приставка "квази-" в данном случае отражает последовательный характер обслуживания в ИмМ событий, одновременно возникающих в разных компонентах реальной системы.
Корректировка временных координат ti нескольких К ИмМ осуществляется с помощью модельного времени ^ следующим образом. Если значения ti при выполнении АЛу нескольких К1 совпадают (это означает, что в реальной системе происходит одновременно несколько событий Су), последовательно обслуживаются АЛу, совпадающие по времени выполнения, т. е. имеющие одинаковые значения tj■. Здесь и далее под tij будем понимать конкретное значение ti, при котором происходит событие Су. При этом модельное время ^ не меняется до окончания выполнения всех совпавших по времени реализации алгоритмов АЛу. Таким способом последовательно выполняются соответствующие ФД'у при неизменном значении После каждой реализации АЛу, обеспечивающей выполнение в ИмМ ФД'у, производится корректировка временной координаты tгj. Чаще всего эта корректировка сводится к вычислению нового значения tij по формуле tij = ^ + ту. Это значение временной координаты ti запоминается и используется в дальнейшем для определения момента новой активизации в ИмМ компонента К. Под активизацией компонента модели К будем понимать начало выполнения следующей его активности (выполнение алгоритма АЛу и оператора корректировки временной координаты tl).
Когда имитация одновременно появившихся событий Су завершена, выполнены соответствующие алгоритмы активностей АЛу и проведены корректировки временных координат ti, меняется значение глобальной переменной модели
Способы изменения модельного времени
Существуют два способа изменения с помощью фиксированных и переменных интервалов изменения модельного времени. Часто их называют соответственно способами фиксированного шага и шагов до следующего события.
Независимо от способа изменения механизм регламентации изменения модельного времени обычно предусматривает выполнение следующих действий:
выбор событий в модели, которые необходимо обслужить при одном и том же модельном времени
обслуживание событий (инициализация активностей), которые имеют одинаковое время инициализации;
по окончании обслуживания всех одновременных (в пределах шага) событий определение очередного значения модельного времени;
корректировка временной координаты модели
проверка условий окончания моделирования либо по времени завершения имитации, либо по выполнению других событий в системе.
Предпочтение способу фиксированного шага отдается в двух случаях. Во-первых, когда события Су распределены равномерно на всем интервале моделирования и исследователь может подобрать интервал изменения временной координаты Д^ обеспечивающий минимальную погрешность имитации. Во-вторых, когда событий очень много и они появляются группами. Во всех остальных случаях способ задания шага до следующего события более предпочтителен. Если события Су распределены неравномерно и появляются через значительные временные интервалы Ту, способ задания шага до следующего события экономичнее и точнее способа фиксированного изменения Поскольку часть или даже большинство моделей составных частей ППК разрабатываются независимо друг от друга, разными исследователями и должны оперативно интегрироваться в систему моделирования, для имитационного режима работы ССМ более пригоден способ шага до следующего события, который и рассматривается в дальнейшем.
Для обеспечения синхронной работы исполнителей с различными тактовыми частотами в ИмМ происходит аппроксимация каждого происходящего на реальном объекте за заданный временной интервал функционального действия ФДу парой действий: упрощенным функциональным действием ФД'у и модификацией временной координаты 1-го компонента модели ti. Эта пара действий представляет собой «молекулу» ИмМ и называется активностью АКу. Любая АКу состоит из описания алгоритма АЛу и оператора модификации временной
координаты компонента модели М^--. Кроме модификации модельного времени ^ и выполнения операторов М^, в функции модуля управления имитацией (МУИ) входят: запуск на выполнение алгоритмов АЛ--, организация взаимодействия АЛ-- друг с другом в ходе имитации и проверка условий окончания имитации. Таким образом, любая ИмМ реализуется как совокупность набора «молекул», отражающих поведение объекта имитации, и МУИ, организующего взаимодействие этих «молекул» друг с другом.
Способы организации квазипараллелизма
В моделях сложных систем состав активностей в разных компонентах и характер их взаимодействия друг с другом могут быть различными. В одних системах все ФДгу различны и для реализации каждого алгоритма АЛ- активности в модели требуется выполнение своих условий. Такая ситуация часто встречается в системах массового обслуживания. В других системах некоторые ФДгу в разных компонентах аналогичны, совпадают по времени и приводят к одному и тому же событию С- Для реализации в ИмМ каждой такой группы ФД- одним алгоритмом АЛ,-- требуется выполнение своих определенных условий. Для некоторых систем существует сильное взаимодействие между ФД-, которые можно аппроксимировать явно задаваемыми математическими зависимостями при создании ИмМ. В зависимости от состава алгоритмов АЛ--, наличия связей между компонентами, целей и задач моделирования выбирается тот или иной способ представления К, и реализации активностей в имитационных моделях. Наибольшее распространение получили пять способов описания ИмМ: непосредственно активностями, аппаратом событий, транзактами, агрегатами, процессами. Каждому способу описания модели соответствует свой способ организации квазипараллелизма при обслуживании с помощью МУИ активностей, из которых составлена ИмМ. Поэтому различают соответственно следующие способы организации квазипараллелизма: просмотр активностей, составление расписания событий, управление обслуживанием транзактов, управление агрегатами, синхронизация процессов [3].
Один и тот же объект исследования принципиально можно представить любым из указанных способов, однако ИмМ, построенные на их основе, будут отличаться размерами и количеством ресурсов, затрачиваемых на их создание, испытание и использование. Приведем краткое описание особенностей каждого из этих способов организации квазипараллелизма.
При использовании способа просмотра активностей имитация представляет собой чередование выполнения алгоритмов активностей, операторов модификации временной координаты ti и алгоритма МУИ. Вся ИмМ представляет собой набор активностей АК-, каждая из которых после выполнения на компьютере возвращает управление МУИ. Этот способ выгоден только при наличии достаточно простых алгоритмов проверки выполнимости условий инициализации активностей, что в ССМ не имеет места.
При выборе способа составления расписания событий ИмМ создается в виде двух частей: множества активностей {АК-} и набора процедур проверки появления событий и инициализации соответствующих активностей. При этом каждая АК-- имитирует выполнение группы совпавших функциональных действий ФДгу у различных компонентов К, системы. Из-за того, что происходит объединение активностей различных компонентов в составе процедур обслуживания событий, описание ИмМ часто теряет сходство со структурой реальной системы, что может затруднить анализ результатов моделирования и модификацию ИмМ и, следовательно, в ССМ нежелательно.
Транзактный способ организации квазипараллелизма применяется при одинаковых функциональных действиях ФД- компонентов реальной системы и ограниченности числа этих действий, что встречается в системах массового обслуживания, однако в ССМ маловероятно.
Агрегатный способ организации квазипараллелизма используется при наличии взаимодействий между функциональными действиями компонентов системы, для каждого компонента допустимо только ограниченное и заранее известное число состояний. Такое описание обычно пригодно для автоматных моделей. В принципе, агрегатный способ
организации квазипараллелизма в ИмМ достаточно удобен для описания сложной системы. Однако необходимость коммутации и обслуживания сигналов требует дополнительных затрат ресурсов машинного времени t,. За удобство описания и математическую строгость модели приходится расплачиваться дополнительным расходом t,, и это обстоятельство сдерживает использование указанного способа.
Процессный способ организации квазипараллелизма применим, когда все функциональные действия ФДу компонентов реальной системы различны. Условия появления событий Су, приводящие к выполнению ФДу, также индивидуальны. Каждому компоненту К нужна определенная последовательность выполнения ФДу. В любой момент времени в данном компоненте может выполняться только одно ФДу. При процессном подходе краткость описания активностей объединяется с эффективностью событийного представления имитации. Таким способом можно организовать имитацию любых сложных систем, но он особенно эффективен в случаях, когда требуется высокий уровень детализации выполнения ФДу при их аппроксимации с помощью АЛу, и сама ИмМ используется для поиска узких мест в системе. При этой постановке задачи моделирования очень важно соблюдение сходства структуры модели и объекта исследования, что обеспечивается процессным способом имитации. Реальную систему удобнее всего имитировать процессным способом, когда в один и тот же момент времени не может реализоваться более одного ФДу данного 1-го компонента реальной системы. Тогда исследователю удобнее рассматривать функционирование компонентов модели К как единое целое. Всю ИмМ можно представить в виде набора описаний процессов, каждое из которых описывает один класс процессов, причем допустимы информационные и управляющие связи не только между К, но даже между отдельными алгоритмами их функционирования. Поскольку такие требования к структуре ИмМ предъявляются в ССМ, в последней предпочтительно применять именно этот способ организации имитации, рассмотрим его подробнее.
Принципы процессного способа организации квазипараллелизма
На рисунке 1 представлена схема взаимодействия МУИ с моделью объекта, состоящей из описаний процессов. Алгоритм функционирования ИмМ формируется последовательным взаимодействием процессов и МУИ. В процессы объединяются связанные между собой активности, которые определяют функционирование одного и того же компонента модели К1. Таким образом, имеет место полное соответствие компонентов реальной системы и ее ИмМ. Каждый компонент объекта моделирования имитируется своим процессом. Переход от выполнения одной активности к другой активности того же процесса считают изменением его состояния и называют активизацией процесса.
Обычно под состоянием процесса понимают номер (у) той активности, которая входит в состав 1-го процесса и на которую МУИ передает управление при свершении события Су в К1. Изменения состояний объекта моделируются изменениями соответствующих состояний процессов и появлением событий Су.
Вся ИмМ представляет собой набор процессов, реализованных на некотором языке моделирования. Процессы связаны с МУИ с помощью определенных операторов этого языка, по которым происходит обращение к МУИ при завершении активности данного процесса, означающее переход процесса в другое состояние. Отметим, что проверка выполнимости условий активизации процесса и появления событий Су осуществляются самим процессом. Будучи активизированным, выполнение процесса (некоторой его активности) может начаться немедленно либо задержаться до появления определенных условий или до изменения состояний других процессов. Процессы могут переходить в новые состояния как по своей инициативе, так и в результате действий, выполняемых активностями других процессов.
В простейшем случае взаимодействия между активностями, из которых состоят процессы, нет, и все активности обращаются к МУИ с помощью операторов синхронизации WAIT(Тj■) [3].
Каждый такой оператор означает, что данному ,-му процессу по окончании выполнения алгоритма АЛ- активности АК- назначается момент следующей активизации tij по окончании ожидания процесса в модельном времени длительностью т-. Началу выполнения АЛ- процессов соответствуют адреса а- в подпрограммах, реализующих выполнение активностей, которые объединены в процессы. МУИ работает с массивом состояний процессов (МС) и таблицей состояний процессов (ТС). В МС каждый элемент представляет собой пару значений (,, - где , — номер процесса; tij — момент --й активизации процесса в будущем и появления события С--. Для выбора процессов, требующих активизации в момент МУИ использует ТС. Строки этой таблицы — списки параметров процессов. Так, ,-й процесс описывает строка, в которой указаны: а- — адрес передачи управления на выполнение --й активности в ,-м процессе; tож — время, которое осталось ,-му процессу находиться в состоянии ожидания, когда он останавливается другим процессом; п — приоритет ,-го процесса, согласно которому осуществляется последовательное обслуживание двух одновременно активизируемых процессов.
Все элементы МС упорядочены по возрастанию значения tij. Если какой-либо 1-й процесс остановлен (хотя бы даже для обслуживания его МУИ в моменты активизации), то время последующей его активизации в МС бесконечно велико ^у = да) и соответствующий ему элемент находится в конце этого массива. Определено понятие "конфликтная ситуация в системе дискретных событий": несколько событий Су в различных процессах происходят одновременно и требуют немедленного обслуживания со стороны МУИ. Это возможно, например, при наличии в МС нескольких элементов с одним и тем же значением tу. Учет конфликтных ситуаций производится с помощью списка одновременно активизируемых процессов (САП). В САП заносятся номера всех процессов, которые необходимо активизировать в одно и то же модельное время Запись номеров процессов I в САП и выбор их из этого списка МУИ осуществляет согласно приоритетам процессов п1. Обслуживание МУИ очередного элемента САП состоит в передаче управления на выполнение алгоритма АЛу 1-го процесса. Выполнение этого алгоритма продолжается до появления в нем очередного оператора синхронизации процесса WAIT(тlj).
С помощью операторов ожидания типа WAIT(тlj) имитируется изменение временных координат активностей, входящих в состав 1-го процесса.
Пусть задано время окончания моделирования Ток, а условие окончания моделирования — достижение модельным временем ^ значения Ток. МУИ обслуживает процессы согласно алгоритму, представленному ниже. Пусть в начальный момент моделирования ^ = т0 список активизации процессов пуст и процессам назначены соответственно моменты активизации t2l, Ы в МС.
Шаг 1. Поскольку САП пуст, то осуществляется процедура смены представляющая собой выбор минимального значения из МС (^ = тт^у}).
Шаг 2. Формируется САП следующим образом. Все процессы, у которых tу < выбираются из МС и заносятся в САП согласно их приоритетам по ТС.
Шаг 3. Выбирается первый элемент САП, который необходимо активизировать в момент tу = По ТС определяется адрес ау, и управление от МУИ передается на выполнение алгоритма соответствующей активности. По окончании выполнения алгоритма активности появляется оператор ожидания 1-го процесса следующей активизации WAIT(Тj■). В ходе реализации алгоритма активности АКу происходит вычисление или задание значения Ту для операторов синхронизации процессов. Появления в алгоритме 1-го процесса операторов синхронизации WAIT(Тj■) возвращают управление МУИ, выполняющему следующие действия:
формирование нового элемента МС и занесение его в этот массив согласно значению t у = Ь + т у;
модификацию текущего состояния процесса и изменение адреса передачи управления ау для очередной активизации процесса I в ТС.
Шаг 4. Проверяется, исчерпан ли САП. Если в нем есть еще элементы, то МУИ переходит к шагу 2. Иначе выполняется шаг 5.
Шаг 5. Проверяется момент окончания моделирования (10 > Ток). Если это неравенство не выполняется, то имитация продолжается, начиная с шага 1. В противном случае управление передается программе окончания моделирования.
При процессном способе имитации однозначное соответствие между структурой модели и реального объекта облегчает обозрение принятых предположений и упрощений, что важно в задачах моделирования открытых систем, когда в ходе проектирования или исследования объекта в модель приходится вносить частые изменения. Процессный способ имитации обладает хорошими изобразительными возможностями при многоуровневом и модульном подходе к моделированию систем. Эти преимущества возрастают по мере роста размеров модели.
Организация имитационного моделирования в ССМ
Теперь покажем, какие параметры концептуальной модели предметной области (КМПО) в ССМ используются для создания возможности реализации имитационного режима изучения объекта моделирования.
При разработке ССМ сделано предположение о том, что программные модули и функции, имитирующие процессы КМПО, построены согласно принципам теории пространства состояний [6], т. е. задание значений векторов состояния и входных переменных (управлений)
для каждого из s моментов времени tv ::= ti - hv (v ::= 0,s, h > 0 — шаг дискретности модели процесса во времени) назад от текущего значения локального времени данного процесса ti обеспечивает вычисление значения вектора выходных переменных на этот момент времени. s ::= 0 означает безынерционную модель процесса.
Для повышения общности допускается вводить управления на меньшем количестве шагов, чем s, формат описания динамики процессов КМПО совпадает с разностным уравнением состояния общего вида [7]:
Xk+1 = f (Xk,Xk-!,...Xk-s;Uk+1,uk,...uk-q+i), 0 < q < s, (1)
Ук+1 = q(xk+i),
где x, y с list_out(pi), причем x u y = list_out(pi), x n y = 0 — векторы (множества) элементов состояния и выходных переменных процесса p; u с list_in(pi) — множество управляющих переменных; к — индекс момента дискретного времени; list_in(pi) и list_out(pi) — списки входных и выходных переменных процесса pi соответственно.
Согласно (1), в алгоритмические спецификации (далее такие спецификации элементов КМПО названы фреймами) процессов КМПО при описании исполнителей процессов пользователем вводятся величины s, q и h, упомянутые выше, а также признак типа аппроксимации, используемой для вычисления значений выходных переменных в промежуточные моменты времени. Для синхронизации изменений выходных переменных каждого процесса все они аппроксимируются однотипно. В исследовательской версии ССМ допускается аппроксимация сплайнами до 5-го порядка. Кроме того, перед началом имитационного режима во фреймы процессов заносятся приоритеты процессов (см. ниже), используемые для разрешения конфликтов при проведении имитации, а в ходе самой имитации — время будущей активизации данного процесса. Оно же связывается с текущими значениями выходных ресурсов процесса, которые хранятся во фреймах этих ресурсов. Здесь же хранится организованный в виде стека массив предшествующих значений ресурса, используемых для аппроксимации. Размерность этого массива зависит от типа аппроксимации. Для внешних данных и ресурсов, задаваемых по сценарию, тип аппроксимации и шаг дискретности во времени вводятся во фреймы ресурсов вручную.
При экстраполяции поведения объекта в рамках того или иного сценария фиксируется исследуемый фрагмент КМПО, и при необходимости исключаются содержащиеся в нем альтернативы, которые пользователь не считает целесообразным анализировать. Соответственно, эти альтернативы исключаются из процедур классификации ситуаций. Кроме того, задается интервал имитации (начальный и конечный моменты модельного времени t0). В ходе имитации основную роль играют процессы КМПО, поскольку именно их исполнители (а также экспертная система — ЭС ССМ, если она является исполнителем каких-либо процессов и/или ресурсов изучаемого фрагмента модели) производят вычисления значений ресурсов в динамике.
Диаграмма перехода состояний (STD) для процессов КМПО приведена на рис. 2 ниже. Она соответствует обоснованному ранее процессному способу организации имитационного режима изучения фрагмента модели с учетом структуры КМПО ССМ.
В любой заданный момент модельного времени t0 некоторый процесс pi может находиться в одном из пяти показанных на рисунке состояний: активен, пассивен, отложен, блокирован либо находится в списке активизируемых процессов (САП).
Процесс pi пассивен, если хранящееся в его фрейме время будущей активизации ti]- > t0. Процесс заносится в список активизируемых процессов, если tiJ- < t0. Его место в списке определяется приоритетом процесса, рассчитанным при анализе разрешимости исследуемого фрагмента (см. ниже). При записи процесса в список активизируемых проверяется готовность
всех его входных ресурсов по условию: время вычисления их текущих значений должно быть не меньше Если это условие нарушено хотя бы для одного из входных ресурсов данного процесса, он помечается как отложенный. Когда процесс поднимается в первую строку списка активизируемых процессов, то, если он отложен, проверяется готовность всех процессов, входящих во множество порождающих его процессов: время их будущей активизации должно быть не меньше Если это условие выполнено, то процесс переводится в состояние «активен», в противном случае он переходит в состояние «блокирован», что интерпретируется как сигнал неисправности, поскольку при правильной расстановке приоритетов и корректности КМПО этого быть не должно. Теперь изложим алгоритм расстановки приоритетов.
Рис. 2. STD процесса ССМ
Расстановка приоритетов процессов имитируемого фрагмента
Как отмечено ранее, перед исследованием фрагмента модели в динамическом режиме необходимо определить порядок вызовов исполнителей процессов, участвующих в реализации этого фрагмента, т. е. внести в их фреймы приоритеты щ, которые используются при определении порядка обслуживания одновременно активизируемых процессов ИмМ ССМ. Для этого применяется алгоритм, описанный в [5].
Идея алгоритма расстановки приоритетов ni процессов pi некоторого фрагмента модели ССМ состоит в присвоении старших приоритетов процессам более низких уровней декомпозиции (согласно принципу приоритета действий [8] процессы более высоких уровней получают информацию с нарастающим запаздыванием). В пределах уровня старший приоритет получают процессы, потребляющие только внешние (по отношению к изучаемому фрагменту) ресурсы, а процессы, потребляющие выходные ресурсы некоторого процесса, получают меньший приоритет, чем этот процесс. Если между несколькими процессами имеет место цикл по ресурсам, то старший приоритет получает процесс с большим шагом дискретности по времени. При работе алгоритма используются результаты разметки циклов, выполняемые при контроле ацикличности модели [5], т. е. считается, что все процессы, входящие в какой-либо
цикл, имеют пометку в виде номера этого цикла. Как уже отмечалось, в имитационном режиме работы ССМ реализуется способ шага до следующего события (событийное планирование имитации) и процессный способ организации квазипараллелизма.
Рис. 3. Схема работы ИмМ ССМ
Схема имитационной модели ССМ приведена на рис. 3.
Отличие в организации работы ИмМ ССМ от схемы, представленной на рис. 1, состоит в том, что при неготовности входных ресурсов для запуска некоторого процесса делается попытка запустить порождающие их процессы, для чего формируется новый список активизируемых процессов, и только при невозможности сделать это имитация приостанавливается до получения указаний пользователя.
По сравнению с «обычными» исполнителями процессов при использовании ЭС ССМ для исполнения процессов и/или ресурсов КМПО имеются некоторые отличия в организации имитационного режима. Они заключаются в следующем. Если ЭС назначена исполнителем некоторого ресурса, то она запускается, когда этот ресурс нужен для запуска процесса, где он является входным, а момент времени, на который было вычислено текущее значение ресурса, меньше модельного времени (выход "Нет" блока проверки "Управляющие переменные готовы?" на схеме ИмМ). При этом данный ресурс указывается в качестве цели экспертизы. По завершению экспертизы новому значению ресурса присваивается время вычисления, равное минимальному времени вычисления листьевых ресурсов, использованных в ходе экспертизы. Если же ЭС назначена исполнителем некоторого процесса КМПО, то все его входные ресурсы должны быть в наборе листьевых данных ЭС, а все его выходные ресурсы — вычисляться в ходе экспертизы. Запуск ЭС в таком случае производится по результатам анализа приоритетов, как и запуск других процессов КМПО, и всем вычисленным выходным ресурсам процесса время назначается так же, как и при исполнении ресурса. В качестве цели экспертизы назначается
любой выходной ресурс исполняемого процесса, а по окончании экспертизы производится проверка, вычислены ли новые значения всех выходных ресурсов данного процесса, в противном случае выдается сообщение о неисправности. Если по ходу экспертизы (как при исполнении ресурса, так и при исполнении процесса) кроме требуемых ресурсов вычисляются значения еще каких-либо ресурсов фрагмента, эти значения также заносятся во фреймы соответствующих ресурсов с тем же значением времени.
Процедура имитации каждого процесса в общем случае включает следующие стадии.
1. Подготовка данных для имитации — состоит в формировании массивов векторов состояния и управлений, необходимых для срабатывания процесса (см. равенства (1)). Для этого используются области памяти со стековой организацией, в которые из БД переписываются значения переменных состояния и управления данного процесса для требуемых моментов времени.
2. Запуск исполняемого модуля (с предварительной компиляцией, если это требуется для заданного типа исполнителя).
3. Запись новых значений выходных ресурсов в соответствующие фреймы ресурсов и сдвиг информации в стеках векторов состояния процесса.
Эта процедура также имеет особенности, если исполнителем является ЭС ССМ, когда требуется реализовать правила, содержащие пространственно-временные функции (ПВФ) [5]. В подобных случаях между шагами 2 и 3 имитации процесса могут добавляться обращения ЭС к базам исходных данных, БД КМПО и/или ГИС для получения необходимой информации. Для сложных запросов таких обращений может быть несколько. Они реализуются средствами языка SQL, что повышает мобильность системы.
Примеры применения предложенного способа организации имитационного моделирования в настоящей работе не приводятся из-за большого объема их описания. Описания некоторых приложений имеются в [5, 9, 10].
Заключение
Показано, что для систем имитационного моделирования сложных пространственных динамических объектов типа ППК, когда модель объекта подвергается оперативной модификации в процессе моделирования, предпочтительно событийное планирование имитации с применением процессного способа организации квазипараллелизма. Отличие такого способа выполнения имитации состоит в том, что при неготовности входных ресурсов для запуска некоторого процесса делается попытка запустить порождающие их процессы, для чего формируется новый список активизируемых процессов, и только при невозможности сделать это имитация приостанавливается до получения указаний пользователя. В практическом аспекте это позволяет повысить корректность выполнения имитационного эксперимента при изменениях концептуальной модели ППК.
ЛИТЕРАТУРА
1. Таха Х. А. Глава 18. Имитационное моделирование // Введение в исследование операций — Operations Research: An Introduction. 7-е изд. М.: «Вильямс», 2007. С. 697-737. 2. Строгалев В. П., Толкачева И. О. Имитационное моделирование. М.: МГТУ им. Баумана, 2008. С. 697-737. 3. Максимей И. В. Имитационное моделирование на ЭВМ. М.: Радио и связь, 1988. 232 с. 4. Шеннон Р. Имитационное моделирование систем. Искусство и наука. М.: Мир, 1978. 417 с. 5. Фридман А. Я. Ситуационное управление структурой промышленно-природных систем. Методы и модели. Саарбрюккен: LAMBERT Academic Publishing, 2015. 530 с. 6. Деруссо П., Рой Р., Клоуз М. Пространство состояний в теории управления. М.: Наука, 1970. 620 с. 7. Корн Г., Корн Т. Справочник по математике. Для научных работников и инженеров. М.: Наука, 1987. 832 с. 8. Месаpович М., Мако Д., Такахаpа И. Теория иерархических многоуровневых систем. М.: Мир, 1973. 344 с. 9. Программно-алгоритмическая организация системы ситуационного управления промышленно-природными комплексами / С. А. Бойков [и др.] // Труды ИСА РАН. Прикладные проблемы управления макросистемами (Апатиты, 5-9 апреля 2004 г.): сб. докл. Т. 8. М.: Едиториал УРСС, 2004. С. 199-210. 10. Ситуационное моделирование промышленно-природных комплексов на основе концептуального подхода / А. А. Зуенко [и др.]. // История науки и техники. 2014. № 1. С. 53-68.
Организация имитационного моделирования промышленно-природных комплексов Сведения об авторе
Фридман Александр Яковлевич — доктор технических наук, ведущий научный сотрудник Институт информатики и математического моделирования КНЦ РАН E-mail: [email protected]
Author Affiliation
Alexander Ya. Fridman — Dr. Sci. (Engineering), Leading Researcher of the Institute for Informatics and Mathematical Modelling of the KSC of the RAS E-mail: [email protected]
Библиографическое описание статьи
Фридман, А. Я. Организация имитационного моделирования промышленно-природных комплексов / А. Я. Фридман // Вестник Кольского научного центра РАН. — 2016. — № 3 (26). — С. 126-138.
Reference
Fridman Alexander Ya. Planning of Simulation for Industry-Natural Complexes. Herald of the Kola Science Centre of the RAS, 2016, vol. 3 (26), pp. 126-138. (In Russ.).