Введение к работе
Актуальность томі;., В настоящею вромя все больную актуальность приобретает задача сокращения прскоз и удешевления процесса разработки и программного обеспечения. Решение этой задачи может осуществляться в трех различных иднравланиял. Пергсо направление связано с разработкой язиксв нового поколения, наггрі?.:зр, языков функционального, логического, объектно-ориентированного программирования. Програм/з в таких языках описывается в понятиях из какой-либо привычней человеку области деятельности.'Второе направление связано с разработкой срнон?:нхлззіппіх на конкретний язык прсграмдарования технологий разработки програм.; и систем программирования, реализующих эти технологи:;. Третье направленно состоит в применении различных средств, псзволякезіх. виявлять автоматически различные оаиоки в программах к таким образом уменьшать затрата труда на отладку и сопровожден::-:! програмі.
С точки зрения реяения описанной виє задачи язики функционального нрогрзжсгрпвашія обладают рядом прсмусеств. В частности, функциональные програма к.-оют четкую композиционную структуру. Эта структура мозгет бить положена в основу создания технологи! фушчционзлыюго программирования. Такая технология позволяет производить управление разработкой сложных программных комплексов как снизу-вверх, так и сверху-вниз. На каждом шагэ определяется совокупность подзадач, опредвлянжщх решение основной задачи, осуществляется контроль за тем, какие задачи ужо реализованы, а какие - еще требуют решения, осуществляется поиск вновь возникающих задач среди ухе реализованных. >
Особый интерес представляют языки композиционного функционального программирования (ставяио известшми благодаря работам Дж. Бэнуса, Редько В.Н., Фалька В.Н., Кутепова В.II. и др.). Этот интерес объясняется возможностью распараллеливаїїия процесса выполнения программа и, таким ооразом, сокращения общего времени ое исполнения. Поскольку в композиционной структуре функциональной программы полностью отражены ее информационные зависимости, эта информация непосредственно
может бить использована для реализации естественного параллелизма, заложенного в задача. Кие одно немаловажное преккудестао языков функционального программирования заклкчается в наличии для них достаточно простой к строгой математической секзктики, составляющей основу решения задач контроля тагов и верификации программ.
Все сказанное ьыше показывает актуальность исследования, представленного в диссертапионнон работе.
Далью работы является разработка типизированного функционального языка программирования, а также ориентированной на этот язык системы программирования, позволяющей эф$ективно в едином цикле производить разработку, отладку, к исполнение программ.
Поставленная цель требует реивния следующих задач:
- исследования различных подходов к определению и
реализации язнкое программирования;
создания типизированного функционального языка программирования;
определения, задачи контроля типов выражений языка и разработки эффективного алгоритма для решения этой задачи;
доказательства состоятельности разработанного алгоритма контроля типов, которое гарантирует отсутствие в окончательных программах типовых оиибок;
- реализации разработанного языка в виде диалоговой
системы ігрограширования.
Научные результаты роботы.
1. Проведено исследование подходов к построению языков
функционального программирования и контроля типов. ОсоОое
внимание уделено существующим параллельным реализациям
функциональных языков.
2. Разработан функциональный язык программирования,
обладавший гибкими средствами определения различных -данных,
функций, типов данных и контроля типов.
-
Для разработанного языка определены условия правильной типизации и доказано, что правильно типизированная программа не может вызвать типовых ошибок в процессе ее исполнения.
-
Разработан алгоритм контроля типов, вычисляющий типы
всех виражений программы с неполней информацией о «шах. Если условия правильной типизации выполнены. то результатом работа этого алгоритма является полностью типизированная программа. В ігротішном случае фиксируется ошибка.
5. Выполнена реализация разработанного языка в виде диалоговой системы, функциоіглругацей на- ЭВМ IBM PC/XT/AT под управлением операционной система мз воз.
Практическая значимость и внедрение результатов работа.
Диссертация представляет совой результат работы автора, проводившейся в рамках НИР, выполняемых кафедрой Прикладной математики МЭИ (Научный руководитель Кутепов В.П.). Созданная система программирования внедрена на ши ЭВМ, г. Минск.
Апробацла работы. Результата диссертационной работа докладывались и обсуждались на семинарах кафедры Прикладной математики МЭИ и следуидах конференциях:
на v Всесоюзной иколе-семинарэ "Распараллеливание обработки информации" (Львов, 1985г.),
на viii-m Всесоюзном семинаре "Параллельное программирование и высокопроизводительные структуры" (Киев, 1988г.),
на конференции молодых ученых и специалистов МЭИ, 1988г.
Публикации. Основные результаты работы отражены в 4 публикациях и 3-х отчетах по НИР.
Структура и объем работы.
Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы, включаетго 68 работ, и двух приложений.