Управление проектами - статьи

         

Отношения зависимости и порядка


Отношения зависимости между операциями D определяются логическими операторами отрицания и импликации следующим образом. Для операций t1, t2

Отношения зависимости и порядка T, если t1 → t2, то журнал должен содержать t2 при условии, что он содержит t1. Если ¬t1 → ¬t2, то в журнале должна отсутствовать операция t2, если в нем отсутствует операция t1. Эти отношения несимметричны, рефлексивны и транзитивны. Для операций t1, t2
Отношения зависимости и порядка T, если t1 → ¬t2, то в журнале не может присутствовать t2, если он содержит t1. Если ¬t1 → t2, то журнал должен содержать t2, если в него не входит t1. Эти отношения симметричны, не рефлексивны и не транзитивны. Эти четыре логические отношения с характеристическими функциями, приведенными в Таблице 1, рассматриваются как основные отношения зависимости. Также мы считаем полезным использование симметричных отношений эквивалентности t1 ~ t2 ≡ t1 → t2
Отношения зависимости и порядка t2 → t1 и взаимоисключения t1 ⊕ t2 ≡ t1 → ¬t2
Отношения зависимости и порядка ¬t1 → t2. Отношение эквивалентности устанавливается между двумя операциями t1, t2
Отношения зависимости и порядка T и означает, что эти операции могут встречаться в транзакции T только совместно. Отношение взаимоисключения между t1, t2
Отношения зависимости и порядка T обязывает транзакцию T включать в себя либо t1, либо t2 и запрещает содержать обе эти операции или ни одну из них.



t1t2t1 → t2t1 →¬t2

¬t1 → t2t1 ~ t2 t1 ⊕ t2

0 0 1 1 0 1 0
0 1 1 1 1 0 1
1 0 0 1 1 0 1
1 1 1 0 1 1 0

Таблица 1.Характеристические функции бинарных отношений зависимости.



В некоторых случаях приходится рассматривать более сложные множественные отношения между операциями. В общем виде они представляются характеристической функцией D(t1, t2, t3, …) и соответствующей таблицей значений, подобной Таблице 1.

В качестве примера рассмотрим множественное отношение кардинальности D(n:m)(t1+,…, t+I+ , t1-,…, t-I-). Данное отношение связано с ограничениями кардинальности ассоциаций и размерности коллекций элементов данных в объектно-ориентированной модели.
Оно считается выполненным, если

n ≤ card( T+ ) - card( T- ) ≤ m, где

T+ = { ti+, i

Отношения зависимости и порядка
D(n+1:n+1)(t1+,…, t1-,…)
Отношения зависимости и порядка
Отношения зависимости и порядка


D(m:m)(t1+,…, t1-, …).


t1+
Отношения зависимости и порядка T
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
t2+
Отношения зависимости и порядка T
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
t1-
Отношения зависимости и порядка T
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
t2-
Отношения зависимости и порядка T
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
 
D(0:0) (t1+,t2+,t1-,t2-) 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0
D(1:1) (t1+,t2+,t1-,t2-) 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
D(2:2) (t1+,t2+,t1-,t2-) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Таблица 2. Характеристические функции множественных отношений кардинальности.


Часто требуется удовлетворить некоторое ограничение c = с(x1, x2, …), выраженное алгебраическим образом с помощью соответствующей логической функции нескольких переменных. Если конкурентные транзакции содержат операции модификации элементов данных, являющихся фактическими параметрами функции ограничения, то возможным способом сохранить целостность является принятие всех операций модификации первой транзакции или всех операций модификации второй транзакции. В этом случае между операциями устанавливается отношение алгебраической зависимости Dc (t1', t2', …,t1'', t2'',…), где операции первой транзакции t1', t2'
Отношения зависимости и порядка T' и операции второй транзакции t1'', t2''
Отношения зависимости и порядка T' модифицируют элементы данных, на которые наложено ограничение c(x1, x2,…).


Будучи выполненным, данное отношение приводит к выделению классов эквивалентности для операций каждой транзакции и исключению ситуаций одновременного их применения в результирующей транзакции:

D c (t1', t2',…,t1'', t2'',…) ≡ t1' ⊕ t1''
Отношения зависимости и порядка t1' ~ t2'
Отношения зависимости и порядка t2' ~ t3'
Отношения зависимости и порядка
Отношения зависимости и порядка t1'' ~ t2''
Отношения зависимости и порядка t2'' ~ t3''
Отношения зависимости и порядка

Отношение порядка или предшествования операций в транзакции P определим следующим образом. Для операций t1, t2
Отношения зависимости и порядка T, если t1 ∠ t2, то операция t1 должна появиться до операции t2 (не обязательно непосредственно перед ней) в любом решении, которое одновременно содержит операции t1 и t2. Отношение порядка несимметрично, не рефлексивно, но транзитивно. Так как отношение подразумевает наличие обеих операций в одной транзакции, отношение t1 ∠ t2 может быть установлено только между теми операциями, которые не связаны отношениями зависимости t1 → ¬t2 и t1 ⊕ t2 непосредственно или косвенно через другие отношения.

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


Содержание раздела