[Devel] Обсуждение вопросов по стенду

Evgeny Sinelnikov sin на etersoft.ru
Вт Окт 12 11:17:17 MSD 2010


11 октября 2010 г. 10:34 пользователь Ilya Shpigor
<shpigor на etersoft.ru> написал:
> По предложению Паши выношу на обсуждение следующие вопросы:
>
> 1) Когда произошло переключение на управление с Пульта, все активные объекты
> перестают принимать команды.
>
> Вопрос - достаточно ли будет прихода соответствующего сообщения в журнал
> ("Управление с Пульта включено") или надо как-то отображать состояние этих
> объектов?
>
> Аргументы Паши за состояние - хочется получить универсальные виджеты,
> способные работать не зависимо от наличия журнала.

Чтобы получить универсальные виджеты, нужно заранее продумать за что
отвечает объект. Меня смущают, прежде всего, глобальные (по отношению
к объектам) состояния, которые влияют на отображение самих объектов.
Тем самым эти глобальные состояния становятся частью состояния
отдельных объектов. Примером таких состояний являются:
 - состояние незаквитированности;
 - состояние отсутствия связи с контроллером (для кучи датчиков);
 - состояние включенности пульта.

Логично разделить состояния объектов на две категории: внутренние
состояния, определяемые соотвествующими датчиками, и внешние,
определяемые глобальным состоянием системы или подсистем, внешних по
отношению к объекту.

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

Тем не менее остаётся вопрос приоритетов и одновременной установки
различные глобальных состояний. Как будет выглядеть объект, который
необходимо заквитировать, а при этом связь с ним пропала?

>
> 2) При потере связи с ПЧ надо ли оставить возможность оператору изменять
> заданное значение частоты?
>
> Т.е. при потере связи все активные объекты перестают принимать команды на
> включение / выключение, а как быть с остальными командами?
>
> Мое личное мнение - надо также как и в случае переключения управления на
> пульт, при потере связи отключать обработку всех команд активных виджетов.
>

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

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

-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel