12/08/2018, 16:02

Công nghệ phần mềm hướng Agent

Công nghệ phần mềm hướng Agent - AOSE (Agent-Oriented Software Engineering) đã nổi lên như một giải pháp kỹ thuật mạnh mẽ có thể đối phó với sự phức tạp của hệ thống phần mềm hiện nay (chủ yếu trong môi trường phân tán và mở) tốt hơn so với phương pháp truyền thống khác. Tuy nhiên, AOSE không cung ...

Công nghệ phần mềm hướng Agent - AOSE (Agent-Oriented Software Engineering) đã nổi lên như một giải pháp kỹ thuật mạnh mẽ có thể đối phó với sự phức tạp của hệ thống phần mềm hiện nay (chủ yếu trong môi trường phân tán và mở) tốt hơn so với phương pháp truyền thống khác. Tuy nhiên, AOSE không cung cấp một quá trình phát triển phần mềm tự nhiên, nếu vấn đề cần phải có để một kiến trúc Agent hoặc một xã hội Agent thích hợp. Trong các phương pháp phát triển Agent hiện tại, hoặc là quá trình phát triển nhắm mục tiêu một tổ chức đại diện, mà cấu trúc không nhất thiết phải luôn tốt nhất, như trong giai đoạn định nghĩa yêu cầu, hoặc việc xác định và thiết kế của các Agent rất phức tạp,và kinh nghiệm thiết kế đóng một vai trò thiết yếu trong định nghĩa yêu cầu này.

Công nghệ phần mềm hướng Agent (AOSE) dựa trên mô hình Agent đã được mô hính hóa như một giải pháp kỹ thuật mạnh mẽ để phát triển các hệ thống phần mềm phức tạp, và nó rất thích hợp để giải quyết các hệ thống phần mềm phức tạp ngày nay. Kể từ khi xuất hiện từ trí tuệ nhân tạo , cũng giống như các ngành khác, hiện nay nó vượt lên trên so với rất nhiều các ngành khoa học máy tính như trí tuệ nhân tạo, công nghệ phần mềm, robot, và tính toán phân tán).

Khái niệm AOSE bao gồm cả việc phát triển của các phần mềm Agent tự trị (các yêu tố tự trị với khả năng phản ứng và chủ động, cố gắng để hoàn thành nhiệm vụ của mình), Hệ đa Agent (MAS) (một tập các agent tự trị tương tác với nhau, mỗi agent đặc trưng cho sự tập trung độc lập của một hệ thống điều khiển, và xã hội agent (nơi mà vai trò xã hội của các agent và luật agent hoạt động).

Các Agent, MAS và agent xã hội hiện tại cũng được biết đến bởi các nhà nghiên cứu, các công ty triển vọng với quy mô lớn và thu hút nhân công. Điều thú vị được đưa ra ở đây là hậu quả logic thực tế của các thành công đạt được theo hướng này. Giống như các chuỗi sự kiện đã được diễn ra trong lĩnh vực kỹ nghệ phát triển khác.

AOSE rõ rang không phải là một loại thần dược chữa bách bệnh, và sử dụng nó thì cũng k phải lúc nào cũng hợp lý. Có những vấn đề mà 1 agent không thể giải quyết và các vấn đề khác thì kinh phí và thời gian yêu cầu bởi cách tiếp cận này có thể quá lớn để chấp nhận được cho các công ty. Chúng tôi đã xác định một vài chủ đồ được đưa vào tải khoản khi áp dụng AOSE vào các vấn đề thực tế:

  • Phạm vi thỏa thuận trên lý thuyết agent. Mô hình mới này sẽ không có khả năng mở trộng trừ khi mô hình agent được chuẩn hóa với các đặc điểm xác định một agent, loại kiến trúc nào thì có sẵn cho agent và những tổ chức agent nào thì có thể và những loại tương tác nào có sẵn cho các agent đo, … Như mô hình UML được thành lập để mô hình hóa đối tượng, một ngôn ngữ mô hình cho agent cần được thảo luận thêm (có thể là AUML).
  • Cung cấp cơ chế cho việc quyết định có nên giải quyết vấn đề bằng một MAS. Thậm chí nếu ngay từ đầu việc này đã được hợp ly để sinh ra một giải pháp đa Agent cho một vấn đề đưa ra, thì cuối cùng cũng có thể tạo ra 1 MAS không tốt, ví dụ, không có agent có thể được xác thực hoặc không có sự tương tác giữa các agents khác.
  • Hướng dẫn các thành viên trong nhóm phát triển về lĩnh vực của agents và MAS. Ngày này, 1 số lập trình việc thường không quen thuộc với agents và MAS, điều nó có nghĩa là họ sẽ được đạo tạo trong lĩnh vực này nếu họ muốn nhận các dự án về agent cũng như MAS và để ngăn chặn sự chậm chễ trong dự án phát triển.
  • Cung cấp các ngôn ngữ lập trình và công cụ lập trình đặc biệt. Mặc dù vài năm gần đây có nhiều ngôn ngữ lập trình cho chương trình hành vi agent, một số ngôn ngữ chung như Java, C++… được sử dụng rộng dãi. Mặt khác, cũng có một số công cụ để thiết kế kiến trúc agent, chúng chủ yếu tập chung vào kiến trúc agent đặc biệt.
  • Sử dụng phương pháp luận phù với với các quá trình phát triển. Đối với các tổ chức tham gia phát triển MAS, phương pháp luận đúng đắn cần được cung cập để hướng dẫn nhưng đội phát triển hướng đến việc đạt được các mục tiêu đề ra ban đầu, mà không cần đào tạo chuyên sâu về lĩnh vực này. Giai đoạn quan trọng trong dự phát triển 1 MAS là lựa chọn phương pháp luận. Một phương pháp luận tốt khi và chỉ khi nó cung cấp những mô hình cho việc định nghĩa các phần tử của môi trường đa agent (agents, đối tượng và tương tác) và hướng dẫn thiết kế cho xác thực các phần tử, các thành phần của chúng và quan hệ giữa chúng.

Về vấn đề câu hỏi sử dụng phương pháp luận nào thì phù hợp? có nhiều phương pháp luận được đưa ra cho việc pháp triển AOSE. Mặc dù đều hoạt động trên các nguyên tắc quan trọng trong việc thiết lập lĩnh vực này, nhưng chúng tôi k cung cấp các cơ chế phù hợp cho việc xây dựng một quá trình “tự nhiên” cho việc phát triển hệ thống MAS hoặc một xác hội agent từ yêu cầu hệ thống. Đó là việc phát hiện dần dần và xác thực các khái niệm, các liên kết, các nhiệm vụ, tri thức, hành vi, các đối tượng, các agent, MAS và các xã hội agent. Ngoài ra, một phương pháp luận tốt thì không nên bắt buộc phải đưa ra kiến trúc (hướng đối tượng, hướng agent) ngay từ đầu. Phân tích đặc tả yêu cầu hệ thông chính là cách tốt nhất để chỉ ra cho người phát triển kiến trúc tốt nhất để giải quyết vấn đề.

Dựa trên nghiên vứu và nỗ lực phát triển trong lĩnh vực AOSE, chúng tôi thiết nghĩ phương pháp luận phát triển phần mềm hướng agent nên có các đặc tính sau đây:

  • Không nên đặt điều kiện sử dụng các mô hình agent ngay từ giai đoạn phân tích. Điều này quá rủi ro khi xác định hệ thông nào được thiết kế sử dụng kiến trúc đa agent trong quá trình phân tích hoặc quá trình khái niệm hóa, vì vấn đề không được đặc tả đầy đủ trong giai đoạn đầu phát triển này. Đến tận khi thiết kế thì mới biết rõ về đặc tả vấn đề và kiến trúc để đưa ra quyết định.
  • Nên dẫn đến kết luận là liệu có khả thi hay khôngđể phát triển hệ thống MAS một cách tự nhiên. Người phát triển là người có quyền đưa ra quyết định (dựa trên kinh nghiệm và chuyên môn) là có nên sử dụng hay không một hệ thống MAS để giải quyết vấn đề. Bởi vì chi phí của nó rất cao, đây là quyết định rất khó khăn để thực hiện bằng cách sử dụng hàm heuristic. Lưu ý rằng, tùy thuộc vào miền ứng dụng, thiết kế và thực thi sử dụng kiến trúc đa agent có thể có chi phí phát triển cao (thời gian, tiền bác, nhân lực…), rồi lại cả vấn đề về kinh nghiệm cá nhân của mỗi người nữa. Theo một cách khác, thì các module của hệ thống đa agent của thế cải thiện được chi phí phát triển.
  • Xác thực các thành phần của MAS một cách có hệ thống. Hiện tại các phương pháp luận bỏ quá nhiều nhà thiết kế cho việc xác thực agent. Kinh nghiệm của nhà thiết kế lá rất quan trọng cho việc tạo ra MAS chất lượng .
  • Nếu vấn đề đặc tả gọi các agent xã hội thì nên tự nhiên dẫn đến các mô hình tổ chức. Sự phát triển của hệ thống phần mềm sử dụng 1 giản lược hoặc 1 kiến trúc agent xã hội phải được bắt nguồn từ các đặc tả vấn đề, nó sẽ dẫn đến việc tạo ra được một kiến trúc phù hợp nhất. Phương pháp luận hướng agent hiện tại tập trung vào phát triên các kiến trúc thực tế (ở mức nội bộ) và/hoặc các tương tác của nó với các MAS khác (ở mức ngoài), nhưng tổ chức xã hội thì rất ít các khái niệm “cover”.
  • Nên tạo ra các agent có thể tái sử dụng, dễ dàng áp dụng và không đòi hỏi tri thức về công nghê agent một cách quá đáng. Khái niệm “tái sử dụng” là đóng góp lớn lao nhất trong lĩnh vữa phát triển phần mềm, Việc cung cấp các thư viện có nhiều các thủ tục, đối tượng hơn hoặc kỹ nghệ hướng thành phần. Ưu điểm này diễn ra trong AOSE, các thành phần agent (các giao thức tương tác) cần tái sử dụng và dễ dàng sử dụng. Phương pháp luận và phương thức thiết kế hướng agent hiện nay không được xem như là các hệ thống tái sử dụng và gọi trình độ cao hơn trong kỹ thuật MAS. Công nghệ MAS liên quan đến nhiều ngành (trí tuệ nhân tạo, tâm lý học, xã hội học, kinh tế học…) và đòi hỏi kiến thức chuyên sâu về công nghệ agent. Việc đưa ra các thiết kế cho những hệ thống như thế này đến các trung tâm nghiên cứu và các công ty với các công nghệ mới nhất.

Việc chỉ ra các ưu điểm của công nghệ agent khoảng 10 năm trở lại đây, một vài phương pháp luận được đưa ra để thúc đẩy MAS phát triển, những phương pháp luận này là tập hợp các lớp được tiếp cận dựa trên công nghệ agent, dựa trên định hướng đối tượng, và dựa trên kiến thức kĩ thuật.

               Hình 1. Phương pháp luận hướng agent

3.1 Phương pháp luận dựa trên công nghệ Agent

Nhưng phương pháp luận này tập trung vào các nhóm hoặc các tổ chức trừu tượng ở mức xã hội giống như agent. Các phương pháp luận tiêu biểu là: Tropos, Gaia, metheus, SODA, Styx, HLIM, Cassiopeia. Mặc dù các phương pháp này có tâm quan trọng trong việc phát triển agent, các phương pháp luận này có một số hạn như sau:

  • CÁc phương pháp luận dễ xuất sử dụng mô hình agent như đặc tả tài liệu (HLIM, Cassiopeia..) hoặc pha phân tích (Tropos, SODA, Gaia..). Lựa chọn của một hệ thông đa agent nên là “thiết kế”. Vì vậy một phương pháp luận hướng agent Khong nên tiến hành phân tích hướng agent cụ thể. Không phương pháp luận nào được đưa ra cho việc sử dụng mô hình phân tích chung thì có thể được sử dụng để đanh giá xem có hay không một cách tiếp cần hệ đa agent phù hợp.
  • Tất cả các phương pháp luận xác định các agent từ vai trò xã hội (như SODA, Gaia…) hay các tác nhận (Tropos, Prometheus) thực hiện quá trình xác định theo hướng top-down và không có các thành phần của nó. Sự xác định agent theo hướng bottom-up và bao gồm các thành phần của nó chính là tiêu chí khách quan nhất, vù nó phụ thuộc hoàn toàn vào các vấn đề và giúp giảm bớt các hệ thông hóa và quá trình xác định tự động. Mặt khác, tiêu chí vai trò (hay tác tử) là chủ quan hơn, tiêu chí và vai trò này cũng còn tùy thuộc vào người thiết kế và phân tích xác định chúng ntn.
  • 3 khía cạnh cần được xử khi để phát triển 1 MAS là : cấu trúc intra-agent, inter-agent và cấu trúc xã hội. Hầu hết các phương pháp luận bao gồm intra-agent và inter-agent (Tropos, Gaia, Styx, HLIM), nhưng chỉ có SODA và Cassiopeia là đửaa cấu trúc xã hội.
  • Phân tích môi trường là một điểm quan trọng. SODA là một phương pháp luận để phân tích môi trường, các tổ chức và tương tác của agent đó.

3.2 Phương pháp luận dựa trên hướng đối tượng

Những phương pháp luận này được mô tả bằng cách mở động các kĩ thuật hướng đối tượng bao gồm cả các khái niệm cơ bản. Tiêu biểu như: ODAC, MaSE, MASSIVE, DESIRE. AAII. AOMEM, AOAD, MASB…

Từ quan điểm hướng agent, phương thức này đang bị cản trở bởi các vấn đề sau đây. No không đưa ra mô hình phân tích chung cho sử dụng. Một số phương pháp luận xác định các agent ngay trong khi phân tích như ODAC và AOAD, duy nhất chỉ có DESIRE là thực thi quá trình nhận dạng agent theo hướng bottom-up. Hầu hết các phương pahps luận (ODAC, MASB, DESIRE, AAII, AOMEM, AOAD và MASB) bao gồm cả khía cạnh inter-agent và intra-agent, chỉ riêng MASSIVE và AOAO thì bao gồm cấu trúc xa hội. Cuối cũng với ngoại lệ của MASSIVE không phương pháp luận nào đưa ra các tính năng môi trường. Các phương pháp luận này xử lý các agent giống như một đối tượng phức tạp, điều này là sai bởi vì các agent có mức trừu tượng cao hơn là các đối tượng. Chúng cũng sai khi mà thực hiện nắm bắt các hành vi tự trị của agent, tương tác giữa các agent và cấu trúc tổ chức.

3.3 Phương pháp luận dựa trên hướng kiến thức kĩ thuật

Phương pháp luận này được mô tả bằng cách nhánh mạnh việc xác định, thu thập, và mô hình hóa các kiến trúc được sử dụng bởi các agent thành phần. Hầu hết các phương pháp luận đại diện thì có nguồn gốc từ phương pháp luận có tên là CommonKADS và MASCommonKADS và CoMoMAS.

Nhưng phương pháp luận này cũng gặp phải một số vấn đề. Giống như các phương pháp đã trình bày phía trên, những phương pháp luận này không thể đưa ra một mô hình phân tích chung cho việc sử dụng. MAS CommonKADS xác định các agent ngay trong khi phân tích theo hướng top-down. Tất cả đều đưa ra các khía canh như intra-agent và inter-agent, nhưng không bao gồm các vấn đề xã hội hoặc phân tích môi trường.

Phương pháp luận này tiếp cần trực tiếp dựa trên công nghệ agent và có lẽ là phương pháp tốt nhất so với 2 phương pháp còn lại, bởi vì nó được dựa trên các khai niện nội tại của agent và tổ chức agent trong MAS. Về cơ bản nó xác định những điểm nó phân tích vấn đề cho mô hình agent, trong khi mô hình này có thể đưa ra được các công nghệ agent không thích hợp và không phải là lựa chọn tối ưu để giải quyết các vấn đề.

Ngắn gọn hơn, tôi tin rằng một phương pháp luận AOSE là phương pháp tốt nhất khi định nghĩa 1 mô hình kiên trúc và mô hình thiết kế độc lập có thể xác định được agent dựa vào quá trình xác định agent theo hương bottom-up, có thể xác định được intra-agent, inter-agent và cấu trúc xã hội của agent, có thể phân tích môi trường và xác định đối tượng môi trường.

0