Научная статья на тему 'Автоматический контроль корректности процесса моделирования в рамках алгебраического подхода'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зуенко А. А., Фридман А. Я., Кулик Б. А.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зуенко А. А., Фридман А. Я., Кулик Б. А.

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

Automated Control of Modelling Process Correctness within the Framework of Algebraic Approach

The paper introduces algebra of conditional n-tuples extending abilities of the formerly developed n-tuple algebra in processing of contextual restrictions and queries expressed by logical formulas containing elementary two-place predicates. The proposed context-oriented approach to forming restrictions for a subject domain model allows for consideration and prompt analysis of both general limitations for all admissible models and domain-specific limitations. Ref. – 6.

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

Минин мтаы» пнд— 211

АВТОМАТИЧЕСКИЙ КОНТРОЛЬ КОРРЕКТНОСТИ ПРОЦЕССА МОДЕЛИРОВАНИЯ В РАМКАХ АЛГЕБРАИЧЕСКОГО ПОДХОДА*

А.А. Зуенко, А.Я. Фридман, Б.А. Кулик1

1. Введение

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

• отсутствие возможности гибко настраиваться на ограничения, специфичные для конкретного объекта исследования (предметно-ориентированные ограничения);

• отсутствие возможности использовать ограничения в задачах, отличных от контроля корректности структуры МПО (при ее построении), например, при анализе незапланированных запросов к базе данных (БД) системы моделирования (СМ);

• отсутствие возможности активировать только те ограничения, которые актуальны для исследуемой в текущий момент МПО, а также ситуации;

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

* Работа выполнена при финансовой поддержке РФФИ (проект № 09-07-00066), Отделения нанотехнологий и информационных технологий РАН (проект 2.3) в рамках текущей Программы фундаментальных научных исследований и Президиума РАН (проект 4.3 Программы .№3).

1 Институт проблем машиноведения РАН, г. С-Петербург.

Для преодоления перечисленных трудностей в работах [2, 4] предложено производить традиционный анализ структурных особенностей модели не путем жесткого программирования ограничений, а посредством их декларативного представления и обработки с применением методов искусственного интеллекта. В результате исследований авторами был разработан контекстно-ориентированный подход к управлению данными для систем концептуального моделирования. В рамках подхода корректность взаимодействия блоков модели контролируется на уровне семантического интерфейса реляционной БД СМ, тем самым обеспечивается возможность не только проверять структуру МПО, но и отслеживать действия блоков модели над общими данными на основе анализа гибко модифицируемых и оперативно подгружаемых предметноориентированных ограничений. Наделение реляционных СУБД способностью обрабатывать данные моделирования с учетом их семантики позволяет единообразно контролировать корректность всего процесса моделирования, а не только отдельных его этапов (случай программируемых ограничений).

Семантизация реляционных СУБД осложнена тем, что для обработки структур данных и знаний используются принципиально разные теоретические подходы: для данных применяется алгебраический подход (реляционная алгебра), а для знаний - декларативный подход, в основе которого лежит теория формальных систем. Для унификации обработки данных и знаний авторами в [6] была предложена единая методологическая основа - алгебра кортежей (АК), которая реализует общую теорию многоместных отношений. Однако при наделении семантического интерфейса возможностью анализировать контексты относительно друг друга (без наполнения значениями из БД СМ), в частности, проверять корректность незапланированных запросов к БД СМ до стадии их исполнения СУБД, оказалось, что структуры АК в чистом виде плохо приспособлены для этих целей. АК ориентирована на анализ логических формул над элементарными одноместными предикатами, а большинство контекстных ограничений и запросов можно представить только в виде логических формул, содержащих элементарные двуместные предикаты. Как расширение АК на задачу логического анализа таких формул, авторами разработана алгебра условных кортежей (АУК) [5]. Но прежде чем перейти к ее описанию, кратко рассмотрим ранее упомянутый контекстноориентированный подход к управлению данными.

2. Контекстно-ориентированный подход к управлению данными системы концептуального моделирования

В рамках предложенного подхода [2] в обработке данных моделирования (ОДМ) участвуют следующие объекты: модель предметной области, прикладная программа (приложение), запрос приложения и база данных системы моделирования, предназначенная для хранения элементов модели предметной области и результатов процесса имитации.

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

Все перечисленные объекты ОДМ характеризуются собственным контекстом. Таким образом, контекст взаимодействия складывается из контекста модели, контекста приложения, контекста запроса и контекста БД СМ, каждый из которых, в свою очередь, подразделяется на абстрактный и прикладной контексты. Абстрактный контекст объекта соответствует интенсионалу этого объекта. Прикладной контекст объекта позволяет описать некоторое множество его экземпляров. Контексты всех объектов взаимодействия формализуются с использованием рассмотренных в [2, 4] систем ограничений.

Контексты при их совместном рассмотрении накладывают дополнительные ограничения на запрос, адресованный к БД СМ, на содержимое БД СМ, а также на саму модель предметной области.

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

Контекст запроса. Абстрактный контекст запроса описывает его структуру. Прикладной контекст запроса получается из абстрактного после назначения атрибутам запроса конкретных значений (где это необходимо) [1; 3].

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

исполнители элементов МПО (внутрисистемные модули), так и внешние клиентские модули.

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

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

Конкретные примеры контекстных ограничений приводились в [2, 4, 5], как правило, такие ограничения записываются в виде логических формул над элементарными одно- и двуместными предикатами без кванторов, где в качестве предикатов выступают: «<», «>», «=», «^». Напомним здесь один из примеров контекстных ограничений БД СМ.

Пусть определены следующие классификации и отношения элементов модели предметной области, хранящиеся в БД СМ. Модель (Model) состоит из множеств объектов (Object), процессов (Process) и ресурсов (Resource). Объекты формализуют организационную структуру исследуемого комплекса. Каждый объект является оболочкой набора процессов - преобразователей данных (ресурсов). Как объекты, так и процессы связаны между собой потоками ресурсов. Над множествами определены отношения принадлежности, например,

ProcObj с ObjectxB(Process) - процессы, приписанные к объекту; отношения типа «вход-выход» (например, ObjInR.es с ObjectxB(Resource) - входные ресурсы объекта,

ProcOutRes с ObjectxB(Resource) - выходные ресурсы процесса). Здесь B(*) - служит для обозначения булеана (множества всех подмножеств) множества «*».

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

1. Имена (свойство rname) однотипных (свойство usertype) ресурсов на входах и выходах процессов-буферов (базовый тип —bu/’) должны быть одинаковыми.

2. Имена однотипных ресурсов на входах и выходах процессов-разветвителей и преобразователей (базовый тип —bra” и — tra”) должны быть различными.

3. На входные ресурсы процессов с базовым типом —pro” ограничений не накладывается.

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

{{P.basetype = ’buf) Л (R'n.usertype = Rout.usertype) л (Rln.rname = Rout.rname)) v {{{P. basetype = ’bra’) v (P.basetype = ’tra’)) л (R,n.usertype =

Rout.usertype) л (Rln.rname ф Rout.rname)) v

(P.usertype = ’pro'), (1)

где P - некоторое подмножество процессов, Rin - входные ресурсы процессов P, Rout - выходные ресурсы процессов P.

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

Далее введем основные определения, необходимые для описания АУК.

3. Алгебра условных кортежей

Пусть Л = {Ab A2,...An} - множество атрибутов (например, атрибутов классов концептуальной схемы базы данных), называемых простыми, а С = {Ab A2,...An, A1^A2, A1xA3,_} - множество, состоящее из простых атрибутов и их, всевозможных попарных декартовых произведений (сложных атрибутов). Тогда в качестве гибкого универсума следует рассматривать булеан множества

С - Б(С) = {Q}.

АУК задается следующим образом:

А = !• и, П, +Attr, -Attr, Pr, <-^Attr, □>,

где: RKi[Qi] - некоторый АУК-объект (условный С-кортеж или условная С-система); Qi - схема отношения, представляющая собой некоторое множество простых атрибутов и их попарных декартовых произведений; и - операция объединения АУК-объектов; П - операция пересечения АУК-объектов; +Attr, -Attr - операции добавления и элиминации атрибутов; <->Attr - операция перестановки атрибутов; Рг - операция взятия проекции; □ - операция наполнения АУК-объектов.

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

отношений (двуместных предикатов) выступают: «<» (меньше), «>» (больше), «=» (равно), <#» (не равно). Компоненты простых атрибутов формируются из открытых интервалов вида (а, Ь) и дискретных значений. В описании компонент сложных атрибутов используются лишь имена бинарных отношений, а конкретные множества значений формируются в результате операции наполнения. Условный С-кортеж будем называть элементарным, если каждая его компонента, либо является полной, либо содержит только одно из возможных значений. Элементарные условные С-кортежи соответствуют логическим формулам, не содержащим связки по «или» между двуместными предикатами. Условные С-системы учитывают такие связки.

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

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

Условные С-кортежи и С-системы будем называть АУК-объектами. Чтобы отличать АУК-объекты от АК-объектов, в их именах явно указывается множество сложных атрибутов. Например, ЯК[М] означает, что АУК-объект задан в схеме отношения [М], и К - множество сложных атрибутов. Очевидно, что К^М.

Пересечение двух однотипных условных С-кортежей Р*[М]=[РЬ...,РИ] и Гь[М]=[Т1^,Тп] равно пересечению соответствующих компонент этих структур, т.е. Рк[М]ПТА[М]=[Р1ПТ1,.,РяПТп].

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

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

Правила пересечения сложных атрибутов

Предикаты Наличие совместимости Результат

Первый Второй

x=y x=y Да x=y

x^y Нет -

x<y Нет -

x>y Нет -

x<y x<y Да x<y

x£y Да x<y

x>y Нет -

x>y x>y Да x>y

xfy Да x>y

Экземпляром DRK[M\ АУК-объекта Як[Щ называется С-система, которая получается в результате конкретизации всех бинарных отношений, производимой в соответствии с алгоритмом, который подробно описан в [5].

C помощью АУК появляется возможность автоматизировать анализ составляющих логической формулы, содержащей элементарные двуместные предикаты, и делать выводы относительно ее выполнимости или невыполнимости.

4. Примеры применения АУК при анализе контекстных ограничений

В [5, 6] предлагается моделировать реляционные таблицы, состоящие из множества элементарных кортежей, в виде С-систем, где все компоненты являются одноэлементными множествами. Условные С-системы представляют собой расширение С-систем (С-система R[M] есть условная С-система RK[M], где K=0). Следовательно, с помощью условных С-систем также можно моделировать реляционные таблицы.

АУК позволяет представлять в виде сопоставимых объектов сами реляционные таблицы, ограничения, накладываемые на них, и запросы к ним. Рассмотрим, как описывается ©-соединение с помощью введенного выше математического аппарата АУК. Допустим, в БД содержится два отношения со схемами R[XY] и T[WV], где атрибуты X и W имеют целочисленный тип. Необходимо выполнить выборку тех кортежей, где x<w. Атрибутом, значения которого необходимо получить в ходе исполнения запроса, является X. На языке SQL этот запрос выражается так: SELECT T.x FROM R, T WHERE R.x<T.w.

На языке АУК этот запрос вычисляется с использованием оператора взятия проекции (Pr) следующим образом:

Pr(D(R [X, Y]nT[W,V| ПБЕШ[ХЩ) X), где SExw[XW]=[{<}] - селектор запроса (модель where-части). В выражении Pr(op | op2) первый операнд - это исходное отношение, а второй - множество атрибутов вычисляемой проекции. Предположим, что:

R[X,Y]= Ш/ }" , T[W,V]= ~{4},{y}~

_{2},{g}_ _{5},{z}_

Рассмотрим

запроса:

процедуру вычисления этого

R[X,Y]nT[W,V]=

R[X,Y]n T[W, V] nSEXW[XW]=

{1},{/},{4},{y}

{1},{/ },{5},{z} {2},{g},{4},{y} {2},{g},{5},{z}

},{>•},{<} {1},{/},{5},{z},{<} {2},{g},{4},{y},{<} {2},{g},{5},{z},{<} D(R[X,Y] rT[W,VІ Г\БЕШ[ХЩ)=

{1},{/ },{5},{z},[{1},{5}]

{2},{g},{4},{y},[{2},{4}]

{2},{g},{5},{z},[{2},{5}]

Pr(n(R[X,Y\C\T[W,V\C\SExw[XW\)\X)=

{1}

{1}

{2}

{2}

{1}'

{2}

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

В настоящей работе широко применяется проверка корректности, как самой БД, так и запросов к ней относительно некоторого набора ограничений. Рассмотрим ограничение (1), которое может быть записано в виде условной С-системы (1)к\ 1) |:

-{'buf },{=},{=} '

CDK[D]= {'bra' ,'tra'} ,{=} ,{*}

{' pro'}, *, *

где [D]=A, XY, WZ; A - P.basetype, X - Rm.usertype, Y - Rout.usertype, W - Rm.rname, Z - Rout.rname.

Пусть к БД СМ, на которую накладывается упомянутое ограничение, адресован запрос следующего содержания: получить процессы базового типа —buf’, имя входного ресурса - —Res1 ”, а имя выходного -—Res2’, а их пользовательские типы равны соответственно —Typel’.

Селектор запроса запишем в виде следующего С-кортежа Q[G\.

Q[G\= \ buf'}, {'Typel'}, {'Typel' где G=A, X, Y, W, Z.

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

,{'Re s1'},{'Re s2'}_

В результате пересечения условной С-системы ограничения с С-кортежем запроса получим:

0[G\nCDK[D]=

1' buf }, {' TypeY }, {' TypeY}, {' Re si'}, {' Re s2!}"

Г {’buf },{=},{=) " ^ x bra','tra'} ,{=} ,{ф} {'pro'}, *, * =

\ b Ilf'},{' TypeY }? {' TypeY },{' Re sT }? {' Re s2'} {=K {=} 7

Наполняя данный условный С-кортеж значениями на основе его проекции на множество простых атрибутов, получаем:

[{' buf'}, {' TypeY }, {' TypeY }, {' Re si'}, {' Re s2'}, [{' TypeY }, {'TypeY}], [0,0]] = 0.

Таким образом, в результате анализа установлено, что запрос Q[G] является некорректным с точки зрения ограничения СDK[D]. Причем, некорректность выявлена на стадии предварительного анализа запроса без привлечения информации из таблиц БД.

5. Заключение

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

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

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

Литература

1. Зуенко, А.А. Анализ корректности запросов к базам данных систем концептуального моделирования средствами алгебры кортежей /А.А. Зуенко, Б.А. Кулик, А.Я. Фридман // Искусственный интеллект. Интеллектуальные системы (ИИ-2009) // Материалы Х Междунар. научнотехнической конф. - Таганрог: Изд-во ТТИ ЮФУ, 2009. - С.86-88.

2. Зуенко, А.А. Контекстный подход в системах сопровождения открытых моделей предметной области / А.А. Зуенко, А.Я. Фридман// Искусственный интеллект и принятие решений. -2008.-№3. -С. 41-51.

3. Зуенко, А.А. Логический вывод при семантическом анализе нерегламентированных путевых запросов. / А.А. Зуенко, А.Я. Фридман // Oдинна-дцатая национальная конф. по искусственному интеллекту с международным участием КИИ-2008, 28сент. - 3 окт. 2008 г. г. Дубна, Россия: Труды конф. -Т.1. - М.: ЛЕНАНД, 2008. - С.298-304.

4. Зуенко, А.А. Управление контекстом при организации интеллектуализированного интерфейса БД в системах моделирования на основе концептуального подхода / А.А. Зуенко, А.Я. Фридман // Труды ИСА РАН. Прикладные проблемы управления макросистемами / Под ред. Ю.С. Попкова, В.А. Путилова. -Т.39. - М.: Книжный дом «ЛИБРOKOМ», 2008. - C. 128-141.

5. Зуенко, А.А. Развитие алгебры кортежей для логического анализа баз данных с использованием двуместных предикатов /А.А. Зуенко, А.Я. Фридман // Известия РАН. Теория и системы управления. - 2009. -№2. - С.95-103.

6. Kulik, B.A. A Generalized Approach to Modelling and Analysis of Intelligent Systems on the Cortege Algebra Basis. Proceedings of the Sixth International Conference on System Identification and Control Problems (SICPrO ‘07)/Russia, Moscow, January 29 - February 2, 2007. - Р.679-715.

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