Алгоритмизация и программирование для систем логического управления и «реактивных» систем



[ << | 1 | 2 | 3 | 4 | Литература | >> ]

5. Алгоритмизация и программирование "реактивных" систем

Технология, описанная в разд.2, предназначена для создания алгоритмического и программного обеспечения систем логического управления, в которых ввод входных переменных выполняется только путем опроса [155, 156] - используется "циклический исполнитель" [91]. Другая особенность этой технологии состоит в том, что при ее применении программы реализуются компилятивно: по графам переходов строятся конструкции switch или их аналоги, которые выполняются непосредственно и поэтому являются "активными".

А. А. Грабовский (АО "Каскод", Санкт-Петербург) применил автоматный подход, изложенный в [8], для программной реализации логической части систем управления, проектируемых на микроконтроллерах фирмы "Сименс", для которых характерен развитый механизм обработки прерываний. При этом по таблично заданным графам переходов автоматически строится массив (напоминающий конструкции switch), который является "пассивным" и обрабатывается интерпретатором, учитывающим возможность появления запросов на обработку во время, когда микроконтроллер реализует соответствующий переход в одном из графов.

Этот подход использовал также и С. Б. Терентьев (НПО "Аврора") при реализации протоколов в распределенных управляющих системах, построенных на основе указанных микроконтроллеров. При этом написание программ выполнялось формально и изоморфно непосредственно по построенным графам переходов.

Н. И. Туккель (НПО "Аврора") и автор применили SWITCH-технологию при разработке системы управления дизель-генератором, реализуемой на промышленном компьютере и операционной системе QNX, в которой управляющая программа выполняется как один процесс, а программа, моделирующая объект управления - как другой процесс. При этом был создан вариант SWITCH-технологии для "реактивных" систем [39, 186], ввиду того что управление на основе событий приводит к существенным отличиям при проектировании системы по сравнению со случаем применения в ней только "циклического исполнителя" [91]. Такие системы обычно реализуются на промышленных компьютерах, работающих под управлением операционных систем реального времени.

Этот вариант технологии характеризуется следующими особенностями:

Излагаемый вариант технологии обладает следующими достоинствами:

Разработка системы управления дизель-генератором, выполненная с помощью предлагаемого варианта технологии [186], подтвердила мнение Ф.Брукса [158] о том, что время, затрачиваемое на проектирование алгоритма, при котором строятся не картинки, а математические модели, значительно превышает время, затрачиваемое на написание системонезависимой части программы, изоморфной спроектированному алгоритму, а также мнение Д.Воаса [164] о CASE-средствах, которые сами по себе мало что убыстряют, а "практика их применения показала только то, что из некорректных картинок можно получить некорректный код".

Текст подпрограммы, построенной с помощью предложенного варианта технологии, и "полный" протокол ее работы, проверяющий все переходы автомата, реализующего алгоритм управления объектом "тулбар", приведен в п.3.2 Приложения к работе [54].


[ << | 1 | 2 | 3 | 4 | Литература | >> ]