Tiến trình TURNSTILE

Một phần của tài liệu Đặc tả và kiểm chứng thiết kế của hệ thống tương tranh (Trang 35 - 36)

Bảng chữ cái của tiến trình TURNSTILE được mở rộng với bảng chữ cái VarAlpha sử dụng cấu trúc bảng chữ cái mở rộng +{..}. Một tiến trình TURNSTILE không bao giờ có hành động value.write[0] vì nó luôn tăng giá trị mà nó đọc được. khách đến nhất định nhưng có thể kết thúc tại bất kỳ thời điểm nào, tuy nhiên nó

VAR=VAR[0]

VAR[u:T]= (read[u] ->VAR[u] |write[v:T]->VAR[v]).

INCREMENT = (value.read[x:T] -> value.write[x+1] -> RUN)+VarAlpha.

const N = 4 range T = 0..N

set VarAlpha = { value.{read[T],write[T]} } VAR = VAR[0],

VAR[u:T] = (read[u] ->VAR[u] | write[v:T]->VAR[v]). TURNSTILE = (go -> RUN),

RUN = (arrive -> INCREMENT | end -> TURNSTILE),

const N = 4 range T = 0..N

set VarAlpha = { value.{read[T],write[T]} } VAR = VAR[0],

VAR[u:T] = (read[u] -> VAR[u] | write[v:T] ->VAR[v]). TURNSTILE = (go -> RUN),

RUN = (arrive-> INCREMENT | end -> TURNSTILE),

INCREMENT = (value.read[x:T] -> value.write[x+1] -> RUN ) +VarAlpha.

||SUPERMARKET = (east:TURNSTILE || east:TURNSTILE || south:TURNSTILE

|| {east,west,display,south}::value:VAR) /{go/{ east, west, south}.go,

end/{east, west, south}.end}.

không thể kết thúc lúc đang cập nhật giá trị biến chia sẽ. Tiến trình TURNSTILE được miêu tả như hình 3.19.

Tiến trình SUPERMARKET là sự kết hợp của các thành phần east, west, south và {east, west, south, display}::value:VAR, trong đó east, west, south là các đối tượng của tiến trình TURSNTILE.

Tiền tố {east, west, south display}::value:VAR dùng để thay thế mọi hành động value.read, value.write và south.write bằng tập hành động tương ứng là {east, west, south, display}.value.read và {east, west, south, display}.write.

Nhãn /{go/{east, west, south}.go, end /{east,wes, south}.end} chính là việc gán lại nhãn {east, west, south}.go bằng nhãn go và nhãn{east, west, south}.end được gán lại bằng nhãn end, việc gán lại nhãn này nhằm đảm bảo rằng tiến trình hỗn hợp SUPERMARKET đồng bộ trên biến chia sẽ VAR. Mô hình mới này được miêu tả đầy đủ như hình 3.20. LTS tương ứng với FSP của SUPERMARKET có đến 2000 trạng thái nên không thể minh họa ở đây được.

Một phần của tài liệu Đặc tả và kiểm chứng thiết kế của hệ thống tương tranh (Trang 35 - 36)