Массовая разработка имитационных приложений с применением «Расширенного редактора GPSS World»
Mass development of simulation applications using «Advanced editor GPSS
World»
Девятков Владимир Васильевич заместитель директора по научной работе Института информатики Академии наук Республики Татарстан, к.т.н.,
[email protected] Devyatkov Vladimir Deputy Director for Science Tatarstan Academy of Science, candidate of technical Sciences
Аннотация: В данной статье описывается программная технология, упрощающая и ускоряющая разработку имитационных моделей. В ее основе лежит новая методология имитационных исследований, методика создания библиотек типовых элементарных блоков предметной области, графические средства проектирования структурных схем, автоматизация проектирования диалогов ввода данных в модель и анализа результатов моделирования.
Abstract: This article describes software technology to simplify and accelerate the development of simulation models. It is based on a new methodology for the simulation studies, the methods of creating libraries of standard elementary blocks of the subject area, graphic design tools for structural design, design automation dialogues input data in the model and analysis of simulation results.
Ключевые слова: имитационное моделирование, типовой элементарный блок, язык GPSS World, имитационное приложение, расширенный редактор.
Key words: simulation modeling, a typical elementary blocks, language GPSS World, simulation application, advanced editor.
Введение
Имитационное моделирование (далее ИМ) является одним из наиболее эффективных методов системного анализа сложных систем. Оно начало бурно развиваться с начала 60-х годов прошлого века. В то время появились такие, известные и знаковые языки имитационного моделирования, как SIMULA [1], GPSS [2] и SIMSCRIPT [3]. И на протяжении более чем 60 лет идет постоянное развитие и совершенствование теоретических методов и программных средств ИМ.
При зарождении ИМ больше внимания уделялось развитию средств разработки и верификации самой имитационной модели и нужно сказать, что на сегодняшний день почти все языки ИМ позволяют пользователям создавать модели сложнейших систем. В дальнейшем все больше и больше приходило понимание того, что нужно не только создать модель, а и провести с ее использованием исследование. Это достаточно сложный, итеративный и длительный процесс - от постановки задачи, сбора и обработки статистики, разработки имитационной модели, проведения экспериментов вплоть до документирования процесса исследования и выработки рекомендаций по результатам моделирования. Будем далее этот процесс называть имитационным исследованием сложных систем (далее ИИСС).
Данный процесс в самом общем виде можно представить в виде конечного ориентированного орграфа (рисунок 1).
-и s
-м s
A — (Q,S), где S - множество вершин, а Q - множество ребер
2
3
а
Рисунок 1 - Графическое представление процесса ИИСС
Наиболее подробно методология и технология процесса ИИСС, используемая в реальных исследованиях, описана в классических трудах Н.П. Бусленко, Т. Нейлора, Р. Шенона [4], [5], [6] и называется традиционным подходом. Методология традиционного подхода не менялась с 70-х годов
прошлого столетия. Главным недостатком данного подхода являлся тот факт, что метод ИМ за эти годы так и не стал массовым инструментом. Хотя имеется огромная потребность общества в создании имитационных моделей и потенциально эти модели могут быть построены.
Основной причиной дисбаланса между потенциальными возможностями метода имитационного моделирования и реальным использованием являются сложность его применения и высокие профессиональные требования к исследователю. Еще в 70-е годы прошлого столетия Р. Шенон назвал свой классический труд «Имитационное моделирование - искусство и наука» Он признавал, что модели могут делать только узкий круг подготовленных специалистов. До сих пор ситуация не изменилась.
А потребность в разработке имитационных моделей для различных областей экономики велика и она становится с каждым годом больше. По крайней мере, для каждого среднего и крупного предприятия, хотя бы раз (а на самом деле гораздо больше) требуется имитационное исследование. Поэтому, только для России это сотни тысяч возможных применений. Моделирование позволяет предупредить множество изъянов и ошибок при проектировании, технологий и систем, а также повысить эффективность действующих систем. С учетом количества возможных применений это экономия многих миллиардов рублей для государства и бизнеса.
По нашим оценкам, профессионалы ИМ могут удовлетворить лишь 10% из общего объема возникающих запросов.
Такая ситуация является абсолютно неприемлемой. Все силы разработчиков средств ИМ направлены на создание таких систем автоматизации имитационных исследований (далее САИИ), которые могли бы использовать любые специалисты, имеющие инженерный уровень подготовки. Одним из путей достижения этого является создание САИИ для массового применения. Пусть такая САИИ и будет ограничена выбранной
предметной областью. Зато пользователь сможет быстро обучиться и начать конструировать модели, подобно детскому конструктору «Лего».
Концепции создания САИИ для массового использования
При создании САИИ для массового использования требуется несколько иной подход к автоматизации операций и действий исследователя в процессе ИИСС. Приоритетом для разработчиков является то, что данная группа исследователей не являются профессионалами, как в области ИМ, так и программирования. Поэтому должен быть создан инструмент, который прост и удобен в использовании, обладая при этом всей мощью метода имитационного моделирования.
Анализ средств моделирования показывает, что за последние годы системы и языки ИМ активно развивались и совершенствовались, но длительность проведения ИИСС (Гии) все еще велика (рисунок 1), а уровень профессиональных требований к исследователю практически не снизился.
Рисунок 1 - Анализ длительности исследования в трех группах языков и
систем ИМ.
Т.е. очевидным стало то, что проблемы повышения эффективности ИИСС кроются не в конкретном языке моделирования и разработке модели, а
носят методологический характер и распространяются на весь процесс ИИСС.
Поэтому при создании САИИ для массового использования в качестве методологической основы была взята не традиционная методология, а усовершенствованная методология, описанная в [2].
Сформулируем основные объективные предпосылки создания технологии массового создания САИИ:
Общая технология исследования. Для достижения адекватных и научно обоснованных результатов исследования, в основе любого ИИСС лежат одни и те же этапы имитационных исследований: постановка задачи, формализация системы, сбор и накопление статистики, разработка имитационной модели и т.д. Любое исследование должно пройти все эти этапы. Для каждого этапа имеются общие признаки, методы и программы.
Единое моделирующее ядро. Базисом любого исследования является имитационная модель. Не важно, на каком языке она написана, на это у каждого разработчика могут быть свои предпочтения. Но наше твердое убеждение, что у технологии создания САИИ должно быть свое «моделирующее ядро». Это должен быть достаточно мощный, известный и проверенный временем язык имитационного моделирования. Например, автор при разработке имитационных моделей использует язык GPSS World [3].
Стандартные программы других разработчиков. За более чем 50 лет существования имитационных технологий уже создано множество программных продуктов сторонних разработчиков, которые стали стандартом среди профессионалов ИМ. Их можно использовать на различных этапах исследования и не тратить собственных сил на создание новых. Ярким примером таких программ может служить использование комплекса OptQuest в различных системах ИМ для решения задач планирования экспериментов и оптимизации.
Программные наработки разработчика САИИ. Опыт реализации ряда проектов показывает, что многие компоненты, составляющие программную основу ранее созданных САИИ, могут использоваться практически для любой модели. Например, это визуальная графическая оболочка, принципы генерации моделей и т.д.
В процессе создания САИИ и их дальнейшего применения должны быть задействованы как разработчики средств ИМ, так и те, для кого создаются САИИ - профессионалы ИМ и исследователи. В самом общем виде это трехуровневый процесс, изображенный на рисунке 2.
Профессиональные среды и языки ИМ, технология ИИСС, стандартные среды программирования и предметно ориентированные
программные комплексы
Разработч ик
"средств-ИМ
к та
2 >
Œ
S ^
Ф ^
0 К
та
1 I
та
Cd
0
Œ S Œ 1_ Ф H
1
ni ф
Cl
Универсальная моделирующая /Ч среда(предметная
/
'1
область 1 '
А
Профессионалы -ИМ-
ч Универсальная моделирующая среда (предметная _область п)_
И
Рисунок 2 - Процесс создания САИИ.
На первом уровне разработчик средств ИМ, на основе практического опыта моделирования и использования современных систем и новейших информационных технологий создает общий инструментарий для
конструирования САИИ - интегрированную моделирующую среду для профессионалов ИМ. Далее совместно профессионалами и специалистами-предметниками создается универсальная моделирующая среда для той или иной предметной области. Роль исследователей в разработке данных инструментов состоит в задании структуры и функций среды, определении уровня детализации, задании форм ввода данных и вывода результатов и решении других постановочных задач. Непосредственную реализацию САИИ и проведение с их использованием исследований осуществляет либо по заказу профессионал ИМ, либо сам исследователь.
Совместное участие в разработке САИИ и разработчика и будущего пользователя позволит более глубоко учесть особенности предметной области, выделить основные задачи и направления исследования.
Методика создания САИИ для массового использования средствами расширенного редактора GPSS World
В качестве базового программного инструмента при разработке использовался «Расширенный редактор GPSS World» [4], созданный на основе новой методологии. Благодаря этому в расширенном редакторе заложена методическая и технологическая основа создания САИИ для массового применения.
Во-первых, это возможность создания профессионалами ИМ и специалистами библиотек типовых элементарных блоков (ТЭБ) в любой выбранной предметной области. Идея библиотек ТЭБ основывается на том, что похожие (из одной предметной области) системы имеют подобные или близкие, по сути, элементы, с помощью которых можно описать их поведение - это принципы классификации, группировки, шаблонов и т.д. Библиотека ТЭБ может постоянно модифицироваться и дополняться. Для каждой предметной области может быть создана своя библиотека ТЭБ.
Во-вторых, имеются средства конструирования в графической среде моделей посредством последовательного выбора, соединения и настройки ТЭБ из соответствующей библиотеки. Алгоритмы автоматического
объединения ТЭБ в единую модель базируются на теории агрегатов Бусленко Н.П. [5], общей теорией имитационного моделирования, разработанной Кобелевым Н.Б. [6].
В-третьих, для уже собранной модели представляются удобные и функциональные средства автоматизации проектирования простейших диалогов, в соответствующей терминологии и традиционных формах представления предметной области исследуемой системы. Такие диалоги могут проектироваться для ввода исходных данных, выводу результатов моделирования, планированию экспериментов с моделью, запуску экспериментов, анализу результатов моделирования.
В-четвертых, имеется инструментарий объединения работающей модели и созданных диалогов в единое имитационное приложение.
Пусть такая САИИ и будет ограничена выбранной предметной областью. Зато с ней может работать практически любой инженер из данной предметной области. Изучив принципы работы, можно быстро начать конструировать модели и проводить с ними эксперименты. В самом общем виде процесс создания САИИ и приложения с использованием расширенного редактора показан на рисунке 3.
САИИ предметной области
Библиоте ка ТЭБ
Структур ная —схема—
Модель на
GPSS --
___ I
Расширенн
ый редактор
Специалист-предметник
Профессиона -л ИМ-
Имитацион ное
Исполняем ый модуль модели
Эксперимен ты с моделью
Выводы и рекомендац ии
Рисунок 3 - Технология создания САИИ и имитационного приложения.
Как видно из рисунка, создавать САИИ для массового использования профессионал должен не один, а совместно со специалистами конкретной предметной области.
Для реализации технологии, показанной на рисунке 3, необходимо последовательно выполнить следующие 12 шагов, разделенных на три группы - создание библиотеки ТЭБ данной предметной области, разработка модели выбранного объекта с использованием библиотеки ТЭБ и проектирование диалогов, генерация и использование имитационного приложения.
Создание библиотеки ТЭБ данной предметной области. Можно следующим образом сформулировать первых два шага:
1. Провести системный анализ предметной области с целью выделения типовых объектов и процессов, подобных структур, общих данных и т.д. Структуризацию необходимо производить, имея в виду возможное применение этих типовых элементарных блоков (ТЭБ) для абстрактно-математического описания систем из данной предметной области в
виде графической структурной схемы;
2. Актуализировать средствами расширенного редактора библиотеку ТЭБ
для данной предметной области - описать входы, выходы, состояния, реализовать логику работы с помощью GPSS модели и т.д. На рисунке 4 схематично показаны согласованные действия профессионала ИМ и специалиста предметной области по созданию
библиотеки ТЭБ предметной области.
Рисунок 4 - Системный анализ предметной области и выделение ТЭБ.
После выполнения этих двух шагов и учитывая возможности расширенного редактора, можно сказать, что создан практический инструмент для проектирования моделей в этой предметной области без программирования на GPSS World. Т.е. создана система, специализированная для данной предметной области. Эти шаги профессионал ИМ и специалист-предметник выполняют вместе. Без специалиста-предметника невозможно качественно провести анализ предметной области. И, наоборот, без профессионала ИМ невозможно в полной мере воспользоваться возможностями расширенного редактора GPSS World.
Разработка модели выбранного объекта с использованием библиотеки ТЭБ и проектирование диалогов.
Для этого необходимо выполнить шаги 3-4.
3. Осуществить создание графической структурной схемы модели из ТЭБ с помощью редактора структурных схем и автоматически собрать модель;
4. Далее, для облегчения работы с моделью, создания удобного и наглядного приложения, приближенного к решаемой задаче, необходимо:
- Сконструировать диалоговые формы для ввода исходных данных модели;
- Сконструировать диалоговые формы для анализа результатов;
- Задать основные факторы и показатели модели, составить план
экспериментов;
- Разработать и графически представить сценарии анимации в модели. Исполнять эти шаги должны совместно профессионал и предметник.
Профессионал, потому что здесь требуется профессиональное знание созданной модели на уровне кода GPSS. А подсказать - правильно ли построена структурная схема, как можно назвать факторы и показатели, какую схему для анимации нужно использовать, может только специалист-предметник.
Генерация и использование имитационного экспресс-приложения.
Далее на базе созданной модели и программных диалогов можно создать имитационное приложение. Приложение будет независимо от среды разработки (расширенного редактора), поэтому для его использования будет необходим только исполняемый модуль и GPSS World (как моделирующее ядро).
Созданное имитационное приложение может быть построено настолько простым и удобным, что все дальнейшие действия по его использованию в процессе исследования уже сможет исполнять специалист-предметник. А профессионал ИМ будет нужен только для консультации и обслуживания САИИ.
Процесс создания приложения происходит автоматически (шаг 5).
5. Осуществить автоматическую генерацию имитационного приложения в
виде исполняемого файла.
В самом общем виде весь процесс создания имитационного приложения показан на рисунке 5.
Библиотека
Структурная схема
Настройка ТЭБ для построения модели (входы, выходы, состояния, ... )
Специалист-предметник
Построение схемы из выбранных ТЭБ, задание связей, параметров
Текст модели
Автоматичес кая сборка модели расширенны м
ом
Профессиона -л ИМ-
Сценарий работы с
моделью (конструирование
Ввод данных
Факторы и
показатели
Планирование экспериментов
Анимация
Анализ
результатов
Автоматическая генерация независимого имитационного приложения в виде исполняемого файла
Рисунок 5 - Создание независимого имитационного приложения.
Для проведения исследования с помощью созданного приложения специалист-предметник должен выполнить шаги 6-12: 6. Запустить созданное имитационное приложение;
7. Ввести необходимые для модели исходные данные;
8. Провести процедуры планирования одиночных экспериментов и серий
экспериментов;
9. Последовательно осуществить запуск одиночных экспериментов и
серий экспериментов с моделью;
10. Провести интерактивный анализ результатов одиночных экспериментов
и серий экспериментов;
11. Повторять шаги 6-9 до тех пор, пока не будет завершено исследование;
12. Сформировать отчет об исследовании и сформулировать рекомендации
по совершенствованию моделируемой системы. Графически процесс исследования изображен на рисунке 6.
Запуск ь Ввести ь Планирование ь Реализация
приложени я исходные данные экспериментов экспериментов
Повторить эксперимен ты
Специалист предметник-
Анализ результатов
Отчет об исследовании
Рисунок 5 - Использование имитационного приложения.
Заключение
Данный подход позволяет последовательно вовлекать в процесс ИИСС все больше новых пользователей - от профессионалов ИМ и системных аналитиков предметной области до обычных инженеров и руководителей. Имитационное приложение, с применением данной методологии и расширенного редактора может быть создано в очень сжатые сроки (от нескольких дней до нескольких недель). Данная методика прошла практическую апробацию и была использована при исследовании транспортной логистики Универсиады-2013 года в Казани, анализе транспортных потоков Агропромышленного парка РТ и при исследовании ряда других систем.
Использованная литература:
1. Дал У. СИМУЛА-67 / У. Дал, Б. Мюрхауг, К. Нюгорд. - М.: Мир, 1967. - 127 с.
2. Gordon Geoffrey A General Purpose Simulation Systems Simulation Program / Geoffrey Gordon // Proc. EJCC/ - Washington: D.C., Macmillan Publishing Co., Inc., New-York, 1961, pp. 87-104.
3. Марковиц Г. SIMSCRIPT. Алгоритмический язык моделирования / Г. Марковиц, Б. Хауснер, Г. Карр; пер. с англ. под редакцией чл.-кор. АН
СССР Бусленко Н.П. - М.: Советское радио, 1966. - 151 с.
4. Бусленко Н.П. Моделирование сложных систем. - М.: Наука, 1978. -
400с.
5. Нейлор Т. Машинные имитационные эксперименты с моделями экономических систем. - М.: Мир, 1975. - 500 с.
6. Шеннон Р. Имитационное моделирование систем - искусство и наука. -М.: Мир, 1978. - 418 с.
7. Девятков В.В. Методология и технология имитационных исследований сложных систем: современное состояние и перспективы развития: монография. - М.: Вузовский учебник: ИНФРА-М, 2013. - 448 с.
8. Руководство пользователя по GPSS World / Пер. с англ. - Казань: Мастер Лайн, 2002. - 384 с.
9. Девятков В.В. Расширенный редактор GPSS World / В.В. Девятков, М.В. Федотов // Пятая всероссийская научно-практическая конференция «Имитационное моделирование. Теория и практика»: сборник докладов. - СПб: ОАО ЦТСС, 2011. - Том 1. - С. 355-359.
10.Кобелев, Н.Б. Основы имитационного моделирования сложных экономических систем. - М.: Дело, 2003. - 235 с.