Концептуальное управление
Наталья Никитина
Сегодня мы начинаем подробно рассматривать процессы концептуального проектирования баз данных - неотъемлемой части информационного обеспечения проекта системы организационного управления. Для этого нам придется на некоторое время сосредоточиться на аппарате математического описания концептуальных моделей - инженерной версии теории структур Н. Бурбаки. Исходный аппарат - теория структур - была изобретена группой французских математиков, скрывающихся под общим псевдонимом Никола Бурбаки, с одной целью - описать единообразно, в одном стандарте все здание математики. Эта попытка была предпринята ими в сороковых годах и увенчалась изданием девяти томов, первый из которых содержит формальную теорию множеств и теорию структур, задающую метаязык описания, а последующие - различные разделы математики, изложенные на этом языке. Большинство математиков не приняло эту работу по идеологической причине: им показалось, что со стороны авторов кощунственно и даже неприлично претендовать на решение такой необъятной задачи, как стандартное описание не связанных до сих пор разделов математики.
В начале 70-х годов, после рассмотрения различных вариантов Спартак Петрович Никаноров остановил свой выбор на этом аппарате в качестве прототипа математического способа задания концептуальных моделей. Во-первых, теория структур - это формальная теория, позволяющая предельно строго описывать концептуальные модели и, следовательно, предоставляющая потенциальную возможность алгоритмизировать их построение и использование в программных продуктах. Во-вторых, модели, заданные в аппарате теории структур, имеют форму аксиоматической теории и позволяют в свернутом виде хранить бесконечное тело теории, т. е. являются своего рода геном теории, из которого при желании можно вырастить все ее тело. Помимо того что это экономит место, ген, или, как принято говорить, ядро теории, позволяет с помощью правил вывода осуществлять развертывание теории в разных направлениях, сообразуясь с задачами, решаемыми при проведении концептуальных исследований или при проектировании. В-третьих, и это, наверное, самое главное, этот аппарат позволяет эффективно описывать именно концептуальные, а не общепринятые динамические модели, предоставляя возможность задавать сеть взаимосвязанных понятий и выражать сложные производные понятия, проводя очень тонкие различия между ними.
Основной формальной конструкцией теории структур, с помощью которой задается концептуальная схема или модель, является род структуры. С. П. Никаноровым совместно с Д. Б. Персицем была предложена первая инженерная версия аппарата родов структур, именно ее развивали и использовали в прикладных работах до начала восьмидесятых годов. Тогда же автором настоящей статьи была подготовлена вторая версия этого аппарата, применяемая до сих пор. В наших статьях мы будем пользоваться именно этой версией в ее популярном изложении.
Итак, что же представляет собой род структуры, позволяющий описывать концептуальную модель в форме аксиоматической теории?
Понятие рода структуры
Прежде всего, род структуры - это формальный текст, состоящий из разделов, наполненных буквами и формальными выражениями, а именно:
1. Буквы X1, ..., Xn, которые называются основными базисными множествами.
Они и интерпретируются независимыми множествами, не пересекающимися друг с другом. Эти буквы используются для обозначения исходных, не раскрываемых в данной модели понятий.
2. Буквы C1, ..., Cm, которые называются вспомогательными базисными множествами и имеют фиксированную в данном роде структуры интерпретацию, независимо от его применения в той или иной предметной области.
Примерами вспомогательных базисных множеств могут служить целые или рациональные числа. Фактически введение в род структуры букв C1, ..., Cm заменяет собой довольно сложные теоретические структуры, которые по тем или иным причинам нецелесообразно вводить в концептуальную модель данной предметной области.
Если ввести в род структуры вспомогательное базисное множество рациональных чисел, им можно заменить те структуры, которыми оно наделено, например структуру порядка, структуры групп по сложению и умножению и пр.
В частных случаях в родах структуры может не быть ни одного вспомогательного базисного множества, но основное, хотя бы одно, должно присутствовать обязательно.
3. Выражения DiMi (X1, ..., Xn, C1, ..., Cm), i = 1, t. Буква Di называется родовой структурой, а выражение, следующее после знака “принадлежности”, - ступенью.
Все вместе описывается словами: “родовая структура Di типизируется ступенью Mi”. Это означает, что объект, интерпретирующий букву Di, определяется как элемент множества, интерпретирующего ступень Mi. Ступень строится по определенным правилам с использованием всего двух операций, обозначаемых значками “х” и “B”.
Первый значок интерпретируется как операция декартова произведения над множествами, а второй - как операция взятия булеана от множества. Образно декартово произведение N множеств можно представить себе как N-мерное пространство, на каждой из осей которого отложены элементы одного базисного множества, участвующего в качестве одного из аргументов в операции декартова произведения. Под булеаном множества понимается множество всех его подмножеств. Булеан множества можно представить себе как пространство метауровня, в котором в качестве элементов выступают подмножества исходного множества.
Прервем изложение формальной конструкции рода структуры и приведем пример, иллюстрирующий уже введенные понятия.
Пусть род структурысодержит две буквы - X1 и X2, не имеет вспомогательных множеств и включает единственную родовую структуру D1, которая типизируется выражением B(X1 х X2), т. е. D1B(X1 х X2).
Таким образом, мы постулировали род структуры произвольного бинарного отношения на двух множествах. Если теперь X1 проинтерпретировать как множество сотрудников организации, а X2 - как множество документных форм, имеющих хождение в той же организации, то родовая структура D1 может быть проинтерпретирована как отношение использования документных форм сотрудниками организации.
Интерпретация букв рода структуры выражениями ограниченного естественного языка, которую мы только что проделали, называется лингвистической интерпретацией. Фактически, с ее помощью мы задаем имена тех множеств, элементы которых будут задавать объектную, или, что то же самое, теоретико-множественную интерпретацию. Объектная интерпретация формируется следующим образом. Базисным множествам сопоставляются списки, соответственно список сотрудников организации и список документных форм. Родовой структуре сопоставляется таблица, в которую занесены фамилии сотрудников организации, использующих те или иные документные формы. Таблица имеет следующий вид.
В шапку таблицы заносится лингвистическая интерпретация родовой структуры, а в шапки столбцов - лингвистические интерпретации соответствующих проекций родовой структуры. В каждой из строк таблицы - фамилия сотрудника и одна из используемых им документных форм.
Как применить все это к проектированию базы данных?
Если в процессе проектирования базы данных построен род структуры с лингвистической интерпретацией, то говорят, что задана концептуальная модель базы данных. Если на основе этой модели построены перечень списков и структура таблиц с шапками, то говорят, что задана логическая модель базы данных. Если списки, помимо заголовков, заданы перечислением своих элементов, а таблицы заполнены, то говорят, что задано содержание базы данных. Так как логическая модель базы данных строится по ее концептуальной модели строго алгоритмически и не вносит нового содержания, то все три уровня задания базы могут быть описаны кортежем-тройкой: <M, J, Q>, где М - концептуальная модель, J - интерпретация (содержание БД), а Q - однозначное отображение, связывающее модель и ее интерпретацию.
Продолжим изложение определения рода структуры и перейдем к разделу 4 текста рода структуры.
4. Выражения Axj = Axj(X1, ..., Xn, C1, ..., Cm, D1, ..., Dt), j = 1, k являются высказываниями о базисных множествах и родовых структурах, которые называются аксиомами.
Фактически аксиомы задают ограничения на объектную интерпретацию базисных множеств и родовых структур в виде определенных зависимостей между их элементами.
В частных случаях в родах структуры может не быть ни одной аксиомы, как в изложенном выше примере.
Примером своего рода классических аксиом могут служить следующие ограничения, которые можно наложить на базисные множества и родовую структуру из нашего примера:
Математический смысл первой аксиомы состоит в том, что все элементы из множества, интерпретирующего Х1, задействованы в интерпретации родовой структуры D1, а смысл второй - в том, что элементы отношения, интерпретирующего родовую структуру D1, находятся в однозначном, т. е. в функциональном, соответствии. Лингвистическая интерпретация первой аксиомы будет звучать так: “Все сотрудники организации используют документные формы” или в другой редакции: “Каждый из сотрудников организации использует хотя бы одну документную форму”. Лингвистическая интерпретация второй аксиомы может быть построена следующим образом: “Сотрудник организации использует не более одной документной формы”. Каждая из аксиом передает лишь единственный атомарный смысл - таковы наши правила игры, ведь введение в концептуальную модель каждого, хотя бы и мельчайшего независимого смысла должно обязательно контролироваться проектировщиком. Иначе не избежать смысловых понятийных ошибок. Если объединить смыслы двух приведенных аксиом, то получится, что “каждый сотрудник организации использует единственную документную форму”.
Введением аксиом в род структуры завершается задание ядра аксиоматической теории или, образно говоря, ее гена. Именно в таком, свернутом виде может храниться все бесконечное тело теории. При концептуальном проектировании базы данных аксиомы играют роль математических прототипов программ, которые, будучи реализованными в СУБД, станут “демонами Максвелла”, контролирующими целостность базы данных при операциях над данными: их вводе, изменении и удалении. При соответствующим образом разработанной СУБД эти программы будут проверять все содержимое базы, включая вводимый в данный момент элемент, на соответствие тем ограничениям, которые сформулированы в аксиомах.
Закончив формирование ядра теории заданием четырех разделов текста рода структуры, мы получаем возможность развернуть ее тело в двух направлениях:
- вывести производные следствия из аксиом - теоремы;
- сформулировать термы - производные понятия, описываемые данной теорией. (Забегая вперед, скажем, что теоремы в базах данных играют роль скрытых, непроявленных зависимостей между данными, а термы - роль типов запросов, которые могут быть в принципе поставлены к этой базе.)
Об этом, а также о примерах баз данных по сделкам различных типов мы расскажем в следующей статье рубрики “Концептуальное управление”.
Задание на дом
1. Задайте род структуры простого ориентированного графа, из каждой вершины которого обязательно исходит хотя бы одна дуга. Проинтерпретируйте полученный род структуры понятиями предметной области вашей организации. По полученной концептуальной модели постройте структуру таблицы, в которой будет храниться содержимое базы данных.
2. Проделайте концептуальный анализ понятия “Клиент организации” с простой целью: установить структуру информации, которая необходима вам для решения задачи регулярного поддержания контакта с вашими старыми клиентами. Постройте род структуры понятия “Клиент организации”, заданного с этой точки зрения, задайте его лингвистическую интерпретацию и разработайте структуру таблицы для базы данных о клиентах.
Литература
1. Никаноров С. П., Персиц Д. Б. Метод формального проектирования целостных систем организационного управления. - В сб.: Рефераты докладов Международного симпозиума по проблемам организационного управления и иерархическим системам. Баку, сентябрь - октябрь 1971. Часть 1. М., ИПУ АН СССР, 1972.
2. Никаноров С. П., Персиц Д. Б. Формальное проектирование целостных систем управления - развитие идеи конструирования организаций. - В сб.: Тезисы докладов Научно-технической конференции по структурам управления промышленными комплексами. Таллин, 22 - 23 октября 1973. Таллин, 1973.
3. Никитина Н. К. Метод автоматизированного проектирования концептуального уровня баз данных. - В сб.: Труды Всесоюзной конференции “Проблемы создания и применения диалоговых информационных систем в автоматизированных системах организационного управления”. Ч. 2. Таллин, Валгус, 1984.