Композиция процессов

Рассмотрим два АП: процесс P1 = <S1, F1, I1, R1> (необязательно приведенный) и приведенный процесс P2п = <S2, F2, I2, R2>, ситуации которых структурированы: в ситуациях Р1 выделено множество Y1 выходных компонент, а в ситуациях P2п – множество X2 входных компонент.

Пусть все или некоторые значения выходных компонент у1 ситуации из S1 соответствует всем или некоторым значениям входных компонент х2 ситуации из S2.

Обозначим проекции множества пар соответствующих друг другу значений компонент на множествах Y1 и X2 через Y1* и Х2* соответственно. По множествам Y1* и Х2* построим редукции Р1(Y1*) и P2п2*) процессов Р1 и Р2.

Пусть P2п2*) – получился полностью приведенный процесс и Y1** = Y1*,

Х2** = Х2*.

Построим, если это возможно, процесс P3= <S3, F3, I3, R3>, ситуации которого представимы в виде пар s3 = (s1 , s2), такой что:

1) s1ÎS1(Y1*), s2ÎS2(X2*), т.е. S3 Í S1(Y1*)´ S2(X2*);

2) выходная компонента у1 ситуации s1 равна входной компоненте х2 ситуации s2 : у12;

3) если в s3 компонента s2ÎI2(X2*), то s1ÎR1(Y1*);

4) если (si1, sj2) F3 (sk1, sl2),

то либо (si1 F1 sk1) & (sj2 F2 sl2), либо (si1 F1 sk1) & (sj2 = sl2), либо (si1 = sk1) & (sj2 F2 sl2).

 

Определение 1.14. Назовем последовательной композицией АП Р1 и P2п асинхронный процесс Р3, образованный отождествлением значений входной и выходной компонент ситуаций редуцированных процессов Р1(Y1*) и P22*) соответственно при выполнении перечисленных выше ограничений 1) - 4).

 

Смысл ограничения 1) состоит в том, чтобы при функционировании процесса P2п в составе Р3 в редукции P2п2*) не встречались ситуации, не принадлежащие множеству S2(X2*).

Ограничение 4) говорит о том, что для редукции P2п2*) процесса Р2 в составе Р3 не может возникнуть новых траекторий.

Из определения следует, что:

1) если ситуации s3ÎS3 строятся из пар вида

(s1 = (x1, y1, z1), s2 = (x2, y2, z2)), то компоненты

s3 = (x3, y3, z3) определяются как: х3 = х1, у3 = у2, z3 = (z1, y1 = x2, z2).

Таким образом, S3 Í S1(Y1*)´ S2(X2*), причем проекции S3 на S1(Y1*) и S2(X2*) равны соответственно S1(Y1*) и S2(X2*);

2) I3 Í (I1(Y1*)´I2(X2*)) Ç S3, причем проекции I3 на I1(Y1*) и I2(X2*) равны соответственно I1(Y1*) и I2(X2*);

3) R3 Í (R1(Y1*)´R2(X2*)) Ç S3, причем проекции R3 на R1(Y1*) и R2(X2*) равны соответственно R1(Y1*) и R2(X2*).

 

Пример: попытаемся построить композицию рассмотренного выше процесса печати с помощью лазерного принтера и процесса подготовки к такой печати.

В качестве процесса P1 = <S1, F1, I1, R1> представим процесс подготовки к печати.

 

Ситуации этого процесса будут структурированы с помощью следующих компонент:

1. К – микроконтроллер

+ контролирует процесс печати и работу всех механизмов принтера;

- бездействует.

2. М – память:

+ содержит задание на печать;

- свободна.

3. P – бумага для печати:

+ имеется;

- отсутствует.

В результате множество S1 будет представлено следующими ситуациями:

1. Загрузка данных для печати в память принтера:

K+ M+ P-

S11= (1,1,0)

2. Принтер готов к печати:

K+ M+ P+

S12= (1,1,1)

3. Принтер включен, память пуста:

K+ M- P-

S13= (1,0,0)

4. Принтер отключен:

K- M- P-

S14= (0,0,0)

 

Таким образом, имеем первый процесс:

P1=<S1, F1, I1, R1>, где

S1 = {S11, S12, S13, S14},

S11= (1,1,0)

S12= (1,1,1)

S13= (1,0,0)

S14= (0,0,0)

F1 = {(S11, S12), (S12, S13), (S13, S14)},

I1 = { S11},

R1 = { S12, S13, S14}.

Структурируем ситуации этого процесса по выходным компонентам M, P: Y = {00,10,11).

Второй процесс в последовательной композиции должен быть приведенным и логически вытекающим из первого.

Построим приведенный процесс P2п на основе описанного выше процесса Р и его репозиции P’.

P2п =<S2п, F2п, I2п, R2п >, где

S2п = {S21, S22, S23, S24, S25, S26, S27, S28 , S29},

S21 =(1,0,0,0,0,0,0)

S22 =(1,1,0,0,0,0,1)

S23 =(1,0,0,0,0,0,1)

S24 =(1,1,1,0,1,0,0)

S25 =(1,1,0,1,1,0,0)

S26 =(1,1,0,0,1,1,0)

S27 =(1,1,0,0,1,0,1)

S28 =(1,1,0,0,0,0,0)

S29 = (0,0,0,0,0,0,0)

F2п = {(S21, S22), (S21, S23), (S23, S28), (S22,S 24), (S24, S25), (S25, S26), (S26, S27), (S27,S29)},

I2п = { S21, S22 },

R2п = { S23, S27 , S28, S29}.

 

Множества Y* и X* будет образовано совпавшими значениями компонент: в нашем примере совпали все значения компонент {00,10,11) и, следовательно, имеет место Y1** = Y1*, Х2** = Х2*.

При построении редукции по всем входным или выходным компонентам, она (редукция) совпадет с исходным процессом.

Таким образом, можно построить процесс Р3 = <S3, F3, I3, R3>, где

ситуации будут иметь компоненты K M P C L B T V.

Множество ситуаций

S31 = ( S11, S21) = (1,1,0,0,0,0,0,0) S11= (1,1,0)

S32 = (S12, S22) = (1,1,1,0,0,0,0,1) S12= (1,1,1)

S33 = (S11, S23) = (1,1,0,0,0,0,0,1) S13= (1,0,0)

S34 = (S12, S24) = (1,1,1,1,0,1,0,0) S14= (0,0,0)

S35 = (S12, S25) = (1,1,1,0,1,1,0,0)

S36 = (S12, S26) = (1,1,1,0,0,1,1,0)

S37 = (S12, S27) = (1,1,1,0,0,1,0,1)

S38 = (S12, S28) = (1,1,1,0,0,0,0,0)

S39 = (S13, S29) = (1,0,0,0,0,0,0,0)

S310 = (S14, S29) = (0,0,0,0,0,0,0,0)

 

(S11 F1 S12) & (S21 F2 S22) Þ ( S11, S21) F3 (S12, S22) Þ S31 F3 S32

(S11 = S11) & (S21 F2 S23) Þ ( S11, S21) F3 (S11, S23) Þ S31 F3 S33

(S12 = S12) & (S22 F2 S24) Þ ( S12, S22) F3 (S12, S24) Þ S32 F3 S34

(S12 = S12) & (S24 F2 S25) Þ ( S12, S24) F3 (S12, S25) Þ S34 F3 S35

(S12 = S12) & (S25 F2 S26) Þ ( S12, S25) F3 (S12, S26) Þ S35 F3 S36

(S12 = S12) & (S26 F2 S27) Þ ( S12, S26) F3 (S12, S27) Þ S36 F3 S37

(S11 F1 S12) & (S23 F2 S28) Þ ( S11, S23) F3 (S12, S28) Þ S33 F3 S38

(S12 F1 S13) & (S27 F2 S29) Þ ( S12, S27) F3 (S13, S29) Þ S37 F3 S39

(S13 F1 S14) & (S29 = S29) Þ ( S13, S29) F3 (S14, S29) Þ S39 F3 S310

 

 
 

 


Рис.12

Множество инициаторов: I = { S31}.

Множество результантов: R = { S37, S38, S39, S310}

Конец примера.

 

Рассмотрим два АП (не обязательно приведенных) Р1 и Р2 со структурированными ситуациями: выделенными входными компонентами х1 и х2.

Пусть все или некоторые значения входной компоненты х1 ситуаций из S1 семантически эквивалентны всем или некоторым значениям входной компоненты х2 ситуаций из S2.

Обозначим проекции эквивалентных пар значений компонент на множества Х1 и Х2 через Х*. По Х* построим редукции Р1(Х*) и Р2(Х*) процессов Р1 и Р2. Пусть Х** = Х*.

Построим, если это возможно, процесс Р3, ситуации S3ÎS3 которого представимы в виде пар S3 = (S1, S2), таких, что:

1) S1ÎS1(X*), S2ÎS2(X*), то есть S3 Í S1(X*)´S2(X*);

2) входные компоненты х1 и х2 ситуаций S1 и S2 эквивалентны: х12 = х.

Определение 1.15. Назовем параллельной композицией асинхронных процессов Р1 и Р2 процесс Р3, образованный отождествлением значений входных компонент ситуаций редуцированных процессов Р1(Х*) и Р2(Х*) при выполнении ограничений 1) - 2).

 

Рассмотрим теперь приведенный АП Рп = <Sп, Fп, Iп, Rп>, соответствующий некоторому процессу Р и его репозиции Р’.

Пусть ситуации процесса Рп структурированы: в них выделены входная х и выходная у компоненты. И все или некоторые значения выходной компоненты у ситуаций этого процесса соответствуют всем или некоторым значениям входной компоненты х ситуаций того же процесса.

Обозначим проекцию множества эквивалентных пар значений компонент на множества Х и Y через Х* и Y* соответственно.

По множествам Х* и Y* построим редукции Рп(Х*) и Рп(Y*) процесса Р.

Построим автономный процесс Р3(Х*,Y*) = <S3, F3>, удовлетворяющий следующим ограничениям:

1) S3 Í Sп(Х*) Ç Sп(Y*);

2) выходная компонента у3 ситуации S3 эквивалентна компоненте х3: y3 = x3;

3) F3 = (F(X*) È F’(X*)) Ç (F’(Y*)ÈF(Y*)),

где F и F’ задают причинно-следственные связи для неприведенного процесса и его репозиции, соответствующих процессу Рп.

 

Определение 1.16. Автономный процесс Р3, удовлетворяющий ограничениям 1) - 3), назовем замыканием процесса Рп.

Поскольку замыкание определено только для приведенных процессов, необходимым условием существования замыкания последовательной или параллельной композиции является принадлежность композицируемых процессов классу приведенных.

 

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

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