Введение к работе
Актуальность темы. Одна из областей применения средств вычислительной техники - использование встраиваемых микро-ЭШ, основным назначением которых является замена жесткой логики на программируемую при управлении работой различных устройств. Программы работы встраиваемых микроэвм размещаются в ПЗУ, поэтому такие вычислительные системы (ВС) принято рассматривать как комплекс "аппаратура - программы управления".
Основное требование к управляющей ВС - безусловное выполнение всех запланированных функций при малых габаритах и затратах анергии. В этом случае особое значение приобретает проблема "качество - точность - быстродействие". При этом качество управления зависит как от алгоритма управления, так и от его реализации в виде программы проектируемой ВС. Поэтому выбор оптимального алгоритма, разработка программы управления - одна из основных задач при проектировании ВС, которая должна решаться параллельно с конструированием, аппаратных средств встраиваемой микроэвм.
Большинство разрабатываемых систем автоматизации проектирования ориентировано на решение определенной (ограниченной, относящейся к одному шагу, процесса проектирования или аспекту исследования) задачи или нескольких взаимосвязанных задач, на раздельное проектирование аппаратуры и программ. При этом при переходе к следующему шагу (задаче) отсутствует преемственность в использовании полученных ранее результатов, согласованность с процессом проектирования аппаратуры (особенно на начальных шагах разработки). Кроме того, такие системы зачастую ориентированы на проектирование ВС определенной архитектуры или узкого класса архитектур. Они позволяют получать хорошие результаты на отдельных шагах процесса проектирования, при исследовании програмі! с определенных точек зрения, но не позволяют автоматизировать весь процесс разработки программ, представив его в виде единого (для аппаратуры и программ) итерационного процесса, позволяющего
везти проектирование на заданном уровне (начиная с сеьак ранних его этапов и до получения объектной программы целевой ВС) без ограничений на архитектуру проектируемой микроВС.
Цель данной работы - исследование возможностей реализации арифметического полиморфизма в языке описания и проектирования ВС и методов его использования на различных зтапах процесса проектирования программ встраиваемых ВС, создания на этой основе системы автоматизации проектирования программ управления. С этой целью были поставлены следующие задачи:
разработка математических моделей алгоритмов и программ для основных шагов процесса проектирования;
разработка представляющих их структур данных и методов их реализации на инструментальной ЭВМ;
разработка средств анализа и преобразования моделей программ при решении задач оптимизации и при переходе к моделям, используемым на других шагах процесса проектирования;
разработка методов и средств реализации полиморфизма при решении возникающих при проектировании аадач;
разработка структуры, языковых средств, алгоритмов и методов реализации основных компонент системы автоматизации проектирования управляющих программ.
Методы исследования. Поставленные задачи решаются с использованием средств системы автоматизации проектирования Triad, в частности, на основе введения аппарата расширения типов данных, средств описания и преобразования моделей, записи алгоритмов исследования и проектирования. При этом на первом (независимом от аппаратуры) гтапе проектирования программ управления используется теоретико-графовая модель ее алгоритма, алгоритмы оптимизации на графах и эквивалентных преобразований графовых моделей программ. Второй этап -совмесгное (комплексное) исследование моделей аппаратуры и программ управления. Для этого выполняется преобразование модели, полученной на первом этапе, в модель объектной программы целевой ВС, согласованную с моделью аппаратуры, основанное на методах генерации кода объектной малины с автоматической настройкой на ее архитектуру. В работе также ис-
пользуется опыт аналогичных' разработок. Научная новизна. Для решения поставленных задач
определено понятие полиморфизма и механизмы его реализации на отдельных шагах процесса проектирования программ:
разработаны средства языка Triad для инвариантного по отношению к архитекгуре проектируемой ВС рассматриваемого класса описания алгоритма программы управления, его исследования с различных точек зрения и управления процессом кросс-трансляции;
предложены графовые модели алгоритмов и программ управления и структуры данных для их внутреннего представления в памяти инструментальной ЭШ на различных этапах процесса проектирования;
разработаны алгоритмы анализа свойств и преобразования предложенных моделей с целью оптимизации проектируемой программы;
предложены средства для исследования (интерпретации) проектируемой программы с помощью имитации с автоматической настройкой на используемые типы данных;
разработан метод и реализующие его алгоритмы и структуры данных для выполньния кросс-трансляции внутреннего представления алгоритма проектируемой управляющей программы в модель ее объектного кода, согласованную с модель» аппаратуры, с автоматической настройкой на архитектуру целевой ВС и уровень ее проектирования.
Практическая ценность. Предложенные средства использованы при разработке подсистемы проектирования программ уппав-ления системы автоматизации проектирования Triad для реализации функций основных ее компонент на базе разработанных средств языка, структур данных и алгоритмов. Эта система удовлетворяет следующим требованиям:
- включает средства, тозволяндие исследовать разрабатывае
мые программы с различных тичек зрения (обнаружить ошибки в
алгоритмах и реализующих ик программах, определить времен
ные, точностные ;і /'пути« "'..-г.-ктегистики алгоритмов и программ
управления, "пропустить" программы на машинах с различными арифметиками при заданных условиях и т. д.);
использует моделирование в качестве инструмента для исследования разрабатываемых программ в процессе проектирования на основе использования единых языковых средств для описания моделей программ управления и аппаратуры, записи алгоритмов исследования и проектирования целевой ВС;
объединяет различные этапы проектирования программ управления, начиная с конструирования алгоритмов и до получе-м, модели объектной (целевой) программы, согласованной с моделью проектируемой аппаратуры ВС, на которой ее предполагается реализовать, в единый итерационный процесс, связанный с процессом проектирования аппаратуры;
обеспечивает автоматическую настройку исследовательской системы на конкретную архитектуру разрабатываемой ВС и уровень проектирования ее аппаратуры;
дает тюзможьость преобразования с целью оптимизации построенных моделей, их программного сравнения и выбора оптимального варианта.
Результаты исследований были использованы при выполнении работ по госбюджетным и хоздоговорным НИР.
Приведенные в данной работе результаты могут быть использованы также при разработке систем автоматизации проектирования программ, при создании переносимых трансляторов.
Апробация результатов. Результаты докладывались и обсуждались на Всесоюзной конференции "Применение статистических методов в производстве и управлении", Пермь, 1984; III Всесоюзном совеврнии "Методы и программы решения оптимизационных задач на графах и сетях", Новосибирск, 1984; Зональной научно-практической конференции "Математические и программные методы проектирования управляющих и информационных систем", Пенза, 1990; Всесогоной научно-технической конференции с международным участием стран-членов СЭВ "Применение статистических методов в производстве и управлении", Пермь, 19SO; Всесоюзной конференции "Моделирование систем информатики", Новосибирск, 1990.
Структура и объем диссертации. Диссертация состоит из введения, трех глав, заключения (содержит 147 страниц машинописного текста, 28 страниц иллюстративного материала) и списка литературы, включающего 64 наименования. К диссертации имеются приложения на 123 страницах.