Научная статья на тему 'Эскиз самоорганизующейся системы'

Эскиз самоорганизующейся системы Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Эскиз самоорганизующейся системы»

ИЗВЕСТИЯ ПГПУ • Физико-математические и технические науки • № 8 (12) 2008 г.

T_ID INTEGER CONSTRAINT A_T_ID REFERENCES T,

)

или в общем виде:

CREATE TABLE X1 (

ID INTEGER CONSTRAINT X1ID PRIMARY

KEY,

)

CREATE TABLE X2 (

ID INTEGER CONSTRAINT X2ID PRIMARY

KEY,

X2_ID INTEGER CONSTRAINT X2_X1_ID

REFERENCES T, )

Приведем алгоритм построения системы базовых SQL-запросов для известного пользовательского представления ПО и заданной схемы БД. Исходными данными для алгоритма являются:

- объектное представление ПО;

- схема БД;

- набор таблиц БД для каждого объекта ПО. Алгоритм построения системы базовых SQL-запросов имеет следующий вид:

1) выбрать из множества объектов ПО минимальный сложный объект, которому соответствует сложное понятие, содержащее в своем составе только простые понятия (такой объект хотя бы один обязательно есть в любой ПО);

2) если выбранный объект представляется одной таблицей в БД, то создать базовый SQL-запрос на выборку данных из одной таблицы и перейти к п. 6, иначе перейти к п. 3;

3) среди таблиц, представляющих объект ПО, выбрать таблицу, не содержащую внешних ключей;

4) найти таблицы, ссылающиеся на таблицу из п. 3 и построить для каждой из них соединение типа JOIN#1;

5) найти таблицы, ссылающиеся на таблицы уже вошедшие в базовый SQL-запрос и построить для каждой из них соединение типа JOIN#2. П. 5 выполнять до тех пор, пока все таблицы, представляющие объект ПО, не будут включены в SQL-запрос;

6) выбрать из оставшегося множества объектов ПО минимальный объект, которому соответствует сложное понятие, содержащее в своем составе, как простые понятия, так и понятия с уже построенными базовыми SQL-запросами;

7) для выбранного объекта выполнить п. 2-5 (при выполнении п. 3 считать допустимыми таблицы, имеющими внешние ключи на таблицы уже вошедшие в базовые SQL-запросы);

8) п. 6-7 выполняются до тех пор, пока оставшееся множество объектов ПО не станет пустым.

Приведенный алгоритм формирует систему базовых SQL-запросов для всех объектов пользовательского представления ПО.

Предложенный метод создания отношений Бд и модификации системы базовых SQL-запросов при изменении пользовательского представления ПО предоставляет эффективный алгоритм, позволяющий АИС автоматически поддерживать реализацию пользовательских представлений в Бд.

УДК 681.3

Эскиз самоорганизующейся системы

М. В. ЖУКОВ

Пензенский государственный педагогический университет имени В. Г. Белинского кафедра прикладной математики и информатики

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

В зависимости от стабильности существования во времени системы делятся:

1) статические системы существуют в неизменном состоянии сколь угодно долго;

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

Среди динамических высокоорганизованных систем различают адаптивные, обучаемые, самообучаемые, самоорганизующиеся и развивающиеся системы:

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

2) обучаемой является система способная получать информацию о закономерностях внешней среды и собственного поведения от внешнего источника (учителя) и использовать ее в дальнейшем функционировании;

3) самообучаемой является система способная самостоятельно выявлять закономерности поведения

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

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

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

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

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

-У-показано отношение импликации, соответствующее фразе: «если ... то ...». В частности любая самообучающаяся система является обучаемой. На схеме показано очень важное свойство самоорганизу-

ющихся систем: они должны быть самообучающимися и развивающимися.

но какое отношение такой весьма абстрактный термин как система имеет отношение к разработке программного обеспечения? Самое непосредственное. Придерживаясь принципа диалектического поступательного движения, приведем «обогащенное» понятие системы.

Объект-система (05) - это композиция, или единство, построенное по отношениям (в частном случае - взаимодействия) г множества (ЯО8} и ограничивающим эти отношения условиям (законам композиции) 2 множества (2О8} из «первичных» элементов т множества (МОБ}, выделенного по основаниям а множества (АО1} из универсума (и}.

Любая программная система - это объект-система, где «первичными» элементами могут быть биты, функции, объекты, модули, сборки, программные приложения. Объекты могут находиться, а в известных условиях и находятся в отношениях ге {ЯО8}: «связан с», «агрегирует» и т. д., которые ограничены логикой предметной области, например, объект «бинарная операция» может быть связан только с двумя объектами типа «операнд».

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

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

1) меркантильной - нежелание заказчиков тратить денежный капитал, время на создание гибких программных продуктов с одной стороны и нежелание разработчиков разрабатывать, за предоставляемые ресурсы, такие системы с другой;

2) отсутствие прецедентов разработки сложных высокоорганизованных программных систем;

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

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

ИЗВЕСТИЯ ПГПУ • Физико-математические и технические науки » № 8 (12) 2008 г.

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

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

Воздействие системы на внешнюю среду характеризуется значениями ее выходных параметров у. Совокупность выходных параметров и их изменения определяют поведение системы во внешней среде.

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

Тогда черный ящик математически можно записать в виде: у = Р(х, т), где Р - некоторая связь, что соответствует структурно-функциональной схеме:

\ г

X ¥(х, м) У Ь

г

Рис. 2

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

Здесь показывается одно из самых важных свойств разрабатываемой самоорганизующейся систем - внешняя среда воздействует опосредованно на объект управления (ОУ).

другим важным свойством самоорганизующейся системы является способность самостоятельного

Рис. 3

изменения своей структуры и организации. Единственный способ достичь этого - запустить эволюционный процесс развития объекта управления. Однако, использование эволюционных алгоритмов (в силу их высокой требовательности к ресурсам системы, а также не способность предоставить на «промежуточных» этапах корректно функционирующую связь Р) вступает в противоречие с основным требованием к программным системам - требованием к производительности (время отклика). для решения возникшего диссонанса проведем декомпозицию объекта управление на подсистему эволюционного развития (ПЭР) и функциональный блок (ФБ), воплощающий в себе наиболее оптимальный вариант реализации связи Р на данном этапе развития системы. Тогда к задачам ПУ добавятся:

1) задание правил эволюционного процесса;

2) контроль запуска и приостановка эволюционного процесса (эволюционный процесс запускается в периоды низкой загруженности ФБ);

3) когда эволюционный проект достигает определенной формации проводить замещение ФБ.

В этом случае структурно-функциональная модель будет выглядеть следующим образом:

Рис. 4

Таким образом, создание объект-системы САМООРГАНИЗУЮЩАЯСЯ СИСТЕМА сводится к созданию 3-х первичных элементов: ПУ, ФБ, ПЭР,

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

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

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

1) разработать алгоритм оценки приспособленности автомата;

2) разработать алгоритм воспроизводства автоматом;

3) ввести практически значимое понятие эквивалентности автоматов;

4) для реализации операторов скрещивания и мутации создать алгоритмы классификации и выявления эквивалентных автоматов.

ПУ:

экспертная система

нейронная сеть

ОУ:

ФБ:

классификатор

ПЭР:

генетический алгоритм

Рис. 5

УДК 681.3

субъекно-ориентированное проектирование корпоративной информационной системы вуза

А. А. МАСЛЕННИКОВ, О. Е. ЯЧМЕНЕВА Пензенский государственный педагогический университет имени В. Г. Белинского кафедра прикладной математики и информатики

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

Корпоративная информационная система пред- зовать решения на базе «тонкого» клиента. Сосредото-

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

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

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

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

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

В настоящее время существует две основные платформы для разработки корпоративных информационных систем.

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

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