Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 110 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
110
Dung lượng
1,34 MB
Nội dung
BỘ MƠN DUYỆT Chủ nhiệm Bộ mơn Phan Ngun Hải ĐỀ CƯƠNG CHI TIẾT BÀI GIẢNG (Dùng cho CNPM 8) Học phần: Công nghệ tác tử phát triển phần mềm Nhóm mơn học: Bộ mơn: Cơng nghệ phần mềm Khoa: Cơng nghệ thơng tin Thay mặt nhóm mơn học Phạm Văn Việt Thơng tin nhóm mơn học: Chun ngành chuyên sâu CNPM (Lý thuyết CNPM) TT Họ tên giáo viên Phạm Văn Việt Bùi Thu Lâm Phan Việt Anh Học hàm GV PGS GV Học vị TS TS ThS Địa điểm làm việc: Bộ môn Công nghệ phần mềm, P1208, Nhà A1 (Gần đường HQ Việt) Điện thoại, email: 01279858755, v.v.pham2012@gmail.com Bài giảng1: Giới thiệu công nghệ tác tử Chương I Giới thiệu công nghệ tác tử Tiết thứ: – Tuần thứ: - Mục đích, yêu cầu: Nắm sơ lược Học phần, sách riêng giáo viên, địa Giáo viên, bầu lớp trưởng Học phần Tổng quan tính tốn cơng nghệ tác tử Các ứng dụng hướng phát triển công nghệ tác tử Các quan điểm công nghệ tác tử Hệ đa tác tử hệ thống tương tự khác - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Lý thuyết, thảo luận: 3t; Tự học, tự nghiên cứu: 6t - Địa điểm: Giảng đường P2 phân cơng - Nội dung chính: I Tổng quan tính tốn cơng nghệ tác tử 1.1 Năm hướng phát triển đánh dấu lịch sử tính tốn - Sự tồn khắp nơi + Chi phí để tính tốn ngày giảm giúp lực tính tốn (xử lý) lắp đặt nơi Điều mà trước cho không kinh tế + Khi khả xử lý phân bố rộng khắp, việc xử lý tốn phức tạp thực nơi - Liên kết + Các hệ thống máy tính ngày khơng cịn tồn độc lập, mà nối mạng tạo thành hệ thống phân tán có quy mơ lớn + Mạng internet ví dụ điển hình + Khi hệ thống phân tán song song trở thành chuẩn, nhà nghiên cứu xem mơ hình lý thuyết mơ tả hoạt động tính tốn tiến trình tương tác - Thông minh + Mức độ phức tạp tốn có khả tự động hóa ủy thác cho máy tính ngày tăng - Ủy thác + Các máy tính ngày làm nhiều việc mà không cần can thiệp + Chúng ta ủy thác điều khiển cho máy tính, vấn đề quan trọng an tồn + Một ví dụ là: máy bay khơng người lái, khả đánh giá máy tính tin tốt phi cơng có kinh nghiệm + Các chương trình phải kể đến là: ô tô tự động, hệ thống ngân hàng thông minh… - Sự định hướng theo người + Sự dịch chuyển từ quan điểm lập trình theo hướng máy móc tới khái niệm phản ánh cách hiểu giới gần gũi + Người lập trình người dùng tương tác với máy tính tương tác với người + Các lập trình viên khái niệm hóa xây dựng phần mềm mức độ cao (được định hướng theo người hơn) 1.2 Sự phát triển lập trình - Mã máy - Ngơn ngữ assembly - Các ngơn ngữ lập trình khơng phụ thuộc vào máy - Lập trình theo vịng lặp - Lập trình theo hàm thủ tục - Lập trình với kiểu liệu người dùng - Lập trình hướng đối tượng - Lập trình tác tử 1.3 Tính tốn tồn cầu - Những kỹ thuật cần có để làm việc với hệ thống sử dụng 1010 xử lý? - Hàng trăm triệu người kết nối thông qua email… - Tính tốn tồn cầu đem lại điều gì? - Ủy thác thơng minh hàm ý nhu cầu xây dựng hệ thống máy tính làm việc hiệu cho + Khả làm việc động lập hệ thống máy tính + Khả làm việc tốt theo mong muốn của hệ thống máy tính, có tương tác với người khác hệ thống khác 1.4 Liên kết phân tán - Liên kết phân tán trở thành chủ đề Khoa học máy tính - Liên kết phân tàn, cộng với cầu hệ thống phục vụ tốt mục tiêu chúng ta, ám hệ thống hợp tác đạt đồng thuận (hoặc chí cạnh tranh) với hệ thống khác (các hệ thống có mục tiêu khác) giống làm việc với người khác - Những vấn đề chưa nghiên cứu gần - Tất xu hướng hình thành lĩnh vực khoa học máy tình là: Các hệ thống đa tác tử (Multiagent Systems) 1.5 Định nghĩa tác tử Một tác tử hệ thống máy tính có khả làm việc độc lập, đại diện cho người dùng hay người sở hữu (hệ thống tự xác định điều cần làm để đáp ứng mục tiêu đưa ra, mà không cần dẫn thường xuyên chúng ta) 1.6 Định nghĩa hệ thống đa tác tử - Một hệ thống đa tác tử hệ thống bao gồm nhiều tác tử tương tác với - Trường hợp thường gặp nhất, tác tử làm việc đại diện cho người dùng có mục tiêu động khác - Để tương tác thành công, tác tử cần có khả cộng tác, phối hợp thương lượng với tác tử khác giống người 1.7 Thiết kế tác tử, thiết kế cộng đồng - Mơn học bao gồm hai tốn là: + Làm để xây dựng tác tử có khả làm việc động lập, để chúng thực thành công nhiệm vụ mà ủy thác + Làm để xây dựng tác tử có khả tương tác (cộng tác, phối hợp, thương lượng) với tác tử khác để thực thành công nhiệm vụ ủy thác, đặc biệt tác tử giả sử chia sẻ mục tiêu lợi ích + Bài tốn thứ thiết kế tác tử, toán thứ hai thiết kế cộng đồng (được xem tốn vi mơ vĩ mỗ) 1.8 Các hệ thống đa tác tử Trong hệ thống đa tác tử, giải câu hỏi như: - Sự cộng tác cộng đồng tác tử với lợi ích riêng hình thành nào? - Các tác tử dũng ngơn ngữ để giao tiếp? - Làm để tác tử với lợi ích riêng nhận xung đột, làm để chúng đạt đồng thuận? - Làm để tác tử độc lập phối hợp hành đông để cộng tác đạt mục tiêu? - Trong tất câu hỏi phần lĩnh vực khác (đặc biệt kinh tế khoa học xã hôi), điều làm hệ tác tử khác với lĩnh vực khác hệ nàu nhấn mạnh tác tử câu hỏi thực thể tính tốn xử lý thông tin II Các ứng dụng hướng phát triển công nghệ tác tử - Rất dễ để hiểu hệ đa tác tử bạn hiểu tầm nhìn nhà nghiên cứu - Thật may mắn, nhà nghiên cứu khác có tầm nhìn khác - Sự hợp tầm nhìn (các hướng phương pháp nghiên cứu, quan tâm…) giúp định hình lĩnh vực - Hơn nhà nghiên cứu rõ ràng có đủ sở để xem xét công việc người khác liên quan đến họ 2.1 Điều khiển tàu vũ trụ - Khi tàu thám trắc không gian muốn thực chuyến bay dài từ trái đát tới hành tinh, đội mặt đất cần thường xuyên theo dõi diễn tiến nó, định việc phải làm với kiện không lường trước Điều tốn kém, định cần phải đưa nhanh chóng, điều dường khơng thể Với lý này, tổ chức NASA điều tra nghiêm túc khả sản xuất tàu thám trắc tự động hơn, có khả định đa dạng - NASA xây dựng DS1 (Deep Space 1) 2.2 DS1 DS1 phóng từ Cape Canaveral vào 24-10-1998 Trong thành cơng ban đầu, kiểm tra 12 công nghệ tiên tiến rủi ro cao khơng gian Trong cơng tiếp theo, găp chổi Borrelly gửi ảnh tốt liệu khoa học chưa có trước Sau đó, DS1 tiếp tục thực thử nghiệm cơng nghệ ngừng hoạt động vào 18-12-2001 Theo NASA Web site 2.3 Các tác tử tự động thực nhiệm vụ đặc biệt - Các tác tử (và thể vật lý chúng robot) thực nhiệm vụ tình rủi ro cao khơng phù hợp người - Mực độ tự động khác tùy thuộc vào tình (có thể thay điều khiển người từ xa, lúc làm được) - DS1 dạng tác tử thuộc loại 2.4 Điều khiển không lưu - Một hệ thống điều khiển không lưu quan bồng nhiên không hoạt động, làm cho chuyến bay khu vực sân bay khơng cịn nhận hỗ trợ điều khiển May mắn thay, hệ thống điều khiển tự động sân bay gần nhận ra, hợp tác để theo dõi làm việc với tất chuyến bay bị ảnh hưởng - Các hệ thống chủ động thực cần thiết - Các tác tử cộng tác để giải vấn đề khả cá nhân tác tử 2.5 Các tác tử internet Tìm kiếm internet để có câu trả lời cho truy vấn cụ thể trình buồn tẻ thời gian Tại khơng cho phép chương trình máy tính (một tác tử) tìm kiếm hộ chúng ta? Tác từ nhận truy vấn yêu cầu tổng hợp thông tin từ nguồn khác internet Thất bại xảy nguồn thông tin khơng có (có thể lỗi mạng) kết khơng thể có 2.6 Điều xảy tác tử ngày hoạt động tốt - Các tác tử internet không đơn giản thực cơng việc tìm kiếm - Chúng lập kế hoặc, xếp, mua, thương lượng, thực dàn xếp thường người thực - Khi nhiều điều giải thông qua phương tiện điện tử, tác tử phần mềm thâm nhập nhiều vào hệ thống ảnh hướng tới giới thực - Hình thành nhanh chóng vấn đề nghiên cứu 2.7 Các vấn đề nghiên cứu - Làm phát biểu ưu tiên tác tử mình? - Làm thể tác tử so sách giao dịch (đãi ngộ) khác từ nhà cung cấp? Nếu có nhiều tham số khác điều xảy ra? - Tác tử dùng thuật tốn để đàm phán với tác tử khác (để đảm bảo bạn có giao dịch tốt) - Các vấn đề tầm thường, việc đấu thầu tự động dùng rộng rãi quan phủ - Vấn đề cạnh tranh tác tử mua bán 2.8 Hệ đa tác tử khoa học khác - Hệ đa tác tử ảnh hưởng truyền cảm hứng từ nhiều lĩnh vực như: + Kinh tế học + Triết học + Lý thuyết trò chơi + Logic + Sinh thái học + Khoa học xã hội - Điều có điểm mạnh (sử dụng phương pháp có tảng tốt vào lĩnh vực này) yếu (có nhiều quan điểm khác lĩnh vực) - Có tương tự với lĩnh vực trí tuệ nhân tạo III Một số quan điểm hệ đa tác tử - Tác tử mơ hình cho công nghệ phần mềm: + Các kỹ sư phần mềm ngày có hiểu biết tốt đặc tính phức tạp phần mềm Ngày tương tác cơng nhận rộng rãi đặc tính đơn quan phần mềm phức tạp + Trong hai thập niên qua, lĩnh vực nghiên cứu khoa học máy tính phát triển công cụ kỹ thuật để mô hình, hiểu xây dựng hệ thống có tương tác theo chuẩn - Tác tử công cụ để hiểu xã hội loài người + Các hệ đa tác tử cung cấp công cụ để mô xã hội, giúp làm rõ nhiêu dạng q trình xã hội + Có quan tâm nghiên cứu “lý thuyết trí óc” với lĩnh vực trí tuệ nhân tạo - Hệ đa tác tự tìm kiếm sở lý thuyết thích hợp: + Chúng ta muốn xây dựng hệ thống tác tử tự động tương tác, chưa biết hệ thống nào? + Có thể có cách tiếp cận “ngắn gọn” (súc tích) “cồng kềnh” (tỷ mỷ) cho vấn đề, xem vấn đề vấn đề lý thuyết kỹ thuật + Điều có tương tự với nghiên cứu trí tuệ nhân tạo IV Hệ đa tác tử hệ thống tương tự khác - Hệ đa tác tử có phải hệ thống song song phân tán? + Các tác tử giả thiết độc lập, có khả định độc lập, chúng cần có chế đồng phối hợp hoạt động thực + Các tác tử có lợi ích riêng, tương tác chúng có xung đột lợi ích - Hệ đa tác tử có phải trí tuệ nhân tạo? + Chúng ta khơng cần giải tất vấn đề trí tuệ nhân tạo (tức tất thành phần trí tuệ) để xây dựng tác tử thực hữu ích + Trí tuệ nhân tạo cổ điển bỏ qua khía cạnh xã hội tác tử Những khía cạnh phần quan trọng hoạt động trí tuệ giới thực - Hệ đa tác tử có phải lý thuyết trị chơi hay kinh tế học? Những lĩnh vực có nhiều điều để dạy hệ đa tác tử, nhưng: + Trong phạm vi lý thuyết trị chơi, khái nhiệm mơ tả đưa khơng nói cho cách xác định lời giải; quan tâm đến tác tử tính tốn bị giới hạn tài nguyên + Các giả thuyết lý thuyết trị chơi hay kinh tế khơng hữu ích xây dựng tác tử nhân tạo - Hệ đa tác tử có phải khoa học xã hội? + Chúng ta rút hiểu biết sâu sắc thông qua nghiên cứu xã hội lồi người, khơng có lý cụ thể để tin xã hội nhân tạo xây dựng + Chúng ta có khích lệ lai ghép, khó gộp vào hệ đa tác tử - Yêu cầu SV chuẩn bị: + Đọc trước: Chương 2, Tài liệu + Bài tập nhà: Bài 1, Chương 1, Tài Liệu Bài giảng 2: Các tác tử thông minh Chương II Các tác tử thông minh Tiết thứ: – Tuần thứ: 2, - Mục đích, yêu cầu: Sinh viên nắm nội dung sau Khái niệm tác tử thuộc tính tác tử Phân biệt tác tử đối tượng Phân biệt tác tử hệ chun gia Tác tử thơng minh trí tuệ nhân tạo Các kiểu môi trường Các hệ thống có ý định Kiến trúc trừu tượng tác tử Các nhiệm vụ tác tử Tổng hợp tác tử - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Lý thuyết, thảo luận: 6t; Tự học, tự nghiên cứu: 12t - Địa điểm: Giảng đường P2 phân cơng - Nội dung chính: I Tác tử gì? 1.1 Khái niệm tác tử - Điểm tác tử tính độc lập: có khả hoạt động độc lập, đưa điều khiển trạng thái bên chúng - Mộ tác tử hệ thống tính tốn có khả hoạt động độc lập mơi trường để đáp ứng mục tiêu thiết kế Hệ thống Đầu vào Đầu Môi trường - Các tác tử tầm thường: + Bộ điều chỉnh nhiệt độ + Hệ thống thông báo thư điện tử biff - Một tác tử thơng tin hệ thống tính tốn có khả hoạt động độc lập linh hoạt môi trường Trong tính linh hoạt có nghĩa là: + có tính phản ứng + có tính chủ động + có tính xã hội 1.2 Khả phản ứng - Nếu mơi trường chương trình đảm bảo cố định, chương trình khơng cần lo việc thành cơng hay khơng – chương trình cần thực mà không cần quan sát + ví dụ mơi trường cố định là: hệ biên dịch - Thế giới thực không giống vậy: vật thay đổi, thông tin không đầy đủ Hầu hết môi trường ta quan tâm đến động - Phần mềm khó xây dựng cho miền động (dynamic domain): chương trình phải tính đến khả thất bại – tự hỏi liệu có đáng thực - Một hệ thống phản ứng hệ thống trì tương tác thường xun với mơi trường nó, phản ứng với thay đổi xảy (và phản ứng lúc để đảm bảo có giá trị) 1.3 Sự chủ động - Phản ứng mơi trường khơng khó (ví dụ luật kích thích -> phản ứng) - Nhưng thơng thường muốn tác tử làm điều cho - Do hành vi chúng định hướng mục tiêu đặt - Khả chủ động = sinh nỗ lực để đạt mục tiêu; khơng bị điều khiển có kiện; chủ động thực - Nhận hội 1.4 Cân khả phản ứng chủ động - Chúng ta muốn tác tử có khả phản ứng điều kiện thay đối thời gian thích hợp - Chúng ta muốn tác tử làm việc có hệ thống để đạt mục tiêu lâu dài - Hai điều cân nhắc mẫu thuẫn với - Thiết kế tác tử cần hai điều vấn đề nghiên cứu mở 1.5 Khả xã hội - Thế giới thực môi trường đa tác tử: Chúng ta tập trung để đạt mục tiêu mà khơng cần tính đến yếu tố khác + Các phương pháp bắt nguồn tử phương pháp phát triển hướng đối tượng (OO), mở rộng phương pháp OO sửa lại phương pháp OO cho AOSE (Agent-Oriented Software Engineering - Công nghệ phần mềm hướng tác tử) (Burmeister, 1996; Kinny et al., 1996; Wooldridge et al., 1999; Odell et al., 2001; Depke et al., 2001; Bauer et al., 2001; Kendall, 2001; Ornicini, 2001; Wood DeLoach, 2001) + Các phương pháp chỉnh sửa kỹ thuật tri thước kỹ thuật khác (Brazier et al., 1995; Luck et al., 1997; Iglesias et al., 1998; Collinot et al., 1996) 2.2 Kinny et al: the AAII methodology - Trong suốt năm 1990, Australian A1 Institute (AAII) phát triển loạt hệ thống sử dụng công nghệ PRS-based belief-desire-intention technology (Wooldridge, 2000) họ hệ thống Distributed Multiagent Reasoning System System (DMARS) (Rao and Georgeff, 1995) Phương pháp AAII để phân tích thiết kế hướng tác tử phát triển kinh nghiệm có với ứng dụng lớn Nó xây dựng chủ yếu dựa phương pháp hướng đối tượng mở rộng phướng pháp với khái niệm dựa tác tử Phương pháp nhằm xây dựng tập mơ hình cụ thể đặc tả hệ tác tử định nghĩa hệ tác tử - Phương pháp này: + Xác định vai trò liên quan lĩnh vực ứng dụng, sở đó, phát triển lược đồ phân tầng lớp tác tử Ví dụ vai trị dõi thời tiết, tác tử i yêu cầu làm tác tử j nhận thức điều kiện thời tiết thời + Xác định nhiệm vụ tương ứng với vai, dịch vụ vai yêu cầu cung cấp, sau xác định mục tiêu liên quan đến dịch vụ Như ví dụ trên, mục tiêu xác định thời tiết thời, làm tác tử j nhận thức thông tin + Với mục tiêu, xác định kế hoạch dùng để đạt nó, điều kiện hồn cảnh thích hợp kế hoạch Như ví dụ trên, kế hoạch làm tác tử j nhận thức điều kiện thời thiết liên quan đến việc gửi thông điệp đến j + Xác định cấu trúc niềm tin hệ thống – yêu cầu thông tin cho kế hoạch mục tiêu Như ví dụ trên, đề xuất vị từ ngơi windspeed(x) để biểu diễn thực trạng vận tốc gió thời x Một kế hoạch xác định điều kiện gió thời cần có khả biểu diễn thông tin 2.3 Wooldridge et al.: Gaia - Phương pháp Gaia có ý định cho phép nhà phân tích tiến hành cơng việc cách hệ thống từ yêu cầu thiết kế, với đầy đủ chi tiết cài đặt trực tiếp Chú ý xem xét giai đoạn có yêu cầu chế độc lập sử dụng cho việc phân tích thiết kế Trong ứng dụng Gaia, người phân tích từ trừu tượng khái niệm ngày cụ thể Mỗi bước giúp tiến gần tới việc cài đạt - Gaia mượn thuật ngữ ký hiệu từ phân tích thiết kế đối tượng Tuy nhiên, khơng đơn giản áp dụng phương pháp hướng đối tượng cho phát triển hướng tác tử Gaia cung cấp tập khái niệm cụ thể tác tử qua kỹ sư phần mềm hiểu mơ hình hệ phức tạp Đặc biệt, Gaia khuyến khích người phát triển xây dựng hệ dựa tác tử q trình thiết kế có tổ chức - Các khái niệm chia làm hai nhóm: Trừu tượng cụ thể Các thực thể trừu tượng dùng q trình phân tích để khái niệm hóa hệ thống, khơng cần thiết có nhận dạng trực tiếp hệ thống Ngược lại, khái niệm cụ thể, dùng trình thiết kế, thường có giống hệ thống lúc chạy Khái niệm trừu tượng khái niệm cụ thể Các vai trò Các kiểu tác tử Những cho phép Những dịch vụ Các nhiệm vụ Các hiểu biêt Các giao thưc Các hoạt động Các thuộc tính sống Các thuộc tính an toàn 2.4 Odell et al.: agent UML Trong hai thập kỷ qua, nhiều ký hiệu phương pháp liên quan phát triển cộng đồng hướng đối tượng Mặc dù nhiều điểm tượng đồng ký hiệu phương pháp, nhiêm có nhiều điểm khác biệt không thống UML nỗ lực để phát triển ký hiệu chung để mô hình hệ thống hướng đối tượng Chú ý UML khơng phải phương pháp, mơt ngơn ngữ để lập tài liệu mơ hình hệ thống, Rational Unified Process biết phương pháp gắn với UML - Sự thật UML chuẩn thực tế cho việc mơ hình hóa Khi xem xét ngơn ngữ cơng cụ mơ hình hướng tác tử, nhiều nhà nghiên cứu thấy UML rõ ràng điểm để bắt đầu Kết có nhiều nỗ lực để chỉnh sửa ký hiệu UML để mơ hình hệ tác tử Odell đồng nghiệp thảo luận số cách ký hiệu UML mở rộng để mơ hình hóa hệ tác tử Những điều chỉnh bao gồm: + hỗ trợ biểu diễn luồng tương tác song song (tức phát thơng điệp), cho phep UML mơ hình giao thức tác tử Mạng liên hệ (Chương 9) + Một ký hiệu vai (mở rộng ký hiệu có UML), cho phép mơ hình tác tử đóng nhiều vai 2.5 Treur et al.: DESIRE DESIRE chương trình làm việc để thiết kế đặc tả hệ thống hợp thành Cũng cung cấp ký hiệu đồ họa để đặc tả hệ thống vậy, DESIRE có liên hệ với biên soạn ký hiệu công cụ khác để hỗ trợ phát triển hệ tác tử 2.6 Luck and d'lnverno: agents in Z Lục d'Inverno phát triển chương trình khung đặc tả tác tử ngôn ngữ Z Mặc dừ nhiều loại tác tử xem xét chương trình khung khác với tác tử thảo luận tác tử môn Chúng định nghĩa kiến trúc bốn tầng thực thể có hệ tác tử Chúng bắt đầu với thực thể đối tượng vô tri vô giác, có thuộc tính màu sắc, trọng lượng, vị trí khơng có thuộc tính khác Sau đó, chúng cho phép định nghĩa đối tượng thực thể có khả (ví dụ bảng thực thể có khả hỗ trợ điều khác) Các tác tử sau định nghĩa đối tượng có mục tiêu, chủ động; cuối tác tử độc lập định nghĩa tác tử cố động - Xuất phát từ chương trình khung Luck d'Inverno tiếp tục nghiên cứu mối quan hệ khác tồn tác tử có kiểu khác Ví dụ nghiên cứu hệ tác tử đặc tả chương trình khung cài đặt Họ thấy có mối quan hệ tự nhiên chương trình khung đặc tả tác tử hệ hướng đối tượng III Tác tử di động Các lời gọi thủ tục từ xa (a) ngược với tác tử di động (b) - Tại tác tử di động? + Các mạng băng thông thấp (PDAs cầm tay, ví dụ NEWTON) + sử dụng tài nguyên mạng hiệu - Có nhiều vấn đề cần giải xây dựng công cụ phần mềm hỗ trợ tác tử di động + an ninh máy chủ tác tử + hỗn tạp máy chủ + liên kết động - An ninh đới với máy chủ: Chúng ta khong muôn thực thi chương trình bền ngồi máy tính chúng ta, điều gây rủi ro an ninh lớn: + Nếu ngơn ngữ lập trình tác tử hỗ trợ trỏ, thi có nguy tác tử làm sai lạc không gian địa máy chủ -> nhiều ngôn ngữ tác tử trỏ + Các quyền try cập UNIX máy chủ + Các thư viện an toàn việc truy cập nơi lưu trữ file, không gian xử lý… + Một số hành động (ví dụ gửi thư) vơ hại số hồn cảnh, nguy hiểm hoàn cảnh khác - Một số ngơn ngữ tác tử (ví dụ TELESCRIPTS) cung cấp giới hạm số lượng nhớ thời gian xử lý mà tác tử truy cập - Các xử lý hợp an toàn giải pháp – có xử lý riêng dành cho tác tử chạy, xử lý cách ly - Một số ngôn ngữ tác tử cho phép thuộc tính an ninh tác tử kiểm tra hóa đơn Các máy chủ phải xử lý chương trình va chạm êm xi – ban nói với người sở hữu điều tác tử họ bị cố? - Các tác tử có quyền riêng tư! - Chúng ta thường không muốn gửi chương trình chúng ta, làm cho phép người nhận xác định mục đích ý định - Một tác tử chỉnh sửa theo cách đó, khơng cần tri thức hay thơng qua người sở hữu - Một tác tử bảo vệ truyền cách dùng kỹ thuật mã hóa cổ điển (ví dụ PGP) - Để đảm bảo rang tác tử khơng bị phá rối, dung thủy ấn số - giống kiểm tra chữ số - Sự hỗn tạp nhiều máy chủ + Trừ hạnh phúc cho tác tử thực loại máy (Mac, PC, SPARC,…), phải cung cấp hạng phục để thực thi tác tử nhiều loại máy khác + Điều kéo theo: * ngôn ngữ biên dịch: ngôn ngữ biên dịch kéo theo giảm mã máy, điều rõ ràng phụ thuộc hệ thống – hiệu suất bị giảm (có lẽ dùng công nghệ máy ảo) * liên kết động: Các thư viện truy cập tài nguyên cục phải cung cấp giao diện chung cho môi trường khác - Một khung hình cho tác tử di động Ta chia tác tử di động thành loại: + độc lập + theo yêu cầu + tác tử thư chủ động - Các tác tử di động độc lập + “di động độc lập” nghĩa tác tử định cho chúng nơi cúng đến, nào, chúng làm tới (tn theo ràng buộc tài ngun đó, ví dụ bao nhiều tiền chúng gửi) + Các tác tử thường lập trình ngơn ngữ đặc biệt cung cấp hướng dẫn hoạt động…Ví dụ tiêu biể TELESCRIPT - Di động theo yêu cầu + Ý tưởng máy chủ yêu cầu thực thi tác tử yêu cầu rõ ràng tác tử + Ví dụ chức hỗ trợ ngôn ngữ JAVA, nhúng với HTML + Một người dùng với trình duyệt tương thích với JAVA u cầu trang HTML bao gồm chương trình applets nhỏ cài đặt ngôn ngữ JAVA + Những applets tải với tất hình ảnh, văn bản, mẫu,…, trang, tải, applets thiện thi máy người dùng + JAVA ngơn nhữ lập trình C/C++ cho mục đích chung, (khơng có trỏ) - Các tác tử thư chủ động + Ý tưởng mang lưng chương trình tác tử cho mail + Ví dụ biết đến nhiều mở rộng mime thành emmail, cho phép tập lệnh TCL an toàn gửi + Khi email nhận được, tác tử giải nén, tập lệnh thực email khơng cịn bị động, mà chủ động - Telescript + TELESCRIPT môi trường dựa ngôn ngữ để xây dựng hệ tác tử di động + Công nghệ TELESCRIPT General Magic đặt tên cho gia đình khái niệm kỹ thuật chúng phát triển củng cố thêm sản phẩm chúng + Có hai khái niệm công nghệ TELESCRIPT: *Các địa điểm *Các tác tử + Các địa điểm vị trí ảo tác tử chiếm giữ Một địa điểm tương ứng với máy đơn, gia đình máy + Tác tử nhà cung cấp khách hàng sản phẩm ứng dụng thuộc thị trường điện tử mà TELESCRIPT phát triển để hỗ trợ + Các tác tử di động – chúng di chuyển từ vị trí tới vị trí khác, chương trình trạng thái chúng mã hóa truyền qua mạng tới địa điểm khác việc thực thi bắt đầu + Để di chuyển mạng, tác tử dùng thẻ, rõ đối số hành trình là: * đích * thời gian hồn thành + Các tác tử giao tiếp với tác tử khác: * Nếu chúng chiếm giữ vị trí khác nhau, chúng co thể kết nối mạng * Nếu chung chiếm vị trí, chúng gặp tác tử khác + Sự cho phép tác tử TELESCRIPT xác định: * Điều tác tử làm (ví dụ, giới hạn lại) * Các tài nguyên tác tử dùng + Các tài nguyên quan trọng là: * ‘Tiền’ đo số ‘teleclicks’ (tương ứng với tiền thực) * thời gian sống (được đo giây) * kích thước (đo byte) + Các tác tử địa điểm thực thi máy + Một máy kiểu hệ điều hành tác tử - tác tử tương ứng với tiến trình hệ điều hành + Các hệ điều hành giới hạn truy cập dành cho tiến trình (ví dụ UNIX, thơng qua quyền truy cập) , máy giới hạn cách tác tử truy cập môi trường + Điều gọi khái niệm mã quản lý (Ví dụ Java, Visual Basic, Microsoft’s Net) + Các máy tiếp tục giám sát việc sủ dụng tài nguyên tác tử loại bỏ tác tử vượt giới hạn chúng + Các máy cung cấp (C/C++) đường dẫn tới ứng dụng khác thơng qua giao diện chương trình ứng dụng (APIs) + Các tác tử địa điểm lập trình sử dụng ngơn ngữ TELESCRIPT * Ngơn ngữ hướng đối tượng túy – thứ đối tượng * biên dịch * hai mức – cao (ngôn ngữ rõ), thấp (ngôn bán biên dịch để thực thi hiệu quả) * lớp ‘tiến trình’, ‘tác tử’ ‘địa điểm’ lớp * ổn định + General Magic khẳng đinh dịch vụ giao tiếp phức tạp dựng sẵn làm TELESCRIPT lý tưởng cho ứng dụng tác tử + Tóm lại: * tập phóng phú mẫu để xây dựng ứng dụng phân tán, với khái niệm mạnh tác tử * tác tử cuối chương trình biên dịch * khơng có khái niệm tác tử mạnh * nghĩ có khả ảnh hưởng lớn (được hỗ trợ Apple, AT&T, Motorola, Philips, Sony,…) – công ty khơng cịn * ảnh hưởng thực có khả thực hóa ý tưởng thuyết minh - Các ngôn ngữ script TCL/TK + Ngôn ngữ điều khiển dạng công cụ miễn phí (TCL) bạn TK ngày thường đề cập với hệ hướng tác tử + TCL có xu hướng ngôn ngữ thị chuẩn – nhiều ứng dụng hỗ trợ ngôn ngữ (các sở liệu, bảng tính…) vậy, ứng dụng phát triển, ngôn ngữ thị phải phát triển theo TCL cung cấp hạng mục để dễ dàng cài đặt ngôn ngữ thị riêng bạn + TK tập công cụ dựa cửa sổ X – cung cấp hạng mục để làm đối tượng GUI buttons, labels, text and graphic windows (giống tập widget X) + TK cung cấp hạng mục cho việc giao tiếp tiến trình thơng qua trao đổi lệnh TCL + TCL/TK kết hợp, làm việc dùng công cụ phát triển GUI hấp dẫn đơn giản *TCL ngôn ngữ biên dịch * TCL mở rộng – cung cấp tập nhân mẫu, cài đặt C/C++, cho phép người dùng xây dựng cần * TCL/TK nhúng – trình biên dịch sẵn có mã C++, nhúng ứng dụng mở rộng + Các chương trình TCL gọi scripts + TCL scripts có nhiều thuộc tính mà UNIX shell scripts có: * Chúng chương trình văn đơn giản, chứa cấu trúc điều khiển (lặp, tuần tự, lựa chọn) cấu trúc liệu (biến, danh sách, mảng) giống ngơn ngữ lập trình bình thường * Chúng thực mộ chương trình shell(tclsh wish) * Chúng gọi nhiều chương trình khác có kết từ chương trình + Ví chương trình TCL trình diễn được, chúng dễ lập mẫu gỡ rối ngôn ngữ biên dịch C/C++ - Chúng cung cấp cấu tạo điều khiển mạnh * sức mạnh phải trả giá tốc độ + Các cấu tạo dạng cấu trúc TCL cung cấp để lại điều người mong muốn + Vậy, ý tưởng tác tử đến từ đâu? * xây dựng ứng dụng mà TCL scripts trao đổi thông quan mạng thực máy tử xa, TCL script trở thành dạng tác tử + Vấn đề mấu chốt an tồn Bạn khơng muốn cung cấp cho script với truy cập tồn quyền vào máy tinh bạn mà ngôn ngữ script bình thường (ví dụ csh) cung cấp + Điều hình thành TCL Safe, cung cấp mơ hình giới hạn truy cập script cung cấp + Tuy nhiên, vấn đề an toàn chưa hoàn toàn TCL giải Điều giới hạn độ hấp dẫn mơi trường lập trình tác tử + Tóm lại: *TCL/TK cung cấp mơi trường phong phú để xây dựng ứng dụng dựa ngôn ngữ * Nhưng chúng khơng có ý định làm mơi trường lập trình tác tử * Các mẫu hạt nhân dùng để xây dựng mơi trường lập trình tác tử - mã nguồn miễn phí, ổn đinh, thiết kế tốt, dễ sửa - Yêu cầu SV chuẩn bị: + Đọc trước: Chương 10, Tài liệu + Bài tập nhà: Bài - 3, Chương 10, Tài Liệu Bài giảng 11: Các ứng dụng Chương XI Các ứng dụng Tiết thứ: 43– 45 Tuần thứ: 15 - Mục đích, yêu cầu: Sinh viên nắm nội dung sau Các lĩnh vực ứng dụng Tác tử internet Các kịch Các trợ lý đọc thư Các tác tử phục vụ thương mại điện tử Các loại tác tử khác - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Lý thuyết, thảo luận: 3t; Tự học, tự nghiên cứu: 6t - Địa điểm: Giảng đường P2 phân cơng - Nội dung chính: I Các lĩnh vực ứng dụng - Các tác tử ứng dụng hữu ích lĩnh vực yêu cầu hành động độc lập - Các tác tử thông minh áp dụng hữu ích lĩnh vực yêu cầu hành động độc lập linh hoạt + Đây không yêu cầu không thông thường! Công nghệ tác tử cho cách xây dựng hệ thống mà kỹ thuật phần mềm chinh coi khó - Các lĩnh vực ứng dụng chính: + Các hệ thống phân tán/song song + mạng + Giao diện người – máy - Các hệ thống phân tán + Trong lĩnh vực này, ý tưởn tác tử xem theo tự nhiên, phát triển ý tưởng lập trình đối tượng song song + Các lĩnh vực khác * Điều khiển không lưu * Quản lý quy trình nghiệp vụ * Quản lý hệ thống điện * Cảm ứng phân tán * Điều khiển quy trình nhà máy - Mạng + Hiện có nhiều quan tâm tác tử di động, di chuyển mạng (ví dụ internet) hoạt động theo yêu cầu người dùng + Kiểu hoạt động đạt ngôn ngữ TELESCRIPT General Magic phát triển cho việc lập trình từ xa + Các ứng dụng bao gồm: PDAs cầm tay với băng thông hữu hạn, thu thập thông tin - Giao diện người - máy + Một lĩnh vực nhiều quan tâm sử dụng tác tử cho giao diện + ý tưởng di chuyển từ chế điều chỉnh trực tiếp chiếm lĩnh thời gian dài + Các tác tử xem xét, học, cuối làm điều khơng cần nói ứng dụng + Công việc ban đầu MIT Media Lab (Pattie Maes): * Người đọc tin * Các trình duyệt web * Những người đọc mail II Tác tử internet - Tiềm internet - Thực tế thường thất vọng: + Internet lớn – không ln dễ để tìm thơng tin phương pháp thủ cơng (hoặc chí với trợ giúp máy tìm kiếm) - Các tìm kiếm ngữ nghĩa khó: + Các yếu tố người: Chúng ta chán thời gian phản hồi chậm, thấy khó để đọc WWW cẩn thận (nó thiết kế để chống lại điều này!), dễ dàng thông tin, hiểu nhầm bị lạc hướng + Các yếu tố tổ chức: cấu trúc mạng bề mặt - khơng có chuẩn cho trang chủ, khơng có đánh dấu ngữ nghĩa để nói cho bạn trang bao gồm gì? - Khối lượng nhiều thông tin dành cho làm tải thông tin - Cái muốn loại thư ký: người hiểu điều quan tâm (và điều không quan tâm), người hoạt động ‘proxy’ dấu thông tin mà không quan tâm, mang đến cho thông tin cần - Đây nơi tác tử đến - Chúng ta làm cho tác tử người làm nhiệm vụ vây (trong người hợp, người có hạn chế đề cập trên) - Bởi viết chương trình để thực nhiệm vụ này: chương trình gọi tác tử III Các kịch - Đây kịch minh họa loại thuộc tính mà hy vọng tác tử internet có: Theo việc vào máy tình bạn, bạn biết dang sách thông điệp email, xếp theo thứ tự quan trợ lý số cá nhân bạn (PDA) Bạn sau biết dang sách tương tự tin; trợ lý khiến bạn quan tâm tới cụ thể Bài mô tả công việc chưa biết gần với bạn Sauk hi thảo luận điện tử với số PDAs khác, PDA bạn có báo cáo kỹ thuật liên quan cho bạn từ trang FTP, với dự đốn quan tâm - Các hệ thống người thuyết minh dùng ngày - Tác tử trả lời điện thoại, nhận người gọi, làm phiền bạn cần, nói dối trắng trợn nhân danh bạn - Nếu bạn có người biết rõ bạn chia sẻ nhiều thông tin bạn, người hoạt động nhân danh bạn hiệu Nếu thư ký ốn, việc gửi Albert Einstein cho bạn không giải vấn đề Vấn đề khơng phải IQ Nó tri thức chia sẻ tập quán dùng theo quan tâm hàng đầu bạn - Giống huy gửi người trinh sát trước…ban sai tác tử thu thập thông tin cho bạn Các tác tử gửi tác tử Quá trình nhân lên Nhưng trình bắt đầu với giao diện nơi bạn ủy thác mong muốn IV Các trợ lý đọc thư - Thực đơn nhà nghiên cứu tác tử phần mềm… - Pattie Maes phát triển MAXIMS – trợ lý đọc tiếng ‘học để xác định ưu tiên, xóa, chuyển tiếp, xếp, lưu trữ email người dùng mong muốn’ - MAXIMS làm việc cách đứng sau người dùng hoạc cách họ làm việc với email - Mỗi kiện xảy (ví dụ email đến), MAXIMS ghi lại tình -> cặp hành động hình thành - Tình phân biệt thông qua đặc điểm kiện + người gửi thư + người nhận + dịng để +… - Khi tình xảy ra, MAXIMS khớp với luật ghi lại trước - Cố gắng dự báo điều người dùng làm – tạo tin cậy - Mức độ tin cậy khớp với hai ngưỡng: “tell me” “do it” Confidence < “tell me”: – agent gets feedback “tell me” < confidence < “do it”: – agent makes suggestion Confidence > “do it”: – agent acts - Các luật lập trình cứng; chí xin trợ giúp từ người dùng khác - MAXIMS có tính cách đơn giản (một biểu tượng khn mặt), thơng tin trạng thái tinh thần cho người dùng V Các tác tử phục vụ thương mại điện tử - Một lý quan cho tác tử internet tiềm thương mại điện tử - Phần lớn thương mại thực thủ cơng Nhưng khơng có lý để đề xuất dạng thương mại khơng thể ủy thác an toàn cho tác tử - Một ví dụ là: tìm kiếm rẻ Office 97 từ hàng online - Ví dụ phức tạp là: bay từ Manchester to Dusseldorf với bữa chay, ngồi cạnh cửa số, không sử dụng điều khiển không người lái - Các vị dụ đơn giản tác tử thương mại điện tử hệ đầu: + BargainFinder Andersen + Jango NETBOT (và EXCITE) - Thế hệ thứ hai: thương lượng, môi giới, …các hệ thống siêu thị - Jango ví dụ tác tử thương mại điện tử - Các mục tiêu lâu dài: + Giúp người dùng định để mua + Tìm đặc tả duyệt sản phẩm + Đưa đề xuất + So sánh shopping để mua + Giám giát danh sách sản phẩm + Theo dõi đợt khuyến giảm giá đặc biệt - So sánh shopping khơng? Các trang WWW tất khác nhau! - Jango/ShopBot khai thác số tính chất thường xun trang WWW bn bán + tính thường xuyên điều chuyển – trang thiết kế để sản phẩm dễ tìm + tính đồn thể - trang thiết cho trang có cảm giác diện mạo + phân theo chiều dọc: thương gia dùng khoảng trống để phân tách sản phẩm - Hai thành phần Jango/ShopBot: + học mô tả người bán + so sánh shopping VI Các loại tác tử khác - (Etzioni & Weld, 1995) xác định loại cụ thể sau tác tử có khả xuất sớm - Hướng dẫn du lịch: ý tương có tác tử giúp trả lời câu hỏi “tôi đâu tiếp” duyệt WWW Những tác tử học preference người dùng theo cách MAXIMS làm, không cung cấp loại siêu liên kết đơn chuẩn thực sự quan tâm liên kết - Các tác tử xếp: Tác tử xếp cung cấp tầng trừu tượng thêm dịch vụ cung cấp tác tử xếp (LYCOS InfoSeek) Ý tưởn dùng thông tin thô máy cung cấp, với tri thức người dùng, mục tiêu, preferce,… để cung cấp dịch vụ theo cá nhân - Tìm câu hỏi thường xuyên (FAQ): Ý tưởng đưa người dùng tới tài liệu FAQ để trả lời câu hỏi cụ thể Khi FAQs có xu hướng có tri thứ, tài liệu có cấu trúc, có nhiều tiềm máy chủ FAQ tự động - Tìm tri thức: Giả sử muốn biết người quan tập temporal belief logics Các cơng cụ tìm kiếm WWW khơng đơn giản lấy từ ‘temporal’, ‘belief’, ‘logic’, tìm chúng Điều khơng lý tưởng: LYCOS khơng có mơ hình bạn ám với tìm kiếm này, điều bạn thực muốn Các trợ lý tìm kiếm tri thức cố gắng hiểu điều người dùng muốn nội dụng dịch vụ thông tin’, để cung cấp dịch vụ cung cấp thông tin tốt - Yêu cầu SV chuẩn bị: + Bài tập nhà: Bài - 2, Chương 11, Tài Liệu + Ơn tập thi kết thúc mơn