ФОРМАЛИЗАЦИЯ ЦЕЛЕЙ И ОГРАНИЧЕНИЙ ИТС СРЕДСТВАМИ ДЕОНТИЧЕСКОЙ ЛОГИКИ А.И. Миков АНО «Институт компьютинга» г. Пермь, ул. Сибирская, д. 30-58
[email protected] Аннотация. В статье описывается подход к моделированию информационнотелекоммуникационных деонтической
логики.
систем,
основанный
Деонтическая
логика
на в
математическом дополнение
к
аппарате
классической
(ассерторической) математической логике использует операторы «обязательно» и «запрещено». Это позволяет строить высказывания, задающие требования, что является адекватным аппаратом для формулирования целей и ограничений, как самого процесса проектирования ИТС, так и функционирования созданной системы. Приводится обзор деонтических логик, а также основанных на них нормативных логик. Рассматриваются средства описания организационных предметных областей информационных систем, в частности, деонтический подход к описанию бизнес-процессов, нормативные системы, регулирующие функционирование мультиагентных систем, являющихся одним из перспективных направлений создания программного обеспечения ИТС.
Annotation. An approach to information and telecommunication systems modeling is described. The approach is based upon deontic logic. Deontic logic uses notions of obligation and permission in addition to axioms of classical mathematical logic. It allows researchers to formulate information system constraints and goals. A survey of different deontic logics, normative systems is offered. Multiagent systems with deontic constraints, description of organizational information system domains are discussed.
1
1. Введение Моделирование информационно-телекоммуникационных систем требует, в частности, формулирования целей проектирования таких систем, а также целей их функционирования. Традиционный подход состоит либо в словесной формулировке целей, либо в задании целевой функции. В первом случае затруднено использование математических методов в проектировании и анализе ИТС. Второй случай ограничен использованием только числовых параметров, описывающих ИТС, и решением минимаксных задач. Многие условия в техническом задании на создание ИТС формулируются в виде «должно быть» или «недопустимо» и далее следует некоторое утверждение о свойстве. По-существу, все техническое задание строится на таких формулировках. Деонтическая логика в дополнение к классической (ассерторической) математической логике использует операторы «обязательно» и
«запрещено». Это позволяет строить
высказывания не просто что-то констатирующие, но и задающие требования, что является адекватным аппаратом [12] для формулирования целей и ограничений, как самого процесса проектирования ИТС, так и функционирования созданной системы. Известно, что многие условия для использования ИТС закреплены в федеральных законах последних лет, таких как ФЗ «Об информации, информационных технологиях и о защите информации», «О персональных данных», «О цифровой подписи», в многочисленных отраслевых нормативных актах. На основе деонтической логики может быть построена нормативная логика, позволяющая включать в математическую модель ИТС и условия нормативных актов. Использование такого рода моделей позволит автоматизировать верификацию ИТС и контроль за правильностью их функционирования. В статье содержится обзор и сравнительный анализ деонтических логик и их применения для построения математических моделей ИТС. Статья основана на журнальных публикациях 2004-2008гг.
2
2. Виды деонтических логик и системы аксиом Деонтическая модальность – это выраженное в высказывании предписание, приказ или разрешение, побуждающее кого-либо к конкретным действиям, или запрет на выполнение определенных действий. Заметим,
что
деонтическая
модальность
очень
хорошо
подходит
для
формулирования предложений в так называемом императивном программировании (к которому относится большинство известных языков программирования – Pascal, Fortran, C, C# и другие). Вспомним операторы: «присвоить переменной … значение…», «читать значение из файла…», «вывести значение… в файл…», «повторять … в цикле». Все они имеют характер предписаний. Деонтическую логику называют [1] также логикой норм или нормативной логикой. Деонтическая логика изучает высказывания (деонтические высказывания) в контексте некоторой системы норм. К нормам, кроме законов, указов, постановлений, относятся ГОСТы, другие стандарты и технические регламенты, правила (правила игры, правила грамматики и т.д.). К нормативным документам относятся правила работы с информационной системой (утвержденные руководством организации), а также такие документы, как «руководство пользователя», «руководство администратора». Различаются абсолютные (монадические) и относительные (диадические) деонтические логики. В монадической деонтической логике перед высказыванием p может быть поставлен префикс «обязательно», или другой, определяемый через него, префикс, например, «запрещено», «разрешено». В диадической деонтической логике к этой конструкции добавляется еще и условие, например, «обязательно p при условии C». Здесь p и C – высказывания. Ни тот, ни другой вид деонтической логики не учитывают субъекта – не описывают, кто обязан или может выполнить действие. Отсюда – известные парадоксы деонтической логики. В традиционной схеме деонтической логики имеется пять возможных префиксных дополнений к высказыванию p:
3
обязательно p (OB p); разрешено p (PE p); запрещено p (IM p); необязательно p (GR p); необязательно (факультативно) p; (OP p). Если взять за основу OB, то остальные утверждения могут быть выражены следующими формулами: PEp =df OBp IMp =df OBp GRp =df OBp OPp =df (OBp) (OBp). Таким образом, утверждается, что разрешено p тогда и только тогда, когда отрицание p не обязательно; запрещено, когда отрицание обязательно; факультативно, когда ни p , ни отрицание p не являются обязательными (т.е. необязательно и разрешено). В
стандартной
деонтической
логике
(английская
аббревиатура
SDL)
используется оператор O. Выражение Op читается как «обязательно p», по-английски «p is obliged». Можно читать также «должно p», «необходимо p». При этом p имеет смысл утверждения о каком-либо действии, о выполнении чего-либо. Например, p = «записать информацию в базу данных». Тогда Op = «обязательно записать информацию в базу данных». Через этот основной оператор могут быть определены дополнительные операторы: P p = O p – читается как «разрешено p»; F p = O p – читается как «запрещено p»; W p = O p – читается как «необязательно p» или «отказ от требования, права выполнить действие p»; Для вышеприведенного примера P p = «разрешено записать информацию в базу данных», F p = «запрещено записывать информацию в базу данных», W p = «необязательно записывать информацию в базу данных».
4
Высказывание p – это высказывание о возможном или невозможном действии, но выражение O p уже не имеет такого характера. Поэтому повторное применение оператора, OOp, не имеет смысла. Однако, с формальной точки зрения, исчисление запретов на повторение модальностей не содержит. На основе оператора O строится система аксиом стандартной деонтической логики, включающая аксиомы и правила вывода АПИ [2, 3] (ассерторического пропозиционального исчисления), и следующие три аксиомы [21, 34]: DA1: O p O p (если обязательно, то разрешено); DA2: O (p q) O p O q (обязательны одновременно тогда и только тогда, когда обязательны поодиночке); DA3: O (p p) (обязательно выполнить или не выполнить действие); К аксиомам добавляется правило вывода: DR: Если p q выводимо, то и O p O q выводимо. Иными словами, если p и q логически эквивалентны, то и O p и O q логически эквивалентны. Семантика стандартной деонтической логики строится на понятии возможных миров
(или
идеальных
миров).
Предполагается,
что
существует
некоторое
подмножество множества возможных миров, такое, что для некоторого предложения p предложение O p (означающее, что p обязательно) имеет место (выполнимо) тогда и только тогда, когда p выполнимо во всех этих мирах. 2.1. Системы деонтической логики фон Вригта Наиболее ранние известные публикации по деонтической логике принадлежат финскому ученому фон Вригту.
Первый вариант деонтической логики был
опубликован им в 1951 году в статье «Деонтическая логика» в журнале «Mind». Важны и последующие его работы [44, 45, 46]. В этой логической системе были введены модальности O (Обязательность) и P (Разрешенность). Op означает, что p – обязательно; Pq означает, что q – разрешено. Оператор P рассматривался как монадический (унарный, одночленный).
5
В
состав
аксиом
и
правил
системы
входили
аксиомы
классической
пропозициональной логики, правило modus ponens и правило подстановки, а также дополнительные аксиомы (в нумерации Хильпинена): C1: Oq P q C2: Pq P q C3: P(q r) Pq Pr C4: O(q q) – не верно; P(q q) ) – не верно (принцип деонтической случайности или непредвиденных обстоятельств); C5: Если q и r логически эквивалентны, то и Pq и Pr логически эквивалентны. В дальнейшем были выявлены некоторые слабости исходной системы. Для их преодоления система была скорректирована. Новый вариант был опубликован фон Вригтом в 1956 году в том же журнале в статье «A Note on Deontic Logic and Derived Obligation». Основным оператором стал диадический (бинарный, двучленный) оператор P. Фон Вригт использовал обозначение P(r | s) , что означало, что r разрешено при обстоятельствах (условиях) s. Оператор O был производным и определялся через P аксиомой I3 . Этот диадический вариант системы включал аксиомы (кроме аксиом классической
пропозициональной
логики,
правила
modus
ponens
и
правила
подстановки): I1: P(r | s) P(r | s) I2: P(p q | r) (P(p | r) P(q | r p)) I3: O(p | r) P(p | r). Наконец, еще один вариант был опубликован в статье «A New System of Deontic Logic» фон Вригта в «Danish Yearbook of Philosophy 1» в 1964 году, впоследствии еще скорректированный в «Danish Yearbook of Philosophy 2». Аксиомы новой системы: K1: O(p p | r) K2: (O(p | r) O( p | r))
6
K3: O(p q | r) (O(p | r) O(q | r)) K4: O(p | r s) (O(p | r) O(p | s)) K5: P(p | r) O( p | r). Аксиома K1 исключает пустые нормативные системы. Аксиома K5 просто вводит дополнительный оператор. Такова история «авторских вариантов» деонтической логики. 2.2. Схема утверждения об обязанности Одним из интересных выражений деонтической логики является конструкция обязанности (a commitment formula), предложенная фон Вригтом, и формулирующаяся следующим образом: O (p q). Это выражение читается так: «Выполнение действия p обязывает агента выполнить действие q». Интерпретация импликации в этой формуле не совсем ясна. Может быть, лучше объясняет ситуацию следующая эквивалентная схема: O ( p q), в которой обязанность понимается как выбор из двух альтернатив. Агент должен либо отказаться от p, либо выполнить q. Еще одна эквивалентная форма выражения: F (p q). 2.3. Альтернативные определения деонтической логики В [5] система аксиом и правила вывода логического исчисления, обозначенного как М, со ссылкой на фон Вригта, формулируются следующим образом. Аксиомы: WA1: p p; WA2: ( (p q)) ( p q).
7
Правила вывода: WR1: Правило отделения для материальной импликации; WR2: Если выводимо P, то выводимо P; WR3: Если выводимо P Q, то выводимо P Q. Французский ученый Р.Фейс предложил исчисление, обозначенное им Т, со следующими аксиомами и правилами вывода. Аксиомы: FA1: p p; FA2: (p q) (p q). Правила вывода: FR1: Правило подстановки; FR2: Правило отделения для материальной импликации; FR3: Если выводимо P, то выводимо P. В состав аксиом и в первом и во втором случае входят аксиомы АПИ. У Фейса в аксиомы и правила не входят символ , символы строгой импликации и строгой эквивалентности. Но в формулах они могут использоваться в соответствии с их определениями: P означает P; P Q означает (P Q); P Q означает (P Q). У фон Вригта P означает P. Было доказано, что исчисления М и Т дедуктивно эквивалентны. 2.4. Парадоксы деонтической логики Как только от исчисления мы переходим к логике, к соотнесению формальных выражений с возможной их интерпретацией в реальной жизни, возникают парадоксы.
8
Это касается разных логических систем. Не свободна от них и деонтическая логика [21]. Оборотной стороной простоты семантики стандартной деонтической логики является возможная неправдоподобность выводов. Если отождествляется статус обязательности с наличием во всех элементах определенного подмножества альтернативного (взаимоисключающего) множества, то следующее свойство будет неизменно иметь место: «Если выводимо p q, то выводимо и Op Oq». Это
свойство
вынужденностью,
называют
поскольку
по-разному. оно
Здесь
апеллирует
мы
скорее
будем к
называть
моральным,
его чем
законодательным требованиям. Вынужденность (necessitation) является источником основных деонтических парадоксов. В качестве примеров можно привести парадокс Росса, парадокс обязанности, парадоксы Доброго самаритянина и Знатока. Парадокс Росса основывается на примере Op → O(p q) вынужденности («Если нужно произвести обновление в базе данных, то нужно произвести обновление или уничтожить БД»). Парадокс обязанности основывается на примере Op → O(p q), который интерпретируется как заявление о том, что если запрещено нечто сделать, то требуется сделать хоть что-нибудь. Пример: Если запрещено запускать программу, то если программа запускается, следует вывести из строя компьютер. Добрый самаритянин оперирует двумя предложениями, p и q, такими, что q обозначает нечто ужасное, а p обозначает доброе дело, которое может совершиться только, если совершается q. Тогда из выводимости формулы p q следует по свойству вынужденности, что «Если Op, то Oq». «Нужно удалить из компьютера компьютерный вирус.
Следовательно,
нужно,
чтобы
существовали
компьютеры,
зараженные
компьютерными вирусами». Парадокс Знатока, принадлежащий Åqvist, использует принцип «только то, что является истиной, может быть известно». Пусть q обозначает некое неправомерное (плохое) действие, а p обозначает, что q известно тому, кому следует знать об этом.
9
Тогда из выводимости p q и из Op следует по свойству вынужденности Oq. «Если администратору ИС следует знать, что Иванов получил незаконный доступ к данным Петрова, то Иванову следует получить доступ к данным Петрова». Известен также парадокс Крисхольма. Множество Крисхольма состоит из следующих четырех утвержений: «p должно быть (сделано)»; «если p сделано, то q должно быть (сделано)»; «если p не сделано, то q не должно быть (сделано)»; «p не сделано». Например, p = «пользователь идет за помощью к программисту», q = «пользователь
говорит
программисту,
что
он
придет».
Формализация
этих
предложений в стандартной деонтической логике или приводит к противоречию или к логической зависимости предложений. Парадокс свободы выбора может быть описан следующим образом. Рассмотрим два высказывания: 1) «Вы можете ввести информацию с флэш-памяти или ввести информацию с CD-диска»; 2) «Вы можете ввести информацию с флэш-памяти и Вы можете ввести информацию с CD-диска». Обозначим f = «ввести информацию с флэш-памяти», c = «ввести информацию с CD-диска». Тогда, используя формализм деонтической логики, первое и второе высказывания можно записать так: 1) PE(f c); 2) PE f PE c. Естественно рассматривать второе высказывание как следствие первого (по смыслу того, что сказано). Соответственно, считать выводимой импликацию (?) PE(f c) (PE f PE c). Однако в стандартной деонтической логике SDL эта формула теоремой не является. А что получится, если ее добавить в SDL как тавтологию, т.е. считать, что для произвольных p и q справедливо PE(p q) (PEp PEq)? Тогда в соответствии с известными теоремами SDL «Если OBq» и « PE p → PE(p q)» будет выводимо:
10
p → q , то
OBp →
из « PE p → PE(p q)» следует « PE p → (PEp PEq)», и далее, следует «PEp → PEq». Последняя же импликация абсолютно неверна. Ее можно прочитать так: если что-то разрешено, то разрешено все, что угодно (ведь p и q совершенно независимые высказывания). Наличие парадоксов, конечно, не способствует применению логики в приложениях. Поэтому различные авторы стараются найти пути
устранения
парадоксов. Например, Ханссон [21] предлагает отойти от основных семантических идей стандартной деонтической логики (SDL) и пытается найти более правдоподобные (реалистичные) семантические принципы деонтической логики. При этом он не рассматривает
все
возможные
применения
и
аспекты
деонтической
логики,
ограничиваясь теми случаями, когда предложение p в Op задает действие, а область приложения представляет собой так называемую ситуационистскую деонтическую логику, занимающуюся моральной оценкой ситуации. 2.5. Причины возникновения парадоксов Как отмечалось выше, парадоксы возникают при попытках интерпретации формул в конкретных условиях. Они появляются при переходах «формула семантическая интерпретация формула» или «ситуация формальное описание и преобразование ситуация (интерпретация полученной формулы)». Пока все остается в рамках формальной логики, применения правил вывода и эквивалентных преобразований никаких недоразумений не возникает. Проблемы возникают, когда высказыванию, обозначенному одним символом (например, p) ставится в соответствие фраза на русском (английском и т.п.) языке. Явно или не явно, в этой фразе вычленяются элементы, к которым, собственно, и обращены модальные операторы O, PE и проч. Другие же элементы фразы никак не зависят от этих операторов. Очень уязвимы с точки зрения возможных парадоксов такие высказывания как p = «ввести информацию с диска», Op = «необходимо ввести информацию с диска». Ясно, что информация и диск не могут быть теми исполнителями, к которым обращен оператор долженствования O. Потенциальный исполнитель вообще не указан.
11
Известны успешные приложения классической логики, например, к описанию цифровых электронных схем компьютеров. Никаких парадоксов в этой области не отмечается. А все дело в простоте и ясности интерпретации высказываний. Элементарные высказывания имеют вид «сигнал в такой-то точке схемы имеет уровень 1», «сигнал в такой-то точке схемы имеет уровень 0». Остальные, более сложные высказывания формируются уже средствами математической логики, а не средствами естественного языка. Эти сложные высказывания или остаются логическими формулами, или стандартным образом превращаются в другие математические объекты (например, совокупность логических значений может рассматриваться как код числа без знака). Таким образом, в деонтической логике многих парадоксов можно избежать, рассматривая высказывание не как неделимую сущность, к которой обращены деонтические операторы, а как конструкцию, состоящую из нескольких связанных между собой элементов. В этом варианте высказывание приобретает черты предиката, а операторы O, PE и др. становятся своеобразными кванторами. 2.6. Виды обязательств (обязанностей) Многие парадоксы и сложности деонтической логики связаны с различными трактовками
понятия
обязательства.
В
известной
неоднозначности
перевода
конструкций естественного языка на язык логики. Или неполноты фразы на естественном языке, предполагающей некоторые вещи «по умолчанию», или оставляющей их неопределенными. Прежде всего, это относится к вопросу о том, кто обязан. И здесь может быть несколько вариантов. Фраза «обязательно записывать информацию в базу данных» не содержит указаний на то, кто это должен делать. Это – безличная обязанность. Без знания контекста невозможно понять, как она может быть выполнена. Фраза «администратор системы должен записывать информацию в базу данных» содержит указание на агента обязательства (администратор системы). Это – агентская
12
обязанность. Агентская обязанность может быть непосредственной, как в данном примере. Но могут быть и более сложные варианты агентской обязанности. Агент не всегда может лично выполнить некоторое действие. Но он может, в свою очередь, дать указание (обязать) другому агенту (в чью компетенцию, в чьи умения входит выполнение действия). Например, организация берется за разработку некоторой информационной системы. С этого момента обязанностью директора организации (первого агента) является успешно завершить разработку. Но сам директор не в состоянии это сделать в одиночку. Поэтому, он поручает работу руководителю отдела (второй агент), который, в свою очередь, формирует группу и назначает ее руководителя (третий агент). Это типичная схема. При этом всю полноту ответственности несет первый агент. Третий агент может даже уволиться, а первый и второй агенты должны найти ему замену. Из этого примера видно, что в одном простом деонтическом выражении скрывается порой вся система взаимоотношений, бизнес-процессов внутри целой организации. Более того, агентская обязанность может быть выполнена не только по поручению агента, но и помимо его воли другим лицом, в чьи обязанности данное действие не входит. Например, это касается возникающих нештатных ситуаций. Или, что на практике тоже часто имеет место, некто «устал ждать», когда агент выполнит обязанность, и сделал это сам. Для предмета обязательства также существуют варианты. Прежде всего, предметом может быть выполнение некоторого действия. Это относительно простой вариант. Далее, предметом может быть пребывание агента в определенном месте в определенное время. Предметом может быть постоянное совместное с другими агентами выполнение некоторых действий, сотрудничество. Совместное
выполнение
двумя
агентами,
связанными
как
личности,
обязанностей, возникающих у одного из них (разделение обязанностей) – тоже является вариантом предмета обязательств. К примеру, это может быть в супружестве, у соавторов произведения (они связаны пожизненно личными неимущественными правами авторства) и т.д.
13
Поэтому высказывания деонтической логики приобретают практический смысл только как часть описания предметной области информационной системы, совместно с другими частями описания (онтологиями, ролями, бизнес-процессами, целями). Предметная область – это определенный мир. Семантику деонтической логики обычно изучают, исходя из истинности высказывания во всех возможных мирах. Paul McNamara [30] предложил The APA framework (agency, predetermination and ability) – структуру для изучения деонтических высказываний. Ниже приведены некоторые ее элементы. В структуру входит оператор предопределенности (неизбежности). В оригинале у автора он определяется так. PRp: It is (as of now) predetermined (for John Doe) that p. В английском языке John Doe используется как имя нарицательное, заменяющее имя любого истца в судебном процессе. В переводе на русский предыдущая фраза имеет смысл: «Для любого человека предопределено, что имеет место утверждение p». Иначе говоря, любой в своих действиях должен учитывать наличие в данный момент и в будущем факта p. Оператор PR поддерживается следующим набором аксиом и правил вывода: SL: Все тавтологии стандартной логики PR-K: PR(p q) (PRp PRq) PR-T: PRp p MP: Если выводимы p и p q, то выводимо q PR-NEC: Если выводимо p, то выводимо PRq,? Двойственным к оператору PR является оператор CO, вводимый определением COp = PRp, и имеющий смысл: «it is consistent with our agent’s abilities that p» – «p согласуется с умениями, компетенцией нашего агента». Далее, добавим в синтаксис константу d Андерсона-Кангера: d: The demands on John Doe are all met (or «John Doe’s responsibilities are all met») – «Все требования к John Doe удовлетворяются», «Все обязанности John Doe выполняются»?
14
На ее основе определим новый оператор OB персональной обязанности (nonagential but personal obligation operator): OBp = PR(d p), читаемый следующим образом: OB: «it is obligatory for John Doe to be such that» (or «it is obligatory for JohnDoe that it be the case that») – «Обязательно для John Doe быть таким, чтобы …». Добавим аксиому, использующую деонтическую константу d: d: COd (иначе говоря, PR d). Эта аксиома означает, что обязанности (область ответственности) совместима с областью его компетенции. Результирующую систему аксиом обозначим как «PRKTd». Напомним, что COd означает, что истинность d совместима с компетенцией агента, но не обязательно соответствует его собственным умениям. Агент может, например, поручить выполнение последней стадии некоторого сложного действия своему помощнику. Тогда для агента будет предопределено, что действие будет выполнено только в том случае, если помощник завершит его. Таким образом, завершение действия не входит в компетенцию агента, но совместимо с ней. Данная нами интерпретация OB, d и CO является значительной идеализацией, но позволяет с помощью простых средств показать, как хорошо знакомая система для OB взаимодействует с менее знакомой логикой для BA, не относящейся к классу нормальных. Оператор агента (agency operator) BAp определяется фразой: «John Doe Brings it About that p» – «агент осуществляет p», «агент выполняет действие, делающее высказывание p истинным». Система аксиом и правил для BA: BA-T: выводимо BAp p BA-C: выводимо (BAp BAq) BA(p q) BA-NO: выводимо BAT BA-CS: выводимо BA(p q) (BAp BAq) BA-RE: если выводимо p q, то выводимо BAp BAq.
15
Оператор возможности (ability) ABp определяется фразой: «It is within John Doe’s ABility that p» – «В возможностях любого (John Doe) сделать так, чтобы выполнялось p». По определению ABp равно CO BAp. 2.7. Варианты деонтической логики Деонтическая логика очень привлекательна для описания различных ситуаций, но не свободна, как показано выше, от парадоксов. Этот факт привел к тому, что различными учеными были предложены и развиты различные варианты деонтической логики. Перечислим некоторые из них. SDL – стандартная деонтическая логика; MDL (Minimal Deontic Logic) – минимальная деонтическая логика; DL (Jons & Porn’s Deontic Logic) – деонтическая логика Йонса и Пѐрна; PDL (Preference-Based Deontic Logic) – деонтическая логика, основанная на предпочтении; CDL (Contextual Deontic Logic) – контекстная деонтическая логика; TDL (Temporal Deontic Logic) – темпоральная деонтическая логика; ADL (Action Deontic Logic) – деонтическая логика действий; PTDL (Preference-based Temporal Deontic Logic) – временная деонтическая логика, основанная на предпочтении; PADL (Preference-based Action Deontic Logic) – деонтическая логика действий, основанная на предпочтении.
16
3. Логика действий Главным вопросом в исследованиях динамической деонтической логики [10] является вопрос о структуре деонтических высказываний типа «следует сделать» в терминах структуры сложных действий. В то время как все остальные деонтические логики
изучают
выражающихся дизъюнкции
и
логику с
действий
помощью отрицания,
относительно
стандартных
деонтических
логических
динамические
связок
деонтические
высказываний, –
логики
конъюнкции, используют
комбинаторы (операторы) действий. Такими комбинаторами являются комбинатор выбора , совместного выполнения , отрицания действия , последовательности «;» (точка с запятой), итерации , обращения
. Действие, обозначаемое как ? ,
называется тестированием , т.е. действием проверки истинности высказывания . Пусть A – множество символов элементарных действий, и a – произвольный символ из A. Пусть – множество пропозициональных символов (символов высказываний), и P – произвольный символ из . Правильно построенные формулы будем обозначать буквами , , …, а правильно построенные записи действий будем обозначать буквами , , … Тогда язык динамической логики можно определить следующими правилами в форме, подобной БНФ:
, , …, ::= P | T | | | | | , , … ::= a | | ; | * | | ? Модель действий в модальном варианте определяется как тройка M = {S, RA , V}. Здесь S – непустое множество возможных состояний; RA – функция интерпретации действий, RA : A 2(S S), ставящая в соответствие каждому элементарному действию бинарное отношение – подмножество S S. V – функция, V : 2S , ставящая в соответствие каждому утверждению P множество состояний, в которых P истинно.
17
Семантика динамической логики определяется понятием истинности формулы в состоянии s модели M. Этот факт обозначается M, s |= . Для определения истинности используется расширение R функции RA на составные действия : R(a) = RA (a) для a A; R( ) = R() R(); R( ;) = R() R(); R(*) = (R())*; R() = {(s, t) | (t, s) R()}; M, s |= P тогда и только тогда, когда s V (P) ; M, s |= тогда и только тогда, когда неверно, что M, s |= ; M, s |= тогда и только тогда, когда M, s |= и M, s |= ; M, s |= . тогда и только тогда, когда существует t, такое, что (s, t) R() и M, t |= ; Истинность в модели M определяется как истинность во всех состояниях модели. Общая истинность формулы определяется как истинность во всех моделях. Введение деонтических операторов O, P, F в динамическую логику действий сразу вызывает ряд вопросов, касающихся, прежде всего сложных действий. Например, как оценивать формулу P() P(a), где = (a; b), a и b – элементарные (атомарные) действия?
Разрешено
выполнить
сложное
действие
,
являющееся
последовательностью более простых действий a и b, и не разрешено выполнить a, первое из них. Потенциально возможны две интерпретации: 1) первый и второй операнды конъюнкции несовместны и, следовательно, вся формула тождественно ложна; 2) не исключаются случаи, когда оба операнда конъюнкции истинны и, следовательно, для некоторых действий a и b формула может быть истинной. Можно привести и другие формулы, вызывающие подобные вопросы:
18
F(a) F(), O() O(a) и др. Первую интерпретацию можно назвать «нормы процессов», а вторую – «нормы целей». Имеется в виду, что в первом случае ограничения налагаются на каждое действие процесса. Во втором – на сложное действие в целом. Правда, это сложное действие также задается процессом выполнения более простых действий, но с точки зрения норм мы не интересуемся, каким образом выполнено действие. Важно, завершилось ли оно достижением той цели, ради которой начиналось. Этот подход можно определить известным афоризмом «цель оправдывает средства». Можно привести доводы, как в пользу, так и против того и другого подхода. Вроде бы естественным кажется использовать только разрешенные действия, т.е. использовать нормы процессов. Но действие может задаваться сколь угодно сложным алгоритмом. Поэтому, статическая (по тексту) проверка истинности формулы во
многих
случаях
невозможна.
Проверить,
действительно
ли
используется
запрещенное действие можно только во время выполнения процесса, что значительно снижает полезность логических формул. В пользу норм целей можно привести тот факт, что именно они используются в формулировке законов, нормативных актов, должностных инструкций. Норма «подписанный контракт должен быть исполнен», разумеется, не определяет разрешенного способа выполнения контракта – этих способов великое множество. Но она не может перечислять и всех ограничений, поскольку тогда требовалось бы перечислить чуть не все законодательные акты. Во всяком случае, туда полностью вошли бы Гражданский и Трудовой кодексы Российской Федерации, многие статьи УК РФ, большинство законов РФ. Некоторые другие формулы тоже кажутся не тождественно истинными. Например, P() = F() соответствует известному в России начала 1990-х постулату «разрешено все, что не запрещено». Однако этот закон нельзя признать универсальным. Возьмем руководство по использованию некоторой программы. Там перечислены далеко не все разрешенные действия, и, тем более, далеко не все запрещенные. Таким образом, для некоторых действий не известно, истинно P() или F(). Значит, утверждение P() = F() выглядит слишком сильным.
19
Далее, о применении модальности запрета F() к сложным действиям. Если мы считаем сложное действие некоторым алгоритмом, который можно выполнить, то выражения O() и P() более или менее понятны. А как понимать запрет? Если это запрет выполнить алгоритм, то мы знаем, что существует бесконечное количество алгоритмов, выполняющих одну и ту же работу. Нет смысла запрещать один, если то же можно сделать с помощью другого. Можно понимать выражение F() как запрет всего бесконечного множества эквивалентных алгоритмов, но тогда функция F() невычислима, так как, в противном случае, она решала бы алгоритмически неразрешимую задачу проверки эквивалентности алгоритмов. А значит, такая интерпретация бесполезна с практической точки зрения. Другой вариант – присвоение уникальных имен всем сложным действиям, различающимся текстуально (но, может быть, эквивалентным с точки зрения входвыход). В этом случае запись F() будет означать запрет на применение действия с конкретным именем. Этот, второй вариант, конечно, является очень слабым запретом. Одним из интересных операторов над действиями, является отрицание (negation) действия, обозначаемое –. Интуитивный смысл оператора «–» состоит в совершении действия «воздержаться от действия » или, иначе говоря «выполнить что-нибудь или не выполнять ничего, но не выполнять ». Обращаясь снова к вопросу о применении деонтических операторов к действиям и к операторам над действиями, можно отметить кажущуюся справедливой формулу O() = F(–). Однако импликация F(–) O() выглядит слишком сильной. Можно сформулировать [10] с использованием деонтических операторов O, P, F несколько естественных требований динамической деонтической логики. Например, следующие. (P() F())
– действие
не может быть одновременно разрешено и
запрещено. Заметим, что здесь явно не хватает темпоральной компоненты. Действие может быть разрешено до определенного момента времени и запрещено после (например, движение через перекресток регулируется светофором или знаками); (O() P ()) – действие не может быть одновременно обязательным и не разрешенным;
20
(O() F ()), если R() R() – действие не может быть обязательным, если альтернативное (alternative) действие не запрещено; (O() O ()), если R() R()
– действие не может быть обязательным,
если отличающееся (different) действие также обязательно; P( ) P() P() – разрешение выбирать между двумя действиями эквивалентно разрешению на выполнение того и другого действия; P( ) P() P() – разрешение выполнить действие влечет разрешение выполнить его параллельно с другим независимым от него действием; F( ) F() F() – запрет на выбор одного из двух действий равносилен запрету хотя бы одного из этих действий; F( ) F () F () – запрет на параллельное выполнение двух действий влечет запрет на каждое из них; O( ) O() O() – обязанность параллельно выполнить два действия эквивалентна обязанности выполнить первое действие и обязанности выполнить второе действие.
21
4. Нормативные логики Проблема формализации норм является более сложной, чем, например, физических законов. Предписанные нормы, в отличие от законов Природы, могут не выполняться, могут в ряде случаев противоречить друг другу. Работа ИТС подчиняется определенным инструкциям, но иногда исполнители могут этими инструкциями пренебрегать. Автоматизированная система, в отличие от автоматической, требует своей логики описания. Такой логикой может стать нормативная логика, включающая в себя (в качестве части) деонтическую логику. Во многих публикациях [6, 9, 17, 23, 25, 35, 38] развивается теория нормативных положений, содержащая деонтическую логику, логику действий агентов, метод обобщения «классов» нормативных положений и установления отношений между ними. 4.1. Проблемы моделирования ограничений Информационная система функционирует в условиях ограничений. Конечно, среди этих ограничений есть и ограничения технического характера, которые можно задать, как принято в математике, числовыми неравенствами. Например, ограничения на объем информации, на время и периодичность внесения (обновления) данных. Но эти ограничения не являются самыми важными. Как
отмечалось
выше,
информационная
система
предназначена
для
использования определенным коллективом людей, и в связи с этим является техническим элементом социальной системы [27]. Поэтому, ИС должна подчиняться некоторой системе социальных норм. Эти нормы ограничивают функционирование информационной системы. Точное формулирование ограничений функционирования информационной системы требует, в свою очередь, формализации понятий «нормы» и «нормативной системы». Норма
права
общеобязательные
–
это
правила
официально поведения,
принятые
регулирующие
уполномоченным правовые
органом
отношения
социальной среде, неисполнение которых влечет применение юридических санкций.
22
в
Компонентами правовой нормы обычно являются: 1) наименование органа, установившего норму; 2) действие, подлежащее исполнению; 3) определение субъекта, который должен исполнить действие; 4) деонтическая характеристика нормы; 5) санкция – на случай неисполнения действия. По деонтической характеристике нормы разделяются на обязывающие, запрещающие и нормы, предоставляющие право. В последнем случае субъект может по своей воле исполнить или не исполнять действие. Нормативная
система
должна
[4]
удовлетворять
трем
деонтическим
требованиям: 1) непротиворечивости; 2) полноты; 3) сбалансированности. Первое требование состоит в том, что в нормативной системе не может быть двух норм, одна из которых обязывает некоторого субъекта выполнять действие a, другая обязывает его же выполнить противоположное действие (-a). Такую противоречивую ситуацию можно записать формулой O(a) O(-a). Деонтическая полнота означает, что все возможные в данной предметной области действия регулируются. Она может достигаться, например, использованием принципа «что не запрещено – то разрешено». Т.е. в системе имеются нормы, обязывающие или запрещающие те или иные действия. Действия, которые не подпадают под явно прописанные нормы, считаются разрешенными. В
сбалансированной
деонтической
системе
имеется
баланс
между
обязывающими нормами и нормами, предоставляющими право. Ведь если субъект обязан выполнить действие, то у него должны быть определенные, сопутствующие этому права. С другой стороны наличие некоторых прав у субъекта должно быть связано и с определенными его обязанностями. Вспомним хотя бы должностные инструкции: там есть раздел «права» и раздел «обязанности». В реальных нормативных системах полнота отсутствует из-за сложности и объемности предметной области. В математике не полностью определенную
23
(частичную) функцию зачастую можно «доопределить» некоторым стандартным образом. В юридической науке и практике также существуют механизмы обеспечения полноты нормативной системы – это механизм аналогии права и закона (в гражданскоправовом регулировании), презумпции и юридические фикции. Аналогия закона – прием, используемый в ситуациях, когда отношения, по поводу которых возник спор, не урегулированы ни нормами гражданского права, ни соглашением (договором) сторон. В этом случае в своде законов отыскивается законодательный акт, который регулирует сходные отношения и потому может быть применен к спорному случаю. Аналогия закона предусмотрена статьей 6 Гражданского Кодекса Российской Федерации. Проблема формализации нормативных систем состоит в том, чтобы создать (подобрать) математический аппарат, пригодный для адекватного отображения семантики норм, и позволяющий математическими средствами исследовать вопросы непротиворечивости,
полноты
нормативной
системы,
а
также
анализировать
возможное поведение субъектов в условиях ограничений. Одной из наиболее цитируемых монографий по нормативным системам является книга [6] К. Алчуррона и Е. Булыгина, изданная в 1971 году. Они
определяют
нормативную
систему
как
«множество
предложений
дедуктивно коррелированных пар предложений». В соответствии с их определением множество α предложений дедуктивно коррелирует с парой p, q предложений, если q есть дедуктивно следует из {p}α, или, в предлагаемых обозначениях: q Cn({p}α). Для того чтобы α было нормативной системой требуется, чтобы существовала хотя бы одна пара p, q такая, что p – посылка, а q – решение. Решением здесь называется нормативное предложение, выраженное в терминах деонтических операторов обязанности, разрешения или запрета. Как заключили Алчуррон и Булыгин, утверждение q Cn({p}α) эквивалентно утверждению (p q) Cn(α), в котором символом обозначена материальная импликация. Нормативная система выражает общие правила, в ней нет места именам индивидуумов (что, например, является обычным в утверждениях пропозициональной
24
логики). Когда авторы пишут о «посылке» и «решении» они имеют в виду некие общие, родовые посылки и решения [25]. Нормативным системам посвящены и другие работы последнего времени [7, 8, Ошибка! Источник ссылки не найден., 18, 33, 34, 43]. Американский юрист W.N. Hohfeld предложил в 1913 году теорию прав в некотором абстрактном и систематизированном виде. Если говорить коротко, то он ввел следующие предположения, сформулированные как утверждения с двумя переменными x и y, обозначающими действующих субъектов. 1)
x выдвигает требование (claim) к y в отношении некоторого действия
тогда и только тогда, когда y имеет обязательство (obligation) перед x выполнить это действие. 2)
x свободен (liberty) перед y в отношении некоторого действия тогда и
только тогда, когда x не имеет обязательства (obligation) перед y воздержаться от выполнения этого действия. 3)
x имеет законную силу (legal power) над y в отношении некоторого
законного отношения тогда и только тогда, когда x может (able) выполнить некоторое действие, которое изменяет некоторым образом это законное отношение для y. 4)
x имеет законный иммунитет (legal immunity) от y в отношении
некоторого законного отношения тогда и только тогда, когда y не может (unable) выполнить никакого действия, которое изменяло бы некоторым образом это законное отношение для x. Таким образом, можно говорить о четырех правах: праве требования, праве свободы, праве законной силы и праве иммунитета (независимости). Каждое право рассматривается как бинарное нормативное отношение между индивидуумами. В дальнейшем Стиг Кангер в работах начала 1970-х формализовал теорию Хофельда следующим образом. Он ввел «простые типы прав» с использованием стандартной деонтической логики (и оператора O) и модальной логики ET (в обозначениях Челласа). Из последней он взял абстрактный оператор действия E. Выражение E(x, S) читается как «актор x наблюдает за тем, чтобы выполнялось S». Выражение OE(x, S) читается как «обязательно должно быть так, что агент x наблюдает
25
за тем, чтобы выполнялось S» или «актор x должен наблюдать за тем, чтобы выполнялось S». Claim (x, y, S) OE(y, S)
Counter-Claim (x, y, S) OE(y, S)
Liberty (x, y, S) OE(x, S)
Counter-Liberty (x, y, S) OE(x, S)
Power (x, y, S) OE(x, S)
Counter-Power (x, y, S) OE(x, S)
Immunity (x, y, S) OE(y, S)
Counter-Immunity (x, y, S) OE(y, S)
Заметим, что Кангер переопределил бинарные отношения, сформулированные Хофельдом, в высказывания только об одном акторе. Здесь все отношения выражаются с точки зрения носителя права x. Отношения со словом Counter в правом столбце получаются из отношений левого столбца подстановками S вместо S и заменой S на S. В некоторых публикациях
вместо терминов claim, liberty, power, immunity
используются duty, right, power, privilege. Логические постулаты для O и E, использованные Кангером, были следующими. 1. Если F → G, то OF→OG. 2. (OF OG) →O(F G). 3. OF → O F. 4. Если F → G и G → F, то E(x,F) →E(x,G). 5. E(x,F) → F. Теория нормативных положений (normative positions) является попыткой [25, 35, 37] применить модальную логику для формализации «фундаментальных правовых концепций» Хофельда (Hohfeld) (обязанность, право, власть, привилегия и т.д.) и других сложных нормативных отношений между парами агентов. Она была первоначально создана Стигом Кангером, а затем развита в работах Ларса Линдала. Далее было разработано расширение этого аппарата с учетом необходимости компьютерных процедур вывода. Расширенная теория включает четыре компонента:
26
1) деонтическую логику; 2) логику действий и агентов; 3) метод обобщения классов «нормативных положений» и установления отношений между ними; 4) технику автоматизации [36] этих методов для приложения теории к получению практических результатов на основе компьютерной программы Norman-G. Стандартная деонтическая логика была описана выше. Компоненты действия добавляются в язык в виде модальных операторов Ea , Eb , Ec ,…, где a, b, c, … – имена агентов (акторов). Выражение вида ExS может читаться как «агент x наблюдает за тем, чтобы выполнялось S», «агент x предпринимает меры, чтобы выполнялось S», «агент x ответствен за то, чтобы выполнялось S». Оно эквивалентно приведенному выше обозначению E(x, S), но в ряде случаев более удобно. Здесь S рассматривается как высказывание о неком положении дел (state of affairs, state of arts), которое нужно сохранять или которого нужно достичь. В результате сочетания средств деонтической логики и упомянутых модальных операторов могут строиться, например, такие формулы: P EaS P EbS, P EaS P EbS, P EaS P EbS, P EaS P EbS, O EaS O EbS и т.д. Каждая из этих формул выражает некоторое нормативное отношение между агентами (акторами) a и b. Логика действий предполагает возможным использование следующих правил. 1. Если выводимо «A эквивалентно B», то выводимо «ExA эквивалентно ExB». 2. ExA A. Иначе говоря, если два высказывания о положении дел эквивалентны, то эквивалентны соответствующие высказывания с оператором Ex . Если агент x обеспечит A, то он обеспечит и B, и наоборот. Это правило, вообще говоря, естественное. Второе правило – «правило успешного действия». Если агент ответствен за то, чтобы обеспечить некоторое положение дел, то «считайте, что дело сделано». Возможно, это правило слишком сильное и не всегда отражает реальность, но
27
считается, что агент может быть ответствен только за то, что он в состоянии (своими силами) обеспечить. Агент не «ленится» и не «саботирует». Считается также тождественно истинным утверждение ExT. Здесь T – истина (true). Смысл его таков: ни один агент не может быть ответственным за то, что является логической истиной. Например, никакой агент не может отвечать за то, чтобы после понедельника наступил вторник. Формулировка ExS, как и все основанные на монадическом варианте деонтической логики высказывания, имеет свои достоинства и недостатки. Достоинством является ее краткость и абстрагирование от, может быть, излишних, деталей, учет которых существенно осложнял бы процедуры логического вывода. Рассмотрим пример. Предположим, запись EadminS означает, что агент admin должен обеспечить некоему агенту user доступ к данным data. Он может сделать это, предоставив агенту user пароль доступа к информационной системе, отыскав эти данные на локальном компьютере, отыскав эти данные в интернете, отправив агента user к своему коллеге и поручив тому обеспечение доступа к данным. Существует еще множество других вариантов. Если важно только «что будет сделано», а не «как это будет сделано», то предложенная формулировка EadminS вполне удовлетворительна. Но вполне возможно, что некоторые действия admin по выполнению просьбы user’а запрещены действующими нормами, а некоторые разрешены. Например, admin не вправе сообщать user’у пароль доступа к информационной системе, но ему разрешается самому отыскать данные data. В таких случаях монадический вариант деонтической логики оказывается слабым с точки зрения выразительности и теряет возможности прикладного использования, оставаясь лишь упрощенной теоретической схемой. Предпочтительной оказывается диадическая деонтическая логика. Развивая подходы Хофельда Алчурона, Булыгина, Кангера, Линдал [25] с коллегами предлагает алгебраический подход к построению теории нормативных систем на основе булевых квазипорядков.
28
4.2. Теоретико-множественное определение нормативной системы В предыдущем разделе в описании нормативной системы на первое место выходили логические средства. Однако в прикладных математических дисциплинах укрепился и стал наиболее популярным теоретико-множественный подход, при котором сначала декларируется существование основных (фиксированных) множеств объектов, а потом вводятся различные функции и отношения на этих множествах. Он позволяет строго определить важные конструкции (в данном случае нормативную систему) и давать строгие доказательства утверждений для этих конструкций. В
качестве
примера
теоретико-множественного
подхода
рассмотрим
определение нормативной системы, введенное в работе [43]. Прежде всего, вводится (конечное) множество A акторов (в статье [43] они называются агентами). Для удобства они могут быть перенумерованы натуральными числами. С каждым актором i A связывается множество Acti возможных действий. Причем множества действий разных агентов не пересекаются. Это упрощает модель, хотя, конечно, и очень ограничивает ее применимость. Из акторов могут составляться коалиции. Коалицией называется подмножество множества акторов. В понятие коалиции не входит требование наличия какой-то общей цели у акторов. Множество ActC действий коалиции C – это объединение множеств действий акторов, составляющих коалицию. Набор 1, …, k, в котором разные действия m совершаются разными акторами одной коалиции, называется совместным действием коалиции C и обозначается jC . Множество всех совместных действий коалиции обозначается JC . Действие из набора j JC , совершаемое актором с номером i, обозначается ji . Акторы существуют и действуют в некоторой базовой системе (например, информационной системе, или в организации), о которой мы знаем, что она может пребывать в одном из конечного множества Q состояний. Среди этих состояний выделяется q0 – начальное состояние.
29
Для того чтобы описать, как действуют акторы в базовой системе и к чему их действия могут привести, вводится понятие системы переходов (Action-based Alternating Transition System – AATS). Система переходов AATS определяется как набор Tr = Q, q0 , A , Act1 , … , Actn ,
, , , . В дополнение к приведенным выше обозначениям , , , имеют следующий смысл.
: ActA 2Q – функция предусловий для действий. Для каждого действия каждого актора задается множество состояний системы, в которых это действие может быть произведено.
: Q JA Q – функция переходов состояний. В результате совместного действия акторов система может перейти из одного состояния в другое. Поскольку не во всех состояниях базовой системы возможно выполнение всех действий, функция является частичной.
– конечное непустое множество атомарных утверждений. : Q 2 – функция интерпретации. Задает для каждого состояния q множество (q) примитивных утверждений, справедливых в этом состоянии. Например, если пропозициональная переменная p (q), то ее значение истинно в этом состоянии. На приведенные функции и множества налагаются два условия. 1. Условие нетривиальности: в любом состоянии любой актор может выполнить хотя бы одно действие. 2. Условие согласованности функций и . Значение функции на наборе (q, j) определено тогда и только тогда, когда q (ji) для любого актора i. Функция определяет для каждого актора i и состояния q множество опций H(i, q), т.е. множество действий, которые актор может выполнить в этом состоянии. Опции задают ограничения законности для акторов. Для каждого актора можно задать функцию i : Q Acti , такую, что i (q) H(i, q) для всех состояний q. Такую функцию естественно назвать стратегией актора.
30
Стратегия коалиции – это набор C = 1, …, k, в который включено по одной стратегии для каждого актора коалиции. Функция jump(C , q) описывает одношаговый переход, т.е. множество возможных состояний системы, в которые она может перейти из состояния q после выполнения одного действия каждым из акторов коалиции. Бесконечную последовательность состояний системы = q0 , q1 , … назовем следом. След, начинающийся состоянием q, назовем q-следом. Состояние, являющееся l-м элементом последовательности , обозначим [l]. Отрезок последовательности, начинающийся l-м элементом и заканчивающийся m-м элементом, будем обозначать [l, m]. Обозначим runs(C , q) – множество всех возможных следов, начинающихся состоянием q, и формирующихся при условии, что каждый из акторов коалиции C следует своей стратегии i . После этих предварительных определений вводится конструкция «нормативная система». Нормативная система определяется [43] как функция
: ActA 2Q. Интерпретируется она так: если q (), то нормативная система запрещает действие в состоянии q. Функция двойственна функции ( разрешает действие). Говорят, что стратегия i актора допускается нормативной системой , если для него никогда не выбирается действие, запрещенное этой нормативной системой. Это утверждение можно записать в виде некоторой функции D(i , ), принимающей значения истина или ложь. Аналогичная функция D(C , ) определена для стратегии коалиции C . Поскольку нормативная система определяется как отображение множеств, можно определить некоторые простейшие нормативные системы, а также операции над нормативными системами. В частности, «пустая» нормативная система вообще не содержит ограничений на действия (обозначается ). «Тривиальная» нормативная система запрещает любые действия (обозначается ), ()= Q. Пересечение I двух нормативных систем 1 и 2 можно определить так:
31
I () = 1() 2() для любого действия . Аналогично для объединения U нормативных систем:
U () = 1() 2() для любого действия . Нормативная система 1 называется менее ограничивающей, чем система 2 , если 1() 2() для любого действия . Ясно, что возможно дальнейшее развитие нормативных систем в этом направлении. Недостатком приведенного определения нормативной системы является то, что запрет определяется для конкретных акторов, а не для типов акторов. Кроме, этого запрет не структурирован на отдельные нормы, поэтому, вообще говоря, это не система. Сложно
представить
себе
применимость
описанного
подхода
к
организационным системам, в которых множество состояний Q имеет очень большую мощность. В связи с этим возникают технические трудности в описании функции . В определение системы переходов AATS заложены элементы (, ), предназначенные для развития нормативной временной логики (Normative ATL, NATL*), называемой [43] логикой нормативных возможностей. Она основывается на известной временной логике ATL (Alternating-time Temporal Logic), введенной Alur, Henzinger, Kupferman, и на деонтической логике. ATL имеет дело с акторами и коалициями акторов, действующими в мультиакторной системе по принципам теории игр. Эта логика способна выражать такие свойства систем, как «коалиция C1 может гарантировать то, что информационная система никогда не будет заблокирована», «коалиция C2 обеспечит получение необходимых данных» и т.п. В NATL* вводятся модальности кооперации в виде : C . Эта формула может читаться так: «существует стратегия C коалиции C, допускаемая нормативной системой , такая, что при реализации этой стратегии акторами коалиции будет иметь место ». При этом не делается никаких предположений о действиях других акторов, не входящих в коалицию. На них не налагается никаких ограничений.
32
Синтаксис NATL* состоит из двух групп правил. Первая группа определяет так называемые формулы состояния. Вторая группа определяет «формулы следов». Формула состояния – это либо константа true, либо пропозициональная переменная, либо отрицание формулы состояния, либо дизъюнкция двух формул состояния, либо формула следов с префиксом модальности кооперации: true, p, p, p r, : C . Здесь – некоторая формула следов. Простейший случай формулы следов – формула состояния. Два других случая – отрицание формулы следов и дизъюнкция двух формул следов (знаки и ). Еще два вида формул следов: и . Первая читается как «всегда », вторая – «в конечном счете будет ». И, наконец, последний вид формул: 1 until 2 . Семантика
определяется следующими отношениями (здесь Tr – система
переходов, q – состояние в системе Tr, – след в системе Tr). Для формул состояний: 1) Формула true считается истинной. 2) Для пары (Tr, q) формула p истинна тогда и только тогда, когда p и p
(q). 3) Для пары (Tr, q) формула истинна тогда и только тогда, когда неверно, что для пары (Tr, q) истинна формула . 4) Для пары (Tr, q) формула истинна тогда и только тогда, когда для пары (Tr, q) истинна формула или для пары (Tr, q) истинна формула . 5) Для пары (Tr, q) формула : C истинна тогда и только тогда, когда существует стратегия C коалиции C, допускаемая нормативной системой , такая, что для всех runs(C , q) имеет место утверждение «для пары (Tr, ) формула истинна». Для формул следов: 1) Для пары (Tr, ) формула истинна тогда и только тогда, когда она истинна для пары (Tr, [1]). Здесь – формула состояния. 2) Для пары (Tr, ) формула истинна тогда и только тогда, когда неверно, что для пары (Tr, ) истинна формула .
33
3) Для пары (Tr, ) формула истинна тогда и только тогда, когда для пары (Tr, ) истинна формула или для пары (Tr, ) истинна формула . 4) Для пары (Tr, ) формула истинна тогда и только тогда, когда справедливо «для пары (Tr, [2, ]) формула истинна». 5) Для пары (Tr, ) формула истинна тогда и только тогда, когда существует номер l, для которого справедливо «для пары (Tr, [l, ]) формула истинна». 6) Для пары (Tr, ) формула истинна тогда и только тогда, когда для любого номера l справедливо «для пары (Tr, [l, ]) формула истинна». 7) Для пары (Tr, ) формула until истинна тогда и только тогда, когда существует номер l , для которого справедливо «для пары (Tr, [l, ]) формула истинна и для всех k, 0 k < l: для пары (Tr, [k, ]) формула истинна». Символика деонтической логики претерпевает некоторые изменения. В деонтической логике перед формулой могут быть записаны операторы «разрешено» (P) и «обязательно» (O). В предлагаемом варианте логики эти операторы приобретают индекс . Запись нормативной системы ». Запись
P читается как « разрешено в контексте O читается как « обязательно в контексте
нормативной системы ». Таким образом, имеется семейство деонтических операторов для различных нормативных систем. В NATL* деонтические операторы определяются формулами: P = : A, O = P. Система переходов Tr описывает возможные изменения состояний, а с добавлением логики нормативных возможностей, и допустимые высказывания о состояниях. Но при этом «не запускает» систему в действие. Для того чтобы система могла функционировать, нужно ее «активизировать», а для этого у акторов должны быть определены цели. Описанный подход интересен тем, что объединяет в себе теоретикомножественное определение функционирующей системы и нормативную логику,
34
построенную в свою очередь на основе высказываний о последовательностях состояний функционирующей системы. 4.3. Примеры нормативных отношений В работе [19] отношение собственности моделируется, применительно к использованию при построении баз данных, следующим набором: OwnershipB,A = {B,A , исключительность, зависимость, документированность, переход права собственности, (I1 , I2 , I3)}. Здесь B,A A B – некоторое отношение в традиционном математическом смысле (индивидуальное отношение) на множествах собственников A и вещей B. К отношению
B,A
добавляются
так
называемые
измерения:
исключительность,
зависимость, документированность, переход права собственности, наследование. Измерение под названием «исключительность» определяет, как много может быть собственников у конкретного объекта (вещи). Предполагается три варианта: 1) объект имеет одного собственника; 2) объект имеет двух или более собственников, имеющих равные доли собственности; 3) объект имеет двух или более собственников, имеющих неравные доли собственности. Соответственно,
область
определения
измерения
«исключительность»
представляет собой множество из трех элементов {исключительная, совместная, долевая}. В некоторых контекстах работы с отношениями собственности, особенно, с учетом их представления в базах данных, полезно рассматривать особые случаи зависимости вещи от собственника или собственника от вещи. Например, некоторая вещь может принадлежать исключительно одному собственнику, и не может сменить собственника ни при каких обстоятельствах. Паспорт, диплом являются именными вещами. Исключение человека из рассматриваемого множества собственников должно приводить к исключению этих вещей из рассматриваемого множества вещей. Реально в любой информационной системе представлены не все потенциально возможные собственники и не все потенциально возможные вещи, а только те, которые попали в БД при ее начальном заполнении или в процессе функционирования.
35
Например, база ГИБДД содержит информацию о зарегистрированных автомобилях и их собственниках. Исключение из БД конкретного автомобиля (снятие с регистрации в связи с перемещением в другой регион и т.п.) должно приводить к исключению из БД и человека-собственника, если у него не осталось других автомобилей. Измерение «зависимость» может иметь одно из трех значений {вещь от собственника, собственник от вещи, отсутствует зависимость}. При отсутствии зависимости как собственник, так и вещь сохраняются вне зависимости от изменений отношения собственности. Измерение
«документированность»
состоит
из
двух
значений
{документировано, недокументировано}. Право собственности на вещь иногда подкрепляется соответствующим документом (право собственности на дом, земельный участок и др.), иногда нет. Измерение «переход права собственности» состоит из двух значений {возможен переход, невозможен переход}. Многие объекты собственности могут сменить владельца (дом, автомобиль, холодильник, драгоценности), но некоторые – нет. Не может сменить собственника авиабилет, он просто должен быть возвращен авиакомпании и уничтожен в случае отказа от полета. То же относится к железнодорожным билетам, еще к ряду других вещей. Измерение «наследование» определяет наследование значений атрибутов собственника от атрибутов вещей или наоборот. Это измерение распадается по версии авторов [19] на три множества. Первое множество I1 – множество аддитивно наследуемых атрибутов. У собственника и у его вещей выделяются родственные атрибуты: attr(собственник), attr(вещь1), attr(вещь2),…,attr(вещьk). При этом значение атрибута собственника устанавливается равным сумме значений атрибутов вещей, attr(собственник) = attr(вещь1) + attr(вещь2) + … + attr(вещьk). Например, собственник владеет наличными денежными средствами, акциями, счетами в банках. Каждая из этих вещей имеет атрибут «капитал» - значение количества денежных средств, текущей стоимости акций, количества денег на счете, выраженное в унифицированном виде (одной и той же валюте). Тогда атрибут «капитал» собственника складывается из атрибутов «капитал» его вещей.
36
Второе множество I2 – множество объединенных наследуемых атрибутов. Значение объединенного наследуемого атрибута собственника задается как множество значений всех родственных значений атрибутов его вещей. Например, собственник владеет несколькими квартирами или домами. Каждая квартира или дом имеют адрес. Тогда адрес собственника задается [19] как множество адресов его квартир или домов (предполагается, что он может жить в любом из них). Нужно отметить, что законодательство РФ такой связи не устанавливает. Регистрация по месту жительства у гражданина должна быть одна, и она не обязательно связана с его собственностью на жилые помещения. Третье множество I3 – множество атрибутов, наследуемых от собственников. Значение атрибута вещи может наследоваться от значения атрибута собственника. Если у вещи несколько собственников, то атрибут вещи формируется как множество значений атрибутов всех ее собственников. Таким образом, множество I3 формируется подобно множеству I2 , но, исходя из зависимости атрибутов вещи от атрибутов собственников, а не зависимости атрибутов собственников от атрибутов вещей.
37
5. Описание предметных областей ИТС Организационная предметная область, для которой создается информационнотелекоммуникационная система, регулируется в большей мере нормами, чем физическими законами. Описание множества сущностей, отношений, бизнес-процессов удобно с привлечением средств деонтической логики. В [32] отмечается, что бизнес-процесс может рассматриваться как вид социального взаимодействия, направленного на достижение определенного эффекта. В связи с тем, что в таком бизнес-процессе взаимодействуют люди, подчиняющиеся некоторым нормам, и сам бизнес-процесс ограничен соответствующими нормами, авторы предлагают деонтическую модель процессов, представляющую контрактные отношения. Ниже приведен пример правила, входящего в состав бизнес-процесса: if покупатель(x) and поставщик(y) and (OyE{x}отправить_товары(p)) and (OxE{y}отправить_деньги(q)) then договор{x},{y} Здесь E{x} – введенные выше модальный оператор исполнения, Ox – деонтический оператор. Работа [41] предлагает оригинальный подход к исследованию организационных информационных систем, названный Agent-Object-Relationship (AOR). Он основан на агентной модели, причем агентом считается и сама организация, взаимодействующая с внутренними агентами-работниками, и информационная система организации. ИС рассматривается как искусственный внутренний агент, поддерживающий глобальный вид организации и взаимодействие с внутренними и внешними агентами. Этот подход сочетает статические, динамические и деонтические аспекты и использует как ER, так и UML средства (диаграммы и др.). В качестве примера формулирования целей средствами деонтической логики можно указать упоминавшиеся выше средства нормативной временной логики NATL*.
38
Назовем [43] мультиакторной системой набор M = Tr, 1 , 2 ,…, n, в котором Tr – система (AATS) переходов, Tr = Q, q0 , A , Act1 ,…, Actn , , , , , i – формулы следов, представляющие цели акторов. Например,
для
информационной
системы
имеется
пропозициональная
переменная p = «информация в ИС обновляется». Тогда может быть сформулирована следующая цель: = p. Здесь p означает записанное выше утверждение; p означает «когда-нибудь произойдет обновление информации», т.е. вносится временной аспект; p означает, что обновление будет происходить неограниченное количество раз. Кроме целей отдельных акторов имеется цель всего сообщества, имеющая приоритетное значение по отношению к целям акторов. Общая цель также выражается некоторой формулой следов . Интересны три случая, когда для системы Tr, находящейся в состоянии q0 , может быть истинна одна из формул: 1) O , 2) P , 3) O . В первом случае цель называется глобально достижимой, во втором – слабо глобально достижимой, в третьем – глобально недостижимой. Отметим также другие работы [15, 27], в которых рассматриваются цели агентов или систем в контексте нормативных логик.
39
6. Спецификации ИТС средствами деонтических логик Разработка программного обеспечения информационно-телекоммуникационной системы также может эффективно использовать средства деонтической логики. Например, в [31] отмечается, что в больших системах, построенных на основе компонентов,
уже
не достаточно описания простого синтаксиса интерфейса
компонента для обеспечения надежного взаимодействия большого количества различных компонентов. Требуется описывать интерфейс поведения. А здесь естественными являются деонтические контракты, т.е. соглашения между двумя или более компонентами, обязывающие к тем или иным действиям, разрешающие и запрещающие действия. В работе предлагаются e-contracts, т.е. электронные версии контрактов. Для описания контрактов используется объектно-ориентированный язык распределенного программирования Creol совместно с языком контрактов CL. Формальная семантика последнего задана на некотором расширении -исчисления. Язык
оперирует
деонтическими префиксами долженствования, разрешения и запрета, но они применяются только к действиям, и не применяются к высказываниям о текущих состояниях, что, по мнению авторов, помогает избежать известных парадоксов деонтической логики. Другая работа [39] сообщает о языке представления электронных контрактов DocLog, использующем концепции деонтической логики и методов представления правовых знаний. В [16, 17] разрабатывается основанный на деонтических понятиях формализм, представленный как машинный язык. Причем, на этот язык могут транслироваться программы с других высокоуровневых нормативных языков. БНФ нормативного языка задается следующими правилами: норма ::= деонтический оператор (utter(S, W, I) [период времени] [if условное выражение]) деонтический оператор ::= obliged | permitted | forbidden формула высказывания ::= i(источник, получатель, M, t)
40
период времени ::= before момент времени | after момент времени | between (момент времени, момент времени) | before uttered(S, W, I) | after uttered(S, W, I) | between (uttered(S, W, I), uttered(S, W, I)) условное выражение ::= (список условий) | список условий список условий ::= [ ] условие [,условное выражение] условие ::= величина знак операции величина | uttered(S, W, I) | деонтический оператор(utter(S, W, I)) | predicate величина ::= атрибут | обращение к функции | value атрибут ::= identifier.attribute | variable знак операции ::= > | < | | | = санкции ::= sanction ((список действий) if вид отношения (норма)) вид отношения ::= violated | complied список действий ::= действие [,список действий] действие ::= атрибут = обращение к функции | обращение к функции обращение к функции ::= identifier (список аргументов) список аргументов ::= величина {, величина} Семантика описанного языка предполагает взаимодействие программных агентов
в
рамках
«электронного
института-организации» EI.
Взаимодействие
происходит как акты передачи сообщений между двумя или более сторонами. Акт выражается формулой высказывания I вида i(источник, получатель, M, t), где i – префикс (заявление, требование, обещание), t – момент совершения акта, M – контент. Контент выражается на некотором объектном языке, чей словарь включен в онтологию EI. Любая допустимая последовательность взаимодействий агентов, исполняющих различные роли, называется в этой работе сценой. Более точно, сцена S – спецификация мультиагентного протокола, основанная на ролях. Она может быть представлена ориентированным графом, вершины которого – состояния сцены (множество состояний обозначено выше W), а ребра помечены формулой высказывания I. Предикат (utter(s, w, I) представляет еще не выполненное действие, выраженное I, в состоянии w сцены s. В
41
контексте данной работы utter означает «совершить акт передачи сообщения». Это единственный предикат, перед которым могут стоять деонтические операторы. Предикат uttered(s, w, I) используется для обозначения того, что соответствующее действие, заданное формулой высказывания, выполнено. Этот предикат может использоваться в условных конструкциях нормативных правил. Представленный в [16, 17] формализм реализуется в экспертной оболочке Jess, написанной на Java. Направление
в
разработке
и
программировании
информационно-
телекоммуникационных систем, называемое агентным подходом, естественным образом связано с деонтическими понятиями и методами. Различные аспекты мультиагентных систем, функционирующих с использованием деонтической логики, рассматриваются в работах [20, 22, 26, 28, 30, 40, 42]. Спецификации информационных систем посвящена работа [11]. С помощью деонтической логики здесь описываются требования к достоверности и полноте информации в базе данных ИС. В [29] описывается формализм, разработанный в проекте Tempora по развитию основанной на правилах информационной системы. Этот формализм предназначен для спецификации ИС и основан на темпоральной и деонтической логиках.
42
7. Заключение Статья описывает новый, пока еще мало разработанный подход к построению математических моделей информационно-телекоммуникационных систем. Этот подход основывается на том, что для ИТС классические численные или алгебраические модели являются недостаточными в виду большого значения для ИТС «человеческого фактора» и норм, принятых в обществе (государстве), в отличие от разного рода полностью автоматических систем. Семейство деонтических логик предоставляет адекватный и удобный математический язык для описания целей и ограничений функционирования ИТС, который может эффективно использоваться при построении теории информационно-телекоммуникационных систем.
43
Литература
1.
Горский Д.П., Ивин А.А., Никифоров А.Л. Краткий словарь по логике. – М.: Просвещение, 1991. – 208 с.
2.
Клини С. Математическая логика. – М.: Мир, 1973. – 480 с.
3.
Колмогоров А.Н., Драгалин А.Г. Введение в математическую логику. – М.: Издво Московского университета, 1982. – 120 с.
4.
Кириллов В.И., Старченко А.А. Логика: Учебник для юридических вузов. – М.: Юристъ, 2004. – 256 с.
5.
Фейс Р. Модальная логика. М.: Наука, 1974, 520 с.
6.
Alchourrón C.E., Bulygin E. Normative Systems, Springer, Berlin, 1971.
7.
Aldewereld H., Dignum F., García-Camino A., Noriega P., Rodríguez-Aguilar J.A., Sierra C., Operationalisation of norms for usage in electronic institutions, Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems. Hakodate, Japan, 2006, pp. 223 - 225.
8.
Boella G., van der Torre L., Permissions and obligations in hierarchical normative systems, Proceedings of the 9th international conference on Artificial intelligence and law. Scotland, United Kingdom, 2003, pp. 109 – 118.
9.
Boella G., van der Torre L., An architecture of a normative system: counts-as conditionals, obligations and permissions, Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems. Hakodate, Japan, 2006, pp. 229-231.
10.
Broersen J. Action negation and alternative reductions for dynamic deontic logics. Journal of Applied Logic 2 (2004), pp. 153–168.
11.
Carmo J., Demolombe R., Jones A. J. I., An Application of Deontic Logic to Information System Constraints, Fundamenta Informaticae, Volume 48 , Issue 2-3 (April 2001), Deontic Logic in Computer Science, pp. 165 – 181.
12.
Cheng J., Deontic relevant logic as the logical basis for legal information systems, Proceedings of the 2006 ACM symposium on Applied computing. Dijon, France, pp. 319 – 320.
13.
Cheng J., Miura J., Deontic Relevant Logic as the Logical Basis for Specifying,
44
Verifying, and Reasoning about Information Security and Information Assurance, Proceedings of the First International Conference on Availability, Reliability and Security. IEEE Computer Society, 2006, pp. 601 – 608. 14.
Cholvy L., Garion C., Deriving individual obligations from collective obligations, Proceedings of the second international joint conference on Autonomous agents and multiagent systems. Melbourne, Australia, 2003, pp. 962 – 963.
15.
Cholvy L., Garion C., Distribution of goals addressed to a group of agents, Proceedings of the second international joint conference on Autonomous agents and multiagent systems. Melbourne, Australia, 2003, pp. 765 – 772.
16.
Garcia-Camino A., Noriega P., Rodriguez-Aguilar J. A., Implementing norms in electronic institutions, Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems. The Netherlands, 2005, pp. 667 – 673.
17.
García-Camino A., Rodríguez-Aguilar J.-A., Sierra C., Vasconcelos W., Norm-oriented programming of electronic institutions, Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems. Hakodate, Japan, 2006, pp. 670 – 672.
18.
Grossi D., Dignum F., Meyer J.-J. Ch., A formal road from institutional norms to organizational structures, Proceedings of the 6th international joint conference on Autonomous agents and multiagent systems. Honolulu, Hawaii. 2007.
19.
Halper M., Liu L., Geller J., Perl Y. Ownership as a conceptual modeling construct, Data & Knowledge Engineering 62 (2007), pp. 248–273.
20.
Hansen J., Prioritized conditional imperatives: problems and a new proposal, Autonomous Agents and Multi-Agent Systems Volume 17, Issue 1 (August 2008), pp. 11 – 35.
21.
Hansson S.O., Semantics for more plausible deontic logics, J. Applied Logic, 2 (2004), pp. 3-18.
22.
Hübner J.F., Sichman J.S., Boissier O., A Model for the Structural, Functional, and Deontic Specification of Organizations in Multiagent Systems, Lecture Notes In Computer Science; Vol. 2507. Proceedings of the 16th Brazilian Symposium on Artificial Intelligence: Advances in Artificial Intelligence, 2002, pp. 118-128.
23.
Jones A. J. I., Parent X. Normative-informational positions: a modal-logical approach,
45
Artificial Intelligence and Law. Volume 16 , Issue 1 (March 2008), pp. 7-23. 24.
Lee R.M, Ryu Y.U., DX: a deontic expert system, Journal of Management Information Systems Volume 12, Issue 1 (June 1995), Special section: Toward a theory of business process change management, pp. 145 – 169.
25.
Lindahl L., Odelstad J. Normative positions within an algebraic approach to normative systems. Journal of Applied Logic 2 (2004), pp. 63–91.
26.
Liu K., Sun L., Dix A., Narasipuram M., Norm based agency for designing collaborative information systems. Information Systems (2001), pp. 229–247.
27.
Liu L., Yu E. Designing information systems in social context: a goal and scenario modelling approach. Information Systems 29 (2004), pp. 187–203.
28.
Kagal L., Finin T., Modeling conversation policies using permissions and obligations, Autonomous Agents and Multi-Agent Systems Volume 14 , Issue 2 (April 2007), pp. 187 – 206.
29.
Krogstie J., Sindre G., Utilizing deontic operators in information systems specification, Requirements Engineering, Volume 1, Number 4 (December 1996), pp. 210-237.
30.
McNamara P. Agential obligation as non-agential personal obligation plus agency. Journal of Applied Logic 2 (2004), pp. 117–152.
31.
Owe O., Schneider G., Steffen M., Components, objects, and contracts, Proceedings of the 2007 conference on Specification and verification of component-based systems: 6th Joint Meeting of the European Conference on Software Engineering and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Dubrovnik, Croatia, pp. 95 – 98.
32.
Padmanabhan V., Governatori G., Sadiq S., Colomb R., Rotolo A., Process modelling: the deontic way, Proceedings of the 3rd Asia-Pacific conference on Conceptual modelling - Volume 53. Hobart, Australia, 2006, pp.75 – 84.
33.
Prakken H., McNamara P. (eds), Norms, Logics and Information Systems: New Studies on Deontic Logic and Computer Science, 1st edition, IOS Press Amsterdam, The Netherlands, 1998, p. 363.
34.
Ryu Y.U., Lee R.M., Defeasible deontic reasoning and its application to normative systems, Decision Support Systems 14 (1995), pp. 59-73.
35.
Sergot M.J. Normative Positions, in: P. McNamara, H. Prakken (Eds.), Norms, Logics
46
and Information Systems, IOS Press, Amsterdam, 1999. 36.
Sergot M., A Computational Theory of Normative Positions, ACM Transactions on Computational Logic, Vol. 2, No. 4, October 2001, pp. 581–622.
37.
Sergot M.J., Richards F. On the representations of action and agency in the theory of normative positions, Fundamenta Informaticae, Vol. 48 (April 2001), Issue 2-3 («Deontic Logic in Computer Science»), pp. 273-293.
38.
Stratulat T., Clérin-Debart F., Enjalbert P., Norms and time in agent-based systems, Proceedings of the 8th international conference on Artificial intelligence and law. St. Louis, Missouri, United States, 2001, pp. 178 – 185.
39.
Tan Y.-H., Thoen W., DocLog: An Electronic Contract Representation Language, Proceedings of the 11th International Workshop on Database and Expert Systems Applications, 2000, p. 1069.
40.
Vázquez-Salceda J., Dignum V., Dignum F., Organizing Multiagent Systems, Autonomous Agents and Multi-Agent Systems Volume 11, Issue 3 (November 2005), pp. 307 – 360.
41.
Wagner G., The agent-object-relationship metamodel: towards a unified view of state and behavior, Information Systems Volume 28, Issue 5 (July 2003), pp. 475 – 504.
42.
Wiegel V., Hoven M. J., Lokhorst G. J., Privacy, Deontic Epistemic Action Logic and Software Agents, Ethics and Information Technology Volume 7, Issue 4 (December 2005), pp. 251 – 264.
43.
Wooldridge M., van der Hoek W. On obligations and normative ability: Towards a logical analysis of the social contract. Journal of Applied Logic 3 (2005), pp. 396–420.
44.
v. Wright G.H., Norms and Action – a Logical Inquiry. Routledge and Kegan Paul, New York, 1963.
45.
v. Wright G.H., On the logic of norms and actions, in: R. Hilpinen (Ed.), New Studies in Deontic Logic, Reidel, 1981, pp. 3–35.
46.
v. Wright G.H., Deontic logic—as I see it, in: P.McNamara, H. Prakken (Eds.), Norms, Logics and Information Systems. New Studies on Deontic Logic and Computer Science, IOS Press, 1999, pp. 15–25.
47