Содержание к диссертации
Введение
ГЛАВА 1. Обзор и анализ способов описания сложных систем, методы и средства их исследования 20
1.1 Сложные системы и методы их исследования 20
1.1.1. Цели и функции 25
1.1.2. Состав системы, связи и ее структура 27
1.1.3. Управляющие воздействия наблюдателя 34
1.1.4. Способы описания функционирования систем 35
1.1.5 Показатели функционирования систем 44
1.2. Модели систем и их классификация 49
1.2.1. Аналитические модели 50
1.2.2. Имитационные модели 55
1.2.3. От учебных моделей до имитационной экспертизы 59
1.3 Обзор языков и систем имитационного моделирования 65
1.4 Современное состояние ИМ в России и странах СНГ 68
1.5 Разработка отечественных языков и средств ИМ 69
1.6 Использование, дистрибуция и поддержка известных средств ИМ 73
ГЛАВА 2. Эволюция традиционной методологии имитационных исследований 77
2.1 Традиционная методология проведения ИИСС 77
2.2 Общая модель процесса ИИСС 95
2.3 Основные показатели процесса ИИСС 101
2.5 Анализ длительности проведения ИИСС 104
2.6 Уровень полезности применения результатов ИИСС 108
2.7 Анализ индекса потенциального использования метода ИИСС 111
2.8 Стоимость проведения ИИСС 115
2.9 Эволюция процесса проведения ИИСС 119
2.9.1 Автоматизация ручных операций исследователя и совершенствование программ на всех этапах ИИСС 120
2.9.2 Изменение содержания и структуры ИИСС 138
ГЛАВА 3. Новая методология проведения имитационных исследований 151
3.1 Объективные предпосылки возможности создания новой методологии и технологии проведения ИИСС 151
3.2 Общее описание новой методологии 154
3.2.1 Парадигма абстрактных уровней описания ИИСС 156
3.2.2 Определения 158
3.2.3 Концептуальные основы программной технологии Techuu 161
3.2.4 Обобщенные показатели качества технологии 164
3.3 Системы автоматизации имитационных исследований 166
3.4 Классификация САИИ 171
3.5 Идеи и предпосылки создания технологии массовой разработки САИИ 174
3.5 Концептуальные принципы организации исследования в САИИ 178
3.6.1 Централизация управления исследованием 180
3.6.2 Интеграция данных, моделей и результатов 181
3.6.3 Предметная направленность языка взаимодействия с САИИ 187
3.6.4 Автоматическая генерация имитационных моделей 190
3.6.5 Коллективные исследования 192
3.6.6 Унификация сопряжения программ и данных 194
3.7. Облачное моделирование 195
3.7.1. Облачные САИИ 197
3.7.2 Проект GPSS Cloud по модели PaaS 199
ГЛАВА 4. Системы автоматизации имитационных исследований ..204
4.1 Разработка концептуальной модели САИИ 204
4.2 Пример практической реализации САИИ профессионального использования...209
4.2.1 Расширенный редактор GPSS World 210
4.2.2 Состав программных подсистем 212
4.3. Пример использования расширенного редактора 216
4.3.1 Структура и интерфейс имитационного приложения 218
4.3.2 Подсистема анализа результатов моделирования 224
4.4 Концептуальная модель САИИ для массового использования 228
4.5 Концептуальная модель и пример практической реализации имитационного приложения 236
4.5.1 Концептуальная модель имитационного приложения 236
4.5.2 Пример разработки имитационного приложения 239
4.5.3 Структура имитационного приложения 244
Заключение 248
Список использованной литературы
- Управляющие воздействия наблюдателя
- Анализ длительности проведения ИИСС
- Парадигма абстрактных уровней описания ИИСС
- Структура и интерфейс имитационного приложения
Управляющие воздействия наблюдателя
Существует множество определений понятия «сложная система» и ее сущности. Можно выделить две группы определений.
Первая группа - это достаточно общие определения и представляют собой философские толкования сущности системы и относят понятие системы к одной из наиболее удобных форм познания окружающего нас мира [7]. Например, в Большой советской энциклопедии [10] система определяется как «... объективное единство закономерно связанных друг с другом предметов, явлений, а также знаний о природе и обществе». Эти определения системы основываются на безграничности познания мира. С точки зрения исследования систем это означает, что любая самая сложная система являются составляющей другой, еще более сложной системы. И любой, на сегодняшний день, конечный элемент системы может впоследствии быть «расщеплен» на более мелкие, составляющие его элементы. А выявленные закономерности функционирования и развития систем - результат последовательного изучения и познания мира [13].
Вторая группа определений - [7, 81, 15], дает четкое формальное математическое описание функций, состава и структуры системы, способов и средств управления системой.
При дальнейшем изложении материала диссертационной работы, соглашаясь с идеями и концепциями, положенными в основу определений первой группы, будем ориентироваться на формальные математические определения систем, которые будут в дальнейшем использоваться и при описании их моделей. Для формализации представления системы существует ряд теоретических подходов и направлений. В последние двадцать лет даже сформировалось несколько междисциплинарных научных направлений - теория систем, системный подход, системология, системный анализ ([7, 28, 29]). Последнее направление впитало в себя все лучшее и необходимое для анализа и синтеза сложных систем из названных выше направлений, а также методов исследования операций, теории управления системами, теории вероятности и математической статистики, методов оптимизации и т.д.
В качестве примера такого подхода для конкретной предметной области приведем определение информационной системы, сделанное В.Н.Волковой, базирующееся на системно-целевом подходе [27]. Это тип систем, достаточно близкий к тем автоматизированным системам, которые мы будем рассматривать в дальнейшем при анализе процесса имитационных исследований. Z — множество целей, которые в автоматизированной информационной системе могут интерпретироваться как структура функциональной части (совокупность подсистем и компонент). А в документальных и документально-фактографических информационных системах — как потребности; STR — структуры информационных массивов. В различных информационных системах это разные структуры: базы данных в фактографических системах; поисковые массивы документов (множество снабженных поисковыми образами документов) в документальных информационно-поисковых системах; хранилища информации разного рода (выбор термина диктуется объемами информационных массивов и конкретными условиями); LS = (RL, IND, KSS) — л огико-семантический аппарат, включающий информационно-поисковые языки RL, систему индексирования IND и критерии выдачи (или критерии смыслового соответствия KSS); ТЕСН — технологии в широком смысле: включая технические средства (т. е. приспособления или устройства, которые необходимы для сбора, регистрации, хранения, обработки и представления информации); методы сбора, хранения, обработки информации, включая алгоритмы, программные процедуры или пакеты прикладных программ, информационные технологии и т. п.; COND — условия, т. е. внешние (ext) и внутренние (int) факторы, влияющие на создание и функционирование информационной системы. Для их анализа полезно использовать признак «пространство инициирования целей», т. е. выявлять факторы над системы и актуальной среды (ext), подведомственной и собственно системы (int); AT — временной интервал создания и функционирования («жизни») информационной системы; ./V — люди, взаимодействующие с системой, т. е. те, кто пользуется данной информационной системой и обслуживает ее, осуществляет индексирование документов и информационных запросов, выбирает стратегию поиска, а также выполняет другие интеллектуальные операции, без которых невозможен информационный поиск.
Это определение может интерпретироваться в каждом конкретном случае с учетом назначения, вида информационной системы и условий ее разработки.
В данной диссертации не будем описывать подробно теоретические подходы для представления других сложных систем, а также описывать все методы их анализа. Это давно и блестяще сделано в других публикациях, например: [16, 20, 43, 93, 104]. Дадим лишь краткое формальное представление сложной системы, основываясь на результатах, изложенных в этих публикациях с применением теоретико-множественного подхода. Также в последующих главах адаптируем это представление под цели и задачи, стоящие в данной работе - разработке новой методологии имитационных исследований.
Для краткости изложения будем в дальнейшем упускать прилагательное «сложная» при упоминании сложной системы. Т.е. если мы говорим «система», то это в любом случае сложная система, требующая исследования.
Системный анализ базируется на естественнонаучном подходе, корни которого уходят в прошлые века. Любое исследование при таком подходе состоит из двух взаимодополняющих подходов: анализа и синтеза.
Анализ, по своей сути, это процесс разделения целого на части. Всегда в начале исследования важно выяснить цель и функции системы, из каких частей (элементов, подсистем) состоит система. Какими свойствами обладают эти части. Как они взаимодействуют друг с другом. Посредством анализа исследователь, конечно, приобретает знания о системе, закономерностях ее поведения. В то же время в процессе анализа нельзя в полной мере понять свойства системы в целом, найти оптимальные варианты ее построения и функционирования.
Поэтому всегда системное исследование начинается с анализа, а заканчивается синтезом. В самом общем виде синтез - это построение целого из частей. Применение синтеза позволяет достичь более полного понимания системы в целом, выделить наиболее важные ее общие характеристики, получить наиболее оптимальные значения показателей функционирования системы в целом.
Анализ длительности проведения ИИСС
Для простых и сложных моделей длительность одиночного эксперимента небольшая и составляет секунды или минуты. Для сложных моделей это десятки минут и даже несколько часов. А с учетом того, что на этом этапе серия экспериментов может быть запущена неоднократно (после анализа или доработок), то общая длительность этапа Т9 складывается из длительности всех экспериментов в серии. Практика проведения сложнейших исследований показывает, что оно состоит из множества экспериментов и серий экспериментов (это десятки, сотни и, может быть, тысячи экспериментов). И, следовательно, общая длительность (с учетом его многократной повторяемости) может составлять от недели до месяца.
По мере накопления результатов осуществляется их интерпретация. Не все результаты могут быть пригодны для формирования рекомендаций и использоваться в заключительном отчете. Более того, по результатам некоторых экспериментов могут выявляться ошибки и недочеты на различных этапах исследования. В этом случае необходимо вернутся на тот этап, в котором выявлена ошибка, и вновь продолжить процесс, начиная с этого этапа. Возможности и глубина анализа зависит от доступных исследователю функций используемой системы ИМ. Впрочем, все современные системы ИМ обладают приблизительно одинаковыми возможностями анализа.
Когда для анализа не хватает возможностей средств, имеющихся в языках ИМ, пользователь привлекает для анализа программные средства сторонних разработчиков. Например, средства корреляционного, дисперсионного и регрессионного анализа в пакетах обработки статистики.
Заключительным действием исследователя при интерпретации результатов исследования должна быть выработка методических рекомендаций для Заказчика по улучшению показателей работы системы.
Длительность итерации на данном этапе - Тю различна в различных ситуациях. Для анализа результатов одного прогона она непродолжительна. Больше усилий необходимо приложить для анализа серии результатов и длится это дольше. А еще сложнее оценить совокупность всех результатов и решить, закончить исследование или нет. Для сложных систем максимальная длительность одной итерации этого этапа в рамках используемой системы ИМ укладывается в несколько десятков минут, а при использовании программных средств сторонних разработчиков - в несколько часов, а может быть и дней. В целом общая длительность процесса, с учетом возможных итераций, составляет в среднем от одного дня до недели. Этап 11 - «Реализация результатов ИИСС».
В случае если после очередной серии экспериментов исследователь поймет, что все необходимые эксперименты сделаны, то процесс ИИСС переходит на этап результирующего анализа и оформления исследования. После его оформления и формулирования рекомендаций по улучшению характеристик функционирования системы можно передать отчет собственнику системы, чтобы он мог приступить к их реализации. Чаще всего результаты передаются Заказчику в виде отчета и методических рекомендаций. В некоторых случаях передается программная модель. Но в этом случае требуется обучение специалистов Заказчика работе с ней.
В большинстве случаев при комплексном анализе используются программные средства сторонних разработчиков, так как они обладают более мощными и фундаментальными средствами анализа и оформления результатов.
Проведем анализ процесса ИИСС в несколько иной плоскости - с точки зрения формального описания действий исследователя в процессе. При этом не будем вдаваться в методические, теоретические и программные особенности этапов ИИСС. Наша цель -представить весь процесс формально в виде совокупности ручных и автоматизированных операций, реализующих процесс ИИСС. Эти операции исполняются, взаимодействуют друг с другом и внешней средой. Таким образом, последовательно реализуется этап за этапом.
Рассмотрим математическое описание процесса ИИСС в самом общем виде. За основу рассматриваемой модели возьмем результаты, полученные в диссертации и статьях автора данного подхода [39, 40]. При этом мы модифицируем это описание под цели и задачи диссертации.
Для упрощения и структурного описания процесса ИИСС введем ряд обозначений и уточним определение ИИСС.
Определение 2.3. Процесс ИИСС это множество, состоящее из конечного числа этапов (п) - S=(Si,S2,...,Sn), которые должны быть в той или иной мере обязательно исполненными. В зависимости от результатов исполнения управляющих воздействий исследователя или внешней среды в процессе исследования этапы могут неоднократно повторяться.
Каждый этап - это последовательность использования исследователем некоторого комплекса программ или ручных операций, реализующих данный цикл имитационного исследования. Управляет процессом переходов между этапами непосредственно сам исследователь. Так как процесс ИИСС конечен, то и количество повторов любого этапа также конечно. Обозначим количество повторов этапов в процессе ИИСС матрицей - R =\_Гі, Г2, ... Гп] где, Г,-- коэффициент повторов этапов (целое число), І=1,П
Процесс ИИСС протекает таким образом, что в любой момент может перейти на любой, пусть даже ранее и выполненный этап. Это зависит от многих факторов -сложности модели, квалификации исследователя, изменения исходных данных, ошибок и т.д. По своей природе все они случайны. Поэтому можно ввести вероятности перехода от одного состояния к другому. Если обозначить вероятность перехода от этапа I к этапуу -PiJ, то матрицу вероятностей переходов можно представить в следующем виде.
Одним из наиболее важных показателей процесса ИИСС является общее время проведения имитационных исследований. Обозначим общее время исследования Тии. Если среднее время выполнения отдельного і-го этапа один раз обозначить У,-, тогда с учетом коэффициента повторений этапов Тии можно вычислить по следующей формуле. TUu = ltiRi Ti, тЫ=1,п (2.6) Рассмотрение процесса ИИСС на уровне этапов ИИСС слишком укрупненное. Оно не позволяет детализировать и отобразить суть ИИСС. Поэтому необходимо более детально рассмотреть каждый этап.
Определение 2.4. Любой этап процесса ИИСС S,-; - это множество Si=(Si ,S2...Sm ), являющееся подмножеством S и состоящее из конечного числа (т) состояний, которые все могут быть исполнены хотя бы один раз. В зависимости от результатов исполнения этапов, состояний, управляющих воздействий пользователя или внешней среды выполнение любого состояния может быть повторено.
На каждом из этапов процесс ИИСС последовательно переходит из одного состояния в другое. В зависимости от результатов исполнения текущего состояния, управляющих воздействий или других внешних воздействий, процесс исполнения этапа может быть продолжен переходом к любому состоянию этапа или завершением данного этапа и переходом к любому другому этапу. Обозначим количество состояний каждого этапа І индексом j (j=l,Ttli). Аналогичным образом, как и при описании процесса ИИСС на уровне этапов и учитывая конечное число состояний этапов, введем для каждого этапа Si следующие показатели процесса ИИСС:
Парадигма абстрактных уровней описания ИИСС
Структура и интерфейс имитационного приложения
Для расширения круга потенциальных пользователей необходимо в процессе развития технологии САИИ постепенно уходить от написания текста модели исследователем. Конечно, при использовании в качестве моделирующего ядра языка ИМ в конечном виде модель формируется в виде текстового файла. Но это все закрывается от исследователя. Он должен конструировать модель из стандартных блоков и элементов, подобно детскому конструктору. Таким образом, в состав САИИ обязательно должны входить программные компоненты автоматической генерации текста на основании данных (графических образов, типовых блоков, структурной схемы, сценариев поведения, количественных параметров и т.д.), введенных исследователем. Описание моделируемой системы в САИИ формализуется с помощью специального математического аппарата абстрактного описания сложных дискретных систем. В самом общем виде этот подход был представлен во второй и третьей главе.
Для каждого САИИ могут быть свои способы и особенности реализации описания модели и автоматической генерации кода модели на языке ИМ.
Определяющей и центральной подсистемой любой САИИ является подсистема моделирования. Данная подсистема является ядром всей системы. Конечно, можно каждый раз при создании САИИ разрабатывать свой симулятор. И в некоторых исключительных случаях это оправдано. Но, как показано в главе 1, существует множество мощных и проверенных на практике общецелевых языков имитационного моделирования. Именно на них и нужно в первую очередь ориентироваться при создании подсистемы моделирования САИИ.
В функции подсистемы моделирования будет входить не только создание, отладка и исполнение исходного кода на некотором общецелевом языке имитационного моделирования. Обеспечение возможностей автоматизированного или полностью автоматического создания исходных текстов моделей стало обязательной функцией подсистемы моделирования современной САИИ. Генерация исходного кода модели должна осуществляться на выбранном языке и на основе введенных исследователем данных. В самом общем виде последовательность автоматических операций и управляющих действий исследователя в подсистеме моделирования САИИ показана на рисунке 3.14.
В подсистеме ввода исходных данных сначала исследователь задает абстрактно математическое описание системы (структурную графическую схему), используя при этом имеющиеся шаблоны проектирования - типовые элементарные блоки. Затем, опираясь на базовый вариант модели и возможности по формированию форм ввода исходных данных и вывода результатов моделирования, исследователь создает реальные формы. И, наконец, исследователь определяет параметры и сценарий эксперимента или серии экспериментов. Все это является входными данными для генератора моделей.
В результате генератором моделей создается базовый вариант модели. Генератор моделей - это программная реализация автоматического и корректного объединения типовых моделей, параметризованных шаблонов моделей, типовых элементарных блоков и т.д. в тексте модели или ее фрагменте, в соответствии с выбранной пользователем структурой и введенными параметрами.
Как правило, генераторы моделей создаются таким образом, чтобы создать корректную и безошибочную модель с точки зрения синтаксиса и логики языка ИМ. Но в случае САИИ для профессионалов допускается вмешательство профессионала в процесс создания модели на более низком языковом уровне, и в этом случае потребуются средства отладки модели.
После этого эксперименты реализуются в системе ИМ, и формируются результаты моделирования. В каждом эксперименте базовый вариант модели изменяется в соответствии с изменяемыми значениями варьируемых параметров.
Примерами реализации подсистем моделирования, удовлетворяющих приведенным выше требованиям, является множество САИИ, созданных автором с использованием языка GPSS World в качестве моделирующего ядра. Успешной реализации таких проектов способствовало то, что современная версия GPSS World имеет большое количество возможностей интерфейса с другими языками и системами программирования. Например, процедуры динамического вызова программ из любого языка программирования и собственные операторы обработки входных и выходных файловых потоков данных, возможности встроенного в GPSS языка PLUS. Также модель на языке GPSS World может быть вызвана на выполнение в любой внешней программной среде. Кроме этого, в настоящее время разработано и апробировано достаточно много стандартных программ, расширяющих возможности GPSS World.
Работа с имитационной моделью в настоящее время приобретает все признаки коллективного исследования. Раньше, как правило, один и тот же человек создавал модель, проводил с ней эксперименты и оформлял результаты исследования. Сейчас в связи с резким усложнением систем, повышением возможностей по детализации моделей в системах ИМ и совершенствованием информационных технологий в части организации распределенных вычислений в имитационном исследовании требуется участие целого коллектива специалистов. Особенно это ярко проявляется при создании имитационных приложений.
Очень важным аспектом при создании любого интегрированного из многих подсистем и компонент программного комплекса является стандартизация форматов данных, способов и средств обмена ими между программами. У каждого разработчика средств ИМ имеются свои внутренние форматы представления данных, которые позволяют наиболее эффективно осуществлять вычислительные процессы на том или ином этапе ИИСС. При объединении программ необходимо эти форматы совмещать. Для этого нужно не только обеспечить элементарную совместимость форматов, но и добиться эффективности вычислений, т.е. передача данных должна осуществляться надежно и быстро.
Среди языков физической реализации программ взаимодействия можно выделить язык структурирования данных XML (extensible Markup Language). Язык XML обладает рядом достоинств и является удобным средством стандартизации представления информации и реализации обмена между компонентами распределённой системы. XML возник в середине девяностых как новый язык для World Wide Web и в настоящее время является стандартом «де факто» при описании и программировании обмена данными между программами. Поэтому большинство разработчиков средств ИМ активно использует XML в качестве средства реализации утилит обмена данными между программами. Но унифицировать обмен данными между двумя программами это одно, а между огромным множеством программ - это совсем другое. Требуются решения не только в выборе средства реализации, но и в плане организации архитектуры взаимодействия программ, с учетом множества факторов. Например, описанных в предыдущем разделе возможностей организации коллективной работы исследователей над проектом.
В принципе над унификацией форматов данных, средствами их сопряжения и синхронизации в имитационном моделировании работают многие, и в этой области создан ряд стандартов. В частности, это разработанный для министерства обороны США стандарт HLA (High Level Architecture). Архитектура, заложенная в HLA, используется для организации и проведения распределённого моделирования и является в США и ряде других стран стандартом распределённого моделирования [148].
Не будем подробно останавливаться на описании данного стандарта. Отметим лишь, что появляются новые архитектуры вычислений, требующие совершенствования методов и подходов, реализованных в HLA.