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 - 78)

CHƯƠNG 3 : LÀM MỊN KẾ HOẠCH

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

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ố.

3.1.1 Bổ sung chi tiết

Quá trình chi tiết hóa cho một hoạt động xảy ra khi một hay một số chi tiết nào đó cần được bổ sung thêm vào trong hoạt động. Do đó, chúng ta có biểu thức khái quát mô tả việc chi tiết hóa này như sau:

A' = A + d;

trong đó: d là một chi tiết mới cần bổ sung; A' là một hoạt động mới và chi tiết hơn hoạt động cũ A. Chi tiết mới d có thể là một trong số những kiểu sau:

- Đối tượng (Object): trường hợp này có nghĩa là chúng ta muốn thêm mục tiêu cho hoạt động ban đầu.

- Công cụ (Tool): trường hợp này có nghĩa là hoạt động cần thêm công cụ để hoàn thành được mục tiêu.

- Chủ thể (Subject): trong trường hợp này, hoạt động cần thêm chủ thể tham gia để thực hiện đươc mục tiêu.

- Hoạt động (Activity): trong trường hợp này, hoạt động A cần thêm một hoạt động mới và A’ sẽ trở thành hoạt động tập thể (collective activity).

77

Hơn nữa, khi một chi tiết mới được thêm vào hoạt động, sẽ cần bổ sung thêm các liên kết liên quan. Ví dụ, sau khi bổ sung một đối tượng, sẽ xuất hiện các liên kết mới giữa đối tượng mới và các đối tượng cũ, cũng như giữa đối tượng mới và các công cụ và chủ thể cũ.

Sau đây, luận án sẽ đưa ra một số định nghĩa hình thức hơn cho phương thức bổ sung chi tiết này.

Định nghĩa 3-1: Thao tác bổ sung chi tiết (ký hiệu là phép '+') có một số dạng như sau:

- Bổ sung Chủ thể:

Abstract(O) + S = AbstractT(S,O); AbstractS(T,O) + S = Atomic(S,T,O);

- Bổ sung Công cụ:

Abstract(O) + T = AbstractS(T,O); AbstractT(S,O) + T = Atomic(S,T,O);

- Bổ sung Hoạt động:

C(L, R) + A = C’(L A, R {r(A, Ai) | Ai L}),

với L=(A1, A2, ..., An);

3.1.2 Phân tách

Như đã trình bày ở trên, phép phân tách một hoạt động là thao tác tách một thành phần nào đó của nó thành các thành phần nhỏ hơn. Do một hoạt có thể chứa bốn loại thành phần (chủ thể, công cụ, đối tượng, và hoạt động con), nên về nguyên tắc phép tách có thể áp dụng cho cả bốn thành phần. Tuy nhiên, về mặt thực tiễn chỉ xét hai loại phân tách sau:

- Phân tách đối tượng: áp dụng cho việc phân tách hoạt động trừu tượng, khi thành phần đối tượng của nó chưa nguyên tố.

- Phân tách hoạt động con: áp dụng cho việc phân tách hoạt động tập thể, trong đó một hoạt động con của nó được tách thành một tập các hoạt động nhỏ hơn.

Phép phân tách decomposition được định nghĩa như sau:

Định nghĩa 3-2:

decomposition(Abstract(O)) = C(L,R), trong đó: O L (tương đương về chức năng) ; decomposition(C(L, R)) = C’(L \ Ai Li, R’); trong đó: Ai L, Ai Li,

78

3.1.3 Mối quan hệ giữa chi tiết hóa và phụ thuộc khả thi

Dựa vào các tính chất của phụ thuộc khả thi và các phép chi tiết hóa đã trình bày ở trên, có thể nhận thấy giữa chúng có một số quan hệ như sau:

- Các phép tách giúp tăng cường tính khả thi của hoạt động: tức là nếu A là hoạt động chưa khả thi thì decomposition(A) có thể khả thi. Điều này có nghĩa là decomposition(A)  A. Đồng thời, do phép tách là phép biến đổi tương đương về chức năng, nên nếu decomposition(A) không khả thi, thì khả năng A là không khả thi cũng rất lớn.

- Các phép bổ sung (ngoại trừ bổ sung hoạt động), đều tạo ra hoạt động mới, cho phép xác định khả thi hoạt động cũ. Tức là, nếu A’ = A + d thì A’  A;

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 - 78)