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

кандидата физико-математических наук
Замятина, Елена Борисовна
город
Новосибирск
год
1993
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Программные механизмы автоматизации имитационного моделирования вычислительных систем»

Автореферат диссертации по теме "Программные механизмы автоматизации имитационного моделирования вычислительных систем"

РГ6 од'

_ ■ * п п 'ГО^Йнститут систем информатики СО РАН 7 О ¡Ии

На правах рукописи

Замятина Елена Борисовна

УДК 681.3

ПРОГРАММНЫЕ МЕХАНИЗМЫ ' АВТОМАТИЗАЦИИ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

АВТОРЕФЕРАТ

Диссертация на соискание ученой степени кандидата физико-математических наук

Новосибирск - 1993

Работа выполнена на кафедре математического обеспечения вычислительных систем механико-математического факультета Пермского ордена Трудового Красного Знамени государственного университета им. А. М. Горького

Научный руководитель - доктор физико-математических наук,

профессор Миков Александр Иванович

Официальные оппоненты: доктор технических наук . Чинин Геннадий Дмитриевич

кандидат технических наук Родионов Алексей Сергеевич

Ведущая организация - Институт проблем информатики РАН

Защита диссертации состоится "£/" _1993г.

в часов на заседании специализированного совета

К 003.93.01 по присуждению ученой степени кандидата наук при Институте систем информатики СО РАН по адресу: 630090, Новосибирск,90, пр-т Акад. Лаврентьева, б

С диссертацией можно ознакомиться в читальном зале библиотеки ВЦ СО РАН (Новосибирск,90,пр-т Акад. Лаврентьева, 6)

Автореферат разослан " / " ¿ыг/иисл_ 1993г.

/

Ученый секретарь .

специализированного совета, у^у^у кандидат физико-математических Бульонков М. А.

наук

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Одной из областей применения вычислительной техники в настоящее время является создание встроенных в оборудование систем автоматического управления (САУ). САУ реализуются на основе микропроцессоров и управляющих микро-ЭВМ. Программы, которые управляют работой микро-ЭВМ и микропроцессорами, размещаются в ПЗУ, а вычислительные системы (ВС) подобного рода принято рассматривать как комплекс "аппаратура-программы управления".

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

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

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

Эффективность этого процесса зависит от применяемых программных средств, автоматизирующих как отдельные этапы в технологической цепи моделирования, так и весь процесс. Задачи автоматизации в той или иной степени решаются в таких известных системах имитационного моделирования как АИС (авторы - Калашников В. В., Лутков Б. а и др.), Симула - ИПМ (Андрианов А. а , Бычков С. П. , Хорошилов А. И.), АСИМ, PLSIM ( Максимей И. В. и др.), АПИМ (Альянах И. М.), САПАС (Пранявичус Г. Й.), SIMAN( Davis D. , Pelden D.), GPSS(Schnber Т.), SLAM - 2(Прицкер А.) и т.д.

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

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

- разработка математических моделей алгоритмов исследования проектируемых ВС, представляющих их структур данных и методов их реализации на инструментальной ЭВМ;

- разработка алгоритма доопределения частично описанных моделей ВС, структур данных, языковых средств и алгоритмов для реализации основных компонент подсистемы доопределения моделей;

- разработка пакета программ, автоматизирующих решение широкого круга задач, которые стоят перед конструктором в процессе проектирования и исследования ВС;

- разработка методов, программных механизмов, поддерживающих отладку моделей аппаратуры и программ управления, способы их реализации и отображения в памяти инструментальной ЭВМ;

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

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

Научная новизна. Для решения поставленных задач:

- дано формализованное представление информационных процедур и условий моделирования, которые являются инструментальными средствами, реализующими алгоритм исследования ВС (комплекса "аппаратура-программы управления");

- разработаны структуры данных и алгоритмы, поддерживающие

аппарат информационных процедур и условий моделирования;

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

- разработаны программные механизмы для поддержки операторов управления экспериментом (средства рестарта, параллельной имитации двух или нескольких моделей ВС, средства установления стационарного режима при статистическом моделировании);

- предложены программные средства для автоматизации таких этапов моделирования как отладка моделей аппаратуры и программ управления (автономная и комплексная);

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

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

Алгоритм преобразования информации удовлетворяет следующим требованиям:

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

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

Кроме того, данная разработка:

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

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

- позволяет конструктору управлять экспериментом (зафикси-

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

Результаты исследований были использованы при выполнении работ по хоздоговорным НИР.

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

Апробация результатов. Результаты докладывались и обсуждались на зональной конференции "Математические и программные методы проектирования управляющих и информационных систем",Пенза, 1988 и 1990; научно-практической конференции "Методы и средства создания САПР и эксперных систем",Пермь,1989; Всесоюзной научно-технической конференции с международным участием стран членов СЭВ "Применение статистических методов в производстве и управлении", Пермь, 1990; Всесоюзной конференции "Моделирование систем информатики", Новосибирск,1990.

Структура и объем диссертации. Диссертация представлена в 2 томах. Первый том состоит из введения, 4 глав и заключения. Он содержит 130 страниц машинописного текста, 27 рисунков, таблицу и список используемых источников из 103 наименований. Второй том (172 страницы) включает 9 приложений (которые иллюстрированы 6 таблицами, 31 рисунком) и список используемых источников (43 наименования) .

СОДЕРЖАНИЕ РАБОТЫ

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

Первая глава ("Исследование ВС методом имитации") содержит обзор технологических возможностей существующих языков и систем моделирования, а именно, дается анализ представления обобщенного алгоритма преобразования информации SIM в ходе имитации (алгоритма имитации SIM0 и алгоритма исследования F модели ВС); прог-

раммных механизмов отладки моделей и средств управления машинным экспериментом. Далее в главе выдвигаются требования к разработке алгоритма преобразования информации SIM в системе моделирования (CM) TRIAD, а также, приводятся языковые конструкции алгоритма исследования и управления экспериментом.

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

Наиболее эффективным является алгоритм преобразования информации, в котором функции имитации и исследования модели разделены и который можно представить в виде SIM - i(SIMD,F).

Алгоритм преобразования SIM предполагает получение некоторого набора Rj,, - .г, _____числовых характеристик модели

ju , Гф. в свою очередь является комплексным показателем качества, г,,- г^ (Ju.fi (jO,f4 (/и),..., f* 0»)). fi(|4) = i компонента при вычислении показателя г9. Набор F = {g^g^.... ,gn} - информационный алгоритм.

Разработка алгоритма SIM в CM TRIAD предполагает оперативное изменение алгоритма исследования без перетрансляции модели, возможность произведения операций над моделями с последующим исследованием модифицированной модели с помощью прежнего алгоритма исследования (если в этом есть необходимость). Кроме того, конструктор обеспечен языковыми и программными средствами для разработки собственнных процедур с целью вычисления уникальных характеристик модели ВС; средствами параллельной имитации, рестарта и установления стационарного режима, средствами исследования алгоритмов управления и частично описанных моделей. Информационный алгоритм F представляет собой совокупность информационных процедур fj и условий моделирования

Информационные процедуры является программной интерпретаци-

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

Модель в CM TRIAD представлена тройкой ju = {STR,ROUT,MES>, где STR - слой структур (отображает устройства и связи между ними), R0UT - слой рутин (алгоритмов поведения устройств), MES -слой сообщений (представляет структуру сигналов, которыми обмениваются устройства и алгоритмы их преобразования). Рутины определяются на множестве событий Ej= ie1(ea ,...,eL > и множестве состояний Qj= {qi,qa,____,qM>. Состояние рутин определяется значениями переменных var£. Рутины erj и информационные процедуры fj работают как сопрограммы. Управление информационной процедуре рутина передает в следующих случаях: при изменении состояния рутины (предполагается, что переменная varj, рутины сменила свое значение); при возникновении события eJ£EEj, где Ej- множество событий erj ; при поступлении сигнала (или выработки сигнала) на полюс р£Ро1],где Polj- множество входных и выходных полюсов рутины. Информационная процедура определяется следующим образом:

fjiaeri ,ег;) = г^ , где r,i- i компонента при вычислении показателя качества г^, aerj-элемент множества Аег; (множество контролируемых переменных, событий, полюсов рутины).

Исходя из функционального назначения информационной процедуры (information procédure), тело ее целесообразно представить тремя блоками: начальным (объявление и инициализация локальных переменных) ; основным (накопление и обработка информации) ; финальным (вычисление интегральных характеристик). Начальный блок выполняется до процесса имитации, финальный - по окончании его, начальный и финальный блоки не являются обязательными. Основной блок выполняется всякий раз при выпонении оператора СО (аег ) рутины, операнд которого является элементом множества Аег . Информационная процедура параметризована. Настроечные параметры устанавливаются на все время имитационного прогона. Входные параметры интерфейса определяют тип контролируемого элемента модели, активизацию которого фиксирует информационная процедура. Выходные параметры получают свои значения по окончании процесса имитации.

Для того, чтобы определить, какой именно вход" информационной процедуры "подключен" к контролируемому элементу модели,

в текст описания информационной процедуры вводят оператор case of. Некоторые входные параметры интерфейса информационной процедуры могут быть объявлены пассивными (оператор passive). Они используются при вычислении характеристик модели, но за изменением соответствующих им элементов модели информационная процедура не следит. Операторы interlock и available блокируют вход и снимают блокировку с входов информационной процедуры. Информационные процедуры предназначены также для обработки переменных новых типов. Новые типы определяются в слое сообщений. Тип входного параметра можно определить как ref state. В этом случае информационная процедура лишь фиксирует активизацию контролируемого элемента, соответствующего этому формальному параметру. Информация об исследуемой модели может быть выведена на АЦПУ, дисплей или графопостроитель, при этом используются соответствующие операторы вывода.

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

Запуск процесса имитации производится по оператору

- 10 -

simulate LEXM on N(pf)(pif), где LEXM - список экземпляров'модели, (возможна параллельная имитация экземпляров, перечисленных в списке), N - имя условий моделирования, pf - список фактических настроечных параметров, pif - список фактических параметров интерфейса.

Средства рестарта подерживаются операторами siaulate* и renew. По оператору simulate* производится фиксация состояния модели и накопленнных статистик, по оператору rener моделирование продолжается с зафиксированнного состояния.

Вторая глава ("Доопределение частично описанных моделей") посвящена разработке математической модели алгоритма доопределения моделей ВС, описанных пользователем частично; разработке языковых конструкций, структур данных и способов реализации ал-горита доопределения моделей на инструментальной ЭВМ.

Доопределение моделей в CM TRIAD может быть выполнено автоматически и полуавтоматически и представляет собой дополнительные фазы обработки моделей перед процессом имитации.

Автоматическое доопределение предполагает обработку частично описанных моделей ju = {STR,ROUT*,MES}, в которых конструктором не определено поведение ряда устройств, и производится специальной подсистемой CM TRIAD - подсистемой доопределения моделей (ПДМ). ПДМ включает: накопленные на предыдущих этапах итерационного процесса проектирования знания о модели (базу знаний экземпляров рутин); библиотеку экземпляров рутин; преобразователь и анализатор моделей; базу правил.

Структура иерархической модели ВС в CM TRIAD представлена в виде списковой структуры. Математической моделью списковой структуры является представляющий граф 6Г. Каждая вершина представляющего графа принадлежит определенному классу - классу дескрипторов одного типа. Так вершины графа Gr, которым поставлены в соответствие устройства ВС, представлены дескрипторами den. В полной модели, (GF), каждой терминальной вершине соответствует экземпляр рутины(ЭР).

ЭР - объектный код, реализующий алгоритм поведения устройства, и дескрипторы - статические структуры, используемые для описания ЭР при управлении процессом имитации. ЭР после очередного шага проектирования могут быть помещены в БЭР(библиотеку экземпляров рутин) с помощью специального оператора записи в библиотеку. Применение библиотек является ■ одним из способов

проблемной ориентации универсальных ЯМ, поскольку позволяет конструктору оперировать новыми понятиями, не определенными в базовом ЯМ. Новые понятия включаются самим конструктором.

Дескрипторы ЭР (drn), как впрочем и дескрипторы вершин (den), содержат ссылку на семантический тип. Семантический тип -специальное понятие. Оно вводится конструктором с целью сгруппировать ряд объектов по некоторому смысловому, структурному или поведенческому типам. Причислить объект (модель, вершину, рутину и т.д.) к тому или иному семантическим типам можно при объявлении этого объекта или .используя специальный оператор.

При записи ЭР в библиотеку сведения о нем автоматически заносятся в базу знаний экземпляров рутин(БЗЭР) по определенным грамматическим правилам на основании проверки выполнения условий наложения ЭР на соответствующую ему вершину( условий специализации, конфигурации, декомпозиции). Условие специализации считается выполненным, если терминальная вершина Vj и ЭР имеют один и тот же семантический тип, то есть значение функции egutype(v.u) = true. Условие конфигурации предполагает проверку количества входных и выходных полюсов vi и ЭР. Условие считается выполненным, если |I(v*)| >- |ЕХ(6,Г) |. |0(vf)| >= |Е0( G») |, К v') ,0( v*) -множества входных и выходных полюсов терминальной вершины, EjfGi), E0(G») - множества входных и выходных полюсов ЭР, представленного графом .G». Условия декомпозиции определяются правилами соединения вершин в модели и выводятся из соотношений смежности терминальной вершины v- с вершинами-предшественницами и вершинами-потомками.

Анализатор модели производит грамматический разбор модели и обнаруживает множество терминальных вершин (V1) с отсутствующими ЭР. Для каждой терминальной вершины Vj£v' анализатор определяет семантический тип tn = type(vi). Кроме того, анализатор модели определяет количество входов и выходов вершины(гип = id(vf), nout » od(vj)); множества вершин-потомков и вершин-предшественниц (Г) и Г (v')). С помощью этой информации по определенным правилам строят граф-образец G'. Далее, используя граф G* и информацию из БЗЭР, преобразователь модели определяет соответствующий вершине ЭР, извлекает его из БЭР и производит операцию наложения ЭР на вершину, тем самым преобразуя и доопределяя модель.

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

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

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

Третья глава ("Пакет информационных процедур") посвящена описанию состава и методике применения пакета встроенных информационных процедур Н&АМ. Пакет Н&АМ представляет собой часть информационного алгоритма F CM TRIAD и предназначен для решения широкого круга задач, которые стоят перед конструктором в ходе проектирования и исследования ВС.

Информационные процедуры позволяют выявить: (а) текущее состояние модели или отдельных ее компонент; (б) осуществить наблюдение за ходом функционирования моделей (выявить последовательность возникновения событий, проследить за обменом сообщений между- устройствами и определить значения этих сообщений); (в) произвести замеры времени (между двумя событиями ет,еа£Е, приходами или выдачей сообщений с полюсов рк, pt С Pol, зафиксировать интервал времени, когда модель находится в том или ином состоянии); (г) накапливать значения контролируемых локальных переменных varp£Var, производить их обработку для вычисления интегральных характеристик модели ВС (вычисление среднего, дисперсии, количества обращений к тому или иному устройству).

Пакет Н&АМ позволяет проводить как автономное исследование аппаратуры и программ управления на машинно-независимом этапе их разработки, так и комплексное(совместное) исследование моделей ВС.

С помощью пакета Н&АМ конструктор может (а) осуществить анализ производительности ВС; (б) анализ производительности программ управления на машинно-независимом этапе их разработки;

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

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

Так, используя пакет Н#АМ, конструктор может выявить ошибки, связанные (а) с некорректным определением временных задержек; (б) с неверным обменом сигналами (трассировка входных и выходных полюсов, на которые поступают сигналы); (в) с семантической некорректностью сигналов (определение значения поступившего на входной полюс (или выработанного на выходном полюсе) сигнала; (г) с семантической некорректностью последовательности состояний (трассировка значений переменных во время имитационного прогона, распечатка значений всех переменных var£, локализованных в рутине до и после совершения очередного события).

Информационные процедуры являются единственным инструментальным средством CM TRIAD, которое имеет доступ к переменным, локализованным в разных рутинах в один и тот же момент времени, и, поэтому их применяют для выявления запрещенных состояний модели.

Первым этапом разработки управляющего алгоритма является машинно-независимый. Управляющий алгоритм должен быть предварительно отлажен и лишь потом, с помощью кросс-транслятора, переведен в "машинные программы" проектируемой ВС. Информационные процедуры пакета Н&АМ являются инструментальными средствами для выявления (а) ошибок управления и логики программ (трассировка меток, распечатка или вывод на экран значений контролируемых переменных программы управления перед всеми операторами перехода); (б) ошибок, связанных с некорректной последовательностью действий; (в) ошибок инициализации и некорректного преобразования данных (распечатка значения контролируемой переменной при выпол-

- 14 -

нении оператора присваивания).

Пакет реализован с помощью процедур, написанных как на ЯМ TRIAD, так и на общеалгоритмических языках, в частности, на ассемблере. Введение в состав пакета Н&АМ встроенных процедур, реализованных с помощью ассемблера, обусловлено необходимостью извлечения полезной информации из системных таблиц CM TRIAD, структура которых и содержание скрыты от пользователя. Так становится возможной pácne4aTKa календаря событий, системной очереди OUTLIST (список значений сигналов и направление их передачи до и после выполнения очередного события).

CM TRIAD располагает инструментальными средствами расширения пакета Н&АМ.

Четвертая глава ("Организация процесса имитации") посвящена вопросам реализации алгоритма преобразования информации в ходе имитации. Процесс имитации в CM TRIAD поддерживается специальной программой - Симулятором (реализует алгоритм SIMO), а сбор и обработка информации - совокупностью информационных процедур fj и условиями моделирования f¿ и g<y реализуют информационный алгоритм F). Алгоритмы SIMD и F отвечают требованиям, специфицирующим CM TRIAD, и, кроме того, должны: (а) учитывать возможность раздельной компиляции различных программных единиц CM TRIAD (информационных процедур, условий моделирования, рутин, структур и т.д.); (б) обеспечивать высокую скорость моделирования; (в) учитывать ограниченный объем памяти инструментальной ЭВМ.

.Обобщенный алгоритм преобразования информации Ф = (SIM0.F) включает действия по построению дополнительных информационных структур,jпо их преобразованию и по управлению ходом моделирования.

Трансляция текста информационнной процедуры сводится к генерации в памяти инструментальной ЭВМ трех фрагментов программ: Р( Initdj)) ,P(Main(fj)), Р( Proc(f-)), интерпретирующим начальный, основной и финальный блоки f¡ ; построению списков формальных настроечных параметров и параметров интерфейса и дополнительной структуры If, размещенной в статической области памяти CM TRIAD. Структура If содержит адреса фрагментов программ, адреса списков формальных параметров и ссылку на имя информационной процедуры. Для передачи информации из рутин в информационные процедуры во время процесса имитации необходимо установить связь между контролируемыми элементами aerí рутин и соответствующими им входами

- 15 - _

во фрагменты программ P(Main(f;)), i = 1,D, D - количество экземпляров информационных процедур, подключенных к контролируемому элементу аег]. Связь устанавливается при трансляции условий моделирования и оператора simulate.

Трансляция условий моделирования предполагает генерацию в памяти инструментальной ЭВМ кодов команд, реализующих начальный. основной и финальный блоки условий моделирования; построение в статической области памяти структуры lg со ссылками на эти коды, имя условий моделирования, построенные списки формальных настроечных параметров условий моделирования и параметров интерфейса.

Основной блок содержит операторы управления ходом моделирования Controlm и операторы вызова информационных процедур Са11Л( у,, f;). v„- входные формальные параметры условий моделирования. Фрагмент Р(Мат(^)). интерпретирующий основной блок, содержит коды команд, реализующие операторы управления ходом моделирования. При обработке операторов вызова Cal 1J у?, f;) генерируются коды команд, реализующие процедуры построения экземпляров информационных процедур - структур dip(f:) со ссылками на фрагменты программ Р( Init(fj), PtMainifj)), P(Proc(f5)), списки фактических настроечных параметров и параметров интерфейса и адрес лекальной области данных. Память для локальной области данных экземпляра информационной процедуры выделяется динамически в момент построения этого экземпляра. По окончании трансляции условий моделирования устанавливанется связь между формальными настроечными параметрами у^ и точками входа во фрагменты программ P(Main(fj)). Для установления связи строится список LPI с элементами (yj.GVj), GVt( - ггаф с вершинами dip(fj)), представляющий собой цепь, первая вершина в цепи - Vhead.

Главней особенностью реализации алгоритма SIM является разработка алгоритма связывания контролируемых элементов модели и экземпляров информационных процедур. Для пользователя CM TRIAD результатом связывания является построение команд вызова соответствующего набора f; в тексте рутин вслед за операторами СОг(аег.). При выборе способа реализации рассмотрены различные варианты и сделан вывод о необходимости построения дополнительной структуры связывания в изменяемой части экземпляра рутины, каковей является область локальных данных экземпляра рутины. Элементами структур связывания являются пары iaer} ,GV(}.

При трансляции оператора sicsulate устанавливается связь aerí -> у?, а затем, после просмотра списка LPI - связь аег!-> 54d. В локальной области данных каждого экземпляра рутины строится массив AAI с элементами s:

[Tz,GVd), если od(Vhead) л= О

[(2,0), если od(Vhead) =0, где z - номер контролируемого элемента аег рутины, который присваивается ему во времы трансляции, od(Vhead) - количество выходов вершины Vhead графа GVd.

Во время имитационного прогона, при выполнении оператора С0,,(аег|) определяют элемент s массива AAI, ключом поиска является номер z контролируемого элемента аег рутины. Если od(Vhead)i = 0, то вызывается процедура go, которая .используя граф GVd, осуществляет последовательную передачу управления во фрагменты программ P(Main(fi))(B информационные процедуры, "подключенные" к контролируемому элементу).

Далее в главе 4 рассматриваются аспекты реализации специальных операторов, в тем числе операторов рестарта: siezilate* и гепевг. Выполнение оператора siexilate* отличается от выполнения оператора simúlate тем, что по окончании имитационного прогона сохраняютя статистики информационных процедур, используемых в алгоритме исследования, а именно, сохраняются построенные дескрипторы dip(fj) и локальные области данных экземпляров информационных процедур. При реализации оператора renew в начале имитационного прогона строится массив AAI с учетом накопленных статистик в операторе simúlate*. Если контролируемый элемент модели aer¿ был исследован на одном из предыдущих шагов имитации и запуск имитации был осуществлен оператором si míate*, и этот же элемент предполагается исследовать о помощью того же набора информационных процедур, то дескрипторы dip(f3) и ло-кшьные области данных не создаютя вновь, а восстанавливаются. Исследование продолжается с зафиксированной точки.

В заключении сформулированы основные результаты работы.

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

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

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

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

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

Результаты работы использовались при выполнении хоздоговорных НИР с Пермским агрегатно-конструкторским бюро и при чтении спецкурсов на мехаьико-математическом факультете.

В приложении приводятся сведения о технологических возможностях существующих ЯМ и СМ, представлены синтаксические диаграммы языковых конструкций, поддерживающих алгоритм преобразования информации CM TRIAD. Кроме того, приводятся программы исследования v отладки моделей цифровой системы управления с использованием предложенных в работе средств, тексты информационных процедур, имитирующих средства диагностирования цифровой аппаратуры, и тексты процедур, исследующих эффективность методов диагностирования.

Основные положения диссертации опубликованы в следующих работах:

1. Замятина Е. В. Реализация информационных процедур и уело-

вий моделирования. //Моделирование вычислительных систем и процессов. - Пермь: Перм. ун-т. ,1989, с. 48-54

2. Замятина Е. Б. Программная поддержка процессов сбора информации при имитационном моделировании. //Тез. докл. научно-практической конференции "Методы и средства создания САПР и экспертных систем",Пермь,НПО "Парма",1989,с. 20

3. Замятина Е. Б. Реализация слоя сообщений в языке TRIAD. //Моделирование вычислительных систем и процессов. -Пермь. : Перм. унт. ,1991, с. 19-33

4. Замятина Е. Б. Программная поддержка сбора и анализа статистических данных в системе TRIAD. //Тез. докл. Всесоюзной научно -технической конференции с международным участием стран членов СЭВ "Применение статистических методов в производстве и управлении". Пермь, 1990, с. 360-361

5. Замятина Е. Б. Доопределение частично описанных моделей в системе TRIAD.//Математика программных систем.- Пермь: Перм. ун-т. ,1992, с. 38-47

6. Замятина Е. Б. .Калинина Т. Б. .Яковлев В. В. Анализ характеристик управляющих вычислительных систем по имитационным моделям. //Тез. докл. к зональной конференции "Математические и программные методы проектирования управляющих и информационных систем", Пенза,9-10 июня, 1988,с. 65-67

7. Замятина Е. Б. , Миков А. И. Пакет информационных процедур при исследовании ВС. //Моделирование вычислительных систем и процессов. - Пермь.: Перм. ун-т. ,1990,с. 44-45

8. Замятина Е. Б. , Лядова Л. Н. Исследование управляющих алгоритмов с помошью информационных процедур языка TRIAD. //Тез. доКл. 2-ой Всесоюзной конференции "Моделирование систем информатики.", Новосибирск, 1990, с.60-61

9. Замятина Е. Б. , Лядова Л. К Использование информационных процедур при разработке программ управляющих ВС. //Тез. докл. к зональной конференции "Математические и программные методы проектирования информационных и управляющих систем", Пенза,28-29 мая,1990, с.56-57

10. Замятина Е. Б. .Лядова JLE Статистический анализ управляющих программ с помощью информационных процедур языка TRIAD// Тез. докл. Всесоюзной научно-технической конференции с международным участием стран членов СЭВ "Применение статистических методов в производстве и управлении", Пермь,1990,с. 362-363