УПРАВЛЕНИЕ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ИНФОРМАТИКА
УДК 004.93
ОПТИМАЛЬНЫЙ СИНТЕЗ СТРУКТУРНО-ВРЕМЕННЫХ ОБРАЗОВ РЕГУЛЯРНЫХ ФАЗОВЫХ ПРОЦЕССОВ С ПОИСКОМ ОБЛАСТИ
ОПРЕДЕЛЕНИЯ
© 2013 г. М.М. Гавриков, Р.М. Синецкий
Южно-Российский государственный South-Russian State
технический университет Technical University
(Новочеркасский политехнический институт) (Novocherkassk Polytechnic Institute)
Сформулирована задача оптимального синтеза аппроксимационного структурно-временного образа реализации регулярного фазового процесса для случая, когда известно, что область определения образа содержится внутри заданного интервала времени, но ее точные границы не известны. Предложен алгоритм синтеза оптимального аппроксимационного образа с поиском «наилучшей» области определения и приведена иллюстрация его применения в задачах распознавания речевых сигналов.
Ключевые слова: структурная аппроксимация; распознавание образов; распознавание речи.
The problem of approximation of optimal synthesis of structurally-time image of the regular implementation phase of the process for the case where it is known that the domain of the image contained within the specified time, but its exact boundaries are not known. The algorithm for the synthesis of optimal approximation of the image with the search for the «best» domain and an illustration of its application in pattern recognition of speech signals.
Keywords: structural approximation; pattern recognition; speech recognition.
Введение
В ряде публикаций [1, 2] была разработана математическая схема синтеза структурно-временных образов, формируемых из сигналов, источниками которых являются регулярные фазовые процессы (РФ-процессы), а также рассмотрены ее реализации в некоторых приложениях (в ранних работах использовался термин «структурно-детерминированные процессы»).
Ключевой задачей анализа сигналов, порождаемых РФ-процессами, является задача косвенной структурно-временной идентификации (СВИ) его реализаций по наблюдаемым сигналам, которая в общей форме имеет следующую формулировку [1]: располагая сигналом УТ (?) = [у ), ? е Т] , Т = [а, Ь] с X (X - действительная прямая), источником которого является реализация РФ-процесса с фазовой цепочкой ат =ф(1),...,ф(т), и априорными данными о свойствах сигнала уТ (?) в отдельных фазах ф('), требуется определить разбиение вида
Rm (Т) = {Тк1Тк = [Гк-1, гк], к = 1,...,т, а = < <... <= Ь}, в котором каждый интервал Тк е Rm (Т) соответствует одной из фаз фг- (т. е. на интервале Тк процесс находится в фазе фг-).
Такое разбиение названо существенным (фазовым) разбиением Яст (Т) интервала Т . Показано, что на практике можно получить только приближенное решение этой задачи в виде некоторого разбиения Ят (Т), аппроксимирующего R ст (Т), так как полезный сигнал уТ ) не имеет точного аналитического описания, и регистрации поддается лишь сигнал у (?) = у(!) + §(/), содержащий искажения помехой §(0 . Схема структурно-аппроксимационного синтеза (СА-схема) образов РФ-процессов находит приближенное решение путем построения оптимального аппроксимационного структурно-временного образа реализации процесса, для которого Ят (Т) является частью его описания (атрибутом образа). В указанных работах предполагалось, что область определения аппроксимационного образа известна, например, предопределена самой техникой измерения сигнала, задается специалистом-предметником и т. п.
Однако при автоматическом цифровом анализе сигнала нередко вместо интервала Т = [а, Ь] известен интервал Т0 = [а0,Ь0], покрывающий Т (Т с Т0). Например, при обработке электрокардиосигнала требуется определить параметры фрагмента сигнала, соответствующие одному выделенному циклу работы сердца (каждый цикл можно рассматривать как одну реализацию РФ-процесса), но, как правило, исходная
запись сигнала соответствует нескольким полным циклам и двум незавершенным циклам - в начале и в конце записи. В системах голосового управления границы распознаваемых речевых сигналов могут быть определены с погрешностью или содержать фрагменты в начале и/или в конце сигнала, соответствующие акустическим помехам, например фрагментам посторонней речи, воспринятой микрофоном.
Цель настоящей работы состоит в разработке и экспериментальной апробации модифицированной СА-схемы синтеза, обеспечивающей не только построение оптимального аппроксимационного образа РФ-процесса, но и автоматический поиск «наилучшей» области определения для этого образа.
Постановка задачи синтеза оптимального аппроксимационного образа с поиском «наилучшей» области определения
Напомним, что постановка задачи синтеза оптимального структурно-аппроксимационного образа с заданной областью определения и схема ее решения (СА-схема) оперируют с тремя типами образов: идеальным с = (я1,..., gm), деформированным с = ^1,...,gм) и аппроксимационным с = gm), где g^, gi, gj, I = 1, т, у = 1,М - образующие (элементы) соответствующих образов. Образующие gi идеального образа с сопоставляются фазам фг-РФ-процесса. В общем случае, идеальный образ может иметь смысл динамического (адаптируемого) образа, признаки которого вычисляются для каждой новой реализации РФ-процесса [3]. Но поскольку в рамках данной работы механизм адаптации не рассматривается, под идеальным будем понимать эталонный образ, сопоставляемый всему множеству реализаций, признаки которого инвариантны ко времени.
Деформированный образ с = (g1,...,gм) формируется из регистрируемого сигнала уТ (О, Т = [а, Ь] и определяется на этом же интервале времени. Он рассматривается как искаженная копия идеального образа с = gm), а процедура его синтеза обеспечивает выполнение условия М > т [1]. Центральной процедурой СА-схемы является синтез оптимального аппроксимационного образа с = gт) с той же областью определения Т. Критерий качества структурной аппроксимации в общей форме имеет вид:
E(c, с, С) = у E(c, c) + (1 - у)E(c, c),
(1)
Rт (Т) и множество t(C), образованное граничными
точками интервалов Т е кт (Т), которое должно удовлетворять условиям:
Щ с /(с); (2а)
'о = 'о = a , 'm = 1M = b
M > m.
(26)
(2в)
Этому условию удовлетворяет множество образов с, которые можно построить путем различных вариантов размещения t(C) в ¿(с), и каждому образу с будет соответствовать определенное значение критерия Е(с, с, с). Эти значения рассматриваются как
значения функционала О = О[/(с)], зависящего от t(C). Задача синтеза оптимального образа с на заданном интервале Т = [а, Ь] формулируется следующим образом:
Располагая идеальным (эталонным) и деформированным образами с = gm) и с = ,...,gм) (М > т), требуется построить образ с = gт), доставляющий минимум функционалу
Q[/(<?*)] = min { E(c, c, c)}
i(c )ci(c)
(3)
где Е(с, с) и Е(с, с) - меры различия между соответствующими образами, имеющие одинаковые пределы изменения; 0 < у < 1 - взвешивающий коэффициент.
Образу с соответствуют неизвестное существенное разбиение Rcm (Т), образу с - некоторое разбиение Rм(Т) и множество t(C) = {а = ?0,11,..., 1 м = Ь}, образованное граничными точками интервалов Ti е Км (Т), а синтезируемому образу с - разбиение
при выполнении условий (2 а, б, в).
Процедура построения использует метод динамического программирования.
Модификация данной постановки состоит в
следующем. Пусть регистрируется сигнал уТо (:), Т0 = [а0, Ь0], о котором известно, что он содержит фрагмент уТ (^, порождаемый реализацией РФ-процесса на интервале Т = [а, Ь] с Т0, но его границы а,Ь е[а0,Ь0] не известны. Предположим, что имеется процедура, формирующая из сигнала уТ° (:) некоторый исходный образ с0 = (g10,...,gN), которому соответствуют разбиение RN (Т0) интервала Т0 и множество t(C0) = |а0 = ?0°,..,I N = Ь0}, для которых выполняются следующие условия: 3 единственный интервал Т*= [а*, Ь*], такой, что для заданного 5>0 :
* г0 ,* г0 г0 ^ г0 г0 г0 ч .
а = ti, ь =t 0, ti <t 0, ti, 110 е /(со);
а - а <5, b - b< 5:
N > M = j - i > m .
(4a)
(46)
Условие (4а) означает, что один из интервалов Т* = [а* = /0, Ь* = /0 ] с Т0 почти совпадает (с точностью до 5) с интервалом Т = [а, Ь] с Т0, являющимся
областью определения для сигнала у ^), порождаемого реализацией РФ-процесса. Условие (4б) означает, что подобраз (§0,..., §0) образа с0, для которого
интервал Т*= [а*, Ь*] является областью определения, имеет не меньшую мощность, чем аппроксима-ционный образ с, и не большую, чем исходный образ с0, что является необходимым условием для синтеза с при помощи СА-схемы. Поскольку интервал Т* = [а*, Ь*] наиболее близок к области определения Т = [а,Ь] с Т0 сигнала уТ (О, порождаемого РФ-процессом, то естественно сделать следующие предположения:
т *
1) свойства фрагмента сигнала у ^) наиболее близки к свойствам фрагмента сигнала уТ (О по сравнению с любыми другими фрагментами, имеющими области определения, отличные от Т *;
2) образ с* = (§*,...,§М) с областью определения Т*, получаемый из подобраза (§г0,...,§0) образа с0 по правилу (§1 = ,...,§м = ), может адекватно (в
смысле отражения свойств сигнала уТ (О) представлять деформированный образ реализации РФ-процесса. Этому образу с * будет соответствовать множество t(c*) = |а* = 10,...,!М = Ь*|;
3) из выражений (1) и (2) следует, что оптимальный аппроксимационный образ с*, получаемый в результате синтеза (с,с*) ^ с* на интервале Т*, должен иметь наименьшее значение критерия Е (с, с *, с*)
среди всех аппроксимационных образов, которые можно получить в результате аналогичного синтеза на интервалах, отличных от Т *.
Справедливость последнего предположения не очевидна и утверждение «должен иметь наименьшее значение критерия Е(с,с*,с*)» следует понимать в
статистическом смысле, т. е. это предположение будет выполняться с большой долей вероятности. Если принять его в качестве рабочей гипотезы, которую следует экспериментально проверить, то задачу синтеза оптимального аппроксимационного образа с поиском «наилучшей» области определения можно сформулировать так:
Располагая образом с0 = (§0,...,), определенным на интервале времени Т0 = [а0, Ь0], который покрывает интервал Т = [а, Ь], соответствующий реализации РФ-процесса, а также идеальным (эталонным) образом с = (§1,...,§т) этого процесса, требуется построить деформированный образ с* и оптимальный аппроксимационный образ с* с областью
определения T* = [a*, b*] с T0 , при которой достига-
ется минимум функционала
Q(t(c),a*, b*) = min \ min
a ,b'ei(c0) [i(c)ci(c")
in (E(c,c, c*)U (5)
t c г jJ
при выполнении условий:
t(c) с t(с*)
'о _ t'o ~ a , tm ~ M _ b ,
a *, b* e i(c0), N > M > m .
Нахождение решения этой задачи можно реализовать при помощи следующего алгоритма.
Алгоритм синтеза оптимального аппроксимационного образа с поиском «наилучшей» области определения
При совпадении t(c) с i(c*) выражение, стоящее внутри больших фигурных скобок функционала (5), совпадает с правой частью функционала (3), определяющего постановку задачи синтеза образа c с заданной областью определения T , решение которой находится при помощи СА-схемы, рассмотренной в указанных работах [1, 2]. Поэтому часть алгоритма, реализующего эту схему, обозначим как
sa shem (in : < входные параметры >;
out: < выходные параметры >)
и будем обращаться к ней, как к формальной процедуре. Все образы, кроме эталонного, будем помечать нижним и верхним индексами, обозначающими граничные точки интервалов, на которых определяются
эти образы, например, ctk, ¿0°, cha и т. п. Значение функционала (5), соответствующее оптимальному аппроксимационному образу cba, получаемому при помощи процедуры sa _ shem , обозначим через
м>(са), а искомый образ с * с наилучшей областью
определения Т* = [а*, Ь*] через м>*. Кроме того, в качестве входных параметров алгоритма зададим допустимый диапазон [тд, тд] длительности интервала времени, на котором определяются деформированный и аппроксимационный образы. На практике для конкретного РФ-процесса этот диапазон может быть определен эмпирическим путем - из статистических данных о длительностях его реализаций. Приведем формальное описание алгоритма (комментарии будут выделяться курсивом и фигурными скобками).
Алгоритм ПНОО
Входы:
- исходный образ сЬ0 мощности N;
а0
- эталонный образ с мощности т ;
- тд , тд - границы допустимого диапазона длительности интервала времени, на котором определяются деформированный и аппроксимационный образы.
Выходы:
* , *
- границы а и Ь искомого интервала Т*= [а*, Ь*];
- образ c * мощности m и значение критерия w = w(Cb).
Последовательность действий:
1. Определить w* =х ;
2. Определить i = 0 {i - переменная цикла поиска левой границы интервала T* = [a*, b*]};
3. Определить b = ti + тд , b = ti +хд {[b,b] опре-
1 *
деляет диапазон поиска верхней границы b для текущего значения нижней границы a* = ti, ti е t(c0)};
4. Проверить условие b > b0 = tN {tN - правая граница области определения для исходного образа C^0 }, если выполняется, то перейти на шаг 11;
5. Сформировать множество G допустимых правых границ интервалов [^, tk ], на которых будет
выполняться синтез образов с^ : G = {tk | tk е [b,b],
M = (k - i) > m};
6. Проверить условие G = 0 , если выполняется, то определить i = i +1, перейти на шаг 3;
7 Выполнить процедуру sa _ shem(in : tc, c.k; out: ск, w(c.k)) построения множества образов {с к | tk е G } на всех интервалах [ ti, tk ];
8. Найти интервал [^,tr], на котором w(C'tr) имеет минимальное значение tr = argmin{w(ck)};
tkeG 1 '' '
9. Проверить условие w(c r) > w*; если выполняется, то определить i = i +1, перейти на шаг 3;
10. Определить w* = w(ctr), a* = ti, b* = tr, i = i +1,
перейти на шаг 3;
11. Окончание алгоритма.
В качестве одного из входов алгоритм использует исходный образ c0 , который, как говорилось выше, должен быть сформирован из регистрируемого сигнала f0 (t), T0 = [a0,b0] и удовлетворять условиям. Построение этого образа можно реализовать разными способами. Самый простой способ состоит в построении c0, которому соответствуют равномерное разбиение
0) ={a0 = ¿N = b0 } та-
кие, что xi = tf -1— = conct = (b0 - a0) / N, т. е. длительности xi всех интервалов Тг° = [ti-j,tt°] e RN(T0) одинаковы. Для выполнения условия (4а) N должно быть таким, чтобы выполнялось:
xi = (b0 - a0)/ N < 25 . Задав это разбиение и исполь-
т о
зуя фрагменты сигнала y i (t), следует вычислить признаки образующих g0 образа c0 в соответствии с конкретным способом их математического определения и интерпретации, например параметры модели сигнала на фрагментах xi, оценки частотных или статистических характеристик этих фрагментов, коэффициенты разностного уравнения и т. п.
Другие способы для получения c0 могут использовать алгоритмы сегментации сигналов или структурно-временных образов с регулируемым параметром N - мощности получаемого разбиения [4]. Для сигналов с характерными признаками формы, подобными ЭКГ, могут использоваться алгоритмы сплайн-аппроксимации, тогда в качестве t(c0) выступает сетка узлов сплайна.
Примеры применения алгоритма ПНОО в обработке речевых сигналов
Модифицированная СА-схема, использующая алгоритм ПНОО, апробировалась в программном командно-речевом интерпретаторе (КРИ), применяемом в тренажно-моделирующих системах для речевого управления различными информационными процессами в режиме «постоянно активного микрофона» [5, 6]. Особенность и сложность реализации такого режима (в отличие от режима «активации микрофона при помощи кнопки», используемого, например, в мобильных телефонах) заключается в том, что кроме речевых команд управления микрофон улавливает и все посторонние акустические шумы (фрагменты посторонней речи, акустические шумы, близкие к речевому диапазону частот и т. п.), и соответствующие шумовые сигналы, в принципе, могут быть распознаны как команды управления. Чтобы свести к минимуму такие ситуации, КРИ должен иметь механизм распознавания «ложных» команд. В КРИ, использующем первую версию СА-схемы (без алгоритма ПНОО), этот механизм был реализован следующим образом [5].
При поступлении в микрофон акустического сигнала КРИ выполняет распознавание речевой команды и передает код этой команды исполнительной процедуре или интерпретирует ее как «ложную». Блок распознавания для определения индекса r поданной команды среди L возможных команд и ее интерпретации использует правило r = arg min при усло-
1<i <L *
вии, что
Rn(T0) и множество t(c0) = j
п;< p
(6)
где О* - значение СА-критерия Е(с^, С, с *), соответствующее оптимальному аппроксимационному речевому образу с для I -й команды; Рг - допустимое
пороговое значение критерия Е(сг, С, с *) при правильном распознавании г-й команды. Пороговые значения Р^ (/ = 1, L) входят в состав характеристик идеальных (эталонных) речевых образов и определяются заранее на этапе настройки КРИ на заданный список речевых команд. Если условие (6) не выполняется, то команда отвергается (игнорируется), или выдается голосовое сообщение с просьбой повторить команду. Таким образом, результат распознавания и интерпретации формально определяется значениями двух пар -(г,0) и(г,1), имеющих следующую семантическую интерпретацию:
(г, 0) -" команда г, отвергнуть";
(г,1) - "командаг,выполнять".
Мониторинг результатов экспериментов в режиме постоянно активного микрофона показал, что среди множества команд с результатом интерпретации (г,0) значительную долю могут составлять правильно распознанные команды (с правильным значением кода г), но отвергнутых как «ложные» по условию (6). В большинстве случаев это происходит из-за погрешности в определении границ речевого сигнала: захватывании участков фонового шума микрофона, участков, соответствующих фрагментам посторонней речи, и акустическим помехам в речевом диапазоне. Вследствие этого, значение критерия (4) оказывается большим, чем то, которое могло бы быть в отсутствии указанных факторов (условие (6) не выполняется), и команда отвергается. Такие ситуации требуют повторного, иногда многократного произнесения команд, что снижает эффективность речевого управления. Использование алгоритма ПНОО в СА-схеме позволяет значительно снизить долю отвергнутых команд при возникновении таких ситуаций. Это достигается за счет того, что алгоритму ПНОО удается найти лучшую по сравнению с первоначальной область определения речевого образа, на которой значение критерия (4) уменьшается и удовлетворяет условию (6). Вышеизложенное иллюстрируют графики результатов экспериментов (рис. 1).
На рис. 1 а показан речевой сигнал, соответствующий эталонному образу команды «назад», а на рис. 1 б - сигнал, выделенный КРИ после подачи этой команды оператором. Как видно, при сравнении с эталоном этот выделенный сигнал содержит фрагменты фоновых помех микрофона в начале и в конце записи. Результат его распознавания и интерпретации -«назад, отвергнуть», так как для оптимального образа, соответствующего этому сигналу, условие (6) не выполняется. На рис. 1 в показан тот же сигнал, но с областью определения (ее границы обозначены вертикальными линиями), полученной после «подгонки» при помощи алгоритма ПНОО.
30 000-F 20 000--10 000-10-10 0004 -20 000- -
30 000 20 000 10 000 0
-10 000 -20 000 -30 000
30 00020 00010 0000-10 000-20 000-30 000-
0
Рис. 1. Иллюстрация применения алгоритма ПНОО на примере команды «назад»
Результат его распознавания и интерпретации -«назад, выполнить», так как после «подгонки» для оптимального образа, соответствующего этому сигналу, условие (6) выполняется. Аналогичный пример показан на рис. 2 для команды «следующий», когда в начале выделенного речевого сигнала (рис. 2 б) содержится отрезок, соответствующий фрагменту посторонней речи, воспринятой микрофоном.
0,3 0,4 0,5 0,6
30 00020 00010 0000
-10 000-20 000-30 000
30 000 20 000 10 000 0
-10 000 -20 000 -30 000
0,4 0,5 0,6 б
"1-Г-"-г
0,4 0,5 0,6 0,7
Рис. 2. Иллюстрация применения алгоритма ПНОО на примере команды «следующий»
Результаты экспериментов приведены в сводной таблице. В условиях специально создаваемых сильных акустических помех подавалось пять различных команд по 20 раз каждая. Как видно из таблицы, почти половина команд была отвергнута по превышению порога, и в этих случаях пришлось бы повторно произносить практически каждую вторую команду. Применение алгоритма ПНОО позволило значительно сократить количество отвергнутых команд до девяти
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
б
0,1
0,2
0,3
0,4
0,5
0,6
0,7
в
0,1
0,2
0,7 0,8
0,9
а
0
0,1
0,2 0,3
0,7
0,8
0,9
0
0,2 0,3
0,8 0,9
в
(45 - 36 = 9). Общий процент правильно интерпретируемых команд, а следовательно, не требующих повторного произнесения, составил 84 %. Следует учесть, что это относится к случаю, когда сильные помехи создаются искусственно. Поэтому следует ожидать, что в реальных условиях это процент будет выше.
Результаты экспериментов
Показатель Обработка команд, %
Количество поданных команд 100
Количество правильно определенных кодов команд г 93
Количество «отвергнутых» команд по превышению порога 45
Количество «возвращенных» команд после подгонки области определения 36
б
На рис. 3 а показана запись речевого сигнала, соответствующего слову «основной», которое должно быть найдено, а на рис. 3 б - запись речевого сигнала, соответствующего фразе «Загорелся основной индикатор», с найденной при помощи алгоритма ПНОО областью определения оптимального речевого образа искомого слова «основной». Как видно из рисунков, нужный фрагмент сигнала выделен достаточно точно, хотя в данном приложении большая точность может и не требуется.
Другое применение может заключаться в автоматическом поиске фрагментов речевого сигнала, соответствующих ключевым словам или фразам в речевых файлах большого объема, например в записях переговоров диспетчеров электросетей, авиационных диспетчеров, «черных ящиках» и т. д. Это применение иллюстрирует рис. 3.
20 000--0
-20 000- -
4 000--2 000- -0
-2 000---4 000---6 000 0
Рис. 3. Иллюстрация применения алгоритма ПНОО для поиска фрагментов речевого сигнала
Литература
1. Гавриков М.М. Структурная аппроксимация и распознавание одномерных временных образов. Концепция и применения // Изв. вузов. Электромеханика. 2003. № 6.
2. Гавриков М.М., Синецкий Р.М. Алгоритмическая и численная реализация структурно-аппроксимационного метода распознавания речевых образов // Изв. вузов. Электромеханика. 2007. № 2. С. 52 - 59.
3. Гавриков М.М., Синецкий Р.М. Технология синтеза струк-турно-аппроксимационных эталонов речевых образов в командно-речевых интерпретаторах // Изв. вузов. Электромеханика. 2005. № 1. С. 40 - 46.
4. Гавриков М.М., Синецкий Р.М. Алгоритмы сегментации структурных временных образов и их применение в обработке речевых сигналов // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2010. № 1. С. 18 - 24.
5. Синецкий Р.М. Задачи голосового управления в тренажерных системах. // Теория, методы проектирования, программно-техническая платформа корпоративных информационных систем: Материалы IV Междунар. науч.-практ. конф., г. Новочеркасск, 26 мая 2006 г./ Юж.-Рос. гос. техн. ун-т (НПИ). Новочеркасск, 2006. С. 69 - 77.
6. Синецкий Р.М., Гавриков М.М. Использование командно-речевых интерпретаторов для управления тренировкой // Теория, методы проектирования, программно-техническая платформа корпоративных информационных систем: Материалы VII Междунар. науч.-практ. конф., г. Новочеркасск, 25 мая 2009 г./ Юж.-Рос. гос. техн. ун-т (НПИ). Новочеркасск, 2009. С. 157 - 160.
Поступила в редакцию
10 сентября 2012 г.
0
а
Гавриков Михаил Михайлович - канд. техн. наук, доцент, кафедра «Программное обеспечение вычислительной техники», Южно-Российский государственный технический университет (Новочеркасский политехнический институт). Тел. (8635)25-52-95. E-mail: [email protected]
Синецкий Роман Михайлович - канд. техн. наук, доцент, кафедра «Программное обеспечение вычислительной техники», Южно-Российский государственный технический университет (Новочеркасский политехнический институт). Тел. (8635)25-52-95. E-mail: [email protected]
Gavrikov Mikhail Mikhailovich - Candidate of Technical Sciences, assistant professor, department «Software Engineering», South-Russia State Technical University (Novocherkassk Polytechnic Institute). Ph. (8635)25-52-95. E-mail: [email protected]
Sinetsky Roman Mikhailovich - Candidate of Technical Sciences, assistant professor, department «Software Engineering», South-Russia State Technical University (Novocherkassk Polytechnic Institute). Ph. (8635)25-52-95. E-mail: [email protected]