Tổng quan về khung cộng tác đa dụng

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 65 - 80)

2.2.2 Mô tả các hoạt động

Phần này sẽ trình bày chi tiết hơn về vấn đề mô tả các hoạt động. Trong phần trước, khi dùng định nghĩa về hoạt động hay sơ đồ hoạt động, có thể thấy là mô tả đó còn khá trừu tượng, nhất là phần biểu diễn các quan hệ giữa các thành phần khá sơ sài. Các mô tả đó gắn với các ba thành phần chính là Chủ thể, Đối tượng đích và Công cụ. Trong phần này, luận án sẽ đưa ra hai cách biểu diễn mới giúp biểu diễn chi tiết và đầy đủ hơn về các hoạt động:

đặc tả hoạt động (activity specification) và mô hình hóa dựa trên luồng công việc

(workflow-based modeling).

Đặc tả hoạt động

Xuất phát từ định nghĩa 2-1 về hoạt động và sơ đồ hoạt động ở Hình 2-1, đặc tả hoạt động sẽ bổ sung thêm một số thành phần còn thiếu, chưa rõ ràng, chưa đầy đủ trong các mô tả. Bảng 2-2 biểu diễn cấu trúc của một đặc tả hoạt động mà bao gồm các trường thông tin với ý nghĩa như sau:

1. Tên của hoạt động (Activity Name): tên này cần rõ ràng và ngắn gọn.

2. Tóm tắt (Abstract): diễn giải ngắn gọn về các mục tiêu của hoạt động (đối tượng tường minh hoặc ngầm định của hoạt động). Chủ thể của hoạt động cũng có thể được giới thiệu ở đây.

66

3. Đối tượng (Object): liệt kê các đối tượng đích của hoạt động.

4. Chủ thể (Subject): liệt kê các chủ thể của hoạt động. Khi phần này được để trống - có nghĩa là chủ thể chưa được xác định hoặc chưa quan trọng tại thời điểm đặc tả này.

5. Công cụ (Tool): liệt kê các công cụ trung gian của hoạt động. Tương tự như mục

Subject, mục này cũng có thể được để trống.

6. Liên kết (Relationships): liệt kê các liên kết giữa các thành phần của hoạt động. Đối với hoạt động đơn, thì phần này mô tả khái quát mối quan hệ giữa ba thành phần Chủ thể, Đối tượng và Công cụ. Còn đối với hoạt động tập thể, liên kết này bao gồm các danh mục các hoạt động con và các mối quan hệ phụ thuộc giữa chúng.

7. Diễn giải (Explanation): diễn giải chi tiết quá trình thực thi hoạt động, mô tả chi tiết hơn các bước (có thể là các hoạt động con) cần tiến hành của hoạt động. Qua đó cũng mô tả chi tiết hơn việc chủ thể sử dụng công cụ để tạo ra đối tượng đích như thế nào.

Bảng 2-3: Cấu trúc của một đặc tả hoạt động

Tên hoạt động:

Tóm tắt:

Đối tượng Chủ thể Công cụ

Liên kết

Diễn giải

Ví dụ 2-12: Minh họa việc sử dụng đặc tả hoạt động để biểu diễn cho hoạt động Học đã được nêu ở Ví dụ 2-2. Bảng 2-4 trình bày các nội dung của đặc tả này.

67

Bảng 2-4: Đặc tả hoạt động cho hoạt động Học một chủ đề

Tên hoạt động: Học một chủ đề

Tóm tắt: Một sinh viên muốn học một chủ đề nào đề

Đối tượng Chủ thể Công cụ

Kiến thức về chủ đề Sinh viên Các tài liệu liên quan

Liên kết

Tìm(Sinh viên, Nguồn tìm kiếm, Tài liệu liên quan) NghiênCứu(Sinh viên, Tài liệu liên quan, Kiến thức)

Diễn giải

Tiến trình học gồm có hai bước. Đầu tiên, sinh viên cần tìm kiếm các tài liệu liên quan đến chủ đề muốn học từ các nguồn sẵn có như thư viện, hiệu sách, bạn bè, mạng,v.v. Sau đó, sinh viên sẽ phải nghiên cứu các tài liệu tìm được để hiểu về chủ đề.

Từ ví dụ 2-12 ở trên có thể thấy rằng, mặc dù đặc tả hoạt động đã chi tiết và đầy đủ hơn sơ đồ hoạt động, nhưng vẫn còn khá trừu tượng và thiếu hình thức, nên vẫn còn xa mới có thể làm cho máy tính hiểu được, để từ đó có thể phân tích và thực thi tự động được nó. Nhất là đối với hoạt động tập thể có chứa các hoạt động con và các mối quan hệ phụ thuộc giữa chúng, cách biểu diễn đặc tả ở trên lại càng không phù hợp, vì vậy còn khá dài dòng và thiếu trực quan. Do đó, cần có những cách biểu diễn khác hình thức hơn, nhưng vẫn cần đủ chi tiết để nó có thể được hiểu và thực thi bởi máy tính. Đó là lý do dẫn đến cách biểu diễn thứ hai cho các hoạt động tập thể sẽ đề cập ở phần sau trong luận án. Đó là mô hình hóa dựa trên luồng công việc.

Mô hình hóa dựa trên luồng công việc

Trong thời gian gần đây, việc nghiên cứu khả năng áp dụng các kỹ thuật luồng công việc trong việc biểu diễn, kiểm soát và thực thi các tiến trình nghiệp vụ đã và đang thu được rất nhiều các kết quả khả quan. Phần này sẽ xem xét việc áp dụng công nghệ này, đặc biệt là ngôn ngữ luồng công việc trong việc biểu diễn các hoạt động. Trong hai ngôn ngữ luồng công việc được lựa chọn trong nghiên cứu của luận án BPMN [70] và BPEL [68], BPMN là ngôn ngữ được dùng để biểu diễn các hoạt động (mà sau này còn được gọi là kế hoạch) ở mức logic nghiệp vụ, sẽ được trình bày chi tiết hơn ngay trong phần này. Còn BPEL sẽ được dùng để biểu diễn các hoạt động ở mức thực thi vật lý - có thể tự động thực thi nhờ các BPEL engine phù hợp (Phần Phụ lục B sẽ trình bày chi tiết hơn về các hệ thống và ngôn ngữ luồng công việc).

Sử dụng ngôn ngữ luồng công việc để biểu diễn cho các hoạt động có một số ưu điểm như sau:

68

- Cách biểu diễn này thường dễ hiểu và dễ kiểm soát hơn cách sử dụng đặc tả hoạt động, đã được dùng ở phần trên, do các ngôn ngữ luồng công việc đều có các công cụ mô hình hóa biểu diễn trực quan. Điều này có thể thấy rõ hơn sau khi xem xét ví dụ 2-13 sẽ được minh họa ở ngay sau đây.

- Các ngôn ngữ luồng công việc thường hỗ trợ hai cách biểu diễn: cách biểu diễn trực quan đã nói ở trên nhằm hướng đến người dùng, và cách biểu diễn dựa trên ngôn ngữ XML nhằm hướng đến việc xử lý tự động. Hơn nữa, hai cách biểu diễn này thường có thể được chuyển đổi qua lại dễ dàng trong các hệ thống luồng công việc. (Xem Ví dụ 2-13 sau đây để hình dung rõ hơn về hai cách biểu diễn này). Dựa trên cách biểu diễn dùng đặc tả hoạt động, cách biểu diễn mô hình hóa dựa trên luồng công việc có các đặc điểm sau:

- Kế thừa năm trường thông tin của đặc tả hoạt động là Tên hoạt động, Tóm tắt, Đối tượng, Chủ thể, Công cụ.

- Do hai trường Liên kếtDiễn giải trong đặc tả hoạt động có những thông tin trùng lặp (vì bản thân các liên kết đều nằm trong phần Diễn giải), nên hai trường này sẽ được gộp chung thành một trường mới là Mô hình. Trong trường này, một ngôn ngữ luồng công việc phù hợp (BPMN là ngôn ngữ được chọn ở đây) để mô hình hóa phần Liên kết và các bước thực hiện trong phần Diễn giải trước đây. Dễ dàng nhận thấy các thành phần của hoạt động có thể được chuyển sang các thành phần thích hợp của ngôn ngữ luồng công việc. Bảng 2-5 mô tả cụ thể việc chuyển đổi (còn được gọi là ánh xạ) từng thành phần của hoạt động sang các thành phần của luồng công việc BPMN. Chi tiết về các thành phần của ngôn ngữ được trình bày trong [69][70] và được luận án tóm tắt trong phần phụ lục B.3.

69

Bảng 2-5: Ánh xạ từ các thành phần của hoạt động sang luồng công việc.

Thành phần của hoạt động

Thành phần của luồng công việc

Chú thích/Ký hiệu

Chủ thể Data input (dữ liệu

vào)

Công cụ Data input (dữ liệu

vào)

Mục tiêu Data output (dữ liệu ra)

Hoạt động đơn A(S,T,O)

Task (nhiệm vụ) Có hai cách biểu diễn hoạt động đơn: - Cách đơn giản: chỉ cần có nhiệm

vụ A;

- Cách đầy đủ: ngoài nhiệm vụ A thì sẽ có đầy đủ các thành phần S, T và O.

Hoạt động tập thể Process (tiến trình) Thành phần này của luồng công việc được dùng để biểu diễn cho một tiến trình ngiệp vụ mà trong đó thường bao gồm nhiều nhiệm vụ (task). Nên nó hoàn toàn thích hợp để biểu diễn cho một hoạt động tập thể, mà trong đó lại chứa nhiều hoạt động con.

Các quan hệ phụ thuộc Các Gateway và Connecting Object

Các quan hệ phụ thuộc giữa một cặp hoạt động sẽ ảnh hưởng đến thứ tự thực thi chúng, mà điều này cần có các cơ chế điều khiển. Đây lại chính là nhiệm vụ của các gatewayconnecting object trong ngôn ngữ luồng.

A S T O A Cách đơn giản Cách đầy đủ

70

Chung đầu vào Data input Hai hoạt động sẽ có chung Data input.

Vào-Ra Data input và Data

output

Data output của hoạt động này sẽ là

Data input của hoạt động kia. Khi hai hoạt động có quan hệ này thì sẽ sinh ra một thứ tự tuần tự (sequence) giữa chúng.

Rẽ nhánh Exclusive gateway

(hay Fork gateway)

Đồng bộ Merge gateway (hay

Join gateway)

Ví dụ 2-13 minh họa cách biểu diễn bằng mô hình hóa dựa trên luồng công việc này.

Ví dụ 2-13: Cách biểu diễn bằng mô hình dựa trên luồng công việc được chia làm hai phần: Phần đầu chứa năm trường thông tin giống như trong đặc tả hoạt động (Bảng 2-6); Phần Mô hình được biểu diễn bằng ngôn ngữ luồng Xử lý yêu cầu làm thẻ và BPMN là ngôn ngữ được dùng để mô hình hóa với hai cách thể hiện: cách thể hiện trực quan ở Hình 2-24 và cách thể hiện bằng XML ở Hình 2-25.

Bảng 2-6:Mô hình hóa cho hoạt động “Xử lý yêu cầu làm thẻ” (phần đầu).

Tên hoạt động: Xử lý yêu cầu làm thẻ ngân hàng

Tóm tắt: hoạt động này nhằm xử lý các yêu cầu làm thẻ mà khách hàng gửi đến ngân hàng

Đối tượng Chủ thể Công cụ

Thẻ ngân hàng Khách hàng, nhân viên Ngân hàng

Mẫu yêu cầu làm thẻ A1

A2

A1

A2

71

Hình 2-24:Mô hình hóa dựa trên BPMN cho hoạt động “Xử lý yêu cầu làm thẻ” (phần biểu diễn trực quan).

Hình 2-25: Mô hình hóa dựa trên BPMN cho hoạt động “Xử lý yêu cầu làm thẻ” (phần biểu diễn bằng XML).

Việc thiết kế và cài đặt khung cộng tác này sẽ lần lượt được trình bày chi tiết hơn trong chương 4.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <bpmn2:definitions id="Definitions1">

<bpmn2:process id="CreditRequest" name="CreditProcess"> <bpmn2:startEvent id="StartEvent1" name="Bắt đầu"> <bpmn2:outgoing>SequenceFlow1</bpmn2:outgoing> </bpmn2:startEvent>

<bpmn2:userTask id="UserTask1" name="Gửi yêu cầu"> <bpmn2:incoming>SequenceFlow1</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow2</bpmn2:outgoing> </bpmn2:userTask>

<bpmn2:sequenceFlow id="SequenceFlow1" sourceRef="StartEvent1" targetRef="UserTask1"/>

...

</bpmn2:definitions>

Gửi yêu cầu Kiểm tra yêu

cầu Chấp nhận yêu cầu Hủy bỏ yêu cầu Tạo thẻ Thông báo chấp nhận Gửi thẻ đến NSD Thông báo hủy y/c Có Ko Y/c hợp lệ? Kết thúc Bắt đầu

72

2.3 Các nghiên cứu liên quan

Trong [1], một hệ hình thức về hành động dựa trên logic vị từ và logic thời gian đã được giới thiệu. Hệ hình thức này được xây dựng nhằm hai mục tiêu. Mục tiêu thứ nhất là nâng cao khả năng biểu diễn của các lý thuyết về hành động trước đó nhằm giúp định nghĩa các ý nghĩa của các câu tiếng Anh mô tả các hành động. Mục tiêu thứ hai nhằm đề xuất một biểu diễn hữu dụng cho việc suy diễn hành động để hỗ trợ việc giải quyết các bài toán. Trong hệ hình thức này, một kế hoạch được mô hình hóa như một hợp thành của hai tập hợp hành động: TO-DO là tập hợp hành động mà kế hoạch phải thực hiện và NOT-TO-DO là tập hợp hành động mà kế hoạch không phải thực hiện. Nghiên cứu của luận án về mô hình kế hoạch lại không theo cách tiếp cận logic như trên, luận án chọn tiếp cận ngôn ngữ luồng công việc. Có hai lý do cho sự lựa chọn này:

Thứ nhất, khái niệm kế hoạch trong luận án rộng hơn khái niệm kế hoạch được dùng trong Lý thuyết Hoạt động. Trong khi kế hoạch được dùng trong Lý thuyết Hoạt động chỉ là tập các hành động, trong kế hoạch được đề xuất trong luận án còn thêm ba thành phần: Đối tượng, Chủ thể, Công cụ. Hơn nữa, các thành phần này lại luôn biến đổi trong các kế hoạch, không cố định (do các quá trình chi tiết hóa và khái quát hóa các kế hoạch). Chính đặc điểm này làm cho việc sử dụng logic để biểu diễn sẽ không dễ dàng và thuận lợi.

Thứ hai, khung kế hoạch được nghiên cứu đề xuất trong luận án hướng đến việc hỗ trợ các kế hoạch lớn và phức tạp. Điều này đòi hỏi có những công cụ biểu diễn cho các kế hoạch một cách trực quan và rõ ràng, nhằm giảm thiểu các hiểu nhầm hoặc thậm chí hiểu sai các nội dung trong kế hoạch. Thực tế cho thấy việc sử dụng logic rất khó đạt được yêu cầu này, trong khi các ngôn ngữ luồng công việc hỗ trợ khả năng này rất tốt.

Ngoài ra, các kỹ thuật luồng công việc cũng có nhiều hỗ trợ trong việc chuyển đổi kế hoạch, thực thi các kế hoạch trong các môi trường tính toán.

Trong [89] và [19], vai trò của kế hoạch trong các hoạt động và mối quan hệ giữa kế hoạch và hành động cũng đã được nghiên cứu và trình bày. Tuy nhiên, các nghiên cứu này vẫn thiếu một hệ hình thức cho lý thuyết hoạt động và cũng chưa sử dụng cách tiếp cận luồng công việc như trong luận án.

Trong [50], các tác giả cũng đề xuất một khung dựa trên lý thuyết hoạt động và nhằm hỗ trợ việc thiết kế các môi trường học có tính xây dựng (Constructivist Learning Environments). Tuy nhiên, khung này chưa đưa ra cách mô tả việc xây dựng các môi trường đó và cũng không hỗ trợ việc xây dựng các kế hoạch hành động.

Trong [22] [21], một khung có tên gọi Tính toán dựa trên hoạt động (Activity-Based Computing) đã được đề xuất nhằm hỗ trợ các hoạt động, nhất là các hoạt động có yêu cầu cao về tính di động, khả năng cộng tác và có tính khẩn cấp, như trong các hoạt động điều trị y tế. Thực thể cơ bản nhất của khung là hoạt động tính toán (computational activity), là một sự kết hợp của các dịch vụ, tài nguyên, công cụ và người dùng có liên quan mật thiết đến một hoạt động nào đó. Khung cũng cung cấp một hạ tầng (infrastructure) có tên gọi Hạ tầng

73

tính toán dựa trên hoạt động với mục đích hỗ trợ người dùng quản lý các hoạt động tính toán. Nghiên cứu của luận án tuy cùng chia sẻ ý tưởng với các nghiên cứu này về việc sử dụng tiếp cận Lý thuyết Hoạt động, nhưng lại đi theo một cách tiếp cận khác là sử dụng các kỹ thuật luồng công việc trong việc biểu diễn các kế hoạch hành động.

KẾT LUẬN CHƯƠNG

Trong chương này, dựa trên tiếp cận của Lý thuyết Hoạt động, mô hình về kế hoạch đã đưa ra [15]. Mô hình giúp làm rõ hơn nhiều khái niệm liên quan đến kế hoạch như hoạt động, hành động, tính khả thi, v.v. Luận án đề xuất vai trò của ngôn ngữ luồng công việc trong việc biểu diễn kế hoạch và kết hợp chúng trong mô hình. Từ mô hình này, các yêu cầu của một khung hỗ trợ kế hoạch cũng được phác họa. Việc thiết kế chi tiết và cài đặt cho khung sẽ được trình bày trong các chương tiếp theo.

Có thể thấy, việc xây dựng một bản kế hoạch là xuất phát từ một hoạt động gốc, sau đó các hoạt động mới xác định khả thi các hoạt động hiện có sẽ được phát hiện và bổ sung thêm vào kế hoạch. Các hoạt động mới càng được bổ sung, kế hoạch càng chi tiết hơn và tính khả thi cũng tăng lên, vì khả năng tìm được đường dẫn khả thi cũng nhiều lên. Quá trình xây dựng kế hoạch như thế này cũng được gọi là làm mịn kế hoạch. Tuy nhiên, nếu chỉ dựa vào các định nghĩa và tính chất của phụ thuộc khả thi để xác định các hoạt động mới thì dường như không dễ dàng đối với người dùng thông thường. Khó khăn này cần được khắc phục bằng cách tiếp cận khác, thân thiện hơn với người dùng.

Hơn nữa, mặc dù việc biểu diễn hoạt động tập thể bằng ngôn ngữ BPMN giúp làm rõ hơn logic của nó, nhất là quan hệ giữa các hoạt động con của hoạt động, nhưng vẫn chưa đủ để xác định được tính khả thi của hoạt động. Vì tính khả thi của một hoạt động phải được kiểm chứng qua việc thực thi trên một môi trường tính toán nào đó. Trong khi đó, ngôn ngữ

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 65 - 80)