Метавычисления, функциональные языки программирования

На главную

МЕТАВЫЧИСЛЕНИЯ, ФУНКЦИОНАЛЬНЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ИССЛЕДОВАТЕЛЬСКИЙ ЦЕНТР МУЛЬТИПРОЦЕССОРНЫХ СИСТЕМ ИПС РАН
Тел/факс: +7(4852)695228    E-mail: abram@botik.ru
Web-site: http://www.botik.ru/PSI/RCMS
Руководитель  ИЦМC ИПС им. А.К. Айламазяна РАН д.ф.-м.н.. член-корр. РАН  Абрамов Сергей Михайлович


В рамках работ по
направлению метакомпиляция и функциональные языки программирования в Исследовательском центре мультипроцессорных систем ИПС РАН были выполнены следующие исследования и разработки:

  • выполнена разработка основных принципов суперкомпиляции;
  • разработан метод расширения входного языка суперкомпилятора с плоского диалекта языка Рефал до строгого Рефала (за счет матасистемного перехода), была на практике продемонстрирована способность суперкомпилятора из наивного алгоритма поиска неизвестного образца фиксированной длины автоматически сгенерировать алгоритм Кнута-Морриса-Пратта;
  • разработан метод автоматического построения программы, решающей обратную задачу по отношению к заданной программе, разработан язык рекурсивного описания информации о данных специализируемой программы, поддерживающий рекурсивное использование суперкомпилятора;
  • разработан метод регулярной апроксимации функциональных программ для их более эффективной специализации;
  • разработан функциональный язык Мета-Рефал, ориентированный на метавычисления и реализацию формальных преобразователей программ, реализована первая версия компилятора из Мета-Рефал в язык Рефал. В языке синтаксически поддерживаются как метапеременные, так и метакодировка;
  • суперкомпилятор для языка Рефал был доведен до "реальной экспериментальной версии" (См.  www.botik.ru/pub/local/scp/refal5/): в качестве входных программ он принимал любые программы на реальном языке Рефал-5 без всяких ограничений;
  • разработана и реализована первая версия компилятора из языка Рефал-графов (язык внутреннего представления программ в суперкомпиляторе Scp4) в язык программирования С (компилятор оптимизирует функции с "хвостовой" рекурсией и позволяет повысить временную эффективность результата суперкомпиляции, в среднем, в пять раз);
  • разработана новая версия функционального языка программирования РЕФАЛ Плюс. Описание новой версия языка опубликовано в виде книги. Реализован компилятор новой версии языка РЕФАЛ Плюс; (см. сайт проекта РЕФАЛ ПЛЮС http://rfp.botik.ru/);
  • разработана и реализована система программирования, основанная на языке РЕФАЛ Плюс, которая позволяет использовать язык РЕФАЛ в самых разнообразных средах, предъявляя к ним минимальные требования. При этом достигается высокая степень интеграции РЕФАЛ-программы со средой её использования;
  • разработаны и реализованы средства интеграции РЕФАЛ Плюс программ с платформой Java, включающая в себя средства коммуникации между программами, написанными на языке РЕФАЛ Плюс, и Java программами. Разработаны и реализованы компиляторы из языка РЕФАЛ Плюс в языки Java и JVM;
  • реализовано расширение популярной для создания Java-проектов среды разработки Eclipse, предоставляющее рабочее окружение для эффективного создания и поддержки РЕФАЛ-программ. Разработан и реализован интерфейс поддержки РЕФАЛ-программ в системе Eclipse;
  • разработан метод верификации параметризованных вычислительных систем посредством суперкомпиляции их программных моделей. Свойства корректности, которые проверяются, формулируются в терминах недостижимости определенного вида глобальных состояний, рассматриваемой вычислительной системы. Суперкомпилятор специализирует программную модель этой вычислительной системы по свойствам начальных состояний системы. Удачная верификация модели выражается в преобразовании скрытой семантической информации об интересующем нас свойстве модели в явную очевидную синтактическую информацию результата преобразований программной модели суперкомпилятором. Разработанный метод можно охарактеризовать также как параметризованное тестирование. Некоторые результаты экспериментов по верификации параметризованных вычислительных систем посредством суперкомпилятора SCP4 представлены на странице: http://refal.botik.ru/protocols/. Исследования в области верификации проводились в 2004-2008 гг.;
  • предложены две модели параллельных вычислений на базе функционального языка РЕФАЛ Плюс:
    1. Первая из них основывается на понятии Т-функции  чистой (без побочных эффектов) функции, которая может вычисляться не на том вычислительном узле, где был произведён её вызов, и определяет во время исполнения программы гранулу параллелизма.
    2. Вторая предложенная модель представляет из себя детерминированную параллельную модель вычислений, расширяющую язык РЕФАЛ Плюс монотонными объектами; (выделенное добавил)
  • разработан прототип параллельной реализации языка программирования Рефала Плюс для последовательных компьютеров.

Кроме работ по суперкомпиляции для языка Рефал, в ИЦМС ИПС РАН проводится серия работ по общим вопросам метавычислений и их применению в теории и практике программирования. В рамках этих исследований формулируются и исследуются новые понятия теоретических основ информатики:

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

Информационные  материалы

PowerPoint презентации

Refal Plus Development Tools 28.11.2008
Параллельное программирование на языке Рефал 26.09.2008
T-Рефал 14.03.2005
 

Листовки

2. Язык Рефал Плюс 23.04.2009
1. Метавычисления 24.04.2009
 

Плакаты

3. Язык Рефал Плюс 22.04.2009
2. Метавычисления 22.04.2009
1. Система программирования Рефал Плюс 03.05.2004
 

Логотипы

Логотип Института программных систем РАН - в формате jpg, в формате eps
Логотип исследовательского центра мультипроцессорных систем - в формате jpg, в формате eps
 

Свидетельства

Свидетельство о государственной регистрации программы для ЭВМ No 2008612595 Cache protocols in JAVA (PCPJ 1.0). Зарегистрирована Федеральной службой по интеллектуальной собственности, патентам и товарным знакам в Реестре программ для ЭВМ.  28 мая 2008 года

Изменения от: 17-02-2022 15:15

 



Адрес: 152020, Ярославская обл., Переславский район,  село Веськово, ул. Петра Первого, д4 "а"
Тел./факс: +7 (48535) 98-064  E-mail: psi@botik.ru    Веб: http://www.psi-ras.ru

©
Институт программных систем имени А.К. Айламазяна РАН, Переславль-Залесский, Россия

 На главную