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

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

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

АКАДЕМИЯ НАУК СССР ВЫЧИСЛИТЕЛЬНЫЙ ЦЕНТР

На правах рукописи УДК 519.685

СОЛОЫАТИН Алексавдр Николаевич

АВТОМАТИЧЕСКИЙ СИНТЕЗ РАСЧЕТНЫХ ПРОГРАММ НА ОСНОВЕ АНАЛИЗА СЕМАНТИКИ ПОКАЗАТЕЛЕЙ

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

'АВТОРЕФЕРАТ

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

Москва > 1990

Работа вьтолнена в Вычислительном центре АН СССР

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

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

Солодов 3.М.

кандидат технических наук Астахов А.Д.

Ведущая организация - Институт кибернетики АН УССР

им. В,М. Глускова Защита состоится 1990 г. в часов на засе-

дании специализированного ученого совета Д 002.32.02. Вычислительного центра АН СССР по адресу: 11796?,Москва, ул.Вавилова, 40.

С диссертацией можно ознакомиться в библиотеке Математического института им. В.А.Стеклова АН СССР.

Автореферат разослан " ^ " 1990г.

/

Учений секретарь Специализированного совета

к.ф.-и.н. ^¿^^ с-м-

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

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

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

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

- анализ существующих методов синтеза программ;

- изучение свойств РП, ТЭП и их преобразований;

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

- разработка эффективных алгоритмов синтеза качественных программ на различных языках;

- реализация системы автоматического синтеза РП;

- разработка методики применения системы синтеза для решения различных задач автоматизации разработки СПГСО.

Объект и предмет исследования. Объектом исследования являются программы расчета технико-экономических показателей. Предмет исследования составляют процессы автоматического кон-

струирования программ на основе анализа семантики обрабатываемых дакшх.

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

Научная новизна работы состоит в том, что:

- введены и изучены представления языка ТЭЦ как семиотического метрического гиперпространства и как относемия фасетов;

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

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

- предложены метод и алгоритмы генерации текстов РП по семантической модэли, обеспечивающие построение эффективных программ на различных ЯП;

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

Практическая значимость исследования состоит в том, что на персональных ЭШ реализована система автоматического синтеза расчетных программ САС/РП. Система ориентирована на использование в качестве инструментальной системы для автоматизации разработки систем планирования и проектирования генеральных схем освоения территорий.

САС/РП была использована при разработке Системы перспективного планирования добьгчи газа, которая использовалась для различных газодобывающих регионов страны (в том числе Западной

Сибири) и рекомендована Мингазпромом СССР для иирокого внедрения. САС/гП и методика её применения могут быть применены для достаточно широкого класса программ расчета ТЭП и интегрированных автоматизированных систем различного назначения.

Апробация работы. Основные поломим диссертационной работы докладывались и обсуждались: на 2-ом Всесоюзном семинаре по методам синтеза типовых модульных систем обработки данных (Звенигород, 1985), на У1 Координационном совещании "Математическое обеспечение интегрированных систем САПР-ГАП" (Куйбышев, 1985), на IX Всесоюзном симпозиуме "Системы программного обеспечения решения задач оптимального планирования" (Мтек, 1986), на Всесоюзной конференции "Методы трансляции и конструирования программ" (Новосибирск, 1988), в 1988 г. на районном конкурсе работ молодых ученых (2-ое место), в 1989 г. на научно-исследовательском семинаре по автоматизации программирования при ФЩиК МГУ им. М.В.Ломоносова.

Публикации. Основные результаты диссертационной работы изложены а пяти печатных работах общи объемом в 2,4 печатных листа. Список работ приводится в конце автореферата.

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы и трех приложений. Объем работы составляет 199 страниц машинописного текста (из них 159 страниц основного текста); в тексте имеется 22 рисунка и три таблицы. Список литературы включает 79 наименований.

ОДРЖАНЖ РАБОТЫ

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

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

Вторая глава посвящена технико-экономическим показателям и их преобразованиям. В § 2.1 рассматриваются язык и формальные представления ТЭП. Каждый ТЭП характеризуется наименованием Ь (текст на нормализованном ЕЯ) и значением . (матрица чисел). Рассматриваются особенности языка ТЭП как естественного языка и как информационного языка фасетного типа. Каждый фасет определяет некоторую ролевую характеристику языка ТЭП и задает позицию в тексте ТЭП, которая может быть заполнена некоторым термином из ограниченного множества значений фасета. Пример ТЭП (в скобках указаны названия фасетов): "прирост (способ расчета) дефицита (функция) численности (характеристики) работающих (предмет) по годам (разрез) в тыс. (коэффициент) человек (единица измерения)".

Вводится »V -мерное семиотическое гиперпространстзо наименований ТЭП Т = .Л Тг , где Тс - множество значений с -го фасета, п, - число фасетов. Показывается, что Т является метрическим пространством, где расстояние (1ч,^)есть количество несовпадающих значений фасетов в наименованиях ~Ь € Т (при различии только в 1-ом фасете - { ). Вводится

ряд понятий, связанных с метрическими свойствами ТЭП, в частности, расстояние от точки до множества в Т;

^гч? «« X

Язык ТЭП можно рассматривать также как некоторое отношение степени съ , где атрибутам отношения соответствуют фасеты, доменам - множества Т^ , а кортежам - сами ТЭП.

В § 2.2 рассматривается преобразования и отношения ТЭП. Каждая РП представима в виде линейной последовательности расчетных формул, сводимых к циклическому применению поэлементных преобразований матриц - значений ТЭП.

Каждому вычислительному преобразованию (Ш) значений ТЭП ^ ; X —" £ соответствует некоторое семантическое преобразование (СП) их наименований Ь I Х-"-^, , X с Т , ^ € Т . Вводятся различные классы СП и показываются их взаимные связи. Так, каждому СП из класса Я соответствует некоторое ВП. Класс £ элементарных СП включает СП из К , не разложимые на другие СП из Я . Класс В базовых СП (БСП) включает СП из Е. вида 51 Х-*"^ , для которых <А ( * { и

cL(ti* * J. « it,tA e X • т*0' вргумеитами ко-

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

Показывается, что для независимых фасетов В = Е , При этом В -U ВI , B¿ - и Bij . где эквивалентные БСП из В^ изменяет Ï. -ый фасет" одинаковым образом. Поэтому каждому 6j_j можно сопоставить единственное базовое преобразование значений фасетов (ВЗП), заданное на Т\ , а каждому БШ - единственное базовое Ш (БШ), что резко уменьшает количество рас-сматриваемых^вычислительных связей ТЭП в силу оценки

I 6>Lj.l П. |Т£<| . БШ представляют собой либо алгебраические функции действительной переменной, либо вычислительные процедуры, действующие аналогично матричным операциям языка АЛЛ. Например, при п = 2 классу БСП B^j , включающему БСП [ "план производства", " объем производства"| —— "дефицит производства", соответствует БИТ {"план", "объем"} —— "дефицит" и БЕЛ, задающее поэлементное вычитание матриц.

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

Для БСП, ЮП и БШ вводятся соответствующие отношения (БСО, ВЮ и БВО) так, что установленное выше соответствие сохраняется и для отношений.

В 5 2.3 по аналогии с задачей синтеза на вычислительных моделях ставится задача синтеза РП и рассматриваются свойства семантических программ. Пусть заданы:

1. Граф где множеству вершин /) соответствует объединение множеств допустимых ТЭП из Т и их вычислительных отношений. _

2. Входные ТОТ UL и их значения.. U. ,_выходные ТЭП V fUjVcJX

Требуется построить РП Р ! U- -*- У , выделив из отноаэ-ний последовательность операторов для расчета значений V по

- а -

LL. , На изоморфном <?б графе &с , вершинам которого соответствуют наименования допустимых ТЭП и их правильные семантические отношения, задача синтеза ставится как задача построения семантической программы U. V .

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

- количество верпин-переменных из A M ^ П t Т^ I — I Т I ;

- при оценке количества вердин, сопоставленных только ECO, следует учитывать соотношение J Ъ^ | 4 .П . ) Т;., | ;

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

СП наименований ТЭП могут быть описаны в терминах композиционного программирования. Наименования ТЭП из Т образуют именное множество I, I = { ( )} , ¿А £ (J t = i^n. .

Множество S базисных именных функций, действующих на X , образует множество БСП В . Множество композиций состоит из аппликации Q (последовательное применение БСП), а лгйой семантической программе соответствует вывод в прикладной программной алгебре Я многоместных функций, Я = < S, > .

С результатами композиционного программирования согласуется

Теорема. Пусть для пространства ТЭП Т фасеты являются независимыми и пусть U. С-Т - множество ТЭП, для которых известны их значения IL . Тогда семантическое преобразование 4 : X— где X. û U. , У- 6 Т ^ L4. , есть композиция БСП тогда и только тогда, когда является достижимым ТЭП, т.е. у. £ tL". Следствие. Семантическая программа S V есть ком-

позиция БСП.

Следствие. Если d, ( , то СП i : X — ^ есть компо-

зиция нз менее,чем 1 БСП.

Для квазинезависимиос фасетов справедлива аналогичная теорема.

Третья глава по связка методам и алгоритмам автоматического синтеза расчетных программ. В § 3.1 рассматриваются основные особенности метода синтеза. Была учтена специфика задач синтеза РП, определяемая спецификой РП, ТЭП и их преобра-

зований. Были одновременно использованы некоторые идеи и результаты существующих методов синтеза:

- синтеза на вычислительных моделях (описание предметной области задачи синтеза, постановка задачи, общая схема её решения) ;

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

- потокового программирования (построение программ из несвязанных операторов на основе анализа семантики данных).

Эффективность метода синтеза обеспечивается за счет того, что:

- исключается поиск решения на заранее заданном графе вычислительных связей ТЭП большой сложности;

- решение строится без учета конкретики вычислений и ЯП;

- вместо БСП на применимость анализируются заданные по фасетам БЮ;

- для сложных задач синтеза ограничивается рост графа перебора.

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

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

Применимые операторы, составляющие решение задачи, илут-ся на основе анализа семантики обрабатываемых данных - ТЭП. На основании теоремы § 2.3, решение можно искать исключительно в терминах БСП. По аналогии с функциональными программами, можно представить множество БСП, через которое "течет" множество ТЭП. Если имеется достаточное количество семантически близких (находящихся на расстоянии I в Т ) достижимых показателей, которые могут быть аргументами некоторого БСП, то данное БСП активизируется (вырабатывая наименование нового ТЭП) и добавляется к решению.

На основании теоремы, решение задачи синтеза модели РП Б ! и. -*~У мозшо искать как композицию абстрактных однородных элементарных компонентов - применимых БСП (каждое из которых меняет один фасет в наименованиях ТЭП), переходя потом к сопоставленным вычислительным реализациям - БЕЛ.

Как и при синтезе на вычислительных моделях,решение строится в два этапа: вначале определяется разрешимость задачи и находятся все применимые операторы, а потом из них выделяется оптимальное решение. Отличие состоит в том, что решение не шлется на заранее заданном графе вычислительных связей ТЭП, а строится одновременно с ним в терминах абстрактных СП (причем не произвольное, а оптимальное).

Для РП и их семантики можно выделить "неделимые" базовые элементы - БЕЯ и БСП, определяющие минимальный осмысленный уровень обработки ТЭП. Многоуровневая декомпозиция задачи синтеза ("программное обеспечение — отдельные И — Ш для расчета ТЭП БЕЛ") с последующей композицией элементарных решений позволяет уменьшить сложность исходной задачи.

Решением задачи синтеза является семантическая модель РП в виде линейной частично-упорядоченной последовательности описателей БСП - троен вида < X, у- , 4 > , где ^ - сопоставленное БВП. Модель РП является представлением её свободной стандартной схемы, интерпретация которой, определяемая знаниями о предметной области, средствах и задаче синтеза, позволяет получить текст конкретной РП.

В § 3.2 рассматривается алгоритм синтеза оптимальных семантических моделей РП, состоящий из двух этапов. На 1-ом этапе определяется разрешимость исходной задачи и строится явный графвершинами из £ И" , где 1Л* - множество достижимости для И . Одновременно формируется семантическая модель РП Б Ц, Ы* в виде совокупности описателей БСП.

Пусть - множество Ц" на к -ом шаге поиска реше-

ния, <= оТ^ , 2о-Ш , 2т ~ И* . Тогда (

2'кн , . где -

множество БСП, применимых к Нк • Каждому Я* сопоставляется множество группировок семантически близких ТЭП { X ^ .

Формирование И" прекращается, если либо V2к ,либо Бц - в ,но V <£ £„; (задача неразрешима). В первом слу-

чае семантическая модель Б есть < ь , • - . > >. Во втором случае не происходит потери решения, что вытекает из теоремы (§ 2.3).

Каждое находится следующим образом. На каждом

к -ом иаге просматриваются вез группировки ТЗП, относящиеся к I -му фасету, и для каждой группировки X ^ анализируются все БФО, заданные для этого I -го фасета. Если некоторое БФО -р применимо к вектору С -ых элементов ТЭП из Х^ , то к добавляется описатель нового БСП, применимого к X...

Для каждой вершины - ТЭП I запоминается оценка стоимости её достижения: ^

9-С^ « ^ * РС^)),

где ^ - аргументы I -го альтернативного БСП для полу-

чения 2. , а ^ у - стоимость I -го БСП. Если для новой алътернатиш 4' д (!>'] < 9- ( , то £ ( д. ( I') , и пе-

ре считываются оценки для всех вериин 6' , зависящих от А .

Для задач большой размерности в целях предотвращения разрастания 6' можно "закрывать" для проверки применимости "неперспективные" группировки ТЭП X , для которых £ ( >

Алгоритм заканчивает работу за линейное время N =0(|ЫЛ). На втором этапе синтеза выделяется модель искомой РП

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

Для выделения &' граф 6 просматривается в обратном порядке, от V к Ц. (поиск на И/ИЯИ - графе при сведении к подзадачам); показателям соответствуют; И-верпины, а БСП - ИЛИ-верпиш графа.

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

Работа алгоритма сутдаственно упрощается, так как:

гЧ

- существование оптимального С» следует из разрешимости задачи;

- & не строится заново, а ищется на заранее построенном <5';

- для каждой вершины й' уже известна её оценочная функция.

3 5 3.3 описываются методы и алгоритмы генерации текстов ИТ. Генерация представляет собой интерпретацию полученной семантической модели, (схемы программы) в соответствии с хранимыми в ЕЗ знаниями и состоит из двух этапов.

На 1-ом этапе по семантической модели и сведениям о ПО и задаче синтеза строится детальная модель И1 в виде совокупности описателей основных её компонентов. Далее производится честкчная оптимизация генерируемой РП (эквивалентные преобразования детальной модели):

- по памяти - минимизируется количество массивов РП, отводимых под промежуточные ТЭД;

- по быстродействию - минимизируется количество открытий/закрытий разделов информационной базы при чтении/записи и количество циклов в РП (за счет слияния циклов).

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

На 2-ом этапе производится собственно генерация текста РП на подмножестве L выбранного выходного ЯП блочного типа по детальной модели, текстам. БЕЛ и правилам вывода схемы контекстно-свободной грамматики С языка L . С Q связана грамматика , задающая синтаксис языка БШ (БВО)

и инвариантная к выходному ЯП. Фразы L, есть операторы присваивания и условные операторы для арифметических выражений над индексированными переменными.

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

Четвертая глава посвящена реализации и применение системы автоматического синтеза расчетных программ (САС/РП). В § 4.1 приводится общая характеристика системы, перечисляются основные особенности САС/РП:

- наличие модифицируемой БЗ и средств для работы с ней;

- возможность настройки на различные предметные области и средства синтеза;

- минимальный ввод в БЗ;

- нормализованный ЕЯ постановки задач синтеза;

- синтез программ в автоматическом режиме;

- элементы обучаемости за счет накопления знаний в БЗ;

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

- синтез программ на различных выходных ЯП;

- поддержка жизненного цикла программ (разработка, сопровождение, использование в качестве прототипа),

САС/РП реализована на персональных ЭШ для N3 DOS и включает следующие программные модули (ЯП - Турбо - Паскаль, версия 5.0):

- монитор обеспечивает управление системой;

- организатор служит для организации БЗ;

- редактор обеспечивает ввод, просмотр и изменение содержимого БЗ;

- анализатор производит анализ и перевод во внутреннее представление вверенных в ВЗ знаний;

- синтезатор строит семантическую модель РП;

- генератор формирует текст РП на выходном ЯП по её модели;

- интегратор формирует БЗ для синтеза РП-преобразователей ТЗП.

САС/РП имеет три режима работы: синтез (построение нсгах РП), адаптация (модификация ранее построенных РП) и интеграция (синтез РП-преобразователей ТЭП), Объем системы - 184 К машинного кода.

В § 4.2 описывается база знаний САС/РП, содержащая следующие знания:

1. О предметной области синтеза:

- словари-тезаурусы терминов фасетов;

- семантическая сеть, задающая синтагматические отношения терминов фасетов (Б50).

2. 0 средствах синтеза:

- знания о методиках расчета ТЭП в виде библиотеки текстов БВО;

- знания о выходном ЯП в виде текстов правил вывода грамматики вместе с сопоставленными семантическими правилами.

3. О задаче синтеза:

- сведения о входных ТЭП (тексты ТЭП на нормализованном ЕЯ);

- сведения о выходных ТЭП (аналогично).

4. О результатах синтеза:

- модели РП з виде совокупности описателей БСП.

БЗ САС/РП реализована при помощи инструментального комплекса <2Ы41 Да к Тсх>е£ех~

В § 4.3 рассматривается основные особенности систем пла-К'^с-ания и проектирования схем комплексного освоения территория (СПГСО). Генеральная схема определяет размещение на территориях, природные ресурсы которых осваиваются, сложного комплекса объектов и коммуникаций для различных отраслей и динамику их ТЭП.

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

В § 4.4 рассматривается методика использования системы синтеза РП как инструментальной системы для автоматизации разработки СПГСО. САС/РП обеспечивает автометизацию следующих процессов.

1. Синтез РП. Построенные САС/РП программы накапливаются в БЗ и пригодны для независимого (от САС/РП) использования в СПГСО.

2. Адаптация РП. В процессе длительного сопровождения СПГСО могут меняться объект освоения и знания о нем, методы управления, решаемые задачи. Все это вызывает в РП как изменение состава обрабатываемых ТЭП, так и методик их расчета. При использовании САС/РП трудоемкий процесс модификации текстов программ заменяется на модификацию непроцедуральных знаний в БЗ с последующим повторным синтезом РП на измененной БЗ. Совместное использование СПГСО и САС/РП придает СПГСО свойства адаптивных систем, постепенно увеличивает возможности САС/РП.

3. Интеграция двух систем 4, и (объединение их в единую систему) обеспечивается программой-преобразователем ТЭП, которая преобразует ТЭП из ИБ (выходы 5„ ) в ТЭП из

ИВ \ (входы 5г ). Такая К1 строится САС/РП в режиме интеграции на частичном объединении БЗ 5« и 32 . Это облегчает создание интегрированных СПГСО за счет различной компоновки отдельных независимо разрабатываемых систем.

4. Автоматизация разработки интегрированных СПГСО, состоящих из относительно самостоятельных систем планирования и проектирования. САС/РП позволяет добавлять (изменять) как элементы интегрированной СПГСО (РП соответствующих подсистем), так и их связи (преобразователи ТЭП). Таким образом, интегрированные СПГСО могут строиться постепенно по модульному принципу из элементов некоторого базиса подсистем и преобразователей. САС/РП является единым инструментом разработки и сопровождения СПГСО, непрерывное развитие которых обеспечивается чередованием процессов синтеза, адаптации и интеграции.

В заключении приводятся основные результаты исследования и перспективы дальнейшей работы.

В Приложениях даются описания компонентов БЗ и программ САС/Я1, описывается использование САС/РП при разработке Системы перспективного планирования добычи газа для Министерстьа газовой промышленности СССР.

ОСНОВНЫЕ РЕЗУЛЬТАТУ ИССЛЕДОВАНИЯ

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

2. Введены и изучены представления языка ТЗП как семио-: тического метрического гиперпространства и как отношения фасетов.

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

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

5. На основе предложенного метода разработаны линейные ¿пс числу показателей) переборные алгоритмы нахождения оптимального решения задачи синтеза (семантической модели РП).

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

7. На основе предложенных методов и алгоритмов для персональных Э3.1 реализована система автоматического синтеза расчетных программ, обладающая следующими свойствами: использование базы знаний, минимальный ввод в БЗ, ЕЯ постановки задач, оптимизация программ, различные выходные ЯП, сопровождение полученных программ.

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

9. Предложена методика использования САС/РП как инструментальной системы для решения различных задач автоматизации разработки СПГСО.

СПИСОК РАБОТ, ОПУБЛИКОВАНИЯ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Соломатин А.Н,. Автоматический синтез схем расчетных программ /{ Математическое обеспечение интегрированных систем САПР-ГАП: Тез.докл. У1 координационного совещания, Куйбышев. Куйбшев, 1905, С. 65-66.

2. Соломатин А.Н. Некоторые вопросы использования системы автоматического синтеза программ // Системы программного обеспечения решения задач оптимального планирования: Краткие тез.докл. IX Всееоюзи.симпозиума, Минск, М.: ЦЖИ.1986, С, 227-223.

3. Соломатин А,И. Синтез семантических моделей расчетных програш К Методы трансляции и конструирования программ:

Тез. докладов Всесоюзн. кон$. Новосибирск: Щ СО АН СССР, 1988. Т. 2. С. 99-100.

4. Крылов И.А., Соломатин А.Н. Автоматический синтез расчетных программ. М.: Щ АН СССР, 1966. 22 с.

5. Соломатин' А.Н. Система автоматического синтеза расчетных программ // Проблемы программного обеспечения задач планирования и проектирования схем освоения территорий: Сб. статей. М.: Щ АН СССР, 1987. С. 35-58.

Подписано к печати

Пгч л 'Тираж /ОО 04 Пссгчатяо.

Типография МЭИ, КраоюкаэарясКная, 13.