Научная статья на тему 'Компонентный подход к построению распределенных имитационных моделей'

Компонентный подход к построению распределенных имитационных моделей Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Компонентный подход к построению распределенных имитационных моделей»

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

F={«Henpaedonodo6HO», «правдоподобно на 25 %», «правдоподобно 50 на 50 %», «правдоподобно на 75 %», «правдоподобно»}.

Логические переменные (rN_v ® uN_v ), (rN-v—

—(uv-v, Xv-v+i)) и ((Xv-n, un-n ) ® xn-n+i ) соответствуют событиям-импликациям, которые заключаются в том, что на шаге (N—v) событие-причина, например (xn-v, un-v), приводит к следствию, например Xn-v+1.

Для построения нечетких множеств событий-импликаций рассмотрим множества их базовых и нечетких значений.

F={«неправдоподобно», «правдоподобно на 25 %», «правдоподобно 50 на 50 %», «правдоподобно на 75 %», «правдоподобно»}.

Для нечетких значений можно построить нечеткое множество:

M (нечеткое значение = «правдоподобно») = {собы -тие^(событие) = ц(событие, «правдоподобно»}.

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

тод фокус-групп. Значения могут вычисляться по соотношениям метода экспертных оценок.

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

Литература

1. Лукьянова Л.М. Целеполагание, анализ и синтез целей в сложных системах: модели и методы исследования // Изв. РАН; ТиСУ. 2007. № 7. С. 100-113.

2. Виноградов Г.П., Кузнецов В.Н. Моделирование поведения агента с учетом субъективных представлений о ситуации выбора // Искусственный интеллект и принятие решений. 2011. № 3. С. 58-72.

3. Беллман Р., Заде Л. Принятие решений в расплывчатых условиях / Вопросы анализа и процедуры принятия решений; [под ред. И.Ф. Шахнова]. М.: Мир, 1976. С. 172-215.

4. Михалевич В.С., Волкович В.Л. Вычислительные методы исследования и проектирования сложных систем. М.: Наука, Глав. ред. Физматлит, 1982. 287 с.

УДК 681.518

КОМПОНЕНТНЫЙ ПОДХОД К ПОСТРОЕНИЮ РАСПРЕДЕЛЕННЫХ ИМИТАЦИОННЫХ МОДЕЛЕЙ

А.А. Веселое, д.т.н. (Тверской государственный технический университет, veselov_a_a@mail.ru)

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

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

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

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

Входные сигналы (управляющие воздействия)

Компонента распределенной модели

Выходные сигналы (ответные реакции)

Рис. 1. Автоматный подход к представлению распределенной компоненты

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

- использование автоматного подхода;

- отделение внешних связей с компонентой от внутренних связей с ее составными частями;

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

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

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

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

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

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

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

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

Воздействия со стороны внешнего окружения

(внешние связи)

Компонента распределенной модели

• > • • » • * • ' »

\ Подчиненные \' \ компоненты \ \ |_ и"*

Ответные воздействия на внешнее окружение

(внешние связи)

* * ! !

( в н у т р е н н и е с в я з и ) Воздействия на Ответная реакция подчиненные компоненты подчиненных компонент

Рис. 2. Разделение связей компоненты на внешние и внутренние

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

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

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

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

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

Рассмотренный компонентный подход к построению распределенных систем был использован на кафедре ЭВМ Тверского государственного технического университета для построения распределенных дискретно-событийных имитационных моделей устройств цифровой автоматики и вычислительной техники на основе применения математического аппарата теории сетей Петри [3]. Полученные результаты полностью подтвердили эффективность предложенного подхода и перспективность его применения при построении распределенных имитационных моделей.

Литература

1. Таненбаум Э., ван Стеен М. Распределенные системы. Принципы и парадигмы. СПб: Питер, 2003.

2. Александров А.А. Распределенное имитационное моделирование: технологии, методы, средства // Вестн. НГУ: Сер. Информационные технологии. Вып. 3. Т. 7. 2009.

3. Веселов А.А. Моделирование устройств цифровой электронной техники D-расширением сетей Петри: монография. Тверь: ТГТУ, 2006.

Воздействия со стороны внешнего окружения

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

Ответные реакции на внешние возмущения

Сигналы управления | модулем | * 1 1 1 1 laaai ▼ : : Ответные реакции модуля

Функци Воздействия на -подчиненные компоненты _ ональный модуль комп X Представители ! подчиненных компонент оненты 1 | ["•"►Ответные реакции 11. '.к. подчиненных компонент Г'

Управляющие воздействия • !...! Ответные реакции

г-----------------------------1—|------------------------,

Модули подчиненных компонент \

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

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