Научная статья на тему 'Паттерновое проектирование при создании комплекса программ для проведения вейвлет-анализа'

Паттерновое проектирование при создании комплекса программ для проведения вейвлет-анализа Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
107
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СПЕКТРАЛЬНЫЙ АНАЛИЗ / ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЕ / ПАТТЕРН / MVP / КОМПЛЕКС ПРОГРАММ / SPECTRAL ANALYSIS / WAVELET TRANSFORMATION / PATTERN / COMPLEX OF PROGRAMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Прохоров Сергей Антонович, Столбова Анастасия Александровна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Прохоров Сергей Антонович, Столбова Анастасия Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PATTERN-BASED SOFTWARE ENGINEERING TO PROVIDE WAVELET ANALYSIS

In this article the structure of software to provide wavelet analysis is considered. The well-known principles of pattern-based engineering is applied to optimize the software structure. The proposed code is tested to analyze the outcomes of using pattern-based approach.

Текст научной работы на тему «Паттерновое проектирование при создании комплекса программ для проведения вейвлет-анализа»

УДК 519.85

ПАТТЕРНОВОЕ ПРОЕКТИРОВАНИЕ ПРИ СОЗДАНИИ КОМПЛЕКСА ПРОГРАММ ДЛЯ ПРОВЕДЕНИЯ ВЕЙВЛЕТ-АНАЛИЗА

© 2015 С.А. Прохоров, А.А. Столбова

Самарский государственный аэрокосмический университет имени академика С.П. Королёва (национальный исследовательский университет)

Поступила в редакцию 30.07.2015

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

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

ВВЕДЕНИЕ

Решение задач анализа и синтеза сигналов с заданными характеристиками, идентификация динамических объектов, как правило, осуществляется на основе частотных (спектральных) характеристик [5].

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

АВТОМАТИЗИРОВАННАЯ СИСТЕМА ВЕЙВЛЕТ-АНАЛИЗА СЛУЧАЙНЫХ ПРОЦЕССОВ

На кафедре информационных систем и технологий СГАУ была разработана «Автоматизированная система вейвлет-анализа случайных процессов» [3, 6], состоящая из следующих подсистем [4]:

1) генерации случайного процесса, предназначенная для моделирования исходного случайного процесса с заданным видом корреляционной функции по алгоритмам рекурсивной фильтрации;

Прохоров Сергей Антонович, доктор технических наук, профессор, заведующий кафедрой информационных систем и технологий. E-mail: sp.prokhorov@gmail.com Столбова Анастасия Александровна, аспирант кафедры информационных систем и технологий. E-mail: anastasiyastolbova@bk.ru

2) генерации модельного сигнала, предназначенная для генерации модельных сигналов заданного вида;

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

5) вычисления преобразования Фурье, предназначенная для получения преобразования Фурье анализируемого процесса;

6) вычисления оконного преобразования Фурье, предназначенная для получения оконного преобразования Фурье анализируемого процесса;

6) построения вейвлетов, предназначенная для расчета значений заданных вейвлетов;

7) вычисления теоретического вейвлет преобразования, предназначенная для вычисления вейвлет-преобразования модельного сигнала аналитически;

8) вычисления погрешностей, предназначенная для вычисления абсолютных, относительных и квадратических погрешностей вейвлет-преоб-разования модельного сигнала;

9) визуализации поверхности, предназначенная для визуализации графиков в трехмерном пространстве;

10) хранения и загрузки используемых файлов и проверки их структур.

Структурная схема системы представлена на рис. 1.

Эта система позволяет провести:

- вейвлет-анализ исследуемых сигналов;

- исследование методов спектрального анализа (преобразования Фурье, оконного преобразования Фурье, вейвлет-преобразования) методом имитационного моделирования.

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

, ч Jsin2r,0 <т< 20,

1sin8r,20 <т< 50.

Рис. 1. Структурная схема системы

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

w(t)=(ts - 28гб + 210г4 - 420г2 + 105)exp

Результатом вейвлет-преобразования является спектр исходного сигнала, представленный на рис. 3.

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

В связи с этим было принято решение о создании новой системы, воспользовавшись специальной технологией проектирования.

ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ

Паттерны проектирования - это описание взаимодействия объектов и классов, адаптированных для решения общей задачи проектирования в конкретном контексте [2].

Одним из классических паттернов является, например, паттерн Model - View - Controller (MVC). Принцип данного паттерна показан на рис. 4.

Model (Модель) содержит в себе данные и бизнес-логику приложения и главной целью является сделать её независимой от остальных частей.

View (Вид) - это отображение данных из Модели.

Controller (Контроллер) перехватывает со-

Рис. 2. Исходный сигнал

Рис. 3. Спектр

Model Controller View

t

Рис. 4. Принцип MVC

бытия из Вида и изменяет Модель.

Недостатком данного паттерна в данном случае является отсутствие двухсторонней коммуникации.

Проанализировав различные технологии, были выбраны паттерны проектирования Model-View-Presenter (MVP) и Inversion of Control (IoC) [2], позволяющие упростить разработку комплекса программ, сократить сроки ее разработки и уменьшить затраты, устранить зависимость между логической частью программы и её интерфейсом.

Рассмотрим данные паттерны более подробно.

Модель и Вид в паттерне MVP аналогичны тем, что используются в MVC.

Presenter (Презентер) обеспечивает связь между Моделью и Видом.

Модель и Вид взаимодействуют с Презен-тером посредством обработки событий, а Пре-зентер, в свою очередь, имеет доступ к Модели и Виду, т.к. он получает ссылки на Модель и Вид.

Принцип MVP показан на рис. 5.

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

Model Presenter View

Рис. 5. Принцип MVP

ПАТТЕРНЫ ПРИ СОЗДАНИИ КОМПЛЕКСА ПРОГРАММ

На рис. 6 представлена часть диаграммы классов системы, на которой показана реализация вейвлет-преобразования с применением паттернов проектирования.

Data Wavelet Transformation User Control - это Вид (реализованный в виде пользовательского компонента), который содержит в себе элементы для отображения данных вейвлет-преобразования.

Данный Вид реализует интерфейс IData Wavelet Transformation View, который содержит свойства, методы и события, доступные Пре-зентеру.

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

Wavelet Transformation Presenter обеспечи-

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

Аналогичным образом реализуется визуализация вейвлет-преобразования:

ЗАКЛЮЧЕНИЕ

Результаты анализа наличия ошибок в коде до и после применения паттернов проектирования представлены в таблице 1.

При применении данных паттернов для реализации комплекса были получены следующие преимущества:

- описание комплекса программ стало более простым и удобным за счет модульной структуры;

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

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

Рис. 6. Диаграмма классов вейвлет-преобразования

Таблица 1. Ошибки кода

Тип ошибки Автоматизированная система Комплекс программ

Общие методы и улучшение кода 246 66

Предупреждения компилятора 3 2

Нарушения ограничений 695 52

Языковые возможности использования 318 67

Потенциальные проблемы качества кода 245 19

Избыточность кода 312 84

Избыточность в объявлении переменных 147 19

ния, организации имитационного моделирования и др.;

- отладка и тестирование алгоритмов стала проще.

СПИСОК ЛИТЕРАТУРЫ

1. Добеши И. Десять лекций по вейвлетам. Ижевск: НИЦ «Регулярная и хаотическая динамика», 2001. 464 с.

2. Приемы объектно-ориентированного программирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. СПб : Питер, 2001. 368 с.

3. Прикладной анализ случайных процессов [под ред. С. А. Прохорова]. Самара: Самарский научный центр РАН, 2007. 582 с.

4. Прохоров С.А., Столбова А.А. Автоматизированная

информационная система вейвлет-анализа случайных процессов // Проблемы автоматизации и управления в технических системах: Сб. ст. Пенза: ПГУ, 2013. С. 159-163.

5. Прохоров С. А., Столбова А. А. Паттерны проектирования при создании комплекса программ для проведения вейвлет-анализа // Труды международной научно-технической конференции «Перспективные информационные технологии ПИТ 2015». Том 1. Самара: Самарский научный центр РАН, 2015. С. 109-112.

6. Свидетельство № 2013613175 Российская Федерация. Автоматизированная система вейвлет-анализа случайных процессов: свидетельство об официальной регистрации программы для ЭВМ / С. А. Прохоров, А. А. Столбова; заявитель и правообладатель С. А. Прохоров (КБ), А. А. Столбова (Щ). №2013610653; заявл. 05.02.2013; зарегистр. 27.03.2013.

PATTERN-BASED SOFTWARE ENGINEERING TO PROVIDE WAVELET ANALYSIS

© 2015 S.A. Prokhorov, A.A. Stolbova

Samara State Aerospace University named after Academician S.P. Korolyov (National Research University)

In this article the structure of software to provide wavelet analysis is considered. The well-known principles of pattern-based engineering is applied to optimize the software structure. The proposed code is tested to analyze the outcomes of using pattern-based approach.

Key words: spectral analysis, wavelet transformation, pattern, MVP, complex of programs.

Sergej Prokhorov, Doctor of Technics, Professor, Head at the Information Systems and Technologies Department. E-mail: sp.prokhorov@gmail.com

Anastasia Stolbova, Second-Year Graduate Student of Information Systems and Technologies Department. E-mail: anastasiya.stolbova@bk.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.