АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Временная и фазовая диаграммы

Читайте также:
  1. I.2 Реформирование и современная структура банковской системы РФ.
  2. X. СОВРЕМЕННАЯ ЗАПАДНАЯ ФИЛОСОФИЯ
  3. А что говорит современная наука?
  4. Билет 5 Отношения философии и мифологии: от пребывании в бытии к рациональному мироотношению. Современная мифология.
  5. Временная диаграмма работы асинхронного «RS» триггера.
  6. Временная задержка большой длительности.
  7. Временная задержка малой длительности
  8. Временная модель
  9. Временная оценка денежных потоков.
  10. Временная последовательность
  11. Временная сложность

РЕШЕНИЕ ПРИКЛАДНЫХ ЗАДАЧ

СРЕДСТВАМИ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ

 

 

Учебно-методическое пособие

 

 

ОМСК 2011


 

И. И. Раскина, Н. А. Курганова. Решение прикладных задач средствами компьютерного моделирования: Учебно-методическое пособие. – Омск: Изд-во ОмГПУ, 2011, с.

 

ISBN

 

Учебно-методическое пособие составлено с учетом современных требований к подготовке студентов, обучающихся по специальности «Информатика», материалы используются авторами в преподавании курсов «Компьютерное моделирование» на различных специальностях. В работе представлен теоретический материал, необходимый для освоения имитационного моделирования дискретных и непрерывных динамических систем, подкрепленный примерами решения разнотипных задач с применением инструментальных средств моделирования. Каждый раздел содержит задания для самостоятельного выполнения, а также лабораторный практикум. Для реализации непрерывных моделей используется язык MVS, для дискретных – GPSS.

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

 

Рецензенты: Когут А.Т., д.т.н, профессор ОмГУПС;

Котенко В.В., к.п.н., доцент кафедры Информатики и вычислительной техники ОмГПУ

 

ISBN

 

© Раскина И.И., Курганова Н.А., 2011 г.


Содержание

Введение.. 4

1. Компьютерные модели и моделирование.. 6

1.1. Моделирование как метод познания. Понятие модели и моделирования 6

1.2. Классификация моделей и моделирования. 9

1.3 Понятие формализации. 10

1.4. Основные этапы построения моделей. 12

1.5. Компьютерные модели и моделирование. 13

2. Имитационное моделирование непрерывных динамических систем 19

2.1. Программное обеспечение для моделирования непрерывных динамических систем 19

2.2. Основные сведения о MVS. 19

2.3. Общая схема моделирования в среде MVS на примере модели «Хищник-жертва» предметной области «Биология» 28

2.4. Задания на моделирование процессов из различных предметных областей в среде MVS. 41

2.5. Модели для самостоятельного исследования. 56

3. Имитационное моделирование дискретных динамических систем 57

3.1. Программное обеспечение для моделирования дискретных динамических систем 57

3.2. Система имитационного моделирования GPSS. 60

3.3. Задания для самопроверки. 126

3.4. Лабораторный практикум.. 130

3.5. Варианты заданий для моделирования. 149

4. Приложения.. 165

Приложение 1. 165

Приложение 2. 166

Приложение 3. 167

Приложение 4. 170

Приложение 5. 171

Приложение 6. 172

5. Список литературы... 175


Введение

 

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

Моделирование составляет неотъемлемую часть современной фундаментальной и прикладной науки, по важности оно приближается к традиционным экспериментальным и теоретическим методам. По мнению академика А.А.Самарского, «технические, экологические, экономические и иные системы, изучаемые современной наукой, больше не поддаются исследованию (в нужной полноте и точности) обычными теоретическими методами. Прямой натурный эксперимент над ними долог, дорог, часто либо опасен, либо попросту невозможен, т.к. многие из этих систем существуют в единственном экземпляре. Цена ошибок и просчетов в обращении с ними недопустимо высока» [32].

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

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

Настоящее учебное пособие разработано в соответствии с требованиями Государственного образовательного стандарта высшего профессионального образования по специальности «05202.65 – Информатика» к подготовке и осуществлению профессиональной деятельности.

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

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

Для построения имитационных моделей непрерывных динамических систем используется инструментальная среда имитационного моделирования MVS (Model Vision Stadium). Дискретные динамические системы, которые могут быть формализованы, например, в виде систем массового обслуживания, реализуются при помощи языка имитационного моделирования GPSS (General Purpose Simulating System - общецелевая система моделирования).

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

 


1. Компьютерные модели и моделирование

 

1.1. Моделирование как метод познания. Понятие модели и моделирования

С незапамятных времен при изучении сложных объектов, явлений или процессов человек применяет модели (от лат. modulus мера, образец). Хорошо построенная модель, как правило, доступнее для исследования, чем реальный объект. Более того, некоторые объекты вообще не могут быть изучены непосредственным образом: неосуществимы, например, эксперименты с прошлым, с планетами Солнечной системы и т.п.

По мнению академика А.А.Самарского, «технические, экологические, экономические и иные системы, изучаемые современной наукой, больше не поддаются исследованию (в нужной полноте и точности) обычными теоретическими методами. Прямой натурный эксперимент над ними долог, дорог, часто либо опасен, либо попросту невозможен, т.к. многие из этих систем существуют в единственном экземпляре. Цена ошибок и просчетов в обращении с ними недопустимо высока».

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

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

Объект, в общенаучном смысле, – «определенная часть окружающей нас реальной действительности (предмет, процесс, явление)» или «некоторая часть окружающего нас мира, которая может быть рассмотрена как единое целое». Такая трактовка понятия «объект» избавляет от необходимости в многочисленных высказываниях, связанных с объектами, перечислять триаду «предмет, процесс, явление», как это делается в большинстве учебников. Объект – это то, на что направлено внимание познающего субъекта; это то, что может быть вычленено в окружающем мире.

В литературе существует большое разнообразие применения термина «модель» в современной науке. Приведем некоторые из определений:

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

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

Мы будем понимать под моделью условный образ объекта исследования, конструируемый исследователем так, чтобы отобразить характеристики объекта (свойства, взаимосвязи, параметры), существенные для исследования.

Модель всегда строится с какой-либо целью. Для одного и того же объекта можно построить разные модели. Разнообразие моделей определяется разнообразием целей поставленных при их создании.

Итак, для модели характерно следующее:

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

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

Какие же преимущества дает метод моделирования?

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

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

· Для прогнозирования поведения системы можно экстраполировать результаты испытаний с помощью модели, построенной на ЭВМ. Применение ЭВМ сокращает продолжительность испытаний системы, занимающих в реальных условиях дни и месяцы до долей минут и секунд. Единственным ограничением на этом пути является быстродействие самой ЭВМ.

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

· Анализ некоторых очень сложных систем и их оценка часто не могут быть выполнены ни с помощью лабораторных или натурных испытаний, ни аналитическими методами, и моделирование на ЭВМ является единственным реализуемым способом решения этих задач.

 

1.2. Классификация моделей и моделирования

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

По отрасли знаний, в которой разрабатывается модель, можно выделить биологические, социологические, экономические, физические и другие модели.

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

Классифицируя модели по приспособляемости, получают адаптивные и неадаптивные модели.

По принципу построения можно выделить стохастические (вероятностные) и детерминированные модели.

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

По способу представления выделяют предметные (материальные) и знаковые (информационные) модели. Предметными называются модели, воспроизводящие определенные геометрические, физические, динамические либо функциональные характеристики объекта, явления или процесса. Частным случаем предметных моделей являются модели-аналоги. Такие модели отображают процессы и явления посредством аналогичного представления, например, физической модели. Классическими примерами моделей по аналогии могут служить глобус, рельефные карты, модели Солнечной системы, модели молекулярных структур и т.д. Знаковыми (информационными) моделями служат схемы, чертежи, формулы, предложения в некотором алфавите и т.п. Важнейшим видом таких моделей являются математические модели. Математические модели отображают процессы и явления путем абстрактного математического представления. Математическая модель – система математических выражений, описывающих характеристики объекта моделирования.

 

1.3 Понятие формализации

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

Сущность формализации в общих чертах сводится к следующему.

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

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

Последний шаг структуризации объекта – построение системы отношений (взаимозависимостей) между выбранными элементами. Отношения могут быть пространственные и временные, причинно-следственные, части и целого, формы и содержания, внешнего и внутреннего и т.п.

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

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

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

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

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

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

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

 

1.4. Основные этапы построения моделей

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

  • постановка задачи моделирования, определение цели моделирования, критериев ее достижения и ограничений;

· планирование и проведение экспериментов с объектом для получения информации, необходимой для его формализации;

· формализованное описание объекта;

· построение и идентификация модели объекта;

· проверка адекватности модели;

· планирование и проведение компьютерных экспериментов с моделью объекта;

· анализ результатов моделирования;

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

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

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

Для решения этих задач используется информация, полученная в результате планирования и проведения экспериментов с объектом.

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

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

Моделирование – процесс циклический, одни и те же операции в нем повторяются многократно. Эта цикличность обусловлена двумя обстоятельствами: технологическими, связанными с ошибками, допущенными на каждом из этапов моделирования, и идеологическими, связанными с уточнением модели, или отказом от нее и переходом к другой модели. Изменение исходных данных, допущений, при которых модель должна быть справедливой, расширение области применимости модели ведут также к появлению дополнительных циклов, в ходе реализации которых осуществляется адаптация предыдущих этапов моделирования.

 

1.5. Компьютерные модели и моделирование

Появление компьютеров значительно расширило сферу использования метода моделирования. Это связано с тем, что компьютер работает с информацией. А информация об объектах, событиях, процессах уже есть некоторая их модель, их словесный, цифровой «портрет».

Современные представления о компьютерных моделях и моделировании наиболее полно изложены в статье проф. Бахвалова Л.А [8], по мнению которого, применительно к естественным и техническим наукам принято различать следующие виды моделирования:

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

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

· структурно-функциональное моделирование, при котором моделями являются схемы (блок-схемы), графики, чертежи, диаграммы, таблицы, рисунки, дополненные специальными правилами их объединения и преобразования;

· математическое (логико-математическое) моделирование, при котором моделирование, включая построение модели, осуществляется средствами математики и логики;

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

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

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

Таким образом, понятие «компьютерное моделирование» значительно шире традиционного понятия «моделирование на ЭВМ» и нуждается в уточнении, учитывающем сегодняшние реалии.

В настоящее время под компьютерной моделью чаще всего понимают [5]:

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

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

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

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

Формирование основ структурно-функционального моделирования связано с развитием автоматизированных систем управления производством (АСУП), появившихся в начале 70-х годов. Современные методы структурно-функционального анализа и моделирования сложных систем были заложены профессором Массачусетского технологического института Дугласом Россом, который впервые использовал понятие «структурный анализ», пытаясь создать алгоритмический язык АРТ, ориентированный на модульное программирование. Идея описания сложных объектов как иерархических многоуровневых модульных систем с помощью относительно небольшого набора типовых элементов привела к появлению SADT (Structured Analysis Design Technigue), что в дословном переводе означает «технология структурного анализа и проектирования», а по существу является методологией структурно-функционального моделирования и анализа сложных систем.

Одним из первых программных комплексов структурно-функционального анализа на основе SADT был пакет AUTOIDEFO, разработанный в рамках программы ВВС США по созданию интегрированной автоматизированной системы управления производством. Другим программным продуктом, реализующим методологию структурно-функционального анализа SADT, является Design/IDEF производства компании Meta Software Corp. Он ориентирован на проектирование и моделирование сложных систем широкого назначения, связанных с автоматизацией и компьютеризацией производства, а также с задачами экономико-организационного управления и бизнес - планирования.

Инструментальное средство «CASE-Аналитик» предназначено для автоматизации проектирования и внедрения систем обработки информации и управления самого широкого класса: информационно-вычислительных сетей, организационно-управленческих АСУ всех уровней, банковских и бухгалтерских систем, систем автоматизации эксперимента, делопроизводства и др. В основе «CASE-Аналитик» лежат удобные средства построения строгой и наглядной структурно-функциональной модели системы, причем модель представляет собой иерархию диаграмм потоков информации и функциональных связей, автоматически отображаемых в базе данных.

Близкими по назначению и характеристикам к пакетам структурно-функционального моделирования являются, с одной стороны, средства поддержки презентаций, а с другой программные системы комплексной автоматизации предпроектного анализа и проектирования информационных систем (Bpwin, «CASE-Аналитик»).

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

Имитационное моделирование основано на применении логико-математической модели сложной системы.

Инструментальные средства имитационного моделирования подразделяются на три большие группы:

· языки имитационного моделирования непрерывных динамических систем. Они предназначены для моделирования динамических объектов с непрерывным фазовым пространством и непрерывным временем. Как правило, такие объекты описываются с помощью систем дифференциальных (интегро-дифференциальных) уравнений. Системы уравнений могут быть детерминированными или стохастическими, причем в последнем случае в имитационную систему встраиваются средства статистического моделирования и обработки. Классическим языком первого типа является язык DYNAMO, разработанный Дж. Форрестером. Примером языка имитационного моделирования второго типа является СИМФОР, в котором возможностям DYNAMO добавлены средства статистического моделирования и обработки.

· языки имитационного моделирования дискретных систем. Самым популярным из языков этого типа является язык GPSS (General Purpose Simulation System). Появившийся впервые еще в 1961 г., он выдержал множество модификаций для самых различных операционных систем и ЭВМ и в то же время сохранил почти неизменными внутреннюю организацию и основные блоки;

· универсальные языки. В основе универсального языка имитационного моделирования СЛАМ лежит простая идея - объединить достоинства GPSS и DINAMO таким образом, чтобы, допуская раздельное применение этих языков, можно было при необходимости использовать их совместно. Особое место среди языков имитационного моделирования занимает СИМУЛА-67, разработанный в Норвежском вычислительном центре У.И. Далом, Б. Мюрхаудом и К. Нюгордом. В нем впервые получила практическое воплощение концепция ядра языка как средства иерархического, структурированного описания класса объектов, - концепция, последующее развитие которой привело к созданию объектно-ориентированного программирования. Парадоксально, что подход, возникший для решения задач моделирования долгие годы не был востребован именно в этой области, и только сейчас начинает воплощаться в реальные разработки (Omola, Dymola, Model Vision, AnyLogic).

Перспективным современным направлением компьютерного моделирования является объектно-ориентированное моделирование (ООМ), как расширение языка проектирования сложных вычислительных систем – Unified Modeling Language (UML).

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

UML реализует объектно-ориентированный подход к разработке сложных систем следующими средствами:

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

· класс – это группа сущностей (объектов), обладающих сходными свойствами, а именно, данными и поведением;

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

· под поведением объекта в UML понимаются любые правила взаимодействия объекта с внешним миром и с данными самого объекта;

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

· наследование – это отношение, определяющее уровень иерархии конкретного класса в дереве классов, и говорящее о том, что потомки конкретного класса являются разновидностью класса-родителя. Механизм наследования реализуется с помощью копирования всех атрибутов предка (наследования) и их частичного переопределения. Переопределять можно как данные, так и поведения (методы);

· полиморфизм – касается переопределения поведения объектов. В UML для описания полиморфизма вводятся понятия операции и метода. У классов есть операции, которые определяют его поведение. Они наследуются потомками, но каждый потомок класса может предоставить свой метод реализации любой унаследованной операции, отличный от соответствующего метода предка. С операцией связано качественное описание поведения объекта, а с методом – его конкретная реализация. Таким образом, становится возможным, наследуя операции, придавать им нужные свойства, присущие объектам класса-потомка;

· для удобства иерархического представления больших систем классы можно объединять в группы (пакеты) или использовать модульный подход при проектировании.

2. Имитационное моделирование непрерывных динамических систем

2.1. Программное обеспечение для моделирования непрерывных динамических систем

Для моделирования непрерывных динамических систем в настоящее время существует ряд языков типа DYNAMO, СИМФОР, о которых говорилось выше, кроме того, поскольку моделирование непрерывных динамических систем связано с решением дифференциальных уравнений, для моделирования и исследования таких систем можно использовать математические пакеты, реализующие различные численные методы, а также предоставляющие возможности аналитических преобразований. Наиболее известными являются Mathematica, Maple, пакеты Simulink и Stateflow, работающие вместе с Matlab, Mathcad. Возможности этих пакетов достаточно широки и рассмотрение их в рамках данного пособия не предусмотрено. Рассмотрим примеры моделирования непрерывных динамических систем с использованием интегрированной оболочки MVS.

 

2.2. Основные сведения о MVS

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

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

1) с помощью табличного процессора (как правило, MS Excel);

2) путем создания программ на одном из выбранных языков программирования (Pascal, Basic, Delphi и др.);

3) с помощью специальных пакетов прикладных программ для решения математических задач (MathCad и т. п.);

4) средствами программ, предназначенных для разработки непрерывных динамических моделей (интегрированная оболочка Model Vision Studium).

Следует отметить, что при построении некоторых моделей при помощи MS Excel, MathCad могут возникать трудности при попытке качественного исследования модели, включая построение диаграмм на фазовой плоскости параметров модели. Трудности при численном решении дифференциального уравнения или системы дифференциальных уравнений, при постановке экспериментов и др. Вышеперечисленные трудности возникаютиз-за «нецелевого» использования программных продуктов.

Поэтому мы предлагаем на этапе выбора программного средства использовать Model Vision Studium (MVS). Рассмотрим возможности моделирования непрерывных динамических систем в среде Model Vision Studium (MVS).

Model Vision Stadium (MVS) – интегрированная графическая оболочка для быстрого создания интерактивных визуальных моделей сложных динамических систем и проведения вычислительных экспериментов с ними. В то же время MVS позволяет осуществлять интерактивное вмешательство при постановке эксперимента. Пакет MvStudium разработан исследовательской группой Санкт-Петербургского Государственного Политехнического Университета.

Ключевыми проблемами при разработке MVS являлись:

1) поддержка технологии объектно-ориентированного моделирования (ООМ), совместимой с языком UML;

2) возможность создания пользователем собственных компонентов;

3) удобное и адекватное описание непрерывных, дискретных и гибридных (непрерывно-дискретных) систем;

4) обеспечение достоверности численного решения;

5) поддержка активного вычислительного эксперимента;

6) обеспечение моделирования, визуализации результатов и управления вычислительным экспериментов без написания какого-либо программного кода.

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

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

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

Окна интегрированной среды (рис. 1).

1) Окно управления проектом содержит дерево основных составляющих проекта. К составляющим проекта относятся: классы блоков, глобальные (т.е. видимые во всех составляющих проекта) константы, глобальные процедуры и функции, виртуальный стенд и импортируемые библиотеки классов. С помощью контекстного меню можно добавлять новые компоненты, удалять и редактировать существующие.

2) Окно виртуального стенда содержит структурную схему моделируемой системы, то есть экземпляры блоков и связи между ними. Если рассматриваемая модель является изолированной системой, то, в общем, нет особой необходимости в структурной схеме и блоках. Однако пакет ориентирован на блочное моделирование и потому изолированная система представляется как блок без входов и выходов, а ее модель в виде виртуального стенда с экземпляром такого блока.

3) Окно редактирования добавленного по умолчанию класса (в данном случае класса «Маятник») содержит дерево составляющих описания класса. Поскольку данный блок предполагается непрерывным, то по умолчанию в него добавлена пустая система уравнений с именем «Система_уравнений_1». Непрерывная система рассматривается как вырожденный случай гибридного автомата, главная карта поведения которого содержит только один узел, которому и приписана соответствующая система уравнений. Поэтому если вы откроете главную карту поведения такого класса (с помощью двойного щелчка мыши на соответствующем узле дерева), вы увидите, что она состоит из единственного узла Init (унаследованного от общего предка всех блоков класса CDevice), которому и приписана «Система_уравнений_1».

4) Окно редактирования системы уравнений.

 

Рис. 1. Окна интегрированной оболочки MVS

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

Входной язык

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

Блоки и связи

Устройство является основным элементом модели. Это ориентированный блок, функционирующий параллельно и независимо от других блоков в непрерывном времени. Визуально на схеме имеет вид прямоугольника с ориентированными стрелками (входы и выходы), идентификатором устройства и иконкой класса.

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


--------------интерфейс-----------------

параметры;

входы;

выходы;

--------------тело--------------------------

переменные состояния;

функции поведения;

внутренняя структура.

 

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

Поведение

Поведение любого блока является гибридным (задается формализмом гибридного автомата). Гибридным автоматом называется граф переходов, узлам которого приписаны некоторые непрерывные отображения, а дугам – условия переходов и выполняемые действия. В настоящее время для формального описания дискретных «машин состояний» стандартом стала «карта состояния», придуманная Д. Харелом и «канонизированная» в UML. Карта состояний, узлам которой приписаны некоторые непрерывные отображения, называется гибридной картой состояний (рис. 2).

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

Рис. 2. Карта поведения

В общем случае класс является потомком (подклассом) некоторого суперкласса.

Определение переменной включает в себя имя переменной, тип значения переменной и начальное значение по умолчанию.

В MVS встречаются следующие типы данных:

Скалярные типы: вещественный (double), целый (byte, short, integer), булевский (boolean), перечислимый, символьный (char, string).

Регулярные типы: векторы (vector[N]) и матрицы (matrix[N,M]).

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

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

Основные операторы: присваивания, вызова процедуры, условный оператор, оператор варианта, цикла, возврата.

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

Система уравнений может включать в себя обыкновенные дифференциальные уравнения первого порядка и алгебраические уравнения. Форма ввода уравнений достаточно свободная (рис. 3)

Рис. 3. Редактор Формул.

Например, последние два уравнения можно представить в виде:

X-L*sin(Alpha) = 0

Y+L*cos(Alpha) = 0

find X,Y

Следует, однако, помнить, что такая форма уравнений потребует от пакета значительно больше усилий. Аналитически разрешенные уравнения (формулы) при отсутствии в них циклов сводятся просто к последовательности операторов присваивания.

Можно также непосредственно использовать в уравнениях первую и вторую производные, не вводя дополнительных переменных. Например,

Временная и фазовая диаграммы

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

Рис. 4. Временная диаграмма, иллюстрирующая колебания математического маятника

Рис. 5Фазовая диаграмма, иллюстрирующая колебания математического маятника

D-анимация

Для многих моделей (особенно моделей механических систем) пользователь может получить больше всего информации из непосредственного наблюдения трехмерного динамического изображения моделируемой системы. В визуальной модели для этого предназначено окно 3D-анимации. Окно 3D-анимации позволяет строить динамические трехмерные изображения, в виде совокупности трехмерных примитивов (линия, шар, цилиндр, конус и т.д.), некоторые параметры которых (координата, радиус, цвет и т.п.) однозначно связаны со значением соответствующих переменных модели (рис. 6).

Рис. 6. 3D-анимация, иллюстрирующая колебания математического маятника

D-анимация

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

Имеется набор стандартных 2D-компонентов: линейные индикаторы, стрелочный индикатор, линейный движок, поворотный регулятор, цветовой индикатор, кнопки.

Можно перемещать 2D-компоненту в пределах окна анимации, а также изменять размер компоненты (рис. 7).

Рис. 7. 2D-анимация

Интерактивными 2D-компонентами являются Ползунок, «Круговой регулятор» и «Кнопка». Остальные компоненты позволяют только отображать текущее значение переменной. Например, используя две компоненты «Линейный индикатор сплошной» для индикации значений переменных Alpha и Omega можно получить следующую картинку (рис. 8).

Рис. 8. Линейный индикатор сплошной

 

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

 

2.3. Общая схема моделирования в среде MVS на примере модели «Хищник-жертва» предметной области «Биология»

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

Первый этап. ПОСТАНОВКА ЗАДАЧИ

Описание задачи

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

Цели моделирования:

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

Второй этап. РАЗРАБОТКА МОДЕЛИ

Математическая модель

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

Одним из самых известных примеров описания динамики взаимодействующих популяций являются уравнения Волтерра – Лотка [24]. Рассмотрим модель взаимодействия хищников и их добычи, когда между особями одного вида нет соперничества. Пусть и – число жертв и хищников соответственно. Предположим, что относительный прирост жертв равен , , где – скорость размножения жертв в отсутствие хищников, – потери от хищников. Развитие популяции хищников зависит от количества пищи (жертв), при отсутствии пищи относительная скорость изменения популяции хищников равна , , наличие пищи компенсирует убывание, и при имеем , .

Таким образом, система Волтерра – Лотка имеет вид:

где .

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

Компьютерная модель

При построении компьютерной модели одним из главных моментов является выбор программной среды. В качестве программной среды нами выбрана интегрированная оболочка MVS. Построение компьютерной модели можно представить в виде нескольких последовательных шагов, связанных с переводом описания модели на язык Model Vision Language (MVL), используемого в MVS.


Шаг 1. Создание нового проекта.

Запустите среду MVS и создайте новый проект с помощью команд основного меню «Проект/Новый…». В появившемся диалоговом окне выберите путь к папке проекта (например, «D:\Мои_модели\»), введите имя проекта Хищник_жертва и нажмите кнопку «Создать». После этого появится папка «D:\Мои_модели\Хищник_жертва» и в ней файл базы данных проекта «Хищник_жертва.mvb» (рис. 9).

Рис. 9. Сохранение проекта

Замечание. Предполагается, что для нового проекта открывается новая папка (если используется существующая, то все данные в ней уничтожаются). В то же время с помощью команды «Проект/Сохранить как» вы можете сохранять в той же папке различные модификации данного проекта. В дальнейшем в этой папке появятся еще два файла – «Хищник_жертва.ini» и «Хищник_жертва _em.ini» - в которых сохраняются соответственно установки проекта и выполняемой модели. В имени файла не допустимы знаки: пробел, дефис, тире, плюс, а также другие недопустимые символы. В составном имени файла целесообразно использовать знак подчеркивания.

Итак, после создания проекта у вас должно быть в наличии 3 файла, хранящихся в папке проекта:

1. *.mvb

2. *.ini

3. *_em.ini

Перед вами откроется основное окно проекта с четырьмя дочерними окнами (рис. 10):

1) Окно управления проектом (слева вверху), содержащее дерево основных составляющих проекта. В новом проекте по умолчанию добавлен класс непрерывного блока, например, «Хищник_жертва» (имя класса совпадает с именем проекта).

2) Окно виртуального стенда (в центре вверху. По умолчанию в виртуальный стенд помещен экземпляр класса «Хищник_жертва» с именем «Хищник_жертва_1». Рассматриваемая биологическая модель является изолированной системой, и нет особой необходимости в структурной схеме и блоках. Однако данная версия пакета ориентирована на блочное моделирование и потому изолированная система представляется как блок без входов и выходов, а ее модель в виде виртуального стенда с экземпляром такого блока.

3) Окно редактирования добавленного по умолчанию класса (в данном случае класса «Хищник_жертва») содержит дерево составляющих описания класса. Поскольку данный блок предполагается непрерывным, то по умолчанию в него добавлена пустая система уравнений с именем «Система_уравнений_1».

4) Окно редактирования системы уравнений, открытое на пустой «Система_уравнений_1».

Рис. 10. Многооконный интерфейс MVS.

Шаг 2. Ввод и описание всех необходимых параметров.

Описывая моделируемую систему необходимо выделять не просто всю совокупность параметров, характеризующую состояние объекта в некоторый момент, а разбивать их на следующие группы: параметры (параметры, не меняющиеся для данного экземпляра класса); внутренние переменные (параметры, меняющиеся для данного экземпляра класса и характеризующие поведение объекта; константы (параметры, не меняющиеся для данного класса).

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

Характеризуя объект и его свойства, мы используем переменные, которые могут принимать значения различного типа. В данной задаче использованы только вещественные переменные. Для данной модели – это переменные a, b, c, d, x1, x2.

Для того чтобы ввести первоначальные значения переменных перейдите в окно редактирования класса «Хищник_жертва», выделите в дереве объектов узел «Внутренние переменные», нажмите правую клавишу мыши вызовите всплывающее меню и выполните команду «Добавить». То же самое можно сделать с помощью команды «Редактировать/Добавить» главного меню или кнопки на панели кнопок (рис. 11).

Рис. 11. Введние переменных.

В появившемся диалоговом окне введите идентификатор переменной a, оставьте заданный по умолчанию тип double и задайте начальное значение, равное 4 и комментарий (рис. 12).

Рис. 12. Окно ввода переменных.

Аналогичным образом добавьте переменные b, c, d, x1, x2 (рис. 13).

Рис. 13. Описание класса.

Замечание.

Вы можете изменить введенные определения дважды кликнув на них мышью, а также с помощью команды «Изменить» всплывающего меню, команды «Редактировать/Изменить» главного меню или кнопки на панели кнопок. Кроме того, вы можете редактировать выделенное определение как текст с помощью команды «Редактировать/Редактировать как текст (F2)» главного меню или однократного щелчка мыши.

Завершение редактирования происходит по клавише «Enter» или щелчка мыши за пределами редактируемой строки. Отмена редактирования происходит по нажатию клавиши «Esc».

Вы можете удалить введенные определения с помощью команды «Удалить» всплывающего меню, команды «Редактировать/Удалить» главного меню или кнопки на панели кнопок.

Шаг 3. Ввод уравнений.

Для задания формул и уравнений в пакете предусмотрен специальный редактор, который позволяет вводить математические выражения в близком к естественному виде. В окне редактирования уравнений вызовите специальный редактор формул при помощи двойного щелчка мыши на узле «Уравнения» или команды «Изменить» всплывающего меню. Введите необходимые уравнения (рис. 14)

Рис. 14. Редактор формул.

 

Система уравнений может включать в себя обыкновенные дифференциальные уравнения первого порядка и алгебраические уравнения. Аналитически разрешенные уравнения (формулы) при отсутствии в них циклов сводятся просто к последовательности операторов присваивания. Вы можете также непосредственно использовать в уравнениях первую и вторую производные, не вводя дополнительных переменных. Если вы не указали, какие переменные являются искомыми (оператор find), то транслятор попытается определить их сам, исходя из контекста задачи: искомыми не могут быть параметры, константы и входы. Транслятор также стремится сделать искомыми (если это возможно) интегрируемые переменные и переменные, стоящие в левых частях формул. Если же транслятору не удается выбрать искомые переменные, то он вызывает специальный диалог и предлагает сделать это вручную. Помимо собственно уравнений и формул в систему уравнений могут быть также включены необходимые комментарии. Комментарий начинается символом «--» (двойной минус) и продолжается до конца строки.

Уравнение может быть записано различными способами. Транслятор сам преобразует это уравнение к «канонической» форме, необходимой для численного решения.

Шаг 4. Сохранение модели.

Шаг 5. Компилирование модели.

Перед проведением компьютерного эксперимента необходимо откомпилировать модель с помощью команды основного меню «Модель/Пуск» или кнопки на панели кнопок.

Пакет MVS относится к категории компилирующих: для элементов описания моделируемой системы генерируется “код” на промежуточном языке программирования, который затем компилируется в машинный код и связывается с Run Time Library (RTL) MVS с помощью штатного компилятора командной строки этого языка. В данной версии пакета в качестве промежуточного языка используется Borland Object Pascal (Delphi).

Третий этап. КОМПЬЮТЕРНЫЙ ЭКСПЕРИМЕНТ

Шаг 1. Составление плана эксперимента.

Рекомендуется наметить следующие эксперименты с моделью:

· тестирование – проверка правильности работы модели;

· эксперимент 1 – исследование поведения модели при исходных данных, то есть когда количество жертв больше числа хищников;

· эксперимент 2 – исследование поведения модели, в том случае, когда количество жертв меньше числа хищников;

· эксперимент 3 – исследование поведения модели, в том случае, когда количество жертв равно числу хищников.

Шаг 2. Проведение эксперимента.

Эксперимент 1.

Рассмотрим технологию проведения эксперимента на примере исследования поведения модели при исходных данных, то есть когда количество жертв больше числа хищников. После компиляции модели, то есть после первого запуска модели открывается окно «Визуальная модель MVS» (рис. 15).

Рис. 15. Окно «Визуальная модель MVS»

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


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.072 сек.)