автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Инструментальные средства программирования, основанные на тензорном подходе
Автореферат диссертации по теме "Инструментальные средства программирования, основанные на тензорном подходе"
110СК0ВСКИЯ ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ
На правах рукописи
ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ПРОГРАММИРОВАНИЯ, ОСНОВАННЫЕ НА ТЕНЗОРНОМ ПОДХОДЕ
0 5.13.11 - Математическое и программное обеспечение вычислительных машин и систем
Автореферат диссертации на соискание ученой степени кандидата технических наук
Начетой Срий Витальевич
Москва 1У УI
Работа выполнена в ордена Трудового Красного Знамени Московском инженерно - физическом институте.
Научный руководитель - кандидат технических наук, доцент Армейский А.Е.
Официальные оппоненты - доктор технических наук. профессор Селезнев М.Л .
- кандидат технических наук, доцент
Солодовников И.В.
Ведущее предприятие - НПО "Кибернетика"
оащити состоится " б " ЭШ-^ЗрЯ. 1991. года в часов на п.им'Даннн специализированного совета Д 1)53.0.5.114 в Носкны.-ком инженерно - физическом институте по адресу: 115409, Москва. Каширское шоссе. д.31 тел. 324-84-98
С диссертацией можно ознакомиться в библиотеке МИФИ. Автореферат разослан 1991 П'.дл
Проспи принять участие в работе совета или прислать отзыв в одном экземпляре. заверенный печатью организации.
Ученыи секретарь специализированного
совета
А*. Д .Модяев
Актуальность темы исследования. Одной из важнейших задач в создании инструментальных средств программирования является разработка комплекса средств для создания программного обеспечения для научно-технических и инженерных приложений. Поэтому предлагаемый в данной работе подход. основанный на использовании тензорной модели, представляет научный и практический интерес. создание комплекса инструментальных средств, ориентированных на применение матричных моделей. широко используемых в науке и технике. позволяет существенно сократить сроки разработки и повысить качество наукоемких программных средств.
Предметом исследования являются матричные и тензорные модели для представления структур баз данных, графических объектов и программ.
Цель диссертационной работы:
- Разработка тензорных моделей для представления объектов, используемых при проектировании баз данных, в геометрическом моделировании и разработке программ.
- Создание комплекса инструментальных средств для разработки прикладного программного обеспечения. ориентированного на научно - технические задачи.
- Применение тензорной модели данных для создания системы геометрического моделирования.
Обоснованность и эффективность всех теоретических положений диссертационной работы. их практическая направленность подтверждена инженерной реализацией комплекса инструментальных средств и использованием его для
создания различных программных систем.
Научная новизна результатов диссертационной работы заключается в следующем:
- предложена модель, позволяющая использовать тензорные методы в разработке баз данных, ориентированных на научно -технические приложения и обработку графической информации:
- разработана методика представления и обработки тензорных баз данных, включая компактное хранение разреженных матриц и выполнение реляционных операций:
- предложен язык для описания моделей в терминах тензорной алгебры, позволяющий манипулировать объектами тензорной СУБД и обладающий возможностями символьного решения систем уравнений:
- создана система геометрического моделирования, использующая тензорные объекты для представления графической информации и превосходящая за счет этого многие аналоги по быстродействию и компактности хранения информации. Система позволяет разрабатывать прикладные программы с графическим интерфейсом и осуществляет динамическое моделирование движущихся изображений.
Практическая значимость результатов диссертационной работы состоит в создании комплекса инструментальных средств. основанного на тензорной модели представления информации и ориентированного на разработку программного обеспечения научно - технического характера. Разработанный комплекс включает: - многопользовательскую тензорную СУБД для работы р
локальны:: сетях ЭРМ
- ИМГерпретат' ЯЛИКИ Г1роГ раММИрОВаНИЯ , liKMM'lHUIIiei п ТеН.юрНЫе I! H:\Tpll4HHf ЧГП^ЯШШ , и ТЛК*о l<i I • ll 'TII. I. • I'll
сцмгм 1Л1-1ЮГО решения eiivTt'ii уравнении :
- диалоговуп среду разработчика программного обеспечения, вклпчающуп многооконный диалоговый интерфейс , возможности просмотра и редактирования тензорных объектов, встроенный редактор и отладчик. а также средства автоматизированного создания программ:
- систему геометрического моделирования, вклтчамиуи графический редактор . генератор графических программ и возможность создания динамических геометрических моделей.
основные результаты диссертационной работы отражены в 7 печатных работах и в 4 отчетах о научно-исследовательской работе Теоретические положения и практические результаты работы были доложены на К научных конференциях и семинарах. Научно-техническом семинаре "Математические основания теории сложных систем" ИвГУ. Иваново IЧ8К и |ЧНУ гг.; Всесоюзной конференции "Конструкторско - технологическая информатика , автоматизированное создание машин и технологий". Москва 1 ЧН(.)г . ; Научно-техническом семинаре "Методы автоматизированного проектирования электронно вычислительной аппаратуры и СБИС". Ивано-Франковск 14HS)r.• Международной конференции ComputerAided Control Systems Desiqn IFAC/IMACS Алма-Ата 19Н9г.; Научно-техническом семинаре "Машинная графика в САПР" Москва I '".Юг . ; pr-e.--.if ->ц|'й научно-технической школе "интеллектуальны« г.пнки
Даши i:;-Ч()". noc Бакуриани Грузинской ССР ll.ll.K)r; Всесоюзной конференции "Математическое и имитационно* моделирование в системах проектирования и управления". г.Чернигов l'.iMOr.; Было также получено приглашение для участия в международной конференции по объектно-ориентированным базам данных в Be ликпбританнп "Ob-ject-Orienced Databases" Windermere, United Kingdom. July 1990.
Практические разработки и инженерные решения,
полученные в диссертационной работе, были внедрены в промышленную эксплуатацию в следующих организациях: Тушинский машиностроительный завод; Завод "Молния":, Главное Управление путешествий "Совтур"; Брестское отделение Госконннтуриста; Факультет ВПК ИГУ.
Опыт внедрения практических результатов диссертационной раоотн в различных областях, включая программные комплексы конструирования деталей и проектирование технологического процесса холодной штамповки в машиностроении, создание информационно - поисковых систем и статистической обработки массивов информации показывает, что данная работа дает существенный экономический эффект при внедрении в двух основных направлениях: реализация баз данных реального времени. требующих высокой скорости выполнения запросов и удобного многооконного пользовательского интерфейса и автоматизированное конструирование изделий и проектирование технологии, требующее наряду с использованием баз данных больших аналитических и численных расчетов. а также геометрического моделирования и графического интерфейса .
Ежегодный экономический эффект от внедрения результатов данной работы составляет тысяч рублей, что подтверждено соответствующими актами о внедрении. Тема исследований непосредственно связана с темами Координационного плана АН СССР п" проблемам "Техническая кибернетика". "Прикладные вопросы кибернетики" и с хоздоговорной НИР ЯЧ-3-f^22-5Jt.
На защиту выносятся :
- исследование и развитие модели многомерных баз данных. базирующейся на использовании тензорных операций;
- тензорная система геометрического моделирования, основанная на разделении структурного и пространственного компонентов графического объекта и использовании тензорных преобразований модели:
- практическая реализация тензорного метода представления данных и построенная на основе этого метода тензорная СУБД;
- тензорная система геометрического моделирования, включающая возможности отображения трехмерных объектов и анимации динамических моделей;
- инструментальная среда тензорного программирования, включающая интерактивную оболочку тензорной СУНД. интерпретатор языка программирования, встроенный редактор и отладчик. а также библиотеку функций для разработки прикладных программных систем, работающих с тензорными объектами ;
- язык тензорного программирования, включающий возможности манипулирования объектами тензорной СУБД, описания моделей предметной области при помощи уравнений . п также средства
объектно - ориентированного программирования.
СОДЕРЖАНИЕ РАВОТЫ Преимущество Т1?НЗор|)ОГО Метила ДЛИ оПИсашЫ
математических моделей, используемых при программировании, состоит н высоком уровне абстракции, наличии хорошо зарекомендовавшего себя математического аппарата для манипулирования с тензорными объектами и возможности описания математической модели при помощи инвариантных уравнении.
Важным преимуществом тензорного подхода является то, что с ростом размерности системы сложность математической модели не увеличивается. Использование алгебры тензорных операции и сведение всех преобразований модели к набору стандартных операций также упрощает работу с тензорными моделями. Еще одно преимущество тензорной модели состоит в том. что имеется возможность изменения точки прения пользователя на объект путем введения новой системы координат. Тензорная модель дает возможность произвольного выбора системы координат по желанию пользователя
Использование тензорных методов в программировании заключается в том, что информация, обрабатываемая программой представляется в виде структур данных , обладающих свойствами тензоров. Тензорная алгебра -:<то совокупность ' ТО где Т -это носитель алгебры. О -
операции над тензорами. При изменении системы координат происходит умножение исходного тензора на т>-н:юр преобразования системы координат или обратный ему в
зависимости от числа ковариантных или контравариантных индексов. Использование тензорной алгебры для описания модели данных означает, что данные представляются в виде многомерных индексированных массивов величин, а операции преобразования данных являются тензорными операциями. Тензорная СУБД определяется, как множество многомерных прямоугольных таблиц, для которых определены тензорные операции, а также отношения, описываемые тензорными уравнениями. Для тензорных объектов задается математическое пространство и система координат.
Тензорная концептуальная модель баз данных, также как и реляционная, принадлежит к классу табличных СУБД. В отличие от реляционной СУБД и большинства табличных, в которых рассматриваются двумерные таблицы, в тензорной СУБД никаких ограничений на число измерений не накладывается. Однородность и симметричность данных позволяет значительно упростить многие операции с базой данных и увеличить скорость их выполнения. Особенно большой выигрыш достигается при параллельной обработке. При использовании любого типа параллельных архитектур на первое место встает однородность представления данных. 'Матричная организация данных позволяет производить автоматическое
распараллеливание алгоритмов обработки информации.
Сложение и вычитание, а также некоторые другие операции, которые выполняются над тензорами одинаковой размерности поэлементно, относятся к группе поэлементных операций. Поэлементные операции и операция тензорного
умножения составляют Оазисный набор операций тензорной алгебры. Пусть Q - символ некоторой операции, определенной для некоторого типа элементов. А и В тензоры одинаковой структуры. Тогда результатом выполнения операции А Q В будет тензор С. той же структуры.
С [ i , j, к____1 = Ali. j,k____IQ Bli. j.k----]
Операция тензорного умножения определяется следующим образом: Пусть А и В два тензора различной структуры. Тогда их тензорным произведением по индексам |i,-j,k] называется тензор, полученный по следующим правилам :
Cli.i. . . 1 = II • • • XL Ali.i____l*B(i. j----1
i=l fSt
Кроме этих операций используются также операции свертка тензора, выделение прямоугольного подмассива, переход тензора в новую систему координат и другие.
Тензорная алгебра в качестве языка запросов эквивалентна другим языкам запросов и, в частности, языку реляционной алгебры.
Если рассматривать отношения, как тензоры, то можно записать операции объединения и пересечения, как поэлементную конъюнкцию и дизъюнкцию тензоров , соответствующих отношениям. Хранения избыточной информации при таком представлении отношений не происходит, так как для слабозаполненных матриц предусмотрена компактная форма хранения.
Операция проекции определяется как суммирование тензора по одному из индексов при помощи операции дизъюнкции или
логического сложения. Проекция по нескольким доменам записывается как суммирование тензора по ряду индексов. Подобно проекции в обычном пространстве, проекции ь пространстве данных можно определить, как скалпрное произведение проектируемого отношения и того, на который производится проектирование. Операция соединения отношений эквивалентна тензорному умножению, а операция селекции осуществляется комбинацией логических операций над тензором.
Тензорная СУБД реализована на трех уровнях:
1. Организация механизма виртуального обмена страниц. Ьсе страницы имеют фиксированный размер - 2 килобайти и сохраняются в файле прямого доступа. Для работы прикладных программ в памяти выделяется буфер для обмена страницами. На этом уровне управления данными реализован механизм обмена виртуальными блоками.
2. Организация работы с базой данных на уровне записей или элементов <ячеек) тензора. К функциям управления базой данных в целом относятся: функции открытия и закрытия Файла тензора, а также функции добавления, удаления и обновления записи.
3. Для выполнения операций более высокого уровни, свойственных тензорной алгебре и тензорному исчислении, реализован третий уровень абстракции данных - тензорная СУБД. Записи, соответствующие различным элементам могут иметь разную длину, что удобно, например, при использовании типа строки. Некоторые элементы тензора могут отсутствовать в базе данных. Тогда считается, что они имеют нулевые
значении.
Им третьем уровне реализации программист может работать с тензором в целом Реализованы операции создания тензора с определенной структурой, удаления тензора, а также выполнение различных математических операций над тензорами с занесением результатов в новый или уже созданный тензор. К таким операциям относятся сложение и вычитание тензоров, внешнее и внутреннее умножение, свертка тензора и многие другие Всего в системе реализовано более двадцати математических операций. Кроме того, набор операций может бить легко расширен путем определения новой операции.
11л этом уровне абстракции реализуется тензорная алгебра и тензорное исчисление, как язык запросов. Переход к манипулирование тензорными объектами вместо записей обозначает более высокий уровень абстракции для конечного пользователя и разработчика прикладных программ. Манипулирование тензорной базой данных, как моделью предметной области позволяет производить обработку сложных математических моделей, вклпчапщих как большие объемы данных. так и сложные аналитические зависимости.
Им.-кольку тензорная алгебра эквивалентна реляционной, имеет'-п возможность реализации реляционной модели в виде надстройки над тензорной СУБД, без какого-либо расширения фи чше.-ких методов доступа. Для реализации реляционной базы данных т-пмльзует'-п следующая схема: запись в отношении ра »г.щ.аетсн на поля, соответствующие доменам значения. П'>чч . птносящиеся к различным доменам, хранятся в отдельных
Фа una:: Для достижения такого эффекта сжатия к релншь ■чип:. базах данных обычно используют отдельные итнщшмшп ( классификаторы I . РазВерНУТОе ПреДС ТаНЛе|1Н<' па:«м Даши.:. I' этом случае получается путем выполнения он.р.тми
соединимы , которая требует дополнителып «г ■ > ......m uni
хранения результирующего отношения (превышающего по oi.h-mv исходные I. а также значительного времени ( с. .единение • ам. длительная операция). В тензорной СУБД такой проблемы не возникает, так как для пользователя отношение представляется не как таблица ссылок. а кап реаж нан таблица записей. Все подстановки осуществляются не реалым в памяти. а виртуально. при отображении содержшю! .• и.» экрана
Сравнение затрат времени на выполнение каприсов дл.1 наиболее широко используемых на персональных компьютерах СУБД. таких как dBASEUI+ , Foxbase« , Paradox 3. Clippei 'i u 1>н:ч''|]Ц.И1 СУБД показывает, что тензорная СУБД ii.iuf 'Лее эффективна при выполнении сложных запросов для ба> данны:: < большими объемами информации Гтто свя<ан > с тем, что г больших массивах информации часть значении полей нен<гемю повторяется. а при обработке сложных зощю.пв над Г.ОЛ1Ш1НШ
массивами. когда ресурс оперативной памяти ...........
возможность эффективной организации pa .пеп/еппя информ.ним на диске и в оперативной памяти начинает играчь i •em .► m- i. РОЛ1 .
b coi таь инструменталыюи сп'Топм ii ii-ojh <
программирования входят следующие части тензорная i .
пищ < и ii<< мин in иптррФоИ'чщ и генератором отчетов и Форм; графический редактор . позволяющий создавать и редактировать ч'ччежи; многооконный текстовый редактор для создания и ич1"И"Ипя программных файлов: Рее эти программы реализованы im i'i iio- i n л операционной riicTPiie HS-POS для кпшп.»ч »pop . оопмгт.-ТНМЫХ с IBM PC.
Пользователю ТСУРД предоставляется дружелюбный
многооконным интерфейс, максимально использующий
возможности современного персонального компьютера. Им 1 • ■