Файл: Методы и средства проектирования информационных систем и технологий (Объектно-ориентированная структура моделей).pdf
Добавлен: 29.06.2023
Просмотров: 83
Скачиваний: 3
Любая объектная модель базируется на понятии объекта как совокупности данных, к которым привязаны некоторые процедуры их обработки (методы). При этом каждое данное из этой совокупности также, в свою очередь, может являться объектом (понятие агрегации) (см. рис. 1..2).
Согласно общепринятой терминологии, объектно-ориентированная модель отличается от просто объектной возможностью наследования классов объектов. При наследовании существующего класса (суперкласса) получается новый класс, называемый подклассом (см. рис. 1..2). Объекты подкласса имеют те же свойства, и могут участвовать в тех же взаимодействиях, что и объекты суперкласса. При этом подкласс может иметь новые свойства и новые методы, а также изменять методы своего суперкласса. Наследование облегчает изменение и расширение объектно-ориентированных систем.
Агрегация объектов Наследование классов |
|
Рис. 1..2. Понятия объектно-ориентированного подхода |
В таблице 1..1 перечисленные выше понятия рассматриваются подробнее, причем акцент делается на их применение в моделировании.
Таблица 1..1
Использование объектно-ориентированного подхода в задачах моделирования.
Суть ООП состоит в следующем:
Примечание к пункту 1.2: в одном и том же поле могут храниться объекты определенного типа и всех его подтипов. |
Суть объектно-ориентированной модели состоит в следующем:
|
ООП имеет следующие преимущества перед другими подходами:
|
Объектно-ориентированные модели имеют следующие преимущества перед процедурно-ориентированными:
|
3.1 Существующие объектные средства моделирования
Исторически в имитационном моделировании сложились три основные парадигмы:
- Системная динамика (Дж. Форрестер 50-е годы прошлого века) — парадигма моделирования, в рамках которой для исследуемой системы строятся диаграммы причинных связей и глобальных влияний одних параметров на другие во времени, а затем на основе этих диаграмм создается алгоритмическая модель, которая и проигрывается на компьютере.
- Дискретно-событийное моделирование (Дж. Гордон 60-е годы прошлого века) — парадигма моделирования, в рамках которой структура моделируемой системы адекватно отображается в модели, а процессы ее функционирования проигрываются (имитируются) на построенной модели. Предлагается так же абстрагироваться от непрерывной природы событий и рассматривать только основные события моделируемой системы, такие, как: «ожидание», «обработка заказа», «движение с грузом», «разгрузка» и другие. Дискретно-событийное моделирование наиболее развито и имеет огромную сферу приложений — от логистики и систем массового обслуживания до транспортных и производственных систем.
- Агентное моделирование (90-е - 2000-е годы) - парадигма моделирования, в рамках которой исследуются децентрализованные системы, динамика функционирования которых определяется не глобальными правилами и законами (как в других парадигмах моделирования), а наоборот, когда эти глобальные правила и законы являются результатом индивидуальной активности членов группы.
При этом одно из определений имитационного моделирования подчеркивает, что это метод исследования, при котором изучаемая система заменяется моделью, с достаточной точностью описывающей реальную систему, с которой проводятся эксперименты с целью получения информации об этой системе. В рамках данного определения наиболее адекватной представляется дискретно-событийная парадигма моделирования. В рамках же этой парадигмы наиболее эффективным будет метод моделирования, который позволяет наиболее полно описывать структуру, процессы функционирования и другие свойства моделируемого объекта или системы. В качестве такого метода авторы предлагают рассматривать метод системно-объектного моделирования, в основе которого лежит оригинальный системный (системно-объектный) подход «Узел-Функция-Объект» Развитием и формализацией УФО-подхода является метод и алгоритм системного анализа, именуемый для краткости УФО-анализом. В целях автоматизации применения УФО-анализа спроектирован и реализован CASE-инструментарий UFO-toolkit (свидетельство Роспатента №2006612046, http://www.ufo-toolkit.ru/) [1, 2].
Существование большого множества программных систем имитационного моделирования, основанных на самых разных теориях и подходах, свидетельствует о применимости и востребованности имитационных моделей. Однако кроме того, это свидетельствует о существовании нерешенных до сих пор проблем в области имитационного моделирования, что выражается, в частности, в сложности оценки адекватности описания моделируемой системы и интерпретации результатов.
Сказанное выше позволяет говорить об актуальности исследований в данной области, причем, в первую очередь, с точки зрения решения задачи преобразования компьютерных визуальных (графоаналитических) системно-объектных моделей в терминах «Узел-Функция-Объект» (УФО-моделей) в модели имитационные.
Учитывая, что имитационное моделирование — это частный случай математического моделирования объектов, для которых по различным причинам не разработаны аналитические модели, либо не разработаны методы решения таких моделей, необходимо для создания имитационной модели на основе УФО-модели осуществить формализацию последней, т.е. ее трансформацию в математическое (алгебраическое) описание.
К сожалению, такой системой не могут пользоваться эксперты предметной области, далекие от математики. Например, для решения с ее помощью дифференциального уравнения нужно понимать смысл преобразования Лапласа, а представление этого уравнения довольно громоздко (см. рис. 1..3).
Уравнение Ван дер Поля
Рис. 1..3. Пример объектного представления параметров и функций модели (Simulink).
3.2 Объектно-ориентированная методология моделирования
Построение моделей из элементов
С точки зрения объектно-ориентированного анализа, упомянутые выше области интегрирования слишком велики и сложны, чтобы их рассматривать как элементарные объекты модели, и методы этих объектов все равно придется организовывать в процедурно-ориентированном стиле. В частности, класс области интегрирования должен содержать, по крайней мере, несколько массивов для сеточных функций, соответствующие значения которых (элементы массивов с одинаковым индексом) связаны между собой гораздо сильнее, чем элементы одного массива. С другой стороны, отдельные параметры и функции, наоборот, слишком малы как объекты, так как для создания из них хоть сколько-нибудь сложной модели требуются тысячи и миллионы таких объектов. Напрашивается вывод, что в качестве элемента модели следует рассматривать объект промежуточного размера между областью и параметром, и этот объект ниже называется просто элементом.
3.2 Создание типов элементов на основе наследования
Пусть исходно был запрограммирован класс проводника, то есть элемента, который характеризуется сопротивлением и (по)током через него и предназначен для расчета электрической цепи или, что то же самое, гидродинамической системы жестких трубок. Если требуется учесть растяжимость трубок, достаточно унаследовать свойства и методы класса проводника, добавив к ним свойство объема и процедуру расчета сопротивления трубки через этот объем. (см. рис. 1..4)
А теперь предположим, что требуется решать не только эллиптическую задачу расчета потоков и давлений в системе трубок, но и параболическую задачу переноса веществ или тепла в этой системе. Методы расчета конвективного, диффузионного и конвективно-диффузионного переноса должны существовать в специальных элементах-переносчиках независимо от элементов, связанных с моделированием механики сосудов. (см. рис. 1..4)
Рис. 1..4. Пример иерархии наследования классов модели (в объектной нотации Г. Буча).
Таким образом, наследование дает возможность быстрого развития не только моделей, но и заложенных в них численных методов. При этом упростить и формализовать изменение кода программной реализации методов можно настолько, чтобы осуществлять его с помощью визуального редактора.
3.4 Пример использования: моделирование организма человека
Классы элементов обозначены на схемах символическими изображениями, соответствие с которыми определяется таблицей 1..2. Каждая схема соответствует некоторой подсистеме организма.
Следует заметить, что рисунки 1..5-1..7 не являются теоретическими схемами структуры модели. Они созданы с помощью специального графического редактора расчетной программы, то есть изображенные на рисунках объекты (элементы) создаются при инициализации модели и в ходе моделирования выполняют соответствующие их классам численные алгоритмы.
Рис. 1..5. Общая структура модели кровеносной системы.
Рис. 1..6. Структура модели малого круга кровообращения.
Рис. 1..7. Структура модели большого круга кровообращения.
Таблица 1..2
Условные обозначения некоторых классов элементов модели организма человека на рис. 1..5-1..7. Номера соответствуют таблицам 1-4 приложения.
№ |
Элемент |
Рис. |
№ |
Элемент |
Рис. |
27 |
Точка конвекции |
31 |
Градиент-конвектор |
||
28 |
Узел конвекции |
32 |
Насос-конвектор |
||
29 |
Конвектор |
33 |
Сосуд-конвектор |
||
30 |
Проводник-конвектор |
34 |
Эластичный конвектор |
3. Технология разработки информационных систем
Адаптируемость (способность приспосабливаться к изменениям среды, окружения) является одним из наиболее важных свойств современных информационных систем (ИС) различного назначения. Это понятие подразумевает такие требования к системам, как способность к развитию, гибкость, расширяемость, интероперабельность и т.п. Такая широкая природа этого понятия делает его не только интересным для теоретических исследований, но и важным для практики создания ИС, гарантирующим эффективность вложений в их разработку и внедрение, эксплуатацию и сопровождение, обеспечивающим «живучесть» ИС.
Адаптация информационных систем – это процесс их настройки на меняющиеся условия эксплуатации и потребности пользователей и бизнес-процессов как при создании новых систем, так и при сопровождении существующих. Этот итеративный процесс можно считать важнейшей частью жизненного цикла ИС. Адаптируемые системы включают средства, которые обеспечивают их настройку на новые требования и условия динамически, облегчают их сопровождение. Адаптивные системы – это системы, которые меняют свое поведение автоматически в соответствии с изменениями, происходящими в их окружении, настраиваются на изменения среды без применения каких-либо средств «ручной» настройки.