В рамках данного дипломного проекта разработан интерпретатор языка Пролог с визуальным вводом программы и возможностью работы с универсальными базами данных.
Настоящая пояснительная записка включает в себя описание механизма вывода в языке Пролог и роли логического программирования в развитии вычислительной техники.
Приводится описание разработанного интерпретатора, а также необходимые для работы с ним документа: требования по эксплуатации, руководство по установке, руководство пользователя, тексты программ.
Приводится расчет затрат на разработку программного продукта.
Приводится анализ опасных и вредных факторов, возникающих при эксплуатации программы интерпретатора.
Введение.......................................................................................................... 4
1. Исследовательская часть............................................................................. 8
1.1. Роль реляционных языков в развитии вычислительной техники.......... 8
1.2. Основные механизмы дедукции............................................................ 10
1.3. Исчисление предикатов как язык для решения задач.......................... 12
1.3.1 Унификация и принцип резольвенции в исчислении предикатов...... 13
1.3.2. Методы поиска доказательства в исчислении предикатов................ 15
1.3.2.1. Исчисление предикатов при решении задач................................... 15
1.3.2.2. Стратегии перебора......................................................................... 16
1.3.2.3. Стратегии упрощения...................................................................... 17
1.3.2.4. Стратегии очищения........................................................................ 18
1.3.2.5. Формы доказательства с отфильтровыванием предшествующих вершин. 4
1.3.2.6. Стратегии поддерживающего множества......................................... 4
1.3.2.7. Стратегии упорядочения................................................................... 5
1.4. Анализ характеристик существующих интерпретаторов...................... 6
1.5. Необходимость разработки интерпретатора языка Пролог................. 8
1.6. Выбор языка программирования........................................................... 8
2. Конструкторская часть............................................................................. 10
2.1. Синтаксис программ на Прологе в нотации Бэкуса-Наура................. 10
2.2. Общая структура интерпретатора........................................................ 10
2.2.1. Принцип работы предкомпилятора................................................... 11
2.2.1.1. Работа лексического анализатора................................................... 11
2.2.1.2. Синтаксический анализатор............................................................ 12
2.2.1.3. Анализ арифметического выражения............................................. 13
2.2.1.4. Анализ параметров предикатов...................................................... 15
2.2.1.5. Проверка типов параметров............................................................ 15
2.3. Работа интерпретатора.......................................................................... 16
2.3.1. Выполнение обращений к базам данных........................................... 18
2.3.2. Вычисление арифметических выражений.......................................... 19
2.4. Объекты, используемые компилятором и интерпретатором............... 19
2.4.1. Объекты переменных TPrologVariable, TPrologVariables, TPrologVariableList, TPrologVariableStruct.................................................................................... 19
2.5.2. Стандартные функции и предикаты................................................... 21
2.6. Представление Пролог-программы в виде объектов........................... 21
2.7. Основные модули................................................................................... 23
2.8. Демонстрационная программа по выбору конфигурации компьютера. 25
3. Технологическая часть.............................................................................. 28
3.1. Требования по эксплуатации интерпретатора языка Пролог............. 28
3.2. Установка системы................................................................................. 28
3.3. Руководство пользователя программы интерпретатора языка Пролог. 29
3.3.1. Запуск программы.............................................................................. 29
3.3.2. Перечень функций, реализуемых системой....................................... 29
3.3.3. Редактирование Пролог-программы................................................. 29
3.3.4. Запуск программы на Прологе и ее отладка..................................... 34
3.3.5. Работа с меню...................................................................................... 35
3.4. Описание процесса выполнения программы, написанной на языке Пролог. 38
3.5. Общие сведенья об интерпретаторе...................................................... 39
3.6. Особенности работы Пролог-программы с базами данных................ 39
3.7. Описание стандартных предикатов....................................................... 40
3.8. Описание функций.................................................................................. 43
4. Организационно-экономическая часть.................................................... 45
4.1. Расчет затрат на разработку интерпретатора Пролог......................... 45
5. Промышленная экология и безопасность................................................ 47
5.1. Введение................................................................................................. 47
5.2. Анализ характера загрязнения окружающей среды при производстве вычислительной техники............................................................................... 48
5.2.1. Источники загрязнения....................................................................... 48
5.2.2. Очистка воздуха от вредных примесей.............................................. 50
5.3. Анализ влияния опасных и вредных факторов, при эксплуатации программы интерпретатора Пролог................................................................................ 52
5.3.1. Повышенный уровень шума на рабочем месте................................. 53
5.3.2. Опасный уровень напряжения электрической цепи, замыкание которой может произойти через человека............................................................................. 54
5.3.3. Пожарная опасность........................................................................... 55
5.3.4. Повышенный уровень электромагнитных излучений....................... 56
5.3.5 Повышенная яркость света.................................................................. 57
5.3.6. Прямая и отраженная блеклость........................................................ 58
5.3.7. Нарушение микроклимата рабочих помещений............................... 58
5.3.8. Защита от психофизиологических факторов..................................... 59
5.4. Анализ использования защитных экранов для снижения влияния опасных и вредных факторов, во время работы на автоматизированном рабочем месте. 60
5.4.1 Основные функции защитных экранов, необходимые для снижения влияния вредных и опасных факторов, во время работы с программным средством. 60
5.4.1.1. Защита от электростатического и электромагнитного воздействий. 61
5.4.1.2. Защита от рентгеновского излучения............................................. 61
5.4.1.3. Защита от ультрафиолетового излучения...................................... 61
5.4.2. анализ основных типов защитных экранов, которые приемлемы для снижения влияния вредных и опасных факторов, во время с программным средством. 62
5.4.2.1. Сетчатый (частичная защита зрения).............................................. 62
5.4.2.2. Стеклянный двухслойный с заземлением (частичная защита зрения, частичная защита здоровья)......................................................................... 62
5.4.2.3. Стеклянный многослойный с заземлением (полная защита зрения, полная защита здоровья).......................................................................................... 63
5.5. Расчет необходимого звукопоглощения, при работе с АРМ............... 63
Заключение.................................................................................................... 66
Литература.................................................................................................... 67
Приложения................................................................................................... 68
Приложение 1................................................................................................ 68
Приложение 2................................................................................................ 73
Приложение 3................................................................................................ 81
Приложение 4................................................................................................ 87
Разрабатываемый программный продукт предназначен для визуального создания, редактирования и интерпретации программ, написанных на языке Пролог с возможностью работы с универсальными базами данных.
Постоянно возрастающий объем информации, которую необходимо обрабатывать современным компьютерам предъявляет более широкие требования к современным базам данных. Если на заре развития компьютерной техники база данных была обычным файлом, который представлял собой типизированный файл, к которому можно было обращаться по абсолютному номеру записи, то сейчас база данных представляет собой интеллектуальную среду, которая включает в себя подчас несколько таблиц с данными, связанными между собой. Причем конечный пользователь из-за сложности структуры базы не знает, в каком месте файла хранятся данным, с которыми он работает. Современные базы данных обладают встроенными возможностями защиты прав доступа, а также способами поддержки целостности данных и их непротиворечивости. Это достигается за счет включения в сами базы данных отдельный частей программы, которые действуют независимо от пользовательской программы как программы-серверы. Доступ к таблицам стал значительно проще за счет использования языка SQL, который помогает быстро выбирать нужный пользователю сегмент информации из общего объема, также удалять ненужную информацию и добавлять новую.
Базы данных сейчас используются не только как обычные хранилища информации, но и как хранилища знаний. Поэтому появляется новое требование к базам данных, которое пришло от баз знаний, - это возможность логического вывода новых знаний из уже известных, а также работа в режиме экспертной системы.
В самом узком смысле термин экспертная система используется для описания одной из небольшого числа программ, разработанных общепризнанными специалистами в инженерии знаний. Назначение этих программ состоит в воспроизведении возможности решения задач, которыми обладает эксперт. Большинство экспертных систем не может полностью заменить человека. Такие системы используются для повышения эффективности работы и расширения знаний персонала средней квалификации.
В широком смысле экспертная система - это любая программа, применяемая для экспертных консультаций. Данное определение охватывает все программы, используемые в качестве экспертных систем, не учитывая того момента, что истинные эксперты могли и не участвовать в создании этих программ.
В любой системе экспертных консультаций обязательно должны иметься следующие три компоненты: