[Закрыть]
 
sim.1024.info - портал распределённого логического моделирования
Начало | Новости | Статьи | Форум | Контакты | Карта сайта
sim.1024.info - Статьи - Документация - Форматы файлов - Проект администратора процесса моделирования (АПМ) *.sp

Проект администратора процесса моделирования (АПМ) *.sp

Постоянный адрес статьи

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

  • из всех МодПр, подключённых к сети, выбор тех, на которых будет производиться моделирование схемы;

  • установка параметров МодПр и журнала отчёта перед моделированием каждой конкретной схемы;

  • загрузка структурно-функциональных моделей схемы и входных воздействий перед моделированием;

  • ускорение моделирования нескольких схем за счёт оптимального использования процессоров. Оптимизация состоит в том, что при наличии свободных процессоров одновременно может производится моделирование нескольких независимых схем.

Содержание

Справочник команд проекта АПМ

$<var>=<string>
$<var>=?<AskExpression>

Приоритет: Absolute

Эта команда присваивает значение переменной. После выполнения этой команды значение переменной будет доступно в остальных командах.

Есть два варианта присваивания:

  1. непосредственное присваивание (константа)

  2. запрос у пользователя

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

<Proc>.Comment <string>

Приоритет: Local

Добавить в отчёт моделирующего процессора комментарий. Комментарий добавляется в начале отчета, если включена опция Note. В отчёт можно добавить только одину строку комментария.

Комментарий не может быть пустым.

<Proc>.EL=<path>

Приоритет: Local

Установить путь к файлам библиотеки функций. Функции элементов будут загружаться из указанного каталога.

Эта команда не доступна при использовании системы через веб-интерфейс.

<Proc>.FinishVT <integer>

Приоритет: Local

Установка значения FinishVT - времени, после которого события не будут выполняться. Это время называется временем завершения моделирования.

Поскольку загрузка входного воздействия устанавливает свое значение FinishVT, то значение этого свойства следует устанавливать после загрузки входного воздействия.

<Proc>.Load <file>

Приоритет: Local

Загрузить структурно-функциональную модель схемы или входное воздействие. Тип файла определяется по расширению.

Файл должен быть загружен на сервер в момент создания задачи моделирования.

Select <Proc>[,<Proc>[,…]]

Приоритет: Free

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

<Proc>.EE=<boolean>

Приоритет: Local

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

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

<Proc>.EVL <boolean>

Приоритет: Local

Записывать ли информацию о локальном списке событий в отчет моделирующего процессора.

<Proc>.LVT <boolean>

Приоритет: Local

Записывать ли информацию о локальном виртуальном времени в отчет моделирующего процессора.

<Proc>.Note <boolean>

Приоритет: Local

Записывать ли комментарии в отчет моделирующего процессора.

<Proc>.RepeatProcessor <integer>

Приоритет: Local

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

Значение 0 - не повторять имя процессора.

Значение 1 приведет к изменению формата: имя процессора будет содаржаться в каждой строке.

<Proc>.SE <boolean>

Приоритет: Local

Записывать ли информацию из КПМ в отчет моделирующего процессора.

<Proc>.SE.Call <boolean>

Приоритет: Local

Записывать ли информацию о вызове функций из КПМ в отчет моделирующего процессора.

<Proc>.SFSM.Suspend <boolean>

Приоритет: Local

Записывать ли информацию о необработанных элементах в отчёт моделирующего процессора.

<Proc>.SFSM.Values <boolean>

Приоритет: Local

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

Если значение параметра равно нулю, то в отчёт будут записываться события на выходах схемы.

<Proc>.SFSM.ElementNames <boolean>

Приоритет: Local

Параметр структурно-функциональной схемы, который позволяет включить загрузку имён элементов. Имена элементов будут занимать дополнительную память. Если имена элементов не загружены, то в отчёте моделирующего процессора вместо имён элементов будут их номера, соответствующие порядку следования элементов в файле SSM.

<Proc>.SFSM.NodeNames <boolean>

Приоритет: Local

Параметр структурно-функциональной схемы, который позволяет включить загрузку имён узлов схемы. Имена узлов схемы будут занимать дополнительную память. Если имена узлов схемы не загружены, то в отчете моделирующего процессора вместо имен элементов будут их номера, соответствующие порядку их следования в файле SSM.

<Proc>.Start

Приоритет: Global

Запустить процесс моделирования.

Эта команда может быть указана только после команды Select. После команды Start до следующей команды Select не допускаются никакие команды. После каждой команды Select должна быть расположена команда Start.

<Proc>.Text <string>

Приоритет: Global

Показать текстовое сообщение на экране данного процессора.

Эта команда запрещена при доступе к системе через веб-интерфейс.

Справочник свойств оптимистического КПМ

<Proc>.SE=<boolean>

По умолчанию: 0

Разрешает или запрещает вывод КПМ общей информации о ходе работы КПМ: S.ES+, S.ES-, S.ES!, S.IQ+, S.IQ-, S.SV+, S.SV-, S.OQ!, S.OQ+, S.OQ-, S.OQConfirmed, Note.CI, S?, S!, GVT, Ready, S.Global.

<Proc>.SE.Call=<boolean>

По умолчанию: 0

Разрешает или запрещает вывод информации о вызовах методов КПМ и о проходе контрольных точек внутри КПМ: SE.Call.

<Proc>.DebugCheck=<boolean>

По умолчанию: 0

Выполнение дополнительной проверки целостности всех структур данных при вызове всех методов КПМ. Значительно замедляет моделирование.

<Proc>.SE=<boolean>

По умолчанию: 0

Вывод дополнительной отладочной информации: Note.CI, CI.CountStatePending

<Proc>.SE=<boolean>

По умолчанию: 0

Выводить ли полную информацию о списках КПМ после каждого изменения: S.Ch, S.OQ, S.ES, S.SV, S.IQ. Значительно увеличивает объем ПСС-программы.

<Proc>.SE.ConsVT=<integer>

По умолчанию: -1

Не обрабатывать события, которые произойдут более чем через SE.ConsVT единиц виртуального времени после глобального виртуального времени. Обрабатываются только события с TS<=GVT+SE.ConsVT. Если SE.ConsVT=-1, то обрабатываются все события.

<Proc>.StateHistory=<integer>

По умолчанию: 100

Как часто выполнять вычисление глобального виртуального времени. Очередной шаг вычисления глобального виртуального времени запускается, как только LVT становится больше GVT+StateHistory.

<Proc>.SE=<integer>

По умолчанию: 0

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

Описание конструкций языка проекта АПМ

$<var>

Пример: $DirName

Переменная. Значение можно присвоить переменной, если написать имя переменной с начала строки с последующим символом =, например:

$DirName=Test

присвоит переменной $DirName значение Test.

После присвоения значения переменной, ее имя будет заменяться значением во всех последующих строках. Например:

.Load $DirName/test.ssm

аналогично выполнению

.Load Test/test.ssm

Символ $, записанный непосредственно после имени переменной, игнорируется. Это используется, например, если Вам нужно сразу после имени переменной использовать символ, который является разрешённым для имён переменных:

.Load $DirName$test.ssm

<string>

Пример: A string.

Любая строка.

<file>

Пример: test/test.sti

Имя файла, включая путь.

<Proc>

Пример: P1

Имя процессора. К процессорам можно обращаться только после выделения процессоров и задания им имен командой Select.

Для обращении ко всем выбранным процессорам, имена процессора следует опускать. Например:

.Load test/test.sti

приведёт к загрузке входного воздействия из файла test/test.sti на всех процессорах текущего выделения.

<path>

Пример: ../test

Путь.

Путь должен указывать на каталог, локальный для МодПр, для которого будет выполняться эта команда.

<boolean>

Пример: 1

Значение логического типа. Допустимы следующие значения:

0 - ложь

1 - истина

<integer>

Пример: 25

Значение целого типа.

Запрос значений переменных у пользователя (AskExpression)

int <min>..<max> <default>

Тип значения: <integer>

Пример: int 0..10000 50

Ввод целого значения. Значение по умолчанию - <default>. Вводимое пользователем значение не может выйти за пределы интервала [min..max].

str <default>

Тип значения: <string>

Пример: str ../SPCons/

Ввод строки. Значение по умолчанию - <default>.

bool <default>

Тип значения: <boolean>

Пример: bool 0

Ввод значения булевого типа. Значение по умолчанию - <default>.

set <default>[|<s1>[|<s2>[...]]]

Тип значения: любое

Пример: set M|R|S

Выбор значения из списка возможных значений.

Значения в списке разделяются вертикальной чертой. Первое значение будет принято по умолчанию.

Значения приоритетов команд АПМ

Absolute

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

Free

Такой приоритет есть только у команды Select.

Команда Select выполняется при наличии достаточного количества свободных процессоров.

Global

Команды с таким приоритетом будут выполнены только после того, как освободятся все процессоры, принадлежащие данному выделению.

Local

Команды с приоритетом Local будут выполнены после того, как освободится процессор, на который действует эта команда. Команды с этим приоритетом будут выполнены, если перед этой командой в очереди нет команд с приоритетом Global.

Коды ответов МодПр

101 Выделение принято успешно
102 Загружено успешно
103 Комментарий установлен успешно
104 Текст показан успешно
105 Моделирование завершено. Остановлено успешно.
106 Свойство установлено успешно.
200 Общая ошибка.
201 Неправильное сообщение.
202 Файл не найден.
203 Неправильный файл.
204 Неправильное свойство.
205 Ошибка при запуске моделирования.

В ответ на каждую команду АПМ, МодПр должен прислать ответ. Пока АПМ не получил ответ, он считает, что МодПр занят обработкой команды. МодПр возвращает ответы вместе с комментариями. Коды ответов определяют класс ответа, комментарий - информация для оператора, что конкретно произошло на процессоре.

В локальной версии консоли АПМ выводятся только ответы с ошибками и положительный ответ 105 «Моделирование завершено».

При использовании веб-интерфейса указываются все сообщения.

Последняя модификация: 21.12.06 21:54

Не проходите мимо! Оставьте Ваш комментарий в форуме! >>>

Вход
Поиск[?]: