Репозиция
Репозицией АП задается механизм перехода от результанта к инициаторам
Репозицией АП P = <S,F,I,R> назовем эффективный АП P' = <S', F', I', R'>, такой, что S' Í IÈRÈSD, I' Í R, R' Í I.
Ситуации S' репозиции могут содержать лишь те ситуации из исходного процесса, которые являются лишь инициаторами или результантами, и, кроме того, некоторые дополнительные ситуации из SD, отсутствующие в описании исходного АП.
Отношение F' задает траектории переходов от элементов из I' Í R к элементам R' Í I, возможно через дополнительные ситуации из SD.Если I' = R, R' = I, то репозицию назовем полной. Если F' = Æ, то репозиция не существует, в остальных случаях она называется частичной.
Для рассматриваемого процесса имеем:
P' = <S', F', I', R'>
S' Í I È R È SD = { }SD = Æ
I'={ }R'={ }
F': (повторить процесс записи сначала)
(повторить проверку записи данных)
Траектории переходов, которые задает отношение F' показаны на рисунке пунктирной стрелкой.
Вывод: таким образом, построена частичная репозиция асинхронного процесса, суть которой – получение механизма его возобновления. Семантически репозиция означает повтор операции записи (при успешной записи) и повтор операции проверки записанных данных (в случае возникновения ошибки записи).
|
|
Редукция
Операция редукции состоит в сведении данного АП к более простому. Такая операция необходима тогда, когда из полного описания процесса хочется выделить некоторую его часть, рассмотрение которой интересно по тем или иным причинам.
Пусть задан неприведенный АП Р = <S,F,I,R>, ситуации которого структурированы по 2-му способу. Образуем р-блочное разбиение множества S процесса Р, в ситуациях каждого блока которого входная компонента принимает фиксированное значение xj, 1jp.
Выберем r<p различных значений входной компоненты (составляющих множество X*Ì X). Ситуации, входящие в те блоки разбиения, которые соответствуют выбранным значениям входной компоненты составляют подмножество S*, S*Ì S.
Для каждого инициатора siÎI постоим множество ситуаций S(si), встречающихся на траекториях процесса Р, ведущих из указанного инициатора.
Образуем множество S(X*), как объединение тех множеств S(si), для которых справедливо
S(si)S*, т.е. S(X*) =
Построим также F(X*) = F Ç (S(X*)´S(X*)),I(X*) = I Ç S(X*), R(X*) = R Ç S(X*).
Назовем процесс P(X*) = <S(X*), F(X*), I(X*), R(X*)> редукцией неприведенного процесса P = <S,F,I,R> по выбранному множеству Х* значений входной компоненты.
Для рассматриваемого процесса имеем:
106.Ситуация | 107.K | 108.S | 109.E | 110.P | 111.W | 112.C | 113.F |
114.S1 | 115.1 | 116.0 | 117.0 | 118.0 | 119.0 | 120.0 | 121.0 |
122.S2 | 123.1 | 124.1 | 125.0 | 126.0 | 127.0 | 128.0 | 129.0 |
130.S3 | 131.1 | 132.0 | 133.1 | 134.0 | 135.0 | 136.0 | 137.0 |
138.S4 | 139.1 | 140.1 | 141.0 | 142.1 | 143.0 | 144.0 | 145.0 |
146.S5 | 147.1 | 148.1 | 149.0 | 150.0 | 151.1 | 152.0 | 153.0 |
154.S6 | 155.1 | 156.1 | 157.0 | 158.0 | 159.0 | 160.1 | 161.0 |
162.S7 | 163.1 | 164.1 | 165.0 | 166.1 | 167.0 | 168.0 | 169.1 |
170.S8 | 171.1 | 172.1 | 173.1 | 174.0 | 175.0 | 176.0 | 177.0 |
|
|
S={ }
Выберем в качестве значений входной компоненты первые три элемента вектора.
Выпишем множество X={ 100, 110, 101, 111 }
Редукцию сделаем по следующему множеству X*={100, 101}, то есть семантически рассмотрим ситуацию, когда нет свободного места для записи.
Тогда S* = { }.
Рассмотрим траектории процесса:
(подходит, так как ситуации принадлежат S*)
(не подходит, т.к. не принадлежат S*)
(не подходит)
(не подходит)
(не подходит)
Образуем множество S(X*)={ }, I(X*)={ },R(X*)= { }
F(X*):
Вывод: построив редукцию данного процесса по выбранным значениям входной компоненты, мы упростили процесс и рассмотрели только ту часть его, в которой складывается ситуация нехватки места на диске. В итоге получаем одну ветвь процесса, в которой фиксируется ошибка и код ее заносится в регистр ошибок.
Композиция
Обозначим исходный процесс как P2. Для него имеем:
S2={ }I2={ }R2={ }
Рассмотрим новый процесс P1, состоящий из следующих компонент:
178.N | 179.Обозначение | 180.Описание |
181.1 | 182.K | 183.Контроллер дисковода |
184.2 | 185.P | 186.Дисковод работает. Есть электропитание (P+) |
187.3 | 188.D | 189.Диск вставлен в дисковод (D+) |
190.Ситуация | 191.K | 192.PW | 193.D |
1. S1 | 2. 1 | 3. 1 | 4. 0 |
5. S2 | 6. 1 | 7. 1 | 8. 1 |
Для процесса P1 имеем: S1={ }I1={ }R1={ }
Построим последовательную композицию процессов P1 и P2.
Х*={1}
Построим редукцию процесса P2 по X*.
S2*={ }
Траектории:
(подходит)
(подходит)
(подходит)
(подходит)
(подходит)
Следовательно: S2 (X*) = { } I2 (X*) = { } R2 (X*)= { }
Далее построим редукцию процесса P1 по X*.
S1*={ }
Траектории:
Следовательно: S1(X*) = { } I1 (X*) = { } R1 (X*)= { }
Теперь построим процесс P3.
Для процесса P3 имеем: S3={ I3={ }R3={ }
9. Ситуация | 10. K | 11. S | 12. E | 13. P | 14. W | 15. C | 16. F | 17. PW | 18. D |
19. S1 | 20. 1 | 21. 0 | 22. 0 | 23. 0 | 24. 0 | 25. 0 | 26. 0 | 27. 1 | 28. 0 |
29. S2 | 30. 1 | 31. 0 | 32. 0 | 33. 0 | 34. 0 | 35. 0 | 36. 0 | 37. 1 | 38. 1 |
39. S3 | 40. 1 | 41. 0 | 42. 0 | 43. 0 | 44. 0 | 45. 0 | 46. 0 | 47. 1 | 48. 1 |
49. S4 | 50. 1 | 51. 1 | 52. 0 | 53. 0 | 54. 0 | 55. 0 | 56. 0 | 57. 1 | 58. 1 |
59. S5 | 60. 1 | 61. 0 | 62. 1 | 63. 0 | 64. 0 | 65. 0 | 66. 0 | 67. 1 | 68. 1 |
69. S6 | 70. 1 | 71. 1 | 72. 0 | 73. 1 | 74. 0 | 75. 0 | 76. 0 | 77. 1 | 78. 1 |
79. S7 | 80. 1 | 81. 1 | 82. 0 | 83. 0 | 84. 1 | 85. 0 | 86. 0 | 87. 1 | 88. 1 |
89. S8 | 90. 1 | 91. 1 | 92. 0 | 93. 0 | 94. 0 | 95. 1 | 96. 0 | 97. 1 | 98. 1 |
99. S9 | 100.1 | 101.1 | 102.0 | 103.1 | 104.0 | 105.0 | 106.1 | 107.1 | 108.1 |
109.S10 | 110.1 | 111.1 | 112.1 | 113.0 | 114.0 | 115.0 | 116.0 | 117.1 | 118.1 |
Вывод: таким образом построена последовательная композиция процессов P1 и P2. Семантически ситуации процесса P1 предшествуют ситуациям процесса P2. Их суть – процесс подготовки носителя к записи информации.