Chi tiết hóa kế hoạch

Một phần của tài liệu Khung cộng tác đa dụng trong môi trường tính toán lưới (Trang 74 - 76)

Trong Mô hình Kế hoạch đã được trình bày ở chương 2, cấu trúc của kế hoạch bao gồm một tập các hoạt động được sinh ra từ một hoạt động gốc nhờ các quan hệ phụ thuộc khả thi. Tuy nhiên, nếu chỉ dựa vào phụ thuộc khả thi (PTKT) để tìm kiếm các hoạt động mới sẽ không hề dễ dàng vì một số lý do như sau:

75

- Thứ nhất: định nghĩa về PTKT chưa thực sự giúp xác định tình huống khi nào sẽ xuất hiện PTKT. Vấn đề này cũng tương tự như trong thiết kế cơ sở dữ liệu, việc áp dụng các quy tắc phụ thuộc hàm để tìm các phụ thuộc hàm sẽ rất khó khăn, nếu thiếu các liên hệ về các quy tắc nghiệp vụ mà có thể sinh ra các phụ thuộc hàm. - Thứ hai: dựa vào các PTKT thì có thể sinh ra các hoạt động mới trong kế hoạch,

nhưng chưa đạt được mục tiêu cuối cùng của việc sinh ra các hoạt động mới – đó là làm sao nhanh chóng tìm được các hoạt động mới khả thi để nhanh chóng xác định được tính khả thi của hoạt động gốc và toàn bộ kế hoạch. Nguyên nhân của vấn đề là do bản chất của việc tìm kiếm hoạt động mới mà chỉ dựa vào PTKT là tìm kiếm có tính mò mẫm, may rủi. Nếu may mắn thì sẽ tìm được hoạt động khả thi, còn nếu không thì không biết lúc nào quá trình tìm kiếm này mới dừng lại.

Từ các vấn đề trên, có thể thấy sự cần thiết của việc tìm kiếm các cách chuyển đổi hoạt động mới, với mục tiêu vừa tận dụng cách chuyển đổi dựa vào PTKT, vừa giúp cho quá trình phát hiện các hoạt động khả thi, qua đó xác định tính khả thi của kế hoạch được nhanh chóng và dễ dàng hơn.

Các kế hoạch của một hoạt động có thể đóng một trong hai vai trò như sau:

- Công cụ cụ thể (Specific tool): với vai trò này, các kế hoạch giúp hình thành con đường để đạt được mục tiêu của hoạt động. Mỗi hoạt động tồn tại trong một tình huống cụ thể nào đó mà các kế hoạch phải tính đến, để chúng có thể khả thi trong tình huống đó. Điều này có nghĩa là các kế hoạch phải phù hợp tối đa với hoạt động của chúng trong tình huống cụ thể. Để thực hiện được vai trò này, các kế hoạch sẽ trải qua một quá trình chi tiết hóa (process of specialization): chúng sẽ trở nên càng ngày càng cụ thể hơn đối với hoạt động trong tình huống cụ thể.

- Công cụ khái quát (General tool): Sau khi một kế hoạch đã được áp dụng thành công trong một hoạt động, đương nhiên ta muốn nó lại có thể được áp dụng trong các hoạt động tương tự. Để thực hiện được vai trò này, các kế hoạch sẽ trải qua một

quá trình khái quát hóa (process of generalization): ngược với quá trình chi tiết hóa ở trên. Trong quá trình này, các kế hoạch sẽ trở nên càng ngày càng khái quát để chúng có thể áp dụng vào các hoạt động trong các tình huống khác nhau.

Hiện có ba cách tiếp cận mới trong việc chuyển đổi các hoạt động trong kế hoạch : - Chi tiết hóa : là quá trình chuyển dần dần một hoạt động ở mức trừu tượng và chưa

khả thi sang các hoạt động mới ở mức chi tiết hơn và cuối cùng đạt được các hoạt động đủ chi tiết để có thể khả thi.

- Khái quát hóa : là quá trình ngược lại của quá trình chi tiết hóa trên.

- Chuyển đổi giữa cách biểu diễn hoạt động : như chúng ta đã thấy trong phần 2.2.2 Mô tả hoạt động, hoạt động có thể được biểu diễn bằng các ngôn ngữ luồng công việc khác nhau. Với một số hoạt động, tính khả thi của chúng được quyết định bởi khả năng có thể thực thi chúng được không. Khả năng thực thi lại phụ thuộc rất nhiều vào ngôn ngữ biểu diễn cho hoạt động. Ví dụ như cùng một hoạt động, nếu

76

biểu diễn bằng ngôn ngữ BPMN thì nó có thể không thực thi được vì ngôn ngữ đó khá trừu tượng, nhưng nếu được biểu diễn bằng ngôn ngữ BPEL, có thể thực thi được. Nhưng do tính phức tạp của BPEL, nó lại không dễ dùng để biểu diễn cho các hoạt động. Trong khi đó BPMN lại thích hợp hơn cho vai trò này. Do đó, nếu có thêm phương pháp chuyển đổi tự động hoặc bán tự động từ BPMN sang BPEL sẽ hỗ trợ rất lớn cho người dùng trong việc biểu diễn và xác định tính khả thi của hoạt động. Trong phần này, luận án cũng sẽ trình bày một giải thuật hỗ trợ cho quá trình chuyển đổi này.

Phương pháp chi tiết hóa sẽ được trình bày chi tiết ngay sau đây. Còn phần chuyển đổi giữa các ngôn ngữ, cụ thể là từ ngôn ngữ dạng đồ thị kiểu như BPMN sang ngôn ngữ dạng khối cấu trúc như BPEL sẽ được trình bày chi tiết trong phần sau của chương.

Như đã nói ở phần trên, quá trình chi tiết hóa kế hoạch là quá trình chuyển dần dần các hoạt động trong kế hoạch ở mức trừu tượng và chưa thực thi được sang các hoạt động ở mức chi tiết hơn và cuối cùng đạt được các kế hoạch đủ chi tiết để có thể thực thi được. Do đó, quá trình chi tiết hóa cũng còn được gọi là quá trình làm mịn (refinement). Mỗi bước chi tiết hóa có thể ở một trong hai dạng:

- Bổ sung chi tiết: được thực hiện khi một hay một số chi tiết còn thiếu nào đó trong một hoạt động cần được bổ sung để tạo ra một hoạt động mới đầy đủ thông tin hơn. - Phân tách: phân rã một thành phần không nguyên tố (có thể chia nhỏ hơn được) nào đó của hoạt động hoặc bản thân hoạt động, thành những thành phần con nhỏ hơn. Quá trình này có thể lặp đi lặp lại cho đến khi các thành phần con được phân rã đã đủ chi tiết ở mức nguyên tố.

Một phần của tài liệu Khung cộng tác đa dụng trong môi trường tính toán lưới (Trang 74 - 76)