Từ tất cả các Node ở SNR2, w7 mà đã kết hợp với các luật AP được kích hoạt và chỉ định sẽ cho vào Wave Queue trên máy tính hiện tại. Sau đó nó ghép với các biến Frontal mang tới từ Node trên SNR2 bởi thành phần 1 và thành phần 2 ban đầu của luật AP. Ứng dụng của w7, khả năng cung cấp sựđồng bộ hóa cục bộ của rất nhiều hệ xử lý phân tán được liên kết với nhau từ nhiều Rule khác nhau (OS, OP…). Luật AP, sau khi gửi Tail của w7 tới SNR2 không rằng buộc của nó với các Wave được sao chép từw7. Sau đó chúng kết thúc quá trình hoạt
động. 5.Bước 5
Wave w7 không phụ thuộc vào các Node của SNR2, sau đó được đặt tại các Node của SNR3.
Vì vậy ta thấy Wave w1,w2…w7 có thể được đặt ở các vị trí khác nhau trong cấu trúc và có thểđược duy trì chúng cùng với Rule nhưđã miêu tảở trên.
3. 2. 2 Thuật toán tổng quát cho Wave có Rule
Phần trên chúng ta lấy một ví dụ về Wave có Rule nhưng chưa tách biệt và chi tiết. Trong phần này chúng ta sẽ đi sâu hơn về các thuật toán của những Rule khác nhau.
Branching Rules
Nếu các Head của Wave có nhiều nhánh (branching rule):
1. Phân tích Head Wave thành nhiều nhánh con, sau đó gắn các biến Frontal và Tail vào các thành phần đó.
a. Kích hoạt các nhánh nhận được (tuần tự hoặc song song, phụ thuộc vào kiểu của Rule) bằng việc đưa chúng vào Wave Queue .
b. Đợi kết quả trả về từ các nhánh và đưa ra quyết định xử lý.
c. Kết hợp và xử lý các kết quả cuối cùng của các nhánh để đưa ra trạng thái kết quả của mỗi Rule, và tổng hợp các kết quảở các nhánh khác nhau trên
SNR, để suy ra được kết quảSNR trên Rule đó. 2. Nếu kết quả trả về của Rule là TRUE:
a. Gửi Tail của chương trình tới tất cả các Node trên SNR (đã ghép thêm tất cả các biến Frontal của Node đó) bằng các nhánh của Wave, vì thế ta sẽ
nhận được các Wave mới.
b. Kích hoạt các Wave mới độc lập này trong tất cả các Node SNR (bằng việc
đưa chúng vào Wave Queue).
c. Kết quả cuối cùng được kích hoạt trong khi quyền điều khiển của nó được lan tỏa trên khắp các Tail của Wave. Quyền điều khiển này được gửi tới
SNR Node.
Trong trường hợp kết quả là DONE hoặc FALSE