Chuyển <if> thành đồ thị có hướng

Một phần của tài liệu (LUẬN văn THẠC sĩ) vấn đề bế tắc (deadlock) trong quy trình được hiện thực bằng BPEL (Trang 41 - 42)

Giả sử thành phần <if> chứa các thành phần cơ sở đã đưa ra ở trên, ở bước chuyển

DOM Tree, thành phần <if> chuyển thành một nút (đỉnh) của đồ thị có hướng với tên nút là giá trị của thuộc tính name của <if>. Và các nhánh tương ứng với các thành phần con trong bao đóng của <if>, cũng trở thành các nút (đỉnh) của đồ thị có

hướng. Bước loại bỏ các thành phần thuộc tính của các thành phần cơ sở đã nêu ra trước đó. Luồng điều khiển thực thi của <if>, tương tự luồng điều khiển ẩn của

<link>, từ đó, xác định được các cung trong đồ thị có hướng, ứng với luồng xử lý

các nhánh của <if>, dù biểu thức điều kiện condition của <if>, biểu thức Boolean phụ thuộc vào giá trị biểu thức để xác định, nhánh nào trong <if> mới được thực thi. Tuy nhiên, đối với các trường hợp <if> lồng nhiều hơn một thành phần <if> khác mà nó chứa các thành phần cơ sở, thì đệ quy tương tự thành phần <if> bao đóng. Các trường hợp, <if> chứa các thành phần cấu trúc khác, sẽ liên quan tới mối quan hệ tương quan giữa <if> và các thành phần thao tác khác hoặc biến trong biểu thức

condition và các trường hợp đó không xét trong luận văn này. Tương tự đối với

thành phần <sequence>, các thành phần nằm trong bao đóng một <sequence> sẽ thực thi tuần tự, <sequence> bắt đầu, Activity A hoàn thành, Activity B mới chuyển sang trạng thái thực thi, khi Activity cuối cùng hoàn thành, <sequence> mới có trạng thái là hoàn thành. Rõ ràng, luồng thực thi của <sequence> miêu tả như đặc trưng hoạt động của <source>, <target> của <link> trong <flow>. Khi đó, chuyển <sequence> và các thành phần nằm trong bao đóng của nó thành các đỉnh và các cung của đô thị có hướng mô tả như hình 3.1.4.

Một phần của tài liệu (LUẬN văn THẠC sĩ) vấn đề bế tắc (deadlock) trong quy trình được hiện thực bằng BPEL (Trang 41 - 42)

Tải bản đầy đủ (PDF)

(51 trang)