Файл: Шаракшанэ, А. С. Испытания сложных систем учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 141

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

рованного входного сообщения (t, xL][o нетрудно получить

урав­

нение, связывающее вариации параметров модели bch{k — \, 2

, г)

с отклонениями критерия качества от некоторого номинального значения:

 

i R ( t / c ) = E

(4.4.1)

Если

компоненты вектора состояния z (t) в моменты

времени

ti (i = 1,

2, .... s) терпят разрывы, что возможно при рассматривае­

мом описании систем (выход из строя элементов системы, разрывы непрерывности в моменты включения и выключения системы, в не­ которых случаях процессы преобразования z (t) в z(t + ht) для произвольных t и т. д.), то полная вариация 6R(t\c), когда опера-

тор Н* аддитивен и однороден по /f(H*(4, £0))= SH *(^, *\--i),

t0] при t= l, 2, ..., s — свойство дистрибутивности оператора Н*) может быть записана так [22]:

 

S

 

dH* {th ti- ь г (ti-x), (t, x

j / ^

dx,dc-1 +

 

 

 

 

 

 

8R(tsj c ) = E

 

 

dx

 

 

 

dH*

 

 

h *j^ r,

и

z {tri

(t,

 

dz (if,--!)

dc

 

 

 

 

 

 

— H*

 

. ti-i, Z[ t t w , xL

 

 

 

 

 

i f r = t i - 0, i t = ^

+

0).

 

(4.4.2)

При записи (4.4.2) предполагалось, что текущие моменты про­ цесса функционирования системы t=ii (при t= l, 2,..., s) и вектор ее состояния z (t) являются функциями от вектора параметров мо­ дели с, а момент включения t0 системы не зависит от с. Вероятно­ стная природа процесса функционирования рассматриваемых си­ стем приводит к тому, что производную dz/dc необходимо понимать как производную случайной вектор-функции z(c, i) по вектору па­ раметров с. В дальнейшем будем определять указанную производ­ ную как производную Гато (слабая производная):

dz (t, с) _

z(t, с + н-Дс) — z (t, с)

(4 4 3 )

dc

t*

 

где ц — некоторое вещественное число.

Для определения производной dtjdc, входящей в (4.4.2), необ­ ходимо знать уравнение поверхности

F ( z ( t ) , t , с) = 0,

 

(4.4.4)

на которой в моменты времени ti(i= 1, 2, ...,

s) вектор

состояния

системы z(t) изменяется скачком. Используя

правила

дифферен­

66


цирования неявной функции, нетрудно получить:

dt

(dFjdz) (д%1дск) + dFjdck

(4.4.5)

dCh

(dFjdz) (dzjdt) +

dF\dt

 

При практических расчетах необходимо помнить, что для боль­ шинства реальных элементов эти уравнения определяют процессы скачкообразного изменения переменных F(t), z(t) в моменты вре­ мени ti~=ti—0. Производные, входящие в (4.4.5), как и производ­ ная dz/dc — слабые производные.

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

доработки после проведения натурных испытаний

не превышала

некоторой заданной величины Рд , т. е.

 

 

Р {Щ (с, 11(*, xL]'J > Д) < Яд,

'

(4.4.6)

где А — величина, характеризующая требуемую точность расчета показателя эффективности системы R(t/с).

При разработке моделей реальных систем величину А задают на основании опыта, с учетом целевого назначения системы и тех требований, которые предъявляют технические задания на точность оцениваемых показателей качества. Но так как уравнение связи между 5R(t\c) и 6с одно, то решений уравнения о распределении требований к точности моделирования подсистем может быть по­ лучено бесчисленное множество. Поэтому при разработке моделей сложных систем привлекают экспертов и на основании их оценок строят совокупность весовых коэффициентов рь р2, ..., Рь опреде­ ляющих алгоритм распределения А по каждой подсистеме:

Д,=Р,Д. *=1,2, ... , I.

(4.4.7)

Кроме рассмотренного выше способа, можно предложить и дру­ гие способы, среди которых нужно выделить один простой и в то же время достаточно наглядный способ деления А на части А,-. По этому способу весовые коэффициенты (5грассчитывают как суммы относительных ошибок оценки параметров Сш каждой г-й под­ системы:

’' " S i l l ' S

rt= r,

i =

1, 2,

(4.4.8)

й=1

/-1

 

 

 

 

Когда значения

|Згнайдены,

расчет

Аг-

нетрудно

осуществить

по (4.4.7).

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

3*

67


операторов, описывающих процессы в реальных элементах систе­ мы. Если модель разрабатывают для оценки векторного показате­ ля R j с), то задача распределения требований к точности моде­ лирования подсистем получается более сложной, чем в рассмотрен­ ном выше примере.

§ 4.5. РАЗРАБОТКА ПРОГРАММ МОДЕЛЕЙ

Для сложных систем программная реализация моделирующих алгоритмов обычно начинается на этапе проектирования, когда степень разработанности моделирующего алгоритма является не­ достаточной, чтобы полностью исключить вероятность его после­ дующей доработки. В связи с этим на этапе анализа возможных способов построения блок-схемы программы необходимо преду­ сматривать требования, связанные с оперативным вводом измене­ ний в созданную программу. Для этой цели программа модели системы разбивается на ряд логически законченных модулей. На практике широко распространенным способом разбиения програм­ мы является трехуровневое разбиение на: укрупненные модули (макромодули), соответствующие принятому разбиению системы на подсистемы; модули, соответствующие функционально обособ­ ленным элементам каждой подсистемы; простые модули (микро­ модули), определяющие некоторые логически замкнутые опера­ ции, которые выполняют в соответствии с моделирующим алгорит­ мом для рассматриваемого элемента системы. Такое разбиение позволяет сравнительно просто реализовывать процессы доработ­ ки программ, если в этом есть необходимость после проведения испытаний на реальной системе.

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

1) определения времени окончания разработки программы ма­ тематических моделей;

2)оценки экономических затрат, необходимых для разработки программ;

3)оценки необходимого количества исполнителей для разра­ ботки программ заданной сложности.

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

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

68


Предложенная в работе [23] шкала логической сложности про­

граммы (1 — простые программы,

2 — умеренные, 3 — трудные,

4 — сложные, 5 — очень сложные),

несмотря на кажущуюся про­

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

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

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

следующие исходные данные: N — размер программы

(количество

команд); Q — сложность программы;

5 — стоимость

программы;

п — число команд, разрабатываемых

одним программистом выс­

шей квалификации в единицу времени; ASi — затраты на програм­ миста 1-й квалификации в единицу времени; ASM— стоимость экс­ плуатации машины в единицу времени.

В работе [23] приведена также шкала квалификации програм­ мистов в зависимости от времени его работы:

 

 

Т а б л и ц а 4.5.1

Занимаемая должность

Срок работы

Коэффициент про­

изводительности Р.

Ученик

0-ь0,5 лет

0,30

Младший программист

0,5-Ь-1,5 лет

0,65

Программист

1,5-ьЗ года

0,90

Старший программист

3 года и выше

1,00

Если все исходные данные известны, то можно привести рас­ четные формулы, которые будут отражать временные и экономиче­ ские затраты на кодировку программы программистом i-й квали­ фикации:

i i ^ N Q K n P , ) ;

(4.5.1)

кол—^1&£[.

(4.5.2)

Чтобы определить суммарные временные и экономические за­ траты на разработку программы, нужно знать этапы ее создания и долю каждого этапа в процессе разработки программы. Для гру­ бых оценок времени создания программы можно рекомендовать следующие результаты [23]:

Изучение моделирующего алгоритма.........................

10%

Составление блок-схемы программы.........................

25%

Кодировка программы..................................................

25%

Проверка программы на рабочем месте...................

5%

69