Развитие методологии имитационных исследований сложных экономических систем (1142216), страница 40
Текст из файла (страница 40)
Но, как показано в главе 1, существуетмножество мощных и проверенных на практике общецелевых языков имитационногомоделирования. Именно на них и нужно в первую очередь ориентироваться при созданииподсистемы моделирования САИИ.В функции подсистемы моделирования будет входить не только создание, отладкаи исполнениеисходного кода на некотором общецелевом языке имитационногомоделирования.Обеспечениевозможностейавтоматизированногоилиполностьюавтоматического создания исходных текстов моделей стало обязательной функциейподсистемы моделирования современной САИИ.
Генерация исходного кода моделидолжна осуществлятьсяданных.на выбранном языке и на основе введенных исследователемВ самом общем виде последовательность автоматических операций иуправляющих действий исследователя в подсистеме моделирования САИИ показана нарисунке 3.14.Абстрактноматематическоеописание системыИсходные данные,введенные исследователемдля экспериментаШаблоны проектирования:ТЭБ, формы ввода, формывыводаФакторы ипоказатели серииэкспериментовПодсистема моделированияГенератормоделейОтладкамоделейИсполнениемоделейИсследовательРезультаты исполнения экспериментаИсточник: составлено авторомРисунок 3.14 – Функционирование подсистемы моделирования.В подсистеме ввода исходных данных сначала исследователь задает абстрактноматематическое описание системы (структурную графическую схему), используя приэтом имеющиеся шаблоны проектирования – типовые элементарные блоки.
Затем,опираясь на базовый вариант модели и возможности по формированию форм вводаисходных данных и вывода результатов моделирования, исследователь создает реальные192формы. И, наконец, исследователь определяет параметры и сценарий эксперимента илисерии экспериментов. Все это является входными данными для генератора моделей.В результате генератором моделей создается базовый вариант модели. Генератормоделей – это программная реализация автоматического и корректного объединениятиповых моделей, параметризованных шаблонов моделей, типовых элементарных блокови т.д.
в тексте модели или ее фрагменте, в соответствии с выбранной пользователемструктурой и введенными параметрами.Как правило, генераторы моделей создаются таким образом, чтобы создатькорректную и безошибочную модель с точки зрения синтаксиса и логики языка ИМ. Но вслучае САИИ для профессионалов допускается вмешательство профессионала в процесссоздания модели на более низком языковом уровне, и в этом случае потребуются средстваотладки модели.После этого эксперименты реализуются в системе ИМ, и формируются результатымоделирования.
В каждом эксперименте базовый вариант модели изменяется всоответствии с изменяемыми значениями варьируемых параметров.Примерами реализации подсистем моделирования, удовлетворяющих приведеннымвыше требованиям, является множество САИИ, созданных автором с использованиемязыка GPSS World в качестве моделирующего ядра. Успешной реализации таких проектовспособствовало то, что современная версия GPSS World имеет большое количествовозможностей интерфейса с другими языками и системами программирования. Например,процедуры динамического вызова программ из любого языка программирования исобственные операторы обработки входных и выходных файловых потоков данных,возможности встроенного в GPSS языка PLUS.
Также модель на языке GPSS World можетбыть вызвана на выполнение в любой внешней программной среде. Кроме этого, внастоящее время разработано и апробировано достаточно много стандартных программ,расширяющих возможности GPSS World.3.6.5 Коллективные исследованияРабота с имитационной моделью в настоящее время приобретает все признакиколлективного исследования. Раньше, как правило, один и тот же человек создавалмодель, проводил с ней эксперименты и оформлял результаты исследования.
Сейчас всвязи с резким усложнением систем, повышением возможностей по детализации моделейв системах ИМ и совершенствованием информационных технологий в части организациираспределенных вычислений в имитационном исследовании требуется участие целого193коллектива специалистов.
Особенно это ярко проявляется при создании имитационныхприложений.Для этого есть ряд объективных предпосылок.Во-первых, на крупных предприятиях (в отличие от небольших предприятий)всегда очень четко регламентируется деятельность специалистов, которые отвечаюттолько за свой участок работы. Это стандартный принцип разделения труда на крупныхпроизводствах, так как на каждый участок работы приходится очень большой объемработ. Обычно разделение работ осуществляется таким образом, чтобы работник глубокознал свой предмет, был бы максимально загружен и исполнял свое дело качественно.Поэтому другие участки работ на предприятии специалист знает недостаточно и не несетза них ответственности.
В результате нет возможности работать по модели с кем-тоодним;Во-вторых, сам процесс ИИСС предполагает такое разделение. Этапы ИИССтребуют разного уровня знаний, образования и навыков. Это сбор и мониторинг данных,их статистическая обработка, программирование модели и т.д. Поэтому так и ценитсяпрофессионал ИМ, что он квалифицирован, опытен и может выполнить весь процесссамостоятельно;В-третьих, специалисты, занимающиеся исследованием системы, достаточно часторазбросаны в пространстве (отделения и офисы в различных городах и странах,постоянныекомандировки).Современныевозможностиорганизациивычисленийпозволяют собрать всех заинтересованных специалистов в единый коллектив за счетсредств удаленной работы над одним проектом.В самом общем виде концепция работы коллектива специалистов над проектом впроцессе проведения ИИСС представлена на рисунке 3.15.Как видим.
гипотетически любой член коллектива, работающего над проектом,должен получать доступ к исследованию в любой точке мира, лишь бы был компьютер,соответствующие средства коммуникации и программное обеспечение.Следуетотметить,чточащевсегополномочиячленовколлективарегламентируются.
Одни отвечают и имеют доступ, например, к подготовке и вводуданных. Чаще всего это специалисты низшего звена. Другие вводят модель (задаютструктуру, связи, параметры). Вероятней всего это специалисты предметной области(например,технологи).Третьипланируютипроводятэкспериментыисерииэкспериментов.
Лучше, чтобы это были системные аналитики. И, наконец, руководителисреднего и высшего звена анализируют результаты и принимают решения.194Укрупненные этапы ИИСС в имитационном приложенииСбор и ввод данныхПроведение экспериментовАнализ результатовРаспределение рабочих мест в IT пространствеОписание моделиВ сети ИнтернетВ ЛВС другихофисовВ ЛВС основногоофисаГруппа 1Группа 1Группа 1Разделение труда на предприятииИсточник: составлено авторомРисунок 3.15 – Коллективная работа в процессе ИИСС.Поэтому роль групп в коллективе (состав и связи), приведенные на рисунке 3.15настраиваются в каждом конкретном имитационном приложении в соответствии срешаемыми этой группой задачами.Следует также отметить, что при реализации данной концепции возрастает рольадминистрирования процесса и синхронизации вычислительных процедур.3.6.6 Унификация сопряжения программ и данныхОчень важным аспектом при создании любого интегрированного из многихподсистем икомпонент программного комплекса является стандартизация форматовданных, способов и средств обмена ими между программами.
У каждого разработчикасредств ИМ имеются свои внутренние форматы представления данных, которыепозволяют наиболее эффективно осуществлять вычислительные процессы на том илиином этапе ИИСС. При объединении программ необходимо эти форматы совмещать. Дляэтого нужно не только обеспечить элементарную совместимость форматов, но и добитьсяэффективности вычислений, т.е. передача данных должна осуществляться надежно ибыстро.Среди языков физической реализации программ взаимодействия можно выделитьязык структурирования данных XML (eXtensible Markup Language).
Язык XML обладает195рядом достоинств и является удобным средством стандартизации представленияинформации и реализации обмена между компонентами распределённой системы. XMLвозник в середине девяностых как новый язык для World Wide Web и в настоящее времяявляется стандартом «де факто» при описании и программировании обмена даннымимежду программами. Поэтому большинство разработчиков средств ИМ активноиспользует XML в качестве средства реализации утилит обмена данными междупрограммами. Но унифицировать обмен данными между двумя программами это одно, амежду огромным множеством программ – это совсем другое. Требуются решения нетолько в выборе средства реализации, но и в плане организации архитектурывзаимодействия программ, с учетом множества факторов.