Недоря А.Е. - Диссертация. Введение

Введение    Глава 1    Глава 2    Глава 3    Глава 4    Заключение    Литература    Приложения


ВВЕДЕНИЕ

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

1) Надежное программирование. Это свойство, очевидно, затрагивает как языки программирования, так и языковое окружение (библиотеки). Важным критерием надежности является раннее обнаружение ошибок, в первую очередь во время компиляции, и динамический контроль в тех случаях, когда статический контроль не возможен. Аккуратный выбор методов реализации окружения позволяет удалить некоторые классы ошибок полностью. Так например, встроенная в окружение сборка мусора обеспечивает отсутствие ошибок, связанных с некорректным освобождением памяти.

2) Переносимость. Нецелесообразным является разработка системы программирования для некоторой конкретной платформы (термин платформа используется как обозначение пары машина + операционная система). Изменения в аппаратуре происходят очень быстро, обостряется конкуренция среди ОС. Для подтверждения этого факта достаточно перечислить ОС, работающие на старших моделях семейства i80x86: MS-DOS, MS Windows, OS/2, Windows NT, NEXTStep, различные реализации системы Unix. Ориентация на конкретную платформу приведет к появлению неконкурентного продукта.

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

4) Адаптируемость и расширяемость. "Хорошая" система должна предоставлять возможности развития и адаптации под различные требования. Возможность расширения (адаптации, модификации) системы – это единственный способ обеспечить выполнение новых требований, неизвестных на данный момент проектирования системы. В некотором смысле, любая программная система является расширяемой. Мы же будем называть расширяемой системой только такую систему, в которой при добавлении новых возможностей не возникает необходимость в изменении базисных понятий и механизмов.


 Цель работы. Целью данной работы являлась реализация "хорошей", а именно расширяемой и переносимой системы (РПС), удовлетворяющей приведенным критериям. Работа по достижению этой цели была разбита на две подзадачи:

  • выбор подходящих языков, схемы трансляции и реализация переносимых компиляторов (главы 1, 2);
  • исследования принципов построения расширяемых систем и разработка системы (главы 3, 4).

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

  1. Выделены критерии пригодности языков для реализации РПС; проведено сравнение языков с точки зрения их пригодности.
  2. Предложена новая методика реализации мало-языковых транслирующих систем.
  3. Реализовано семейство переносимых компиляторов и трансляторов с языков Модула-2 и Оберон-2.
  4. Проведен анализ и сравнение расширяемых систем.
  5. Разработаны принципы организации и структурирования РПС на базе одиночного наследования.
  6. Реализовано ядро РПС Mithril.

 Апробация работы. Результаты диссертации неоднократно докладывались на семинарах и конференциях, в том числе:

  • 1-ая Всесоюзная школа семинар по языку Модула-2, Наманган, 1987;
  • 2-ая Всесоюзная школа семинар по языку Модула-2, Севастополь, 1988;
  • Рабочее совещание по архитектуре процессоров Кронос и программного обеспечения, Паланга, 1989;
  • Рабочий семинар Institute of Computer Systems, ETH, Zurich, 1991;
  • Международная конференция "Cooperative Standartisation", London, 1993;
  • Научные семинары ВЦ СОАН СССР и ИСИ СО РАН.

 Публикации. По результатам диссертации опубликовано 6 работ.


 Структура и содержание работы. Работа состоит из четырех глав, заключения и двух приложений.

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

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

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

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


Введение    Глава 1    Глава 2    Глава 3    Глава 4    Заключение    Литература    Приложения