Назад | Содержание| Вперёд Глава 16 ПРОГРАММИРОВАНИ...

Назад | Содержание| Вперёд

Глава 16

ПРОГРАММИРОВАНИЕ В ТЕРМИНАХ ТИПОВЫХКОНФИГУРАЦИЙ

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

16. 1.    Архитектура, ориентированная натиповые конфигурации

16. 1. 1.    Основные понятия

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

В противоположность этому организация,ориентированная на образцы, не предполагаетпрямого обращения из одних модулей к другим.Модули запускаются конфигурациями,возникающими в их "информационной среде". Такие программные модулиназывают модулями, управляемыми типовымиконфигурациями (или образцами). Программа, управляемая образцами,представляет из себя набор модулей. Каждыймодуль определяется

    (1)        образцом,соответствующим предварительному условиюзапуска, и

    (2)        темдействием, которое следует выполнить, еслиинформационная среда

                согласуется с заданным образцом.

Запуск модулей на выполнение происходит припоявлении тех или иных конфигураций винформационной среде системы. Такуюинформационную среду обычно называют базойданных. Наглядное представление о системерассматриваемого типа дает рис. 16.1.

Следует сделать несколько важных замечанийотносительно рис. 16.1. Совокупность модулей неимеет иерархической структуры. Отсутствуютявные указания на то, какие модули могутобращаться к каким-либо другим модулям. Модулисвязаны скорее с базой данных, чемнепосредственно друг с другом. В принципе такаяструктура допускает параллельное выполнениесразу нескольких модулей, поскольку текущеесостояние базы данных может прийти в соот-

Рис. 16. 3.  Процессвычисления наибольшего общего делителя

множества чисел. Первоначально база данныхсодержит числа

25,  10,  15  и  30.  Вертикальнаястрелка соединяет число с его

"заменителем". Конечное состояние базыданных:  5,  5,  5,  5.

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

Назад | Содержание| Вперёд









Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Наверх