Разработка способа и средств реализации программ на основе системы функциональных продукций
Процесс разработки программ состоит, в общем случае, из следующих этапов: проектирования, во время которого формулируются цели и задачи работы, определяются основные функции и структура создаваемой программыкодирования, во время которого создается текст программы на выбранном языке программированияэтап тестирования и отладки, во время которого выявляются и устраняются отклонения функционирования… Читать ещё >
Содержание
- ГЛАВА 1. ПРИМЕНЕНИЕ СИСТЕМ ПРОДУКЦИЙ В РЕАЛИЗАЦИИ ПРОГРАММ
- 1. 1. Понятие программы. Способы реализации программ
- 1. 1. 1. Развитие представлений о программе
- 1. 1. 2. Подходы к реализации программ, использующие декларативную концепцию
- 1. 1. 2. 1. Языки и системы спецификаций
- 1. 1. 2. 2. Методы автоматического синтеза программ
- 1. 1. 2. 3. Языки программирования высокого уровня
- 1. 1. 3. Системы продукций в реализации программ
- 1. 2. Продукционные средства реализации программ
- 1. 2. 1. Язык Снобол
- 1. 2. 2. Язык Рефал
- 1. 2. 3. Метод гиперпрограммирования
- 1. 2. 4. Псевдоязык Кант
- 1. 2. 5. Задачи, методы и средства семантической теории программ. Анализ семантики продукционных программ
- 1. 3. Продукционные модели
- 1. 3. 1. Система продукций
- 1. 3. 2. Продукционная модель представления знаний
- 1. 3. 3. Расширенные модели систем продукций
- 1. 3. 3. 1. Реляционная модель
- 1. 3. 3. 2. Алгебраическая модель
- 1. 3. 3. 3. Использование расширенных моделей в качестве формальной модели программ
- 1. 1. Понятие программы. Способы реализации программ
- 2. 1. Основные содержательные понятия
- 2. 2. Система функциональных продукций
- 2. 2. 1. Описание модели
- 2. 2. 2. Исследование свойств модели
- 2. 3. Модель выполнения программы
- 2. 3. 1. Граф продукций
- 2. 3. 2. Структурно-семантический анализ программы
- 2. 4. Концептуальная модель программы языка реализации программ
- 2. 4. 1. Решение простой задачи, описание типов данных
- 2. 4. 2. Описание модели
- 3. 1. Описание языка
- 3. 1. 1. Основные понятия
- 3. 1. 2. Описание синтаксиса
- 3. 1. 3. Пример программы
- 3. 2. Методика реализации программ
- 3. 3. Методика отладки программ
- 3. 4. Количественное оценивание языков реализации программ
- 3. 4. 1. Методика Холстеда
- 3. 4. 2. Результаты оценивания
- 4. 1. Особенности современных инструментальных средств программирования
- 4. 2. Общее описание инструментального средства «Софист»
- 4. 3. Анализ и внутреннее представление программ
- 4. 3. 1. Синтаксический анализ и внутреннее представление программ
- 4. 3. 2. Семантический анализ
- 4. 4. Отладка и тестовое выполнение программ
- 4. 5. Представление терминальных процедур и преобразование СФПпрограммы в программу на алгоритмическом языке
- 4. 6. Реализация и анализ практических программ
- 4. 6. 1. Описание программ
- 4. 6. 2. Структурно-семантический анализ программ
- 4. 6. 3. Сравнение с программами на языке Паскаль
- 4. 7. Особенности разработанного способа, сравнительный анализ средств реализации программ
Разработка способа и средств реализации программ на основе системы функциональных продукций (реферат, курсовая, диплом, контрольная)
Возможности, предоставляемые вычислительными машинами, привели к широкому их использованию во всех областях человеческой деятельности. Они позволили автоматизировать часть интеллектуального труда, взять на себя выполнение рутинных операций. Вместе с тем, использование ЭВМ осуществимо лишь в той мере, в которой разработано программное обеспечение. Поэтому увеличение технических возможностей ЭВМ неизбежно связано с увеличением количества разрабатываемых программ, повышением требований к их качеству.
Процесс разработки программ состоит, в общем случае, из следующих этапов: проектирования, во время которого формулируются цели и задачи работы, определяются основные функции и структура создаваемой программыкодирования, во время которого создается текст программы на выбранном языке программированияэтап тестирования и отладки, во время которого выявляются и устраняются отклонения функционирования программы от заданного. В настоящей работе рассматривается этап кодирования. Действия, выполняемые на этом этапе определяются как реализация программ. Создаваемые способы и средства реализации программ направлены, таким образом, на обеспечение более высокого уровня работы программистов при написании текстов программ.
В процессе своего развития понятие программы претерпело значительные изменения. Произошел постепенный переход от представления программы как последовательности машинных команд к ее представлению в виде последовательности операторов алгоритмических языков. Наиболее распространенными в это время являлись задачи численного характера, при решении которых основное внимание уделяется скорости вычислений. Постановка новых задач, прежде всего, символьно-логических, выдвинуло на первое место вопросы удобства реализации программ. При этом основным критерием удобства выступает легкость понимания и естественность восприятия понятий и структур, используемых для описания действий по решению поставленной задачи. В связи с этим особое внимание стало уделяться декларативным средствам реализации программ, в которых описываются свойства требуемого результата, но не указывается способ его полученияподходит любой способ получения требуемого результата, обладающий указанными свойствами. При использовании декларативных средств программист может сосредоточиться на описании внутренних связей и особенностей решаемых задач. Исследования в этом направлении вели Б. Дисков, Р. Ковальски, А. Колмероэ, Дж. Маккарти, Дж. А. Робинсон и др. С точки зрения практических результатов, созданы такие известные языки программирования, как Пролог и Лисп. В нашей стране данную проблематику исследовали В. Н. Агафонов, В. Ф. Турчин, Э. X. Тыугу и др. Были разработаны язык концептуального программирования УТОПИСТ, метаалгоритмический язык Рефал и др.
Одним из универсальных принципов решения задач, используемым в самых различных способах реализации программ, является принцип пошаговой детализации, в соответствии с которым исходная задача решается путем ее декомпозиции на подзадачи с их последующим решением. Формальной моделью, адекватно отражающей этот принцип, является система продукций. Ее основное достоинство заключается в независимости продукций, что облегчает написание и отладку программ. Поэтому продукционная модель нашла широкое применение в средствах реализации программ. Были предложены такие средства, как языки программирования Снобол и Рефал, метод гиперпрограммирования, псевдоязык Кант. Рассмотрение этих средств с позиции современного взгляда на программирование позволит выявить их недостатки и предложить средства, обладающие новыми возможностями.
Одним из наиболее перспективных направлений в современном теоретическом программировании является семантическая теория программ. Этот раздел изучает методы формального описания семантики программ, семантические методы преобразования и доказательства утверждений о программах, методы проверки семантической правильности программ. Исследования в этой области ведут такие специалисты, как К. А. Р. Хоар, Дж. В. Беккер, В .Б. Борщев, Ю. Л. Ершов, В. Н. Касьянов, Ю. П. Кораблин, В. Е. Котов. В результате исследований предложены методы и средства, позволяющие выявлять в программах семантические ошибки и способствующие, таким образом, повышению их качества. Поэтому разработка способов и средств, позволяющих анализировать программы и выявлять в них семантические ошибки, является актуальной проблемой.
Целью диссертационной работы является разработка способа реализации программ, основывающегося на системе продукций и позволяющего проводить семантический анализ программ, а также создание языка реализации программ и инструментального средства, предназначенных для поддержания этого способа и его практической проверки.
Задачи исследования:
— разработка формальной модели программы, основывающейся на системе продукций;
— разработка модели выполнения программ, реализованных с использованием предлагаемой формальной модели;
— разработка языка реализации программ;
— создание инструментального средства, позволяющего реализовывать программы на предложенном языке;
— проверка достоверности полученных результатов на примерах решения практических задач.
Методы исследования. Для решения поставленных задач использованы результаты семантической теории программ, теории формальных систем, теории формальных языков и грамматик, теории графов, а также методы конструирования трансляторов и методы построения экспертных систем.
Основными результатами, содержащимися в диссертационной работе и полученными автором, являются:
1) Разработана и исследована формальная модель программ продукционного типа, названная системой функциональных продукций (СФП), предоставляющая возможность реализовывать программы решения задач по принципу пошаговой детализации.
2) Построена графовая модель выполнения программ, реализованных на основе СФП, допускающая их анализ и проверку выполнимости условий полноты по значениям и корректности по значениям.
3) Предложена концептуальная модель программы продукционного языка реализации программ, включающая в себя: описание данных, описание задач, исходную задачу и правила продукций.
4) Предложен язык СФП, предназначенный для реализации программ решения задач по принципу пошаговой детализации в соответствии с моделью СФП.
5) Разработаны методики реализации и отладки программ на языке СФП. Они включают в себя: способы создания правил, решающих отдельные задачисхемы правил часто встречающихся задачописание способа тестового выполнения программыописание последовательности действий по отладке.
6) Создано инструментальное средство «Софист», поддерживающее реализацию программ на языке СФП, позволяющее проводить их отладку и тестовое выполнение, а также преобразовывать СФП-программы в программы на алгоритмическом языке.
Научная новизна полученных результатов заключается в следующем:
1) Модель СФП, обладающая свойством сходимости, позволяет формально описывать программы решения задач по принципу пошаговой детализации, выполнение которых осуществляется с учетом получаемых значений решений подзадач.
2) Модель выполнения программ, в качестве основы которой выступает двудольный ориентированный И/ИЛИ граф, допускает их автоматический анализ и выявление структурной неполноты и структурной некорректности.
3) Продукционный язык СФП позволяет реализовывать программы в соответствии с моделью СФП и предусматривает проведение их структурно-семантического анализа.
Практическая ценность полученных в диссертационной работе результатов заключается в следующем:
1) Предложен способ реализации программ, позволяющий автоматически выполнять их анализ, в результате которого в программе выявляется структурная неполнота и структурная некорректность.
2) Разработан продукционный язык высокого уровня, названный языком СФП, обеспечивающий удобочитаемость и концептуальную целостность программ.
3) Предложены методики реализации и отладки программ на языке СФП, которые раскрывают особенности предлагаемого способа и способствуют созданию требуемых программ.
4) Создано инструментальное средство «Софист», предоставляющее возможность реализовывать программы на языке СФП.
Достоверность научных и практических положений, выводов и рекомендаций подтверждается результатами исследований и практического использования. Предложенные в диссертации положения реализованы в виде программной системы. Экспериментальная оценка эффективности разработанной системы проводилась на практических программах. Она подтвердила эффективность предлагаемого способа, языкового и инструментального средств, а также разработанных методик.
Работа выполнялась в рамках госбюджетной НИР ГБ2/МО-15. Разработанный язык СФП и инструментальное средство «Софист» использованы в учебных процессах СПбГЭТУ, СПбГАМТУ при проведении лабораторных работ по дисциплине «Базы данных, знаний и экспертные системы».
Апробация результатов проведена на следующих конференциях: 6-я Международная конференция «Знание — Диалог — Решение», Ялта, 1997; Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика — 98», Москва, 1998; 6-я Национальная конференция по искусственному интеллекту РАН, Пущино, 1998; 51-я научно-техническая конференция профессорско-преподавательского состава СПбГЭ-ТУ, Санкт-Петербург, 1998; 1-я Всероссийская научно-техническая конференция «Компьютерные технологии в науке, проектировании и производстве», Нижний Новгород, 1999.
Доклад по теме диссертационной работы занял второе место на конкурсе работ аспирантов по секции «Автоматизированные системы, методы моделирования и оптимизации», проходившем на Всероссийской межвузовской научно-технической конференции студентов и аспирантов «Микроэлектроника и информатика — 98» (Москва, 1998).
По теме диссертации опубликовано шесть печатных работ, из них 4 статьи и 2 тезисов докладов на конференциях.
На защиту выносятся следующие основные положения диссертационной работы:
1) Формальная модель программы продукционного типа, названная системой функциональных продукций (СФП).
2) Графовая модель выполнения программ, реализованных в соответствии с моделью СФП.
3) Продукционный язык реализации программ, названный языком СФП.
4) Инструментальное средство «Софист», поддерживающее реализацию программ на языке СФП.
Полученные в диссертации результаты могут быть использованы в научных исследованиях по семантической теории программ, методам представления и использования знаний, а также в учебно-педагогической деятельности при преподавании соответствующих дисциплин.
Основные результаты по главе 4.
1. Разработано инструментальное средство, названное «Софист», предназначенное для поддержки реализации программ на языке СФП и отвечающее современным представлениям об инструментальных средствах. ИС предоставляет следующие возможности: реализовывать программы на языке СФП, проводить их отладку и тестовое выполнение, осуществлять преобразование СФП-программ в программы на языке Паскаль с формированием шаблонов процедур или подключением уже существующих процедур.
2. Перед выполнением программа проходит этапы лексического анализа, синтаксического анализа и семантического анализа. Внутреннее представление программы повторяет структуру основных синтаксических единиц языка. На первом уровне семантического анализа проверяется согласованность основных синтаксических единиц программы, а также корректность входных / выходных потоков данных правил. На втором уровне проводится анализ полноты по значениям и корректност и по значениям.
3. Рассмотрен способ организации тестового выполнения СФП-программ. Описаны структуры данных, используемые при выполнении, представлены соответствующие алгоритмы. Пошаговая отладка проводится при выполнении программы с остановками в контрольных точках и отображением на экране дополнительной информации.
4. Терминальные процедуры представляются в виде функций алгоритмического языка с фиксированным именем. При преобразовании СФП-программы в программу на терминальном языке, сохраняются основные структуры ее внутреннего представления.
5. Сравнительный анализ программ показал значительное уменьшение количества строк, необходимых для доработки процедур СФПпрограмм по сравнению с полной реализацией Паскаль-программ. Это дает возможность создавать на языке СФП базы прикладных программ.
6. Практическая реализация программ экспериментально подтвердила правильность положений, выдвигаемых относительно предложенного способа, определила направление дальнейших исследований, а также позволила выявить следующие его особенности:
— удобочитаемость и концептуальная целостность языка реализации программ;
— возможность структурно-семантического анализа программ;
— использование единых программ для решения задач с данными разных типов;
— возможность выполнения программ.
7. Сравнительный анализ ИС «Софист» с существующими средствами реализации программ показал, что разработка средства реализации программ, предоставляющего возможность их анализа, является перспективным направлением как теоретических, так и практических исследований.
ЗАКЛЮЧЕНИЕ
.
Огромный интерес к средствам вычислительной техники, их использование во всех областях деятельности человека предъявляет новые требования к программам и средствам их разработки. Значительная часть современных исследований направлена на использование декларативных средств реализации программ, которые позволяют описывать свойства требуемого результата без указания пути его получения. Способы, разработанные согласно этой концепции, позволяют программисту сосредоточиться на описании решаемой задачи, ее структуры, внутренних связей и особенностей.
Одним из универсальных принципов решения задач, используемым в самых различных способах реализации программ, является принцип пошаговой детализации. В качестве формальной модели, адекватно описывающей этот принцип, в работе использована система продукций. Применение этой модели позволило получить законченные и практически значимые результаты.
Перспективным направлением в современном теоретическом программировании является семантическая теория программ. В рамках этого направления предлагаются методы, позволяющие выявлять семантические ошибки программ и способствующие, таким образом, повышению их качества. Разрабатываемые способы и средства, позволяющие проводить автоматический анализ семантики программ, предоставляют для процесса реализации программ качественно новые возможности.
Основные научные и практические результаты данной диссертационной работы заключаются в следующих положениях.
1) Разработана формальная модель программ продукционного типа, названная системой функциональных продукций, предоставляющая возможность реализовывать программы решения задач по принципу пошаговой детализации. Исследование модели показало, что результат вычислений на модели, при условии конечной завершаемости подзадач, однозначен.
2) Предложена графовая модель выполнения программы, реализованной на основе системы функциональных продукций. На модели сформулированы требования полноты по значениям и корректности по значениям, анализ выполнимости которых представляет собой содержание структурно-семантического анализа программ. Выполнимость этих требований обеспечивает единственность по значению решения исходной задачи.
3) Предложена концептуальная модель программы языка реализации программ, состоящая из описания типов данных, описания задач, исходной задачи и системы продукций. Модель предусматривает выполнение программы через сопоставление терминальным задачам процедур алгоритмического языка, ее преобразование в программу на алгоритмическом языке и выполнение традиционным образом.
4) Разработан язык высокого уровня, названный языком СФП, позволяющий реализовывать программу в соответствии с предложенной формальной моделью. Язык обладает свойствами удобочитаемости и концептуальной целостности, под которыми понимается легкость восприятия программ, использование минимального числа понятий, отсутствии между понятиями взаимного влияния, наличии единого подхода к описанию и использованию всех понятий.
5) Предложены методики разработки и отладки программ на языке СФП, которые раскрывают особенности предлагаемого способа и способствуют получению правильных и надежных программ. Методики включают в себя: способы создания правил, решающих отдельные задачисхемы правил часто встречающихся задачописание способа тестового выполнения программыописание последовательности действий по отладке.
6) Создано инструментальное средство «Софист», поддерживающее реализацию программ на языке СФП, позволяющее проводить их отладку и тестовое выполнение, а также преобразовывать СФП-программы в программы на алгоритмическом языке.
Способ, предложенный в диссертационной работе, отвечает концепции семантического программирования (^-программирования) [24, 34, 69], которая нашла воплощение в языке АФС, и в соответствии с которой в создаваемом языке программирования предусматривается возможность анализа текстов, записанных на этом языке, т. е. программ. В диссертации предлагается проведение структурно-семантического анализа, позволяющего выявлять в программе пути решения, не описанные программистом, т. е. структурную неполноту, а также описанные неоднократно, т. е. структурную некорректность. При выявлении участков программы, не удовлетворяющих этим условиям, программист может внести необходимые изменения и получить, таким образом, программу, в которой (при конечности решения) будет получено единственное по значению решение исходной задачи.
Полученные в диссертации результаты могут быть использованы в научных исследованиях по семантической теории программ, методам представления и использования знаний, а также в учебно-педагогической деятельности при преподавании дисциплин, связанных с языками программирования, системами искусственного интеллекта [6, 7].
Предложенный в диссертации способ реализован в виде языка реализации программ и инструментального средства. Их экспериментальная оценка проводилась на практических программах. Она подтвердила правильность основных положений предлагаемого способа, практическую применимость разработанных средств и методик.
Дальнейшее развитие исследований по теме диссертации планируется проводить в направлении семантического анализа программ с учетом используемых в программе данных.
Список литературы
- Агафонов В.Н. Спецификация программ: понятийные средства и их организация. Новосибирск: Наука, 1987. — 240 с.
- Агафонов В.Н. Языки и средства спецификации программ (обзор) // Требования и спецификации в разработке программ: Пер с англ. М.: Мир, 1984.-С. 285−344.
- Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1, 2. М.: Мир, 1978. — 614 (т. 1), 488 (т. 2) с.
- Бадд Т. Объектно-ориентированное программирование в действии: Пер. с англ. СПб.: Питер, 1997. — 464 с.
- Базисный Рефал и его реализация на вычислительных машинах. М.: ЦНИПИАСС, 1977.-238 с.
- Балтрашевич В.Э., Гаевой В. А. Применение системы функциональных продукций для изучения продукционной модели представления знаний // Матер. 5-й Междунар. конф. «Современные технологии обучения». СПб, 1999. — С. 92.
- Балтрашевич В.Э., Гаевой В. А. Компиляция продукционной модели знаний в экспертных системах // Матер. 6-й Междунар. конф. «Знание- Диалог-Решение» («KDS-97»).-Ялта, 1997.-С. 131 135.
- Балтрашевич В.Э. Реализация инструментальной экспертной системы.- СПб.: Политехника, 1993.-237 с.
- Барздинь Я.М., Бразма А. Н., Кинбер Е. Б. Индуктивный синтез: состояние, проблемы, перспективы // Кибернетика. 1987. — № 6. — С. 81- 86, 90.
- Ю.Бетелин В. Б. Системы автоматизации труда программиста. М.: Наука, 1990.-176 с.
- П.Боэм Б. У. Инженерное проектирование программного обеспечения: Пер. с англ. -М.: Радио и связь, 1985. 512 с.
- Борщев В.Б. Предикаты от предикатов Пролога какая логическая семантика адекватна таким конструкциям? // Программирование, 1994. -№ 2. — С. 74 — 78.
- Борщев В.Б. Семантика языков логического программирования и абстрактная машина для их реализации: Автореф. дис. на соиск. учен, степ, д.ф.-м.н. / Рос. акад. наук, ВИНИТИ. М., 1992. — 47 с.
- Братко И. Программирование на языке Пролог для искусственного интеллекта: Пер. с англ. М.: Мир, 1990. — 560 с.
- Брюханова Ю.В., Емельянов П. Г., Касьянов В. Н., Сабельфельд В. К. Методы и средства семантического анализатора Модула-программ // Конструирование и оптимизация программ. Новосибирск, 1992. — С. 7−24.
- Вирт Н. Алгоритмы и структуры данных: Пер. с англ. М.: Мир, 1989. -360 с.
- Гаевой В.А. Общий подход к решению задачи диагностики неисправностей. Деп. ВИНИТИ, 1997, № 1377-В97.
- Гаевой В.А. Об использовании продукционной системы для автоматизации разработки программ // 6-я Нац. конф. по искусств, интеллекту РАН КИИ-98. — Пущино, 1998.-С. 192- 196.
- Гаевой В.А. Способ реализации программ по принципу пошаговой детализации // Матер. 1-й Всерос. науч.-технич. конф. «Компьютерные технологии в науке, проектировании и производстве». Тезисы докладов. Нижний Новгород, 1999. — С. 18.
- Гантер Р. Методы управления проектированием программного обеспечения: Пер. с англ. М.: Мир, 1981. — 392 с.
- Гласс Р. Руководство по надежному программированию: Пер. с англ. -М.: Финансы и статистика, 1982. 256 с.
- Гонца М.Г. Основные направления формализации семантики алгоритмических языков. Кишинев: Изд-во КГУ, 1989. — 44 с.
- Гончаров С.С., Свириденко Д. И. ? программирование // Вычислительные системы. — Вып. 107. — 1985. — С. 24 — 51.
- ГОСТ 19 781–90. Обеспечение систем обработки информации программное. Термины и определения.
- Грис Д. Конструирование компиляторов для цифровых вычислительных машин: Пер. с англ. М.: Мир, 1975. — 544 с.
- Грисуолд Р. Поудж Дж., Полонски И. Язык программирования СНО-БОЛ-4: Пер. с англ. М.: Мир, 1980. — 269 с.
- Деметрович Я., Кнут Е., Радо П. Автоматизированные методы спецификации: Пер. с англ. М.: Мир, 1989. — 115 с.
- Евстигнеев В.А., Касьянов В. Н. Теория графов: алгоритмы обработки деревьев. М.: Наука, 1985. — 352 с.
- Емельянов П.Г., Сабельфельд В. К. Анализатор семантических свойств Модула-программ // Интеллектуализация и качество программного обеспечения: Сб. науч. тр. Новосибирск, 1994. — С. 100 — 107.
- Емиличев В.А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов. М.: Наука, 1990. — 384 с.
- Ершов А.П. Введение в теоретическое программирование (беседы о методе). М.: Наука, 1977. — 288 с.
- Ершов Ю.Л., Палютин Е. А. Математическая логика: Учеб. Пособие для вузов. 2-е изд., испр. и доп. — М.: Наука, 1987. — 336 с.
- Ершов Ю.Л. Е определимость на допустимых множествах // Доклады АН. — Вып. 285. — 1985. — № 1. — С. 792 — 794.
- Ефимов Е.И. Решатели интеллектуальных задач. М.: Наука, 1982. -320 с.
- Жоголев Е.А., Кузьменкова Е. А., Майлингова О. Л., Попрыгаев Е. В. Типовой синтаксически управляемый редактор для систем гиперпрограммирования // Программирование. 1995. — № 3. — С. 35 — 44.
- Жоголев Е.А. Система обосновательного программирования // Программирование. 1993. — № 1. — С. 58 — 65.
- Жоголев Е.А. Гиперпрограммирование и базы прикладных программ // Программирование. 1982. — № 6. — С. 24 — 31.39.3елковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения: Пер. с англ. М.: Мир, 1982. — 368 с.
- Ивановский С.А. Разработка корректных программ: Учеб пособие. -СПб.: ТЭТУ, 1996.-64 с.
- Ильин В.Д. Система порождения программ. М.: Наука, 1989. — 264 с.
- Искусственный интеллект. В 3-х кн. Кн. 1. Системы общения и экспертные системы: Справочник. М.: Радио и связь, 1990. — 304 с.
- Искусственный интеллект. В 3-х кн. Кн. 2. Модели и методы: Справочник. М.: Радио и связь, 1990. — 304 с.
- Искусственный интеллект. В 3-х кн. Кн. 3. Программные и аппаратные средства: Справочник. -М.: Радио и связь, 1990. 368 с.
- Калинин А.Г., Мацкевич И. В. Универсальные языки программирования. Семантический подход. М.: Радио и связь, 1991. — 400 с.
- Калянов Г. Н. CASE структурный системный анализ (автоматизация и применение). М.: ЛОРИ, 1996. — 242 с.
- Карр Дж. Лекции по программированию: Пер. с англ. М.: Изд-во иностр. литер., 1963. — 288 с.
- Касьянов В.Н. Трансформационные методы и средства конструирования эффективных и надежных программ // Кибернетика и системный анализ. 1993. — № 2. — С. 30 — 40.
- Клещев A.C. Реализация экспертных систем на основе декларативных моделей представления знаний: Препринт. Владивосток: ДВО АН СССР, 1988.-45 с.
- Клещев А.С. Реляционная модель вычислений // Программирование. -№ 4. -1980. -С. 20−29.
- Клоксин У., Меллиш К. Программирование на языке Пролог. М.: Мир, 1987.-479 с.
- Ковальски Р. Логика в решении проблем: Пер. с англ. М.: Наука, 1990.-280 с.
- Ковальски Р. Логическое программирование // Логическое программирование: Сб. ст.: Пер. с англ. и фр. М.: Мир, 1988. — С. 134 — 166.
- Коган Б.И. Экспериментальные исследования программ. М.: Наука, 1988.-184 с.
- Кораблин Ю.П. Семантика языков распределенного программирования: Уч. пос. М.: Изд-во МЭИ, 1996. — 102 с.
- Кораблин Ю.П. Семантические методы анализа распределенных систем: Автореф. дис. на соиск. учен. степ, д.т.н. / Моск. энергетическ. ин-т.-М., 1995.-40 с.
- Кораблин Ю.П. Алгебраический подход к заданию семантики языков распределенного программирования // Известия АН СССР. Техническая кибернетика, 1995. № 5. С. 47 — 64.
- Кораблин Ю.П. Семантика языков программирования. М.: Изд-во МЭИ, 1992.- 100 с.
- Котов В.Е., Сабельфельд В. К. Теория схем программ. М.: Наука, 1991.-248 с.
- Крюков В.А., Молчанова Г. Ю., Полилова Т. А., Шура-Бура М.Р. К проблеме автоматизации программирования: Препринт. М.: Ин-т прикл. математики им. М. В. Келдыша, 1982. — 29 с.
- Кузнецов В.Е. Представление в ЭВМ неформальных процедур: продукционные системы. М.: Наука, 1989. — 160 с.
- Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженера. М.: Энергоатомиздат, 1988. — 488 с.
- Левин Д.Я. Инструментальный комплекс программирования на основе языков высокого уровня. М.: Наука, 1987. — 200 с.
- Липаев В.В. Проектирование программных средств: Уч. пос. М.: Высш. шк., 1990.-303 с.
- Липаев В.В. Тестирование программ. М.: Радио и связь, 1986. —296 с.
- Лисков Б., Гатэг Дж. Использование абстракций и спецификаций при разработке программ: Пер с англ. М.: Мир, 1989. — 424 с.
- Логическое программирование: Сб. ст.: Пер. с англ. и фр. М.: Мир, 1988.-368 с.
- Лэнгсам Й., Огенстайн М., Тененбаум А. Структуры данных для персональных ЭВМ: Пер. с англ. М.: Мир, 1989. — 568 с.
- Манцивода A.B. Логическое программирование в ограничениях: семантический подход: Автореф. дис. на соиск. учен. степ, д.ф.-м.н. / Иркутск, гос. ун-т. Новосибирск, 1995. — 24 с.
- Марков A.A., Нагорный Н. М. Теория алгорифимов. М.: ФАЗИС, 1996.-448 + 48 с. 71 .Мартин-Леф П. Очерки по конструктивной математике: Пер. с англ. -М.: Мир, 1975. 136 с.
- Массер Д. Спецификация абстрактных типов данных в системе AFFIRM // Требования и спецификации в разработке программ: Пер с англ. М.: Мир, 1984. — С. 199 — 222.
- Мейер Б., Бодуэн К. Методы программирования: В 2-х томах. Пер. с франц. М.: Мир, 1982.
- Миллер Т., Пауэл Д. и др. Использование Delphi 3. Специальное издание: Пер. с англ. К.: Диалектика, 1997. — 768 с.
- Накадзима Р., Хонда М., Накахара X. Иерархическая спецификация и верификация программ: подход, базирующийся на многосортной логике // Требования и спецификации в разработке программ: Пер с англ. -М.: Мир, 1984.-С. 135- 164.
- Нигиян С.А. Интерпретатор Пролога с точки зрения логической семантики // Программирование, 1994. № 2. — С. 64−73.
- Нильсон Н. Принципы искусственного интеллекта: Пер. с англ. М.: Радио и связь, 1985. — 376 с.
- Попов Э.В. Экспертные системы: Решение неформализованных задач в диалоге с ЭВМ. М.: Наука, 1987. — 288 с.
- Попов Э.В., Фоминых И. Б., Кисель Е. Б., Шапот М. Д. Статические и динамические экспертные системы: Учеб. Пособие. М.: Финансы и статистика, 1996. — 320 с.
- Пратт Т. Языки программирования: разработка и реализация: Пер. с англ. М.: Мир, 1979. — 574 с.
- Построение экспертных систем: Пер. с англ. М.: Мир, 1987. — 441 с.
- Робинсон Дж. Логическое программирование прошлое, настоящее и • будущее // Логическое программирование: Сб. ст.: Пер. с англ. и фр. —1. М.: Мир, 1988.-С. 7−26.
- Сабельфельд В.К. Анализ некоторых семантических свойств программ аппликативного языка AL // Программирование, 1993. № 6. — С.6−15.
- Саркисян A.A. Повышение качества программ на основе автоматизированных методов. М.: Радио и связь, 1991. — 160 с.
- Семантика языков программирования: Сб.ст. -М.: Мир, 1980 397с.
- Синявский А.Л., Холоденко O.A., Яловенко Н. Л. Технология разработки лингвистического обеспечения. -М.: Наука, 1992. 143 с.
- Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог: Пер. с англ. М.: Мир, 1990. — 235 с.
- Табаков В.М. Система программирования для поддержки метода пошаговых уточнений // Программирование. 1984. — № 4. — С. 18 — 22.
- Толковый словарь по вычислительным системам: Пер. с англ. М.: Машиностроение, 1990. — 560 с.
- Тосс В. Visual С++ 5. Энциклопедия пользователя: Пер. с англ. К.: ДиаСофт, 1998.-688 с.
- Требования и спецификации в разработке программ: Пер с англ. М.: Мир, 1984. — 344 с.
- Турчин В.Ф. Базисный Рефал. Описание языка и основные приемы программирования. М.: ЦНИПИАСС, 1974. — 258 с.
- Тыугу Э.Х. Концептуальное программирование. М.: Наука, 1984. — 256 с.
- Филд А., Харрисон П. Функциональное программирование: Пер. с агл. -М.: Мир, 1993.-637 с.
- Хант Э. Искусственный интеллект: Пер. с англ. -М.: Мир, 1978. 558с.
- Хантер Р. Проектирование и конструирование компиляторов: Пер. с англ. М.: Финансы и статистика, 1984. — 232 с.
- Хендерсон П. Функциональное программирование. М.: Мир, 1982. -230 с.
- Хоггер К. Введение в логическое программирование: Пер. с англ. М.: Мир, 1988.-348 с.
- Холстед М.Х. Начала науки о программах: Пер. с англ. М.: Финансы и статистика, 1981. — 128 с.
- Цейтлин Г. Е., Ющенко E.JI. Формализованные спецификации и трансформационный синтез программ // Кибернетика и системный анализ.- 1993.-№ 1.-С. 127−152.
- Чужанова H.A. Индуктивные методы синтеза программ // Вычислительные системы. Вып. 107. — 1985. — С. 137 — 150.
- Щенников С.Ю. Продукционное моделирование и программирование механизмов вывода для экспертных систем: Автореф. дис. на со-иск. уч. ст. канд. физ.-мат. наук. М.: ВЦ АН СССР, 1988. — 16 с.
- Яхно Т.М. Системы продукций: структура, технологии, применение. Новосибирск, 1990. — 127 с.
- Яхно Т.М. Формальная модель вычислений в системах продукций // Изв. АН СССР. Техническая кибернетика. 1988. — № 2. — С. 106 -109.
- Bakker J.W., Vink E. Control flow semantics. Cambridge- London: MIT Press, 1996. — 564 p.
- Keller R.M. A fundamental theorem of asynchronous parallel computation // Lecture Notes in Computer Science. Parallel Processing. 1975. -№ 24.-P. 102−112.
- Rosen B.K. Tree-manipulating systems and Church-Rosser theorems // J ACM. 1973. — Vol.20. — № 1. — P. 160 — 187.
- Wirsing M., Pepper P. et al. On hierarchies of abstract data types // Acta informatica. 1983. — Vol. 20. — № 1. — P. 1 — 34.