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

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

Автореферат диссертации по теме "Арифметический полиморфизм в исследовании и проектировании алгоритмов управления ВС"

* л П

ЛистИгут систем информатики СО АН СССР

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

Лядова Людмила Николаевна

УДК 681.3

АРИФМЕТИЧЕСКИЙ ПОЛШОРШЗЫ В ИССЛЕДОВАНИИ И ПРОЕКТИРОВАНИИ АЛГОРИТМОВ УПРАВЛЯЮЩИХ ВС

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

- АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук

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

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

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

Официальные оппоненты: доктор физико-математических наук,

старший научный сотрудник Касьянов Виктор Николаевич,

кандидат физико-математических наук Окольнишников Виктор Васильевич

Ведущая организация - Институт кибернетики имени

В. М. Глушкова АН УССР

Задита диссертации состоится "У/"1991 г. в часов на заседании специализированного совета

Н 003. 93. 01 по лрисувдению ученой степени кандидата наук при Институте систем информатики СО АН СССР яо адресу: 630090, Новосибирск, 90, пр-т Акад. Лаврентьева, 6

С диссертацией можно ознакомиться в читальном зале Отделения ГПНТБ (Новосибирск, 90, пр-т Акад. Лаврентьева, 8)

Автореферат разослан " //" 1991 г.

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

Сабедьфельд В. К

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

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

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

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

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

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

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

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

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

- разработка методов и средств реализации полиморфизма при решении возникающих при проектировании аадач;

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

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

- 4 -

пользуется опыт аналогичных разработок.

Научная новиана.

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

- определено понятие полиморфизма и механизмы его реализации на отдельных шагах процесса проектирования программ:

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

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

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

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

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

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

- включает средства, тозволяндие исследовать разрабатываемые программы с различных тичек зрения (обнаружить ошибки в алгоритмах и реализуювдх их программах, определить временные, точности!* п /путч" ~<гг.-ктегистикн алгоритмов и программ

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

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

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

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

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

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

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

Апробация результатов. Результаты докладывались и обсуждались на Всесоюзной конференции "Применение статистических методов в производстве и управлении", Пермь, 1984; III Всесоюзном • совесрнии "Методы и программы решения оптимизационных задач на графах и сетях", Новосибирск, 1984; ¡Зональной научно-практической конференции "Математические и программные методы проектирования управляющих и информационных систем", Пенза, 1990; Всесоюзной научно-технической конференции с международным участием стран-членов СЭВ "Применение статистических методов в производстве и управлении", Пермь, 19SO; Всесоюзной конференции "Моделирование систем икфсрма-тики", Новосибирск, 1990.

Структура и объем диссертации. Диссертация состоит из введения, трех глав, заключения (содержит 147 страниц машинописного текста, 28 страниц иллюстративного материала) и списка литературы, включающего 64 наименования. К диссертации имеются приложения на 123 страницах.

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

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

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

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

Полиморфная процедура рассматривается как набор процедур Р = {Р^ , Рг , Р5,...}, реализующих заданные вычисления для конкретных типов данных. Каждой процедуре из рассматриваемо-

•- 7 -

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

При проектировании программы управления рассматриваются различные варианты алгоритмов для вычисления управляющих воздействий. Эти варианты являются взаимозаменяемыми (эквивалентными), но могут давать различные (по точности, например) результаты.

На данном этапе алгоритм програят управления рассматривается как подитрфяая процедура., представленная соответствующим ей графом вычислений G = (V, Е), где V = V^u Уди v (V^ - множество вершин, соответствуют}« входным данным для вычислений, VA - мнойвство Л-вершн, представляющих операции над данными, множество v-вершин, объединяющих эквивалентные с алгебраической точки зрения результаты), Е - множество дуг, показывающих информационные связи вершин. Графовая модель программы позволяет выполнить оптимизацию ее алгоритма, основанную на анализе свойств структуры вычисления с заданными числовыми характеристиками.

Одна из основных задач при разработке управляю^« алгоритмов - обеспечение максимальной точности вычислений. Если вершинам графа вычислений 6 = (V, Е) приписать числа, характеризующие погрешность получения исходных данных и выполнения операций^ а дугам - коэффициенты распространения ошибок, то предложенный в работе алгоритм на графовой модели программы, представляющей различные варианты вычислений, подобный алгоритмам поиска кратчайших путей, основанный на разметке графов, позволяет оценить общую погрешность вычислений, соответствующих каждой вершине ere V, на осноге рекуррентных соотношений: eítO» S^ , если u-с V^ ; e(a) если ifc Vv; бОж)» 211 &<и)х,лСГ еели1ГеУл; где Г"'(чг)-

- 8 -

множество вершн, непосредственно предшествующих o-çV, е^-мера погрешности исходных данных для tre Vj^ или ошибки, вносимой в вычисления при выполнении операции, соответствующей вершине Л УЛ, х^ - коэффициент распространения ошибки при передаче данных по дуге (u-, ¡r)ë Е.

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

Если информацию, характеризующую надежность работы различных устройств проектируемой ВС при выполнении операций и передаче данных, приписать соответствующим вершинам и дугам графа вычислений ( р„. - вероятность отказа датчиков для вершин ce V^ или вероятность возникновения ошибки при выполнении операции, связанной с вершиной rt V,, а ри(Г - вероятность потери данных при передаче их по дуге (a, cf)e Е), то приведенный в работе алгоритм позволяет оценить надежность получения результатов при вычислении и выбрать оптимальный (в этом смысле) вариант алгоритма программы. При атом для каждой вершины ire V вычисляется пометка рСт'Ы-ра', если ceVin , Ptu')=tten.(Jpfa) (4-pttl/M-(<-M , если iУе VA, и pfcr)=

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

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

Вторая глава ("Иашинно-независимое проектирование алгоритмов управления в системе Triad") посвящена разработке языковых средств, структур данных и способов реализации ал-

- 9 -

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

Здесь предложены оредзтва языка Triad для инвариантного по отношению к архитектуре проектируемой ВС представления алгоритма программы управления, которые позволяют описать проектируемую программу на любом удобном для пользователя уровне (от ЯВУ и до "ассемблера", вводимого разработчиком).

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

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

Вызов интерпретатора выполняется с помощью оператора compute a on n(fp)(r~iр), где а - ссылка на экземпляр графа вычислений исследуемого алгоритма, п - имя условий интерпретации, fp и fip - списки фактических настроечных параметров и параметров интерфейса. Условия интерпретации - это специальная программная единица, где определяются, в частности, типы и значения исходных данных для вычислений, подключаются средства сбора и обработки информации при интерпретации алгоритма.

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

Алгоритмы выполнения операций, связанных с вершинами

- 10 -

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

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

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

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

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

- 11 -

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

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

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

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

Третья глава ("Кросс-трансляция алгоритмов управления в программу модели целевой ЕС") посвящена разработке средств 'для перевода полученной на первом этапе машнно-независимой модели программы управления в модель объектной программы, соответствующую модели аппаратуры целевой ВС, на которой ее предполагается реализовать.

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

- 12 -

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

В данной работе предложены средства для описания объектной машины на языке Triad. Они включают

- описания типов данных, используемых в модели целевой ЕС;

- описание системы команд объектной машины (ОМ);

- описание структуры памяти ОМ;

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

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

Дополнительные сведения, необходимые для работы кросс-транслятора, сообщаются в специальной программной единице -условиях трансляции (conditions of translation).

Описание типов данных Бключается в описание слоя сообщений модели с помощью операторов введения и определения новых типов языка Triad.

Опжакие системы кошид ОМ содержит

- описания форматов операндов, соответствующих режимам (способам) адресации, методам доступа, реализованным в модели:

- описания классов данных;

- описания форматов команд (полей команд);

- описания образцов операций языка Triad, реализуемых командами ОМ.

Описание форматов операндов - это описание полей в записи операндов в командах объектной малины. Каждое поле описы-

вается селектором введенного в сдое сообщений типа, представляющего формат операнда.

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

Форматы команд описывается соответствующими типами в слое сообщений. Бри описании, если это необходимо, указываются параметры, определяющие номера операндов команды, к которым относятся в ааписи команды селекторы типов (поля адресно- one рандной части, например).

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

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

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

Вся эта информация при вызове кросс-транслятора с по- 14 -

мощью оператора

translate a on n(fp),

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

Процесс кросс-трансляции разбивается при этом на последовательность следующих шагоь:

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

- распределение памяти модели ОЫ;

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

- размещение модели объектной программы а памяти модели ОМ.

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

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

Результат выполнения этого этапа - представление программы в виде графа, где вершинам соответствуют команды це-

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

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

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

Шнятие полиморфизма рассматривается в данном случае на трех различных уровнях: полиморфизм при описания алгоритма управления; полиморфизм процедур, реализующих операции Triad; "полиморфизм" программ кросс-транслятора.

Для реализации полиморфизма описавия апгоритш программы управления разработаны средства языка Triad, графовая машин-но-независимач модель программы, ее представление в памяти инструментальной ЭБМ, алгоритмы анализа ее свойств, средства преобразования.

Полиморфизм при описании модели (рутин) реализуется с помощью специальных "родовых" процедур для каждой операции или функции Triad и средств введения новых типов.

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

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

В приложении приведена структура средств «ьькз Triad и

- 16 -

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

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

1. Лядова Л Я , Шков А. И. Алгоритм статической оптимизации вычислительного процесса на основе вероятностных оценок точности. - В кн.: Тез. докл. Всесоюзной конференции "Применение статистических методов в производстве и управлении". Пермь, 1984, с. 15-16.

2. Миков А. И. , Лядова Л Н. Отношения эквивалентности на графах вычислений. - В кн.: Тез. докл. 111 Всесоюзного совещ-ния "Методы и программы решения оптимизационных задач на графах и сетях". Новосибирск, 1984, с. 148.

3. Лядова Л. Н. Изоморфизм графоь вычислений. - В кн.: Теа. докл. научно-практической конференции молодых ученых ПТУ. Пермь, 1984, с. 10.

4. Миков А. Л , Лядова Л Н. Полиморфные процедуры в исследовании точности вычислений. - В кн.: Моделирование вычислительных систем и процессов. Пермь: Перм. ун-т, 1985, с. 18-27.

5. Лядова Л Е , Миков А. И. Операции над управляющими алгоритмами. - В кн.: Моделирование вычислительных систем и процессов. Пермь: Перм. ун-т, 1986, с. 42-51.

Ь. Лядова Л. Н. Преобразование внутреннего представления алгоритма В текст его описания. Деп. в ВИНЮИ, 10.02.85, N 934-В86, стр. 52-62 в сб. "Математическое обеспечение вычислительных систем".

7. Лядова Л. Я , Маланина Е. Е. Выбор оптимального по надежности алгоритма вычисления. - В кн.: Тез. докл. межвузовской научно-практической конференции, Пермь, 1986, с.10-11.

8. Лядова Л.Н. Использование арифметического полиморфизма при разработке управлявших программ. - В кн.: Тез. докл. научно-практической конференции "Математические и програм-

- 17 -

мные методы проектирования управляющих и информационных систем". Пенза, 19S8, с. 56-57.

9. Лядова Л. К Редукция графов вычислений. - В кн.: Тез. докл. межвузовской конференции молодых ученых. Перл®, 1988, с. 4-5.

10. Замятина Е. R , Лядова Л. Н. Использование информационных процедур при разработке программ управляющих ВС. - В кн.: Тез. докл. зональной конференции "Математические и программные методы проектирования информационных и управляющих систем". Пенза, 1990, с. 55-58.

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

12. Лядова Л. Н. Алгоритм статической оптимизации программ по надежности получения результата на основе вероятностных - оценок. - В кн.: Тез. докл. Всесоюзной научно-технической конференции с международным участием стан членов СЭВ "Применение статистических методов в производстве и управлении". Пермь, 1990, С. 377-378.

13. Замятина Е. Б. , Лядова JL й Исследование управляющих алгоритмов с помощью информационных процедур языка Triad. - В кн.: Гез. докл. 2-й Всесоюзной конференции "Моделирование систем информатики". Новосибирск, 1990, с. 60-61.

14. Лядова Л.Е Совместное проектирование аппаратуры н программ в системе Triad.- В кн.: Моделирование вычислительных систем и процессов. Пермь, 1990, с. SO-37.

15. Лядова Л.Н Таблично-управляемая трансляция программ в системе проектирования Triad. - В кн.: Моделирование вычислительных систем и процессов. Пермь, 1990, с. 98-108.

16. Лядова Л.Е Алгоритм распределения памяти при работе генератора кода, автоматически настраиваемого на архитектуру объектной машины. - В кн.: Моделирование вычислительных систем и процессов. Пермь: Берм, ун-т, 1991.

- 18 -