Г.В. УРАЛЕВ УТОЧНЕНИЕ КОНЦЕПТУАЛЬНЫХ СПЕЦИФИКАЦИЙ В БИНАРНОЙ МОДЕЛИ ЗНАНИЙ

advertisement
УДК 004.896(06) Интеллектуальные системы и технологии
Г.В. УРАЛЕВ
Российский государственный технологический университет
им. К.Э. Циолковского “МАТИ”
УТОЧНЕНИЕ КОНЦЕПТУАЛЬНЫХ СПЕЦИФИКАЦИЙ
В БИНАРНОЙ МОДЕЛИ ЗНАНИЙ
Рассматриваются методы уточнений концептуальных
выполненных в языках бинарной модели знаний.
спецификаций,
Уточнение – это стратегия «сверху – вниз», которая была введена в
работах по теории программирования в 70-х годах прошлого века независимо
Н.Виртом и Ч.Хоаром [1], [2]. Таким образом, впервые техника уточнения
была использована для процедурных языков программирования. В последнее
время эта техника была применена к задачам проектирования объектноориентированных систем [3].
Очевидным достоинством техники уточнения является снижение
сложности процесса анализа и синтеза систем. Синтез системы является
более простым тогда, когда нам не нужно иметь дело в одно и то же время со
всеми аспектами и деталями. Другим достоинством этой техники является то,
что уточнение дает структуру процессу синтеза, который представляет собой
дерево процессов синтеза подсистем.
Мы рассмотрели возможность применения техники уточнения к задачам
концептуальной спецификации систем на базе Бинарной Модели Знаний
(БМЗ). БМЗ была введена Г.С. Плесневичем (см. последнюю работу [4]) и
представляет собой набор концептуальных (понятийно-ориентированных)
языков, семантика которых основана на формальной модели понятия. БМЗ
включает, в частности, следующие языки:
▫ язык структурной спецификации ЯСС. Этот язык используется для
спецификации универсумов понятий, т.е. структурных множеств, состоящих
из возможных экземпляров формальных понятий. Текст на ЯСС – это список
деклараций для задания атрибутов понятий и бинарных связей между
понятиями. (В сущности, этот текст является схемой развитой объектноориентированной модели данных.). Предложение ЯСС специфицирует
структуру экземпляра понятия как кортежа значений атрибутов, причем
этими значениями могут быть как элементы типов данных (включая
абстрактные типы), так и суррогаты (идентификаторы экземпляров) других
понятий. Спецификация абстрактного типа данных включает инкапсуляцию
функций, для определения которых используется функциональный язык
программирования , близкий к языку Hope [5].
ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 3
178
УДК 004.896(06) Интеллектуальные системы и технологии
▪ язык логической спецификации ЯЛС. Этот язык используется для
спецификации экстенсионалов понятий, т.е. множеств экземпляров понятий
(независимо от точек соотнесения). ЯЛС включает в себя не только
предложения, эквивалентные формулам логики первого порядка, но и
предложения, выражающие количественные отношения (в частности,
используются числовые кванторы);
▫ язык запросов ЯЗ. Этот язык содержит предложения, обращающиеся с
запросами к базе данных, которые структурированные по схеме в ЯСС.
Кроме того, в ЯЗ включены предложения, указывающие режимы вывода
(дедуктивного, абдуктивного, нечеткого и др.), которые требуются для
вычисления запросов;
▫ язык модальной спецификации ЯМС. Этот язык включает предложения,
специфицирующие точки соотнесения - параметры для экстенсионалов
понятий (такие, как моменты времени, пространственные положения,
контексты и т.п.), а также предложения, специфицирующие бинарные
отношения –возможные переходы между точками соотнесения.. Модальные
предложения в ЯМС содержат интенсиональные операторы, с помощью
которых можно специфицировать экстенсионалы понятий в разных точках
соотнесения, связанных указанным бинарным отношением;
▫ язык продукций ЯП. Предложения этого языка определяют допустимые
преобразования базы данных. Точнее, продукция определяет переход от
состояния базы данных, отвечающего одной точке соотнесения к состоянию,
отвечающего другой точке, связанной с первой тем бинарным отношением,
которое специфицирована соответствующими модальными предложениям;
▫ язык процессов ЯПЦ. Этот язык близок к языку CCS , разработанному
.Милнером [6], и к алгебре процессов Бэтона [7].
Концептуальная спецификация систем с помощью БМЗ использует
понятие объектно-ориентированной среды, которая является средой типа
клиент./сервер. Каждый объект среды может быть клиентом или/и сервером.
Сервер предлагает клиенту ряд сервисов – методов, представленных
функциями, записанными в языке функционального программирования. С
другой стороны, клиент может запрашивать сервисы, вызывая
соответствующие методы.
Понятие «клиент/сервер» обобщается до понятия роли. Роль
представляется атрибутом, дающим некоторый взгляд на объект (она сходна
с понятием взгляда в схеме базы данных). Таким образом, понятие среды
«клиент-сервер» и понятие «роль» вместе дают объектно-ориентированную
среду , в которой каждый объект предлагает сервисы – набор методов
ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 3
179
УДК 004.896(06) Интеллектуальные системы и технологии
(который может быть пустым) и может запрашивать у других объектов
методы через интерфейсы (роли).
В понятие объектно-ориентированной среды мы включим также понятие
протокола. Дело в том, что клиенту, как правило, разрешено вызывать
методы только в определенном порядке, нарушение которого ведет к
ошибкам. (Например, методы манипуляции файлом следует вызывать в
соответствии со следующим порядком: «открыть», «читать», «писать»,
«закрыть».) Протокол, таким образом, используется в спецификации
динамики поведения объектов.
В различных языках применяются различные способы уточнения
концептуализаций. Но общей чертой этих способов является то, что переход
с одного уровня концептуализации на более низкий, уточненный уровень
получается добавления деталей. Таким образом, процесс уточнения
противоположен процессу абстракции, при котором происходит обобщение –
снятие деталей, объявляемых несущественными в описании. Уточнение
включает также декомпозицию. Декомпозиция понятия – это разбиение его
экстенсионала на части, которые служат экстенсионалами подпонятий –
таксонов.
В предложении ЯСС, специфицирующем универсум некоторого понятия
C, могут входить атрибуты двух сортов: концептуальные атрибуты,
значениями которых служат имена объектов (точнее их суррогатов) и те,
значениями которых служат элементы типов данных. Концептуальные
атрибуты позволяют задавать иерархию типа «часть – целое» для понятий
концептуальной схемы: если A – концептуальный атрибут понятия C,
принимающий значения в универсуме понятия D, то понятие D стоит ниже
понятия C на один шаг в этой иерархии. Таким образом, уточнение понятия C
получается тогда, когда мы далее уточняем понятие D путем
соответствующей спецификации его универсума. Аналогично, если
значениями атрибута A служат элементы типа данных T, то, выполнив
уточнение этого типа, мы получаем уточнение понятия C.
Уточнение абстрактного тип данных T можно определять с помощью
конструкторов типов, которые были использованы для спецификации T. В
частности, если тип T был определен как декартово произведение других
типов T1 , T2 ,…, Tn , то мы имеем декомпозицию T , и тогда уточнение T
сводится к уточнению каждого из типов Tj .Функции (методы),
ассоциированные с абстрактным типом данных T, рассматриваются как
инкапсулированные.; их уточнение заключается в определении этих функций
с помощью предложений языка функционального программирования.
ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 3
180
УДК 004.896(06) Интеллектуальные системы и технологии
Уточнение в алгебре процессов используется для доказательства того, что
некоторая реализация согласована со спецификацией. Это уточнение
основано на понятии подстановки. Процесс R (реализация) уточняет процесс
S (спецификацию), если взаимодействующая с R среда «не замечает»
никакого эффекта, когда S заменяется на R. Другими словами, изменяется
только структура, но не меняются действия.
Таким образом, основным результатом нашей работы явилось
исследование того, как использовать технику уточнения в объектноориентированном анализе и синтезе на примере концептуализаций в
Бинарной Модели знаний. В частности, мы изучили так называемое
вертикальное уточнение. Этот тип уточнения мы сравнили с методом
уточнения путем транзакций, предложенным Р. Ван-Рейном [8]. Было
показано, что техника вертикальных уточнений имеет значительные
преимущества по сравнению уточнений путем транзакций. Во-первых,
вертикальное уточнение основано на алгебре процессов и поэтому лучше
применимо к протоколам по сравнению с уточнением путем транзакций. Вовторых, вертикальное уточнение позволяет естественным образом вставлять
действия в реализацию, тогда как при уточнении путем транзакций это не
удается.
Также была изучена интеграция различных уточнений. Для этого был
введен оператор соединения двух уточнений. Мы сравнили введенный метод
интеграции с методом, предложенным в [9] для языка LOTOS, [10].
Был рассмотрен метод расширения вертикальных уточнений путем
добавления данных.
Список литературы
1. C.A.R.Hoare. Proof of correctness of data representation // Acta Informatic 1(1), pp. 271-281, 1972
2. .N.Wirth. Program developments by stepwise refinement // Communications of the ACM, 14(4),
pp.221-227, 1971.
3. D.D’Souza and A.Wills. Catalysis: practical rigor and refinement. Addison-Wesley, 1998.
4. G.S.Plesniewicz. Binary data and knowledge model // Proceedings of the 7-th Joint conference on
knowledge-based software engineering, pp.237-244, IOS Press, 2004.
5. R.Bailey. Functional programming in Hope. Ellis Horwood, UK, 1990.
6. R.Milner. Communication and concurrency, Prentice Hall, 1989.
7. J.C.Baeton and M.Weijland. Process algebra // Cambridge tracts in CS, No.17, Camridge, UK,
1990.
8. R. van Rein. Transactional protocol refinement in Quantum. Technical report, Faculty of Computer
Science, Enschede, 1997
9. H.Ichikawa, K.Yamaka, and J.Kato/ Implemental specification in LOTOS. In: “Protocol
Specification and Testing”, X, 1990.
10. E. Brinksma, G.Scollo, and C.Steenbergen. LOTOS specifications, their implementations and tests.
In: “Protocol Specification, Testing and Verification, VI, 1987
ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 3
181
УДК 004.896(06) Интеллектуальные системы и технологии
ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 3
182
Download