Re: Cобытия в ФБП. Комментарии.



Posted by Анимица Анатолий on May 03, 1999 at 10:35:21:

In Reply to: Re: О событиях posted by Дмитрий Придаткин on May 03, 1999 at 04:05:46:

Пытаясь систематизировать сообщения Рустема Мухаметшина и Дмитрия Придаткина о событиях в ФБП, хочу добавить комментарий. Об относительности рассматриваемых объектов.
Разумно говорить о событиях с "точки зрения" сервера, все остальное - тоже может содержать свои "события" (например, результат запроса к серверу появился в каталоге обмена сервера), но эти "события" не актуальны в системе сервер-множество клиентов, так как их возникновение, распознавание и обработка не отражаются на состоянии системы в целом. Таким образом, разумно определить событие как объект, который переводит систему (сервер и базу данных) из некоторого предшествующего состояния в следующее. Тогда естественно описывать систему как автомат (не буду увлекаться именами) A(i+1)=A(i,a), где A - дискретная автоматная функция, i - аргумент "состояние" автомата, a - вход или "событие". Собственно, все окружающие нас интересные объекты и суть такие автоматы, разница лишь в том, знаем мы функцию A(i), или знаем плохо, или совсем не знаем, а от меры этого знания зависит отклонение A(i+1) от желаемого или требуемого. Единственным инструментом воздействия на процесс изменения A является a (action, событие).

С этой точки зрения "событие - начало ответа на вопрос операции" вовсе и не событие, таким, в лучшем случае, является поступление запроса вида R <форма>[<·параметры запроса>].

:В ФБП очень мало точек влияния на процесс ввода данных, еще меньше на пересчет.

Этот постулат нуждается в отдельном комментарии. На процесс ввода данных не нужно влиять, данные нужно просто вводить. Для такого ввода сервер предоставляет достаточную информацию, во всяком случае, при грамотном проектировании протокола диалога клиент-сервер. Разумеется, если последовательность ветвей дерева или последовательность вопросов операции обращается к разным формам отбора, а клиенты ФБП не поддерживают развертывание форм селекторов в строках многострочного ввода, можно говорить о недостаточном управлении, но в необходимых случаях можно дописать соответствующий клиентский интерфейс (не обязательно в ДОС или WINDOWS клиентах), в частности, используя в качестве клиента браузер. Или специализированную программу.

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

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

: К сожалению, ФБП не имеют уже той былой концептуальной стройности, как версия 2.х.

В высшей степени любопытное наблюдение.
Лемма 1. Не существует системы на базе ФБП 2.х., которая не может быть выполнена на любой следующей версии ФБП. Доказательство оставляю читателю.
Лемма 2. "Концептуальная стройность" системы определяется тремя компонентами.
Л.2.1. логической непротиворечивостью и функциональной полнотой платформы P.
Л.2.2. сложностью прикладной системы A.
Л.2.3. уровнем подготовки третьего компонента - пользователя системы U.
Теорема. Характеристика концептуальной стройности S системы на базе ФБП является функцией характеристик по Л.2.1...Л.2.3. S=f(P,A,U). Система является концептуально стройной (S>=S0), если для всякого P>=P0 существует такая минимальная сложность A>A0, что S>=S0
при всех U>=U0, где U0 - минимально допустимый уровень подготовки пользователя.

Это все была шутка. А теперь о насущных проблемах, связанных с комментируемыми сообщениями. Одна из трудностей в освоении ФБП (как они есть) состоит в широте диапазона возможных решений. И трудности выбора альтернативы решения, алгоритма, etc, особенно если учесть, что выбор приходится делать неоднократно и часто с возвратами в точку принятия программного решения задачи. Но искусственное сужение набора свойств и функций платформы ФБП с целью обеспечить концептуальную стройность уже невозможно! Поэтому единственно возможный путь - обеспечивать простоту ФБП для пользователя хорошо продуманными интерфейсами, документированием и тщательным обучением. Весьма своевременно поднятый вопрос о событиях в ФБП позволяет мне еще раз заявить о необходимости принятия ряда корпоративных стандартов разработки прикладных систем, что должно повысить общий уровень разработок пусть даже ценой сужения функциональных характеристик.
ААА 03.05.1999.




Пpишедшие ответы: