Разработка алгоритмического обеспечения подсистем нечеткой обработки информации для встраиваемых микроконтроллерных систем управления

Информационно-управляющие системы

УДК 004.896

А. И. Братолюбова, А. Е. Васильев, А. В. Донцова, А. И. Мурго Санкт-Петербургский государственный политехнический университет, Россия, Санкт-Петербург

РАЗРАБОТКА АЛГОРИТМИЧЕСКОГО ОБЕСПЕЧЕНИЯ ПОДСИСТЕМ НЕЧЕТКОЙ ОБРАБОТКИ ИНФОРМАЦИИ ДЛЯ ВСТРАИВАЕМЫХ МИКРОКОНТРОЛЛЕРНЫХ СИСТЕМ УПРАВЛЕНИЯ

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

Встраиваемые интеллектуальные системы управления (ВИСУ) имеют, как правило, иерархическую структуру, включающую в себя исполнительный, тактический и стратегический уровни.

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

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

Для сравнительного анализа в качестве прототипа аппаратной платформы использован 8-битный нечеткий контроллер семейства ST5, относящийся к классу вычислителей ICU (Intelligent Control Unit), потенциально лучших (в смысле производительности) среди всех известных вариантов реализации систем нечеткой обработки данных.

Помимо традиционных компонентов, процессорное ядро микроконтроллера ST5 имеет в своем составе нечеткий вычислитель (Decision Processor), функционирование которого основано на использовании ресурсов процессорного ядра, в частности арифметико-логического устройства (АЛУ), вследствие чего происходит блокировка программных вычислений при выполнении команд нечеткой обработки данных и снижается производительность функционирования ВИСУ в целом. Таким образом, к основным направлениям повышения производительности такой систе-

мы относятся обеспечение независимости функционирования нечеткого вычислителя и АЛУ и оптимизация алгоритма нечетких вычислений.

Для оценки качества реализации нечеткого вычислителя предлагается использовать триаду показателей «точность вычислений - время вычислений - затраты памяти».

Для реализации наиболее высокоскоростных вычислений в предлагаемом авторами варианте алгоритма нечетких вычислений применяется метод просмотровых таблиц (Look-Up Tables), оперирующий термами, заданными совокупностью массивов-векторов, и базой правил, заданной матрицей. Такая совокупность структур базы нечетких знаний дает значительный прирост производительности, а относительные затраты памяти, превышающие этот показатель для других алгоритмов, компенсируются возможностью задания произвольной функции принадлежности. Для дефаззификации в авторском варианте алгоритма используется метод среднего максимумов.

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

Для осуществления сравнительного анализа точности вычислений для двух вариантов алгоритмов: авторского (STM) и альтернативного - были выполнены серии экспериментов для следующих классов нечетких вычислителей: «один вход - один выход, линейная зависимость», «один вход - один выход, нелинейная зависимость», «два входа - один выход, нелинейная зависимость». Полнота такого анализа следует из утверждения о том, что нечеткий контроллер произвольной сложности можно описать в виде сети элементарных контроллеров. Полученные результаты могут быть экстраполированы на задачу нечеткой обработки данных произвольной сложности [1].

Обобщенные по триаде «точность вычислений -время вычислений - затраты памяти» показатели качества функционирования сравниваемых алгоритмов продемонстрированы на следующих диаграммах (см. рисунок): диаграмма на части а показывает средние скорости вычислений этих алгоритмов при близких характеристиках точности, диаграмма на части б -

Решетневские чтения

среднюю точность вычислений при близких скоростях вычислений.

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

вышения производительности, особенно для предмет ной области ВИСУ.

Библиографическая ссылка

1. Кофман А. Введение в теорию нечетких множеств. М. : Радио и связь, 1982.

Альтернативный

а б

Диаграммы сравнения реализаций алгоритмов по скорости

A. I. Bratolyubova, A. E. Vasiliev, A. V. Dontsova, A. I. Murgo Saint-Petersburg State Polytechnical University, Russia, Saint-Petersburg

ALGORITHMS OF FUZZY PROCESSING FOR EMBEDDED MCU-BASED CONTROL SYSTEMS

The authors consider the problem of algorithmic approach to increase of effectiveness of the subsystems of fuzzy algorithms for embedded applications, and offer a new algorithm for implementation of the mechanism of fuzzy inference, analysis of achieved performance.

© Братолюбова А. И., Васильев А. Е., Донцова А. В., Мурго А. И., 2011

УДК 004.413

Е. Н. Булакина, А. В. Кетов, П. В. Лебедкин, Д. О. Почуфаров, О. Н. Булакина Сибирский федеральный университет, Россия, Красноярск

УПРАВЛЕНИЕ ПРАКТИКАМИ В ГИБКОМ ПРОЦЕССЕ КАК СРЕДСТВО ПОВЫШЕНИЯ ВЗАИМОДЕЙСТВИЯ В КОМАНДЕ РАЗРАБОТЧИКОВ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

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

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