Пример анализа взаимодействия процессов на моделях Керка
Рассмотрим пример использования модели Керка для анализа работы программной нагрузки регулятора непосредственного цифрового управления [17] на разных конфигурациях вычислительной системы. Регулятор получает данные от системы управления, в составе которой он работает. На основе этих данных регулятор вычисляет управляющие воздействия по заданному алгоритму. На этапе анализа точный алгоритм не задается. Указываются лишь временные характеристики. Если окажется, что временные характеристики удовлетворяют заданным требованиям, то в регулятор можно встроить пропорционально-интегральный (ПИ), пропорционально-интегрально-дифференциальный (ПИД) или любой из алгоритмов многомерного регулирования.
Вычисленные значения управляющего воздействия регулятор выводит на исполнительное устройство. Для повышения надежности работы системы введена обратная связь от исполнительного устройства. В зависимости от условий применения нужно принять решение относительно конфигурации вычислительной системы, реализующей регулятор на вычислительной сети, на мультипроцессорной ЭВМ или же на одном процессоре.
Модель регулятора представлена на рис. 2.3 в виде графа, в котором узлами являются процессы, а дугами каналы. Программная нагрузка регулятора включает следующие процессы:
АЛГ – алгоритмы управления;
БУФ – имитирование буфера или линии передачи данных;
ОУТ – подготовка сигналов для исполнительного устройства;
ИСП – имитирование исполнительного устройства;
СИН – синхронизация исполнительной части регулятора.
Рис. 2.3. Граф модели регулятора в виде сети Керка
Напомним, что в модели Керка процессы выполняют элементарные функциональные задачи, а каналы обеспечивают взаимодействия процессов.
Анализ графа модели Керка
После фиксации совокупности и каналов у проектировщика имеется несколько возможностей для реализации проекта.
Рассмотрим влияние изменения типа и функции каналов на поведение проектируемой системы. На рис. 2.4 изображено поведение регулятора с тремя разными множествами каналов:
множество каналов А; здесь К1, К2, К3, К4 – каналы Петри с функциями [0, 0], К5 – нулевой канал, К6 – асинхронный канал, К7 – синхронный канал с функцией [1, 1];
множество каналов В; здесь К1, К2, К3, К4, К6, К7 – синхронные каналы с функцией [1, 1], К5 – нулевой канал;
множество каналов С; здесь К1, К2, К3, К4, К6 – синхронные каналы с функцией [0, 0], К5 – нулевой канал, К7 – синхронный канал с функцией [1, 1].
Рис.2. 4. Варианты временных диаграмм работы регулятора:
а – для множества каналов А; в – для множества каналов В; с – для множества каналов С
Соответствующие временные диаграммы представлены на рис. 2.4 а, 2.4 б, 2.4 в. При этом времена выполнения процессов приняты одинаковыми.
Из сравнения диаграмм очевидны следующие выводы.
Модель Керка с каналами Петри хорошо имитирует поведение сетевых моделей, в которых запуск процесса осуществляется при наличии данных. Соответствующий проект может быть реализован на любой ВС, так как нет особых требований к точности синхронизации. Процесс СИН здесь явно работает как сторожевой таймер.
Модель с множеством каналов В подходит для реализации на мультипроцессорной ВС. Вычислительная система на однопроцессорной ЭВМ будет работать неэффективно, а на сети сложно обеспечить точную синхронизацию отдельных ветвей. Заметим также, что системы с синхронным запуском процессов обеспечивают высокую точность во времени.
Модель с множеством каналов С описывает мультипрограммную работу однопроцессорной ЭВМ, так как процессы в такой схеме взаимодействия могут продвигаться только последовательно.
