Мобильный синтезатор программ тема автореферата и диссертации по математике, 01.01.10 ВАК РФ
Шмундак, Александр Леонидович
АВТОР
|
||||
кандидата технических наук
УЧЕНАЯ СТЕПЕНЬ
|
||||
Таллин
МЕСТО ЗАЩИТЫ
|
||||
1985
ГОД ЗАЩИТЫ
|
|
01.01.10
КОД ВАК РФ
|
||
|
ВВЕДЕНИЕ.
1. АВТОМАТИЧЕСКИЙ СИНТЕЗ ПРОГРАММ И МОБИЛЬНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
1.1. Прикладное программное обеспечение
1.2. Синтезаторы на вычислительных моделях
1.3. Обеспечение мобильности систем программирования
1.4. Постановка задачи
2. КОНЦЕПЦИИ И ВОЗМОЖНОСТИ СИСТЕМЫ МИС
2.1. Функциональные возможности системы
2.2. Обзор входного языка.
2.3. Соотношение систем ПРИЗ и МИС.
3. ОПИСАНИЕ РЕАЛИЗАЦИИ.
3.1. Представление вычислительной модели
3.2. Абстрактная машина для языка Утопист
3.3. Другие информационные структуры.
3.4. Архитектура системы.
4. ОБЕСПЕЧЕНИЕ МОБИЛЬНОСТИ СИСТЕМЫ МИС
4.1. Реализация системы МИС
4.2. Модель реализации абстрактной машины.
4.3. Опыт переноса системы МИС
Интенсивное развитие программного обеспечения породило проблемы его накопления и использования. В 70-х годах оформилась концепция пакета прикладных программ (ППП): совокупности совместимых модулей для решения определенного класса задач. Поскольку пакет предназначен для решения не одной, а целого класса задач, его функциональное наполнение разрабатывается как совокупность модулей, которые должны быть скомпонованы для решения конкретной задачи. ППП предоставляет пользователю язык, на котором описывается подлежащая решению задача. Системное наполнение пакета предназначено для обработки описания задачи и формирования расчетной программы.
По характеру решаемых проблем разработка функциональной и системной частей пакета сильно различаются. Разработка функционального наполнения пакета ведется специалистами в конкретной предметной области; как показывает практика, их опыта в большинстве случаев явно недостаточно для создания системной части пакета, при разработке которой решаются задачи, типичные для системного программирования: обработка текстовой информации, ведение библиотек модулей, формирование программ и запуск их на выполнение. Таким образом, разработка ППП требует привлечения системных программистов или использования инструментального средства, облегчающего разработку системной части пакета.
Одним из основных направлений в разработке инструментальных систем для пакетов прикладных программ является предложенный Э.Х. Тыугу подход, основывающийся на автоматическом синтезе программ и реализованный в системах СШ, ПРИЗ-32 и ПРИЗ ЕС И. Он позволяет создавать пакеты прикладных программ, обладающие гибкими средствами описания модели цредметной области, расширяемые в процессе развития. Важным достоинством этого подхода является возможность интегрирования различных пакетов в единую систему.
С появлением в последние годы новых семейств ЭВМ: минимашин серии СМ, многоцроцессорных вычислительных комплексов "Эльбрус"— возникла потребность в разработке для них системы автоматического синтеза программ. Была поставлена задача разработать мобильную систему автоматического синтеза.
Целью настоящей диссертации является разработка и реализация мобильного синтезатора программ (системы МИС). В ходе исследований были поставлены и решены следующие задачи:
1) разработаны принципы создания мобильных систем применительно к системам с автоматическим синтезом программ;
2) разработан внутренний язык (абстрактная машина) для представления результатов трансляции с входного языка и синтезированного алгоритма;
3) предложена схема организации базы знаний;
4) разработан метод обеспечения мобильности систем с автоматическим синтезом программ за счет выделения машинно-зависимых компонент и локализации их в небольшом числе модулей.
Данная диссертация выполнена в рамках работ по программе решения научно-технических проблем ГКНТ СССР 0.80.14 (задание 09.22 "Создать и ввести в эксплуатацию систему генерации проблемно-ориентированных пакетов программ для многопроцессорного вычислительного комплекса "Эльбрус-1").
Справки, подтверждающие внедрение результатов диссертации, приведены в приложении I.
Основные результаты диссертации докладывались на: Всесоюзной конференции "Автоматизация производства пакетов программ" в Таллине в 1980 г., заседании рабочей группы по реализации языков программирования Комиссии по системному математическому обеспечению ККВТ в Кишиневе в 1983 г., заседании Комиссии по новой информационной технологии ККВТ в Минске в 1984 г.
Основное содержание работы изложено в публикациях 5, 22-25 . Изложение в диссертации построено следующим образом. В первой главе дается обзор систем автоматического синтеза программ и рассматриваются проблемы разработки мобильного программного обеспечения.
Вторая глава посвящена описанию основных концепций и функциональных возможностей системы МИС. Излагаются основные понятия и дается обзор входного языка системы.
В третьей главе рассматриваются наиболее существенные аспекты реализации мобильного синтезатора программ. Описывается организация семантической памяти, абстрактная машина для языка Утопист и архитектура системы в целом.
Четвертая глава посвящена переносу системы МИС на различные ЭВМ.
В заключении приводятся основные результаты, полученные в диссертационной работе.
Личный вклад автора диссертации в разработку системы МИС заключается во введении новых функциональных возможностей и расширении входного языка (см. главу 2), цроектировании системы в целом и разработке основных информационных структур (гл. 3) и в разработке и реализации концепции мобильности, рассматриваемой в главе 4.
I. АВТОМАТИЧЕСКИЙ СИНТЕЗ ПРОГРАММ И МОБИЛЬНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Выводы:
1) Реализована мобильная инструментальная система с автоматическим синтезом программ. В качестве языка реализации системы использовался ГОСТ Фортран. Для обеспечения мобильности системы были выделены машинно-независимые компоненты системы: средства ввода-вывода, программы преобразования и интерпретатор абстрактной машины. Объем системы составляет около 16000 строк на языке Фортран; объем машинно-зависимой части ее не превышает 13% объема системы (не более 2000 строк).
2) Разработана процедура переноса системы. Система установлена на МВК "Эльбрус", ЭВМ СМ-4, БЭСМ-б и Н0РД-Ю. Среднее время переноса системы на одну ЭВМ составило 4 месяца. В процессе переноса была практически проверена правильность основных решений, принятых при разработке системы.
ЗАКЛЮЧЕНИЕ
В ходе данной работы были получены следующие результаты:
1) Разработана мобильная инструментальная система программирования МИС, предназначенная для разработки интеллектуального программного обеспечения, в частности интеллектуальных пакетов прикладных программ. Входной язык системы является новой версией языка Утопист и обеспечивает удобные средства описания модели предметной области, долговременного хранения таких описаний и включает средства автоматического синтеза программ.
2) Для входного языка Утопист разработан промежуточный язык в виде системы команд абстрактной машины. Использование абстрактной машины обеспечивает, с одной стороны, эффективную трансляцию входного языка системы. С другой стороны, система команд абстрактной машины допускает эффективную реализацию на ЭВМ с различной архитектурой.
3) Разработаны и реализованы средства представления вычислительной модели, хорошо подходящие для хранения ее во время трансляции описаний.
4) Разработана и реализована система долговременного хранения вычислительных моделей (архива моделей), основывающаяся на использовании программно реализуемой виртуальной памяти.
5) Обеспечена мобильность системы, позволившая установить ее на многопроцессорном вычислительном комплексе "Эльбрус-Г*, ЭВМ БЭСМ-6, мини-ЭВМ СМ-4 и НОРД-Ю после разработки на ЕС ЭВМ.
1. Тамм Б.Г., Тыугу Э.Х. Пакеты программ. - Известия АН СССР. Техническая кибернетика, 1977, № 5, с. 1.I-I24.
2. Кахро М.И., Калья А.П., Тыугу Э.Х. Инструментальная система программирования ЕС ЭВМ (ПРИЗ). М.: Финансы и статистика,1981. 158 с.
3. Бабаев И.О., Новиков Ф.А., Петрушина Г.И. Язык ДЕКАРТ -входной язык системы СПОРА. В кн.: Прикладная информатика. М.: Финансы и статистика, 1981, вып. I, с. 35-72.
4. Тыугу Э.Х. Решение задач на вычислительных моделях. -Журн. выч. математики и мат. физики, 1970, т. 10, № 3, с. 38-46.
5. Тыугу Э.Х. Решатель вычислительных задач. Журн. выч. математики и мат. физики, 1971, т. II, № 4, с. 992-1004.
6. Тыугу Э.Х., Харф М.Я. Алгоритмы структурного синтеза программ. Программирование, 1980, № 4, с. 3-13.
7. Gallaire H. A Study of PROLOG. In: Computer Program Synthesis Methodologies / eds. Biermann A.W., Guiho G. - D. Reidel Publishing Company, 1981. - pp. 173-212.
8. TK!Solver Program Reference Manual. Software Arts,1982. 215 p.
9. Томберг JI.JI. Решатель вычислительных задач для ми1фо-ЭВМ.-Тезисы конференции "Диалог-83", 1984, с. 101.
10. Кыпп М.Г., Тыугу Э.Х. Объектно-ориентированная система программирования для малых ЭВМ. Микропроцессорные средства и системы, 1984, т. I, № 3, с. 44-47.
11. Williams G. Software Art's TKISolver. BYTE, 1982, v.8,m io, pp. 36-376.
12. VisiCalc User's Guide. Personal Software, 1981. - 190 p.
13. LisaCalc Manual. Apple Computer, 1983. - 230 p.
14. Griswold R.E. The Macro Implementation of SN0B0L4; A Case Study in Machine-Independent Software Development. San Francisco, W.H. Freeman & Co, 1972.
15. Pascal-P Software-Practice and Experience, 1978, v. 8, В 8, pp. 617-627.
16. Overgaard M. UCSD Pascal: a portable software environment for small computers. AFIPS Conference proceedings, 1980, v. 49, pp. 747-754.
17. Wirth N. bilith: A Personal Computer for Software Engineering. In: Microcomputer System Design. - Lecture Notes in Computer Science, v. 126, pp. 349-397. - Springer, 1982.
18. Мацкин М.Б. Средства отладки для системы с автоматическим синтезом программ. Программирование, 1983, № 4, с. 21-26.
19. Goldberg A., Robson D. Smalltalk-80: The Language and its Implementation. Reading, MA: Addison-Wesley Publishing Co,1983. 716 p.
20. Шмундак А.Л. Система МИС: Абстрактная машина, Таллин, 1982. - 33 с. (Препринт/АН ЭССР; К-7).
21. Шмундак A.JI. Реализация мобильной системы с автоматическим синтезом программ. В кн.: Прикладная информатика, М.: Финансы и статистика, 1984, вып. 2(7), с. II7-I27.
22. Шмундак А.Л. МИС мобильная инструментальная системаразработки пакетов программ. В сб.: Пакеты прикладных программ.
23. Системное наполнение. М.: Наука, 1984, с. 43-49.
24. Ломп А.А., Харф М.Я., Емундак А.Л.Система МИС. В сб.: Автоматизация производства пакетов прикладных программ: Тезисы докладов Всесоюзной конференции, Таллин, 1980, с. 187-188.
25. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. М.:Мир, 1975. - 544 с.
26. Браун П. Макропроцессоры и мобильность программного обеспечения. М.: Мир, 1977. - 253 с.
27. Waite W.M. The mobile programming system: SIAGE2. Comm. ACM, 1970, v. 13, Ю 7, pp. 415-421.
28. Overgaard M. Implementing the UCSD p-system. Mini-Micro Systems, 1982, v. XV, № 9, pp. 183-190.
29. Ibsen L. A Portable Virtual Machine for Ada. Software-Practice and Experience, 1984, v. 14, A3 1, pp. 17-29.
30. Tanenbaum A.S. Implications of structured programming for machine architecture. Comm. ACM, 1978, v. 21, KS , pp. 237-246.
31. Wilk A«, Silverman W. OPTIMA A Portable PCODE Optimizer. - Software - Practice and Experience, 1983, v. 13, N2 4, pp.323-354.
32. Браун П.Дж. Основные принципы реализации. В сб.: Мобильность программного обеспечения. - М.: Мир, 1980, с. 29-41.
33. Йенсен К., Вирт Н. ПАСКАЛЬ: руководство для пользователя и описание языка. М.: Финансы и статистика, 1982. - 151 с.
34. Kernighan B.W., Ritchie D.M. The С Programming Language. -Englewood Cliffs: Prentice Hall, 1978. 228 p.
35. Richards M. The Portability of the BCPL Compiler. Software - Practice and Experience, 1971, v. 1, Ш 3, pp. 135-141.
36. Coster C.H.A. Using the CDL Compiler-Compiler. In: Compiler Construction: Lecture Notes in Computer Science, v. 21. -Springer, 1976, pp. 366-426.
37. Грисуолд P.E. Практические вопросы переноса. В сб.: Мобильность программного обеспечения. М.: Мир, 1980, с. I3I-I43.
38. Ричарде М. Реализация языка BCPL. В сб.: Мобильность программного обеспечения. М.: Мир, 1980, с. 211-222.
39. Сборник научных программ на Фортране. М.: Статистика, 1974, вып. I, 224 е., вып. 2, 316 с.
40. Мазный Г.Л. Программирование на БЭСМ-6 в системе "Дубна". М.: Наука, 1978.
41. Волож Б.Б., Мацкин М.Б., Минц Г.Е., Тыугу Э.Х. Система ПРИЗ и исчисление высказываний. Кибернетика, 1982, № 6, с. 63-70.
42. Камынин С.С., Любимский Э.З. Алгоритмический машинно-ориентированный язык АЛМО. - В сб.: Алгоритмы и алгоритмические языки. - М.: ВЦ АН СССР, 1967, вып. I, с. 5-58.
43. Веселов Е.Н., Евтушенко Ю.Г., Мазурик В.П. Содержательные возможности диалоговой системы оптимизации (ДИСО). Проблемы вычислительной техники. - М.: МНТИЦ, 1981, специальный выпуск.