Задача авторегулирования перераспределением пропускной способности пакетного коммутатора между его портами

УДК 681. 324. 658 Ю.А. КОЧЕРГИН

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

Abstract: The work is devoted the scheme of the problem decision of auto regulation by redistribution of throughput of the batch switchboard between its ports, which is depending on changes character of packages streams speeds and which act on inputs of these ports is offered. The differential equation of adjustment which displays auto regulation process is synthesized. Corresponding Bellman's function is constructed. The analytical designing problem of regulators is shown to the decision of Ricotta's equation.

Key words: The network, batch switchboard, data transmission, Bellman's function, Ricotta's equation.

Анотація: У статті здійснено постановку і запропоновано схему рішення задачі авторегулювання шляхом перерозподілу пропускної здатності пакетного комутатора між його портами в залежності від характеру змін швидкостей потоків пакетів, що потрапляють на входи цих портів. Сінтезовано диференційне рівняння налагодження, що відображує процес авторегулювання. Побудована відповідна функція Белмана. Задача аналітичного конструювання регуляторів зведена до рішення рівняння Рікаті.

Ключові слова: мережний пакетний комутатор, передача даних, функція Белмана, рівняння Рікаті.

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

Ключевые слова: сетевой пакетный коммутатор, передача данных, функция Беллмана, уравнение Рикатти.

1. Введение

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

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

2. Общая постановка задачи

Рассмотрим сетевой пакетный коммутатор (СПК), имеющий произвольно выбранное количество портов, пропускная способность которого равна постоянной величине. Предположим, что пропускная способность СПК может перераспределяться внутри коммутатора между его портами. Предположим также, что интенсивности пакетных потоков, которые проходят через порты, могут изменяться в реальном времени непредвиденным образом. Такая ситуация отвечает реалиям эксплуатационной практики. Ставится цель: разработать оптимальный метод перераспределения пропускной способности коммутатора между его портами (а также соответствующие механизмы его реализации), учитывающий характер изменений скоростей потоков пакетов, которые поступают на входы этих портов. При этом критерий оптимальности должен выбираться исходя из условия

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

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

3. Формальная постановка задачи

Рассмотрим пример СПК, который имеет три порта. Общая пропускная способность коммутатора Н есть сумма пропускных способностей портов И1 , И2, И3:

Н = И1 + И + И3 .

Общая пропускная способность (1) - константа, которая обусловлена аппаратными ограничениями.

Интенсивности потоков пакетов через порты коммутатора (пакетные трафики) обозначим

соответственно через пх, п2, п3. Обозначим обратные коэффициенты загрузки портов

соответственно через Г, Г2, Г3. Эти коэффициенты определим как отношения

ИИ И3

Г = ; Г =— ; Гз =— .

п П2 П3

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

п 1 п2 1 п3 1

кх = — = — ; к2 = = — ; к3 = -3 = — .

И Г1 И2 Г 2 И3 Г3

Прямые коэффициенты загрузки (3) показывают уровень загрузки портов и не могут быть большими, чем единица.

Введем в рассмотрение вектор обратных коэффициентов загрузки портов

Векторная форма записи выражений (4) и (5) упрощает процесс дальнейшего

программирования работы коммутатора при написании расчетных программ.

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

перераспределения полос пропускания портов в направлении выравнивания коэффициентов

загрузки портов. (Далее этот механизм будет рассмотрен подробно). Тогда процесс

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

для прямых коэффициентов загрузки.

Векторные записи выражений (6) и (7) удобно использовать для построения адаптивного алгоритма настройки СПК, который обеспечивает возможность динамического перераспределения пропускных способностей портов в связи с возможными трендами и пульсациями пакетных трафиков на этих портах.

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

4. Общая схема решения задачи

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

Г= Г 2

Г,

и вектор прямых коэффициентов загрузки портов

для обратных коэффициентов загрузки;

уравнений настройки на одном шаге может быть выполнено, например, в соответствии с методом Эйлера [4]:

h

для обратных коэффициентов загрузки;

к

для прямых коэффициентов загрузки.

В выражениях (8) и (9) h - шаг численного интегрирования. (Отметим, что если интегрирование выполняется другими численными методами, то соотношения (8) и (9) будут принимать другой вид).

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

Понятно, что новым значениям коэффициентов загрузки, полученным на данном шаге

интегрирования, отвечают новые рекомендованные значения пропускных способностей портов СПК, которые вычислены исходя из нормирования постоянства их суммы, по величине, равной пропускной способности коммутатора H .

Новые рекомендованные значения пропускных способностей портов, например, трёхпортового коммутатора, задаются следующими выражениями:

7 H

h =--------------------n\h\ ;

ЩП\ + n2h2 + n3h3

/ _ н

h2 n2h2 ; (10) nh + n2h2 + nh

i _ н

h3 _ n3h3 .

nhl + n2h2 + n3h3

Структура выражений (10) отображает условие, при котором сумма пропускных способностей всех трех портов равняется общей пропускной способности СПК, то есть выполняется соотношение

H _ hx + h2 + h3 _ const ,

которое есть обязательным естественным условием сохранения общей пропускной способности СПК.

Подобным образом можно получить выражения и для других количеств портов коммутатора. Возможна также замена обратных коэффициентов загрузки в выражениях (10) на прямые с учетом выражений (3).

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

аналитического конструирования регуляторов, который предложен в [5] и усовершенствован в работах [6, 7]. Этот метод учитывает качество переходных процессов в динамически управляемых системах.

5. Построение функции Беллмана

Одним из основных этапов решения задачи аналитического конструирования регуляторов, необходимость применения которого обусловливается необходимостью выравнивания регулированных координат, является построение функции Беллмана [5-7]. Для наглядности сначала рассмотрим абстрактный формальный пример совокупности, например, трех переменных П, п2, п3. Построим функцию этих переменных, которая удовлетворяет таким условиям: она есть

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

N

г щ ^

п2

V п3

Далее назначим матрицу в виде

С

Г 1 -1 о

У

0

1 -1

л

0

1

Выберем следующее правило построения матрицы (12). Количество столбцов в матрице равняется количеству портов коммутатора. Число строк равняется максимально возможному числу пар портов, причем в каждой паре номер хотя бы одного порта отличается от номера в любой другой паре. То есть все пары разные, но содержат порты с одинаковыми номерами. Такая разбивка на пары отвечает возможности установления регулирующей связи между любыми двумя портами. При этом порядок расположения портов в паре не имеет значения. Направление передачи типа «с» отображается знаком минус. Направление передачи типа «в» отображается знаком плюс. Интерпретация содержания первой строки матрицы (12) такая: между третьим и первым портами реализуется связь, которая состоит в передаче ресурса (например, какой-то части пропускной способности коммутатора) из третьего порта в первый, что отражено знаками единичных элементов в матрице. Вторая строка соответственно отображает передачу части пропускной способности коммутатора из первого порта во второй. Третья строка отвечает передаче ресурса из второго порта в третий. Между тремя портами можно попарно установить три связи, что в конструкции матрицы отображается тремя строками. Отметим, что для отображения взаимосвязей между четырьмя и более портами какого-нибудь коммутатора матрица перестает быть квадратной, поскольку количество пар, например, для четырех портов, равняется шести, а для пяти портов -десяти. Отметим также неоднозначность построения матрицы. Так, роль столбцов и строк может

взаимно меняться. Порядок записи строк или столбцов не имеет значения. Транспонированная запись матрицы также возможна.

Построим произведение вектора (11) и матрицы (12) в виде

( 1 0 - Л

Ыт С = (п1, п2, п3 )•

-1 1

0 -1

0

1

= (п1

п2, п2 - п3, п3

п

1).

Произведение (13) есть транспонированным вектором N.

Далее назначим диагональную коэффициентов:

(Р11 0 0 Л

р = 0 Р22 0

V 0 0 р33 у

положительно определенную матрицу весовых

(Ри 0 0 ^ (пх - п2'

NTCPCTN = (пх -п2, п2 -п3, п3 -пх )• 0 Р22 0 п2 - п3

V 0 0 Рзз у Vп3 - п1 у

Рассмотрим следующую квадратичную форму, которая построена с помощью матрицы

0 Рзз У Iпз - п1 = Рп(П1 - П2)2 + Р22(П2 - П3)2 + Р33(П3 - П1)2'

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

Предложенная функция (15) пригодна для аналитического конструирования регуляторов [5], поскольку ее вид является удобным для поиска функции Беллмана (такой поиск необходимо осуществить, если мы хотим свести задачу динамического программирования к задаче аналитического конструирования регуляторов). Предложенная функция применима также для построения оптимизирующего функционала.

6. Формирование уравнения настройки

Формирование уравнения настройки фактически сводится к доказательству сохранения суммы управляемых переменных.

Действительно, выше было показано, что задача динамической настройки коммутатора сводится к задаче выравнивания коэффициентов загрузки его портов. Для ее практического решения с помощью метода динамического программирования нужно конкретизировать уравнение настройки, задать оптимизирующий функционал и записать соответствующее ему уравнение Беллмана. При этом нужно также задать вид, в котором мы будем искать функцию Беллмана. Это позволит свести задачу динамического программирования к задаче аналитического конструирования регуляторов, решение которой сводится, как известно, к решению уравнения Рикатти [7]. Все это необходимо сделать «одновременно», поскольку все указанные фрагменты,

которые составляют содержание задачи аналитического конструирования регуляторов, не существуют в отдельности и должны точно отвечать друг другу.

Будем рассматривать задачу выравнивания значений нескольких переменных при условии сохранения их суммы. Пусть эти переменные образуют вектор N .

Обращения компонентов подчиним уравнению настройки, вид которого конкретизируем таким способом:

N = Си .

В выражении (16) и - вектор управляющих влияний, который находится как линейная функция компонентов вектора N , а С - матрица, содержание которой указанно выше.

Приведенное уравнение настройки при любом произвольном векторном управлении, например пропорциональном вектору N , обеспечивает сохранение суммы компонент вектора N . Этот момент является важным для дальнейшего построения. Его можно объяснить с помощью теоремы о постоянстве [8], основанной на методе сравнения. Для такой системы рассмотрим уравнение для вспомогательной функции. Из преобразования вспомогательного уравнения в тождество на решениях исследуемой системы определим управление, и покажем дальше, что структура исследуемой системы обеспечивает решение задачи выравнивания управляемых координат.

Рассмотрим систему настройки

(-1 1 Л

1

1

и.

В записи (17) уравнение настройки приведено в развернутом виде. Вектор управления будем искать в виде линейной функции управляемых переменных, то есть в виде

и =

12

Л (п, Л

к

22 У

В силу данного определения управления (18) уравнение настройки в замкнутой форме принимает следующий вид:

(пЛ (-1 1 Л (кц кп Л

1

1

к

22 у

( п- Л

В скалярной записи система (19) имеет такой вид:

п\ = -(к\\п\ + к12 П2 ) + (к21П1 + к22 П2^ '

П2 = (к11П1 + к12П2) - (к21П1 + к22П2) . (20) Для определения управления системы (20) назначим вспомогательную функцию в виде квадратичной формы, которая подобна приведенной выше в векторно-матричном виде:

V = д

В (21) ^ - положительный скалярный коэффициент.

Назначим постоянное вспомогательное уравнение, которому подчиняется вспомогательная функция:

V + е¥ = 0 .

В (22) с - показатель затухания вспомогательной функции.

Рассматривая производную по времени от вспомогательной функции с учетом вида уравнения настройки, имеем

V = 2ц

Подставим в последнее уравнение (23) определения производных от управляемых переменных из

уравнения для скалярной записи системы настройки (20), которая замкнута линейным управлением, и потом выражение для производной подставим в вспомогательное уравнение для вспомогательной функции. В результате получим

4ц

Упрощая уравнение (24) , получаем

4

Из последнего уравнения (25), выравнивая коэффициенты при управляемых переменных, получаем следующую систему уравнений для определения коэффициентов усиления искомого линейного регулятора:

к

21

кп = —; 11 4

к

22

к = с к12 = 4.

Имеем два уравнения (26) для определения четырех коэффициентов усиления. Назначим два из них произвольно, например, таким образом:

кц = к 22 = 1.

Тогда из системы уравнений (26) для определения коэффициентов усиления с учетом (27) получим также одинаковые значения для двух коэффициентов усиления, которые остались:

с с

к 2 \ — 1 , к\ 2 — 1 .

21 4 12 4

Подставим коэффициенты (27) и (28) в уравнение настройки (19), которые записаны в замкнутой форме. Получим

V п 2

1

1 - с

4

Л

V п2 У

Последнее уравнение (29) эквивалентно следующим, получаемым перемножением матриц:

V п 2

V 1 - 1у

V п2 У

Из записи (30) видно, что производные от управляемых переменных равны по величине и противоположны по знаку, т.е. их сумма сохраняется. Таким образом, сформулированное выше утверждение есть доказанным. Доказательство для системы настройки более высокого порядка будет аналогичным.

7. Формирование оптимизирующего функционала и уравнения Рикатти

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

Имеем уравнение настройки для некоторого вектора управляемых переменных:

N = Си,

где N -1 - мерный вектор управляемых выравниваемых переменных; C - IXm - прямоугольная, в общем виде, неквадратная матрица; и -Ш - мерный вектор управлений.

Функционал зададим в виде ¥

о

где Р -шXш - мерная квадратная симметричная неотрицательно определенная матрица; а -положительная константа - множитель при функции Беллмана в функционале - показатель затухания функции Беллмана; Я - Ш X Ш - мерная симметричная положительно определенная матрица весовых коэффициентов при управлениях; Q - Ш X Ш - мерная положительно

определенная симметричная матрица квадратичной формы - функции Беллмана; T - символ операции транспонирования матрицы.

Построение оптимизирующего функционала подобно тому, как строится функционал в задаче аналитического конструирования регуляторов [5]. Рассмотрим первый член подинтегрального выражения в функционале. Он, согласно (15), представляет собой взвешенную сумму квадратов разностей (через коэффициенты матрицы Р) выравниваемых переменных. Чем эта сумма больше, тем большее значение оптимизирующего функционала. Поэтому минимизация функционала приводит к выравниванию переменных. Рассмотрим второй член. Он представляет функцию Беллмана, которая введена в функционал в виде составной части с заданным показателем. Конечно [5], на оптимальных траекториях функция минимального значения функционала - функция Беллмана - убывает со скоростью подинтегрального выражения оптимизирующего функционала. Использованный в данной работе функционал является подобным тому, который предложен в [5]. В соответствии с построением его подинтегрального выражения функция Беллмана на оптимальных траекториях в этом случае убывает со скоростью, не меньшей показателя убывания а. Поэтому путем выбора достаточно большого показателя убывания представляется возможным обеспечить в условиях замкнутой системы быстродействие, не меньшее величины, которая определяется показателем убывания. Третий член функционала полностью совпадает с соответствующим членом при обычной постановке задачи аналитического

конструирования регуляторов [5]. Его введение разрешает ограничить управление и одновременно способствует формальному замыканию процедуры определения оптимального управления.

Функцию Беллмана будем искать в виде квадратичной формы:

V = NTCQCTN.

Для системы настройки

запишем уравнение Беллмана:

0 = min

« DN DNT

Подставив в уравнение Беллмана (33) уравнение настройки (30), получим

0 = min

u

Дифференцированием по вектору управления выражения в фигурных скобках в (34) и последующим приравниванием результата к нулю, найдем вектор управления

u = -R~lCTCQCT N , uT = -NTCQCTCR_1 .

Полученное управление (35) определено через неизвестную матрицу Q квадратичной формы -функции Беллмана. Для ее определения подставим управление (35) в уравнение Беллмана (34):

NTCPCTN + aNTCQCTN + NTCQCTCR_1 RR~lCT CQCT N -

- NTCQCTCR-RR~lCTCQCTN - NTCQCTCR-RR~lCTCQCTN = 0.

В уравнении (36) последний член в первой строке взаимно уничтожается с одним из членов во второй строке. Каждое прибавление содержит одинаковые левые и правые множители. Вынесем их за скобки и получим

NTC

Последнее равенство (37) должно выполняться для любых значениях вынесенных множителей, поэтому выражение в круглых скобках равняется нулю, то есть

P + QaE + aEQ -QCTCR~lCTCQ = 0 .

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

Подставляя найденное уравнение (38) в уравнение настройки (30), получаем замкнутую систему управления - систему настройки:

N = -CR~lCTCQCTN.

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

8. Выводы

Анализ полученных результатов позволяет сделать следующие выводы:

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

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

2. Синтезировано дифференциальное уравнение настройки, которое на формальном уровне отображает процесс авторегулирования динамическим перераспределением полос пропускания портов коммутатора.

3. Предложена общая схема решения дифференциального уравнения настройки. Численное интегрирование уравнения настройки на каждом шаге выполнено в соответствии с методом Эйлера.

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

5. В процессе аналитического конструирования регуляторов полос портов коммутатора построена соответствующая функция Беллмана. Это дало возможность конкретизировать уравнение настройки, задать оптимизирующий функционал и записать соответствующее ему уравнение Беллмана.

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

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

1. Конахович Г.Ф., Вербицкий И.В. Метод динамического перераспределения потоков между портами устройства пакетной коммутации, позволяющий увеличить загрузку сетевого оборудования // Математические машины и системы. - 2004. - № 4. - С.129 - 132.

2. Стратонович Р.Л. Принципы адаптивного приема. - М.: Советское радио, 1973. - 141 с.

3. Репин В.Г., Тартаковский Г.П. Статистический синтез при априорной неопределенности и адаптации информационных систем. - М.: Советское радио, 1977. - 429 с.

4. Эльсгольц Л.Э. Дифференциальные уравнения. - М.: ГИТТЛ, 1957. - 271 с.

5. Антонов В.К. Метод построения качественных регуляторов // Кибернетика и вычислительная техника. -2001. - Вып. 126. - С.40-48.

6. Антонов В.К. Построение регуляторов с заданным качеством движения с помощью ограничения изменения функции Ляпунова-Белмана // Вестник НАУ. - 2001. - №4(11). - С.129 - 132.

7. Валеев К.Г., Финин Г.С. Построение функций Ляпунова. - К.: Научная мысль, 1981. - 412 с.

8. Антонов В.К. Теорема об устойчивости // Теория и методы исследования авиационных автоматических систем и тренажеров. - К.: Изд-во КИИГА, 1993. - С. 14-19.