Đăng ký Đăng nhập
Trang chủ Khung cộng tác đa dụng trong môi trường tính toán lưới...

Tài liệu Khung cộng tác đa dụng trong môi trường tính toán lưới

.PDF
166
403
135

Mô tả:

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 -

Tài liệu liên quan