Конечно-автоматная реализация пользовательского интерфейса встраиваемой системы на основе аспектно-ориентированного описания

3. Сизиков В.С. Математические методы обработки результатов измерений. - СПб: Политехника, 2001. - 240 с.

4. Гонсалес Р., Вудс Р. Цифровая обработка изображений. - М.: Техносфера, 2006. - 1072 с.

5. Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде MATLAB. - М.: Техносфера, 2006. - 616 с.

6. Воскобойников Ю.Е. Комбинированный нелинейный алгоритм восстановления контрастных изображения при неточно заданной аппаратной функции // Автометрия. - 2007. - Т. 43. - № 6. - С. 3-18.

7. Сизиков В.С., Римских М.В., Мирджамолов Р.К. Реконструкция смазанных и зашумленных изображений без использования граничных условий // Оптический журнал. - 2009. - Т. 76. - № 5. - С. 38-46.

8. Кирьянов К.А. Инструментальная реализация алгоритмов реконструкции искаженных изображений // Труды 20-й Междунар. конф. «GraphiCon-2010». - СПб: СПбГУ ИТМО, 2010. - С. 188-191.

9. Сизиков В.С. Прием «усечение-размытие-поворот» для восстановления искаженных изображений // Оптический журнал. - 2011. - Т. 78. - № 5. - С. 18-26.

10. Сизиков В.С. Обратные прикладные задачи и MatLab. - СПб: Лань, 2011. - 256 с.

11. Сизиков В.С. Интегральные уравнения и MatLab в задачах томографии, иконики и спектроскопии. -Saarbrücken : LAP (LAMBERT Academic Publishing), 2011. - 252 с.

12. Кирьянов К.А., Сизиков В.С. Применение сигнальных микропроцессоров в задачах реконструкции искаженных изображений // Изв. вузов. Приборостроение. - 2011. - Т. 54. - № 7. - С. 20-26.

13. Верлань А.Ф., Сизиков В.С. Интегральные уравнения: методы, алгоритмы, программы. - Киев: Наук. думка, 1986. - 544 с.

14. Кухарев Г.А., Тропченко А.Ю., Шмерко В.П. Систолические процессоры для обработки сигналов. -Минск: Беларусь, 1988. - 127 с.

15. Кухарев Г.А., Тропченко А.Ю. Систолический процессор для обращения матриц // Изв. вузов. Приборостроение. - 1990. - Т. 33. - № 11. - С. 23-27.

16. Тропченко А.Ю. Аппаратные средства для цифровой обработки сигналов: Уч.-методич. пособие по дисциплине «Методы обработки сигналов и изображений». - СПб: СПбГУ ИТМО, 2005. - 138 с.

17. Рабинер Л., Гоулд В. Теория и применение цифровой обработки сигналов. - М.: Мир, 1978. - 848 с.

18. Царев А.П. Алгоритмические модели и структуры высокопроизводительных процессоров цифровой обработки сигналов. - Szczecin: Informa, 2000. - 237 с.

19. Поршнев С.В. Вычислительная математика. Курс лекций. - СПб: БХВ-Петербург, 2004. - 304 с.

20. Киреев В.И., Пантелеев А.В. Численные методы в примерах и задачах. - М.: Высшая школа, 2006. -480 с.

21. Texas Instruments. Digital Signal Processors [Электронный ресурс]. - Режим доступа: http://www.ti.com/dsp, свободный. Яз. англ. (дата обращения 18.10.2012).

22. Фингер Р. Библиотека функций IQMath для C64x+ с плавающей точкой в ЦСП с фиксированной точкой. Компоненты TI // Бюллетень научно-технич. информации. - 2011. - Вып. 2(30).

23. Blonstein S., Katorgi M. eXpressDSP For Dummies (eXpressDSP для «чайников»): Пер. с англ. - Новосибирск: 2004. - 101 с.

Кирьянов Константин - Санкт-Петербургский национальный исследовательский университет информа-Александрович ционных технологий, механики и оптики, аспирант, kiryancon@front.ru

Сизиков Валерий Сергеевич - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, доктор технических наук, профессор, sizikov2000@mail.ru

УДК 004.5

КОНЕЧНО-АВТОМАТНАЯ РЕАЛИЗАЦИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ВСТРАИВАЕМОЙ СИСТЕМЫ НА ОСНОВЕ АСПЕКТНО-ОРИЕНТИРОВАННОГО ОПИСАНИЯ

В.М. Васюков

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

системы в виде конечного автомата демонстрирует применимость аспектно-ориентированного подхода для разработки и прототипирования пользовательских интерфейсов встраиваемых систем. Ключевые слова: аспектно-ориентированный подход, интерфейс, конечный автомат.

Введение

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

Описание пользовательского интерфейса в терминах аспектно-ориентированного подхода

Рассмотрим воздействие пользователя на элемент интерфейса как единицу сквозной функциональности а, а текущее состояние системы - как точку среза р. Для аспекта характерно наличие нескольких точек среза, т.е. какого-то непустого их множества а = {р1,р2,...,рп} = {Р}. При таком подходе поль-

т

зовательский интерфейс можно представить как сумму аспектов А = ^ а1, множество срезов которой

I=1

может быть получено аналогичным способом: Рсистемы = {Р и Р2 и... и Рт }. Полное множество точек срезов Рсистемы включает в себя подмножества р\,р\,..,рпт точек срезов конкретных аспектов а1,а2,...,ат и позволяет получить полное описание состояний интерфейса встраиваемой системы. Если какой-либо аспект а1 не имеет в своем подмножестве р1,р2,...,рп точек среза точку из множества Рсистемы точек срезов, его поведение в данной точке описывается идентично одной из имеющихся р1, р2,..., рп точек среза.

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

Аспект Точка среза (состояние системы / режим) Поведение элемента

Нажатие кнопки «1» Р1 Изменение порога предупреждения Уменьшение значения порога предупреждения

р2 Изменение порога аварии Уменьшение значения порога аварии

р3 Выбор для изменения порога предупреждения Переход к р11

р4 Выбор для изменения порога аварии Переход к р12

Нажатие кнопки «2» р2 Изменение порога предупреждения Увеличение значения порога предупреждения

р2 Изменение порога аварии Увеличение значения порога аварии

Нажатие кнопки «3» р1 Изменение порога предупреждения Внесение изменений и переход к р35

р2 Изменение порога аварии Внесение изменений и переход к р 35

р3 Выбор для изменения порога предупреждения Переход к р34

р4 Выбор для изменения порога аварии Переход к р35

р3 Индикация значения измеренной величины Переход к р33

Таблица 1. Описание нажатий кнопок

Аспект Точка среза (состояние системы / режим) Поведение элемента

Вывод р4 Изменение порога предупреждения Вывод порога предупреждения

Р42 Изменение порога аварии Вывод порога аварии

рз Выбор для изменения порога предупреждения Вывод порога предупреждения

Р4 Выбор для изменения порога аварии Вывод порога аварии

р5 Индикация значения измеренной величины Вывод измеренной величины

Таблица 2. Описание работы индикатора

ООО

Рис. 1. Внешний вид устройства

В табл. 1, 2 индексами для элементов р/ служат / - номер аспекта; ] - номер состояния по порядку. Для различных аспектов / состояния ] с одинаковыми номерами тождественны. Получим множество срезов:

р1 и Р12 и р1 и Р14 и р2 и рр2 и р1 и Рз2 и Рз3 и Рз4 и Рз5 и р1 и р42 и р43 и р44 и р45 =

{р1 и Р12 и Р1 и Р14 и Рз5 }= Системы.

Описание ориентированного графа

Полученное описание позволяет представить порядок изменения режимов интерфейса в виде орграфа. Формальное определение орграфа [2] выглядит как Б = (¥, Е), где Е есть множество упорядоченных пар вершин V е V. Так как интерфейс встраиваемой системы изменяет свое состояние (режим) в определенном порядке, то можно представить переходы между элементами множества Рсистемы как матрицу смежности М с размерностью, определяемой кардинальным числом [з], |Рсистемы|. Используя матрицу смежности М, можно построить множество Е, а множеством V будет являться Рсистемы .

Создадим матрицу смежности М, размерностью |Рсистемы| = 5 для нашего примера (табл. з), в качестве ребер ориентированного графа будем использовать информацию о переходах между состояниями из табл. 1:

р Р12 рз Р14 Рз5

Р1 - - 1 - -

Р12 - - - 1 -

рз - - - - 1

Р14 - - 1 - -

рз 1 1 - 1 -

Таблица 3. Матрица смежности М

Таким образом, рассматривая пользовательский интерфейс встраиваемой системы как сумму аспектов А, можно построить ориентированный граф состояний системы (рис. 2).

Описание конечного автомата

Опишем пользовательский интерфейс как детерминированный конечный автомат [4] с помощью диаграммы состояний (рис. з):

- вершины - состояния конечного автомата, в данном примере они определены на множестве Рсистемы как состояния системы р11 .

- ребра - переходы из одного состояния рЦ в другое р'л. , определены как матрица смежности М размерностью |Рсистемы| = 5;

- нагрузка - символы, при которых осуществляется данный переход, в случае если переход из состояния рт в состояние рк возможен при появлении одного из нескольких символов, то над дугой диаграммы (ветвью графа) должны быть написаны они все; нагрузка описывается множеством воздействий, осуществляемых пользователем, в данном примере это нажатия на кнопки, описываемые как аспекты а1, а2, а3, эти же символы будут использоваться для обозначения осуществления переходов.

Рис. 2. Ориентированный граф

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

Рис. 3. Диаграмма состояний конечного автомата Заключение

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

Ю.Н. Матвеев, А.К. Шулипа

Литература

1. Kiczales G., Lamping J., Mendhekar A., etc. Aspect-oriented programming // Proceedings of the European Conference on Object-Oriented Programming (ECOOP). - Finland, Springer-Verlag LNCS 1241. - June 1997. - P. 220-242.

2. Кристофидес Н. Теория графов. Алгоритмический подход. - М.: Мир, 1978. - 432 с.

3. Куратовский К., Мостовский А. Теория множеств. - М.: Мир, 1970. - 416 с.

4. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.

Пасюков Василий Михайлович - Балтийский государственный технический университет «Военмех»

им. Д.Ф. Устинова, аспирант, witcher237@rambler.ru

УДК 621.391.037.372

ГИСТОГРАММНАЯ НОРМАЛИЗАЦИЯ РЕЧЕВЫХ ПРИЗНАКОВ В ЗАДАЧЕ ВЕРИФИКАЦИИ ДИКТОРОВ Ю.Н. Матвеев, А.К. Шулипа

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

Ключевые слова: верификация дикторов, речевые признаки, гистограммная нормализация.

Введение

Как отмечено в работе [1], успех в распознавании личности по голосу (распознавании диктора) в гораздо большей степени зависит от метода компенсации канала, чем от выбора признаков. В качестве одного из путей решения проблемы канала в работе [2] было предложено использовать методы нормализации признаков путем их трансформирования (feature warping). Данный метод с 80-х годов прошлого века широко используется в обработке изображений [3-5], а для обработки речевых сигналов он получил распространение только в начале настоящего века [6].

Процедура нормализации речевых признаков выполняется на стадии предобработки речевого сигнала и заключается в приведении формы распределения признаков к заданному виду. В качестве заданного обычно используется нормальное (гауссово) распределение [6] и такую процедуру нормализации часто называют «гауссинизацией» [7]. Целью нормализации является уменьшение влияния вариативности внешних факторов на оценки параметров статистической модели голоса диктора и компенсация рассогласования каналов (условий тестирования и обучения). Таким образом, система верификации дикторов, использующая нормализованные признаки становится более робастной.

В случае дискретных сигналов нормализация основывается на модификации гистограмм распределений и поэтому называется гистограммной [8].

Известные методы гистограммной нормализации

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

В качестве речевых признаков для систем верификации наиболее часто рассматриваются вектора, которые состоят из набора мэл-частотных кепстральных коэффициентов (mel frequency cepstral coefficients, MFCC), а также их производных. Алгоритм нормализации признаков, предложенный в [2], предполагает нормализацию только MFCC-коэффициентов, на основе которых затем вычисляются оставшиеся компоненты вектора признаков (первые и вторые производные). Как показали результаты экспериментов, при таком исполнении алгоритм нормализации работает неэффективно.

Целью настоящей работы является разработка модификации алгоритма гистограммной нормализации, устраняющей недостатки известных решений.