Chủ nhiệm Bộ môn Phan Nguyên Hải ĐỀ CƯƠng chi tiết bài giảNG


Bài giảng 10: Các phương pháp



tải về 4.09 Mb.
trang44/44
Chuyển đổi dữ liệu26.11.2017
Kích4.09 Mb.
#34644
1   ...   36   37   38   39   40   41   42   43   44

Bài giảng 10: Các phương pháp
Chương X Các phương pháp

Tiết thứ: 37 – 42 Tuần thứ: 13, 14


- Mục đích, yêu cầu: Sinh viên nắm được các nội dung sau

  • Các khó khăn phát triển tác tử

  • Các kỹ thuật phân tích thiết kế hướng tác tử

  • Tác tử di động

- 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 do P2 phân công.

- Nội dung chính:

I. Các khó khăn phát triển tác tử

- Rất nhiều các dự án đơn và đa tác tử.. nhưng phát triển hướng tác tự nhận được it quan tâm

- Chương này xem xét thực tế của các dự án phần mềm hướng tác tử

- Xác định các khó khăn chính

- Bảy nhóm:

+ Chính trị

+ Quản lý

+ Khai niệm

+ Phân tích và Thiết kế

+ Mức vi mô (tác tử)

+ Mức vĩ mô (xã hội)

+ Cài đặt

- Bạn quá đề cao tác tử

+ Tác tử không phải phép màu

+ Nếu bạn không thể làm với các phần mềm thông thường, bạn có thể không làm được với các tác tử

+ Không có bằng chứng khẳng định bất kỳ hệ thống nào được phát triển sử dụng công nghệ tác tử có thể không được xây dựng dễ dàng như sử dụng các công nghệ khác.

+ Các tác tử có thể thực hiện nó dễ dàng hơn để giải các lớp bài toán nào đó… nhưng chúng không thể biến các điều không thể thành có thể

+ Các tác tử không phải là AI bởi một cửa sau.

+ Không được cào bằng các tác tử và AI.

- Bạn võ đoán về tác tử

+ Tác tử đã được dùng trong nhiều ứng dụng, nhưng nó không phải là một giải pháp tổng thể

+ Với nhiều ứng dụng, các cơ chế phần mềm truyền thống (ví dụ như hướng đối tượng) là thích hợp hơn.

+ Cho một bài toán trong đó các cách tiếp cận tác tử và không-tác tử xuất hiện tốt như nhau, giải pháp không-tác tử được ưa hơn.

+ Tóm lại: nguy hiểm nếu tin rằng các tác tử là giải pháp đúng cho mọi vấn đề

+ Một dạng võ đoán: tin tưởng định nghĩa về tác tử của bạn.

- Bạn không biết tại sao bạn thích tác tử

+ Tác tử = công nghệ mới = rất nhiều quảng cáo thổi phồng

“Tác tử sẽ tạo ra được 2.6 tỷ USD lợi tức vào năm 2000”

+ Phản ứng người quản lý: “Chúng tôi có thể có được 10% lợi nhuận”

+ Những người quản lý thường đề xuất các dự án tác tử mà không hiểu rõ ý tưởng về Điều “Có các tác tử” sẽ mua họ

+ Không có kế hoạch kinh doanh cho các dự án

* nghiên cứu thuần túy?

* người bán công nghệ?

* người bán giải pháp?

+ Thông thường, các dự án có về tiến triển tốt (“Chúng ta có các tác tử”). Nhưng không có tầm nhìn về nơi nào sẽ đi tiếp với chúng.

+ Bài học: hiểu các lý do về nỗ lực cho một dự án phát triển tác tử, và điều bạn mong đợi có được từ đó.

- Bạn không biết các tác tử tốt cho điều gì

+ đã phát triển công nghệ tác tử nào đó, bạn tìm kiếm ứng dụng sẽ dùng chúng

+ đặt xe bò trước ngựa!

+ dẫn tới không phú hợp/không đáp ứng

+ bài học: chắc chắn bạn hiểu công nghệ mới của bạn có thể được ứng dụng ý nghĩa nhất ở đâu và như thế nào.

+ Đứng cố gắng ứng dụng nó cho các bài toán bất kỳ và chống lại sự cám dỗ sẽ áp dụng nó cho mọi bài toán.

- Bạn muốn xây dựng các giải pháp chung cho các bài toán chỉ xảy ra một lần:

+ Hội chứng “chưa có một phương thức thử nghiệm tác tử khác”

+ Nghĩ ra một kiến trúc hoặc một phương pháp thử nghiệm được cho là có thể xây dựng nhiều hệ tác tác, nhưng bạn thực sự chỉ cần một hệ thống.

+ Sử dụng lại là khó để dành được trừ khi việc phát triển đang được thực hiện cho một loạt các vấn đề với các đặc trưng tương tự

+ Các giải pháp chung là khó hơn và chi phí tốn kém hơn để phát triển, thường cần điều chỉnh để phù hợp với các ứng dụng khác nhau.

- Nhầm lẫn giữa mẫu thử với hệ thống

+ Các mẫu thử là dễ

+ các hệ thống sản xuất được kiển thử thực tế là khó

+ Quá trình phát triển từ các ứng dụng 1 máy đa luồng trên Java sang hệ thống nhiều người dùng khó hơn nhiều như nó có vẻ.

- Tin tưởng các tác tử là viên đạn bạc

- Nhầm lẫn thuật ngữ thông dụng với khái niệm

- Quên rằng hệ tác tử là phần mềm

- Quên rằng hệ tác tử phân tán

- Không sử dụng các công nghệ liên quan

- Không sử dụng khả năng tính toán song song (đa luồng)

- Muốn có một kiến trúc riêng của bạn

- Nghĩ rằng kiến trúc của mình là tổng quát

- Sử dụng quá nhiều AI

- Không đủ AI

- Thấy tác tử ở mọi nơi

- Quá nhiều tác tử

- Quá ít tác tử

- Bạn dành toàn bộ thời gian để cài đặt cơ sở hạ tầng

- Hệ thống hỗn loạn

- Nhầm lẫn giữa song song mô phỏng và song song thực

II. Các kỹ thuật phân tích thiết kế hướng tác tử

2.1 Khái quát các kỹ thuật phân tích thiết kế hướng tác tử

- Một phương pháp phân tích và thiết kế có xu hướng trước tiên là hỗ trợ để hiểu được một hệ thống cụ thể và sau đó là thiết kế nó. Các phương pháp nhìn chung bao gồm một tập các mô hình, và một tập các hướng dẫn gắn với các mô hình. Các mô hình để chuẩn hóa sự hiểu biết về hệ thống đang được xem xet. Thông thường các mô hình ban đầu xuất phát từ trực giác hơn là trừu tượng. Khi quá trình phân tích thiết kế thực hiện, chúng ngày một cụ thể, chi tiết và gần với cài đặt chương trình.

- Các phương pháp để phân tích thiết kế các hệ thống dựa trên tác tử có thể chia làm hai nhòm chính:

+ Các phương pháp bắt nguồn tử các phương pháp phát triển hướng đối tượng (OO), hoặc mở rộng các phương pháp OO hoặc sửa lại các 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 và DeLoach, 2001)

+ Các phương pháp chỉnh sửa kỹ thuật tri thước hoặc cá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 những năm 1990, Australian A1 Institute (AAII) đã phát triển một loạt các hệ thống sử dụng công nghệ PRS-based belief-desire-intention technology (Wooldridge, 2000) của họ và hệ thống Distributed Multiagent Reasoning System System (DMARS) (Rao and Georgeff, 1995). Phương pháp AAII để phân tích và thiết kế hướng tác tử được phát triển trên kinh nghiệm có được cùng với các ứng dụng lớn đó. Nó xây dựng chủ yếu dựa trên các phương pháp hướng đối tượng và mở rộng các phướng pháp này với các khái niệm dựa trên tác tử. Phương pháp này nhằm xây dựng một tập các mô hình cụ thể đặc tả hệ tác tử khi định nghĩa hệ tác tử.

- Phương pháp này:

+ Xác định các vai trò liên quan trong lĩnh vực ứng dụng, và trên cơ sở đó, phát triển một lược đồ phân tầng các lớp tác tử. Ví dụ vai trò dõi thời tiết, trong đó tác tử i được yêu cầu làm tác tử j nhận thức được các điều kiện thời tiết hiện thời từng giờ.

+ Xác định nhiệm vụ tương ứng với mỗi vai, các dịch vụ vai đó yêu cầu và cung cấp, và sau đó xác định các mục tiêu liên quan đến mỗi dịch vụ. Như ví dụ trên, mục tiêu sẽ là xác định thời tiết hiện thời, và làm tác tử j nhận thức được thông tin này.

+ Với mỗi mục tiêu, xác định các kế hoạch có thể được dùng để đạt được nó, và các điều kiện hoàn cảnh thích hợp của mỗi kế hoạch. Như ví dụ trên, kế hoạch làm tác tử j nhận thức được điều kiện thời thiết có thể liên quan đến việc gửi một thông điệp đến j.

+ Xác định cấu trúc niềm tin của hệ thống – các yêu cầu thông tin cho từng kế hoạch và mục tiêu. Như ví dụ trên, chúng ta có thể đề xuất vị từ một ngôi windspeed(x) để biểu diễn thực trạng vận tốc gió hiện thời là x. Một kế hoạch xác định các điều kiện gió hiện thời cần có khả năng biểu diễn thông tin này.

2.3 Wooldridge et al.: Gaia

- Phương pháp Gaia có ý định cho phép một nhà phân tích có thể tiến hành các công việc một cách hệ thống từ một bản các yêu cầu cho tới thiết kế, với đầy đủ chi tiết và có thể cài đặt trực tiếp được. Chú ý rằng chúng ta xem xét giai đoạn có được các yêu cầu là một cơ chế độc lập sử dụng cho việc phân tích và thiết kế. Trong ứng dụng Gaia, người phân tích đi từ trừu tượng cho tới các khái niệm ngày càng cụ thể. Mỗi bước giúp tiến gần tới việc cài đạt.

- Gaia mượn các thuật ngữ và ký hiệu từ phân tích và thiết kế hoặc đối tượng. Tuy nhiên, nó không đơn giản áp dụng các phương pháp hướng đối tượng cho phát triển hướng tác tử. Gaia cung cấp một tập các khái niệm cụ thể của tác tử qua đó một kỹ sư phần mềm có thể hiểu và mô hình một hệ phức tạp. Đặc biệt, Gaia khuyến khích một người phát triển xây dựng các hệ dựa trên tác tử như một quá trình thiết kế có tổ chức.

- Các khái niệm chính có thể chia làm hai nhóm: Trừu tượng và cụ thể. Các thực thể trừu tượng được dùng trong quá trình phân tích để khái niệm hóa hệ thống, nhưng không cần thiết có sự nhận dạng trực tiếp trong hệ thống. Ngược lại, các khái niệm cụ thể, được dùng trong quá trình thiết kế, và thường có bản sao giống như 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 và các phương pháp liên quan đã được phát triển trong cộng đồng hướng đối tượng. Mặc dù nhiều điểm tượng đồng giữa các ký hiệu và phương pháp, tuy nhiêm có nhiều điểm khác biệt và không thống nhất. UML là một nỗ lực để phát triển một ký hiệu chung để mô hình các hệ thống hướng đối tượng. Chú ý rằng UML không phải là phương pháp, nó là môt ngôn ngữ để lập tài liệu các mô hình của các hệ thống, Rational Unified Process được biết là phương pháp gắn với UML.

- Sự thật là UML là một chuẩn thực tế cho việc mô hình hóa. Khi xem xét các ngôn ngữ và công cụ mô hình hướng tác tử, nhiều nhà nghiên cứu thấy rằng UML rõ ràng là điểm để bắt đầu. Kết quả là đã có nhiều nỗ lực để chỉnh sửa ký hiệu UML để mô hình các hệ tác tử. Odell và đồng nghiệp đã thảo luận một số cách trong đó ký hiệu UML có thể được mở rộng để mô hình hóa các hệ tác tử. Những điều chỉnh bao gồm:

+ hỗ trợ biểu diễn các luồng tương tác song song (tức là phát ra các thông điệp), do đó cho phep UML mô hình các giao thức tác tử như Mạng liên hệ (Chương 9).

+ Một ký hiệu về vai (mở rộng ký hiệu có trong UML), cho phép mô hình một tác tử đóng nhiều vai.

2.5 Treur et al.: DESIRE

DESIRE là một chương trình làm việc để thiết kế và đặc tả các hệ thống hợp thành. Cũng như cung cấp ký hiệu đồ họa để đặc tả các hệ thống như vậy, DESIRE có liên hệ với bộ biên soạn các ký hiệu và các công cụ khác để hỗ trợ phát triển các hệ tác tử.

2.6 Luck and d'lnverno: agents in Z

Lục và d'Inverno đã phát triển một chương trình khung đặc tả tác tử bằng ngôn ngữ Z. Mặc dừ nhiều loại tác tử được xem xét trong chương trình khung này là khác với các tác tử được thảo luận trong các tác tử trong môn này. Chúng định nghĩa một kiến trúc bốn tầng các thực thể có thể có trong hệ tác tử. Chúng bắt đầu với các thực thể là các đối tượng vô tri vô giác, có các thuộc tính màu sắc, trọng lượng, vị trí và không có thuộc tính nào khác nữa. Sau đó, chúng cho phép định nghĩa các đối tượng là các thực thể có các khả năng (ví dụ các bảng là các thực thể có khả năng hỗ trợ những điều khác). Các tác tử sau đó được định nghĩa là các đối tượng có các mục tiêu, và là chủ động; cuối cùng các tác tử độc lập được định nghĩa là các tác tử cố các động cơ.

- Xuất phát từ chương trình khung cơ bản Luck và d'Inverno tiếp tục nghiên cứu các mối quan hệ khác có thể tồn tại giữa các tác tử có kiểu khác nhau. Ví dụ nghiên cứu hệ tác tử được đặc tả trong chương trình khung được cài đặt như thế nào. Họ thấy rằng có mối quan hệ tự nhiên giữa chương trình khung đặc tả tác tử và các 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 các tác tử di động (b)

- Tại sao 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 các tài nguyên mạng hiệu quả

- Có nhiều vấn đề cần giải quyết khi xây dựng các công cụ phần mềm có thể hỗ trợ các tác tử di động

+ an ninh đối với các máy chủ và các tác tử

+ sự hỗn tạp của các máy chủ

+ liên kết động

- An ninh đới với các máy chủ: Chúng ta khong muôn thực thi một chương trình bền ngoài trên máy tính của chúng ta, vì điều này sẽ gây ra các rủi ro an ninh lớn:

+ Nếu một ngôn ngữ lập trình tác tử hỗ trợ các con trỏ, thi có nguy cơ các tác tử làm sai lạc không gian địa chỉ của máy chủ -> nhiều ngôn ngữ tác tử không có con trỏ

+ Các quyền try cập như UNIX trên máy chủ

+ Các thư viện an toàn đối với việc truy cập nơi lưu trữ file, và không gian xử lý…

+ Một số hành động (ví dụ gửi thư) là vô hại trong một số hoàn cảnh, nhưng nguy hiểm trong các 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 bộ nhớ và thời gian xử lý mà các tác tử có thể truy cập.

- Các bộ xử lý hợp nhất an toàn là một giải pháp – có một bộ xử lý riêng dành cho tác tử chạy, bộ xử lý này được cách ly.

- Một số ngôn ngữ tác tử cho phép các thuộc tính an ninh của tác tử được kiểm tra trên hóa đơn. Các máy chủ phải xử lý các chương trình va chạm êm xuôi – ban nói với người sở hữu

điều gì khi tác tử của họ bị sự 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 của chúng ta, vì làm như vậy có thể cho phép người nhận xác định được mục đích và do đó là ý định của chúng ta.

- Một tác tử có thể được chỉnh sửa theo cách nào đó, không cần tri thức hay thông qua của người sở hữu

- Một tác tử có thể được bảo vệ khi truyền bằng cách dùng các kỹ thuật mã hóa cổ điển (ví dụ PGP)

- Để đảm bảo rang một tác tử không bị phá rối, có thể dung thủy ấn số - khá giống kiểm tra các chữ số.

- Sự hỗn tạp nhiều máy chủ

+ Trừ khi chúng ta hạnh phúc cho các tác tử của mình được thực hiện chỉ trong một loại máy (Mac, PC, SPARC,…), thì chúng ta phải cung cấp các hạng phục để thực thi cùng một tác tử trên nhiều loại máy khác nhau

+ Điều này kéo theo:

* ngôn ngữ biên dịch: các ngôn ngữ biên dịch kéo theo sự 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 các tài nguyên cục bộ phải cung cấp một giao diện chung cho các môi trường khác nhau.

- Một khung hình cho các tác tử di động. Ta có thể chia các tác tử di động thành ít nhất 3 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 là các tác tử có thể quyết định cho chúng nơi cúng đến, khi nào, và chúng sẽ làm gì khi tới đó (tuân theo các ràng buộc về tài nguyên nào đó, ví dụ bao nhiều tiền chúng có thể gửi)

+ Các tác tử như vậy thường được lập trình bằng một ngôn ngữ đặc biệt cung cấp hướng dẫn hoạt động…Ví dụ tiêu biể là TELESCRIPT

- Di động theo yêu cầu

+ Ý tưởng ở đây là máy chủ chỉ được yêu cầu thực thi một tác tử khi nó yêu cầu rõ ràng tác tử

+ Ví dụ về chức năng như vậy được hỗ trợ bởi ngôn ngữ JAVA, và được nhúng với HTML

+ Một người dùng với trình duyệt tương thích với JAVA có thể yêu cầu các trang HTML bao gồm các chương trình applets nhỏ được cài đặt bằng ngôn ngữ JAVA

+ Những applets này được tải cùng với tất cả các hình ảnh, văn bản, mẫu,…, trên trang, và khi đã được tải, applets được thiện thi trên máy của người dùng

+ JAVA chính nó là ngôn nhữ lập trình C/C++ cho mục đích chung, (không có con trỏ)

- Các tác tử thư chủ động

+ Ý tưởng ở đây là mang trên lưng các chương trình tác tử cho mail

+ Ví dụ được biết đến nhiều nhất là mở rộng mime thành emmail, cho phép các tập lệnh TCL an toàn được gửi đi

+ Khi email nhận được, tác tử này được giải nén, và tập lệnh được thực hiện..do đó email không còn là bị động, mà là chủ động.

- Telescript

+ TELESCRIPT là môi trường dựa trên ngôn ngữ để xây dựng các hệ tác tử di động

+ Công nghệ TELESCRIPT được General Magic đặt tên cho gia đình của các khái niệm và các kỹ thuật chúng đã phát triển củng cố thêm các sản phẩm của chúng

+ Có hai khái niệm chính trong công nghệ TELESCRIPT:

*Các địa điểm

*Các tác tử

+ Các địa điểm là các vị trí ảo các tác tử chiếm giữ. Một địa điểm có thể tương ứng với một máy đơn, và gia đình các máy.

+ Tác tử là các nhà cung cấp và các khách hàng của các sản phẩm trong các ứng dụng thuộc thị trường điện tử mà TELESCRIPT đã được phát triển để hỗ trợ

+ Các tác tử là di động – chúng có thể di chuyển từ một vị trí tới một vị trí khác, trong đó chương trình và trạng thái của chúng được mã hóa và truyền qua mạng tới một địa điểm khác ở đó việc thực thi bắt đầu.

+ Để có thể di chuyển trong mạng, một tác tử dùng thẻ, chỉ rõ các đối số của hành trình là:

* đích


* thời gian hoàn thành

+ Các tác tử có thể giao tiếp với một tác tử khác:

* Nếu chúng chiếm giữ các vị trí khác nhau, thì chúng co thể kết nối trong mạng

* Nếu chung chiếm giữa cùng một vị trí, thì chúng có thể gặp một tác tử khác.

+ Sự cho phép của các tác tử TELESCRIPT xác định:

* Điều tác tử có thể làm (ví dụ, những giới hạn đi lại)

* Các tài nguyên tác tử có thể dùng.

+ Các tài nguyên quan trọng nhất là:

* ‘Tiền’ được đo bằng số ‘teleclicks’ (tương ứng với tiền thực)

* thời gian sống (được đo bằng giây)

* kích thước (đo bằng byte)

+ Các tác tử và các địa điểm được thực thi bằng một máy

+ Một máy là một kiểu hệ điều hành tác tử - các tác tử tương ứng với các tiến trình hệ điều hành.

+ Các hệ điều hành có thể giới hạn truy cập dành cho các tiến trình (ví dụ trong UNIX, thông qua các quyền truy cập) , bởi vậy một máy giới hạn cách một tác tử có thể truy cập môi trường.

+ Điều này được gọi là khái niệm mã được 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 của tác tử và loại bỏ các tác tử vượt quá giới hạn của chúng

+ Các máy cung cấp (C/C++) đường dẫn tới các ứng dụng khác thông qua các giao diện chương trình ứng dụng (APIs)

+ Các tác tử và các địa điểm được lập trình sử dụng ngôn ngữ TELESCRIPT

* Ngôn ngữ hướng đối tượng thuần túy – mọi thứ là đối tượng

* được biên dịch

* hai mức – cao (ngôn ngữ rõ), và thấp (ngôn bán biên dịch để thực thi hiệu quả)

* một lớp ‘tiến trình’, trong đó ‘tác tử’ và ‘địa điểm’ là các lớp con

* ổn định

+ General Magic đã khẳng đinh rằng các dịch vụ giao tiếp phức tạp dựng sẵn làm TELESCRIPT lý tưởng cho các ứng dụng tác tử.

+ Tóm lại:

* một tập phóng phú các mẫu để xây dựng các ứng dụng phân tán, với khái niệm khá mạnh về tác tử

* các tác tử cuối cùng là các chương trình biên dịch

* không có khái niệm tác tử mạnh

* đã từng được nghĩ có khả năng ảnh hưởng lớn (được hỗ trợ bởi Apple, AT&T, Motorola, Philips, Sony,…) – nhưng giờ đây công ty không còn nữa

* ảnh hưởng thực có khả năng là sự hiện thực hóa các ý tưởng hơn là sự thuyết minh này.

- Các ngôn ngữ script và TCL/TK

+ Ngôn ngữ điều khiển dạng công cụ miễn phí (TCL) và bạn của nó TK ngày này thường được đề cập cùng với các hệ hướng tác tử.

+ TCL về cơ bản có xu hướng là một ngôn ngữ chỉ thị chuẩn – nhiều ứng dụng hỗ trợ các ngôn ngữ (các cơ sở dữ liệu, bảng tính…) như vậy, nhưng mỗi khi một ứng dụng mới được phát triển, một ngôn ngữ chỉ thị cũng phải được phát triển theo. TCL cung cấp các hạng mục để dễ dàng cài đặt ngôn ngữ chỉ thị của riêng bạn.

+ TK là một tập công cụ dựa trên cửa sổ X – nó cung cấp các hạng mục để làm các đối tượng GUI như buttons, labels, text and graphic windows (giống như các tập widget X).


+ TK cũng cung cấp các hạng mục cho việc giao tiếp giữa các tiến trình thông qua trao đổi các lệnh TCL.

+ TCL/TK kết hợp, làm việc dùng các công cụ phát triển GUI hấp dẫn và đơn giản.

*TCL là ngôn ngữ được biên dịch

* TCL có thể mở rộng – nó cung cấp tập nhân của các mẫu, được cài đặt bằng C/C++, và cho phép người dùng xây dựng trên đó khi cần

* TCL/TK có thể được nhúng – các trình biên dịch sẵn có như mã C++, có thể được nhúng trong một ứng dụng và có thể mở rộng.

+ Các chương trình TCL được gọi là scripts

+ TCL scripts có nhiều thuộc tính mà UNIX shell scripts có:

* Chúng là các chương trình văn bản đơn giản, chứa các cấu trúc điều khiển (lặp, tuần tự, lựa chọn) và các cấu trúc dữ liệu (biến, danh sách, mảng) giống như một ngôn ngữ lập trình bình thường.

* Chúng có thể được thực hiện trong mộ chương trình shell(tclsh hoặc wish)

* Chúng có thể gọi nhiều chương trình khác và có các kết quả từ các chương trình này

+ Ví các chương trình TCL trình diễn ra được, chúng rất dễ lập bản mẫu và gỡ rối hơn các ngôn ngữ biên dịch như C/C++ - Chúng cũng cung cấp các cấu tạo điều khiển mạnh hơn

* nhưng sức mạnh này phải trả giá về tốc độ

+ Các cấu tạo dạng cấu trúc do TCL cung cấp để lại một điều gì đó mọi người mong muốn

+ Vậy, ý tưởng về tác tử đến từ đâu?

* xây dựng các ứng dụng mà TCL scripts được trao đổi thông quan mạng và được thực hiện trên các máy tử xa, do đó TCL script trở thành một dạng tác tử.

+ Vấn đề mấu chốt là an toàn. Bạn không muốn cung cấp cho ai đó script với truy cập toàn quyền vào máy tinh của bạn mà một ngôn ngữ script bình thường (ví dụ csh) cung cấp.

+ Điều này hình thành TCL Safe, cung cấp các mô hình giới hạn truy cập một script cung cấp

+ Tuy nhiên, vấn đề an toàn vẫn chưa hoàn toàn được TCL giải quyết. Điều này giới hạn độ hấp dẫn của nó như một môi trường lập trình tác tử.

+ Tóm lại:

*TCL/TK cung cấp một môi trường phong phú để xây dựng các ứng dụng dựa trên ngôn ngữ

* Nhưng chúng không có ý định làm một môi trường lập trình tác tử

* Các mẫu hạt nhân có thể được dùng để xây dựng các môi trường lập trình tác tử - mã nguồn miễn phí, ổn đinh, thiết kế tốt, và dễ sửa.



- Yêu cầu SV chuẩn bị:

+ Đọc trước: Chương 10, Tài liệu 1

+ Bài tập về nhà: Bài 1 - 3, Chương 10, Tài Liệu 1.

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 được các nội dung sau

  • Các lĩnh vực ứng dụng

  • Tác tử trên internet

  • Các kịch bản

  • 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 do 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ử được ứng dụng hữu ích trong các lĩnh vực yêu cầu hành động độc lập

- Các tác tử thông minh được áp dụng hữu ích trong các lĩnh vực yêu cầu hành động độc lập linh hoạt.

+ Đây không là yêu cầu không thông thường! Công nghệ tác tử cho chúng ta cách xây dựng các hệ thống mà các kỹ thuật phần mềm chinh coi là 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 một tác tử được xem như một sự phỏng theo tự nhiên, và sự phát triển của ý 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ý các 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 tại có nhiều quan tâm về các tác tử di động, có thể di chuyển trong mạng (ví dụ internet) hoạt động theo yêu cầu người dùng

+ Kiểu hoạt động này đạt được bằng ngôn ngữ TELESCRIPT do 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 đang được nhiều quan tâm là sử dụng tác tử cho các giao diện

+ ý tưởng là di chuyển từ cơ chế điều chỉnh trực tiếp đã chiếm lĩnh trong một thời gian dài

+ Các tác tử cùng xem xét, học, và cuối cùng là làm những điều không cần nói đối với các ứng dụng

+ Công việc ban đầu tại 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ử trên internet

- Tiềm năng của internet

- Thực tế thường thất vọng:

+ Internet rất lớn – không luôn dễ để có thể tìm đúng thông tin bằng phương pháp thủ công (hoặc thậm chí với sự trợ giúp của các máy tìm kiếm)

- Các tìm kiếm ngữ nghĩa là khó:

+ Các yếu tố con người: Chúng ta sẽ chán bởi thời gian phản hồi chậm, thấy khó để đọc WWW cẩn thận (nó được thiết kế để chống lại điều này!), dễ dàng mất thông tin, hiểu nhầm và bị lạc hướng

+ Các yếu tố tổ chức: cấu trúc trên mạng chỉ là bề mặt - không có các chuẩn cho các trang chủ, không có đánh dấu ngữ nghĩa để nói cho bạn một trang bao gồm những gì?

- Khối lượng quá nhiều thông tin dành cho chúng ta làm chúng ta quá tải thông tin.

- Cái chúng ta muốn là một loại thư ký: người nào đó hiểu điều chúng ta quan tâm (và những điều chúng ta không quan tâm), người có thể hoạt động như ‘proxy’ và dấu thông tin mà chúng ta không quan tâm, và mang đến cho chúng ta các thông tin chúng ta cần.

- Đây là nơi các tác tử đến

- Chúng ta không thể làm cho các tác tử con người làm những nhiệm vụ như vây (trong mọi người hợp, con người có những hạn chế như đề cập ở trên)

- Bởi vậy viết một chương trình để thực hiện các nhiệm vụ này: chương trình này là cái chúng ta gọi là tác tử.

III. Các kịch bản

- Đây là một kịch bản minh họa các loại thuộc tính mà chúng ta hy vọng các tác tử internet sẽ có: Theo việc vào máy tình của bạn, bạn được biết một dang sách các thông điệp email, sắp xếp theo thứ tự quan trong bởi trợ lý số cá nhân của bạn (PDA). Bạn sau đó được biết một dang sách tương tự các bản tin; trợ lý khiến bạn quan tâm tới một bài cụ thể. Bài nay mô tả công việc cho đến nay chưa được biết rất gần với bạn. Sauk hi thảo luận điện tử với một số PDAs khác, PDA của bạn đã có một bản báo cáo kỹ thuật liên quan cho bạn từ một trang FTP, với dự đoán nó sẽ được quan tâm.

- Các hệ thống người thuyết minh đã được dùng ngày nay.

- Tác tử trả lời điện thoại, nhận ra những người gọi, làm phiền bạn khi cần, và có thể nói dối trắng trợn nhân danh bạn.

- Nếu bạn có người nào đó biết rõ bạn và chia sẻ nhiều thông tin về bạn, người đó có thể hoạt động nhân danh bạn rất hiệu quả. Nếu thư ký ốn, việc gửi Albert Einstein cho bạn là không giải quyết vấn đề. Vấn đề nay không phải là IQ. Nó là tri thức được chia sẻ và tập quán dùng nó theo những quan tâm hàng đầu của bạn

- Giống như một chỉ huy gửi người trinh sát đi trước…ban sẽ sai các tác tử thu thập thông tin cho bạn. Các tác tử sẽ gửi các tác tử. Quá trình này nhân lên. Nhưng quá trình này bắt đầu với giao diện nơi bạn ủy thác mong muốn của mình.
IV. Các trợ lý đọc thư

- Thực đơn cơ bản của các nhà nghiên cứu tác tử phần mềm…

- Pattie Maes đã phát triển MAXIMS – trợ lý đọc nổi tiếng.

‘học để xác định ưu tiên, xóa, chuyển tiếp, sắp xếp, và lưu trữ các email như người dùng mong muốn’

- MAXIMS làm việc bằng cách đứng sau người dùng và hoạc cách họ làm việc với email.

- Mỗi khi một sự kiện mới xảy ra (ví dụ email đến), MAXIMS ghi lại tình huống -> các cặp hành động được hình thành.

- Tình huống được phân biệt thông qua các đặc điểm của sự kiện

+ người gửi thư

+ những người nhận

+ dòng để

+…

- Khi một tình huống mới xảy ra, MAXIMS khớp nó với các luật đã được ghi lại trước đó.



- Cố gắng dự báo điều người dùng sẽ làm – tạo ra sự tin cậy.

- Mức độ tin cậy khớp với hai ngưỡng:

“tell me” và “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 có thể được lập trình cứng; thậm chí xin trợ giúp từ những người dùng khác.

- MAXIMS có tính cách đơn giản (một biểu tượng khuôn mặt), thông tin trạng thái tinh thần của 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ý do quan trong cho các tác tử internet là tiềm năng của thương mại điện tử.

- Phần lớn thương mại hiện tại là thực hiện thủ công. Nhưng không có lý do để đề xuất rằng các dạng nào đó của thương mại không thể ủy thác an toàn cho các tác tử.

- Một ví dụ là: tìm kiếm bản rẻ nhất của Office 97 từ các của hàng online.

- Ví dụ phức tạp hơn là: bay từ Manchester to Dusseldorf với bữa chay, ngồi cạnh cửa số, và không sử dụng điều khiển không người lái.

- Các vị dụ đơn giản về các tác tử thương mại điện tử thế hệ đầu:

+ BargainFinder của Andersen

+ Jango của NETBOT (và giờ là EXCITE)

- Thế hệ thứ hai: thương lượng, môi giới, …các hệ thống siêu thị

- Jango là một ví dụ về 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 quyết định cái để mua

+ Tìm đặc tả và duyệt sản phẩm

+ Đưa ra đề xuất

+ So sánh shopping để mua được nhất

+ Giám giát các danh sách sản phẩm mới

+ Theo dõi các đợt khuyến mãi và giảm giá đặc biệt.

- So sánh shopping có thể không? Các trang WWW tất cả khác nhau!

- Jango/ShopBot khai thác một số tính chất thường xuyên trong các trang WWW buôn bán

+ tính thường xuyên điều chuyển – các trang được thiết kế để các sản phẩm dễ tìm

+ tính đoàn thể - các trang được thiết sao cho các trang có cảm giác cùng diện mạo

+ phân theo chiều dọc: thương gia dùng khoảng trống để phân tách các sản phẩm.

- Hai thành phần chính của Jango/ShopBot:

+ học cá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 các loại cụ thể sau của tác tử có khả năng xuất hiện sớm

- Hướng dẫn du lịch: ý tương là có các tác tử giúp trả lời câu hỏi “tôi sẽ đi đâu tiếp” khi duyệt WWW. Những tác tử như vậy có thể học về preference của người dùng theo cùng cách MAXIMS làm, và không chỉ cung cấp một loại siêu liên kết đơn chuẩn thực sự chỉ ra sự quan tâm có thể của liên kết.

- Các tác tử sắp xếp: Tác tử sắp xếp sẽ cung cấp một tầng trừu tượng thêm trên cùng các dịch vụ được cung cấp bởi các tác tử sắp xếp như (LYCOS và InfoSeek). Ý tưởn là dùng các thông tin thô do các máy như vậy cung cấp, cùng với tri thức của người dùng, mục tiêu, preferce,… để cung cấp các dịch vụ theo cá nhân.

- Tìm các câu hỏi thường xuyên (FAQ): Ý tưởng là đưa người dùng tới các tài liệu FAQ để trả lời các câu hỏi cụ thể. Khi FAQs có xu hướng có tri thứ, các tài liệu có cấu trúc, có nhiều tiềm năng về các máy chủ FAQ tự động.

- Tìm tri thức: Giả sử tôi muốn biết về người quan tập về temporal belief logics. Các công cụ tìm kiếm WWW sẽ không đơn giản lấy 3 từ ‘temporal’, ‘belief’, ‘logic’, và tìm chúng. Điều này không lý tưởng: LYCOS không có mô hình bạn ám chỉ với tìm kiếm này, hoặc điều bạn thực sự 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 và các nội dụng của các dịch vụ thông tin’, để cung cấp một dịch vụ cung cấp thông tin tốt hơn.



- Yêu cầu SV chuẩn bị:

+ Bài tập về nhà: Bài 1 - 2, Chương 11, Tài Liệu 1.



+ Ôn tập thi kết thúc môn
Каталог: files -> FileMonHoc
FileMonHoc -> NGÂn hàng câu hỏi lập trình cơ BẢn nhóm câu hỏI 2 ĐIỂM
FileMonHoc -> CHƯƠng 2 giới thiệu về LÝ thuyết số
FileMonHoc -> CÁc hệ MẬt khoá CÔng khai kháC
FileMonHoc -> BỘ MÔn duyệt chủ nhiệm Bộ môn
FileMonHoc -> Khoa công nghệ thông tin cộng hòa xã HỘi chủ nghĩa việt nam
FileMonHoc -> Chủ nhiệm Bộ môn Ngô Thành Long ĐỀ CƯƠng chi tiết bài giảNG
FileMonHoc -> Chủ nhiệm Bộ môn Phan Nguyên Hải ĐỀ CƯƠng chi tiết bài giảNG
FileMonHoc -> Khoa: CÔng nghệ thông tin cộng hòa xã HỘi chủ nghĩa việt nam
FileMonHoc -> MẬt mã khóA ĐỐi xứng lý thuyết cơ bản của Shannon
FileMonHoc -> Khoa công nghệ thông tin bài giảng LẬp trình cơ BẢn biên soạn

tải về 4.09 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   36   37   38   39   40   41   42   43   44




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương