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

Синтез имитационных моделей сложных систем на основе технологии концептуальных шаблонов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
151
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Синтез имитационных моделей сложных систем на основе технологии концептуальных шаблонов»

Кодема В.А.

СИНТЕЗ ИМИТАЦИОННЫХ МОДЕЛЕЙ СЛОЖНЫХ СИСТЕМ НА

ОСНОВЕ ТЕХНОЛОГИИ КОНЦЕПТУАЛЬНЫХ ШАБЛОНОВ

Институт информатики и математического моделирования технологических процессов

КНЦРАН, Мурманская обл., г. Апатиты

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

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

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

Таким образом выделяются следующие задачи:

1. Формализация технологии синтеза имитационных моделей сложных систем на основе технологии концептуальных шаблонов.

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

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

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

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

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

Формально понятие шаблона можно представить следующей записью на языке теории множеств: Р = (Б1, Би, X, У, I} , где - структура шаблона,

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

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

¥

Рис. 1. Формальный шаблон в виде «черного ящика»

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

Справочник. Эта структура данных содержит необходимую, по мнению экспертов, информацию о предметной области моделируемого объекта. Данную информацию можно разделить на понятийно-терминологическую составляющую и базу норм. В понятийно-терминологической части определяются термины и понятия предметной области, тем самым производится некая унификация терминологического аппарата, т.е. в системе специалисты различных областей, используя заранее определенные понятия и термины, будут общаться на «одном языке». Множество понятий и терминов обозначим V. База норм содержит справочную информацию о различных нормах предметной области, например различные коэффициенты и константы. Множество норм и констант обозначим '.

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

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

Для описания формального синтеза разработан следующий набор процедур:

1. Процедуры вывода &1 и ®2 определяют для каждого шаблона модели покрывающие действия, т.е. как он сопоставляется примитиву дерева целей.

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

Пусть Тг - множество вершин дерева целей концептуальной модели, Ь с Тг - множество конечных листьев - примитивов, а А - множество всех

шаблонов, тогда процедуру а 1 можно определить как отображение множества примитивов на множество шаблонов

®': Ь ® А, (1)

причем V 1 е Ь 3 а] е А: Г! = Бп], 1 =1,т ] =1,к, где £ - цель примитива, Бп] -цель функционирования шаблона, т - количество примитивов дерева целей концептуальной модели, к - количество шаблонов.

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

Таким образом, процесс сопоставления проходит на основе функционального покрытия шаблоном цели примитива (£=Еп]).

В результате выполнения данной процедуры получается множество пустых экземпляров О.

Процедура задания экземпляра. Пусть Е - множество всех экземпляров в модели.

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

®2: О ® VuW, _ (2)

причем " е ° 3 * с V, ™ с ж:(" 5 е ^ ® у е *)&("1 е 1 ® ™ е 1 1п, где п -количество пустых экземпляров в системе.

Т.е. для любого пустого экземпляра из множества О существуют векто-

V с V ^ с Ш

ра , такие что каждому элементу структуры пустого экземпляра

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

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

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

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

ры. В качестве входных и выходных параметров шаблона выступают потоки, которые могут «втекать/вытекать» в/из других шаблонов, т.е. браться или передаваться в качестве параметров в другие шаблоны.

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

Ф: Е1 ® Е1 х Е1, где Е1 с Е,

причем V е1 е Е1 3 е] е Е1: < е;, е] > е Е1 х Е1, 1з ] =1’ пк, пк - количество шаблонов в Е1 (пк<п).

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

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

+ - последовательное соединение, * - параллельное соединение.

Следовательно, запись Р = Р1 + Р2 означает, что V у е У1 3 X] е Х2: у =

X], 1 =1 т ] =1,п, п - количество входных параметров шаблона Р2, т - количество выходных параметров Р1, причем п=т (в рассматриваемом случае).

Определим матрицу Фк(пкхпк).

2, если ег * e j

Фк =

3

Мг ., если ег + е. , где г, / = 1, п,

0, если г = / или нет связи между шаблонами

е;, е - экземпляры шаблонов к-ого уровня, если родительская вершина к+1 уровня, Му - матрица сопряжения входных и выходных параметров двух экземпляров.

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

В многомерном случае, элемент М1] также является матрицей:

Го, если V. Ф хр ___

М . = В. = \ , где ., р = 1, т

4 .р [1, если у = Хр

т - количество входных/выходных параметров шаблонов.

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

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

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

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

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

Пусть Е1сЕ является подмножеством множества экземпляров шаблонов модели и содержит экземпляры, покрывающие все дочерние вершины

рк

родительской вершины 1 дерева целей (к - уровень иерархии, 1 - индекс вершины в этом уровне).

Тогда отображение

у: Е1 ® Е1хЕ1, Е1 с Е , причем 3 е1 е Е1 3 е] е Е1:

1) <еь е]> е Е1 х Е1, ^ ] 1,пк, пк - количество шаблонов в Е1

2) 3 Бр е Б! е е! 3 Б! е е е] <Бр, е Б! х с Е1 х Е1, где !е[1; т^ и ре[1; т]] , т! и т] - количество элементов структуры в экземплярах е1 и е] соответственно.

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

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

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

[ Вг., если для ег е Е, 3 е . е Е, : < ei, е . > е Е, х Е1з г, / = 1, пк

Уг/ Ч '

[0, в противном случае

В свою очередь элемент Бу матрицы у(пкхпк) также является матрицей Б^хт]), где т1 и т] - количество элементов структуры в экземплярах е! и е] соответственно. Вид данной матрицы может быть определен следующим образом:

Г1, если для 5 е Б. е е 3 5. е Б. е е : < 5 , 5. > е Б.- х Б.

Т) р III . . р ^ 1 г .

ВР1 = I 0

[0, в противном случае

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

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

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

Пусть Vk - множество вспомогательных переменных модели, а Е1 -подмножество экземпляров модели, тогда Ю: Vk ® Vk х Е1, Е1 с Е, причем (*) VviеVk 3е]еЕ1: <у, еj>еVkхЕ1, 1=1,...,к, к - количество вспомогательных переменных в модели, ] = 1, пк , пк - количество шаблонов в Е1

Принимая во внимание, что каждый экземпляр имеет свою внутреннюю структуру и в качестве параметра информационной связи может выступать любой элемент структуры, т.е. е] = {Б] Бп], X], У], I]} , то высказывание (*) можно записать в следующем виде:

V у е Vk 3 е] е Е1| 3 Бк е Б] <у1, Бк> е Vk х с Vk х Е1 Схема отображения Ю может быть представлена в виде матрицы Ю(кхпк), строки которой соответствуют элементам множества вспомогательных элементов Vk, а столбцы - элементам множества Е1. Значения элементов данной матрицы определяются наличием связи между соответствующими элементами этих множеств.

Г А., если для V, еVk 3 е . е Е : < у,, е . > еVk х Е

^1 _ I . г 3 1 г 3 1

г . [0, в противном случае

В свою очередь элемент А] матрицы Ю(кхпк) является вектором А(т]), где т] - количество элементов структуры в экземпляре е]. Вид данного вектора может быть определен следующим образом:

Г1, если для у. е V, 3 5. е Б. е е : < у., 5. > е V, х Б.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

А __ 1 г 1 3 3 г^г ]

. [0, в противном случае

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

Она задается как отображения множества экземпляров модели Е1, которое является подмножеством множества всех экземпляров модели Е, на произведение этого множества с множеством вспомогательных переменных модели Vk.

Я2: Е1 ® Е1 х Ук, Е1 с Е,

причем (**) 3е1еЕ1 3^^: <е1, V]>еE1хVk, 1 1,пк, пк - количество шаблонов в Е1, ] ^ к, к - количество вспомогательных переменных в модели.

Принимая во внимание, что каждый экземпляр имеет свою внутреннюю структуру и в качестве параметра информационной связи может выступать любой элемент структуры, т.е. е1 = {Б^, Бп1, Х1, У1, 11} , то высказывание (**) можно записать в следующем виде:

3 (е1 е Е1 | 3 Бк е Б! ) 3 у1 е Vk: <Бк, у1> е Б!] х Vk с Е1х Vk

Схема отображения Я2 может быть представлена в виде матрицы Я2(пкхк), столбцы которой соответствуют элементам множества вспомогательных элементов Vk, а строки - элементам множества Е1. Значения элементов данной матрицы определяются наличием связи между соответствующими элементами этих множеств.

Г С , если для е е Е 3 у . е Ук : < е , у. >е Е х Ук

Я2г _ \ 1 3 1 1

11 [0, в противном случае

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

Г1, если для 5. е б.. е е 3 у. е Ук : < 5., у. > е Б.- х Ук

С _ I . г г 3 1 3 г

. [0, в противном случае

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

Инструментальная система. В состав инструментальной системы входят следующие компоненты (рис. 2):

• база знаний системы;

• блок пользовательского интерфейса;

• блок формализации знаний экспертов;

• блок формирования шаблонов;

• блок сопоставления шаблонов;

• блок синтеза окончательной модели.

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

1. Таблица дерева целей;

2. Таблица спецификаций шаблонов;

3. Таблица экземпляров шаблонов;

4. Таблица информационных связей;

5. Таблица справочника;

6. Таблица вспомогательных переменных.

і

ОКТЫЕКЫЁ Л| лшашпкк

і

Вн: ешннн

ШСІРУЬІЕНГАЛЬНАЯ СИСТЕЬЕІ

ЕьЁсу д: игацепуишкхн їквдєпн

ІЬ-::іоі-їЙс

шйьюничэтл

і-л ння

\

\

\

Л-

\

Ьі-рреКТКМЕКІ лсио^ж *■

■ІгаїЕЛКіЕІЗЗ: занив; (в форін и-а-шїпг^ига.из: ыдапн)

ХВІНКЯ

Йіоі

фораінр(ваішія

неЗл-я-і-ее

Иг:і^-д:іідд ■:■ а= Злз-ії

N.

РііУІЕГГііТ

ВрАЇ

СИИХтаНЛККНЯ

іл-Зл-з-і-ж

Инфоріяфн

Еі і поннн

ОЇ£721ГЬЕ

О^рЗБС

■ЗСЬ^СТОб.

Е£-ЇСр ИЕ':гз-:-;€-. К£']м ? к^ГЛСЯр^Е; ІіЙїр ш^орщни КЬЛІСЕЛІ^К. ОЦЯ ЕОЮ-ІКК >:£>зр пм:.

ІКреиеКНЕЖ.)

Вшк пэ-гтаза ікі=тз:

. КЬшотгчзтаал і:а;у:ь-

*П Г

кьрряшия ■:>:': теашьш £кіптккз-[

ІІкі іршцня і&іипеа

№■:; сриащня

■:> МІСіт^;

СкіТІЕІ

Нде'згздп

Рї^ПЕТІТ

Страгг еге ь і: ЬРок/агеип

МДО&ьщ яіька систзсиьн. якЕгкіг:

Рис. 2. Алгоритм реализации модели

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

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

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

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

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

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

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

• Создана инструментальная система автоматизации синтеза системно-динамических моделей.

Система решает следующие основные задачи:

• Организация диалога с пользователем;

• Приобретение и пополнение знаний;

• Реализация шаблонов;

• Сопоставление шаблонов;

• Синтез модели предметной области.

Система реализована в среде программирования Бе1рЫ 7.0.

• Инструментальная система апробирована на примере разработки системно-динамической модели топливно-энергетического комплекса Мурманской области.

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

Список использованных источников

1. Гейн К., Сарсон Т. Структурный системный анализ: средства и методы. - М.: Эйтекс, 1992.- 274с.

2. Иванищев В.В., Михайлов В.В. Автоматизация моделирования экологических систем. - Спб.: Изд. СПбГТУ, 2000.-172с.

3. Путилов В.А., Горохов А.В. Системная динамика регионального развития. -Мурманск: НИЦ «Пазори», 2002. - 306с.

4. Кузьмин И.А., Путилов В.А., Фильчаков В.В. Распределённая обработка информации в научных исследованиях. - Л.: Наука, 1991. 304с.

5. Шеннон Р. Имитационное моделирование систем - искусство и наука. -М.: Мир, 1978. - 418с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. Самарский А. А., Михайлов А.П. Математическое моделирование. - М.: Наука-Физматлит. 1997.-316с.

i Надоели баннеры? Вы всегда можете отключить рекламу.