ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА АВТОМАТИЗАЦИИ МОДЕЛИРОВАНИЯ

Назначение языков и систем моделирования

В процессе построения имитационной модели выделяют три уровня ее представления: концептуальную модель, формализованное или алгоритмическое описание, программу-имитатор.

Формальное или концептуальное описание модели преобразуется в программу-имитатор в соответствии с технологией программирования. В принципе, имитационную модель можно реализовать на любом универсальном языке моделирования. Однако для облегчения написания и работы с программой-имитатором созданы специальные системы автоматизации моделирования.

Языки и системы моделирования упрощают построение про- грамм-имитаторов и проведение имитационных экспериментов за счет частичной или полной автоматизации переходов от одного уровня представления модели к другому. В этом состоит основное назначение языков моделирования и преимущество перед универсальными алгоритмическими языками.

Общепризнанными являются следующие преимущества языков и систем моделирования по сравнению с универсальными языками и системами программирования:

  • 1) концептуальная выразительность. Языки моделирования обеспечивают более строгое следование выбранной концепции построения модели. Они содержат абстрактные конструкции, непосредственно отражающие понятия, в которых представлена формализованная модель, или близкие концептуальному уровню описания моделируемой системы, с помощью которых четко классифицируют элементы моделируемой системы, элементы различных классов различают по характеристикам и свойствам, описываются связи между элементами системы и внешней среды, позволяющие изменять структуру модели. Это упрощает разработку программы-имитатора, позволяет автоматизировать выявление, диагностику ошибок в программах;
  • 2) автоматизация стандартных функций моделирования:
    • • реализация механизма модельного времени. Системы моделирования имеют встроенный механизм продвижения модельного времени (календарь событий, методы интегрирования и др.), средства разрешения временных узлов;
    • • языки моделирования, как правило, содержат встроенные датчики случайных чисел, генераторы случайных чисел и других типовых воздействий;
    • • в языках моделирования автоматизирован сбор стандартной статистики и других результатов моделирования. Имеются средства автоматизации выдачи этих результатов в табличной или графической формах;
    • • управление процессом моделирования (анализ ошибочных ситуаций, пошаговая трассировка и т.д.);
    • • языки моделирования имеют средства, упрощающие процедуры проведения и программирование имитационных экспериментов и другие инструментальные возможности, используемые при проведении имитационных исследований.

Вместе с тем нередко отмечают такие недостатки языков и систем моделирования, как: недостаточная распространенность языков и систем моделирования; необходимость дополнительного обучения языкам и системам моделирования и, как следствие, недостаток программистов, хорошо владеющих современными языками и системами моделирования; высокая стоимость систем моделирования; отсутствие гибкости и широких возможностей, присущих универсальным языкам программирования.

Множество языков моделирования можно разделить на две группы:

  • 1) методоориентированные, поддерживающие определенный класс формализованных или алгоритмических описаний;
  • 2) проблемно-ориентированные — языки моделирования конечного пользователя, позволяющие формулировать задачи моделирования непосредственно на концептуальном уровне. Связь с пользователем в такой системе моделирования на уровне программного интерфейса осуществляется через набор понятий соответствующей предметной области исследований. Для этого в проблемно-ориентированные системы моделирования включаются абстрактные элементы, языковые конструкции и наборы понятий, взятые непосредственно из предметной области исследований. Примерами таких решений могут служить системы моделирования в таких областях, как имитационное моделирование производственных систем, сетей связи и телекоммуникаций, моделирование процессов модернизации и обслуживания, пакеты имитационного моделирования для центров обработки заказов и медицинских учреждений, транспортных систем, например:
    • • управление материальными потоками в производственной системе (Simulap, Simflex), моделирование гибких производственных систем (MAST), технологическая подготовка производственных систем (TOMAS) и календарное планирование производственных процессов (SIRE);
    • • телекоммуникации (COMNET);
    • • медицинское обслуживание (MedModel).

За годы становления технологии имитационного моделирования наблюдалось большое разнообразие специализированных языков моделирования. В известном в 1980-е гг. обзоре Киндлера [17] упоминалось более 500 языков и систем моделирования. Рост числа языков моделирования обусловлен многообразием моделируемых процессов в реальном мире и свидетельствует о необходимости применения средств компьютерного моделирования. Вместе с тем разнообразие языков моделирования обусловлено следующими факторами. Существует большое число схем формализации и алгоритмизации моделируемых систем — агрегаты, сети, автоматы, процессы, системы массового обслуживания, дифференциальные уравнения, аналоговые блок-схемы, графы связей и др. Любая из этих схем может служить основой для разработки нового языка моделирования. Еще большее разнообразие возможно на уровне концептуальных моделей. Все это — существенный стимул для появления новых языков, несмотря на то, что в академической сфере продолжаются поиски универсального языка описания процессов и динамических систем.

Далее рассматриваются только методоориентированные языки и системы, которые для краткости называются просто языками и системами моделирования.

Язык моделирования представляется пользователем как часть системы моделирования. Система моделирования — это совокупность языковых и программных средств, которая включает:

  • • собственно язык моделирования;
  • язык управления системой моделирования — язык команд интерактивного взаимодействия с пользователем;
  • управляющая программа — программные средства, обеспечивающие трансляцию модели и другие стандартные функции системы моделирования (продвижение модельного времени, генерацию случайных чисел, сбор статистической информации, вывод результатов и т.д.).

Проблемно-ориентированные системы моделирования включают также средства разработки языков конечного пользователя.

Среди большого числа языков моделирования довольно сложно выделить какое-то базовое подмножество языков, покрывающих основные потребности пользователей в средствах автоматизации моделирования. На практике существует проблема выбора системы моделирования, подходящей для поставленной задачи.

При выборе системы и языка моделирования необходимо учитывать ряд факторов, определяющих выбор системы моделирования, подходящей для данного исследования, среди которых выделяют следующие.

Область применения моделей. Необходимо прежде всего учитывать требования к моделям со стороны заказчика, определяемые условиями ее эксплуатации. Многое зависит от того, в контур каких информационных систем и проектов должна интегрироваться модель: СППР, САПР и т.п. Важным фактором при выполнении комплексных проектов по моделированию является совместимость аппаратно-программных платформ.

Пригодность языка моделирования для описания объекта моделирования. Требуется уточнить, насколько пригодно мировоззрение языка моделирования для описания объекта моделирования, насколько подходит способ описания динамических процессов, схема формализации, принятая в языке моделирования для идентификации реальных процессов, подлежащих моделированию.

Рассуждения должны строиться примерно следующим образом: если в рассматриваемой системе можно выделить агрегированное множество материальных объектов, представить их в виде непрерывных информационных потоков, то скорее всего выбор будет за непрерывной системой моделирования, поддерживающей методы системной динамики. А если в моделируемой динамической системе наблюдается дискретный характер изменений, перемещаются единичные объекты и эти изменения проходят неравномерно, связаны с появлением событий выбор, очевидно, за системой дискретного типа. Если материальные объекты движутся в сетях, система характеризуется большим числом взаимодействующих процессов — надо выбирать процессно-ориентированные системы моделирования. Если активные объекты не движутся по траекториям, ведут себя независимо, асинхронно, возможно, их поведение можно описать с помощью техники агентного моделирования.

Прагматические соображения, такие как наличие или отсутствие опыта работы с данной системой моделирования, и возможности для обучения, технологические возможности системы моделирования, отвечающие требованиям реализации настоящего проекта по моделированию, и многие другие соображения. Безусловно, важной, но внешней по отношению к системе моделирования характеристикой является качество сопровождения системы моделирования, наличие четкой и полной документации, желательно на русском языке.

Классификация языков и систем моделирования. Технологические возможности современных систем моделирования

Классификация языков и систем моделирования позволяет упорядочить сведения о существующих многочисленных языках моделирования, анализ основных характеристик позволяет составить достаточно полное представление о языке и поддерживающей его системе моделирования.

В основу классификации положены следующие общепризнанные характеристики языков и систем моделирования:

  • • класс моделируемых систем;
  • • средства описания моделируемых систем;
  • • инструментально-технологические возможности систем моделирования.

Принято выделять три класса моделируемых объектов: дискретные, непрерывные, дискретно-непрерывные (комбинированные). Соответственно различают три класса языков и систем моделирования. Языки комбинированного моделирования используются при работе с моделями объектов и непрерывного, и дискретного класса. Примерами классических языков и систем непрерывного типа являются DYNAMO, Vensim и др., поддерживающие методы системной динамики. Широко были известны в свое время языки непрерывно-дискретного моделирования GASP, SLAM', языки дискретного моделирования SIMULA, GPSS, SLX и системы моделирования Arena, Extend и др.

Средства описания моделируемых систем включают: базовую и альтернативные для языка или системы моделирования схемы алгоритмизации; собственно язык моделирования и его синтаксическая основа; средства проблемной ориентации, представленные в языке или системе моделирования.

Под базовой схемой алгоритмизации подразумевается совокупность понятий, которые используются для алгоритмизации (формализации) моделируемой системы и непосредственно представлены в языке моделирования. В настоящее время используется большое число различных способов алгоритмизации. В языках непрерывного моделирования широко применяются системы дифференциальных и интегро-дифференциальных уравнений, структурные схемы, потоковые диаграммы моделей системной динамики. Среди дискретного моделирования различают языки событий, языки процессов и транзактов, языки, основанные на автоматных и сетевых представлениях, и др. Языки комбинированного моделирования могут основываться на агрегатах и других формальных схемах, использовать смешанные схемы алгоритмизации языков непрерывного и дискретного моделирования. Базовая схема алгоритмизации предполагает определенную организацию работы управляющей системы моделирования.

В качестве доминирующих базовых концепций формализации и структуризации в современных системах моделирования используются:

  • • для дискретного моделирования — системы, основанные на описании процессов {process description) или на сетевых концептах {network paradigms). Наиболее яркими представителями систем этого класса являются коммерческие симуляторы Extend, Arena, ProModel, Witness, eM-Plant, QUEST, Taylor Enterprise Dynamics, Gpss/H- Proof и др.;
  • • для систем, ориентированных на непрерывное моделирование, — модели и методы системной динамики — Powersim, Vensim, Dynamo, Stella, iThink и др.

Кроме базовой схемы алгоритмизации в систему моделирования могут быть включены альтернативные схемы, близкие к базовой либо приводимые к ней. Например, язык структурных схем можно использовать для моделирования систем дифференциальных уравнений, дискретные сети можно моделировать на языке транзактов или процессов. Как правило, в современных системах с целью расширения их функциональности присутствуют альтернативные концепции формализации. Так, например, в системах Powersim, Ithink встроен аппарат дискретного моделирования, и наоборот, в системах Extend, ProModel реализована поддержка (правда, довольно слабая) непрерывного моделирования. Таким образом, один и тот же язык или система моделирования могут применять для реализации различные способы алгоритмизации моделей.

Актуальная задача сегодня — разработка систем моделирования, интегрирующих различные подходы в имитационном моделировании. Примером является система моделирования Any Logic, совмещающая различные подходы в описании динамических процессов: транзактно-ориентированный способ описания дискретных систем, динамическое моделирование, потоковые диаграммы и разностные уравнения системной динамики, диаграммы состояний универсального языка моделирования UML и агентный подход в моделировании.

Средства описания моделируемых процессов могут быть представлены в системе моделирования языками моделирования, специальными графическими интерфейсами и нотациями, специализированными библиотеками решений. Различают языки моделирования: вложенные в базовый язык программирования (моделирования) или расширяющие его, а также с собственным синтаксисом. Классическим языком с собственным синтаксисом является язык моделирования GPSS. Универсальным языком имитационного моделирования, поддерживающим принципы объектно-ориентированного программирования, является язык SIMULA (SIMUL8). Язык SIMULA в историческом плане был первым объектно-ориентированным языком программирования.

Наличие средств проблемной ориентации в языке моделирования позволяет разрабатывать языки конечных пользователей, вводить макропонятия для упрощения программирования. Средства проблемной ориентации могут быть реализованы различными способами. Весьма распространенный способ — использование макросов или создание специализированной библиотеки решений. В универсальном языке моделирования SIMULA для проблемной ориентации языка служат классы. В процедурно-ориентированных языках могут использоваться подпрограммы или процедуры.

Далее рассмотрим группу характеристик, определяющих инструментально-технологические возможности систем моделирования.

Опыт эксплуатации различных систем моделирования показывает, что инструментальные возможности системы моделирования определяются наличием средств, поддерживающих реализацию следующих основных функций:

  • 1) подготовка, редактирование и модификация в ходе трассировки программы-имитатора и основных модельных характеристик;
  • 2) интерактивное взаимодействие системы с исследователем в процессе имитации;
  • 3) управление направленным вычислительным экспериментом на имитационной модели.

Для поддержки основных функций в системе моделирования, как правило, представлены такие инструменты, как:

  • • поддержки создания формализованных описаний;
  • • построение модели с помощью программирования и применения графических интерфейсов (icon or drag-and-drop)',
  • • средства визуализации и редактирования программы и модельных характеристик в реальном времени (по ходу имитации) и по окончании прогона;
  • • средства трансляции, компилирования программы-имитатора;
  • • средства диагностики, выдача диагностических сообщений в процессе составления модели и по ходу имитации;
  • • трассировка (пошаговая отладка, верификация программы) в реальном времени, по ходу имитации, ручная имитация;
  • • средства сбора и выдачи результатов моделирования, возможность управления ими. Присутствуют как стандартные формы вывода выходной статистики, так и средства для создания нестандартных форм представления результатов моделирования, осуществляется выдача стандартной и формируемой пользователем выходной статистики. (Как правило, все системы моделирования имеют стандартные средства сбора и вывода результатов моделирования в табличной или графической форме. Эти средства не всегда достаточно гибки и не во всех случаях удовлетворяют пользователя. Поэтому должна быть предусмотрена возможность подключения нестандартных средств обработки и вывода результатов моделирования, разработанных пользователем);
  • • передача выходных данных в другие среды (в том числе в базы данных);
  • • средства для анализа входных данных {Input Analyzer и др.);
  • • средства для реализации арифметических, математических, логических функций, расширяющие алгоритмические возможности языка моделирования;
  • • интерактивные средства взаимодействия с пользователем, удобный графический интерфейс, возможность доступа пользователя к модельным характеристикам, к графикам, таблицам с промежуточной статистикой;
  • • управление ходом имитации, управление прогоном (задание начальных условий, условий завершения имитационного прогона, возобновление имитации и др.). Средства управления имитационными экспериментами позволяют автоматизировать установку начального состояния модели, определить условия завершения прогона, выбрать режимы работы управляющей программы, хранить и восстанавливать промежуточные состояния программы-имитатора, проводить серию прогонов. Наличие таких средств значительно упрощает проведение имитационных экспериментов с моделями;
  • • наличие специальных средств испытания имитационных программ, анализ чувствительности (проведение многократных прогонов с различными входными данными, регулировка параметров, а также сбор и обработка выходной статистики);
  • • анимация (animation) двух- или трехмерная, в реальном времени (современные графические системы, позволяющие наблюдать за поведением «реальной» системы на модели).

Для управления имитационным исследованием в системе моделирования должно присутствовать развитое математическое и программное обеспечение (библиотеки, макросы) для обработки результатов эксперимента, включая средства для организации статистических исследований, инструменты для реализации и поддержки обработки результатов направленных вычислительных экспериментов, алгоритмы оптимизации и другие алгоритмы, основанные на эвристическом программировании и интеллектуальных методах, средства поддержки сценарного анализа, а также средства для хранения выходных результатов моделирования — файловые структуры, базы данных с результатами моделирования или организации транспорта данных в другие инструментальные программные среды.

Как правило, наборы этих инструментов в системе моделирования включают:

  • • поддержку анализа результатов моделирования и выходной информации, средства разработки эксперимента;
  • • средства автоматизированного анализа чувствительности;
  • • библиотеку решений для статистической обработки результатов моделирования (Output Analyzer и др.);
  • • накопление данных по серии прогонов и организация их в файловые структуры или базы данных, организация связи с системой управления базой данных;
  • • оптимизация (OptQuest и другие пакеты (табл. 3.1), реализующие эффективные процедуры поиска оптимального варианта в условиях вычислительного эксперимента);
  • • транспорт данных в другие инструментальные среды (например, таблицы Excel и базы данных) и др.

Таблица 3.1

Инструментальные среды и пакеты оптимизации, применяемые в имитационном моделировании

Пакет

Поставщик

Поддерживаемые программы моделирования

Применяемые процедуры поиска

AutoStat

AutoSimulation, Inc

AutoMod, AutoSced

Эволюционные стратегии

OptQuest

Optimization Technologies, Inc

Arena, QUEST, Taylor Enterprise Dynamics, AnyLogic

Поиск с рассеиванием, поиск с запрещением, нейронные сети

OPTIMIZ

Visual Thinking International Ltd.

SIMUL8

Нейронные сети

SimRunner2

PROMODEL Corp.

MedModel, ProModel

Эволюционные стратегии, генетические алгоритмы

WITNESS Optimizer

Lanner Group, Inc.

WITNESS

Моделирующий отжиг, поиск с запрещением

Предпосылки совершенствования технологии системного моделирования были связаны, с одной стороны, с общим развитием информационных технологий (графических оболочек, мультимедийных средств, объектно-ориентированного программирования и т.д.), а с другой — с усложнением решаемых задач и комплексным исследованием сложных систем, таких как социально-экономические, производственно-технологические, созданием систем поддержки принятия решения в различных областях научно-исследовательской деятельности. По данным обзоров [64], публикуемых в Интернете, информация в которые предоставляется компаниями — производителями программного обеспечения для имитационного моделирования, сегодня на рынке информационных технологий фигурирует более 100 программных продуктов аналитического типа, ориентированных на имитационное моделирование. Разнообразие такого программного обеспечения продолжает увеличиваться, отражая тенденцию устойчивого спроса на него.

Сегодня имитационное моделирование становится все более зрелой компьютерной технологией.

Технологические возможности современных систем моделирования характеризуются:

  • • универсальностью и гибкостью базовой и альтернативной к базовой концепций структуризации и формализации моделируемых динамических процессов, заложенных в систему моделирования. Сегодня популярны среди систем моделирования дискретного типа процессно-ориентированные концепции структуризации, основанные на сетевых парадигмах, и некоторые другие, среди систем моделирования непрерывного типа — модели и методы системной динамики;
  • • наличием средств проблемной ориентации, когда система моделирования содержит наборы понятий, абстрактных элементов, языковые конструкции из предметной области соответствующего исследования;
  • • применением объектно-ориентированных специализированных языков программирования, поддерживающих авторское моделирование и процедуры управления процессом моделирования;
  • • наличием удобного и легко интерпретируемого графического интерфейса, когда блок-схемы дискретных моделей и системные потоковые диаграммы реализуются на идеографическом уровне, параметры моделей определяются через подменю;
  • • использованием развитой двух- и трехмерной анимации в реальном времени;
  • • возможностью реализации нескольких уровней представления модели, средствами создания стратифицированных описаний. Современные системы моделирования применяют структурнофункциональный подход, многоуровневые иерархические, вложенные структуры и другие способы представления моделей на разных уровнях описания;
  • • наличием линеек и инструментов для проведения и анализа результатов сценарных, вариантных расчетов на имитационной модели;
  • • математической и информационной поддержкой процедур анализа входных данных, анализа чувствительности и широкого класса вычислительных процедур, связанных с планированием, проведением и обработкой результатов направленного вычислительного эксперимента на имитационной модели;
  • • развитыми средствами транспорта данных в другие программные среды;
  • • возможностью исполнительного модуля программы-имитатора функционировать вне среды для разработки модели;
  • • применением многопользовательского режима работы, интерактивного распределенного моделирования, разработками в области взаимодействия имитационного моделирования со Всемирной паутиной и др.

Рассмотрим некоторые характеристики современных систем имитационного моделирования.

Идеографический режим построения моделей. Большинство систем моделирования имеет удобный, легко интерпретируемый графический интерфейс, системные потоковые диаграммы или блок-схемы реализуются на идеографическом уровне, т.е. рисуются, параметры моделей определяются через подменю {pull-down menus). Сохраняются элементы программирования (на языках общего назначения или объектно-ориентированных) для отдельных элементов модели или создания специализированных блоков подготовленных пользователем, так называемое авторское моделирование (например, в системе Extend существует встроенный язык Modi для создания специализированных блоков).

Анимация. Системы моделирования имеют развитые средства мультипликации (animation), подчас мультипликация весьма сложная, трехмерная с использованием стандарта в области виртуальной реальности языка VRML, в реальном времени, как, например, в TAYLOR (и может быть перенесена в другие среды, например, в форме апплета для презентаций). Имитационное моделирование — это «компьютерный экстрасенс», который может создавать картины будущего.

Стратификация. В современных системах моделирования появляется некоторый инструментарий для создания стратифицированных моделей [40]. Стратификация систем, являясь общим принципом системного моделирования, реализуется в технологии имитационного моделирования либо путем детализации, итерационной процедуры эволюции имитационной модели, либо путем создания комплекса взаимосвязанных моделей с развитыми информационными и имплицитными связями между ними. Стратифицированные модели представляют собой машинно-ориентированные понятия, предполагающие конструирование баз данных и знаний, над которыми определены вычислительные процессы решения задач системного анализа и принятия решения.

Разработчики систем моделирования используют различные подходы для реализации стратифицированных моделей. Ряд программных продуктов, такие как AUTOMOD, ProModel, TAYLOR, WITNESS и др., поддерживают интеграцию моделей на основе создания вложенных структур. В системах Arena, Extend реализован подход к стратификации, основанный на построении иерархических многоуровневых структур. Наиболее перспективным является структурно-функциональный подход, реализованный, например, в системах моделирования Ithink, Rethink, базирующийся на методологии структурного анализа и проектирования. При такой технологии есть возможность для реализации нескольких уровней представления моделей: высокоуровневое представление в виде блок-схем, с использованием САЗД-средств, а на нижнем уровне модели могут отображаться, например, потоковыми схемами и диаграммами.

Поддержка направленного вычислительного эксперимента на имитационной модели. Новая методология научного исследования в компьютерном моделировании, предполагающая организацию и проведение вычислительного эксперимента на имитационной модели, требует серьезной математической и информационной поддержки процесса системного моделирования, особенно в части вычислительных процедур, связанных с планированием эксперимента, оптимизацией организации работы с большим объемом данных в процедурах принятия решений. Имитационные модели в зависимости от решаемых задач применяются совместно с дифференциальными уравнениями балансового типа в сочетании с принципами и методами логистики, основанными на оптимизации, управлении, интеграции потоков в сложных системах. Перспективно применение компьютерного моделирования в сочетании с другими методами принятия решений, интеллектуальными технологиями (эволюционные вычисления, нейросетевые метамодели и генетические алгоритмы), экспертными процедурами, реализация имитационно-оптимизационных вычислительных процедур [9] с применением развитых алгоритмов оптимизации.

Средства интеграции с другими средами. Многие системы моделирования обеспечены средствами для интеграции с другими программными средами, осуществляют доступ к процедурным языкам, связанным с кодом имитационной модели, для реализации специальных вычислений (в электронную таблицу, например), доступа к базам данных. В более мощных пакетах осуществляется интеграция через дополнительное программное обеспечение (add-on software) со специализированными блоками различного назначения. Это могут быть блоки анализа входных данных (моделирование входных потоков — Input Distribution Fitting), гибкие средства анализа чувствительности (контроль экспериментов, анализ результатов — Output Analisis Support), позволяющие осуществлять многократные прогоны с различными входными данными и проводить статистическую обработку результатов эксперимента. Перспективным направлением является создание систем моделирования с функционально широкими, ориентированными на специфику имитационного моделирования аналитическими блоками оптимизации и проведения сценарных исследований (см. табл. 3.1).

Реализуемый в ряде систем многопользовательский режим, применение интерактивного распределенного моделирования, разработки в области взаимодействия имитационного моделирования со Всемирной паутиной расширяют возможности и сферу применения имитационного моделирования, позволяя отрабатывать совместные или конкурирующие стратегии различным компаниям. Более подробную информацию о современных системах моделирования можно найти в [22, 24, 26, 64, 68].

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >