ВУЗ:
Составители:
Рубрика:
2.5.2. Предикаты
В процессе реализации алгоритма в рамках технологии ГСП передача управления
между объектами осуществляется с помощью управляющих объектов-предикатов.
Формально предикат представляет собой отображение из множества данных предметной
области на множество логических значений “истина” и “ложь”:
Ψ
k
: (d
1
, d
2
, ... , d
m
) → { 0, 1 }.
Отличие предиката от актора заключается в том, что предикат не может
производить преобразование над данными, то есть все его данные являются входными :
(d
1
, d
2
, ... , d
m
) ∈ D
in
.
Технологически порождение предикатов ничем не отличается от процедуры
порождения акторов. Первоначально строится базис абстрактных логических функций,
действующих над типами данных. Множество предикатов ПОП строится из абстрактных
логических функций в результате аппликации их типов данных к данным ПОП, т.е. в
результате паспортизации типов данных логических функций. Рассмотрение
акторов и
предикатов, как различных категорий объектов ГСП, обусловлено не только
особенностями реализуемых ими типов отображений, но и, что особенно важно, их
ролевыми назначениями. Акторы, являясь локальными вычислимыми функциями,
реализуют преобразование данных ПОП, в то время как предикаты, являясь функциями
управления вычислениями, образуют базу знаний для всей предметной области, т.е. они
общезначимы для любых программ, разрабатываемых
в рамках ПОП.
2.5.3. Агрегаты
Объекты (акторы или предикаты) являются исходным материалом для
графического программирования. Результатом графического программирования
являются агрегаты. Агрегат создается в форме графа, в котором объекты ПОП играют
роль вершин и дуг. Дуги - предикаты, а вершины - акторы или агрегаты. Дуги графа
определяют передачу управления от одной вершины к другой.
Формально агрегат представляет собой
помеченный ориентированный граф с
входной (корневой) и несколькими выходными (концевыми) вершинами:
G = { F,
Ψ , R},
где F = { A
1
, A
2
, ... , A
n
} - множество акторов, которые являются вершинами графа,
Ψ = { Ψ
1
, Ψ
2
, ... , Ψ
m
} - множество предикатов, которые представляют дуги графа, R -
отношение над множествами вершин и дуг графа, определяющее способ их связи.
Корневой вершиной графа A
0
является такая вершина, из которой есть маршрут по
графу в любую другую вершину, и которая помечена как корневая. Из этой вершины
начинается выполнение алгоритма, реализованного агрегатом. Аналогично определяется
концевая вершина A
n
- это вершина, в которую есть маршрут из любой другой вершины,
и которая не имеет исходящих дуг-предикатов. Концевых вершин на графе может быть
несколько, если все они удовлетворяют поставленным условиям.
Развитие вычислительного процесса в агрегате происходит путем передачи
управления из одной вершины в другую, начиная с корневой. Этот процесс может
быть
завершен по двум причинам: либо достигнута концевая вершина графа, из которой нет
исходящих дуг, либо из текущей вершины отсутствуют разрешенные другими
предикатами переходы в другие вершины. Если в процессе передачи управления
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »