Построение ВМОМД предполагает выделение и фиксацию основ-
ных строительных блоков расширяемой среды программирования.
Каждый из этих блоков является динамичным объектом метаданных
в том смысле, что учитывает соотнесение либо разворачивание со-
бытий. Перечисленный порядок действий, нацеленный на учет дина-
мики, предполагает введение средствами ЯООД4 целого ряда ОМД5,
соединяющих в себе возможности АВС и средств типизации. Наи-
более важными из таких ОМД являются индексированный концепт
и индексированное отношение.
HT(I)--1. Индексированный концепт. Вычисление значения выра-
жений, построенных в видеλ-абстракций, опирается на свой-
ство расширяемости. Это свойство проявляется в добавле-
нии к среде и увязке индивидов, удовлетворяющих телу λ-
абстракции. Рассматривая аппликацию (λ.Φ)h, где Φ -- тело
λ-абстракции, h - индивид (индивидная константа) из пред-
метной области, получаем :
k (λ.Φ)h k i =k Φ k [i, hi]
для соотнесения i. Тем самым увязка индивида h с телом λ-
абстракции Φ сводится к построению концепта, соответ-
ствующего k Φ k и проверке принадлежности h ∈k Φ k.
Проверка принадлежности производится операцией селекции
4ЯООД -- язык определения объектов данных.
5ОМД -- объектыметаданных.
реляционного языка манипулирования данными. Проверка осу-
ществляется согласно следующей процедуре:
1) устанавливается соотнесение i в соответствии с базой
данных;
2) устанавливается тип T индивида h, выбранного из базы
данных;
3) проверяется, удовлетворяет ли индивид h ограничению Φ;
4) отбираются все такие индивидыh0 = hi, которые кладут-
ся в основу экстенсионала концепта C0
(i); для него справед-
ливо включение
C0
(i) ISA T;
5) все отобранные пары [i, hi] идентифицируют индивиды h
в мире i из совокупности I и принимаются за экстенсионал
переменного концепта C(I);
6) сохраняется естественное включение C(I) ⊆ HT(I) для
переменного домена HT(I), задавемого определением
HT(I) = {h | h : I → T}.
HT(I)--2. Динамика концепта. Наиболее действенным примене-
нием индексированных концептов является возможность рас-
смотрения их изменения в зависимости от изменений, проис-
шедших в предметной области. Пусть в предметной обла-
сти события разворачиваются по закону f, где f : B → I,
то есть из мира I осуществляется переход в мир B. В этом
случае применение свойства расширяемости при вычислении
значений λ-абстракций имееет определенную специфику. Для
аппликации (λ.Φ)h получаем:
k (λ.Φ)h k i = k Φ kf [b,(h ◦ f)b]
для соотнесения i = fb. Таким образом, увязка индивида h с
теломλ-абстракции Φ сводится не к проверке принадлежно-
сти индивидаhзначениюk Φ k, а к проверке принадлежности
образаhпри разворачивании событий по закону f в мире b для
смещенной оценки k Φ kf. Следовательно, проверку принад-
лежности осуществляет модифицированная процедура:
1) устанавливается новое соотнесение B как альтернатива
старому соотнесению при разворачивании событий по закону
f;
2) устанавливается тип T образа индивида h, выбранного из
образа базы данных при преобразовании f;
3) проверяется,удовлетворяет ли образ индивида h ограниче-
нию Φ в мире b;
4) отбираются все такие индивиды h0 = (h ◦ f), которые
кладутся в основу экстенсионала концепта C0
f(b); для него
справедливо включение C0
f(b) ISA T;
5) все отобранные пары [b, hb] идентифицируют индивиды h
в мире b из совокупности B и принимаются за экстенсионал
переменного концепта Cf(B);
6) сохраняется естественное включение Cf(B) ⊆ HT(B) для
домена HT(B), задаваемого определением HT(B) = {h | h :
B → T} .
HT(I)--3. Статика концепта. Предельным случаем закона раз-
ворачивания событий является тождественное (единичное)
преобразование. Тогда запись
f = 1I : I → I
означает, что закон разворачивания событий f не приводит к
изменениям в предметной области. При вычислении значения
λ-абстракции получаем:
k (λ.Φ)h k i = k Φk1I[i, hi].
Таким образом, увязка индивида h с телом λ-абстракции Φ
не требует выполнения модифицированной процедуры, а ока-
зывается полностью аналогичной процедуре для индексиро-
ванного концепта. Исследование статики концепта имеет
важное следствие. Поскольку в предметной области (и в базе
данныхD) изменений не происходит, то отождествим соот-
несение I иD, положив I = D. ТогдаC1I(I) : h → h, то есть
индивидhпереводится сам в себя иC1I(I) = C1D(D) = 1D.
С другой стороны, получаем C1I(I) = C(I) и CI : CI → CI,
откуда следует правило:
индексированный концепт ведет себя
как единичное преобразование.
Более подробно, для произвольных концептов A, B и отбра-
жения f : A → B справедливы равенства
A = A◦A; f = B ◦ f ◦A,
которые вытекают непосредственно из предыдущего рас-
смотрения и полученного правила.
HT(I)--4. Функторная характеристика концепта. Анализ дина-
мики и статики концептов позволяет разделить управляю-
щее воздействие на концепты, с одной стороны, и саму си-
стему концептов - с другой. Это означает, что управление
осуществляет переключение системы концептов в зависимо-
сти от закона, по которому разворачиваются события. Пред-
ставление системы меняющихся концептов приводит к фор-
мулированию функторной характеристики концептов. Суще-
ственным оказывается способ учета законаf разворачивания
событий -- C ведет себя как контравариантный функтор:
1) закон f : B → I понимается как переход от мира I к миру
B, то есть от уровня знания I к уровню знания B и т.п.;
2) получаем: f = 1I ◦f ◦1B и C1B = C(B), C1I = C(I);
3) для концептаCf = Cf(B) справедливо следующее включе-
ние:
C(f) : C(I) → C(B);
Cf ⊆ C(B),
поскольку проверка типа T для индивида h и его образа при
преобразовании f сохраняет естественные включения для пе-
ременных доменов:
C(I) ⊆ HT(I) = {h | h : I → T};
C(B) ⊆ HT(B) = {h | h : B → T};
Cf = {h ◦ f | h ◦ f : B → T} ⊆ C(B).
HT(I)--5. Индексированное отношение. До сих пор рассматрива-
лось индексирование одноместных концептов. В этом случае
уже проявляются все основные моменты, связанные с учетом
закона разворачивания событий. Однако в случае взаимодей-
ствия с базой данных требуется определение и поддержание
многоместных концептов. Для упрощения изложения рассмо-
трим индексирование двухместного концепта, соответству-
ющего бинарному отношению. Полная его характеристика
следует из рассмотрения аппликации (λλ.Φ)uv для формулы
Φ и индивидов u и v. Получаем:
k (λλ.Φ)uv k i = (k (λλ.Φ) k i)(k u k i)(k v k i)
= Λ k λ.Φ k i(ui)(vi)
= (k λ.Φ k [i, ui])(vi)
= Λ k Φ k [i, ui](vi)
= k Φ k [[i, ui], vi]
для соотнесения i. Возможен и иной способ рассуждения:
k (λ.Φ)[u, v] k i = Λ k Φ k i(k [u, v] k i)
= Λ k Φ k i[ui, vi]
= k Φ k [i,[ui, vi]],
при применении которого предполагается, что Φ - двухмест-
ный оператор (некаррированный). Увязка индивида [ui, vi] с
теломλ-абстракции Φ сводится к построению концепта, со-
ответствующегоk Φ k, и к проверке принадлежности[ui, vi] ∈k
Φ k. В данном случае индивид представляет собой упорядо-
ченную пару, каждый элемент которой определен на соот-
ветствующем одноместном концепте:
k (λ.Ψ1)u k i = k Ψ1 k [i, ui] = U({i});
k (λ.Ψ2)v k i = k Ψ2 k [i, vi] = V({i}).
Проверка принадлежности индивида wi = [ui, vi] концепту
φ =k Φ k осуществляется согласно следующей процедуре:
1) устанавливается соотнесение i в соответствии с базой
данных;
2) устанавливаются типыTиT индивидовuiиvi, выбранных
из базы данных (и спаренных);
3) проверяется, удовлетворяет ли индивид wi ограничению
Φ;
4) отбираются все такие индивиды wi, которые кладутся
в основу эктенсионала концепта φ0
(i); для него справедливо
включение
φ0
(i) ISA (T× T );
5) все отобранные пары[i, wi] идентифицируют индивиды w
в мире i из совокупности I и принимаются за экстенсионал
переменного концепта φ = φ(I);
6) сохраняется естественное включение φ(I) ⊆ HT×T (I) для
переменного домена HT×T (I), задаваемого определением
HT×T (I) = {w | w : I → (T× T )}.
HT(I)--6. Динамика отношения. Учет изменений, происходящих в
предметной области, проявляется в ассоциированных изме-
нения базы данных. Приняв в качестве закона разворачива-
ния событий f : B → I, применим свойство расширяемо-
сти при вычислении значений λ-абстракции. Для аппликации
(λ.Φ)[u, v] получаем:
k (λ.Φ)[u, v] k i = k Φkf[b,(< u, v > ◦f)b].
Это выражение может быть записано в несколько модифи-
цированном виде. Суть модификации состоит в следующем:
k (λ.Ψ1)u k (fb) = k Ψ1 kf [b,(u ◦ f)b],
k (λ.Ψ2)v k (fb) = k Ψ2 kf [b,(v ◦ f)b],
u ◦ f ∈ Uf, v ◦ f ∈ Vf.
Тогда φf ⊆ [Uf,Vf] и < u, v > ◦f ∈ φf для φf ⊆ (B ×
T) × (B × T ). Следовательно, увязка индивида w с телом
λ-абстракции Φ сводится к проверке принадлежности обра-
за w при разворачивании событий по закону f в мире b для
смещенной оценки k Φ kf. Детали проверки принадлежности
производятся согласно следующей процедуре:
1) в качестве альтернативы соотнесению i устанавливается
новое соотнесение b для закона разворачивания событий f;
2) устанавливается тип T × T образа индивида w, выбран-
ного из образа базы данных при преобразовании f;
3) проверяется, удовлетворяет ли образ индивида w ограни-
чению Φ в мире b;
4) отбираются все такие индивиды < u, v > ◦f, которые
кладутся в основу экстенсионала концепта φ0
f(b); для него
справедливо включение
φ0
f(b) ISA T× T ;
5) все отобранные пары [b,(< u, v > ◦f)b] идентифицируют
индивиды < u, v > ◦f в мире b из совокупности B и принима-
ются за экстенсионал переменного концепта φf(B) = φf;
6) сохраняется естественное включение
φf(B) ⊆ Uf(B)× Vf(B) ⊆ HT(B)× HT (B)
Для общения дешевле всего использовать скайп - http://skype-windows-7.com/ можно тут.
для переменного домена HT(B) × HT (B), задаваемого опре-
делением
HT(B)× HT (B) = {h | h : (B → T)×(B → T )}.
|