УДК 004.94
ОТОБРАЖЕНИЕ УСЛОВИЙ ДИНАМИКИ ФУНКЦИОНИРОВАНИЯ ОБЪЕКТА УПРАВЛЕНИЯ НА МОДЕЛЬ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ
В.К. Погребной, А.В. Погребной, Д.В. Погребной*
Институт «Кибернетический центр» ТПУ *ООО «Контек-Софт», г. Томск E-mail: [email protected]
Предложена методика отображения условий динамики функционирования объекта управления на модель системы реального времени, представленную модульной структурой на языке структурного моделирования в форме графа потока данных. Это существенно повысило конструктивность модели и расширило возможности по установлению зависимостей между параметрами динамики модели и характеристиками проектируемой системыI. Разработаны формальные методыi оценки влияния параметров динамики модели на суммарные объемыi потребления вычислительных ресурсов системыi - процессорное время, память, пропускная способность сети.
Ключевые слова:
Модель системыi реального времени, граф потока данных, модульная структура, прикладная функция, программная нагрузка, процесс, условия динамики, пропускная способность сети. Key words:
Realtime system model, dataflow graph, modular architecture, applied function, software load, process, dynamic conditions, network bandwidth.
Одним из наиболее важных свойств моделей, используемых при проектировании систем реального времени (СРВ), является их конструктивность [1]. Например широко известные модели в виде сетей Петри не обладают таким свойством, а методы моделирования на основе сетей массового обслуживания и марковских цепей позволяют оценить только частные характеристики систем - производительность и надежность. В разрабатываемой технологии модульного проектирования СРВ на основе активных моделей [2] удается совместить преимущества имитационных моделей с конструктивностью аналитических. Технология включает разработку и визуальное представление на языке структурного моделирования модульной структуры модели, аналитические методы разработки и оптимизации модели, моделирование работы системы на функциональном уровне и в динамике.
В статье рассматривается одна из основных задач первого этапа технологии - отображение условий динамики функционирования объекта управления на модульную структуру модели СРВ и анализ влияния значений параметров динамики на объемы вычислительных ресурсов, необходимых для ее работы. Задача решается в условиях, когда модульная структура модели построена и в соответствии с визуальными возможностями языка структурного моделирования представлена в форме графа потока данных (ГПД). Решение данной задачи повышает конструктивность модели, и как показано в статье, позволяет установить зависимости между параметрами динамики и объемами требуемых вычислительных ресурсов. Эти результаты создают условия для решения задачи второго этапа технологии по доопределению и оптимизации параметров модели, который завершается построением ее исходного варианта, содержащего модель архитектуры и топологии сети вычислительной си-
стемы и согласованную с ней модель программной нагрузки СРВ. Последующие этапы имитационного моделирования СРВ на функциональном уровне и в динамике предполагают преобразование исходного варианта модели в соответствующие активные формы [2] и осуществляются путем выполнения полученных активных моделей на виртуальной машине моделирования.
1. Определение модульной структуры модели СРВ
Модульная структура соответствует начальной стадии модельного представления СРВ и включает две взаимосвязанные части - модульную структуру совокупности прикладных функций (программную нагрузку СРВ), реализующих алгоритмы управления объектом и модульную структуру алгоритма функционирования объекта управления.
Модульная структура объекта управленияМС ОУ объединяет имитаторы агрегатов (модули группы А) [3] способные формировать показания датчиков с этих агрегатов в зависимости от текущего состояния агрегата и входных управляющих воздействий, поступающих с программной нагрузки СРВ. При разработке МС ОУ в качестве имитаторов агрегатов могут использоваться их имитационные модели, разработанные непосредственно в ходе проектирования агрегатов. Модули - имитаторы агрегатов оформляются в библиотеку, которая охватывает оборудование конкретной предметной области и при проектировании новых СРВ в данной области пополняется вновь разработанными модулями.
Построение модульной структуры программной нагрузки (МС ПН) осуществляется путем декомпозиции прикладных функций (ПФ) на фрагменты (модули группы В) [3], которые выбираются из библиотеки функциональных модулей или про-
граммируются и оформляются для занесения в библиотеку. Декомпозицию выполняет разработчик проекта, руководствуясь рядом критериев, которые определяются общими представлениями об алгоритмах программной нагрузки и разрабатываемой СРВ в целом. Среди таких критериев выделяются следующие:
• фрагменты ПФ (модули) должны быть функционально законченными с явно выделенными входами и выходами;
• уровень декомпозиции ПФ на модули должен обеспечивать максимально возможное распараллеливание модульной структуры, сопоставимое с числом процессоров (станций) вычислительной системы;
• создание благоприятных условий для возможности использования элементов структурного управления при выполнении модели на виртуальной машине моделирования и в последующем при организации функционирования программного обеспечения СРВ;
• введение составных модулей, объединяющих несколько модулей в один и используемых как средство для улучшения визуального восприятия модульной структуры модели и как возможность распределить модули и данные, входящие в составной модуль, на одну станцию. Совместная работа МС ОУ и МС ПН важна на
этапах моделирования. Это позволяет добиться высокой адекватности модельного представления СРВ и имитации ее функционирования. Что касается рассматриваемых задач отображения условий динамики и анализа их влияния на объемы потребления вычислительных ресурсов, то здесь все решения принимаются относительно МС ПН. Поэтому при решении данных задач мы будем иметь дело с МС ПН, рассматривая ее как визуальное представление в форме ГПД совокупности совместно работающих ПФ.
Каждая ПФ реализует определенную задачу, которую должна выполнять СРВ в соответствии с техническим заданием. На вход ПФ поступает информация с датчиков и других источников, а на выходе формируются управляющие воздействия для исполнительных механизмов агрегатов объекта управления и других потребителей, в том числе и ПФ. В составе модели СРВ алгоритм каждой ПФ, как правило, представляется разбитым на совокупность связанных между собой фрагментов (модулей), образующих модульную структуру. Пример модульной структуры модели программной нагрузки в форме ГПД, содержащей множество модулей (переходов) /=(/,}, т=1,2,...,17 и множество данных (позиций) Б=(й}, /=1,2,...,28, представлен на рисунке. Модель объединяет пять ПФ с множествами модулей (/2, /5, /9), (/1,/з,/10,/14), (/6, /11, /15), /7,/1з,/1б), (/4, /8, /12, /17). При этом модули /5 и /9 являются составными (переходы изображены двойными линиями), то есть каждый из них объединяет нес-
колько модулей. Пунктирными линиями на рисунке выделены совокупности модулей и данных, распределенных на станции, номера которых указаны в соответствующих совокупностях. Для данного примера минимальное число станций, необходимое для подключения датчиков и исполнительных механизмов, принято равным шести. Поэтому анализ способности данной совокупности станций выполнить программную нагрузку может привести лишь к необходимости увеличения их числа.
.-НО'
О/ V'/
Рисунок. Пример модульной структуры модели программной нагрузки в форме ГПД
2. Динамика совместной работы ПФ
ГПД представим двудольным графом Я=(Н^, где Н - множество вершин, а £ - множество дуг. Множество Н включает два непересекающихся подмножества Б и Д, Б=(й?}, #=1,2,...,2, F=(/m}, т=1,2,...,М. Дуги множества £ не могут связывать вершины внутри множеств Б или Д. Для любой дуги SGS возможен вариант э=(йр/т), либо 5=(/т, й) Вершины йдвБ и /твД могут быть связаны дугой только в одном направлении. Множество Б соответствует множеству данных в ГПД, а множество Д - множеству модулей. Множество дуг £ соответствует информационным связям - входным, если дуга (йр /т), и выходным, если дуга (/т, й) Множество вершин инцидентных только входным дугам обозначим множеством входных данных X0, а множество вершин инцидентных только выходным дугам обозначим множеством выходных данных 7".
Множество входных данных X0 (информация с датчиков и от других источников) в зависимости от условий поступления разбивается на четыре подмножества: ХЦ" - циклическое поступление, ХВ0 -
6
вероятностное поступление, X/ - детерминированная последовательность моментов поступления, Ху - поступление при выполнении заданного условия. Для каждого входа й}вХц задается время цикла поступления 8Ц(йг) из множества {8Ц}. Аналогично входы й9еХВ\ й9еХд, й9еХу сопровождаются указанием величин 8В(й?),8Д(4г),8у(4г) из соответствующих множеств {8В}, {8Д}, {8У}. Величины 8В(й1),8Д(й1),8у(й1) задают максимально допустимые интервалы времени от момента поступления входных данных до момента получения соответствующих выходных данных. Если ограничения на время получения выходных данных (управляющих воздействий) не накладываются, то величины 8В(й1),8Д(й1),8у(й1) не указываются.
Выходные данные У со станций поступают на исполнительные механизмы или устройства отображения информации с временами циклов ¡лп(й1) из множества величин {¡¡ц} для Уц\ а для
Ув, Уд", Уу с указанием величин интервалов времени ¡В(й}), ¡¡д(й) ¡¡¡(й9) из соответствующих множеств значений {¡В}, {¡д}, {¡у}.
Таким образом, в каждой ПФ входам й9еХ соответствуют величины 8(й?), а выходам У - величины ¡(й) В модульной структуре одной ПФ как правило соблюдается условие 8Ц(4г)</цЦ(4г). Если циклы поступления 8Ц(йс) меньше циклов обновления ¡ц(й?), то исключается возможность представления работы ПФ одним вычислительным процессом. Например, для ПФ с модулями {/1, /3, /10, /14} 8Ц(й1)=8Ц(й2)=2 такта, а ¡ц(й23)=4 такта, то есть имеет место несогласованность условий поступления входов и обновления выходов. В этом случае разработчик проекта вынужден выполнить согласование, разбивая ПФ на два процесса, работающих с циклами 2 и 4 такта. Разбиение может быть произведено через один из модулей /3, /10, /14. При необходимости аналогичные преобразования выполняются и для других ПФ. В рассматриваемом примере ГПД согласование потребовалось выполнить в четырех ПФ через модули /10, /11, /13, /12. Сведения о полученных при этом процессах приведены в табл. 1.
Таблица 1. Состав и параметры процессов
.0 и и ф ^ о Модули с ГО го го Iй Информационные входы е ые ны дн он ха т О^ ы иен ла л
1= о X со ыд со
1 $(2). $2(3) $14 2
2 ¿14* $4(4). $6(6) $23 3
3 / / / $3*. $8* $4. $5(3). $10(3). $и(4) $8 0.3
$28 -
4 / / $6* $5(3). $6(4). $,(4) $14 4
5 /12. $17* $1(3). $1,(12). $2(2). $к(6) $26 12
6 /6 $10* $0(3) $15 3
7 ^11. ^15 $15* $14(4). $21. $15(4). $19. $14(4). $21 $24 4
8 $11* $11(3) $16 3
9 /13. //6 $16* $15(3). $16(6) $25 6
В табл. 1 звездочками помечены входные данные, которые задают цикличность запуска процессов. У некоторых данных, например й5(3) в 4-ом процессе, в скобках указаны их циклы поступления. Эти данные, в отличие от данных со звездочкой, не задают цикличность запуска процессов.
В результате согласования условий поступления входов и обновления выходов модель программной нагрузки СРВ представляется совокупностью параллельных взаимодействующих процессов. В общем случае процесс можно определить как модуль или совокупность взаимодействующих модулей ГПД, имеющих согласованную стратегию запуска, условий поступления входов и обновления выходов и выполняющих функционально законченную операцию за время не превышающее заданную величину. Из этого определения следует, что каждый модуль ГПД может быть объявлен процессом. Но при этом число взаимодействующих динамических объектов (процессов) в модели существенно возрастет. Если каждый процесс, содержащий несколько модулей, свернуть в составной модуль, то модель упрощается, но ее адекватность заметно снижается, т. к. взаимодействия в такой модели рассматриваются не на уровне модулей исходного ГПД, а на уровне составных модулей.
Поэтому в дальнейших исследованиях динамики совместной работы процессов, они рассматриваются как автономные динамические объекты, а взаимодействия между ними, связанные с передачей данных, сохраняются на уровне модулей исходного ГПД независимо от наличия составных модулей и процессов, объединяющих несколько модулей.
3. Анализ влияния условий динамики на потребление вычислительных ресурсов
К основным вычислительным ресурсам, потребляемым при выполнении ГПД, относятся:
• процессорное время, которое может быть затрачено на выполнение модулей ГПД;
• объем памяти в запоминающих устройствах станций;
• пропускная способность сети. Определение объемов вычислительных ресурсов осуществляется относительно одного цикла моделирования. Величина данного цикла принимается такой, чтобы цикл выполнения любого из процессов ГПД укладывался в цикле моделирования целое число раз. Минимальное значение цикла моделирования определяется как наименьшее общее кратное для значений циклов выполнения процессов.
Анализ требуемого процессорного времени. Цикл выполнения процесса р, р=1,2,3,...,Р, обозначим величиной Тр, а цикл моделирования - величиной Т. Тогда общий ресурс процессорного времени для вычислительной системы, содержащей С0 процессоров (станций), составит С0Т. Частота рт, с кото-
рой модуль/т выполняется в одном цикле моделирования, определяется из выражения рт=Т/Тр(т), где Тр(т) - цикл выполнения процессар, к которому принадлежит модуль/т. Время выполнения модуля /т обозначим величиной тт.
В принятых обозначениях необходимым условием проверки способности процессоров совокупности С0 своевременно выполнить программную нагрузку является следующее:
ХРтТт < С0Т.
(1)
Заметим, что в выражении (1) учитываются все модули /т, в том числе и те, которые принадлежат процессам, запускаемым по правилам В, Д, У. Для таких модулей величина рт принимается равной 1. При этом соотношение частот между циклически выполняемыми модулями и модулями, которые запускаются по правилам В, Д, У, можно регулировать путем кратного увеличения цикла моделирования.
Если условие (1) не выполняется, то взяв отно-
шение I XРтТт
/ Т и округлив его в большую сто-
рону, получим минимальное число процессоров (станций) С необходимое для выполнения программной нагрузки. В этом случае величина С*>С0, но это не означает, что число станций вычислительной системы непременно будет увеличено до С'. Сокращение объемов потребления процессорного времени может быть достигнуто, в частности, за счет изменения динамических характеристик и, соответственно, снижения частот рт, а также поиска возможностей по снижению величин тт.
В рассматриваемом примере ГПД для 4,еХд циклы поступления 8Ц(4,) заданы из множества {5Ц}=(2,3,4,6,12) и указаны в скобках при записи условий поступления для соответствующих 4,. Множество Хв° включает позиции 43 и 48 с указанием ограничения на время обработки 5В(48)=0,3; ХД"=Ху=0. После выполнения согласований циклов поступления и обновления и формирования процессов времена циклов обновления ¡(4,,) для выходов 4,е¥* образуют множество {¡цЦ}={5Ц}=(2,3,4,6,12). Для некоторых позиций в результате согласования одновременно указываются величины 8Ц(й1) и ¡(4,,), например, 8ц(415)=4, ^(4^=3 или 5ц(4)=6, дЦ(416)=3. В этом случае состояния данных в соответствующих позициях накапливаются и потребляются по определенным правилам. Частота рт и время выполнения тт модулей/т приведены в табл. 2.
Таблица 2. Параметры модулей
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Pm 6 1 6 3 1 4 4 3 1 3 3 1 2 3 3 2 1
Tm 0,5 1 1 1,5 0,5 0,5 0,5 2 1,5 2 2 5 2 1 1 2 6
Значения частот рт получены исходя из цикла моделирования, принятого равным величине 7=12, как наименьшее общее кратное циклов по-
ступления входных данных и циклов обновления выходных.
Для указанных выше значений параметров ГПД условие (1) выполняется (63,5<72) и отношение
м I
X РтТт Т = 63,5/12 = 5,3 указывает требуемое
т=1 /
число станций по данному ресурсу.
Округляя полученное значение в большую сторону до целого значения, получим, что для выполнения ГПД требуется не менее 6 станций. При этом 6 станций обладают некоторым резервом, так как округление произведено в большую сторону. Кроме того, модули, работающие по правилу В без ограничения на время получения данного 428 (модули /2, /5, /9), запускаются далеко не в каждом цикле моделирования, а при запуске по правилу В (модули /5, /9) с ограничением ¡в(418)=0,3 такта предусматривается, что эти модули должны срабатывать значительно быстрее. В данном случае модули /5, /9 являются составными (на рисунке изображены двойными линиями) и поэтому получение выхода 418 может осуществляться модулями скрытой части ГПД с суммарным временем работы не более 0,3 такта.
Анализ требуемой памяти. Сопоставление объема памяти, требуемого для хранения модулей и данных ГПД, с выделенной для этой цели памятью запоминающих устройств станций, производится при решении задачи распределения модулей и данных по станциям. При этом должно учитываться то обстоятельство, что некоторым позициям соответствует несколько состояний данных, которые нужно хранить одновременно. Число таких состояний определяется разработчиком проекта с учетом динамики работы ГПД. Кроме того, разработчик проекта может принять решение о хранении нескольких копий состояний данного 4, на разных станциях.
Таким образом, общий объем памяти необходимой для хранения всех данных ГПД должен удовлетворять условию:
< с0 р.
4=1
(2)
Здесь - число копий состояний данного 4; с, - число состояний данного 4,, которое необходимо хранить исходя из условий динамики и правил селекции состояний при передаче их между модулями; р, - объем памяти, занимаемой одним состоянием данного 4,; Р - объем памяти в запоминающем устройстве станции, отведенный для хранения данных.
Заметим, что условие (2) записано для случаев, когда число процессоров С0 совпадает с числом станций и в каждой из них величина Р принята одинаковой.
Анализ требуемой пропускной способности сети. Объем данных, передаваемых по дугам ГПД (4,,/т) и /т, 4,), вычисляется для одного цикла моделирования Т и принимается в качестве весов дуг. Ориентацию дуг (4,,/т) или (/т, 4,) в данном случае можно не
т=1
учитывать, поэтому их веса будем определять относительно неупорядоченной пары вершин Вес гт дуги, связывающей пару вершин (йч, /т), зависит от размера памяти pq, занимаемой данным dq, частоты передачи данного dq по дуге (йр ^) и числа присоединяемых состояний. Частота передачи данного по дуге (йр инцидентной модулю равна частоте выполнения этого модуля рт в цикле моделирования. Правила присоединения состояний и их селекции определяют число состояний cqm данного dq, передаваемых по дуге Ц,£,). В принятых обозначениях веса гт определяется по выражению:
г = а с р р . (3)
дт дт дт гдгт у '
Здесь а^=1, если данное dq инцидентно модулю
ат=0, в противном случае.
Таким образом, общий объем передаваемых по сети данных за один цикл моделирования для м-го варианта распределения модулей и данных по станциям составит величину гм,
г = У г . (4)
ч> / 1 дт у '
(Л,, ш )<=-$„
Множество включает дуги (йч, у которых данные dq и модули ^ в варианте распределения м оказались на разных станциях.
Если пропускную способность магистрали сети обозначить величиной ф, определяющей объем данных, передаваемых за один такт моделирования, то для успешной работы локальной сети, построенной на базе оной магистрали, должно выполняться условие:
(г„ / ф)кф< Т.
(5)
Здесь кф - коэффициент, учитывающий факторы снижения значения величины ф в реальной сети. Если условие (5) не выполняется, то это означает, что сеть на одной магистрали с данным параме-
тром ф не работоспособна и необходимо принятие решений по уменьшению гм за счет изменения величин в выражениях (3), (4) или увеличению значения параметра ф.
Число магистралей в сети с неизменным параметром ф ориентировочно можно определить исходя из отношения (гм/ф)кф/Т. Полученный результат округляется в большую сторону и принимается как минимально возможное число магистралей в сети. При этом предполагается, что будет выбрана такая структура сети, в которой значительная часть передач данных между станциями сможет осуществляться по разным магистралям параллельно.
Выводы
1. Методика отображения условий динамики функционирования объекта управления на модель системы реального времени, позволяет представить ее в виде совокупности совместно работающих динамических объектов (процессов). Такое представление повышает конструктивность модели и создает возможности для разработки формальных методов, связывающих параметры динамики, заложенные в условия функционирования объекта управления, с параметрами варианта системы, способного успешно осуществлять функции управления данным объектом.
2. Показана возможность разработки формальных методов на примере ряда задач анализа влияния условий динамики на потребление вычислительных ресурсов, реализующих прикладные функции системы. Задачи включают анализ требуемых объемов процессорного времени, памяти запоминающих устройств станций, пропускной способности сети вычислительной системы.
СПИСОК ЛИТЕРАТУРЫ
1. Альянах И.Н. Моделирование вычислительных систем. - Л.: Машиностроение, 1988. - 223 с.
2. Погребной В.К. Визуальный уровень представления алгоритмов функционирования распределенных систем реального времени на языке структурного моделирования // Известия Томского политехнического университета. - 2009. - Т. 314. -№ 5. - С. 140-146.
3. Погребной В.К. О построении активных моделей распределенных систем реального времени // Известия Томского политехнического университета. - 2008. - Т. 312. - № 5. - С. 78-84.
Поступила 05.11.2009 г.