Институт

Степанов Г.Г. Материалы Рабочей группы по реализации языков программирования

Протокол 6-го заседания
Рабочей группы по реализации языков программирования

С 21 по 26 мая 1984 г. в Львовском госуниверситете проходило 6-е заседание Рабочей группы по реализации языков программирования. На заседании были сделаны 14 докладов, проведены 2 дискуссии, заслушаны краткие отчеты Целевых подгрупп РГ РЯП, продемонстрирована работа систем СУПЕР и ДЕФИПС. Основным вопросом заседания являлось системное окружение языковых процессоров.

В.М.Пентковский (Москва) в докладе "Требования к среде программирования на языке АДА" сделал обзор требований к системе программирования на языке АДА.

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

Отмечалось, что обеспечивая возможность культурного программирования, требования не затрагивают ряд вопросов, например, использование фрагментов программ, написанных не на языке АДА, проблемы надежности, работа в сети ЭВМ.

В докладе М.В.Паремского (Москва) "Cистема UNIX" отмечалось, что основу системы UNIX составляют файловая система и интерпретатор SHELL. Система обладает средствами форматирования  текстов, автоматической трансляцией измененных файлов и др. Каждый пользователь может создать свой интерпретатор языка управления заданиями. При этом он может пользоваться средствами ядра системы (порождение и уничтожение процессов, опрос, передача сообщений, ввод/вывод и т.д.). Много внимания было уделено языку "C" и степени переносимости программ, написанных на языке "C".

Отмечалось, что в 7-й версии UNIX переносимый транслятор с языка "C" (с выделенными местами машинной зависимости), работающий на PDP-11-45, не может работать на СМ-4 из-за недостаточности  ресурсов. Система UNIX вызвала большой интерес у участников заседания, поэтому вечером М.В.Паремский ответил на многочисленные вопросы.

А.А.Рейтсакас (Таллинн) в докладе "Система InterLisp" рассказал, что система хранит историю взаимодействия с пользователем, нумеруя его запросы. Номера запросов пользователь в дальнейшем может использовать. Взаимодействие происходит через систему окон экрана дисплея.

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

В докладе А.Л.Шмундака и А.Л.Томберга (Таллинн) "Система Smalltalk-80" А.Л.Шмундак рассказал о входном языке системы, экранном текстовом редакторе, работающем с помощью "колобка", возможности перенесения системы путем создания интерпретатора виртуальной машины.

Г.И.Сердюк (Ноовосибирск) в своем сообщении "Системное окружение СП и технологических комплексов БЭСМ-6" упоминал системы КРАБ, Димон, Пульт, ДМС, Дубна, Темп, Интеграл, остановившись несколько подробнее на системе Дубна.

В докладе А.Н.Терехова и А.П.Рухлина (Ленинград) "Динамическое окружение Алгола-68" А.П.Рухлин сообщил о введении во входной язык понятия модуля, об  изменении направления роста динамического стэка, что позволило существенно сократить затраты на вызов процедур. Из инструментария разработчикам других трансляторов могут быть предложены модули генерации объектного кода, распределения памяти. В настоящее время транслятор  разрабатывается для 9 различных машин.

Л.М.Романовская (Минск) в докладе "Об операционном окружении СП Кобол в ЕС ЭВМ" рассказала о возможности использования диалогового символьного отладчика, возможности получения аварийной выдачи. Как основной недостаток ОС ЕС ЭВМ было отмечено отсутствие общей концепции.

В докладе Д.Т.Федорова и И.И.Пилецкого (Минск) "Об операционном окружении СП ПЛ/1 в ЕС ЭВМ" Д.Т.Федоров сообщил о наличии обычного, оптимизирующего и отладочного трансляторов с языка ПЛ/1 в ЕС ЭВМ с отслеживанием единства входных языков. Отмечалась возможность символьного вывода и организации собственного страничного обмена и аналога виртуальной памяти.

С.М.Шелестов (Новосибирск) в докладе "Динамическая поддержка ПЛ/1 в МВК Эльбрус" рассказал о различных видах прерываний и их обработке, о реализации эпилогов блоков через прерывания. В отладочном  режиме задание на отладку транслятор оформляет отдельным модулем, а полученную при этом программу можно использовать как обычную.

В докладе "Система Кант" М.Р.Шура-Бура (Москва) остановился на вопросах тотальной автоматизации программирования. Был описан язык Кант, алфавит которого состоит из конечного числа терминальных символов и бесконечного числа терминов. Фрагменты программ, написанных на языке   Кант, представляют последовательность терминалов и терминов, которые могут быть специфицированы. Развитие программы состоит в уточнении терминов. К классическим операторам структурного программирования добавлены завершители последовательности опрераторов и операторов цикла.

Е.А.Жоголев (Москва) выступил с докладом "Модульная многоязычная СП".

Доклад В.Н.Редько (Киев) "Система ДЕФИПС" являлся докладом, предваряющим демонстрацию работы системы. ДЕФИПС предназначен для разработки интерпретаторов и трансляторов. Система состоит из ядра и фондов. В ядро системы входят препроцессоры из человеческой формы в машинную, конструкторы и сборщик. Фондами является специализированная база данных. Система в основном написана на ассемблере ЕС ЭВМ и частично на ПЛ/1. Основная "изюминка" системы — вскрытие сущности и семантики при игнорировании синтаксиса. В.Н.Редько привел классификацию функций на ординарные, структурные и интерфейсные. Аппарат аналогичен аппарату грамматик, но здесь порождается пара - смысл, синтаксис. На демонстрации представлялись диалоговый монитор ВЕКТОР, Паскалеподобный процессор, ЛИСПподобный процессор.

В.Л.Темов (Ленинград) в докладе "Системы Масон и Скоропись — открытая операционная среда" сообщил, что системы Масон и Скоропись, реализованные на ЕС ЭВМ и Искра-226 соответственно, позволяют разрабатывать легко познаваемые и модифицируемые программы. Система Масон, не выдерживая конкуренции с промышленными трансляторами ЕС ЭВМ, позволяет тем не менее решать более сложные задачи, которые не могут быть решены с помощью штатного матобеспечения. На машине Искра-226 до разработки системы Скоропись были только трансляторы с языка БЕЙСИК и ассемблера. Единственным типом данных при работе с системами являются таблицы. Программы являются элементами таблиц, поэтому над ними можно выполнять различные операции.

Перед демонстрацией системы СУПЕР  вводное сообщение сделал В.А.Серебряков (Москва). Система СУПЕР, реализованная на БЭСМ-6, ЕС ЭВМ, СМ-4 и NORD, ориентирована на разработку однопроходных трансляторов, инструментальным языком языком является язык Паскаль, метаязыком системы — специальный Паскалеподобный язык. Была предъявлена документация на систему и продемонстрированы 4 тестовых примера.

В состоявшейся в конце заседания общей дискуссии выступили А.Н.Терехов, М.Е.Неменман, В.П.Котляров, Д.Н.Тодорой, В.М.Пентковский, М.П.Бабенко, В.Н.Касьянов, С.М.Абрамович, И.В.Поттосин.

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

Для мини-машин отмечалась необходимость создания не только кросс-систем, но и портативных комплексов с очень простыми языками, но сервисом, аналогичным сервису комплексов на больших ЭВМ (пакеты, ситуации, символьная отладка и т.д.).

Нужны пользователю и специализированные системы, основанные на базе знаний предметной области.

Говорилось о роли языка в современной системе программирования — интегральное связывание всех компонент системы. Были поставлены некоторые вопросы, связанные с разработкой интегральных систем программирования. Например, проблемы задания семантики и прагматики систем пакетов, баз данных, используемых разрабатываемой системой, проблемы задания семантики модулей области пользователя и т.д.

Предмет обсуждения показался членам Рабочей группы настолько важным и интересным, что было решено посвятить ему заседание РГ РЯП в апреле 1985 г.

Были заслушаны краткие сообщения председателей Целевых подгрупп (ЦПГ).

Д.Н.Тодорой сообщил, что подготовлен сборник прикладной информатики с докладами предыдущего заседания РГ РЯП (июнь 1983 г., Кишинев). Подготовлен текст трех выступлений и список литературных источников по вопросам средств расширения в языках программирования.

ЦПГ, от имени которой выступал Л.Ф.Белоус, занимается анализом макропроцессора ЕС ЭВМ, универсальных макропроцессоров, а также макросредств на базе языка Рефал на ЕС ЭВМ, универсальных макропроцессоров, а также макросредств на базе языка Рефал на ЕС и СМ-4.

Заседание РГ РЯП решило включить в состав ЦПГ Ю.В.Пастухова (Харьков), а председателем избрать Л.Ф.Белоуса.

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

Д.Б.Подшивалов рассказал, что работа ЦПГ носит просветительский характер. Ближайшей задачей ЦПГ является комментирование терминологического словаря операционной системы UNIX. Желательно также составить циркулярное письмо с терминологией утвержденного стандарта на язык Паскаль для рассылки во все издательства с просьбой придерживатьссся указанной терминологии. Решено также послать письмо в редакцию по поводу вышедшей книги по языку Алгол-68.

Ближайшие планы работы РГ РЯП.

  1. Проведение заседания РГ РЯП в г.Новосибирске 1-2 ноября 1984 г. с тематикой "Методы реализации абстрактных типов данных и языков спецификаций".
  2. Продолжение активной работы всех ЦПГ.
  3. Экспертирование трансляторов Алгол-Эльбрус (НФ ИТМ и ВТ).

Планы работы на 1985 год.

  1. Проведение заседания РГ РЯП в г.Баку в первой половине апреля с основной тематикой "Интегрированные системы разработки программ (обзор советских и зарубежных разработок)".
  2. Тематические доклады по методам генерации кодов (А.Н.Бирюков).
  3. Проведение совещания по языкам программирования АДА (В.М.Курочкин).
  4. Проведение совещания по расширяющимся системам (Д.Н.Тодорой).
  5. Возможное проведение совещания по системам отладки (В.Л.Катков).
  6. Продолжение активной работы всех ЦПГ.
  7. Участие членов Рабочей группы в организации и проведении Всесоюзных конференций по программированию.

На заседании отсутствовали следующие члены Рабочей группы: Б.А.Бабаян, Ю.М.Рябовейтра, М.Г.Гонца, К.С.Кузьмин, С.С.Лавров, А.А.Летичевский, В.В.Луцикович, Э.Х.Тыугу, В.И.Цагельский, М.Г.Цуладзе, В.В.Чернюгов, Г.Д.Чинин.

В качестве наблюдателей присутствовали около 50 человек —  больше, чем на любом предыдущем заседании РГ РЯП: Д.Я.Авербух, А.Л.Александров, Т.М.Алиев, Л.М.Бабенко, С.Н.Берестовая, А.Н.Бирюков, Я.П.Бузько, А.Ю.Бяков, С.В.Веретенников, В.Н.Власенко, В.Ю.Волконский, Т.А.Гринченко, А.Д.Дагальян, В.А.Евстигнеев, Е.А.Жоголев, В.П.Жук, Б.Н.Калыняк, Р.А.Карасева, В.Л.Катков, Б.И.Коган, Г.П.Кожевникова, Я.С.Костив, А.Н.Костовский, В.П.Котляров, Л.В.Медведева, Микетин, В.М.Олейник, М.В.Паремский, С.Б.Покровский, О.М.Рау, Д.А.Вейтсакас, И.Я.Ривак, Л.М.Романовская, А.П.Рухлин, Ю.А.Рыбалко, Г.И.Сердюк, Л.И.Серебрянникова, А.Ф.Урахчин, А.Т.Федоров, В.Н.Чмутова, В.В.Чубук, В.С.Шевяков, С.М.Шелестов, Н.В.Шкут, А.Л.Шмундак, М.Н.Шура-Бура.

Отчет о деятельности за 1984 г.
Рабочей группы по реализации языков программирования,

действующей при Комисии по системному математическому обеспечению координационного комитета по вычислительной технике АН СССР

В 1984 году проведены следующиее мероприятия:

  1. проведено заседание Рабочей группы в г.Львове — 67 человек;
  2. проведено совместное заседание Рабочих групп по синтезу и преобразованию программ и по реализации языков программирования в г.Новосибирске — 51 человек;
  3. проведены совещания ЦПГ по измерению систем программирования и по исследованию характеристик макрогенераторов;
  4. по заданию ГКНТ ЦПГ  по измерению систем программирования провела анкетирование большинства существующих в СССР трансляторов;
  5. члены группы приняли активное участие в подготовке и проведении всесоюзных конференций, семинаров и школ по системному программированию.

Информация о проведенных заседаниях

1. С 21 по 26 мая в г.Львове проходило 6-е заседание Рабочей группы с основным вопросом: Системное окружение языковых процессоров.

Было заслушано 14 докладов, проведены 2 дискуссии, заслушаны краткие отчеты Целевых подгрупп РГ РЯП, участникам заседания была продемонстрирована работа систем СУПЕР и ДЕФИПС.

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

Системы должны поддерживать все этапы решения задачи - от постановки задачи до получения программного продукта. Этот вопрос показался членам группы важным и интересным, так что было решено посвятить ему заседание РГ РЯП в 1985 году.

2. С 1 по 2 ноября в г.Новосибирске проходило 7-е заседание РГ РЯП, проводившееся совместно с Рабочей группой по синтезу и преобразованиям программ. Основным вопросом были методы реализации абстрактных типов данных и языков спецификаций.

Было сделано 7 докладов, заслушаны краткие отчеты Целевых подгрупп РГ РЯП.

Выработан план дальнейшей работы, включающий проведение в 1985 году:

  • заседания РГ РЯП с основным вопросом: "Интегрированные системы программирования";
  • заседания ЦПГ по измерениям систем программирования для согласования некоторого варианта метрики аттестации трансляторов;
  • заседания ЦПГ по анализу и классификации средств расширения в языках программирования по вопросам расширяющихся языков и систем;
  • тематического совещания РГ РЯП по вопросам генерации кодов.

Руководство группы с запозданием сообщает о включении в РГ РЯП Бирюкова Александра Николаевича (Москва) в качестве наблюдателя, а также о включении Когана Бориса Исааковича (Владивосток) и Пастухова Юрия Владимировича (Харьков) в состав ЦПГ по измерению систем программирования и по исследованию характеристик существующих макрогенераторов соответственно.

План мероприятий на 1986 год
Рабочей группы по реализации языков программирования

  1. Провести заседание РГ РЯП по теме "Текущие проблемы разработки трансляторов", на котором особое внимание уделить ведущимся в настоящее время в СССР реализациям языка АДА. Для этого на заседание будут приглашены представители коллективов разработчиков трансляторов.
  2. Провести школу-семинар по расширяющимся языкам и системам (май 1986, г.Кишинев, проводит ЦПГ по расширяющимся языкам и системам).
  3. ЦПГ по методам измерения систем программирования проводить анкетирование пользователей по следующим вопросам:
    • какие языки программирования используются и почему;
    • какие языки программирования хотелось бы использовать и почему не используются;
    • каковы недостатки используемых трансляторов.
  4. Провести собрание вновь созданной ЦПГ по автоматизации построения трансляторов.
  5. Вести активную работу во всех ЦПГ.
  6. Рекомендовать членам РГ РЯП принимать активное участие и указывать содействие в проведении конференции по языкам программирования и методам трансляции.

Информационное письмо

Глубокоуважаемый

Извещаю Вас, что с 3 по 5 июня 1986 г.  в г.Кишиневе Кишиневский госуниверситет проводит совещание-семинар Целевой подгруппы по расширяемым средствам программирования.

Список вопросов для обсуждения, подготовленный председателем ЦПГ Д.Н.Тодороем, прилагается. Если Вы или Ваши коллеги заинтересованы в участии в этом совещании-семинаре, прошу до 1 марта выслать заявку на участие и/или тезисы доклада или выступления (до 2-х страниц) по адресу:

277003 Кишинев, ул. Садовая, 60, ИЦ КГУ, Тодорою Дмитрию Николаевичу.

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

Членов РГ и членов ЦПГ прошу помочь в подготовке совещания-семинара привлечением заинтересованных в тематике специалистов и инициированием подготовки докладов и сообщений.

Телефон для справок: (8-042-0) 47-07-02 (Тодорой Дмитрий Николаевич).

Председатель РГ РЯП
И.В.Поттосин

Предварительный список вопросов для обсуждения

  1. Что такое расширитель в языке?
  2. Что такое расширитель в системе?
  3. Что такое расширяемый язык, транслятор, система, технология программирования, расширяемый продукт программирования?
  4. Методы объявления, закрепления, модификации и удаления расширения в языке и системе программирования.
  5. Расширяемые языки и методы их реализации.
  6. Расширители в языках программирования, прагматика, синтаксис, семантика, контексты использования, примеры —  разделы объявителя расширения.
  7. Вертикальные, горизонтальные и нисходящие расширяемые языки и системы.
  8. Расширяемые и вероятностные системы, системы познания.
  9. Расширяемые и саморасширяемые автоматы, машины.
  10. Базы расширений, базы данных, базы знаний.
  11. Функциональное, логическое, концептуальное, вероятностное (основанное на вероятностных словарях), расширяемое программирование.
  12. Расширяемые машины пятого поколения.
  13. Расширяемые процессоры машинной графики.

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