Помощь в написании студенческих работ
Антистрессовый сервис

Практическая часть. 
Математические и информационные модели защиты информации

РефератПомощь в написанииУзнать стоимостьмоей работы

В файле стандартного отчета программы 4 строка QUEUE имеет следующие поля: 1 — номер первой очереди, LEN2 — имя второй очереди (очередь может иметь либо произвольный номер, либо произвольное имя), поле MAX определяет максимальное содержимое очереди в течение периода моделирования (для первой очереди 21, для второй с именем LEN2 — 9), поле CONT. определяет текущее содержимое очереди в конце… Читать ещё >

Практическая часть. Математические и информационные модели защиты информации (реферат, курсовая, диплом, контрольная)

Записать и запустить на выполнение программу для решения примера 1.

Изучение процессов циклической обработки требований.

Пример 1. Пусть каждое требование проходит 5 циклов обработки на приборе со временем 31 мин. по равномерному закону. Входной поток требований подчиняется равномерному закону со временем 52 мин. Смоделировать процесс обработки ровно 100 требований.

Решение примера 1 приводится как программа 1.

********************************************************.

MET1 EQU sqr (25).

MET2 EQU (sqr (9)+22).

*********************************************************.

GENERATE 5,2,100; Генерация 100 транзактов.

ASSIGN 13, MET1.

SEIZE 1.

CYCL5 ADVANCE MET2,2.

LOOP 13, CYCL5.

RELEASE 1.

TERMINATE 1 Уничтожение транзактов (вывод из системы).

**********************************************************.

START 100; Задание числа счетчика завершений.

Программа 1.

В данном примере организация пятикратного цикла обработки осуществляется блоками ASSIGN и LOOP. Обращение к заданным числовым значениям (5 и 7) производится через метки MET1, MET2 посредством оператора EQU.

Формат записи блока ASSIGN:

ASSIGN 13, МЕТ1.

В поле задан параметр транзакта под номером 13 (взят произвольно). Этому параметру сопоставляется число 5, которое переопределяется через метку МЕТ1 поля . Значение поля присваивается параметру, номер которого задается в поле. Задание числа 5 осуществляется оператором EQU.

Формат записи оператора EQU:

МЕТ1 EQU SQR(25).

МЕТ1 EQU SQR (25).

Метка МЕТ1 — это имя в поле метки оператора. В поле оператора вычисляется выражение:

МЕТ2 EQU (SQR (9)+22)

Оператор EQU с меткой МЕТ2 в поле

вычисляет выражение:

Обращение к ме…

Файл стандартного отчета программы 1.

START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY 0 3499 7 1 0 77824LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY.

  • 1 GENERATE 100 0 0
  • 2 ASSIGN 100 0 0
  • 3 SEIZE 100 0 0

YCL5 ADVANCE 500 0 0.

  • 5 LOOP 500 0 0
  • 6 RELEASE 100 0 0
  • 7 TERMINATE 100 0 0

FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY.

1 100 0.998 34.94 1 0 0 0 0 0.

XACT_GROUP GROUP_SIZE RETRY.

POSITION 0 0.

Задача повторного пятикратного обслуживания решается блоком LOOP, который отправляет транзакты на блок ADVANCE. Из файла стандартного отчета видно, что через блоки LOOP и ADVANCE проходит в пять раз больше транзактов, чем через остальные блоки. Среднее время обслуживания в устройстве также в пять раз больше (в позиции AVE_TIME), чем время обслуживания, которое задается в поле блока временной задержки ADVANCE (см. PRIM11. GPS).

Задание к примеру 1: Снять ограничение на поступление требований в систему. Изменить номер параметра транзактов, по которому осуществляется циклическая обработка: присвоить параметру числа 2, 153, 678, 999. В заданные номера параметра занести числа 3, 7, 9, 11, вычисленные как корень квадратный из соответствующего числа. Вычисления зафиксировать оператором EQU.

Записать и запустить на выполнение программу для решения примера 2.

Изучение блоков PREEMPT, RETURN.

Пример 2. На обработку по равномерному закону поступает два потока заготовок деталей: первый — со временем 101 мин., второй — 252 мин. Второй поток прерывает изготовление деталей первого потока. Время обработки деталей первого потока 72 мин., второго — 112 мин. Смоделировать процесс обработки 100 деталей, образующих два потока.

Решение примера 2 приводится как программа 2.

SIMULATE *****************************************************************.

GENERATE 5,2; Формирование 1-го потока деталей.

SEIZE FACIL1; Устройство под именем FACIL1.

ADVANCE 7,2.

RELEASE FACIL1.

TERMINATE 1; Вывод деталей 1-го потока.

*****************************************************************.

GENERATE 25,2; Формирование 2-го потока деталей.

PREEMPT FACIL1; Прерывание обработки 1-го потока.

ADVANCE 11,2; Время обработки 2-го потока=времени прерывания.

RETURN FACIL1; Снятие прерывания 1-го потока.

EXIT TERMINATE 1; Вывод деталей 2-го потока.

*****************************************************************.

START 100; Задание числа счетчика завершений=общему количеству *деталей.

Программа 2.

Два блока GENERATE формируют два независимых или разнородных потока транзактов. Блок PREEMPT позволяет получать в пользование устройство, указанное в поле

этого блока, т. е. устройства под именем FACIL1. Это соответствует тому состоянию системы, когда происходит прерывание обработки деталей 1 потока в устройстве и начинается обработка деталей 2 потока в том же устройстве. Длительность обработки деталей 2 потока задается блоком ADVANCE. Стандартная статистика системы GPSS/PC определяется только для одного устройства — под именем FACIL1.

Для блока PREEMPT могут быть задействованы пять полей. Только поле операнда является обязательным. В программе 2 формат записи блока PREEMPT следующий:

PREEMPT

В поле блока PREEMPT задается имя устройства (по метке FACIL1), на котором происходит прерывание 1-го потока транзактов от блока GENERATE. Длительность прерывания задается блоком ADVANCE. В то же время устройство FACIL1 во время прерывания 1-го потока деталей начинает обслуживать детали 2-го потока, который формируется блоком GENERATE. Снятие прерывания осуществляется блоком RETURN.

Формат записи блока RETURN:

RETURN

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

Задание к примеру 2: попарно изменить среднее время генерирования транзактов в соответствии с рядом чисел: 7 и 15; 9 и 11; 13 и 9; 21 и 7. Попарно изменить среднее время обработки требований в соответствии с рядом чисел: 5 и 13; 9 и 9; 11 и 7; 15 и 5. Объяснить результаты выполнения программ по файлу стандартного отчета.

Записать и запустить на выполнение программу для решения примера 3.

Рассмотрим некоторые дополнительные возможности блока PREEMPT.

Пример 3. Пусть в условиях примера 2 детали, прерванные на время обработки 2-го потока, выводятся из системы. В этом случае большая часть условий задачи остается неизменной: на обработку по равномерному закону поступает два потока заготовок деталей: первый — со временем 101 мин., второй — 252 мин. Второй поток прерывает изготовление деталей первого. Время обработки деталей 1-го потока 72 мин., 2-го — 112 мин. Смоделировать процесс обработки 100 деталей, разделенных на два потока.

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

Программа решения примера 3 приводится как программа 3.

GENERATE 5,2; Формирование 1-го потока деталейSEIZE FACIL1; Устройство под именем FACIL1ADVANCE 7,2RELEASE FACIL1TERMINATE 1; Вывод деталей 1-го потока.

*****************************************************************.

GENERATE 25,2; Формирование 2-го потока деталей.

PREEMPT FACIL1, exit, re; Прерывание обработки 1-го потока.

ADVANCE 11,2; Время обработки 2-го потока=времени прерывания.

RETURN FACIL1; Снятие прерывания 1-го потока.

exit TERMINATE 1; Вывод деталей 1-го и 2-го потоков.

START 100; Задание числа счетчика завершений=общему количеству *деталей.

Программа 3.

Формат записи блока PREEMPT для программы 3:

PREEMPT

,[],[],

В поле задается метка прерываемого устройства — FACIL1, поле — пусто, в поле указывается имя блока (EXIT), куда направляются транзакты прерванного потока, поле — пусто, в поле устанавливается режим удаления — RE.

Операнд поля задает номер или имя (метку) блока, куда должен попытаться войти прерванный транзакт (транзакт прерываемого 1-го потока). Режим удаления RE поля означает, что прерванный транзакт не будут претендовать на пользование устройства, на котором произошло прерывание. Прерванный транзакт пытается войти в блок, заданный полем. Поскольку в поле задано имя блока уничтожения транзактов TERMINATE, то попытка войти в это блок всегда будет успешной. Происходит моделирование процесса вывода из системы необработанных деталей первого потока. Через блок с меткой EXIT выводятся также и обработанные детали второго потока.

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

Задание к примеру 3. Видоизменить программу 3 так, чтобы в ней прерванные транзакты отправлялись бы в дополнительное устройство с временем обработки 51 мин. При этом вывод из системы транзактов из дополнительного устройства не должны быть связаны со счетчиком завершений. Также попарно изменить среднее время генерирования транзактов в соответствии с рядом чисел: 7 и 15; 9 и 11; 13 и 9; 21 и 7. Объяснить результаты моделирования по файлу стандартного отчета.

Записать и запустить на выполнение программу для решения примера 4.

Статистическая информация об очереди формируется блоками QUEUE и DEPART. В GPSS World блоки QUEUE и DEPART описывают объекты типа «очередь». Статистика об очередях собирается в моменты входа сообщения (транзакта) в блок QUEUE (вход в очередь) или в блок DEPART (выход из очереди). Блоки QUEUE и DEPART являются информационно-статистическими и не влияют на внутренние операции процесса моделирования GPSS World.

Для сохранения и запоминания в модели числовой информации, различных стандартных числовых атрибутов в GPSS World отводятся специальные ячейки основной памяти. Для записи числовой информации в ячейки служит блок SAVEVALUE.

Пример 4. В систему по равномерному закону с интервалом 72 мин. поступают заявки на обслуживание. С вероятностью 0.6 заявки обслуживаются на первом приборе по равномерному закону с интервалом 122 мин. и с вероятностью 0.4 обслуживание происходит на втором приборе также по равномерному закону с интервалом 132 мин. Смоделировать процесс функционирования системы и получить статистические данные об очереди заявок при обслуженном числе их, равном 100.

Здесь входящий поток заявок не ограничен и по времени является более интенсивным, чем обслуживание в каждом из приборов. Естественно следует ожидать возникновение очередей перед каждым из устройств. Задача состоит в том, чтобы произвести обслуживание 100 заявок (двумя приборами) и собрать сведения о задержках начала обслуживания, т. е. статистику об очередях. Для решения этой задачи составлена программа PRIM28. GPS, в которой применены две пары совместных блоков QUEUE и DEPART. В блоке GENERATE поле — поле задания генерируемых транзактов (заявок) не используется, поэтому ограничение поступающих в систему транзактов определяется только операторм START и временем генерации транзактов блоком GENERATE.

Решение примера 4 приводится как программа 4.

Таблица.

GENERATE 5,2TRANSFER 0.4,CHAN1,CHAN2CHAN1 QUEUE 1SEIZE 1DEPART 1ADVANCE 12,2RELEASE 1TRANSFER, EXIT.

CHAN2 QUEUE LEN2.

SEIZE 2.

DEPART LEN2.

ADVANCE 13,2.

RELEASE 2.

SAVEVALUE NUM, C1.

SAVEVALUE NUM1, Q1.

SAVEVALUE NUM2, Q$LEN2.

SAVEVALUE NUM3, QT1.

SAVEVALUE NUM4, QT$LEN2.

EXIT TERMINATE 1.

START 100.

Программа 4.

Формат записи блоков QUEUE:

QUEUE

,[]

QUEUE ,[]

В поле задается имя блока, в поле

 — имя или номер очереди. В поле задается число единиц, на которое увеличивается текущая длина очереди. Если поле пусто (как в программе), то прибавляется единица. В поле блока QUEUE задана метка chan1, для другого блока задана метка chan2. Блок QUEUE регистрирует статистику для очереди под номером 1, которая возникает перед первым устройством (оно начинается с блока SEIZE). Блок QUEUE регистрирует статистику для очереди под именем LEN2, которая возникает перед вторым устройством (оно начинается с блока SEIZE).

Выход транзакта из очереди регистрируется блоком DEPART.

Формат записи блоков DEPART:

DEPART ,[]

DEPART

,[]

В поле блока DEPART задается номер или имя очереди, длину которой нужно уменьшить. В поле задается число единиц, на которое уменьшается длина очереди. Это число не должно превышать текущую длину очереди (чтобы не получилось отрицательное число). Если поле пусто (как в программе), длина очереди уменьшается на единицу. В программе для блока в поле задана очередь с номером 1, для блока в поле задана очередь под именем LEN2. В подпрограмме блока DEPART автоматически проверяется значение времени пребывания транзакта в очереди. Если транзакт не был задержан в очереди, т. е. имеет нулевое время задержки, число нулевых входов увеличивается на число единиц, указанное в поле блока DEPART. В программе PRIM26. GPS поле пусто. В программе используются пять блоков SAVEVALUE, которые сохраняют СЧА по времени моделирования и очередей.

Формат записи блоков SAVEVALUE:

SAVEVALUE

,

SAVEVALUE ,

SAVEVALUE

,

SAVEVALUE ,

SAVEVALUE

,

В поле каждого блока SAVEVALUE задается имя ячейки, в которую записывается значение поля . Для примера с помощью блоков SAVEVALUE были сохранены следующие стандартные числовые атрибуты. Для блока SAVEVALUE сохраняемой ячейки num, сохраняемая величина С1 — условное время моделирования. Для блока SAVEVALUE имя сохраняемой ячейки num1, сохраняемая величина q1 — длина очереди под номером 1. Для блока SAVEVALUE имя сохраняемой ячейки num2, сохраняемая величина q$len2 — длина очереди с именем len2. Для блока SAVEVALUE имя сохраняемой ячейки num3, сохраняемая величина qt1 — среднее время (с точностью до целых) пребывания сообщения в очереди под номером 1 (включая нулевые входы). Для блока SAVEVALUE имя сохраняемой ячейки num4, сохраняемая величина qt$len2 — среднее время (с точностью до целых) пребывания сообщения в очереди с именем len2 (включая нулевые входы). Очереди имеют также и другие СЧА: QAj — средняя длина очереди j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QMj — максимальная длина очереди j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QCj — общее число входов в очередь j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QZj — число нулевых входов в очередь j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QXj — среднее время пребывания транзакта в очереди j без нулевых входов (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета).

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

Файл стандартного отчета программы 4.

GPSS World Report file REPORT.GPS. page 1START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY.

0 633 19 2 0 80 800.

LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY.

  • 1 GENERATE 130 0 0
  • 2 TRANSFER 130 0 0

CHAN1 QUEUE 73 20 0.

  • 4 SEIZE 53 0 0
  • 5 DEPART 53 0 0
  • 6 ADVANCE 53 1 0
  • 7 RELEASE 52 0 0
  • 8 TRANSFER 52 0 0

CHAN2 QUEUE 57 8 0.

  • 10 SEIZE 49 1 0
  • 11 DEPART 48 0 0
  • 12 ADVANCE 48 0 0
  • 13 RELEASE 48 0 0
  • 14 SAVEVALUE 48 0 0
  • 15 SAVEVALUE 48 0 0
  • 16 SAVEVALUE 48 0 0
  • 17 SAVEVALUE 48 0 0
  • 18 SAVEVALUE 48 0 0

EXIT TERMINATE 100 0 0.

FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY.

  • 1 53 0.992 11.85 1 96 0 0 0 20
  • 2 49 0.973 12.57 1 111 0 0 0 8

QUEUE MAX CONT. ENTRIES ENTRIES (0) AVE.CONT. AVE. TIME AVE.(-0) RETRY.

1 21 20 73 1 10.36 89.85 91.10 0.

LEN2 9 9 57 3 4.47 49.65 52.41 0.

XACT_GROUP GROUP_SIZE RETRY.

POSITION 0 0.

SAVEVALUE VALUE RETRY.

NUM +633 0.

NUM1 +20 0.

NUM2 +9 0.

NUM3 +89 0.

NUM4 +49 0.

По условию входной поток неограничен и поэтому количество сгенерированных транзактов превышает количество обработанных и выведенных из системы транзактов, которых 100. Перед каждым устройством системы осуществляется сбор статистических данных об очередях с помощью блоков QUEUE, DEPART. Устройства моделируются блоками SEIZE, ADVANCE, RELEASE.

В файле стандартного отчета программы 4 строка QUEUE имеет следующие поля: 1 — номер первой очереди, LEN2 — имя второй очереди (очередь может иметь либо произвольный номер, либо произвольное имя), поле MAX определяет максимальное содержимое очереди в течение периода моделирования (для первой очереди 21, для второй с именем LEN2 — 9), поле CONT. определяет текущее содержимое очереди в конце периода моделирования (для первой очереди 20, для второй с именем LEN2 — 9), поле ENTRIES определяет общее количество входов в очередь в течение периода моделирования (для первой очереди 73, для второй с именем LEN2 — 57), поле ENTRIES (0) определяет общее количество входов в очередь с нулевым временем ожидания (для первой очереди 1, для второй с именем LEN2 — 3), поле AVE. CONT определяет среднее значение содержимого (количество транзактов) очереди (для первой очереди 10.36, для второй с именем LEN2 — 4.47), поле AVE. TIME определяет среднее время, проведенное в очереди с учетом всех входов в очередь (для первой очереди 89.85, для второй с именем LEN2 — 49.65), AVE.(-0) определяет среднее время, проведенное в очереди без учета «нулевых» входов в очередь (для первой очереди 91.10, для второй с именем LEN2 — 52.41), поле RETRY определяет количество транзактов, ожидающих специальных условий, зависящих от состояния очереди (специальных условий в примере нет).

Статистика по транзактам может быть сопоставлена по полям MAX, CONT., ENTRIES и ENTRY_COUNT, CURRENT_COUNT.

Пояснения к полю AVE (-0). Для каждой очереди поле имеет большее время пребывания в очереди, чем для поля AVE.TIME. Это объясняется тем, что каждая очередь имеет какое-то количество нулевых входов, когда транзакты поступают на обслуживание без задержки, если же этих нулевых входов нет, то транзактам бы пришлось находиться в очереди, и значит, увеличивается время пребывания в очереди.

Для статистики блоков SAVEVALUE в файле стандартного отчета отводятся следующие поля. В поле SAVEVALUE указываются имена ячеек (в отчете это NUM, NUM1, NUM2, NUM3, NUM4), в которых сохраняются заданные величины. Сохраняемые величины указываются в поле VALUE (это 633, 20, 9, 89, 49). Поле RETRY определяет количество транзактов, ожидающих наступления специальных условий, зависящих от состояния сохраняемой величины (в примере специальных условий нет).

Контрольные вопросы

Содержание отчета и его форма

Показать весь текст
Заполнить форму текущей работой