1. Статические и динамические правила и ограничения

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

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

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

Соблюдение или нарушение правил перехода может контролироваться проверкой состояний. Ста­тические правила могут рассматриваться как специальные случаи правил перехода. Хотя статические правила определяют, какие состояния допустимы, статическое правило можно интерпретировать как утверждение, что определенные состояния допустимы или запрещены независимо от того, каким было предыдущее состояние. То же самое можно выразить в виде правила перехода. Фразу «Независимо от того, каким было предыдущее состояние» можно понимать так: любое из возможных состояний ин­формационной базы может выступать в качестве предыдущего состояния.

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

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

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

  1. Формулирование правил и ограничений

В ориентированных на состояния описаниях правила и ограничения формулируются как требова­ния, предъявляемые к последовательным состояниям информационной базы. Тогда правило или огра­ничение является по сути описанием множества пар состояний информационной базы <СТАРОЕ, НОВОЕ>. Переход из состояния СТАРОЕ в состояние НОВОЕ допустим, независимо от того, каким образом он осуществляется, тогда и только тогда, когда пара <СТАРОЕ, НОВОЕ> присутствует в этом множестве.

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

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

В ориентированных на действие описаниях правило определяет, что переход допустим, если, начиная от допустимого состояния СТАРОЕ, переход осуществляется посредством последовательности действий Q такой, что пара <СТАРОЕ, Q> присутствует в множестве, заданном правилом. Допусти­мость может прослеживаться назад, до начального состояния и всех действий, осуществленных над ним вплоть до текущего момента.

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

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

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

  1. Координация допустимых действий

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

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

событие: Факт, состоящий в том, что нечто произошло или в проблемной области, или в среде, или в информационной системе.

команда: См. приложение А.

допустимое действие: См. приложение А.

условие команды: Предусловие выполнения допустимого действия.

Информационная система реагирует только вследствие события.

С точки зрения информационной системы не имеет значения, что считать событием: факт проис­шедшего или восприятие происшедшего. Но событие (стимул) должно выдавать информационному процессору уведомления о событии, на которое информационный процессор должен реагировать.

внешнее событие: Событие, происходящее в среде или проблемной области информационной системы.

Уведомление о таком событии — это сообщение для информационной системы, выражающее, по меньшей мере, команду.

внутреннее событие: Событие, которое наступает вследствие выполнения какого-либо допусти­мого действия в информационной системе.

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

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

Важной характеристикой типа события (или уведомления о нем) является тип (типы) команды, связанный с этим типом события, который определяет допустимое действие или допустимые дей­ствия, ожидаемые в качестве реакции информационной системы.

К другим важным характеристикам типов событий относятся:

  • ожидаемое число реализаций событий;

  • частота возникновения событий.

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

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

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

Допустимое действие запускается событием или, более точно, командой, представленной в виде сообщения, извещающего о событии. Тип события определяет, какой тип допустимого действия запус­кается. В этот момент допустимое действие будет активным. Активное допустимое действие будет непре­рывным до его окончания. Это окончание может вызывать внутреннее событие в зависимости от результата допустимого действия.

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

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

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

Если в условие команды для допустимого действия включено несколько событий, тогда после­днее по времени событие, независимо от того, каким оно есть, выполняет условие команды и запус­кает допустимое действие. «Поступление» других событий, за исключением последнего, переводит условие команды в «состояние ожидания».

Условие команды может иметь ограниченное состояние ожидания, т. е. могут быть ограничения на продолжительность состояния ожидания. Если в этот ограниченный период последнее необходимое событие не происходит, допустимое действие не будет выполняться, несмотря на события, которые уже прошли. Тем не менее новая серия событий может подготовить новое состояние ожидания для возможного допустимого действия. Если не определено ограниченное состояние ожидания, состояние ожидания может продолжаться как угодно долго.

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

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

Вследствие этого внутренние события контролируются предписывающими правилами для данно­го события. Тип допустимого действия может завершиться несколькими различными внутренними событиями, в зависимости от результата допустимого действия. Такие различные события могут быть взаимоисключающими, но это не обязательно.

Во время выполнения допустимого действия (а также до выполнения самого допустимого дей­ствия) информационный процессор использует такие правила и ограничения:

  • распознает уведомление о событии и получение выходного предложения согласно правилам распознавания;

  • вычисляет условие команда и запускает фактическое допустимое действие или помещает усло­вие команды в состояние ожидания;

  • после запуска допустимого действия выполняет само допустимое действие в соответствии с правилами, сформулированными в описании допустимого действия, манипулирующего концептуаль­ной схемой и информационной базой;

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

  • генерирует выходные сообщения в соответствии с предписывающими правилами для выходных сообщений.