ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
