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

УДК 004.04

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

В.Н. Изотов, Т.В. Морозова

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

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

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

Исходные данные (табл. 1 и 2) для проведения проверки подобраны с учётом специфических особенностей алгоритма решения применительно к постановке динамической задачи унификации программного обеспечения компьютерной сети. При этом формулировка задачи имеет следующий вид.

Пусть на интервале планирования 7=15 лет, состоящем из трех периодов по 5 лет (п=3), предполагается применять в компьютерных сетях:

операционные системы трех типов с параметрами Ы[, щ, из соответственно. Операционные системы рассматриваются в данном примере как основные изделия (ОИ);

программные модули двух типов, входящие в состав операционных систем, и имеющих одно функциональное назначение. Эти модули рассматриваются в примере как комплектующие изделия первого вида (КИ1);

программные модули одного типа, входящие в состав операционных систем, и имеющих другое функциональное назначение. Эти модули рассматриваются в примере как комплектующие изделия второго вида (КИ2).

Необходимо, используя данные, представленные в табл. 1 и 2, определить такую политику замен всего комплекса изделий, чтобы потребности в них удовлетворялись при минимальных затратах на интервале планирования Т.

Таблица 1

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

Под- Стоимость, Планируемая потреб-

мно- усл. ед. ность в изделиях Ь]

жество

1 ] =1 ] =2 ] =3 ] =1 ] =2 ] =3

1 10 20 40

А1 С 0 2 30 45 80

3 40 60 100

1 2 4 5 4 5 2

С 2 5 8 10 8 3 10

3 7 12 15 2 1 4

Р Ч=1 Ч=2 Ч=3 Ч=1 Ч=2 Ч=3

С 0 ^РЧ 1 10 15 20

В1 2 12 25 40

С ^РЧ 1 2 3 5 4 5 2

2 4 5 8 10 4 14

В2 С 0 1 2 17 50

С 1 1 2 4 14 9 16

Таблица 2

Коэффициенты совместимости основного и комплектующих изделий

Р=1 Р=2 Р=1

1 г т=1 т=2 т=3 т=1 т=2 т=3 1 г т=1 т=2 т=3

1 1 1 1 1 1 1 1 1 1 1

1 2 1 1 0 1 1 0 1 2 1 1 0

3 1 0 0 1 0 3 1 0

1 0 0 0 1 1 1 1 1 1 1

2 2 0 0 0 1 1 0 2 2 1 1 0

3 0 0 0 1 0 3 1 0

1 0 0 0 1 1 1 1 1 1 1

3 2 0 0 0 1 1 0 3 2 1 1 0

3 0 0 0 1 0 0 3 1 0 0

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

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

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

^ = 1, 2 . Каждой вершине графа соответствует множество Б, потребностей, которые обеспечиваются множеством изделий Ж, при минимальных затратах С, и выполнении условий (4), (5). Переход из вершины г в вершину g (g>z) возможен в том случае, когда имеется изделие с параметрами

ик, tjk, которое может полностью обеспечить множество потребностей

^ = ^ \ ^.

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

^ \ ^ — 1,

то вершина г соединена с вершиной g дугой (,, g), длина которой определяется выражением

СС_„ — СС-  + СС х• •

^ 1Ык 1Ык 1Ык

где \]к = X Ъи

Обозначим множество дуг, входящих в вершину g, У£ . Тогда изделие, которое обеспечивает выполнения условия

cg — туп(с, + сщ л с,., — 0,

включается в множество Wg.

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

На рис. 1, а-в представлена совокупность множеств потребностей, номера которых соответствуют номерам вершин сетевого графа.

В скобках на рис. 1 указаны номера вершин, которые связаны с данной вершиной дугами.

3]

Ъп

аз <1: 2)

Ъп Ъ1:з

Ьп Ьй Ьп

а-

ij.ii Ъп Ьц

Ьц

Ьц ш

Ь:1 Ъ22

Зп

Ьц Ъп

Ш

Ьз1

51«

Ьц Ъи Щ

Ьц Ь:2 Ьг;

Ьз1

3]д{10: 16, 17. 15)

Ьц Ъи Ьз

Ь:1 Ьз: Ьзз

ЬЙ Ьз2

МЬ

Ьц

Ъп

Ьп Ь12

Ъп Ь22

% 5)

Ьп

Ьз1

Ъл

31^

Ьп Ъ12

Ъл

Ъц

Эг

Щ Ь12

Ьц Ь22

Ъя Ьз2

Ьп Ъ12 Ь1э

Ь21 Ъ22 Ь^З

Ьзз Ь32 Ьц

3;{3, 5)

Ь]] Ь;,2

Ь21

&

Ьп Ъ12 Ь]3

Ь21 Ь22

Э12

Ьп Ъ12

Ъ21

ъ?1

31:

Ьп Ъ12 Ьп

Ь21 Ь22

Ь31

3]з

Ьп Ъ12 Ьп

Ь2! Ь22

Ьл Ьз2

31

а

Ьп

Ьп Ъ12

3^1,13)

Ьп Ь12 Ьп

3-(4, 5;й

Ъп "Ь12 Ьп

Ь21

3ю

Ьп Ъ12 Ьц

Ь21 Ь22 Ь:з

£;

Ьп

Ь21

Зз

Ьп Ъ12

Ь21 Ь22

3з

Ь]] Ъ12

Ь21

Зс (4, ~ 5

Ьп Ъ12 Ьп

ы Ь22

Ь

Ьп Ъ12 Ьп

31

б

МП

Зз

Ьп Ьп Ь12

в

Рис. 1. Совокупность множеств потребностей, номера которых соответствуют номерам вершин сетевого графа

В соответствии с постановкой задачи, изложенной в вышеуказанной статье данного выпуска журнала, и алгоритмом решения, приведённом там же, на первом этапе для каждого из подмножеств Л1, Б1, В2 осуществляется поиск решения динамической задачи унификации. При этом условие совместимости параметрических рядов пока не учитывается.

Коэффициенты совместимости основного и комплектующих изделий У?/( = 1, 3; г=т 1, 3; р=1, 2), у?т( = 1, 3; г=т 1, 3; р=\] представлены в табл. 2.

Используя матричный способ, определяем кратчайшие пути в сетевых графах. В левом верхнем углу клеток табл. 3 - 5 указаны длины дуг (1,

g), (I, И), вычисленные по формуле = + С^кх^к , а в правом

нижнем - длины путей из первой вершины в g-ю, И-ю. Минимальный из этих путей, определенный с помощью выражения

Cg = шш(С, + ) С_, = О,

zgeVg

является кратчайшим путем в g-ю, И-ю вершину (стрелка указывает соответствующий элемент столбца С^ СИ). По кратчайшим путям находим параметрические ряды для каждого из подмножеств Л1, Б1, В2 (рис. 2, а-в).

Рис. 2. Параметрические ряды для подмножеств Лх

Пунктиром показаны фиктивные параметрические ряды. Например, кратчайший путь в сетевом графе ОИ вида а=1 проходит через вершины 1-3-6-20 (см. табл. 3). В параметрический ряд войдут: из множества 520 изделие с параметрами и3, ?3, из множества 56 - с параметрами и2, t1, из 53 - с параметрами и1,

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

Рассмотрим систему подмножеств Л1-Б1. КИ1 с параметрами и 2 , 13

может быть включено в состав ОИ с параметрами и3 , 13 , т.к. /31 = 1 (см. табл. 2).

f_l Э! ГН

Use Ил Cj « fn If^ ff-^ï -1 tfr ГЧ SA ^ « а СЛ Çn se ots T—1 Щ 4U ri un Ssq гп

Й- 2 a гн g И ГП < Л i—1 s ä s  n * 'il i гп & EJi а " с О йё ¡Я т В Í 5 -.sr h —i i—i  y-, .y-, U^l

1—1 CO 1—1 ГГ, m Л _. гп "i гп 1—1 ' cd Sgi ' Ш -3S Mi "r Tt Г < H ri " ] L'j H i-'Ji г-Н гн Н п-Н 4 ÖS ft m __1 n g s s g i

s *

tri и ri Й S 1—1 тг П 41 I— P=* TT r-í il s

4"J fV) о ï; —1 »—- -г §

Id ,. _, ÍH _i ___ oi ñ ™ HÜ 'M M 0. 1" О гп О L-ä Vj n n tíl ffl "i "i IÍJ ГГ| rj m rf ж s м L/J ig '<1 Ca IÍ-I rri гп ГГ| № fr CCh О CD iT> ГП ГП rH rH i-:| Cr v-J ri tía ri V -'i g 9 j _î

ю К о QG ¡g M o Щ s a 'i Я 'i fj  —1 *n #4 —1 » s __. L-J }-' да  ¡fc £ г '  ГП íj es !-'' 1—1 ^ na i ? я _т -î _t _J

jT ¿ S! у- 'П ^ fi 3 p a я S t ** _t _t

F-j *—1 14 rr, f rb PS M as 2

Окончание табл. 3

14

75 1»

203 237

50 69

216 235

г:-

1

щ 12

Ч 11 З3 44

5

»5

14

5 6 7 8

9 10 1'Ё

12

и

с

ш

и

и

и

ю т

50

16

ао

40Б 230 396

гю

413 20 43;

Щ Щ 19

16К 296 10£ 274

311

№

2 О:

ю

475

КЗ

40

566

370

355

С* к

с

123 166 203 135

И: I 1

15

16

и

до

452

и

72 3+1

т

329 59т

571

272 396

17

и

50 200 ЗОВ 4:Е

Ж

59Й

258

18-

и

до

4~5

31? 60;

19

20

и

до-

612

и

452 ЙЙ 1

Таблица 4

Кратчайшие п

ути в сетевых графах

11 1 2 3 4 5 6 7 8 9 10 с к * и Р

1 18 18 42 42 75 75 68 68 140 140 352 352 0

2 и 30 48 55 73 52 70 120 138 320 338 18

3 и 30 72 52 94 95 137 280 322 42 3 2 3

4 и 52 124 95 167 264 336 72

5 и 30 98 55 123 70 138 240 308 68

6 и 30 124 45 139 200 294 94 2 1 2

7 и 45 168 200 307 123

8 и 30 167 168 305 137

9 и 152 319 167

10 и 294 1 2 1

Кратчайшие пути в сетевых графах

Таблица 5

1. 1 2 3 4 с к * и Р

1 16 16 63 63 206 206 0

2 и 35 51 150 166 16 3 1 3

3 и 114 165 51 2 1 2

4 и 165 1 1 1

Основные изделия с параметрами u3 , 13, в соответствии с выбранным вариантом ряда (см. рис. 2, а), предназначены для удовлетворения спроса в ОИ с параметрами и3, и3, и3, t1; U2, Ц; и2, Ь; и1, Ц, которые образуют множество /¡. Комплектующие изделия 1-го вида с параметрами

u

2 , tз в соответствии с выбранным вариантом ряда (см. рис. 2, б) предна-

значены для удовлетворения спроса в КИ1 с параметрами и2, Ц; и2, u1, Ц, которые образуют множество P1.

Сравнивая множества /1 и P1, замечаем, что при p = i = 3 (с учетом

фиктивных параметрических рядов) т(р) = 2 < ?(/) = 3. Это свидетельствует о том, что потребность в КИ1 для ОИ, предназначенных для использования в промежутке времени t=3 и имеющих параметры и 3, 13, при выбранных вариантах параметрических рядов удовлетворить нельзя. Следовательно, условие (3) не выполняется.

Переходим ко второму этапу решения задачи (1) - (3). Результаты идентификации структур множеств £, ^ , £^ для пар А1-В1 и Л1-Б2 показаны в табл. 3 в виде индексов при номере вершины графа -/2 . Запись -/12 = 112 имеет следующий смысл: множество £ =11 идентично множеству = 5 и множеству £/2 = 2. Условия - > /, -</ (в нашем примере под величиной / понимаются 11 и /2) следует рассматривать с учетом результатов идентификации. Например, если вершине дерева вариантов ^соответствуют -=12 и /1=8, то этот случай будем рассматривать как -<1, т.к. множество ^ = 8 идентично множеству £=17, номер которого г=17>12 (см. табл. 3).

На первом шаге вычислительного процесса для начальной нулевой вершины дерева вариантов имеем и^ = 0, V1l0 = 0, V/ = 0 .

Определяем нижнюю границу для вершины у=0:

Н 0 (и, V ) = Н (и) + Н (V);

Н (и ) = С20 = 556; Н ( V) = С;0 + С42 = 294 +165 = 459; Н0 (и, V) = 556 + 459 = 1015.

Процесс ветвления начинаем с ОИ (-=1). Формируем множества Е \ = {(-, g), -=20, g=ll9} ^ =0, Я1 = Еg. С помощью условия (8) из множества Я выбираем дугу (20, 6), которую включаем в множество

и 10 - {(20, 6)}:

min + С20, 1 + С20, 20' С2 + С20, 2 + С20, 20' ... '

С1+C1 +C1   С1 +C1 +C1 ) =

20, 6 20, 20'  ' ^19 20, 19 20, 20/

= min (0+685+0; 18+625+0; ... ; 126+430+0; ... ; 452+160+0) = = min (685; 643; ... ; 556; ... ; 612)=556, что соответствует дуге (20, 6). Получаем множество U1 = {(20, 6)}.

Рассчитываем нижнюю границу для вершины Y=6, которой соответствует множество Q6 = U6 UVi UV41 ={(20, 6)}:

H6 (U, V ) = H (U) + H (V);

H (U) = C1 + С1, 20 = 126 + 430 = 556;

H ( V ) = С10 + С42 = 294 +165 = 459; H6 (U, V) = 556 + 459 = 1015. На следующем шаге вершине Y=6 соответствует z=6, /1=10, /2=4. Выполняется условие z</, так как z^o = 20 > 6. Формируем множества:

Elh ={(/, h), /=10, h=1~9}

F ={(/, h), /=10, h=479}; R\ = {(/, h), /=10, h=1~~3}

Дуга (10, 4) включается в множество F^ . Если включить ее в множество Ri, то на очередном шаге для ОИ может быть выбрана либо дуга (6, 3), либо (6, 5) и ограничение (3) окажется нарушенным. Следовательно, если z и / соответствуют неидентичным множествам, то при выборе очередной ветви необходимо использовать условия z</, z > /, проверяя перед этим возможность выполнения ограничения (3).

С помощью условия (9) выбираем дугу (10, 3) и включаем ее в множество V/0 ={(10, 3)}:

min(C1 +С10, 1 + С10, 10' С2 + С10, 2 + С10, 10' С1 + С10, 3 + С10, 10 ) = /heRh

= min(0+352+0; 18+320+0; 42+280+0)= min(352; 338; 322)=322,

что соответствует дуге (10, 3). Получаем множество V1 = {(10, 3)} .

Рассчитываем нижнюю границу для вершины Y=22, которой соответствует множество Q22 = Ul6 U V31 U V42 = {(20, 6), (10, 3)}:

Н22

Н(и) = С1 + С1, 20 = 126 + 430 = 556; Н( у) = С3 + С], 10 + С42 = 42 + 280 +165 = 487;

Н 22 (и, У ) = 556 + 487 = 1043. На следующем шаге вершине 4=22 соответствует 1=6, /1=3, /2=4.

Выполняется условие г < 1, т.к. 2/*=\0 = 20 > 6. Формируем множества:

Е2 = {(/, к), /=4, к=Цз}; = {(/, к), /=4, к=1~3};

Я1 ={(/, к), /=4, к=1}.

Дугу (4, 1) включаем в множество у1 = {(4, 1)}.

Рассчитываем нижнюю границу для вершины 4=23, которой соответствует множество 023 = и и У1 и У12 ={(20, 6), (10, 3), (4, 1)}:

Н23 (и, У ) = Н (и) + Н (У);

н(и) = С6 + С{ 20 = 126 + 430 = 556;

Н ( У) = С1 + С3, 10 + С2 + С2 4 = 42 + 280 + 0 + 206 = 528; Н23 (и, У) = 556 + 528 = 1084.

Продолжая процесс ветвления дальше, получим вершину 4=27, которой соответствует множество

027 = и1 и У/ и У12 ={(20, 6), (6, 3), (3, 1); (10, 3), (3,1), (4, 1)}. Нижняя граница для вершины 4=27 с множеством

Н 27 (и, V ) = Н (и) + Н (У);

Н (и) = С1 + С1 3 + С3, 6 + С1, 20 = 0 + 56 + 70 + 430 = 556; Н ( V) = С1 + С1 30 + С3, 10 + С2 + С24 = 0 + 42 + 280 + 0 + 206 = 528; Н 23 (и, V) = 556 + 528 = 1084.

Нахождение оптимального динамического ряд (рис. 3) осуществляется следующим образом.

Обозначим Н27 (и, У) С1, т.к. данную ветвь продолжить уже нельзя. Пользуясь условием Н,(и, У)< С, , рассматриваем остальные варианты. Вычислительный процесс заканчивается на вершине 4=75, которой соответствует нижняя граница решения Н 27 (и, У) = 103. Оптимальным будет вариант, соответствующий вершине 4=61.

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

Рис. 3. Оптимальный динамический многоуровневый параметрический ряд, определяющий план выпуска ОИ

Следовательно (см. рис. 3, а), в течение 10 лет необходимо разрабатывать основные изделия 3-го типа с параметром и3 в количестве 20 единиц (Ь13+Ь22+Ь23+Ь32+Ь33=2+3+10+1+4=20), которые первые 5 лет обеспечивают потребности в ОИ 1 - 3-го типов, вторые 5 лет - в ОИ 2-го и 3-го типов. В третий период необходимо начать создание ОИ нового поколения или произвести модернизацию существующих. Они должны быть разработаны в количестве 10 ед. (Ь21+Ь31=8+2=10) и использоваться для удовлетворения потребностей в ОИ 2-го и 3-го типов.

Со второго периода необходимо начать выпуск ОИ 1-го типа с параметром и1 в количестве 5 ед. (Ь12=5), в третий период, после модернизации, выпускать их в количестве 4 ед. (Ь11=4).

Для обеспечения такого плана выпуска ОИ указанных типов на рис. 3, б, в показаны планы выпуска КИ1 и КИ2 к этим ОИ. Общие затраты на реализацию программы выпуска основных изделий и комплектующих к ним составят 1032 усл. ед.

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

Список литературы

1. Изотов В.Н. Динамическая унификация как способ повышения качества и эффективности сопровождения программного обеспечения в корпоративной сети транспортно-производственной системы // Известия

ТулГУ. Технические науки. Вып. 9. Тула: Изд-во ТулГУ, 2014, в настоящем журнале.

Изотов Виктор Николаевич, д-р техн. наук, проф., izotovvn-tiilaamal.ru, Россия, Тула, Тульский филиал Российской академии народного хозяйства и государственной службы при Президенте Российской Федерации,

Морозова Татьяна Владиславовна, начальник аналитического отдела, tanekl 71290@yandex.ru, Россия, Тула, Государственное учреждение Тульской области "Тулаупрадор "

CHECKING ALGORITHM FOR SOLVING DYNAMIC UNIFICATION PROBLEM SOFTWARE

V.N. Izotov, T. V. Morozova

The description of the dynamic problem of unification of software and matched the original data to verify the performance of the algorithm to solve it. It is shown that in the process of solving the problem by hand using selected raw data are checked all the specific features of formulation of the problem and its solution algorithm.

Key words: software, dynamic unification problem, algorithm, performance testing of the algorithm.

Izotov Viktor Nikolaevich, doctor of technical science, professrjzokvvn-tulaaimtl.ni, Russia, Tula, Tula branch of the Russian Presidential Academy of national economy and public administration,

Morozova Tatiana Vladislavovna, the state institution of the Tula region "Tulauprador" chief of analytical Department, tanekl 71290@yandex.ru, Russia, Tula

УДК 004.72

АНАЛИЗ ЭФФЕКТИВНОСТИ ОБЕСПЕЧЕНИЯ КАЧЕСТВА ОБСЛУЖИВАНИЯ В МУЛЬТИСЕРВИСНЫХ СЕТЯХ НА ОСНОВЕ ИЗВЕСТНЫХ АЛГОРИТМОВ МАРШРУТИЗАЦИИ

С. А. Коношенко

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

Ключевые слова: мультисервисная сеть, маршрутизация.

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