MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
DANH MỤC CHỮ VIẾT TẮT
DANH MỤC BẢNG
DANH MỤC HÌNH VẼ
MỞ ĐẦU
CHƯƠNG 1: TỔNG QUAN ................................................................................................. 16
1.1 Các kiến thức nền tảng liên quan đến kế hoạch và cộng tác ....................................... 16
1.1.1 Các cơ chế phối hợp ............................................................................................. 16
1.1.2 Lý thuyết Hoạt động ............................................................................................. 17
1.1.3 Biểu diễn hoạt động bằng ngôn ngữ luồng công việc .......................................... 22
1.2 Tính toán lưới .............................................................................................................. 23
1.2.1 Sơ lược lịch sử phát triển ...................................................................................... 23
1.2.2 Các kiến trúc lưới ................................................................................................. 24
1.2.3 Hạ tầng lưới .......................................................................................................... 27
1.3 Khung lưới cộng tác .................................................................................................... 29
1.3.1 Khung cộng tác ..................................................................................................... 29
1.3.2 Các khung lưới cộng tác không có hỗ trợ ngôn ngữ luồng công việc .................. 31
1.3.3 Các khung lưới cộng tác có hỗ trợ ngôn ngữ luồng công việc ............................. 33
1.4 Các giải pháp thực thi kế hoạch trên lưới .................................................................... 34
1.5 Quá trình khai thác tiến trình BPEL ............................................................................ 35
1.6 Vấn đề còn tồn tại và tiếp cận ..................................................................................... 36
1.6.1 Vấn đề còn tồn tại ................................................................................................. 36
1.6.2 Tiếp cận ................................................................................................................ 38
CHƯƠNG 2: MÔ HÌNH KẾ HOẠCH VÀ KHUNG CỘNG TÁC ĐA DỤNG ................... 39
2.1 Mô hình kế hoạch ........................................................................................................ 39
2.1.1 Các khái niệm cơ bản ........................................................................................... 39
2.1.2 Các trạng thái của hoạt động ................................................................................ 48
2.1.3 Phụ thuộc khả thi .................................................................................................. 50
2.1.4 Kế hoạch ............................................................................................................... 53
2.2 Khung cộng tác đa dụng .............................................................................................. 64
1
2.2.1 Các yêu cầu đối với khung cộng tác đa dụng ....................................................... 64
2.2.2 Mô tả các hoạt động.............................................................................................. 65
2.3 Các nghiên cứu liên quan ............................................................................................ 72
CHƯƠNG 3: LÀM MỊN KẾ HOẠCH ................................................................................. 74
3.1 Chi tiết hóa kế hoạch ................................................................................................... 74
3.1.1 Bổ sung chi tiết ..................................................................................................... 76
3.1.2 Phân tách .............................................................................................................. 77
3.1.3 Mối quan hệ giữa chi tiết hóa và phụ thuộc khả thi ............................................. 78
3.2 Tăng cường tính khả thi của hoạt động ....................................................................... 78
3.2.1 Các kỹ thuật chuyển đổi ....................................................................................... 78
3.2.2 Các hạn chế tồn tại................................................................................................ 85
3.2.3 Giải thuật phát hiện mẫu có cấu trúc đầy đủ ........................................................ 86
3.2.4 Giải thuật xây dựng các mẫu có cấu trúc đầy đủ .................................................. 91
3.2.5 Các nghiên cứu liên quan ..................................................................................... 96
CHƯƠNG 4: THIẾT KẾ VÀ CÀI ĐẶT KHUNG LƯỚI CỘNG TÁC ĐA DỤNG ............ 98
4.1 Các yêu cầu của khung ................................................................................................ 98
4.2 Thiết kế khung ............................................................................................................. 99
4.2.1 Kiến trúc khung .................................................................................................... 99
4.2.2 Thiết kế modul .................................................................................................... 101
4.2.3 Kết luận phần thiết kế ......................................................................................... 104
4.3 Cài đặt khung ............................................................................................................. 104
4.3.1 Giải pháp gọi dịch vụ lưới từ tiến trình BPEL ................................................... 104
4.3.2 Mở rộng mô hình điều khiển truy nhập dựa trên thuộc tính cho các hệ thống
luồng công việc cho môi trường lưới .......................................................................... 115
4.3.3 Giải pháp tự động hóa quá trình khai thác tiến trình BPEL ............................... 126
KẾT LUẬN ......................................................................................................................... 133
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ
TÀI LIỆU THAM KHẢO
PHỤ LỤC
2
DANH MỤC HÌNH VẼ
Hình 1-1: Sơ đồ một hoạt động............................................................................................. 18
Hình 1-2: Sự chuyển đổi giữa các mức của hoạt động. ........................................................ 19
Hình 1-3: Hai loại hoạt động tập thể. .................................................................................. 20
Hình 1-4: Các mức cộng tác trong các hoạt động tập thể.................................................... 21
Hình 1-5: Kiến trúc lưới. ...................................................................................................... 24
Hình 1-6: Kiến trúc Dịch Vụ lưới Mở (OGSA). .................................................................... 26
Hình 1-7: Cấu trúc của tổ chức ảo (Virtual Organization). ................................................. 26
Hình 1-8: Quan hệ giữa OGSA và Globus Toolkit 4. ........................................................... 28
Hình 2-1: Cấu trúc của một hoạt động đơn ......................................................................... 40
Hình 2-2: Góc nhìn chức năng của một hoạt động đơn A(S,T,O) ........................................ 41
Hình 2-3: Biểu diễn một hoạt động đơn............................................................................... 41
Hình 2-4: Các tình huống cho common-in(A1, A2). .............................................................. 43
Hình 2-5: Các tình huống cho in-out (A1, A2). ...................................................................... 43
Hình 2-6: Ví dụ về biểu diễn đường dẫn path(A1, A2). ......................................................... 44
Hình 2-7: Các thành phần của hoạt động “Học một chủ đề”. ............................................. 44
Hình 2-8: Các thành phần của hoạt động “Dạy học cho nhóm”. ........................................ 45
Hình 2-9: Hoạt động tập thể "Học một chủ đề". .................................................................. 46
Hình 2-10: Hoạt động tập thể chỉnh. .................................................................................... 46
Hình 2-11: Hoạt động Xử lý yêu cầu làm thẻ tín dụng. ........................................................ 47
Hình 2-12: Các cặp hoạt động tương đương. ....................................................................... 49
Hình 2-13: Biểu diễn cho một kế hoạch. ............................................................................... 54
Hình 2-14: Biểu diễn kế hoạch khả thi bằng đồ thị VÀ/HOẶC. ........................................... 55
Hình 2-15: Biểu diễn kế hoạch không khả thi. ...................................................................... 55
Hình 2-16: Biểu diễn kế hoạch không khả thi bằng đồ thị VÀ/HOẶC.................................. 56
Hình 2-17: Kế hoạch cho việc xây dựng giải thuật sắp xếp. ................................................ 57
Hình 2-18: Kế hoạch cho việc xây dựng Dịch vụ lưới của giải thuật sắp xếp. .................... 58
Hình 2-19: Đường dẫn khả thi (biểu diễn bằng nét đứt). ..................................................... 59
Hình 2-20: Đường dẫn không khả thi (biểu diễn bằng nét đứt). .......................................... 59
Hình 2-21: Đường dẫn khả thi thứ nhất cho Kế hoạch sắp xếp. ......................................... 60
Hình 2-22: Đường dẫn khả thi thứ hai cho Kế hoạch sắp xếp. ............................................ 60
Hình 2-23: Tổng quan về khung cộng tác đa dụng ............................................................... 65
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). ............................................................................................................. 71
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). .................................................................................................................... 71
Hình 3-1: Phân cấp khối cấu trúc của một tiến trình ........................................................... 80
Hình 3-2: Ánh xạ của một số mẫu......................................................................................... 81
Hình 3-3: Một sơ đồ tiến trình nghiệp vụ với các khối cấu trúc CAB .................................. 82
Hình 3-4: Mẫu Sequence....................................................................................................... 83
Hình 3-5: Mẫu Flow ............................................................................................................. 83
Hình 3-6: Mẫu Switch ........................................................................................................... 83
Hình 3-7: Mẫu Pick............................................................................................................... 84
3
Hình 3-8: Mẫu While ............................................................................................................ 84
Hình 3-9: Rút gọn của hai “AND fork gateways” nối với nhau. .......................................... 84
Hình 3-10: Rút gọn của hai “AND join gateways” nối với nhau ......................................... 85
Hình 3-11: Rút gọn của hai AND gateways khác nhau nối với nhau (AND fork nối với AND
join)........................................................................................................................................ 85
Hình 3-12 : Tiến trình BPMN. .............................................................................................. 92
Hình 3-13: Đồ thị biểu diễn tiến trình BPMN và kết quả của phép duyệt theo chiều sâu
(DFS). Ở bước 1, DFS được sử dụng để phát hiện các vùng chu trình và vùng bất chu trình.
............................................................................................................................................... 93
Hình 3-14: Các vùng đã phát hiện được sau bước 1. Ở đây phát hiện được ba vùng: R2 là
vùng chu trình, còn R1 và R3 là hai vùng bất chu trình. ....................................................... 93
Hình 3-15: Các vùng đã phát hiện được sau bước 2 (một số nhãn cho các nút từ các hình
trước đã cố tình được bỏ bớt từ hình này trở đi nhằm làm cho các hình vẽ đỡ rắc rối hơn) 94
Hình 3-16: Vùng cuối cùng được trả về R sau các bước cuối 3, 4 và 5 ............................... 94
Hình 4-1: Kiến trúc khung lưới cộng tác. ............................................................................. 99
Hình 4-2: Cấu trúc các modul của khung. .......................................................................... 103
Hình 4-3: Sơ đồ của tiến trình BPEL Test-Factory GS-V2 ................................................ 105
Hình 4-4: Lược đồ tuần tự của hai handler. ....................................................................... 111
Hình 4-5: Tiến trình BPEL thử nghiệm............................................................................... 113
Hình 4-6: Kết quả chạy tiến trình BPEL............................................................................. 113
Hình 4-7: Luồng công việc cho tiến trình xử lý việc nộp bài cho hội nghị. ....................... 121
Hình 4-8: Thiết kế chi tiết mô hình CABAC........................................................................ 122
Hình 4-9: Chức năng chính của công cụ ............................................................................ 127
Hình 4-10: Các bước thực hiện của công cụ ...................................................................... 128
Hình 4-11: Cấu trúc của tệp deploy.xml ............................................................................. 128
Hình 4-12: Cấu trúc của các tệp ví dụ. ............................................................................... 130
Hình 4-13: Workflow của tiến trình trong ví dụ. ................................................................ 130
Hình 4-14: Tệp deploy.xml đã được tạo ra sau khi công cụ được chạy ............................. 131
Hình 4-15: Kết quả chạy ví dụ bằng công cụ soapUI. ....................................................... 131
4
DANH MỤC BẢNG
Bảng 2-1: Bảng giá trị cho hàm AND ................................................................................... 50
Bảng 2-2: Một số kiểu dữ liệu và hàm phụ cho giải thuật 2-1.............................................. 63
Bảng 2-3: Cấu trúc của một đặc tả hoạt động ...................................................................... 66
Bảng 2-4: Đặc tả hoạt động cho hoạt động Học một chủ đề ............................................... 67
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. ......................... 69
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). ...................... 70
Bảng 4-1: Ánh xạ các khối chức năng vào các modul hệ thống. ........................................ 102
Bảng 4-2: Các hàm tiện ích được sử dụng trong CABAC ................................................. 120
Bảng 4-3: Biểu diễn các quy tắc trong Ví dụ 4-3 ............................................................... 120
Bảng 4-4: Một số quy tắc truy nhập cho Ví dụ 4-4 ............................................................. 122
Bảng 4-5: Ý nghĩa của các luồng dữ liệu trong Hình 4-8. .................................................. 123
Bảng 4-6: So sánh các tính năng của mô hình CABAC và các mô hình khác. ................... 126
5
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các kết quả trong
luận án là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác.
Hà nội, ngày
Giáo viên hướng dẫn
tháng
năm 2015
Tác giả
TS. Nguyễn Hữu Đức
Nguyễn Thanh Bình
GS. TS. Nguyễn Thanh Thủy
6
DANH MỤC CHỮ VIẾT TẮT
Tên viết tắt
Tên đầy đủ
Ý nghĩa
ABAC
Attribute-Based Access Mô hình điều khiển truy nhập dựa trên thuộc
Control
tính.
AT
Activity Theory
Axis
Apache
eXtensible SOAP engine và công cụ phần sụn của dịch vụ
Interaction System
Web (Web Service middleware tool). Phiên bản
2 của nó có tên gọi Axis2 [4] có nhiều cải tiến
quan trọng so với phiên bản trước.
BPEL
Business
Process Ngôn ngữ luồng công việc cho phép biểu diễn
Execution Language
các tiến trình nghiệp vụ ở nhiều mức, nhất là ở
mức thấp mà có thể được thực thi tự động.
BPMN
Business
Modeling
(Version 1)
CDG
Collaborative
Grid
Lý thuyết Hoạt động: là một lý thuyết đã có một
lịch sử khá dài (ra đời từ những năm 19201930.) với khởi đầu là các nghiên cứu của ba
nhà nghiên cứu theo trường phái lịch sử văn hóa
(cultural-historical school) của ngành tâm lý học
Nga là L. S. Vygotsky, A. N. Leont'ev và A. R.
Luria. Lý thuyết này được đưa ra nhằm giải
thích các trạng thái tâm lý của con người thông
qua các hoạt động có chủ đích của họ.
Process Ngôn ngữ luồng công việc cho phép mô hình
Notation hóa các tiến trình nghiệp vụ ở mức cao (mức
phân tích và thiết kế nghiệp vụ). Nó bao gồm sơ
Business Process Model đồ (biểu diễn hướng người dùng), và văn bản
& Notation (Version 2) (để lưu trữ và xử lý tự động, sử dụng ngôn ngữ
XML).
Design Là một khung (phân hệ) nhằm giải quyết hai
vấn đề trong thiết kế cộng tác: chia sẻ tài
nguyên và cộng tác phân tán về mặt địa lý. Kiến
trúc này chủ yếu dựa trên OGSA, và được cài
đặt bằng các dịch vụ lưới trong Globus Tookit 3,
với ba công nghệ chính: Thiết kế Cộng tác có
trợ giúp của Máy tính (CSCD - Computer
Supported Collaborative Design), tính toán lưới
và cổng thông tin Web (Web portal).
7
CSCW
Computer
Supported Công việc cộng tác có trợ giúp của máy tính.
Collaborative Work
ĐKTN
Điều khiển truy nhập
Cụm từ viết tắt này được sử dụng ở phần 4.2.2
khi nói về các mô hình điều khiển truy nhập.
EPR
EndPoint Reference
Tham chiếu Điểm cuối: là sự kết hợp giữa địa
chỉ dịch vụ lưới và tài nguyên tương ứng.
GC
Grid Computing
Tính toán lưới.
GCF-MD
Grid-based
Khung lưới cộng tác cho các thiết bị di động: là
Collaborative
nền tảng cho phép các thiết bị di động có thể
Framework for Mobile cộng tác với nhau để giải quyết các bài toán có
Devices
khối lượng tính toán lớn
G-ODE
Grid
Orchestration BPEL engine được luận án phát triển dựa trên
Director Engine
ODE engine của Apache nhằm cung cấp thêm
khả năng gọi dịch vụ lưới.
GS
Grid Services
MAC
Mandatory
Control
ODE
Orchestration Director Một BPEL engine (module phần mềm giúp thực
Engine
thi các tệp BPEL) mã nguồn mở của Apache
[75].
OCGSA
Open
Collaborative Kiến trúc dịch vụ lưới cộng tác mở.
Grid
Service
Architecture
OGSA
Open Grid
Architecture
PTKT
Phụ Thuộc Khả Thi
RBAC
Role-Based
Control
SOA
Service
Architecture
SOAP
Simple Object Access Giao thức truy nhập đối tượng đơn giản.
Protocol
Dịch vụ lưới.
Access Điều khiển truy nhập bắt buộc. Bắt buộc
(mandatory) với nghĩa là các quyền truy nhập đã
bị quy định cứng bởi hệ thống, và nó không thể
bị thay đổi bởi người dùng hoặc bởi chương
trình của người dùng.
Services Kiến trúc dịch vụ lưới mở.
Phụ thuộc giữa các hoạt động, được định nghĩa
trong phần 2.1.3.
Access Mô hình điều khiển truy nhập dựa trên vai trò.
Oriented Kiến trúc Hướng Dịch vụ.
8
SPM
Standard
Models
Process Mô hình tiến trình chuẩn: là các sơ đồ khái quát
của các Ngôn ngữ tiến trình nghiệp vụ (Business
Process Languages) như BPMN và UML
(Unified Modeling Language).
VO
Virtual Organization
XACML
eXtensible
Control
Language
WF
Workflow
Luồng công việc
WS
Web Service
Dịch vụ Web.
WSRF
Web Service Resource Khung tài nguyên dịch vụ Web: một chuẩn mở
Framework
rộng cho dịch vụ Web (Web services) nhằm
quản lý các dịch vụ Web có trạng thái.
Tổ chức ảo.
Access Ngôn ngữ đánh dấu điều khiển truy nhâp mở
Markup rộng, được sử dụng để định nghĩa các quy tắc
truy nhập trong những hệ thống điều khiển truy
nhập dựa trên vai trò (RBAC), hay dựa trên
thuộc tính (ABAC).
9
LỜI CẢM ƠN
Luận án này là kết quả của một quá trình lao động khá lâu dài và vất vả, ngoài những
nỗ lực của bản thân tác giả, còn có sự giúp đỡ nhiệt tình của rất nhiều người. Qua đây, tác
giả xin trân trọng gửi những lời cảm ơn chân thành và sâu sắc nhất đến tất cả mọi người.
Đặt biệt, tác giả xin được bày tỏ lòng biết ơn sâu sắc đến những người Thầy hướng dẫn
của mình, trực tiếp hay gián tiếp, kể cả trong và ngoài nước, gồm các Thầy:
-
Giáo sư Nguyễn Thanh Thủy, trường Đại học Công nghệ, Đại học Quốc gia Hà
Nội,
Tiến sĩ Nguyễn Hữu Đức, trường Đại học Bách khoa Hà Nội,
Giáo sư Hoàng Bằng Đoàn, trường Đại học Công nghệ Sydney (UTS), Úc,
Giáo sư Tharam Dillon, trường Đại học Công nghệ Sydney (UTS), Úc,
Tiến sĩ George Feuerlicht, trường Đại học Công nghệ Sydney (UTS), Úc.
Tác giả cũng xin được bày tỏ sự cảm kích vô hạn đối với tất cả các Thầy, Cô giáo, nơi
tác giả được may mắn học tập và nghiên cứu tại Trường Đại Học Bách Khoa Hà Nội và
Trường Đại Học Công Nghệ Sydney (Úc).
Trong quá trình nghiên cứu, tác giả cũng may mắn được làm việc tại Trung Tâm Tính
Toán Hiệu Năng Cao, thuộc Viện Nghiên Cứu Quốc Tế về Khoa Học Tính Toán (ICSE),
Trường ĐHBK Hà Nội. Tại đây, tác giả đã nhận được sự giúp đỡ to lớn và nhiệt tình của rất
nhiều người trong Trung tâm, từ Thầy Nguyễn Hữu Đức Giám đốc Trung tâm, cho đến các
nhân viên và các sinh viên thực tập, trong đó đặc biệt là hai sinh viên Nguyễn Văn Cường
và Nguyễn Trường Minh, lớp KSTN K52, đã hỗ trợ tác giả trong một phần cài đặt công cụ
G-ODE.
Nhân đây, tác giả cũng xin được bày tỏ lời cảm ơn sâu sắc đến ban lãnh đạo và những
đồng nghiệp nơi tác giả đang công tác là Bộ môn Điện tử - Kỹ thuật máy tính, Viện Điện Tử
- Viễn Thông, Trường Đại Học Bách Khoa Hà Nội.
Và cuối cùng, tác giả xin bày tỏ lòng biết ơn sâu sắc đến toàn thể gia đình, bạn bè,
những người thân về sự giúp đỡ, động viên không ngừng, trong mọi hoàn cảnh dù khó khăn
đến đâu.
10
MỞ ĐẦU
Các hoạt động của con người, theo một cách đơn giản, có thể được chia thành hai loại:
hoạt động cá nhân và hoạt động tập thể. Trong hoạt động tập thể, có sự tham gia của nhiều
người để hoàn thành một mục tiêu nào đó, cần có các biện pháp thích hợp để phối hợp công
việc của các thành viên, sao cho cuối cùng tập thể đó có thể hoàn thành được mục tiêu đề ra.
Tùy theo lĩnh vực hoạt động, cách thức tổ chức và mục tiêu của hoạt động, có thể tồn tại các
biện pháp phối hợp khác nhau với các tên gọi khác nhau như: cơ chế điều phối, công cụ
cộng tác, bộ lập lịch, v.v. Trước đây, đối với các hệ thống thông tin nhằm quản lý các hoạt
động nghiệp vụ tập thể, các cơ chế cộng tác thường được thiết kế và cài đặt như là một bộ
phận không thể tách rời của qui trình nghiệp vụ. Thậm chí, hoạt động cộng tác thường chỉ
được xem như một bước tất yếu trong toàn bộ qui trình nghiệp vụ, chứ chưa được xem như
một đối tượng độc lập để có thể được tái sử dụng nhiều lần. Nói cách khác, vấn đề hỗ trợ
cộng tác chưa được giải quyết trực tiếp và có hệ thống. Đối với các hệ thống quy mô nhỏ
với số lượng người dùng tương đối ít và số lượng thông tin phụ thuộc cần trao đổi không
nhiều, vấn đề này có thể dễ dàng được giải quyết. Tuy nhiên, với những hệ thống lớn từ
hàng chục đến hàng trăm người sử dụng trở lên, số lượng dữ liệu phụ thuộc, cũng như tính
chất các mối quan hệ giữa những người dùng cũng nhiều và phức tạp, vấn đề cộng tác trở
nên không đơn giản. Điều này đặt ra nhiệm vụ phải giải quyết vấn đề cộng tác một cách bài
bản, để từ đó có thể xây dựng những công cụ cộng tác đa dụng, mềm dẻo và hiệu quả.
Cho đến nay, trong lĩnh vực nghiên cứu về vấn đề cộng tác, có một số nền tảng lý
thuyết đã được phát triển như: Coordination Mechanisms [24] (Cơ chế Điều phối) và
Common Artifacts [66] (Các công cụ thông dụng) và Activity Theory [58] [20] (Lý thuyết
Hoạt động). Trong số này, Lý thuyết Hoạt động, mặc dù ra đời sớm nhất và trọng tâm
nghiên cứu không phải là sự cộng tác, nhưng trong thời gian gần đây, lý thuyết này đã thu
hút được nhiều sự chú ý từ một số lĩnh vực nghiên cứu liên quan đến khả năng cộng tác
như: Tương tác Người-Máy (human-computer interaction) [51], Công việc cộng tác có trợ
giúp của máy tính (Computer Supported Collaborative Work) [20]. Có thể đưa ra một số lý
giải cho vấn đề này. Đầu tiên, lý thuyết này cho một cài nhìn toàn diện về hoạt động, nhất là
các hoạt động tập thể cần có sự cộng tác. Thứ hai, nó đã giải thích một cách rõ ràng bản chất
của cộng tác trong các hoạt động có tính cộng tác và từ đó, các cơ chế cộng tác và điều phối
cần thiết có thể được mô hình hóa, thiết kế và cài đặt. Tuy nhiên, cho đến nay, dường như lý
thuyết này vẫn thiếu sự mô tả hình thức cho các khái niệm đưa ra. Điều này dẫn đến một số
vấn đề: (1) không rõ ràng trong các khái niệm trừu tượng (như hoạt động (activity), hành
động (action), kế hoạch (plan),v.v); (2) một số vấn đề còn mở liên quan đến cách biểu diễn
hoạt động, quan hệ giữa hoạt động và kế hoạch hành động, v.v chưa có câu trả lời thỏa
11
đáng. Điều này làm hạn chế khả năng phát triển và ứng dụng của lý thuyết hoạt động trong
thực tế.
Theo nghĩa thông thường, sự cộng tác được hiểu là khi có hai hay nhiều chủ thể (có thể
là con người hoặc máy tính) phối hợp với nhau để thực hiện một mục tiêu chung nào đó.
Nguồn gốc của mọi sự cộng tác là ở sự phân chia công việc, thường được mô tả dưới dạng
một kế hoạch (trong thực tiễn, kế hoạch có thể tường minh dưới dạng một bản hợp đồng có
chữ ký của các bên tham gia, nhưng cũng có thể chỉ là ngầm định như phân công bằng
miệng rồi mọi người tự giác thực hiện). Kế hoạch đó sẽ quyết định cách thức và các công cụ
cộng tác cần thiết cho các thành viên. Khi kế hoạch có sự thay đổi sẽ dẫn đến sự thay đổi
trong việc cộng tác. Do đó, việc quản lý tốt kế hoạch sẽ giúp phát hiện và quản lý sự cộng
tác tốt hơn. Tìm hiểu bản chất kế hoạch hành động, ta thấy có nhiều điểm tiếp cận tương
đồng như trong lý thuyết hoạt động. Lý thuyết này tỏ ra rất thích hợp cho việc giải thích quá
trình lập kế hoạch, cũng như các loại hình cộng tác dựa trên kế hoạch.
Từ những phân tích trên, có thể nhận thấy cần phải mô tả hình thức các khía cạnh trong
lý thuyết hoạt động, làm rõ hơn bản chất và nguồn gốc của sự cộng tác, để từ đó giúp cho
việc biểu diễn và quản lý sự cộng tác trong thực tế được đầy đủ và hiệu quả hơn. Hệ hình
thức dự định xây dựng trong luận án có tên gọi Mô hình Kế hoạch, góp phần trả lời các câu
hỏi sau:
1. Kế hoạch là gì? Cần hiểu rõ ràng kế hoạch thông qua cấu trúc và vai trò trong các
hoạt động.
2. Mối quan hệ giữa kế hoạch và các hành động (action) để thực thi kế hoạch đó? Mỗi
kế hoạch cần có các hành động tương ứng nhằm thực thi mục tiêu của kế hoạch đó.
Một mặt, kế hoạch giúp cho chủ thể thực thi kế hoạch biết trước các hành động cần
tiến hành, cũng như thứ tự của chúng. Mặt khác, thông qua quá trình thực thi các
hành động, cùng với các kết quả thu được trong quá trình đó, cũng có thể giúp cho
việc điều chỉnh và hoàn thiện thêm kế hoạch. Tuy nhiên, quá trình chuyển đổi từ kế
hoạch sang hành động và ngược lại chưa được biểu diễn một cách rõ ràng. Ví dụ như
sự khác nhau giữa kế hoạch và hành động tương ứng thực sự là gì và khi nào có sự
chuyển đổi từ kế hoạch sang hành động và nó diễn ra thế nào v.v.
3. Mối quan hệ giữa các kế hoạch trong cùng một hoạt động là gì? Để hoàn thành một
mục tiêu nào đó, một hoạt động không chỉ có một bản kế hoạch, nhất là trong các
tình huống chưa biết rõ, nhằm chuẩn bị tốt nhất ứng phó với các khả năng có thể xảy
ra. Ngoài ra, đối với các hoạt động có nhiều mục tiêu, từ một kế hoạch ban đầu đạt
mục tiêu tổng thể sẽ được chia thành các kế hoạch con, đáp ứng các mục tiêu bộ
phận. Vấn đề là biểu diễn quan hệ giữa các kế hoạch này như thế nào?
4. Khung cộng tác cần phải bao quát các kế hoạch và các hành động tương ứng như
thế nào? Để quản lý và tái sử dụng các cơ chế cộng tác này, cần phát triển các công
cụ hỗ trợ cộng tác, gọi là khung cộng tác (collaborative framework) để có thể dễ
dàng tích hợp vào các hệ thống khác nhau. Do vậy, cần phải xác định các chức năng
và từ đó thiết kế cấu trúc của một khung cộng tác tương ứng. Thông thường, một
khung công tác cần có tối thiểu các chức năng như: mô tả các kế hoạch, mô tả hành
12
động, tạo các kế hoạch, bổ sung hành động mới, thực thi các hành động trong một
môi trường cụ thể.
Để đánh giá tính khả thi của Mô hình Kế hoạch, luận án bước đầu triển khai thực
nghiệm trong Môi trường Tính toán lưới với việc thiết kế cài đặt một hệ thống hỗ trợ xây
dựng và quản lý các kế hoạch thực thi trên lưới, gọi là khung lưới cộng tác đa dụng (multipurpose collaborative grid framework). Có hai lý do giải thích sự chọn này trong luận án:
-
-
Thứ nhất: Đó là cần một môi trường tính toán phù hợp để triển khai thực nghiệmvà
đánh giá tính thực tiễn của Mô hình Kế hoạch. Hạ tầng Tính toán lưới được xây
dựng theo kiến trúc mở, hướng dịch vụ quản lý tài nguyên không đồng nhất và phân
tán, rất phù hợp để triển khai khung cộng tác, vì đây là một hệ thống đòi hỏi việc
quản lý nhiều người dùng và thường sử dụng các loại tài nguyên khác nhau.
Thứ hai: Tính toán lưới đang là một lĩnh vực nghiên cứu và phát triển nhanh chóng,
với mục tiêu tạo ra một hạ tầng hỗ trợ việc chia sẻ tài nguyên có sự phối hợp trong
các tổ chức động và liên ngành (còn gọi là tổ chức ảo) [52]. Mặc dù hạ tầng này hiện
nay đang phát triển khá nhanh nhưng vẫn còn thiếu khả năng hỗ trợ việc xây dựng
các ứng dụng có tính cộng tác. Thời gian gần đây, đã có một số nghiên cứu được
thực hiện nhằm phát triển các khung lưới cộng tác như GridCole [67],
QuarkNet/Grid [62], Collaborative Design Grid [106], Grid-based Cooperative
Work Framework (GCWF) [105]. Tuy nhiên, khả năng hỗ trợ kế hoạch của các hệ
thống này còn rất hạn chế (chi tiết về các hạn chế của các hệ thống cộng tác lưới này
sẽ được phân tích chi tiết hơn trong Chương 1). Vì vậy, nghiên cứu của luận án hy
vọng góp phần xây dựng khung lưới cộng tác, giúp khắc phục được phần nào các
hạn chế trong tính toán lưới thông thường.
Mục đích và đối tượng nghiên cứu của luận án:
Mục đích nghiên cứu: Nghiên cứu trong luận án nhằm xác định rõ các hạn chế về khả
năng hỗ trợ các ứng dụng cộng tác trong môi trường lưới hiện tại, từ đó đề xuất các giải
pháp phù hợp, có thể giải quyết các hạn chế đó.
Đối tượng nghiên cứu: Đối tượng nghiên cứu chính của luận án là các khung có khả
năng hỗ trợ các nhu cầu cộng tác trong môi trường tính toán lưới. Ngoài ra, do môi trường
tính toán lưới có cấu trúc khá phức tạp với nhiều thành phần, nên nghiên cứu trong luận án
dựa trên cơ sở lý luận lý thuyết hoạt động, luồng công việc (workflow), các mô hình điều
khiển truy nhập, v.v.
Phương pháp nghiên cứu
Một số phương pháp nghiên cứu, được áp dụng trong luận án, bao gồm:
-
Phân tích thực tế: từ việc tìm hiểu và phân tích các hệ thống và lý thuyết hiện tại liên
quan (như các khung lưới hiện tại, các lý thuyết liên quan đến cộng tác,v.v) để hình
dung các vấn đề còn tồn tại, từ đó xác định cụ thể trọng tâm của đề tài nghiên cứu.
13
-
-
-
Phát triển lý thuyết-mô hình hóa: dựa trên tiếp cận lý thuyết hoạt động, luận án phát
triển mô hình hóa kế hoạch và quá trình lập kế hoạch, qua đó xác định tính khả thi
và không khả thi của kế hoạch.
Thực nghiệm: sử dụng mô hình đã được phát triển, luận án tiến hành thiết kế và cài
đặt một hệ thống gọi là khung lưới cộng tác đa dụng nhằm hiện thực hóa các ý tưởng
trong mô hình kế hoạch.
Đánh giá-so sánh: trong quá trình phát triển mô hình, triển khai thiết kế, cài đặt thực
tế, luận án tiến hành so sánh các kết quả nghiên cứu đạt được với các kết quả nghiên
cứu khác có liên quan, nhằm xác định rõ các ưu/nhược điểm của tiếp cận luận án,
qua đó xác định các vấn đề nghiên cứu tiếp theo.
Các kết quả nghiên cứu
Nghiên cứu của luận án hướng tới việc mô tả hình thức về Kế hoạch dựa trên tiếp cận
trong Lý thuyết Hoạt động, để từ đó phát triển mô hình kế hoạch và sự cộng tác, nhằm giải
quyết một số hạn chế trong cơ chế phối hợp. Sau đó, dựa trên mô hình, luận án sẽ xây dựng
một khung lưới cộng tác đa dụng cho phép khắc phục một số hạn chế về cộng tác của các hệ
thống lưới hiện tại. Hệ thống được đề xuất hỗ trợ khả năng lập kế hoạch, cũng như việc thực
hiện các công việc trong kế hoạch trên môi trường lưới. Với giải pháp này, luận án đã góp
phần nâng cao khả năng cộng tác của môi trường lưới hiện nay, phục vụ tốt cho các ứng
dụng có tính cộng tác cao trên lưới như điều trị y tế, quản trị doanh nghiệp,v,v.
Các nghiên cứu trong luận án đã đạt được các kết quả sau:
-
-
Về mặt lý thuyết: xây dựng một mô hình về cộng tác và khung cộng tác, cho phép
giải thích đầy đủ hơn bản chất của sự cộng tác và các loại hình cộng tác cần thiết
trong khung cộng tác.
Về mặt thực tiễn: phát triển khung cộng tác hoạt động trong môi trường tính toán
lưới, với các khả năng chính như sau:
Biểu diễn kế hoạch ở hai mức cơ bản: mức trực quan hướng người dùng,
được biểu diễn bằng ngôn ngữ luồng công việc hướng đồ thị như BPMN
(Business Process Model & Notation) [70] và mức thực thi (chi tiết hơn,
cho phép tự động thực thi kế hoạch trong một môi trường tính toán nào đó,
được biểu diễn bằng ngôn ngữ luồng công việc có cấu trúc như BPEL
(Business Process Execution Language) [33][68].
Chuyển đổi kế hoạch ở mức trực quan một cách bán tự động sang kế hoạch
ở mức thực thi.
Triển khai kế hoạch ở mức thực thi trong hai môi trường tính toán phân tán
phổ biến hiện nay: môi trường Web (thông qua việc gọi các Web services)
và môi trường lưới (thông qua việc gọi các Grid services).
Cấu trúc của luận án
Ngoài phần Mở đầu, Kết luận và Phụ lục, luận án gồm bốn chương với những nội dung
chính như sau:
14
-
-
-
-
Chương 1. Tổng quan: Trình bày các nghiên cứu liên quan đến chủ đề nghiên cứu
của luận án như: tiếp cận lý thuyết hoạt động, cơ chế cộng tác, cũng như các khung
lưới cộng tác, cùng với các hạn chế của chúng. Một số vấn đề khác liên quan đến
khung lưới, khai thác thủ công tiến trình BPEL trong môi trường ODE Engine của
Apache [75], cũng như các giải pháp mở rộng dịch vụ lưới trong tiến trình BPEL
cũng được đề cập.
Chương 2. Mô hình kế hoạch và khung cộng tác: trình bày về một hệ hình thức
(formalism) về cộng tác và khung cộng tác. Trong hệ hình thức này, luận án chỉ ra
lõi của cộng tác là kế hoạch. Do đó, khung hỗ trợ cộng tác cần phải quản lý được kế
hoạch.
Chương 3. Làm mịn kế hoạch: trình bày về các kỹ thuật giúp chuyển đổi kế hoạch
từ trực quan (trừu tượng) sang mức thực thi (chi tiết), nhằm làm tăng tính khả thi của
nó. Có hai cách tiếp cận giúp làm mịn kế hoạch: chi tiết hóa và chuyển đổi ngôn ngữ
luồng công việc biểu diễn cho hoạt động. Trong đó, các hoạt động cũng là một phần
chính của kế hoạch.
Chương 4. Thiết kế & Cài đặt khung lưới cộng tác: Chương này trình bày các kết
quả thiết kế và cài đặt cho khung cộng tác. Trong phần thiết kế, sẽ trình bày thiết kế
cấu trúc khung cộng tác, thiết kế mô hình an ninh cho khung cộng tác trong môi
trường lưới. Trong phần cài đặt sẽ trình bày các kết quả của một số cài đặt cho
khung cộng tác, như kỹ thuật tự động khai thác tiến trình BPEL trong môi trường
ODE, giải pháp gọi dịch vụ lưới từ tiến trình BPEL.
Ngoài ra, phần Kết luận sẽ tóm tắt lại các kết quả và đóng góp khoa học trong nghiên
cứu của luận án. Đồng thời, một số vấn đề còn tồn tại và một số hướng nghiên cứu tiếp theo
cũng đã được phát hiện.
Phần Phụ lục sẽ trình bày các kiến thức cơ bản liên quan: như tính toán lưới, kiến trúc
hướng dịch vụ (SOA), các lý thuyết cộng tác, một số ngôn ngữ luồng và ngôn ngữ đặc tả
các tiến trình nghiệp vụ (BPEL và BPMN), cũng như một số hệ thống hỗ trợ các ngôn ngữ
này.
15
CHƯƠNG 1: TỔNG QUAN
Chương này trình bày tóm tắt các cơ sở lý luận về kế hoạch, cộng tác và giới thiệu tổng
quan về các khung lưới cộng tác hiện có. Trên cơ sở đó, luận án chỉ ra những vấn đề cần
giải quyết và các giải pháp tương ứng.
1.1 Các kiến thức nền tảng liên quan đến kế hoạch và cộng tác
Phần này trình bày một số cơ sở lý luận liên quan đến cộng tác và kế hoạch, dựa trên đó
làm rõ hơn các hạn chế còn tồn tại, qua đó sẽ xác định cụ thể hơn các vấn đề được luận án
tập trung giải quyết.
1.1.1 Các cơ chế phối hợp
Các cơ chế phối hợp (Coordination Mechanisms), được đề xuất đầu tiên bởi Schmidt và
cộng sự [24]. Đây là một cách tiếp cận nhằm khái quát hóa các công cụ được dùng để kết
nối các hoạt động cộng tác. Do trong hoạt động cộng tác có sự tham gia của nhiều chủ thể
(có thể là con người hoặc máy móc), nên nó cần có các công cụ phù hợp để trợ giúp cho
việc chia sẻ, phối hợp giữa các chủ thể đó. Tổng quan về các cơ chế phối hợp này có thể
được tìm thấy trong [25]. Việc nghiên cứu và phát triển các cơ chế phối hợp hướng tới Công
việc cộng tác có trợ giúp của máy tính (Computer Supported Collaborative Work - CSCW)
[38].
Cơ chế phối hợp được định nghĩa trong [24] như sau:
"Cơ chế phối hợp có thể được định nghĩa như một giao thức (protocol), bao gồm tập
hợp các quy ước tường minh và các thủ tục được quy định trước. Nó được hỗ trợ bởi một
công cụ (artifact) riêng biệt với một định dạng tiêu chuẩn, quy định và cơ chế phân công
công việc phối hợp các hoạt động phân tán nhằm giảm thiểu độ phức tạp của việc phối
hợp."
Một cơ chế phối hợp gồm có hai thành phần:
-
-
Giao thức (protocol): là tập các thủ tục và quy ước nhằm quy định trách nhiệm của
các thành viên tham gia vào công việc cộng tác, cũng như trình tự sử dụng công cụ
giữa những thành viên đó.
Công cụ (artifact): được các thành viên sử dụng để hiện thực hóa giao thức. Công
cụ cần phải có khuôn dạng rõ ràng, để các thành viên tham gia công việc có thể
hiểu và sử dụng nhằm trao đổi thông tin cho nhau, theo cách thức được quy định
bởi giao thức trên.
Cũng trong [24], Schmidt và cộng sự chia công việc thành hai loại:
16
-
Công việc hợp tác (cooperative work): là công việc có sự tham gia của nhiều chủ
thể, nên cũng cần có sự phối hợp giữa những thành viên đó.
Công việc kết nối (articulation work): dùng để phối hợp công việc giữa các thành
viên tham gia công việc cộng tác, nhằm đảm bảo sự trao đổi, chuyển tiếp công việc
được diễn ra một cách chính xác và nhanh chóng. Một số công việc phổ biến thuộc
loại này như: lập lịch, lập kế hoạch, phân chia công việc và giám sát tiến độ,v.v.
Cách tiếp cận này, mặc dù đã xác định được vai trò và cấu trúc của các cơ chế phối hợp,
nhưng vẫn còn tồn tại một số hạn chế cơ bản như sau:
-
-
Thứ nhất: Việc phân chia công việc thành hai loại (công việc hợp tác và công việc
kết nối), như trong nghiên cứu [24], là không rõ ràng và chỉ mang tính tương đối.
Tùy vào ngữ cảnh, với cùng một công việc, có thể thuộc loại này hay loại kia. Ví
dụ, danh sách kiểm tra (check-list) là việc hợp tác được sử dụng phổ biến trong rất
nhiều ứng dụng, trong khi đó xây dựng danh sách kiểm tra lại là một công việc kết
nối. Khi công việc cần sự tham gia và phối hợp của nhiều thành viên, nó lại là một
công việc hợp tác. Trọng tâm của các cơ chế phối hợp là hỗ trợ cho các công việc
kết nối, nên việc phân định không rõ ràng hai loại công việc sẽ gây khó khăn cho
việc xác định một cơ chế phối hợp đúng và đầy đủ.
Thứ hai: Cách tiếp cận này chưa làm rõ được vai trò của kế hoạch trong các công
việc cộng tác. Đây là hệ quả của vấn đề thứ nhất, vì một kế hoạch dường như đóng
cả hai vai trò: vừa là một công việc kết nối, lại có thể vừa là công việc hợp tác. Khi
lên kế hoạch hoạt động cho một công việc nào đó, thông thường cần sự tham gia và
thống nhất của đa số các thành viên tham gia, nên có thể sẽ là một công việc hợp
tác. Nhưng đồng thời, sử dụng kế hoạch, các thành viên có thể phân chia và phối
hợp các hoạt động để thực thi và hoàn thành kế hoạch. Do đó, lập kế hoạch cũng lại
là một công việc kết nối.
Một trong những mục tiêu nghiên cứu của luận án là phát triển một mô hình cho phép
khắc phục những hạn chế trên, làm rõ vai trò của kế hoạch trong các hoạt động cộng tác. Mô
hình kế hoạch, được đề xuất trong luận án dựa trên tiếp cận Lý thuyết Hoạt động, cho phép
biểu diễn các kế hoạch với sự tham gia của các chủ thể thực hiện một số công việc (được
gọi là hoạt động). Để tránh gây nhầm lẫn, trong mô hình này các công việc được phân chia
theo một cách đơn giản và trực quan hơn: hoạt động đơn (có một chủ thể) và hoạt động tập
thể (có nhiều chủ thể). Mặc dù được phân chia đơn giản hơn, nhưng các hoạt động trong mô
hình này vẫn có thể biểu diễn được cả hai loại công việc như trong cách phân loại của
Schmidt và cộng sự [24]. Chi tiết về mô hình này sẽ được trình bày cụ thể trong Chương 2.
1.1.2 Lý thuyết Hoạt động
Giới thiệu
Lý thuyết hoạt động (Activity Theory) đã có một lịch sử khá dài với khởi đầu là các
nghiên cứu của ba nhà nghiên cứu theo trường phái lịch sử văn hóa (cultural-historical
school) của ngành tâm lý học Nga là L. S. Vygotsky, A. N. Leont'ev và A. R. Luria, trong
những năm 1920 và 1930. Tuy nhiên, cho đến gần đây, lý thuyết này lại thu hút được nhiều
17
sự chú ý trong một số lĩnh vực của công nghệ thông tin như giao tiếp người-máy (HumanComputer Interaction) [51], Công việc cộng tác có sự trợ giúp của máy tính (Computer
Supported Collaborative Work) [20].
Trong ngữ cảnh của công việc cộng tác, Lý thuyết Hoạt động giúp giải thích rõ ràng
hơn vai trò của việc lập kế hoạch công việc và mối quan hệ giữa việc lập kế hoạch công việc
và bản thân công việc. Trong một số lĩnh vực như y tế, nghiên cứu khoa học, v.v., kế hoạch
thực sự đóng vai trò trung tâm, bởi vì nếu không có kế hoạch, thì sẽ rất khó nhìn thấy được
mục tiêu của công việc và biết được bằng cách nào đạt được mục tiêu một cách hiệu quả.
Khái niệm hoạt động theo tiếp cận lý thuyết hoạt động
T
S
O
Hình 1-1: Sơ đồ một hoạt động.
Một hoạt động gồm có chủ thể S (subject), đối tượng O (object), còn được gọi là khách
thể mục tiêu và được trợ giúp trung gian bởi một công cụ T (tool) (xem Hình 1-1). Chủ thể
có thể là người hay máy tham gia vào hoạt động và định hướng hoạt động hướng đến đối
tượng. Một đối tượng có thể là một sản phẩm cụ thể nào đó, nhưng cũng có thể là một kế
hoạch, một ý tưởng được các chủ thể chia sẻ, các thao tác hay chuyển đổi [51]. Công cụ có
thể là một hệ thống máy tính, hay một ngôn ngữ. Hoạt động này được phân biệt với hoạt
động khác qua đối tượng, thể hiện mục tiêu của hoạt động. Đối tượng có quan hệ với động
cơ của hoạt động, do đó hoạt động của chủ thể sẽ tác động đến đối tượng.
Ví dụ 1-1: Hoạt động Đóng-Mới(Thợ mộc, Dụng cụ, Sản phẩm) biểu diễn một hoạt
động đóng mới một sản phẩm mộc, trong đó Chủ thể là Thợ mộc sẽ sử dụng Công cụ là các
Dụng cụ mộc như gỗ, cưa, bào, v.v để tạo ra đối tượng là một sản phẩm mới như cái bàn,
cái tủ, v.v.
Các đặc tính của Hoạt động
Mỗi hoạt động đều có ba đặc tính như sau:
-
-
Hướng đối tượng/mục tiêu: đối tượng của một hoạt động gắn chặt với động cơ/mục
tiêu của hoạt động đó. Mọi hoạt động đều có mục tiêu riêng, được biểu đạt tường
minh hoặc ngầm định.
Nhúng trong hoạt động tập thể: Theo Leont'ev [58] : “hoạt động của các cá nhân
nằm trong hệ thống các quan hệ xã hội và sẽ không tồn tại nếu không có các quan
hệ này”. Đặc tính này cung cấp một nền tảng quan trọng khi thảo luận về hoạt động
công việc cộng tác (cooperative work activity).
18
-
Có sự trợ giúp trung gian: bởi các công cụ:
Cho phép mở rộng chức năng của chủ thể.
Được phát triển trong quá trình thực thi hoạt động.
Cấu trúc của Hoạt động
Theo Leont'ev [58], hoạt động có ba mức phân cấp quan hệ với nhau về mặt chức năng:
hoạt động, hành động và thao tác với ý nghĩa như sau:
-
-
Hoạt động (activity): xác định các thành phần: chủ thể, đối tượng, động cơ và mục
đích, và các công cụ có vai trò trợ giúp trung gian.
Hành động (action): cho phép xác định cần phải làm gì để đạt được mục tiêu của
hoạt động. Hành động có thể hiểu là các tiến trình hướng mục đích được tiến hành
nhằm thu được các kết quả, phục vụ cho việc đạt được đối tượng mục tiêu của hoạt
động.
Thao tác (operation): là các tiến trình thực thi các hành động. Các thao tác cho
phép thực hiện một cách tự động các hoạt động.
Giảm tính động cơ
Hoạt động
Giảm tính khái quát
Hành động
Tăng tính động cơ
Thao tác
Tăng tính khái quát
Hình 1-2: Sự chuyển đổi giữa các mức của hoạt động.
Một điểm quan trọng là luôn có sự chuyển đổi giữa ba mức chức năng nêu trên (xem
Hình 1-2) [20]. Để thực hiện được mục tiêu của hoạt động cần có các hành động thích hợp.
Lý do phân chia các hoạt động thành các hành động xuất phát từ nhu cầu cần phân chia mục
tiêu của hoạt động (ban đầu còn khá lớn, trừu tượng) thành các mục tiêu nhỏ (cụ thể hơn) để
có thể phân bổ cho các chủ thể thích hợp. Mỗi hành động của hoạt động lại được chia nhỏ
thành dãy các thao tác tương ứng để hoàn thành được mục tiêu riêng của chủ thể. Ví dụ 1-2
sau đây sẽ minh họa rõ hơn các mức của hoạt động và sự chuyển đổi này.
Ví dụ 1-2: Hoạt động Sắp-xếp (Dịch vụ lưới, Dãy vào, Dãy ra) biểu diễn hành động cài
đặt một dịch vụ lưới (grid service), dưới dạng một modul chương trình chạy trên môi trường
lưới, có nhiệm vụ tiếp nhận một dãy vào (với vai trò như một công cụ) và tiến hành sắp xếp
nó để thu được dãy ra đã được sắp xếp. Dãy ra này đóng vai trò là mục tiêu của hoạt động.
Để thực hiện hoạt động này, cần một loạt các hành động trong quy trình cài đặt một dịch vụ
lưới như: phân tích các dữ liệu vào/ra, thiết kế giải thuật, cài đặt dịch vụ, v.v. Mỗi hành
động sẽ lại bao gồm một dãy các thao tác mà thường khá quen thuộc và thậm chí là đã được
chuẩn hóa. Ví dụ hành động phân tích dữ liệu bao gồm các thao tác như mô hình hóa dữ
liệu, xác định cấu trúc dữ liệu, v.v.
19
Có thể thấy việc phân chia thành ba mức như ở trên chỉ là tương đối. Điểm chính ở đây
là hoạt động có cấu trúc lồng – một hoạt động có thể chứa các hoạt động con. Các hoạt động
con này lại có thể được phân chia nhỏ, thành các hoạt động nhỏ hơn. Quá trình phân chia
này tiếp diễn cho đến khi các hoạt động đủ nhỏ và đủ chi tiết, để có thể được thực thi bởi
các chủ thể phù hợp. Đặc điểm này của hoạt động chưa được thể hiện rõ ràng trong Lý
thuyết Hoạt động. Hạn chế này cũng là một trong những vấn đề được giải quyết khi đề xuất
Mô hình Kế hoạch trong luận án.
Hoạt động tập thể phân tán (Distributed Collective Activity)
Do giới hạn nghiên cứu về công việc cộng tác, nên luận án quan tâm chủ yếu đến khía
cạnh cộng tác theo tiếp cận lý thuyết hoạt động, đã được nghiên cứu trong hoạt động tập thể
phân tán [32], [34]. Hoạt động tập thể là hoạt động có hai chủ thể trở lên (còn gọi là đồng
chủ thể), có các đối tượng chung và các tiến trình do các chủ thể thực hiện phải liên lạc và
điều phối với nhau.
Các chủ thể tham gia phải có mục tiêu chung, gắn kết với một đối tượng chung. Các
chủ thể phải hiểu các mục tiêu bộ phận chung của hành động và có các công cụ khác nhau
để đạt được các mục tiêu bộ phận này. Có hai loại hoạt động tập thể: hoạt động cộng tác
không có công cụ trợ giúp và hoạt động cần có công cụ trợ giúp (xem Hình 1-3) [20].
O
O
S1
S1
S2
S2
T
b. Hoạt động tập thể
có công cụ
a. Hoạt động tập thể
không có công cụ
Hình 1-3: Hai loại hoạt động tập thể.
Công cụ đóng vai trò cộng tác giữa các hành động trong hoạt động tập thể được gọi là
Công cụ cộng tác (Collaborative Artifact - CA) [20].
Trong các hoạt động tập thể, có ba mức cộng tác được tổ chức theo cấu trúc phân cấp
đã được xác định bởi Fichtner [34], Eugestrom [32], và Bardram [20] (xem Hình 1-4).
-
Hoạt động điều phối (Co-ordinated activity): đây là loại hoạt động có mức cộng tác
thấp nhất, các chủ thể làm việc và phối hợp theo một kịch bản đã xác định. Các chủ
20
- Xem thêm -