автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Многоязыковый процессор автоматизированного описания управляющих алгоритмов
Автореферат диссертации по теме "Многоязыковый процессор автоматизированного описания управляющих алгоритмов"
На правах рукописи
V ч*
Г; *
ТЮГАШЕВ Андрей Александрович
МНОГОЯЗЫКОВЫЙ ПРОЦЕССОР АВТОМАТИЗИРОВАННОГО ОПИСАНИЯ УПРАВЛЯЮЩИХ АЛГОРИТМОВ
Специальность: 05.13.12 "Системы автоматизации проектирования"
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
Самара - 1997
Работа выполнена в Самарском государственном аэрокосмическом университете имени академика С.П.Королева
Научный руководитель: кандидат физико-математических наук, доцент Калентьев A.A.
Официальные оппоненты:
доктор технических наук, профессор Кораблин М.А. кандидат технических наук, доцент Сидоров A.A.
Ведущая организация
Волжское конструкторское бюро ракетно-космической корпорации «Энергия» им. академика С.П. Королева
Защита состоится « 1997 г. в _ часов
на заседании диссертационного совета Д 063.87.02 при Самарском государственном аэрокосмическом университете имени академика С.П.Королева по адресу: 443086, г.Самара, Московское шоссе, 34
С диссертацией можно ознакомиться в библиотеке университета
Автореферат разослан «
Ученый секретарь
диссертационного совета к.ф.-м.н., доцент
Калентьев
Актуальность. В настоящее время все большее и большее
применение во всем мире находят различные методы автоматизации программирования,или CASE-технологии. Данные методики создаются в расчете на значительное сокращение затрат времени, труда, материальных затрат при разработке современного программного обеспечения, повышение надежности программного продукта, удобство его восприятия и модификации.
Развитие сложных технических систем и их автоматизация привели к необходимости создания программных комплексов объемом в сотни тысяч и миллионы команд. Их написание возможно только при использовании тех или иных технологий автоматизированного программирования. В случае же написания алгоритмов управления бортовой аппаратурой, исполняемых в реальном времени на борту летательного аппарата, предъявляются повышенные требования. При возникновении ошибки в работе такого алгоритма возможны катастрофические последствия,неприемлемые материальные, финансовые потери. При этом разработка бортовой вычислительной системы и ее математического обеспечения является в настоящее время критической фазой по отношению к проектированию всего летательного аппарата в целом. Надежность ВВС и ее программного обеспечения зачастую определяет надежность JIA.
Данная проблематика рассматривалась в работах зарубежных проектировщиков при разработке управляющего программного обеспечения для различных космических проектов.При этом был сделан вывод о том, что разработка в приемлемые сроки программного обеспечения достаточного качества и степени надежности может быть обеспе-чена при внедрении специальных технологий программирования. Так, в частности, для написания программного обеспечения воздушно-космического самолета Space Shuttle был создан специальный язык высокого уровня - HAL/S. Из работ отечественных ученых следует отметить прежде всего, разработки профессора В.В. Липаева по созданию технологий проектированиянадежного и качественного программного обеспечения АСУ реального времени.
Известны несколько основополагающих подходов к построению систем автоматизированного программирования. Приведем основные из них:
- структурированная (иерархическая) модель проектирова-
- 2 -
ния программного комплекса;
- создание систем, облегчающих в рамках традиционной парадигмы программирования проведение рутинных процедур (комплексные оболочки редактор-компилятор-компоновщик,
интерфейсы универсальных текстовых редакторов с различными трансляторами и др.);
- сведение программирования к построению программы из набора готовых модулей из библиотек;
- программирование с применением различных непроцедурных подходов (объектно-ориентированное, логическое, функциональное, ориентированное на стек и др.
- методы, основанные на объединении предыдущих двух подходов, предлагающие при объектно-ориентированном программировании библиотеки классов (Turbo Vision, OWL в системе Borland С++ 3.x,4.x и т.д.);
- системы с графическим интерфейсом, заменяющим либо дополняющим текстовое описание , такие, например, как Visual Basic или Borland С++ Builder);
- системы программирования, ориентированные на синтаксис либо на запись программы в каком-то специфическом представлении (Е-язык, î-схемы и др.) ,
- системы, объединяющие в себе несколько вышеперечисленных подходов.
Представляется очень важным ответ на вопрос, какая же из CASE-технологий является самой перспективной. Аналитические обзоры на эту тему показывают, что применяемые подходы к процессам анализа и проектирования настолько различны, что их сравнение зачастую неправомочно.
В диссертации предлагается оригинальный CASE-подход для автоматизированного проектирования управляющих алгоритмов (и на их базе управляющих программ) бортовой аппаратурой реального времени с использованием текстового и графического входных языков, на базе алгебраической модели управляющего алгоритма реального времени и исчисления (формальной системы) УА.
Бортовая аппаратура (БА), например, космического летательного аппарата (JIA), представляет собой сложный комплекс различ-
ных систем, агрегатов, датчиков, взаимосвязанных по данным, по управлению, по энергетике и т.д. Для решения задачи управления Сортовой аппаратурой используется автоматизированный Сортовой комплекс управления (БКУ) реального времени. При этом управление некоторыми приборами и системами автоматизировано на нижнем уровне, т.е. используются встроенные микропроцессоры и другие устройства цифровой автоматики. БКУ всегда имеет одну или несколько центральных БЦВМ, на которых исполняются специальные управляющие программы, реализующие алгоритмы управления.
Таким образом, разработка САБЕ-подходов к созданию управляющих алгоритмов и программ БА РВ является актуальной в силу следующих причин:
- постоянное увеличение сложности комплекса БА и сложности управления этим комплексом,
- отсутствие промышленных систем автоматизации программирования для УА РВ,
- существенное влияние качества и надежности управляющего программного обеспечения на параметры и надежность летательного аппарата в целом.
Целью работы является создание САБЕ-подхода для автоматизированной разработки УА БА РВ, решение задачи формализованного описания бортовых алгоритмов управления, построение на этой базе программного обеспечения многоязыкового процессора автоматизированного описания УА.
В соответствии с поставленной целью определены следующие основные задачи диссертации:
1) построить концептуальную модель УА БА РВ на основе системного анализа комплекса бортовой аппаратуры и бортового комплекса управления.
2) разработать математическую модель управляющего алгоритма реального времени.
3) построить математическую модель множества управляющих алгоритмов,
4) на основе разработанных моделей создать САБЕ-технологию автоматизированного описания УА РВ БА, наиболее удобную для пользователя-проектанта,
5) разработать информационные и лингвистические средства реализации САБЕ-технологии,
6) разработать алгоритмы решения проектных задач:
- трансляции входных языков,
- эквивалентных преобразований описаний УА,
- выявления семантики УА.
7) разработать программное обеспечение реализации САЭЕ-технологии описания УА РВ БА.
Научная новизна. Анализ литературы, посвященной разработке различных САБЕ-систем, показал оригинальность предлагаемого САЭЕ-подхода к созданию управляющих алгоритмов реального вре-ыени, координирующих параллельную работу программ, управляющих работой отдельных приборов и агрегатов, на базе алгебраической системы УА. В диссертации автором получены следующие новые результаты.
1) Построена математическая модель алгоритма управления реального времени бортовой аппаратурой в виде набора четверок целых чисел, отражающих моменты запуска, длительность и логическую обусловленность выполнения функциональных управляющих программ.
2) Построена математическая модель множества УА РВ БА в виде алгебраической системы с основным множеством -множеством управляющих алгоритмов и операциями в логическом и временном пространствах.
3) Разработаны входные языки описания УА на базе исчисления управляющих алгоритмов - символический и графический языки.
4) Установлено соответствие описаний УА на различных входных языках.
5) Разработаны алгоритмы:
- трансляции текстового входного языка,
- трансляции графического входного языка,
- эквивалентных преобразований описаний УА РВ БА,
- выявления семантики УА.
6) На основе разработанного математического, лингвистического и информационного обеспечения реализовано програм-
мное обеспечение многоязыкового процессора УА БА РВ.
Основные положения диссертации, выносимые на защиту:
1) Концептуальная модель комплекса БА и алгоритмического обеспечения БКУ.
2) Математическая модель УА РВ БА и множества УА РВ БА в виде алгебраической системы.
3) Методы построения символьного и графического входных языков и средств построения многоязыкового процессора САЭЕ-системы разработки УА.
4) Алгоритмы решения проектных задач.
5) Результаты решения реальных задач, анализ которых показал практическую ценность созданного САЗЕ-подхода.
Реализация и практическая ценность работы. Разработанная информационная технология дает возможность на новом уровне подойти к решению задач создания комплекса программ управления реального времени, отвечает современным требованиям к САЭЕ-технологиям (гибкость, графический интерфейс, легкость в изучении). Получаемые преимущества при разработке алгоритмов и программ комплексного функционирования бортовой аппаратуры ЛА дают возможность снизить трудоемкость и сроки разработки, а также повысить надежность создаваемого программного обеспечения что имеет огромное значение особенно применительно к ПО космических летательных аппаратов.
Работа выполнялась в рамках хоздоговоров с ЦСКБ (договора 2-1/94, 2-1/95, 2-1/96), ее результаты отражены в пяти научно-технических отчетах по теме, созданных при непосредственном участии автора. Результаты работы внедрены на предприятии, что отражено в Приложении диссертации.
Работа выполнялась также в рамках российской научно-технической программы "Перспективные информационные технологии в высшей школе" (целевая подпрограмма "Автоматизация научных исследований") в 1994-1995 гг.
Основные положения диссертации, выносимые на защиту:
1) Концептуальная модель комплекса БА и алгоритмического обеспечения БКУ в виде гомоморфного отображения одной иерархической модели на другую.
- б -
2) Математическая модель УА РВ БА в виде набора четверок, описывающих алгоритм, и модель множества УА в виде алгебраической системы с операциями
во временном и логическом пространствах.
3) Методы построения символьного и графического входных языков и средств построения многоязыкового процессора САБЕ-сисгемы разработки УА.
4) Алгоритмы решения проектных задач.
5) Результаты решения реальных задач, анализ которых показал практическую ценность созданного САЗЕ-подхода.
Апробация работы.
Результаты диссертационной работы докладывались и обсуждались на Туполевских чтениях (г. Казань, 1990 г.), Гагаринских чтениях (г. Москва, 1991 и 1992 гг.), Всероссийской научной школе по компьютерной алгебре, логике, интеллектному управлению и проблемам анализа стратегической стабильности (г. Иркутск, 1994 г.), V межвузовской научной конференции по математическому моделированию и краевым задачам (г. Самара, 1995 г.), X Поволжской научно-технической конференции по научно-исследовательским разработкам и высоким технологиям двойного применения, VII Всероссийском семинаре с международным участием по управлению движением и навигации летательных аппаратов (г. Самара, 1995 г.). Международных научно-технических конференциях по актуальным проблемам анализа и обеспечения надежности и качества приборов, устройств и систем (г. Пенза, 1995 и 1996 гг.), на научной конференции по перспективным информационным технологиям, посвященной 20-летию факультета информатики СГАУ (г. Самара, 1995 г.).
Публикации.
По теме диссертации опубликовано 12 печатных работ, из них три статьи.
Структура и объем диссертации.
Диссертация состоит из введения, пяти глав, заключения и приложения. Объем работы 159 страниц основного текста, включая 41 рисунок. Список литературы содержит 116 наименований.
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во ВВЕДЕНИИ обоснована актуальность работы, сформулированы цель и задачи исследования, научная новизна и основные положения, выносимые на защиту.
ПЕРВАЯ ГЛАВА посвящена постановке задачи разработки многоязыкового процессора автоматизированного описания управляющих алгоритмов. С этой целью проведен системный анализ предметной области "бортовая аппаратура ЛА и комплекс управляющих ею алгоритмов и программ".
На современном летательном аппарате устанавливаются многочисленные и разнообразные, как по решаемым ими задачам, так и по составу и принципу функционирования технические системы. Это как системы,связанные с основным функциональным назначением ЛА, так и обеспечивающие (электропитания, терморегулирования, управления и др.). В состав этих систем входят элементы - приборы, агрегаты, датчики и т.д. Таким образом, элементарные технические устройства образуют системы, а системы, в свою очередь -весь комплекс бортовой аппаратуры. Таким образом, к БА приложи-ма иерархическая концептуальная модель. Можно описать бортовую аппаратуру как алгебраическую систему (в данном случае модель)
< Е >,
где Е - элементы БА {приборы, системы, комплекс БА), ^--- системообразующее отношение иерархической подчиненности(вхождения) между элементами множества Е.
Некоторые из устройств на борту ЛА полностью саморегулируемы (автономны). Однако большинство из устанавливаемых на летательном аппарате технических средств управляется с участием бортового комплекса управления (БКУ), который сам является одной из важнейших систем Сортовой аппаратуры. Основой БКУ является бортовая вычислительная система (ВВС), в состав которой может входить одна или несколько вычислительных машин (БЦВМ). На БЦВМ исполняются управляющие программы, реализующие те или иные управляющие алгоритмы. Их выполнение протекает в режиме реального времени с организацией многозадачности под управлением специальной бортовой операционной системы (БОС).
Алгоритмическое обеспечение бортового комплекса управления должно отражать логику управления отдельными приборами, систе-
мами, а также задавать согласованную работу приборов одной системы, разных систем, согласованную работу нескольких систем. Логика управления отражает отношения между элементами БА на оси времени - функцию согласования выполнения управляющих алгоритмов по времени, отношения логической связанности, когда функционирование того или иного элемента БА обусловлено выполнением каких-то условий, формируемых другим элементом БА.
Построить алгоритмическое обеспечение БКУ означает сопоставить каждому элементу БА в} е Е соответствующее управление, обозначим его 0 (е ^ ) .
Непосредственное управление работой того или иного прибора или агрегата возложено на специальную управляющую программу,которую в дальнейшем будем называть функциональной программой (ФП). Функциональная программа фактически является управляющим алгоритмом нижиего уровня. Множество ФП образует базис, на котором строятся более сложные алгоритмы, описывающие согласованную работу элементов БА.
Наибольшую сложность при построении АО БКУ представляет создание управляющих алгоритмов режимов (маневр,ориентация и др).
Существует соответствие между комплексом бортовой аппаратуры и алгоритмическим обеспечением БКУ. Опишем АО БКУ как алгебраическую систему
< и
где и - множество УА, включающей ■ в себя алгоритмы различных уровней, отношение вхождения одного УА в состав другого,
означающее "^кДгючение УА на выполнение из алгоритма более высокого уровня (например, алгоритм открытия заглушки двигателя может быть частью алгоритма маневра).
Между алгебраическими системами, описывающими БА и АО БКУ, существует гомоморфизм, то есть соответствие Г такое, что Г : БА -> АО БКУ,
л,
У1-3-
если в1 с Е, е] £ Е к е! ед, то Г ( е —г1е ^
При этом гомоморфизм Г есть соответствие м^вду элементом БА и его управлением. При этом оказывается, что если элемент БА е 1
входит в элемент е $ , то управляющий алгоритм для е 1 включается из УА для е з .
В рамках режима функционирование управляющего алгоритма сводится к запуску на выполнение необходимых ФП. Разработчик УА в настоящее время практически вручную создает алгоритм, руководствуясь, в основном, логикой управления БА при решении той или иной целевой задачи. Основными при этом являются связки выполнения ФП по времени и по логике (при выполнении каких-то условий) . При создании процессора автоматизированного описания УА РВ, таким образом, необходимо во-первых, построить формализацию (математическую модель) УА, позволяющую адекватно описывать алгоритмы, и сохраняющую гомоморфизм между АО БКУ и бортовой аппаратурой; во-вторых, создать для разработчика УА средства (языки) формального описания УА на основе построенной модели, наиболее удобные для пользователя, а также для дальнейшей машинной обработки.
Во ВТОРОЙ ГЛАВЕ сначала строится математическая модель управляющего алгоритма реального времени, затем вводится алгебраическая система как модель множества УА. Вводится исчисление управляющих алгоритмов как формальный язык для описания свойств алгебраической системы УА РВ. Показана возможность и полезность эквивалентных преобразований формул исчисления управляющих алгоритмов.
Широко известны несколько подходов к формализации понятия алгоритма (программы). Это нормальные алгорифмы Маркова, машина Тьюринга, схемы Янова, системы алгоритмических алгебр Глушкова. Большинство этих формализации рассматривают алгоритм(программу) как последовательность выполняемых шагов, причем используется понятие перехода к какому-либо шагу (месту) алгоритма. Шаги при этом рассматриваются как выполняемые по времени один вслед за другим, без учета их длительности. Отсутствуют в основном в перечисленных подходах и средства для описания параллельных процессов, что необходимо для описания УА РВ БА. Наиболее мощной формализацией понятия алгоритма из перечисленных является модифицированная система алгоритмических алгебр Глушкова (САА-М),
имеющая такие средства для описания параллельных процессов, как
а-фильтрация и асинхронная дизъюнкция. Однако эти средства неприменимы для УА РВ, в котором одним из основных параметров является длительность выполнения тех или иных процессов (функциональных программ), и согласование по времени моментов их старта и окончания.
Для описания логики управляющего алгоритма
введем множество логических переменных { ар }, принимающих значения ИСТИНА, ЛОЖЬ или НЕОПРЕДЕЛЕННОСТЬ, и отражающих то или иное условие на Сорту ЛА. Физически в управляющих программах, выполняемых БЦВМ, переменным а соответствуют показания датчиков, а также "флаги", формируемые функциональными программами. Построить УА Судет означать указать, какие ФП входят в него, в какие моменты времени они запускаются, указать множество (вектор) логических переменных, и связь между значениями ЛП и запуском тех или иных ФП.
Дадим теперь формализацию УА РВ БА. Определение. Управляющим алгоритмом реального времени будем называть набор (множество) следующих четверок
УА = { < £ 5 , I ) , 1 ) , 1з>), 1,К, где £ ] - идентификатор з-ой запускаемой на выполнение УА функциональной задачи, I ; - момент запуска £ ] , т ^ - длительность
£ 3 ,1} - логический вектор, описывающий обусловленность запуска Г ^ .
Данное определение отражает семантику управляющего алгоритма. Все строящиеся затем синтаксические средства должны отражать ее адекватным образом.
Зафиксировав время в модели УА РВ БА, получим частную модель, описывающую один момент запуска УА (один вход), называемую многовходовой моделью: ———
УА = { В к ),к = 1,К
В = { < ц, 1к1 > }
Зафиксировав значение логического вектора, получим проекцию УА по времени, описывающую по сути, циклограмму одного возможного варианта функционирования УА - многовариантную модель. УА = { V , ) , Ч = 1,0,
V = { < f qj ,t qj ,X qj > }. В качестве модели множества УА предлагается алгебраическая система, в которой основным множеством является введенное множество четверок, а операции описаны ниже.
Проведенный анализ предметной области показал, что в качестве исходных данных по логике функционирования БА в рамках решения целевой задачи чаще всего фигурирует информация типа "программы Ф1 и Ф2 начинают работать одновременно", "по окончании работы программы ФЗ включается программа Ф4", "при выполнении условия А1 необходимо выполнить Ф1,Ф2 и Ф5","программы Ф1 и ФЗ заканчивают работу одновременно". В связи с этим были введены следующие операции на множестве УА РВ БА.
1. Операция совпадения по началу (СН). Операция задает одновременный запуск двух УА на выполнение. Графическая интерпретация операции приводится на рисунке 1 .
ПуСТЬ Ф1 = <f и, t »1 ,ТФ1,1»1 >,
Ф2 = <f 4>2,t$2,T Ф2,
Т1 = Ф1 СН Ф2.
Тогда Т1 = 1 < г »1,1 »1,1ц >,
< £ t *2 Л «2<1»2> ),
Ь я = 1гф2 • Длительность Т1 будет равна шах (т« ,т»г) Операция бинарная, коммутативная, ассоциативная.
Ф1 СН (Ф2 СН ФЗ) = (Ф1 СН Ф2) ФЗ, свойства операции очевидны из ее физического смысла.
Графическая интерпретация операции СН
-|Ф1
Ф2
Рисунок 1
- 12 -
2. Операция совпадения по концу (СК). Операция означает одновременное завершение работы управляющих алгоритмов Ф1 и Ф2. Графическая интерпретация приведена на рисунке 2 .
Пусть Ф1 = < £ ф!,^! , т ф1 , 1ф1 >,
Ф2 = < £ «2<1ф2 >,
Т1 = Ф1 СК Ф2. Тогда Т1 = { < Г «1, 1:'«! ,Т»1, 1ф1 >,
< I Ф2, 1:'ф2,Х»2, 1ф2 > }• Ь'+ Т«1= I:'ф2 + X «2
Длительность Т1 будет равна так (х я , т »2 ) • Операция бинарная, коммутативная, ассоциативная.
Графическая интерпретация операции СК
Ф1
Ф2
Рисунок 2 3. Операция следования (->>. Смысл операции задается следующим. По окончании функциональной программы Ф1 немедленно запускается функциональная программа Ф2 Графическая интерпретация приводится на рисунке 3
Пусть Ф1 = < f «1,Х »1, 1»1 >,
Ф2 = < f «2,Х »2, 1ф2 >,
Т1 = 01 -> Ф2.
Тогда И = { < г я , , х и , 1»! >,
< £ 42/ £'Ф2/ХФ2/ 1 Ф2> }.
^ Ф2 ~ + Т Ф1
Длительность Т1 будет равна 1«! + •
Операция бинарная, некоммутативная, ассоциативная.
Графическая интерпретация операции ->
Ф1
Ф2
Рисунок 3 .
В диссертации доказывается, что множество УА РВ БА равномощно множеству целых чисел, то есть счетно, и что оно замкнуто относительно операций СН,СК и ->.
4. Логическая операция "навешивания" логической переменной на алгоритм (=>).
Операция =>, в отличие от операций СН, СК и ->, являющихся операциями во временном пространстве, есть операция в логическом пространстве, и задает обусловленность включения алгоритма истинностью какого-либо логического условия.
Пусть Ф1 = <£ ,Т »1,1 ф1>,
Т1 = (а0 = 1) => Ф1. Тогда Т1 = <£ Ф1 ,Т«1,1'»1 >,
где вектор 1'»! получается из вектора 1»1 формированием в нем компоненты а =1.
Удобно также записывать комбинацию двух операций => в форме
- 14 -
11 = (а о = 0) => Ф1 + (а о = 1) => Ф2 Такая запись аналогична записи оператора "if... then...else" в языках программирования. В диссертации доказано, что множество УА замкнуто относительно операции =>.
Для полноты системы введем пустой алгоритм (терм) X с длительностью,равной нулю,и нулевым логическим вектором(ничем не обусловленный). Он будет обладать следующими свойствами:
Ф1 СИ X = Ф1 Ф1 СК Я = Ф1 Ф1 -> X = Ф1 Я -> Ф1 = Ф1
Запись Т1 = (а о = 1) => Ф1 можно тогда рассматривать как Т1 = (а о = 1) => Ф1 + (а о » 0) => X .
В диссертации доказано, что введенный набор операций обладает функциональной полнотой, достаточной для описания любого согласования по времени выполнения функциональных программ.
Таким образом, построена алгебраическая система с основным множеством - управляющими алгоритмами (наборами четверок) и операциями СН, СК, ->, ■=>. В отличие от известных формализации понятия алгоритма введенная описывает параллельные алгоритмы реального времени.
Для описания и исследования свойств построенной алгебраической системы удобно использовать в качестве инструмента формальную теорию (исчисление) управляющих алгоритмов. В качестве алфавита исчисления используются буквы и цифры, символы скобок и символы записи операций СН, СК, ->, =>, +, а также = для записи присваивания. Вытекающие из определения УА РВ и операций над ними свойства (коммутативность,ассоциативность и др.) воплощаются в аксиомах исчисления УА, например:
(Т1 -> Т2) СН (Т1 -> ТЗ) = Т1 -> (Т2 СН ТЗ) аксиома дистрибутивности операции -> относительно операции СН. В исчислении вводятся 23 аксиомы, разбитые на пять групп - аксиомы коммутативности, ассоциативности, дистрибутивности, идем-
потентности и поглощения. Используя аксиомы исчисления и правило подстановки, можно проводить эквивалентные преобразования формул исчисления, в том числе преобразования,сокращающие длину формулы. Например, формула
ТЗ = (а1=1) => (Т1СН(Т1->Т2) + (а1=1) => <Т1->Т2) эквивалентна формуле
ТЗ = Т1 -> Т2.
При этом,несмотря на значительное сокращение формулы (синтаксическая редукция), семантика описываемого ей управляющего алгоритма не претерпевает каких-либо изменений, то есть запускаются на выполнение те же самые ФП в те же моменты времени и при выполнении тех же условий.Применение эквивалентных преобразований управляющих алгоритмов, описываемых средствами исчисления УА, может, таким образом, давать значительный выигрыш в эффективности разрабатываемого алгоритма, использовании ОП, скорости работы и т.д. В диссертации разработаны различные алгоритмы проведения эквивалентных преобразований управляющих алгоритмов.
ТРЕТЬЯ ГЛАВА посвящена описанию реализованных на ПЭВМ языковых средств для автоматизированного описания УА РВ. Данные средства используют в качестве теоретической базы алгебраическую систему и исчисление УА. Описаны два языка - символический, непосредственно опирающийся на исчисление УА РВ, и графический, отвечающий современным требованиям САЭЕ-технологии. Данные языки являются языками уровня предметной ориентации, или языками "сверхвысокого уровня", в отличие от обычных универсальных языков программирования.
Символический язык описания УА РВ является контекстно-свободным языком, описываемым соответствующей ему КС-грамматикой. При этом язык описания УА может быть представлен как композиция языков описания функциональных программ, эквивалентностей функциональных программ, термального описания алгоритма. Ниже приводится пример описания на символическом языке участка одного из управляющих алгоритмов:
t310: = (a4=l)=>f017+ (а4=0)=>:е009 t200: = (a3=l)=>f00б■^(a3=0)=>f008 «4:=т1->Ш)5
t24:=f007CHtl4 t04:=t310->t24->t200->tl4 endtxt f001=f011 f007=f017 end
Здесь управляющий алгоритм представлен как последовательность описаний термов (имена термов начинаются с буквы 11 *), основывающихся на функциональных программах (имена начинаются с символа 'f'). После записи определений термов следует секция описания эквивалентных ФП (программ, выполняющих одни и те же действия, но имеющих различные идентификаторы). Термальному описанию УА соответствует графический эквивалент - дерево управляющего алгоритма, в котором роль листьев выполняют ФП, а узлов -операции алгебраической системы УА (узлы соответствуют термам).
Графический язык, в отличие от символического, является интерактивным (диалоговым). Проектировщик УА имеет дело с графическими образами функциональных программ и алгоритмов на экране монитора, и манипулирует ими с применением операций алгебраической системы УА. При этом на экране постоянно отображается текущая конструируемая "циклограмма" управляющего алгоритма, что позволяет достичь высокой наглядности и выразительности языка, обеспечивает удобство и простоту его использования.
В диссертационной работе проводится анализ и сопоставление двух языков описания УА РВ БА. Дается определение "термального языка" описания УА, показывается, что и символический, и графический языки являются термальными. Доказывается теорема о возможности получения по любому описанию УА на символическом языке его же описания на графическом языке,и получения по любому описанию УА на графическом языке, его описания на символическом языке. Описаны процедуры таких преобразований.
ЧЕТВЕРТАЯ ГЛАВА посвящена описанию алгоритмических средств разработанного многоязыкового процессора.
Задачей многоязыкового процессора является получение по вводимому пользователем описанию алгоритма на одном из входных языков, семантики УА.
При трансляции описания УА РВ на символическом языке для анализа имен функциональных переменных, термов, логических переменных и символов операций используются синтаксические анализаторы на базе конечных автоматов. В целом же КС-язык транслируется с применением алгоритма, использующего стек в качестве основной структуры данных, являющийся модификацией метода Бауэ-ра-Замельсона. Метод использует значения целочисленных лексем в качестве аналога таблицы переходов. Значения лексем можно также рассматривать и как значения функций предшествования. На первом этапе трансляции строится обратная польская запись введенных описаний термов, затем на ее основе осуществляется построение в памяти структуры данных, отражающей двоичное дерево УА.
Для трансляции графического входного языка применен следующий подход. На каждом шаге интерактивного описания УА пользователем в памяти строится строка на символическом языке, соответствующая графическому образу построенного терма. В конце процесса формируется текстовый файл на символическом языке, который затем и транслируется.
В диссертации описаны два алгоритма проведения эквивалентных преобразований описаний УА - алгоритм на основе простых чисел, и алгоритм целых чисел.
Построен алгоритм построения семантики УА путем нескольких циклов обхода дерева УА РВ с построением сначала многовариантной модели УА, а затем его многовходовой модели, то есть выявляются все возможные варианты выполнения алгоритма, все его моменты включения, и строится соответствие между логическими переменными и всеми функциональными программами.
ПЯТАЯ ГЛАВА посвящена описанию программной реализации системы многоязыкового процессора. Описана структура программного обеспечения. Рассматриваются принципиально важные системные структуры данных. Представлена роль многоязыкового процессора как основы системы автоматизации проектирования управляющих алгоритмов реального времени, формирующей семантику УА, по которой затем можно получать техническую документацию на алгоритм и текст программы, реализующей алгоритм, на языке бортовой ЦВМ.
В ЗАКЛЮЧЕНИИ подводятся итого диссертационной работы, фор-
мулируются ее основные результаты.
ОСНОВНЫЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ
Диссертационная работа имеет научное и практическое значение.
Предложенная модель алгоритмов управления в виде алгебраической системы является новой и может применяться по выбору в различных областях человеческой деятельности наряду с такими известными системами, как схемы Янова, алгоритмические алгебры Глушкова и др., в случае наибольшего удобства именно ее применения.
Использование многоязыкового процессора описания УА в рамках системы автоматизации проектирования управляющих алгоритмов позволяет значительно сократить сроки разработки УА за счет автоматизации труда разработчика. При этом решается также задача повышения надежности управляющего программного обеспечения, а следовательно, и надежности работы ЛА в целом при решении целевых задач.
В диссертации получены следующие основные результаты.
1) Построена концептуальная модель УА БА РВ на основе системного анализа комплекса БА и БКУ в виде иерархии.
2) Разработана математическая модель управляющего алгоритма реального времени в виде набора целочисленных четверок, отражающих моменты запуска, длительность и логическую обусловленность выполнения элементарных управляющих программ.
3) Построена математическая модель множества УА в виде алгебраической системы с основным множеством -набором четверок, представляющих управляющий алгоритм, и сигнатурой операций во временном (СН,СК, ->) и логическом пространствах (=>,+).
4) Разработаны входные языки описания УА - графический и символический, на основе исчисления УА.
5) Установлено соответствие описаний УА на различных входных языках.
6) Разработаны алгоритмы:
- трансляции символического входного языка,
- трансляции графического входного языка,
- эквивалентных преобразований описаний УА,
- выявления семантики УА.
7) Реализовано программное обеспечение многоязыкового процессора описания УА в виде интегрированной программной системы.
8) Эффективность разработанной компьютерной технологии подтверждается внедрением ее на предприятии, результатами решения реальных практических задач.
СПИСОК ОПУБЛИКОВАННЫХ РАБОТ ПО ТЕМЕ ДИССЕРТАЦИИ
1. Калентьев А.А.,Тюгашев A.A. Многовариантный синтез алгоритмов управления реального времени // 1-й Всероссийский семинар с международным участием по управлению движением и навигации летательных аппаратов.: Сб.докладов. -Самара:СГАУ, 1995. С.
2. Калентьев A.A.,Тюгашев A.A. Алгебраическая система синтеза УА. // 1-ая Поволжская научно-техническая конференция "Научно-исследовательские разработки и высокие технологии двойного применения": Тез.докладов. Самара. -1995.-С.95-96.
3. Калентьев А.А.,Гвгашев A.A. Применение CASE-технологии для проектирования управляющих алгоритмов реального времени // Научно-техническая конференция "Перспективные информационные технологии в научных исследованиях, проектировании и обучении": Тез.докладов. Самара. -1995. С.64.
4. Калентьев A.A., Тюгашев A.A. Использование многовходовой модели для представления управляющего алгоритма //Научно-техническая конференция "Перспективные информационные технологии в научных исследованиях, проектировании и обучении": Тез.докладов Самара. -1995. С.65.
5. Калентьев A.A.,Тюгашев A.A. Разработка подсистемы синтеза управляющих алгоритмов на базе исчисления УА // Всероссийская научная школа "Компьютерная алгебра, логика и интеллектное уп-
равление. Проблемы анализа стратегической стабильности": Сб. трудов. -Иркутск: ИрВЦ СО РАН, 1994, Т. 4. С.94-95.
6. Калентьев A.A., Тюгашев A.A. Алгебраические модели и программные средства для проектирования алгоритмов управления бортовой аппаратурой // Международная научно-техническая конференция "Методы и средства оценки и повышения надежности приборов, устройств и систем":Тез.докладов. -Пенза: ПГТУ, 1995. С.77.
7. Калентьев A.A., Тюгашев A.A. Языковые средства системы автоматизированного синтеза алгоритмов управления реального времени II Международная научно-техническая конференция "Актуальные проблемы анализа и обеспечения надежности и качества приборов, устройств и систем": Сб.докладов. -Пенза: ПГТУ,1996. -4.2.
С.22-23.
8. Тюгашев A.A. Процессор выходных документов в системе автоматизации проектирования управляющих алгоритмов II 1-й Всероссийский семинар с международным участием по управлению движением и навигации летательных аппаратов: Сб.докладов. -Самара: СГАУ, 1995. С. 74-77.
9. Тюгашев A.A. Автоматизация проектирования алгоритмов управления реального времени на основе алгебраических моделей // V научная межвузовская конференция "Математическое моделирование и краевые задачи": Тез.докладов. -Самара:СГТУ,1995. С.58-59
10. Тюгашев A.A. Система автоматизации синтеза управляющих алгоритмов // XV Всесоюзные Туполевские чтения "Актуальные проблемы авиастроения": Тез.докладов. -Казань: КАИ, 1990. С.51.
11. Тюгашев A.A. Разработка системы автоматизированного синтеза УА // XX областная межвузовская студенческая научная конференция: Тез.докладов. Самара. -1994. С.99-100.
12. Тюгашев A.A. Информационная технология проектирования управляющих алгоритмов II XX областная межвузовская студенческая научная конференция: Тез.докладов. Самара. -1994. С.108.
-
Похожие работы
- Исследование и разработка математического алгоритмического и программного обеспечения входных многоязыковых трансляторов для САПР СБИС
- Поддержка разработки многоязыковых программных комплексов
- Методы унификации информационно-аналитических систем на примере структуры Росстата
- Метод и средства проектного имитационного моделирования архитектуры процессоров вычислительных систем
- Расширенный атрибутивный метод спецификации семантики для реализации языка программирования задач реального времени
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность