Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METHOD-rdo.doc
Скачиваний:
55
Добавлен:
31.03.2015
Размер:
606.72 Кб
Скачать

4. Объекты трассировки и сбора статистики

4.1. Объект трассировки

Этот объект создается РДО-имитатором, если в объекте прогона присутствует дескриптор, задающий имя объекта трассировки. Объект имеет расширение .trc и следующий формат:

Results_file = <имя_объекта_результатов>.pmv <дата_создания>

Run_file = <имя_прогона>.smr

Model_name = <имя_модели>

Resource_file = <имя_объекта_ресурсов>.rss

OprIev_file = <имя_объекта_операция>.opr

$Changes

<список_изменений>

$Watching

{ <описание_трассируемого_показателя> }

rасing

<трассировка>

$Status = <статус_окончания_моделирования> <модельное_время_окончания>

{ <статистика_по_поиску_на_графе> }

DPS_MM <объем_использованной_памяти>

Имена модели, объекта ресурсов и объекта операций  это имена, заданные в объекте прогона. Список изменений содержит имена и новые значения символьных констант, параметров ресурсов и баз генераторов последовательностей, заданные в объекте прогона. Описание трассируемого показателя приводится только для тех показателей, для которых в объекте описания показателей задан признак трассировки trace. Описание трассируемого показателя имеет формат:

<имя_показателя> <номер_показателя> <вид_показателя>

Имя показателя  это одно из имен, заданных в объекте описания показателей. Номер показателя определяется порядком описания показателей в этом объекте, вид показателя также описан в этом объекте.

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

Информация о событии располагается на отдельной строке, которая имеет следующий формат:

Е<тип_события> <время> <информация_о_событии>

Строка трассировки события начинается символом "Е". Второй символ строки определяет тип события. Возможны следующие типы и соответствующие им символы:

S  служебное событие;

В  начало действия;

Е  окончание действия;

I  нерегулярное событие;

R  продукционное правило.

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

1  начало трассировки;

2  конец трассировки;

3  начало моделирования;

4  завершение процесса поиска на графе состояний в точке принятия решений.

Для событий начала и окончания действий информация о событии имеет следующий формат:

<номер_действия> <номер_операции> <номер_образца> <число_релевантных_ресурсов> <список_номеров>

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

Для нерегулярных событий информация о событии имеет следующий формат:

<номер_нерегулярного_события> <номер_образца> <число_релевантных_ресурсов> <список_номеров>

Для продукционных правил информация о событии имеет следующий формат:

<номер_действия> <номер_правила> <номер_образца> <число_релевантных_ресурсов> <список_номеров>

Трассировка состояния ресурсов включает в себя информацию обо всех изменениях состояния ресурсов. В момент изменения состояния трассируемого ресурса в объект трассировки выдается отдельная строка следующего формата:

R<символ_статуса> <время> <номер_типа> <номер_ресурса> <новые_значения_параметров>

Символ статуса показывает, что произошло с ресурсом в целом:

С  ресурс создан;

Е  ресурс уничтожен;

К  значения параметров ресурса изменились.

Номер типа и номер ресурса определяются порядком следования типов и ресурсов в объекте описания типов и объекте ресурсов соответственно. Новые значения параметров выводятся в объект в порядке следования параметров при описании типов ресурсов. Для перечислимых параметров выводятся не имена значений, а их номера. При этом первому имени значения присваивается номер 0, второму  1 и так далее.

Трассировка состояния ресурсов производится только в том случае, если текущее модельное время больше или равно времени начала трассировки и меньше или равно времени окончания трассировки, и если для ресурса в объекте ресурсов указан признак трассировки trace. Для ресурсов, которые уничтожаются (символ статуса "Е"), новые значения параметров не выводятся.

Строка трассировки показателя имеет следующий формат:

V <время> <номер_показателя> <значение>

Номер показателя  это номер, указанный для трассируемых показателей в секции $Watching объекта трассировки. Трассировка показателей производится в момент изменения значения параметра, числа временных ресурсов, значения логического выражения (для показателя вида watch_state) или в момент уничтожения ресурса (для показателя вида watch_value). Значение зависит от вида показателя. Ниже приведены значения для всех видов показателей:

watch_par – новое значение параметра постоянного ресурса;

watch_state – новое значение логического выражения;

watch_quant – новое значение количества временных ресурсов;

watch_value –значение арифметического выражения в момент уничтожения временного ресурса.

Трассировка показателя вида get_value не производится.

Пример трассировки показателей:

V 0.0000 1 FALSE

V 0.4300 22 6

V 0.5530 24 2.0000

Трассировка процесса поиска на графе в точке принятия решений типа search позволяет полностью восстановить картину поиска и полученный граф. Формат трассировки имеет вид:

<начало_поиска>

[ <информация_о_поиске> ]

[<решение>]

<окончание_поиска>

Трассировка начала и окончания поиска и трассировка решения присутствуют в объекте трассировки, если в описании точки принятия решений указан любой признак трассировки, кроме no_trace.

Формат информации о начале поиска:

SB <модельнюе_время> <номер_точки_принятия_решения>

Трассировка окончания поиска имеет формат:

SE<признак> <модельное_время> <время_счета> <обьем_памяти_для_поиска> <значение_стоимости_решения> <число_раскрытых_вершин> <число_вершин_в_графе> <число_включавшихся_в_граф_вершин> <число_порожденных_вершин>

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

S  успешное завершение поиска с нахождением решения;

М  не хватило памяти для поиска;

F  произошла ошибка записи в файл трассировки;

U  неизвестная ошибка.

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

Трассировка решения имеет формат:

SD { <номер_вершины> <номер_активности> <номер_образца>

<число_релевантных_ресурсов> <номера_релевантных_ресурсов> }

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

Пример результата трассировки точки принятия решений типа search (с признаком трассировки trace_stat):

SB 10.3451

SD

187 2 2 6 1 11 2 11 3 11

993 1 1 3 1 2 3

1009 4 4 6 1 11 2 11 3 11

1906 4 4 6 1 11 2 11 3 11

3252 4 4 6 1 11 2 11 3 11

SES 0 1207.8 327680 2.59395е+09 11632 15540 27934 96292

Информация о поиске включает данные о вершинах графа поиска, порожденных в процессе поиска. Она выводится в объект трассировки, если признак трассировки для данной точки принятия решений есть trace_tops или trace_all и состоит из блоков вида:

<трассировка_раскрываемой_вершины>

{ <порожденная_вершина> [ <трассировка_измененных_ресурсов> ] }

Трассировка раскрываемой вершины имеет формат:

SO <номер_вершины> <номер_родителя> <стоимость_пути> <значение_оценочной_функции>

Номер вершины и номер родителя  это номера раскрываемой вершины и ее родителя в графе поиска. Далее указана стоимость пути от исходной вершины к данной и значение оценочной функции для данной вершины.

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

Информация о преемнике имеет формат:

ST <признак_вершины> <номер_вершины> <номер_вершины_родителя> <стоимость_пути> <значение_оценки_стоимости_оставшегося_пути> <номер_правила> <номер_образца> <стоимость_применения_правила> <число_релевантных_ресурсов> <номера_релевантных_ресурсов>

Признак вершины имеет значение N, если вершина с таким состоянием системы не содержится в уже построенной части графа; значение D  если вершина с таким состоянием уже есть, и она не включается в граф (вновь найденный путь имеет большую стоимость); значение R  если вершина с таким состоянием уже есть в графе, и она перезаписывается, поскольку вновь найденный путь имеет меньшую стоимость.

Трассировка измененных ресурсов для порождаемых вершин происходит в том случае, если признак трассировки для данной точки принятия решений есть trace_all. Новое состояние ресурса выдается в формате, описанном ранее (трассировка состояния ресурсов). Отличие состоит в том, что строка, содержащая новое состояние ресурса, начинается с префикса "S".

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

NORMAL_TERMINATION  нормальное завершение моделирования при выполнении условия окончания моделирования, заданного в прогоне;

NO_MORE_EVENTS  нет больше событий в модели;

USER_BREAK  моделирование завершилось из-за вмешательства пользователя, который завершил РДО-имитатор одной из возможных команд (см. главу 5);

RUN_TIME_ERROR — моделирование завершилось из-за ошибки во время счета (информация об ошибке выводится в окно диалога РДО-имитатора).

Статистика по поиску на графе для каждой точки принятия решений типа search имеет формат:

DPS_C <номер_точки> <число_активаций> <число_успешных>

DPS_TM <среднее_время_поиска> <минимальное_время_поиска> <максимальное_время_поиска>

DPS_ME <средний_объем_памяти> <минимальный_объем_памяти> <максимальный_объем_памяти>

DPS_CO <средняя_стоимость_решения> <минимальная_стоимость_решения> <максимальная_стоимость_решения>

DPS_ТО <среднее_число_раскрытых_вершин> <минимальное_число_раскрытых_вершин> <максимальное_число_раскрытых_вершин>

DPS_TT <среднее_число_вершин_в_графе> <минимальное_число_вершин_в_графе> <максимальное_число_вершин_в_графе>

DPSI <среднее_число_включенных_в_граф_вершин> <минимальное_число_включенных_в_граф_вершин> <максимальное_число_включенных_в_граф_вершин>

DPS_TG <среднее_число_порожденных_вершин> <минимальное_число_порожденных_вершин> <максимальное_число_порожденных_вершин>

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

Пример выдачи статистической информации по поиску на графе:

DPS_C 1 1 1

DPS_TM 193.816 193.816 193.816

DPS_ME 7458816 7458816 7458816

DPS_CO 1.28515e+09 1.28515e+09 1.28515e+09

DPS_TO 10204 10204 10204

DPS_TT 20261 20261 20261

DPS_TI 21109 21109 21109

DPS_TG 38894 38894 38894

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]