Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Raskina_Kurganova_Reshenie_prikladnih_zadach.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.65 Mб
Скачать

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 для описания полиморфизма вводятся понятия операции и метода. У классов есть операции, которые определяют его поведение. Они наследуются потомками, но каждый потомок класса может предоставить свой метод реализации любой унаследованной операции, отличный от соответствующего метода предка. С операцией связано качественное описание поведения объекта, а с методом – его конкретная реализация. Таким образом, становится возможным, наследуя операции, придавать им нужные свойства, присущие объектам класса-потомка;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]