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

кандидата технических наук
Аджиев, Валерий Джелембиевич
город
Москва
год
1992
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Проектирование системы программирования для интегрированных систем машинной геометрии и графики»

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

'о

МОСКОВСКИЙ ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ИНЖЕНЕРНО - ФИЗИЧЕСКИЙ ИНСТИТУТ

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

АДЖИЕВ Валерий Джелембиегич

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

05.13.11 "Математическое и программное обеспеченно вычислит ели !ых млши», комплексов, систем и сетей"

Автореферат

диссертации пл соискание ученой степени кандидата технических наук

Москва 1992 г.

Работа выполнена в Московском ордена Трудового Красного Знамени инженерно-физическом институте.

Научный руководитель

-кандидат технических паук, доцент Пшпогин В.В.

Официальные оппонента

-доктор технических наук, профессор Пермипов О.Н.

-кандидат физико-математических наук, старший научный сотрудник Челноков В.П.

¡"ведущая организация • Вычислительный Центр Академии Наук

Защита состоится " _" О Ч_1992 г. в / У*час. 36 мин.

на заседании специализированного совеча Д-053.03.04 в Московском инженерно-физическом институте по адресу: 115409, Москва, Каширское шосс:е, дом 31, тел. 324-84-98.

II)юсим принятьучасп ие и работе совета или прислать отзьш в 1-ом экземпляре;, заверенный печатью организации.

С диссертацией можно ознакомиться в библиотеке МИФИ.

Лвто{х;фе])ат разослан " ) " ^ ^ 1992 г.

• * s

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

^Актуальность проблемы.

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

Используя ИСМГГ, пользователь опнсиппет геометрический алгоритм либо в виде прямых обращений к процедурам семантического пакета (в виде отдельных обращений, каждое из которых сразу же интерпретируется, иди в виде программы на "процедурном" языке), либо в виде программы на геометрическом языке, конструкции которого соот носятся с процедурами семантического пикета опосредованно. Возможно взаимодействие иолюователя с системой а рзмках диалоговой надстройки. Иными слогами, семантический пакет пиружен в геометрическую систему профаммнротг.нш, которая, вообще говоря, предъявляет onj «деленные требования и к самому пакету. Вгищу того, что сущест сующие НС?Л Г Г немногочнеле! !Н1Л и г.осят во многом скспе-риментальный харахт ер, специфические П[~юблемы построения их систем программирования изучены недосгаточно.

Цепь работы.

Цел ю лисар рцмонной работы является проведение теоретических исследований и инженерных раз(иботок, направленных на создание методжи проектирования систем программирования ИСМГГ с учетом их геометрической специфики и с использованием современного аппарата п^юектирогання и реали-

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

В соотьстсл вии с этим были поставлены и решены следующие задачи.

1. Ра зработка общих принципов и формулирование критерию проектирования сис] ем П{Югрзммнропания ИСМ1Т.

2 Разработка и исследование математической модели системы про^ам-ми) юпгшия ИСМГГ с формальным описанием сисгахсиса и семантики геометрического языка.

3. Разработка инженерных основ прое5;тирования системы программирования ИСМГГ с язькопыми средствами разного уровня - с языком спецификаций для процедурного геометрического языка и методикой построения трансля-т'-тл для геометрического языка высокого уровня.

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

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

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

2. На основе типовой структурной модели ИСМГГ и обобщения понятийных средств многомерного и динамического геометрического моделирования разработана функниопалыгая модели ИСМГГ в виде многосортной алгебры с разделением синтжсического и семантического уровней.

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

Методы исследования.

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

Практическая ценность результатов работы.

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

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

Разработанная методика шиш применение при программной реализации системы программирования для ряда версий ИСМГГ' САГРЛФ га ЭВМ ЕС, СМ, PC, а также при создании диалоговой системы графического документирования. ДОКУМЕНТ на ЭВМ ЕС Разработанные программные средства внедрены и используются при обработке материалов летных испытаний в Детпо-исследопательском институте, в учебном процессе и научных исследованиях я МИФИ.

Апробация результатов работы.

Основные результаты диссертационной работы докладывались на II Всесоюзной конференции "Методы и средства обработки сложной графической информации" (Горький, 1985); Всесоюзной школе-семинаре "Информатика и штерактшшая г.омпыотертая графика" (Цажадзор, 1937); XXXII конференции МИФИ (Москва, 1987); III Всесоюзной конференции "Мет оды и средства обработки изображений и сложной графической информации" (Горький, 1988).

Публикация.

По теме диссертации опубликовано 7 научных работ.

Структура и объем диссертации.

Работа содержит 137 страниц основного текста, 28 рисунков, 3 таблицы,

список литературы из 120 наименований на 11 страницах, 2 приложения.

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

Решение геометрической задачи предполагает следующие этапы:

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

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

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

- интерпретация результата в геометрических понятиях.

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

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

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

В работе представлена типовая структурная модель ИСМГГ. Ее ядро -семантический пакет, состоящий из двух взаимосвязанных подсистем - геометрического п[юц(хсора и графического процессора. В геометрическом процессоре выделяются: подсистема геометрического синтеза, позволяющая вводить геометрические объекты и с помощыо геометрических операций синтезирова гь новые объекты; и подсистема геометрического анализа, осуществляющая численный анализ геометрических объек т«. I "еомеч рические объекты хранятся в геометрическом протоколе. Графический процессор состоит из подсистемы графического моделирования, формирующей графические объекты в графическом протоколе; и подсистемы графического метода доступа для осуществления вывода графической информации на терминалы и графнче-

схсго ввода с терминалов. Для работы с терминалами служат драйверы, использующие ¡«одной и выходной терминальные протоколы. Числовой про' токол обеспечивает связь с системой числового моделирования. Важной составной частью является система программирования, обеспечивающая общение пользователя с ИСМГГ па языке геометрических понятий.

Геометрические языки можно классифицировать следующим образом:

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

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

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

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

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

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

■ - перспективна реализация концепций абстракции данных и инкапсуляции.

При этом многоурои ¡евость представления информации позволит обеспечить полимоделыюсгь объектов и операций, что повышает эффективность ИСМГГ.

Для решения задачи проведения исследований по" проектированию систем программирования ИСМГГ построена цепочка математических моделей.

В работе используются следующие теоретико-множественные обозначения:

если В = {с1, Л «1}- множество с мощностью, равной мощности множества индексов I, то

(сЗ ) - последовательность (кортеж) элементов из О, 01 + Бг +... + Ок - разделенное объединение множеств,

0] х Пг х... х - декартово произведение множеств,

1) = 0 + Е> -И) х 1} +... + О х... х Б +... - множество всех кортежей из О

Г г О] -> Ог - отображение (функция), переводящее Б) в 15г-

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

А = { М.ФЛУ ),

где М - множество объектов,

Ф - множество алгебраических операций вида ф: М -> М, V/ - множество отношений на множестве М.

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

Здесь множество объектов:

М = МУ£ + МУУ + МУП + МР1, где - множество геометрических объектов, Миу - множество векторов, Муп - множество чисел,

МР| - множест во функций от переменных типа "время", описывающих геометрические процессы.

Множество Ф включает геометрические функции геометрических аргументов Ф^г* М%8 -> МуЕ (теоретико-множественные операции,геометрические

преобразования и построения), геометрические операторы Ф(РР : M*Pt -> Мр1, геометрические функционалы Ф;еР :. М pt -> Mve, геометрические функции

Ж Ж * 4í

анализа Фьг: М v»-> М *п, числовые функционалы Фгпр : М ri ->М vri, функции построения векторов : М v.¿ -> M*vv , функции задания геометрических объектов наборами чисел Ф(Е„: М vn Myg И BeKTOpOlí Фг^у * М w _> Myg.

Для простоты в алгебраическую систему не включены графические объекты и операции над ними, а также операции над числами.

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

Функциональная модель ИСМГГ построена на основе структурно:" модели ИСМГГ, понятийной модели ИСМГГ вкупе с правилами описания геометрических алгоритмов и отражает функциональные возможности ИСМГГ. Ее назначение - опрел елигьсредспя, предоставляемые для реализации геометрических алгоритмов.

С математической точки зрения функциональная модель представлена в Биде многосортной алгебры с разделением синтаксического и семантического уровней:

Fm = ( D, Ф),

где D = < ds /s í S > - множество объектов (S - м; южество имен сортог.(п ¡нов) объектов),

Ф - { Фо-' ere V ) - множество операций ( £ - множество обозначений операций).

К объектам-относятся символьные, логические и числовые константы и переменные, временные переменные dj, пространство моделирования cÍr, eíx-торные переменные cJvrc, геометрические переменные drrc, графические переменные dcr, геометрические преобразования dFí;m, геометрические функции анализа efen, геометрические предикаты dpr, графические изображения di2 и пр. Каждый объект типа s может иметь подтипы, а те, в сг.сю очс[хуц» - окземп-ляры. С объектами можно ргботатъ лишь после выполнения операции идентификации фн, которая объявляет тип и , если необходимо, инициализирует экземпляр. Наличие такой операции - это отражение требования сильной типизации.

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

объект базисного типа (имеет подтппы - "точка",...); типовая геометрическая переменная dr0b * объект конструируемого типа, получается с помошыо операции создания типового объекта

фпоь: с! роь х d рЕш dx0b

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

Сложная геометрическая переменная dGüb обозначает конструируемый объект, получающийся с помощью операции геометрического синтеза:

фзые: d,4 х d ptg х d vcc х d pgm '> dGob .

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

Объект программа с1ргсг соответствует понятию "геометрический алгоритм" и определяется как последовательность операций Fm. Над этим объектом определены операции, являющиеся аналогом операций структурного программирования - синтеза программ, условная и циклическая.

Денотационная модель ИСМГГ строится кз основе функциональной модели и является математической моделью системы программирования КСМГГ.

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

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

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

ангцкжснмлюш. На доменах oí ¡ределяются функцлн, система обозначений при этом близка к теоретико-множественной.

В работе обосновано, что модельный геометрический язык как математическая абстракция семейства геометрических языков ИСМГГ должен иметь два диалекта. Конкретный диалект отражает все объекты и операшш, присутствующие в функциональной модели, а абстрактный диалект - только необходимые для реализации геометрического алгоритма. Соответственно, синтаксический домен "программа на конкретном диалекте" Progc содержит "блок описаний" Declbloclk, соответствующий набору операнда идентификации из модели Fin; и "блок типовых объектов" Tblock, соответствующий операциям создания типового объекта. Тогда как домен "программа на абстрактном диалекте" Proga этих, по сути - статических аспектов, моделирующих явную типизацию и наличие абстрактных типоа данных, не содержит.

Построены семантические домены, определяющие множества значений, которыми оперируют конструкции языка. Среди них: S - состояние памяти в ей.де конечной функции, связывающей идентификатор числогсй структуры с ее значением (числом, массивом); Gf - геометрический файл в виде функции, позволяющей по указателю получать доступ к компонентам структуры, в которую заносится информация из описаний; Envg - геометрическая среда, устанавливающая смысл всех объектов, имеющих геометрическую специфику, R - пространство моделирования. Особо выделяются: Gpr - геометрический протокол • структура для хранения имен и значений сложных геометрических ■ переменных; Grpr - графический протокол; Vpr - числовой протокол. В этих "протоколах" и формируется результат решения геометрической задачи. Интегральный семантический домен G = S х Gpr х Grpr х Vpr можно назвать состоянием абстрактной геометрической машины.

Далее построены семантические функции Fa и Fg.

Fa: Progc -> [ Envg -> [ S -> [ Gf -> [ R -> Envg x Gf x Proga Щ]

Функция Fa ("АНАЛИЗ") определяет смысл программы на конкретном диалекте в виде программы на абстрактном диалекте, нового значения геометрической среды и геометрического файла, полученных в соответствии с текущими средой, геометрическим файлом, памятью и пространством моделирования.

Fg: Proga -> [ Envg -> [Gf -> [ G -> G В

Функция Fg ("ГЕНЕРАЦИЯ") устанавливает смысл программы на абстрактном диалекте в виде нового состояния абстрактной геометрической машины,

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

Для псех структур конкретного и абстрактного дшлектоп модельного-

геометрического языка построены денотационные определения функций Ра и %

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

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

- общее нерску|х;11ь'пое определение без кожретпззикн геометрических »[«образований с использованием стековых механизмов; '

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

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

Собственно денотационная модель - суть композиция функций Ра и Р& Огмогпм, что функция р£, для каждой структуры программы на абстрактном синтаксисе н в конечном итоге для вс:ей программы генерирует последовательность вычислений некоторых базисных функций переходов абстрактной геометрической машины, набор которых и: шриз] ¡теп, в ■ ксп юсти, отноа п елы ю вычислит ельных моделей геометрических преобразований.

П рпуссеркоЗ части работы предложена методика инженерна о проектирования системы программирования ИОЛГГ. При этом абстрактным математическим структурам денотационной модели были поставлены в соответствие информационные, управляющие и алгоритмические структуры.

Предполагается, чго система программирования, ориентированная на виртуальную ЭВМ "фон-Неймановского" типа со стандартной операционной средой, должна поддерживать процедурный геометрический язык (его можно

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

Прежде всего, были конкретизированы глобальные структуры данных • геометрический, графический и числовой п]>отоколм. R частности, геометрический протокол, где хранятся сложные геометрические объекты, реализуется в виде многоуровневой списковой структуры.

Исходя из вида денотационных определений, было введено понятие расширенного семантического пакета. Показано, что функциям переходов абстрактной геометрической машины соответствуют процедуры верхнего уровня расширенного пакета и процедуры собственно системы программирования, определены наборы и укрупненные алгоритмы этих процедур, конкретизированы структуры данных. При этом, расширенный семантический пвхет обеспечивает (в отличие от обычного) учет специфики геометрических преобразований при вычислении вложенного функционального выражения при выполнении операции геометрического синтеза. Что же касается средсгз сильной типизации и механизмов абстракции данных, то их обеспечивает либо система программирования виртуальной ЭВМ с универсальным алгоритмическим язьс<ом (для ИСМГГ с процедурным геометрическим язьп;ом), либо сама система программирования ИСМГГ с автономным геометрическим языком высокого уровня.

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

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

gob; = fs,rrip(fg,mi(pig.vt+ fgm;(ptgvu plgvra))}+ fgm^ptgvn) +...;

где gob - формируемый сложный объект,

р^у - геометрические примитивы, типовые, сложные геометрические объекты, либо векторы,

Г£гп - геометрические проеобразования,

+ - преобразование конкатенации.

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

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

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

Экспсршлептзлг.нзя апробяцгзя результатов теоретических исследований и инженерных разработок состояла в программной реализации систем программирования для ряда версий интегрированной системы машинной геометрии и графики СЛ1ТАФ, а также прикладных диалоговых систем.

ИСМГГ САГРАФ разрабатывалась в течение ряда лет коллективом специалистов. Созданы версии системы, различающиеся технической конфигурацией, на которой они функционируют, функциональными возможностями, вычислительными моделями объектов и операнда, способами общения пользователя с системой. В частности, можно выделить версии:

■ САГРАФ 1.1, САГРАФ 1.2, САГРАФ 1.3 - ИСМГГ, базирующиеся на ЕС ЭВМ и позволяющие создавать каркасные геометрические модели объектов в 2D и 3D - мерном пространстве;

- САГРАФ 21, САГРАФ 22 - ИСМГГ с теми же возможностями, но базирующиеся на СМ ЭВМ с операционными системами РАФОС и ОС РВ. SAG-PC.- ИСМГГ, аналогичная предыдущим, но базируется на ЭВМ PC XT/AT/PS2

• САГРАФ-М - интегрированная система многомерной машинной геометрии и графики. Базируется на СМ ЭВМ и ЭВМ PC XT/AT/FS2, поддерживает такие примитивы, как гиперплоскость, гиперповерхность 2-го порядка, произвольная гиперповерхность, поверхность размерности к, полупространство, параллелепипед размерности к, многогранник размерности к, пространство размерности к. Среди преобразований: теорстшо-мпожествснпые,аффинные, сечение с проекцией, произвольное биективное отображение. Система имеет развитую систему геометрическго анализа и визуального анализа.

- САГРАФ-Д - интегрированная система динамической машинной геометрии и графики, базируется на СМ ЭВМ.

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

Все эти весьма разные версии разрабатывались на единой концептуальной оснопе. Типовой структурной схемой ИСМГТ САГРАФ является структурная модель ИСМГГ с ядром в виде семан гичесхого пакета, который "погружен" в систему программирования. При этом реализация систем программирования выполнялась по разработанной в данной диссертации методике, имеющей инвариантный о гносительно конкретной версии характер.

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

Версии САГРАФ 1.1, САГРАФ 1.3, САГРАФ 22, САГРАФ-М, DING поддерживают автономный геометрический язьж высокого уровня.

В версии САГРАФ 1.1, которая в тс iei ше ряда лет использовалась в учеб: гам

процессе, был реализован язык с ограниченными возможностями.

Автономный геометрический язык в других версиях реализовывался с учетом полного набора требований. Структура программы: заголовок со списком формальных параметров, последовательность определений типовых геометрических объектов, блоки описаний и блоки операторов, которые могут чередоваться. Транслятор реализован в соответствии с разработанной в диссертации методикой но двухпроходной схеме. На первом проходе с синтж-сическим распознователем, реализованным нисходящим методом на основе обобщенных диаграмм перехода Конвея, распознаются 26 типов ошибок. Второй проход с генерацией обращений к процедурам семантического пакета выполняется только для безошибочных программ. Для реализации режима пооператорной интерпретации введен специальный оператор EXEC При генерации конкретной версии выполняется с помощью специальной процедуры настойка транслятора на имеющийся в данной версии набор процедур. Это позволяет заменять при необходимости процедуры в пакете, реализуя новые вычислительные алгоритмы без. изменений в трансляторе. Язьк реализации -Форгран-4 и Фортран-77. Для версий на ЕС ЭВМ транслятору необходимо около 100 кб оперативной памяти, а для версий на СМ ЭВМ -15 Кслоп (объем внешней памяти - около 180 блоков). Данные Еерсии применялись в учебном процессе в МИФИ, при проведении научных исследований в ряде организаций.

Методика щюграммирования в ИСМГТ САГРАФ предполагает выполнение следующих этапов:

/

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

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

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

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

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

В работе представлены примеры программирования для различных версий САГРАФ.

Прикладная диалоговая система ДОКУМЕНТ иллюстрирует возможность применения разработанной методики при создании систем, отличающихся от "классических" ИСМГГ как по функциональным возможностям, так и по средствам общения пользователя с системой. Система ДОКУМЕНТ предназначена для вывода в графическом виде информации из базы экспериментальных данных материалов летных испытаний. Реализована на ЕС ЭВМ. Пользователь ведет работу, находясь перед экраном алфавитно-цифрового дисплея ЕС-7927. Диалог организован в виде меню-альтернатив и меню-бланков. В соответствии со сценарием диалога можно, двигаясь по экранам, определять параметры объектов, из которых компонуется графический документ. Среди объектов такие, как оси координат, гистограммы, координатная сетка, маркеры и другие, а также объекты, идентифицирующие информацию в БЭД. После определения параметров получается "шаблон" - универсальная промежуточная форма описания и хранения графического документа, которая татем может быть интерпретирована с генерацией обращении к процедурам семантического пакета, после чего осуществляется вывод документа на один из графических терминалов.

Семантический пакет здесь - это пакет процедур документирования, написанных на процедурном языке системы САГРАФ 1.2 Шаблон можно рассматривать как программу на абстрактном диалекте модельного языка, а экранные меню в совокупности дают структуры программы на конкретном диалекте, а именно - описания. Операторы же синтезируются автоматически как конкатенация заданных объектов в зависимости от пути по дереву диалога. В шаблоне операторы присутствуют уже в явном виде. То есть формирование шаблона - это первый проход в определенной выше схеме трансляции, а второй проход, как и ранее, заклочается в интерпретации шаблона. Связь с БЭД Осуществляется через числовой протокол. Можно вводить типовые объекты, определяемые как ранее созданные шаблоны либо их фрагмента. Их можно хранить ео внешней памяти, возможно модифицировать сценарий диалога. Система ДОКУМЕНТ требует около 100 кб оперативной памяти. Онаширо-ко используется в Лет но-исследоват ельсхом институте.

Основные результаты работы.

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

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

■ 2. На основе типовой структурной модели ИСМГТ с ядром в виде семантического пакета и понятийной модели ИСМГГ, обобщающей понятийные средства прямого решения многомерных и динамических геометрических задач, а также правил построения геометрических алгорит мов предложена функциональная модель ИСМГГ в виде многосортной алгебры с разделением син таксического и семантического уровней.

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

4. Впервые предложено и обосновано применение денотационного подхода для формального описания семантики модельного геометрического языка. Разработ ана структура денотационной модели в виде композиции семантической функции "АНАЛИЗ", переводящей программу на конкретном диалекте в программу на абстрактном диалекте; и семантической функции "ГЕНЕРАЦИЯ", переводящей процимму на абстрактном диалекте в последовательность вычислений функций абстрактной геометрической машины. Введены семантические области, определяющие формально множества значений, которыми оперируют структуры языка, построены денотационные определения семантических функций. Предложены альтернативные определения функции, вычисляющей сложное вложенное геометрическое выражение, в том числе с учетом специфики геометрических преобразований. Исследовано влияние этих определений на эффективность реализации функции геометрического синтеза - важнейшей в ИСМГГ. Предложено формальное денотационное определение функции, задающих механизм определения новых типов в модельном языке.

5. На основе денотационной модели предложена методика инженерного проектирования системы программирования ИСМГГ. Конкретизированы структуры данных с учетом полимодельности обьектов и операций, сформулированы требования, налагаемые на верхний уровень семантического пакета,

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

6. Разработаштя методика нашла практическое применение при программной реализации систем программирования для ряда версий ИСМГГ САГ-РАФ - с процедурным геометрическим языком (версии для ЭВМ ЕС, СМ| PC) и с автономным геометрическим языком высокого уровня (версии для ЭВМ ЕС и СМ), а также при создании диалоговой системы ДОКУМЕНТ, предназначенной для представления в графическом Еиде информации из базы экспериментальных данных летных испытаний.

7. Опыт использования в ЛИИ при обработке материалов летных испытаний и моделировании, в МИФИ в учебном процессе и в научных исследованиях, в других организациях убедительно продемонсгрирорал преимущество использования для решения сложных многомерных и динамических геометрических задач систем с развитыми языковыми средствами разного уровня, адекватными предметной области, что подтвердило актуальность и полезность создания методики проек тирования ИСМГГ.

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

1. АджиевВ.Д.,ПилюгинВ.В. К топросу построения быстродействующей системы интерактивной машинной графики. -В кн.: Применение ЭВМ в системах реального времени. -М: Энергонздат, 1982, с82-87.

2 Аджнез В.Д., Бруданин В.Б., Колобашкин В.М, Пасько А.А, Пилюгин RB., Сумароков Л.Н., Сурин А.И., Сурина О.Н. Комплекс машинной геометрии н графики САГРАФ и его использование в научных исследованиях. -Сообщение ОИЯИ Р10-85-116, Дубна, 1985,6 а

3. Аджпев В.Д., Пилюгин ВВ. Языковые средства комплекса САГРАФ. -В кн.: Методы и средства обработки сложной графической информации.

. Тезисы докладов II Всесоюзной конференции, Горький, 1985, с 177-178.

4. Аджиев В.Д., Пилюгин В.В. Формалшая модель системы геометрического моделирования. - В кн.: Информатика и интерактивная компьютерная графика. Тезисы докладов Всесоюзной школы-семинара. - Ереван, 1987.

5. Аджиев В.Д., Пилюгин В.В. Абстрактная машина геометрического моделирования. - В кн.: Методы и средства обработки сложной графической

информации. Тезисы докладов Всесоюзной конференции. Часть 2, сШ-112, Горький, 1988.

6. Пилюгин В.В., Аджисв В.Д., Пасько A.A., Сурин А.И. Теоретические вопросы динамического и многомерного геометрического моделирования. -В кн.: Проблемы информационных систем, 1988, N 5,с.3-35.

7. Аджиеп В.Д., Пасько A.A., Пилюгин В.В.,Попов CA., Простаков И.А., СуршиСШ. Машишия геометрия и графика. ■ М.:3нание, 1990,48 с. - (Новое в жизни, науке, технике. Сер. "Математика, кибернетика", N 10).

Подписано в печать 21 % Заказ ¿ЧЧ Тираж $$ Типография МИФИ, Каширское шоссе, 31

экз.