ний по корректировке и состояний, и множество нечетких значений пар состояний и планов проекта, согласованное с множеством ее базовых значений.
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. Представление компоненты как составного объекта, разделенного на две части: функциональную часть (модуль) и ее внешнего представителя