Введение к работе
Актуальность темы. -. Уже более тридцати лет не прекращаются изыскания в различных областях Computer Science, связанных с функциональным программированием. Основными достоинствами, обеспечивающими повышенный интерес к функциональным системам программирования (ФСП), являются строгие математические основания и большие выразительные возможности функциональных языков (ФЯ).
Говоря о существующей практике применения Функциональных языков, необходимо указать такие направления, как интеллектуальные автоматизированные системы, осуществляющие при своей работе большой объем символьных вычислений, работы в области нетрадиционных систем знаний, символьной алгебры и систем поддержки конструирования (CAD). требующие математически строгой реализации алгоритмов с обработкой символьных данных. Кроме того, важную роль играет функциональный подход при реализации значительного количества прототипов и моделей будущей системы за ограниченное время (fast prototype systems).
В последнее время наблюдается новый всплеск интереса к этой области, вызванный необходимостью решения представленного класса задач обработки символьной, информации с применением современных средств вычислительной техники и достижений новой информационной технологии. Примерами могут служить объявленный GNU System проект создания нового расширенного языка на функциональной основе, использование диалекта Scheme в качестве внутреннего языка манипулирования объектов системы Ingres и др.
Расширение области применения ФСП и использование новых методов решения прикладных задач обусловливает потребность в появлении, новых языковых средств в рамках существующих языков и даже новых ФЯ. а также в интеграции используемых языков в рамках одной системы. Это делает актуальным поиск новых подходов к построению методики .быстрой и корректной реализации функциональных сред. Предполагается реализация ФЯ в рамках некоторой настраиваемой системы на основе адекватной теоретической модели с наработанным инструментарием сервисных средств разработки.
Анализ существующих функциональных систем показал ограниченность применяемых методик, выразившуюся в отсутствии кон-
цептуальной целостности на уровне охватывающей теории, отсутствии реализационной целостности в рамках функциональной среды, привязанности к конкретному ФЯ или.определенному виду ВТ, слабо развитой системе интеграции различных средств. Кроме того, большинство применяемых теоретических обоснований реализации ФЯ декларативны, что делает их малопригодными при использовании ЭВМ с традиционной архитектурой.
Таким образом, обоснована необходимость разработки последовательной методики реализации ФЯ, теоретически и реализаци-онно универсальной для целого класса языков и средств ВТ. Предлагается подход, основанный на комплексном использовании категорных вычислений и аппарата абстрактных машин (AM).
Цель работы. Целью работы является исследование и разработка методов и моделей реализации функциональных языков на основе категориальных вычислений. В этом плане ставятся и решаются следующие задачи:
анализ особенностей областей применения функциональных языков;
определение комплекса требований к функциональным системам программирования:
формальное обоснование теоретической и практической базы моделирования и реализации функциональных сред;
разработка сквозной схемы трансляции ФЯ в категорный
код; _..,..
разработка комплекса инструментальных средств моделирования семантик AM;
проектирование архитектуры настраиваемой системы;
реализация интегрированной ФСП и основанных на ней прикладных систем.
Методы исследования. В основу выполненных в работе исследований положен системный подход с использованием средств теории категорий и апп-ликативнкх вычислительных систем (ABC). Реализация основывается на использовании методов сопоставления по образцу (СО) и развитого аппарата абстрактных машин.
' Научная новизна. . В диссертаодонной работе автором получены следующие результаты:
обосновано использование аппарата декартовозамкнутых категорий (ДЗК) для реализации ФЯ;
разработана алгоритмическая модель AM, соответствующей ДЗК;
предложена модифицированная схема трансляции конструкций ФЯ в коды категорией AM;
обеспечено- использование методов трансформационных семантик и СО для моделирования абстрактных машин;
предложен унифицированный подход к реализации ФЯ на основе компиляции в категорный код;
предложена . схема интеграции функциональных сред с использованием трансляции *в коды общей AM.
Практическая значимость. Практическая значимость полученных в работе результатов заключается в следующем:
предоставлены средства отображения конструкций ФЯ в выражения категориальной комбинаторной логики (ККЛ);
построена модель AM, соответствующей ККЛ;
разработана схема трансляции выражений расширенного памбда-исчисления (Л-исчисления) в коды КАМ;
разработана методика использования средств трансформационных семантик для моделирования абстрактных машин;
реализован инструментальный комплекс моделирования функциональных сред в виде системы перезаписи на базе интерп-зетатора -AM;.
обеспечиваются средства настройки комплекса на семантику ФЯ;
предоставлены средства интеграции различных ФЯ на осно-зе модуля поддержки функциональных сред;
реализована интегрированная ФСП диалектов языков Common LISP и AutoLISP;
внедрены прикладные программные комплексы, реализован-тае средствами основного инструментария.
На защиту выносятся:
категорная модель схемы трансляции функциональных языков;
методика интеграции ФЯ на основе компиляции в коды КАМ;
настраиваемый инструментальный комплекс поддержки моделиро-- вания семантик алпликативных систем;
- реализация интегрированной ФСП и.прикладных систем на ее ос
нове.
Апробация работы. Основные положения работы докладывались и обсуждались на:
Международной конференции "International Workshop on Advances in Databases and Information Systems (ADBIS-94)", Moscow. 1994;
Международной конференции "Second International Workshop on Advances in Databases and Information.Systems (ADBIS'95)". Moscow. 1995;
Межгосударственной научно-практической конференции творческой молодежи " Актуальные проблемы информатики: математическое, программное и информационное обеспечение", Минск, 1994;
XXIX, XXX и XXXI научных конференциях факультета физико-математических и естественных наук РУДН, Москва, 1993, 1994,1995;
Конференциях:
"Базы знаний и экспертные системы в. АСНИ". Севастополь. 1990;
"Информатика и новые информационные технологии в системе обучения ЛИЦЕЙ-ВУЗ". Москва, 1994;
"Студенческая научная осень - 94". Москва. 1994;
Научных семинарах в МИФИ и МДНТП.
Публикации.. Полученные в работе результаты изложены в 15 опубликованных статьях.
Структура и обьем диссертации. Диссертация состоит из введения, четырех разделов, заключения, списка, использованных источников и приложения. Основной текст содержит 159 страниц, 37 рисунков. Список использованных
источников состоит из 176 наименований.