3.3.4. Реализация связи с другими программами

"Консультант" представляет собой интегрированную систему, однако

пользователю может понадобиться временно выйти в другую программу или

оболочку.

Этой цели служит операция меню СИСТЕМА - ОБОЛОЧКИ. Данная опера-

ция разворачивает подменю с тремя операциями:

- операция MS-DOS вызывает процедуру CALLDOS, позволяющую времен-

но выйти в операционную систему MS-DOS, выполнить там необходимые

действия и вернуться в систему, набрав в командной строке DOS команду

EXIT;

- операция NORTON COMMANDER выполняет те же действия по отношению

к оболочке Norton Commander. Реализуется процедурой CALLNC, возврат в

систему - последовательное нажатие клавиш <F10> и <ENTER>;

- операция WINDOWS 3.X также позволяет выполнить аналогичную про-

цедуру с графической оболочкой Windows 3.x. Реализуется процедурой

CALLWIN, возврат в систему нажатием комбинации клавиш <ALT+F4> и за-

тем клавиши <ENTER>.

Все эти операции реализуются аналогично:

1) отключаются все подсистемы "Консультанта" (распределение памя-

ти, обработчик системных ошибок, поддержка стандартного вида экрана и

т. д.);

2) администратор кучи сохраняет ее в оперативной памяти;

3) устанавливаются стандартные векторы прерываний DOS;

4) активизируется командный процессор DOS;

5) командному процессору передается необходимая команда для запус-

ка той или иной оболочки.

По окончании действий пользователя в оболочке:

1) устанавливаются векторы прерываний;

2) восстанавливается куча;

3) включаются все подсистемы системы;

4) восстанавливается предыдущий вид экрана системы.

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

можно будет загрузить любую другую программу. Если какая-либо из обо-

лочек в компьютере отсутствует, на экран выдастся сообщение "Невозмож-

но выполнить эту операцию!"

3.4. Программы, не входящие в комплект поставки

3.4.1. Создание и использование библиотек (модулей)

Система "Консультант" использует следующие модули:

1. Стандартные модули Турбо-Паскаля:

- SYSTEM.TPU (основной модуль Турбо-Паскаля);

- CRT.TPU (модуль, содержащий процедуры работы с текстовым экра-

ном);

- DOS.TPU (модуль, позволяющий работать с операциями среднего

уровня - уровня операционной системы);

- PRINTER.TPU (операции печати);

2. Стандартные модули Turbo-Vision%

- APP.TPU (базовый модуль для любой программы);

- OBJECTS.TPU (модуль, содержащий все невидимые объекты, использу-

ющиеся в программе);

- VIEWS.TPU (базовый модуль для создания видимых компонентов прог-

раммы);

- DIALOGS.TPU (модуль, включающий диалоговые окна и их компонен-

ты);

- MENUS.TPU (модуль, используемый при создании строк меню и стату-

са);

- MEMORY.TPU (модуль управления памятью);

- DRIVERS.TPU (модуль, служащий для обработки событий);

3. Демонстрационные модули Turbo-Vision, не входящие в состав

Turbo-Vision, но идущие в комплекте Турбо-Паскаль 6.0:

- CALC.TPU (реализация калькулятора);

- CALENDAR.TPU (создание календаря);

- PUZZLE.TPU (реализация игры-головоломки);

- MSGBOX.TPU (испрользование информационных окон);

- GAUGES.TPU (управление кучей);

4. Созданный при разработке системы модуль MAIN.TPU, содержащий

все объекты, используемые системой (см. выше), указатели на эти объек-

ты, регистрационные записи этих объектов, основные глобальные процеду-

ры СУБЗ, машины вывода и редактора знаний, а также константы команд

для обработчиков событий объектов.

Все используемые процедуры перечисленных модулей, кроме CRT, DOS,

DRIVERS и MAIN, включаются в файл EXPERT.OVR. CRT, DOS, DRIVERS,

MAIN - модули, использующие процедуры обработки прерываний (например,

модуль DRIVERS содержит процедуры обработки событий от клавиатуры и

"мыши"), а механизм оверлеев не распространяется на такие процедуры;

данные модули включены непосредственно в файл EXPERT.EXE.

Таблица 6.

Используемые объекты модулей Turbo-Vision.

┌─────────────┬──────────────┬───────────────────────────────────────┐

│ Модуль │ Объект │ Функция объекта │

├─────────────┼──────────────┼───────────────────────────────────────┤

│APP.TPU │TAPPLICATION │Стандартная программа. │

│ │TDESKTOP │Поверхность экрана. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│OBJECTS.TPU │TOBJECT │Главный объект всей объектной иерархии │

│ │ │Turbo-Vision. │

│ │TCOLLECTION │Коллекция. │

│ │TBUFSTREAM │Буферизированный поток. │

│ │TRECT │Прямоугольник. │

│ │TSTREAMREC │Регстрационная запись.  │

│ │TRESOURCEFILE │Файл ресурсов. │

│ │TSTRINGLIST │Коллекция строк. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│VIEWS.TPU │TVIEW │Абстрактный видимый объект. │

│ │TGROUP │Объект-группа. │

│ │TTPALETTE │Тип палитры. │

│ │TWINDOW │Базовый объект всех окон. │

│ │TSCROLLBAR │Полоса скроллинга. │

│ │TFRAME │Рамка видимого объекта. │

│ │TCOMMANDSET │Группы разрешаемых или запрещаемых ко- │

│ │ │манд. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│DIALOGS.TPU │TDIALOG │Диалоговое окно. │

│ │THISTORY │Протокол ввода. │

│ │TSTATICTEXT │Статический текст. │

│ │TSITEM │Элемент кластера. │

│ │TBUTTON │Командная кнопка. │

│ │TCHECKBOXES │Кластер с независимыми кнопками. │

│ │TRADIOBUTTONS │Кластер зависимых кнопок. │

│ │TINPUTLINE │Строка ввода. │

│ │TLABEL │Метка для кластера или строки ввода. │

│ │TLISTBOX │Скроллер списка строк. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│MENUS.TPU │TMENU │Список связанных записей для меню. │

│ │TMENUBAR │Горизонтальная полоса меню. │

│ │TMENUITEM │Элемент меню. │

│ │TSTATUSDEF │Контекстная подсказка строки статуса. │

│ │TSTATUSLINE │Строка статуса. │

│ │TSTATUSITEM │Элемент строки статуса. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│DRIVERS.TPU │TEVENT │Тип записи события. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│CALC.TPU │TCALCDISPLAY │Табло дисплея и вычислительные действия│

│ │TCALCULATOR │Окно калькулятора. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│CALENDAR.TPU │TCALENDARVIEW │"Начинка" календаря.  │

│ │TCALENDWINDOW │Окно календаря. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│PUZZLE.TPU │TPUZZLEVIEW │Игровое поле и правила игры. │

│ │TPUZZLEWINDOW │Окно игры. │

├─────────────┼──────────────┼───────────────────────────────────────┤

│GAUGES.TPU │THEAPVIEW │Индикатор доступной динамической памяти│

│ │ │  │

└─────────────┴──────────────┴───────────────────────────────────────┘

3.4.2. Подготовка ресурсов

Для уменьшения объема занимаемой памяти (как оперативной, так и

памяти "винчестера") и повышения "читаемости" программы, в системе ис-

пользуется механизм ресурсов. Его суть состоит в следующем: все объек-

ты, используемые в основной программе, записываются в отдельный файл,

затем по ходу выполнения программы, вызываются в ее тело по ее же ко-

мандам.

Программа M_VISUAL.EXE служит для подготовки файла ресурсов

EXPERT.AIR. Алгоритм ее работы следующий:

1. Создает на диске поток (полиморфный файл данных, ориентирован-

ный на работу с объектами).

2. Связывает с ним файл ресурсов EXPERT.AIR (в Turbo-Vision файл

ресурсов - это поток с произвольным доступом к данным).

3. Регистрирует все объекты, входящие в файл ресурсов, получая их

регистрационные записи из модулей записываемых объектов.

4. Загружает объекты из модулей и записывает их в файл ресурсов.

5. Закрывает поток.

Каждый объект записывается в файл ресурсов под определенным уни-

кальным ключом. Им может быть строка произвольных символов любой дли-

ны. В теле основной программы в конструкторе TEXPERT.INIT производит-

ся открытие файла ресурсов, а соответствующие процедуры используют

нужные им объекты, подгружая их из EXPERT.AIR.

Таблица 7.

Ресурсы системы "Консультант"

┌────────────────┬──────────────────┬────────────────┬───────────────┐

│ Объект │ Назначение │Уникальный номер│Индексный ключ │

├────────────────┴──────────────────┴────────────────┴───────────────┤

│ ФАЙЛ EXPERT.AIR  │

├────────────────┬──────────────────┬────────────────┬───────────────┤

│TBANKWINDOW │Окно банка знаний.│ 100 │ "Банк" │

│TNEWWINDOW │Окно создания но- │ 101 │ "Новая" │

│ │вой базы. │ │ │

│TRENAMEWINDOW │Окно переименова- │ 102 │"Переименовать"│

│ │ния базы. │ │ │

│TERASEWINDOW │Окно удаления базы│ 103 │ "Удаление" │

│TEXITWINDOW │Окно подтвержде- │ 104 │ "Выход" │

│ │ния выхода. │ │ │

│TSTATEWINDOW │Окно установок ре-│ 105 │ "Установки" │

│ │дактора. │ │ │

│TATRIBUTEDITOR │Окно редактора │ 106 │ "Объекты" │

│ │объектов. │ │ │

│TVALUEEDITOR │Окно редактора │ 107 │ "Значения" │

│ │значений. │ │ │

│TRULEEDITOR │Окно редактора │ 108 │ "Правила" │

│ │правил. │ │ │

│TDISPETCHER │Окно диспетчера │ 109 │ "Диспетчер" │

│ │редактора. │ │ │

│TMACHINE │Окно консультации │ 110 │"Машина вывода"│

│ │машины вывода. │ │ │

│TSTATUSLINE │Строка статуса. │ N Turbo-Vision │ "Статус" │

│TMENUBAR │Полоса меню. │ N Turbo-Vision │ "Меню" │

│TCALCULATOR │Калькулятор. │ N Turbo-Vision │ "Калькулятор" │

│TCALENDWINDOW │Календарь. │ N Turbo-Vision │ "Календарь" │

│TPUZZLEWINDOW │Игра. │ N Turbo-Vision │ "Игра" │

│TMANAGER │Диспетчер машины │ 111 │ "Менеджер" │

│ │вывода. │ │ │

├────────────────┴──────────────────┴────────────────┴───────────────┤

│ ФАЙЛ EXPERT.BLC │

├────────────────┬──────────────────┬────────────────┬───────────────┤

│TBANKLIST │Список баз знаний.│ 112 │ "Список" │

├────────────────┴──────────────────┴────────────────┴───────────────┤

│ ФАЙЛЫ ПОЛЬЗОВАТЕЛЯ BASE+<i>+.PRO │

├────────────────┬──────────────────┬────────────────┬───────────────┤

│TDATABASE │База фактов. │ 200 │ "Данные" │

│TRULEBASE │База правил. │ 201 │ "Правила" │

│TFACT │Факт. │ 202 │ - - - - - - - │

│TVALUE │Значение. │ 203 │ - - - - - - - │

│TRULE │Правило. │ 204 │ - - - - - - - │

│TUNITAL │Элемент правила. │ 205 │ - - - - - - - │

└────────────────┴──────────────────┴────────────────┴───────────────┘


Информация о работе «Искуственный интеллект»
Раздел: Информатика
Количество знаков с пробелами: 138291
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
14168
0
0

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

Скачать
30045
0
0

... основные линии работ по ИИ. Первая связана с совершенствованием самих машин, с повышением "интеллектуальности" ис- кусственных систем. Вторая связана с задачей оптимизации совместной работы "искусственного интеллекта" и собственно интеллектуальных воз- можностей человека. Переходя к собственно психологическим проблемам ИИ О.К. Тихомиров выделяет три позиции по вопросу о взаимодействии ...

Скачать
14631
0
1

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

Скачать
47452
0
0

... решить большое число сложных задач, либо способность найти нетривиальное решение? Насколько важно, к примеру, развитие дивергентного, "латерального" мышления, и как взаимосвязаны уровень способностей и творческая отдача? Эти вопросы изучаются теорией интеллектуальных различий. В настоящее время существует, как минимум, три трактовки понятия интеллекта: 1. Биологическая трактовка: "способность ...

0 комментариев


Наверх