Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

..pdf
Скачиваний:
5
Добавлен:
12.11.2023
Размер:
2.54 Mб
Скачать

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

значения Csfi Lo , CsfiUp строго больше нуля, так как было указано (см. п. 2.5.2), что в любом случае Ci, j ε .

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

полагается, что значения CαβiLo , CαβUpi при αβ sxyf уже вычислены.

Таким образом, уточняя соответствующий вывод в заключении п. 2.5.20, можно считать, что каждая задача τi определяется следующи-

ми параметрами: признак периодической или спорадической задачи, ог-

раничение ЖРВ, O , T , π

, CαβLo , CαβUp при αβ sxyf .

i i i

i

i

3.4.3. Оценки параметров выполнения запросов

При выполнении запроса РВ в условиях ПФП имеются пять значимых отметок времени ( ri, j , si, j , xi, j , yi, j , fi, j ). Тогда получается, что суще-

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

Определение 38. Параметры

выполнения

запроса обозначаются

rsi, j , rxi, j , ryi, j , rfi, j , sxi, j , syi, j , sfi, j , xyi, j ,

xfi, j

, yfi, j

и определяются

следующим образом:

 

 

 

 

 

def

 

def

 

 

 

rsi, j = si, j

ri, j ,

rxi, j = xi, j ri, j ,

 

def

 

def

 

 

 

ryi, j = yi, j

ri, j ,

rfi, j = fi, j

ri, j ,

 

def

 

def

 

 

 

sxi, j = xi, j

si, j ,

syi, j = yi, j

si, j ,

(34)

def

 

def

 

 

 

sfi, j = fi, j

si, j ,

xyi, j = yi, j

xi, j ,

 

def

 

def

 

 

 

xfi, j = fi, j

xi, j ,

yfi, j = fi, j

yi, j .

 

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

Определение 39. Множество обозначений rsxyf – это множество

{rs, rx, ry, rf , sx, sy, sf , xy, xf , yf } .

Множество rsxyf – это множество всех возможных пар различных символов из совокупности {r, s, x, y, f } .

131

С помощью rsxyf становятся возможными более краткие обозначения, например, множество параметров выполнения запроса может быть обозначено {αβi, j | αβ rsxyf} .

В общем случае точные значения {αβi, j | αβ rsxyf} заранее неизвестны. Очевидно, что до момента ri, j эти значения в общем случае не известны. Поэтому до момента ri, j их можно только оценивать свер-

ху и снизу с той или иной точностью.

Неточность этих оценок определяется тем, что в общем случае заранее не известны точные длительности компонентов запросов задачи Pi

изадач с более высокими приоритетами, чем у τ i (то есть задач из множества Pπ (1, π(i) −1) ). Кроме того, среди задач из множества Pπ (1, π(i) −1) мо-

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

В общем случае для каждого значения j можно определить свои от-

дельные значения нижней и верхней оценок значений {αβi, j |

αβ rsxyf},

то есть в общем случае эти нижние и верхние оценки при j

можно рас-

сматривать в качестве функций, зависящих от j .

Определение 40. Функции нижних и верхних оценок параметров выполнения запросов задачи τi обозначаются соответственно αβiLo ( j) ,

αβUpi

( j)

при αβ

rsxyf

и удовлетворяют следующему условию:

 

 

 

αβiLo ( j) ≤ αβi, j

αβUpi ( j) при αβ

rsxyf и j

1.

(35)

 

В

частном,

но

распространенном

случае

αβiLo ( j) = const ,

αβUpi

( j) = const при αβ

rsxyf и j≥ 1. Поэтому предлагается сле-

дующее определение.

 

 

 

 

 

Определение 41. Нижние и верхние оценки параметров выполне-

ния запросов задачи τi

обозначаются соответственно

αβiLo , αβUpi

при

αβ rsxyf и удовлетворяют следующему условию:

αβiLo ≤ αβi, j≤ αβUpi при αβ rsxyf и j ≥ 1.

(36)

Следует отметить, что чем ближе становится момент ri, j

, тем больше

дополнительной информации о будущем процессе планирования, влияю-

132

щем на значения {αβi, j | αβ rsxyf} , может появиться. Поэтому нижняя и верхняя оценки каждого из значений {αβi, j | αβ rsxyf} могут уточняться по мере приближения к моменту ri, j . В частности, очевидно, что такое

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

3.4.4. Вычисление оценок параметров выполнения запросов

Поскольку в дальнейшем будут рассматриваться оценки значений {αβi, j | αβ rsxyf} , необходимо указать способ их вычисления.

Определение 42. Нижняя и верхняя оценки времени от момента появления запроса до момента окончания его выполнения в случае, когда его длительность выполнения равна α и он выполняется вместо запроса задачи τi , будут обозначаться соответственно rtiLo (α), rtiUp (α) .

При этом, естественно, что значения rtiLo (0), rtiUp (0) определяют

соответственно нижнюю и верхнюю оценки времени от момента появления запроса до начала его выполнения вне зависимости от длительности выполнения запроса.

Оценки rtiUp (α) могут вычисляться согласно правилам, изложен-

ным в работе [93].

По аналогии нетрудно получить правила вычисления оценок rtiUp (α) . При этом необходимо учесть то, что не надо выполнять анализ

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

В дальнейшем будет предполагаться, что оценки rtiLo (α), rtiUp (α)

вычисляются вышеуказанным образом.

Сучетомвсегоэтогостановитсяочевиднымследующееутверждение. Утверждение 6. Значения αβiLo , αβUpi при αβ rsxyf могут вы-

числяться согласно следующим соотношениям:

133

rsLo = rt Lo

(0),

 

rsUp = rtUp (0),

 

 

 

 

 

i

i

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

rxLo = rt Lo

(CsxLo ),

 

rxUp = rtUp (CsxUp ),

 

 

 

i

i

i

 

i

 

 

i

 

 

 

i

 

 

 

 

 

ryLo = rt Lo

(CsyLo ),

 

ryUp

= rtUp (CsyUp ),

 

 

 

i

i

i

 

i

 

 

i

 

 

 

i

 

 

 

 

 

rfi Lo = rtiLo (Csfi Lo ),

 

rfiUp = rtiUp (CsfiUp ),

 

 

 

sxiLo = rtiLo (CsxiLo ),

 

sxiUp

= rtiUp (CsxiUp ε) + ε,

 

(37)

syiLo = rtiLo (CsyiLo ),

 

syiUp

= rtiUp (CsyiUp

ε) + ε,

 

 

 

 

sfi Lo = rtiLo (Csfi Lo ),

 

sfiUp

= rtiUp (CsfiUp ε) + ε,

 

 

xyiLo = rtiLo (CxyiLo ),

 

xyiUp

 

= rtiUp (CxyiUp ε) + ε ,

 

 

xfi Lo = rtiLo (Cxfi Lo ),

 

xfiUp

 

= rtiUp (CxfiUp ε) + ε,

 

 

yfi Lo = rtiLo (Cyfi Lo ),

 

yfiUp = rtiUp (CyfiUp ε) + ε.

 

 

В дальнейшем всегда будет предполагаться,

что значения αβiLo ,

αβUpi при αβ

rsxyf

вычисляются согласно и соответственно (37).

3.4.5. Соотношенияоценокпараметроввыполнениязапросов

Определение 43. Функции αβiLo ( j) ,

αβUpi ( j)

при αβ

rsxyf

будут

называться сбалансированными относительно

rxi, j

, ryi, j ,

xyi, j ,

если и

только если выполняются следующие соотношения:

 

 

 

 

 

xyLo

ryLo

 

rxLo

,

 

 

 

 

 

 

 

(38)

 

 

i

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

xyLo

ryUp

 

rxUp

,

 

 

 

 

 

 

 

(39)

 

 

i

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

xyLo

ryLo

 

rxUp

,

 

 

 

 

 

 

 

(40)

 

 

i

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

xyUp

ryUp

 

rxUp

,

 

 

 

 

 

 

 

(41)

 

 

i

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

xyUp

ryLo

 

rxLo

,

 

 

 

 

 

 

 

(42)

 

 

i

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

xyUp

ryUp

 

rxLo .

 

 

 

 

 

 

 

(43)

 

 

i

 

i

 

 

i

 

 

 

 

 

 

 

 

 

Утверждение 7.

Если αβiLo , αβUpi

при

 

αβ

 

rsxyf

не являются

сбалансированными относительно rx

 

,

ry

 

,

xy

 

,

то тогда αβLo , αβUp

 

 

 

 

i, j

 

i, j

 

 

i, j

 

 

i

i

при αβ rsxyf

всегда можно уточнить так, что они станут сбаланси-

рованными относительно rxi, j ,

ryi, j , xyi, j .

 

 

 

 

 

 

 

 

 

134

Доказательство.

Очевидно, что (α+ β) Lo(α)+ Lo(β) при лю-

бых параметрах α, β ,

задаваемых действительными числами. Здесь и

далее Lo(x), Up(x) обозначают соответственно нижнюю и верхнюю

оценку x . Тогда, если оказывается, что

Lo+ β) < Lo(α) + Lo(β) , то

оценку нижнюю оценку значения (α+ β)

всегда можно уточнить, ус-

тановив

Lo+ β) = Lo(α) + Lo(β) . Согласно (34) получается, что

ryi, j = rxi, j

+ xyi, j . Пусть α = rxi, j , β = xyi, j . С учетом того, что значение

ryiLo = Lo(ryi, j ) = Lo(rxi, j + xyi, j ) = Lo+ β)

всегда можно уточнить вы-

шеуказанным образом, это значит, что всегда можно обеспечить условие ryiLo Lo(rxi, j )+ Lo(xyi, j )= rxiLo+ xyiLo , то есть обеспечить усло-

вие (38).

Очевидно, что (αβ) Up(α)Lo(β) при любых параметрах α, β ,

задаваемых действительными числами. Тогда, если оказывается, что Upβ) > Up(α) Lo(β) , то верхнюю оценку значения (αβ) всегда

можно уточнить, установив Upβ) = Up(α) Lo(β) . Согласно (34) по-

лучается, что

rxi, j = ryi, j xyi, j . Пусть α = ryi, j , β = xyi, j . С учетом того,

что значение

rxiUp = Up(rxi, j ) = Up(ryi, j xyi, j ) = Upβ) всегда можно

уточнить вышеуказанным образом, это значит, что всегда можно обеспечить условие rxiUp Up(ryi, j )Lo(xyi, j )= ryiUpxyiLo , то есть обеспе-

чить условие (39). Аналогичные рассуждения, основанные на соотношении xyi, j = ryi, j rxi, j , можно привести для того, чтобы показать, что

всегда можно обеспечить условие (43).

Очевидно, что (αβ) Lo(α)Up(β) при любых параметрах α, β ,

задаваемых действительными числами. Тогда, если оказывается, что Loβ) < Lo(α) Up(β) , то нижнюю оценку значения (αβ) всегда

можно уточнить, установив Loβ) = Lo(α) Up(β) . Согласно (34) по-

лучается, что

xyi, j = ryi, j rxi, j . Пусть α = ryi, j , β = rxi, j . С учетом того,

что значение

xyiLo = Lo(xyi, j ) = Lo(ryi, j rxi, j ) = Loβ) всегда можно

уточнить вышеуказанным образом, это значит, что всегда можно обеспечить условие xyiLo Lo(ryi, j )Up(rxi, j )= ryiLorxiUp , то есть обеспечить

условие (40). Аналогичные рассуждения, основанные на соотношении rxi, j = ryi, j xyi, j , можно привести для того, чтобы показать, что всегда

можно обеспечить условие (42).

135

Очевидно, что (α+ β) ≤ Up(α)+ Up(β) при любых параметрах α, β , задаваемых действительными числами. Тогда, если оказывается, что Up(α+ β) > Up(α) + Up(β) , то верхнюю оценку значения (α+ β) всегда можно уточнить, установив Up(α+ β) = Up(α) + Up(β) . Согласно (34) по-

лучается, что

ryi, j = rxi, j + xyi, j . Пусть α = rxi, j , β = xyi, j .

С учетом того,

что значение

ryiUp = Up(ryi, j ) = Up(rxi, j + xyi, j ) = Up(α+ β)

всегда можно

уточнить вышеуказанным образом, это значит, что всегда можно обеспечить условие ryiUp Up(rxi, j )+ Up(xyi, j )= rxiUp+ xyiUp , то есть обеспе-

чить условие (41).

 

 

Очевидно, что, последовательно применяя указанные возможные

уточнения оценок, всегда можно получить оценки αβiLo , αβUpi

при

αβ

rsxyf , которые являются сбалансированными относительно rxi, j ,

ryi, j ,

xyi, j . Таким образом, утверждение 7 доказано.

 

αβ

Очевидно, что в общем случае, если функции αβiLo ( j) , αβUpi ( j)

при

rsxyf не являются сбалансированным, то их нетрудно сбалансиро-

вать относительно rxi, j , ryi, j , xyi, j , используя соотношения, аналогичные указанным в формулировке утверждения 7.

3.5. ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММНЫЕ СРЕДСТВА ПОДДЕРЖКИ ПРОЕКТНЫХ РЕШЕНИЙ ПРИМЕНИТЕЛЬНО К ПЛАНИРОВАНИЮ ЗАДАЧ РЕАЛЬНОГО ВРЕМЕНИ

Ответом на сложности применения новых методов планирования в проектах систем управления (см. п. 2.7.7) стали следующие два направления практических внедрений моделей и методов планирования:

1)разработка исследовательских ОС реального времени и расширений реального времени для известных ОС (внедрение новых алгоритмов онлайнового планирования);

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

Первое направление стало

ответом на медленные

изменения

в коммерческих ОС. Именно в

исследовательских ОС

внедряются

136

и проверяются новые методы онлайнового планирования. В качестве примеров исследовательских ОС можно привести: Erika Enterprise [41], MaRTE OS[63], S.Ha.R.K.[75]. Примером использования исследовательской ОС реального времени является работа [62], в которой описывается применение Erika Enterprise для системы управления беспилотным самолетом.

Другое направление для внедрения современных алгоритмов онлайнового планирования – это использование ядра Linux в качестве основы для создания системы реального времени. В качестве примера можно привести работу [42], где приводится описание дополнения к планировщику Linux, основанное на эффективном алгоритме планирования с динамическими приоритетами EDF. При этом обеспечивается планирование как периодических, так и апериодических задач. Также надо отметить развитие следующих проектов, связанных с расширением ядра Linux применительно к реальному времени:

Xenomai [103], RTAI [73], Open RTLinux [101]. Важно, что эти проекты являются свободными, в частности, бесплатными. Эти расширения используются в системах управления и обеспечивают поддержку задач реального времени на системном уровне [40, 31]. В качестве примера можно привести программную архитектуру для приложений реального времени на базе Xenomai, используемую для управления служебным роботом, собирающим информацию из распределенной сенсорной сети и оперативно реагирующим на возникающие события [31]. Различные расширения Linux выглядят очень многообещающими с учетом того, что на рынке появляется большое количество дешевых, компактных и довольно мощных вычислительных платформ, ориентированных на Linux. В исследовании [68] обосновывается вывод о том, что применение Linux (вместе с расширениями реального времени) для промышленных устройств автоматизации имеет хорошую перспективу, даже с учетом широкого распространения коммерческих ОС реального времени.

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

137

процессов выполнения задач и в целом решать различные проблемы планирования на этапах проектирования системы. В качестве примеров таких программных средств можно указать: TrueTime [96], Cheddar [89],

SymTA/S [88], STORM [86], Romeo [72], chronVAL [33], chronSIM [32],

RTSIM [74], RT-Druid [41].

В плане возможности проведения проектных и исследовательских работ по темам, находящимся на стыке планирования, автоматического управления и сетевых технологий, наиболее интересным инструментальным средством представляется TrueTime. Это средство позволяет одновременно моделировать: выполнение задач реального времени, поведение объектов при их автоматическом управлении, передачу данных в случае различных сетевых технологий. В качестве примера использования TrueTime можно привести работу [70]. Также на основе TrueTime можно проектировать и анализировать системы реального времени, использующие такие сложные методы планирования, как, например, планирование с обратными связями [50].

Еще можно особо выделить проект Cheddar, который, в частности, обеспечивает реализацию сложных моделей планирования [80].

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Каковы особенности интегрированных сред разработки и работы в этих средах?

2.Каковы особенности отладки программы в интегрированной среде разработки?

3.Что такое «значимые моменты времени запроса реального времени»?

4.Что такое «параметры выполнения запроса»?

5.Какие бывают оценки параметров выполнения запроса?

6.Как можно вычислить оценкипараметров выполнения запросов?

7.Какие существуют подходы, призванные упростить практическое внедрение моделей и методов планирования задач реального времени?

138

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

139

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Гэри М., Джонсон Д. Вычислительные машины и труднорешае-

мые задачи. – М.: Мир, 1982. – 416 с.

2.Дейтел Х.М, Дейтел П.Д. Как программировать на С: пер. с англ.

М.: Бином-Пресс, 2009. – 910 с.

3.Керниган Б., Ритчи Д. Язык программирования С: пер. с англ.

М.: Вильямс, 2009. – 304 с.

4.Ключев А.О., Кустарев П.В., Ковязина Д.Р., Петров Е.В. Программное обеспечение встроенных вычислительные систем. – СПб.: Изд-во

СПбГУ ИТМО, 2009. – 212 с. – URL: http://window.edu.ru/resource/ 411/63411/files/itmo368.pdf (дата обращения: 12.03.2012).

5.Подбельский В.В., Фомин С.С. Курс программирования на язы-

ке Си. – М.: ДМК Пресс, 2003. – 384 с.

6.Разработка приложений для встраиваемых устройств: Часть 2. Применение Code::Blocks для разработки AVR-приложений [Электронный ресурс] // IBM developerWorks: Ресурс IBM для разработчиков и IT

профессионалов. – URL: http://www.ibm.com/developerworks/ru/library/l- CodeBlocks_and_avr-gcc/index.html (дата обращения: 12.03.2012).

7.Разработка приложений для встраиваемых устройств: Часть 4. Применение Code::Blocks для разработки SDCC-приложений [Электронный ресурс] // IBM developerWorks: Ресурс IBM для разработчиков

иIT профессионалов. – URL: http://www.ibm.com/developerworks/ru/li- brary/l-codeblocks_and_sdcc/index.html (дата обращения: 12.03.2012).

8.Сушков Б.Г. ЭВМ управляет экспериментом (вычислительные системы реального времени). – М.: Знание, 1987. – 32 с.

9.Танаев В.С., Гордон В.С., Шафранский Я.М. Теория расписаний. Одностадийные системы. – М.: Наука, 1984. – 381 с.

10.Теория расписаний и вычислительные машины / под ред. Э.Г. Коффмана. – М.: Наука, 1984. – 334 с.

11.Шилдт Г. Полный справочник по C: пер. с англ. – М.: Вильямс,

2009. – 704 с.

12. Abeni L., Buttazzo G. Integrating Multimedia Applications in Hard Real-Time Systems // Proceedings of 19th IEEE Real-Time Systems Symposium. – Madrid, Spain, 1998. – P. 4–13.

140

Соседние файлы в папке книги