Khái quát những xu hướng hiện tại trong nghiên cứu AOSE ở Châu Âu



Agent Oriented Software Engineering (AOSE)
Theo quan điểm xây dựng phần mềm, cách tiếp cận Agent đang tạo những bước chuyển biến lớn trước sự trưởng thành của nó. Ngày nay nó được sử dụng một cách tích cực trong việc phân tích và thiết kế những hệ thống phức tạp. Liên quan đến hoạt động của AgentLink AOSE TFG, trong bài viết này chúng tôi nói đến triển vọng của những xu hướng nghiên cứu lĩnh vực này hiện nay, tập trung chủ yếu từ các kết quả nghiên cứu của các tập đoàn Châu Âu. Đầu tiên, chúng ta bàn đến khái niệm Agent là gì, đặc biệt theo khả năng của việc thiết kế phần mềm. Chúng tôi đưa ra những xu hướng gần đây trong việc tạo mẫu hệ thống Agent và đa Agent và sau đó khái quát lại các hoạt động khác nhau trong quá trình phát triển Agent: Từ sự phân tích và thiết kế cho việc ứng dụng, kiểm tra và thử nghiệm cuối cùng.

1. Giới thiệu:
Với số lượng ngày càng tăng những ứng dụng kỹ thuật thành công dựa trên mô hình Agent xác nhận tính khả thi của phương thức tiếp cận, chúng ta quan tâm nhiều đến ứng dụng của nó trong lĩnh vực công nghiệp. Điều ngày hàm chứa trong nó khái niệm tiến trình kỹ nghệ phần mềm, sử dụng lại, vừa phải và thiết thực trong sự phát triển của hệ thống đa Agent (MAS). Do đó, trong lĩnh vực Agent, những cố gắng xây dựng khái niệm các phương pháp và công cụ trong việc hỗ trợ việc xây dựng phần mềm Agent (AOSE) là rất lớn.
Điều này liên quan đến khái niệm việc tạo các ngôn ngữ cho đặc điểm kỹ thuật của MAS, những kĩ thuật cho việc suy luận và phân tích yêu cầu, những kiến trúc và phương thức thiết kế các Agent, các tổ chức, các nơi ứng dụng và thực hiện MAS, các phương thức kiểm tra và xác nhận. Xem xét sự đa dạng của những ảnh hưởng trong mô hình Agent (Từ đối tượng đến các hệ thống nền kiến thức, nhưng cũng từ các lĩnh vực khác như tâm lý học, sinh học và khoa học xã hội), có nhiều cách tiếp cận theo trật tự sẽ hợp nhất và kết hợp trong một khối kiến thức và thực hành chung. Đây là một trong những mực tiêu của những việc làm hiện tại ở cấp Châu Âu như nỗ lực của AgentLink (www.Agentlink.org), hay sự cộng tác trong các tổ chức đánh giá tiêu chuẩn như FIPA (www.fipa.org).

Ở bài viết này, chúng tôi cố gắng đưa ra triển vọng của những xu hướng nghiên cứu hiện tại trong lĩnh vực này, đặc biệt ở các tập đoàn Châu Âu. Đây cò thể là tài liệu khởi đầu hữu ích hướng tới việc xem xét các vấn đề cụ thê (Theo ý này – một thư mục lớn), được bổ sung những chủ đề có liên quan bằng những bài viết khác trong lĩnh vực đặc biệt này. Bài viết bắt đầu bằng việc bàn về khái niệm Agent là gì đặc biệt là từ triển vọng của việc lập ứng dụng phần mềm (Phần 2). Sau đó nói đến xu hướng trong việc tạo kiểu hệ thống này (Phần 3). Tiếp theo là khái quát lại những hoạt động khác nhau trong quá trình phát triển của MAS như phân tích và thiết kế (phần 4), ứng dụng (phần 5), kiểm tra, thử nghiệm (phần 6). Phần kết luận (phần 7) đưa ra quan điểm của các tác giả bài viết này về phương pháp làm việc và xu hướng nào sẽ nghiên cứu tiếp theo trong lĩnh vực này.

2. Từ đối tượng đến các hệ thống Agent và đa Agent
Thông thường khi giải quyết khái niệm Agent và cách xây dựng những ứng dụng dựa trên Agent, một câu hỏi được đưa ra đó là: Các Agent có thể được coi là một sự mở rộng của các đối tượng và khi đó việc lập phần mềm hướng vào đối tượng thông thường có thể được sử dụng để lập các ứng dụng dựa trên Agent? Vài bài viết đã cố gắng trả lời câu hỏi này, các bài viết khác đã so sánh các Agent với những chương trình hoặc với các thành phần cấu tạo nên. Nhiều tác giả đồng ý với thực tế là việc phân biệt các Agent và đối tượng khó vì tuy có khác nhau nhưng họ có chung quan điểm chủ yếu về các khái niệm như sự tự chủ và sự tương tác.
Cả Agent và đối tượng được gói gọn trong trạng thái của chúng. Ở đối tượng, trạng thái được xác định bởi các giá trị của một loạt các biến số trong khi đó ở Agent, nó có thể được hiểu theo mục tiêu, long tin, sự thực, v.v những cái quyết định trạng thái tinh thần. Đối tượng có thể kiểm soát trạng thái của chúng thông qua việc sử dụng những đặc tính riêng hoặc sử dụng các phương thức nhưng bất kỳ một phương thức công cộng nào của một đối tượng cũng có thể được một đối tượng khác sử dụng bắt đối tượng cũ thực hiện hành động được phương thức đó mô tả. Khi đó, đối lập với Agent, một đối tượng có một quyền kiểm soát hạn chế đối với hành vi của nó bởi vì một Actor (the caller) bên ngoài sẽ quyết định phương thức nào được thực thi. Còn đối với một Agent, nó có thể quyết định theo hành vi nào (phụ thuộc vào mục tiêu, trạng thái bên trong, sự hiểu biết về môi trường), không phải là một cái gì khác bắt nó theo.
Do đó, trong Agent khái niệm tự trị được thể hiện rõ nét hơn. Điều này có ý nói rằng chúng luôn có quyền kiểm soát riêng, trong khi đó object luôn là thực thể bị động, chúng hoạt động chỉ khi một trong những phương thức của chúng được một object gọi đến. Sự khác nhau này có thể không rõ nét với khái niệm các object  chủ động trong đó một object có quyền kiểm soát riêng. Tuy nhiên, các Agent có vài đặc điểm khiến chúng hơn cả các object chủ động.
Theo Van Parunak và Odell, các Agent thể hiện sự tự trị năng động (hành vi của chúng có thể tác động trở lại khi chúng gặp phải những sự thay đổi trong môi trường, tác động mạnh hơn khi chúng có thể đưa các thực thể  vào các hoạt động hướng tới mục tiêu, và mang tính xã hội khi chúng giao tiếp với các Agent khác trong các tổ chức) cũng như sự tự trị không thể đoán trước được (hành vi của chúng phụ thuộc vào trạng thái của chúng, mục tiêu cá nhân của chúng và sự tương tác của chúng với Agent khác).
Object chủ động sẽ trở thành Agent nếu chúng nhận được “sự khởi đầu”. Tuy nhiên, sự phân biệt này không phải lúc nào cũng được rõ ràng. Do đó các công việc trong miền Agent ví dụ như việc hợp thức hóa các vấn đề điều phối, thường liên quan nhiều tới lý thuyết tương tranh thông thường và không quan tâm đến các mặt chủ tâm của Agent
Cái gì thực sự tạo nên sự khác nhau, theo nhiều tác giả đó là chiều hướng xã hội của các Agent ( chẳng hạn, thử nghiệm Huhns-Singh cho thấy một hệ thống gồm một hay nhiều Agent sẽ thay đổi đáng kể nếu thêm một Agent khác vào hệ thống). Các Agent không thể được xem xét trong sự tách biệt và là các thực thể xã hội giao tiếp và tương tác với các thực thể khác trong cùng một môi trường. Giao tiếp giữa các object được hiểu như là các thông điệp mà các phương thức chủ động nhưng trong miền Agent, giao tiếp này nhiều hơn trong sự đa dạng cả về cơ chế và ngôn ngữ, điều này được hiểu một mức độ trừu tượng hơn, ví dụ như về mặt bản thể và hành động lời nói. Triển vọng xã hội này cũng được phản ánh trong khái niệm các tổ chức với những quy tắc xã hội và các mối quan hệ trong các Agent.
Do đó, việc sử dụng kỹ nghệ phần mềm hướng đối tượng có thể áp dụng cho sự phát triển của MAS, nhưng cũng cần vài sự mở rộng để giải quyết các vấn đề xã hội ( tổ chức, tương tác, điều phối, thỏa hiệp, hợp tác), hành vi phức tạp hơn (tự trị, trạng thái tinh thần, mục tiêu, nhiệm vụ), và một cấp sự đồng bộ và phân tán lớn hơn.
2.1 Định nghĩa Agent
Một Agent được hiểu là bất kỳ cái gì mà có thể được xem như nhận biết được môi trường của nó thông qua các bộ cảm biến và hoạt đông dựa trên môi trường đó thông qua các hiệu ứng. Theo Ferber, Agent vẫn ở trong một môi trường ông xem xét Agent với các đặc điểm khác.
Khi đó một Agent có khả năng giao tiếp trực tiếp hoặc không trực tiếp với các Agent khác, nó được điểu khiển bởi một loạt các xu hướng sở hữu các nguồn lực của riêng nó, có một thể hiện hạn chế trong môi trường, có các kỹ năng và cung cấp dịch vụ, và có thể tự tái tạo. Hành vi của nó có xu hướng thỏa mãn các mục tiêu xem xét các nguồn lực và kỹ năng sẵn có trong các mối quan hệ với sự nhận thức, sự thể hiện, và sự giao tiếp nó nhận được. Phụ thuộc vào bản chất các ứng dụng mà các Agent sử dụng, có các nhãn khác nhau của Agent: Ví dụ như, Các Agent được đánh giá là tự trị, thông minh hoặc tính di động. Quá nhiều nhãn như vậy khiến thuật ngữ “Agent” gần như không có nghĩa bởi vì nó được sử dụng quá thường xuyên, đại diện cho bất cứ cái gì. Bởi vậy người ta đưa ra khái niệm chính thức cho agency. 

2.2. Định nghĩa hệ thống đa Agent (MAS)
Hầu hết các tác giả đồng ý với quan điểm một MAS là một hệ thống gồm các Agent giao tiếp và hợp tác để đạt được các nhiệm vụ cá nhân cụ thể. Điều này liên quan đến những thứ đã nói ở trên, mỗi Agent không phải là một thực thể tách biệt, nó chỉ có thể hiểu được khi đặt nó trong một môi trường khi các Agent khác tồn tại với các Agent mà nó có thể tương tác. MAS phù hợp cho việc giải quyết những vấn đề mở và phức tạp.
Tổ chức hỗ trợ để quản lý các vấn đề phức tạp bằng việc xác định cấu trúc, tiêu chuẩn và sự phụ thuộc. Trong vài trường hợp, rõ ràng tổ chức là chủ thể của việc phân tích và thiết kế. Nhưng trong hướng tiếp cận nhất định, xuất hiện trong thời gian chạy. Điều này cho phép phân tích các hành vi trong các hệ thống không biết trước cấu trúc  một cách dễ dàng. Theo quan điểm của AOSE, điều này có nghĩa là cả hai hướng tiếp cận top-down và bottom-up đều linh hoạt khi xây dựng một MAS, phụ thuộc vào vấn đề nghiên cứu.

2.3. MAS Meta-models
Mô hình Meta là một phương tiện để đưa ra các khái niệm được sử dụng trong một hệ thống. Điều này hỗ trợ phân tích và thiết kế thông qua việc phân biệt các hoạt động cho việc cụ thể hóa các thực thể mô hình Meta chú ý đến mục tiêu ứng dụng. Ví dụ, Aalaadin định nghĩa một mô hình Meta đầu tiên cho MAS theo 3 khái niệm chính: các Agent, các nhóm và các vai trò. Với mô hình Meta, nhà phát triển tiếp cận điều khiển tổ chức để xây dựng một MAS. Một tổ chức là sự ràng buộc giữa nhóm Agent và mô tả bởi cách tương tác. Các Agent được hiểu theo chức năng của chúng trong tổ chức (Role) và thuộc về một hay nhiều Groups, có thể cho việc đạt được một số khả năng. Cái nhìn tổng quan về xu hướng hiện tại
Các mô hình Meta Informatica 29 (2005) 379–390 381 cũng hữu ích cho việc hợp nhất các khái niệm. Đây là hướng tiếp cận của dự án MESSAGE, có mục tiêu định nghĩa một phương thức cho sự phát triển những ứng dụng từ xa sử dụng công nghệ Agent. MESSAGE chấp nhận các khái niệm từ các phương thức khác nhau trong một khung chung. Định nghĩa được đưa ra sử dụng mô hình Meta. Hơn nữa, những mô hình này được sử dụng để xây dựng trình soạn thảo đồ họa. Để giải quyết các vấn đề phức tạp của MAS, MESSAGE đã được cấu trúc định rõ mô hình Meta trong năm quan điểm: tổ chức, Agent, mục tiêu/nhiệm vụ, miền, và các tương tác. Trong thế giới object, khái niệm object được định nghĩa rõ ràng theo tiêu chuẩn và hầu hết tất cả các nhà phát triển đồng ý với cái tạo ra hệ thống hướng đối tượng. Khi đó mô hình Meta có thể phụ thuộc vào các khái niệm tiêu chuẩn như UML
Trái lại, không có hình thức thể hiện các thành phần cấu trúc được chấp nhận phổ biến rộng rãi (Agent, vai trò, hành vi, …) mà bao gồm một MAS cụ thể, có sự ràng buộc. Điều này tồn tại vài phương pháp luận hướng Agent để đưa ra khái niệm riêng và cấu trúc hệ thống được minh họa bởi mô hình Meta MAS đặc biệt sự thiếu thống nhất ở mức độ mô hình Meta MAS khi đó ở mức độ khái niệm Agent ngăn chặn không cho các nhà phát triển sử dụng lại các phần của phương pháp luận hướng Agent để xây dựng các phương pháp luận riêng đặc biệt phục vụ cho các nhu cầu.
Một bước tiến xa hơn theo hướng này sẽ là sự tiêu chuẩn hóa tiến trình cần thiết phải theo để xây dựng phương pháp luận mới. Điều này sẽ đáng để tạo ra kỹ nghệ hướng Agent sử dụng trong trong công nghiệp. Từ triển vọng này, đã có những cố gắng để tìm ra mô hình Meta thống nhất dựa trên một vài phương pháp luận hoặc cố gắng tiến tới sự đồng thuận trong cộng đồng Agent với công việc của FIPA Modelling TC hoặc AgentLink III AOSE TFG.

3. Mô hình các Agent
Các mô hình Agent và MAS cần thích nghi với ngôn ngữ mô phỏng, các khái niệm và các công cụ. Các Agent, nói trên, không khác nhiều so với object và hầu hết các phương thức mô hình dựa trên các công cụ từ miền hướng đối tượng. Ngôn ngữ mô phỏng được chấp nhận rộng rãi nhất sử dụng cho kỹ nghệ phần mềm hướng đối tượng là UML. UML là một tiêu chuẩn de facto và hầu hết các công cụ mô hình dựa trên tiêu chuẩn đó, trợ giúp sự phát triển các công cụ.
Tuy nhiên, UML không cung cấp tất cả các thành phần khái niệm mô hình hóa các đặc trưng cụ thể của Agent. Khả năng mở rộng UML đã được sử dụng hỗ trợ mô hình hướng Agent. Ví dụ, Agent-UML (AUML) mơ rộng sơ đồ chuỗi UML để cụ thể hóa Nghi thức tương tác Agent thông qua cung cấp các cơ chế để định nghĩa vai trò Agent, vòng đời Agent (luồng tương tác, có thể chia thành hai hoặc nhiều vòng đời và trội lên ở một vài điểm sử dụng liên từ như AND, OR, XOR).
4. Phân tích và thiết kế các Agent.
4.1 Các phương thức tiếp cận chính thức
Nhiều tác giả đã xem vấn đề phân tích và thiết kế các hệ thống hướng Agent như một phương thức tiếp cận chính thức.
Điều này bao gồm việc bắt đầu sử dụng một phép toán để có được một chi tiết đúng của hệ thống. Sản phẩm của một phương thức chính là một chi tiết phù hợp có thể sử dụng để kiểm tra sự phù hợp với yêu cầu của người sử dụng hoặc dùng để đánh giá kết quả cuối cùng. Một vài ứng dụng sử dụng tính logic để trình bày hệ thống này. Ví dụ như LORA được tìm thấy trong logic đưa ra đầu tiên bao gồm yếu tố BDI (được sử dụng cho kiến trúc Agent), yếu tố thời gian (được sử dụng để cụ thể hóa tính năng động của hệ thống), và yếu tố hành động (được sử dụng để thể hiện các thao tác của Agent). LORA được MABLE chọn . MABLE (ngôn ngữ sử dụng cho thiết kế MAS) cho phép kiểm tra tự động hệ thống Agent. Situation Calculus là một sự thể hiện khác của lĩnh vực nghiên cứu này. Nó là logic đầu tiên, có khả năng thể hiện các miền động. INDIGOLOG là một ứng dụng gần đây của SITUATION CALCULUS. Nó trợ giúp việc thiết kế các Agent thông minh tự động có thể thực hiện đồng thời việc lập kế hoạch và thực hiện các kế hoạch trong các môi trường chưa biết rõ. Ở INDIGOLOG tính động của môi trường được tạo nên nhờ SITUATION CALCULUS trong khi đó hành vi của Agent được thiết kế theo một quy trình. Một phương thức tiếp cận chính thức khác là nhờ M.Luck và M.D’ Inverno. Đó là sự ứng dụng ngôn ngữ Z vào chi tiết của các Agent. Z dựa trên phép tính logic đầu tiên, gồm giới thiệu đầu tiên về khái niệm sơ đồ. Sơ đồ gồm phần trình bày và những vấn đề liên quan. Các Agent trong Z được hiểu theo một hệ thống cấp bậc gồm các thực thể, các đối tượng, các Agent, các Agent tự chủ. Trong ứng dụng này các tác giả đã lấy một số trải nghiệm với Z cho kế thừa số lượng lớn các công cụ gồm mã số sản xuất và các khả năng kiểm tra mẫu.

4.2. Các phương thức tiếp cận không chính thức
Các phương thức tiếp cận không chính thức cho biết chi tiết kỹ thuật và thiết kế vác hệ thống Agent hầu hết dựa trên việc sử dụng ngôn ngữ cấu trúc tự nhiên và lý thuyết đồ thị. Trong đó, đối với chi tiết kỹ thuật yêu cầu cho hệ thống. Các sơ đồ liên quan đến UML như Use-Case và các sơ đồ chuỗi được sử dụng rất phổ biến. Các bước tiếp cận này phần lớn hướng vào các yêu cầu và thường có mục đích tìm ra các chức năng của hệ thống thông qua xem xét và khám phá.
Một vài phương pháp luận thiết kế Agent thực hiện thao tác kỹ thuật theo cách này. Nhìn chung gồm một quy định thiết kế hoàn chỉnh. Về cơ bản chúng ta có thể phân biệt ba loại chi tiết kỹ thuật không chính thức. Đó là tiếp cận hướng chức năng (thường sử dụng sơ đồ Use – case) tiếp cận hướng mục tiêu (xác định các mục tiêu của hệ thống và phân chia trong các Agent), và tiếp cận hướng vai trò. Trong khi các chi tiết kỹ thuật hướng chức năng và mục tiêu được bíết đến nhiều và được sử dụng rộng rãi trong ngữ cảnh hướng đối tượng thì các chi tiết kỹ thuật hướng vai trò lại thể hiện cụ thể hơn trong cộng đồng Agent. Chi tiêt kỹ thuật chức năng được sử dụng  trong phương pháp luận PASSI và ROADMAP. Cả hai cùng sử dụng sơ đồ Use-case . PASSI bắt đầu việc phân tích bằng Use-case tiến đến mã số sản xuất và thử nghiệm trong một quy trình lặp đi lặp lại. Nó gồm việc thực hành sử dụng lại các đặc tính mở rộng và được hỗ trợ bởi một công cụ thiết kế cụ thể (PTK), trong đó có một số khâu tự động.
Sự phân biệt  và tạo mẫu các mục tiêu hệ thống là một phần của phương pháp luận MESSAGE. Phương pháp luận này dựa trên các mẫu Meta hỗ trợ 5 quan điểm khác nhau của MAS: tổ chức, Agent, nhiệm vụ, mục tiêu, tương tác, và môi trường. INGENIAS sàng lọc mở rộng các mô hình Meta và sử dụng chúng để xây dựng các công cụ hỗ trợ cho tất cả các bước trong chu kỳ phát triển. Hơn nữa, đối với sự lý giải các yêu cầu, INGENIAS đề nghị dựa trên lý thuyết hoạt động để phân tích các vấn đề xã hội định sẵn của hệ thống bằng việc cung cấp một loạt các đặc tính trái ngược khiến nhà phát triển nhận ra những xung đột trong các chi tiết kỹ thuật của Agent và các mục tiêu tổ chức. Tropos bắt đầu từ hệ thống cơ bản i*. Hệ thống này đã được phát triển chủ yếu bàn về hệ thống thông tin, vai trò, niềm tin, cam kết và mục tiêu được sử dụng để tạo nên tổ chức hệ thống. Tropos sử dụng tiếp cận phân tích yêu cầu này và hợp nhất nó trong một quy trình hoàn chỉnh đi từ đặc điểm kỹ thuật đến thiết kế chi tiết. Một trong những đặc trưng cơ bản của Agency là sự tương tác. Thậm chí có thể nói rằng, đây cũng là mặt cơ bản của một vài thử nghiệm tiêu chuẩn của FIPA hoặc OMG MAF. Do đó, nhiều tác giả đã dành sự chú ý vào việc nắm bắt các khía cạnh tương tác thông thường băng việc tạo mô hình các vai trò của Agent.
Các phương pháp luận châu Âu coi mô hình vai trò có tầm quan trọng, đáng chú ý là GAIA, SODA và RICA (cũng như MESSAGE, INGENIAS và PASSI). GAIA là phương pháp luận có ảnh hưởng nhất. Phương pháp này quan tâm đến việc phân tích hệ thống như một xã hội, một tổ chức bao gồm một loạt các vai trò mà sau đó được chỉ định cho các Agent. Các vai trò của GAIA liên quan đến nhau và tham gia vào các đặc tính tương tác với vác vai trò khác nhau. Các vấn đề về thực hiện không được giải quyết trong phương pháp luận này vì còn phụ thuộc vào môi trường khai thác Agent được lựa chọn. Ban đầu, mặc dù GAIA gặp phải hạn chế trong việc giải thích các hệ thống đóng và quên đi khả năng của Agent, đã tìm ra các khai niệm như: vai trò tổ chức, cách quản lý các hệ thống mở phức tạp hơn. SODA hướng mục tiêu đến việc tạo mô hình hành vi của các cộng đồng Agent và các môi trường của chúng. SODA chú ý đặc biệt đến các tương tác của Agent (bắt đầu từ mô hình đến vai trò) nhưng không xem xét thiết kế của các cấu trúc bên trong Agent . Một phương pháp luận khác xem vai trò của một vị trí đặc biệt là RICA. Nó hợp nhất những kía cạnh thích ứng của các ngôn ngữ giao tiếp Agent, các mô hình tổ chức và bản thân nó dựa trên các khái niệm vai trò giao tiếp và tướng tác. Các tác giả khác đã nỗ lực tập trung vào sự điều phối giữa các Agent. Tiếp cận dựa trên điều phối trung tâm đến việc mở rộng hệ thống, sự hiện diện của các Agent và luật xã hội MASS, luật này quy định toàn bộ hành vi của các Agent. Do đó chứa đựng các vấn đề tạo mô hình vai trò đơn. Đôi khi sự điều phối cũng tiếp nhận điều phối các chương trình (như hệ thống MARS). Những tác giả khác lại quan tậm đặc biệt đến các phương pháp thiết kế bằng việc giải quyết các vấn đề điều phối. Một phương phát thú vị khác đã giải thích điều phối các Agent tự động là Cassiopea. Quy trình thiết kế Cassiopeia dựa trên khái niệm về vai trò, Agent, sự phụ thuộc vào nhóm.
Một Agent được xem như là một loạt các các vai trò (có thể là vai trò cá nhân, vài trò liên hệ và vai trò tổ chức). Phương pháp luận này đưa ra vài lớp khác nhau trong đó vai trò tổ chức miêu tả sự năng động của các nhóm bằng việc định nghĩa vai trò mà các Agent phải làm để cho nhóm xuất hiện. Sự phụ thuộc trong số các vai trò gồm 3 loại: dựa vào chức năng, dựa vào nguồn và dựa vào mục tiêu. Theo nghĩa này, phương pháp trên một phần gợi lại hệ thống i*. Cassiopeia khẳng  định rằng các Agent hợp tác với nhau và phương pháp này cũng giống như phương pháp, trong ADELFE. Phương pháp này bàn về MAS thích ứng. Phần mềm thích nghi có thể sử dụng một cách có ích trong một số tình huống mà môi trường không thể đoán trước được hoặc hệ thống mở. Trái với Cassiopea, trong ADELFE, các Agent không đặc trưng bởi các vai trò mà bởi các nguyên tắc hợp tác mà chúng phải tuân theo. Những nguyên tắc này được mô tả  theo một cách ngoài các luật chúng đã giải thích các tình huống không hợp tác là gì và chúng khiến một Agent quyết định xem tại sao và khi nào thay đổi tương tác với các Agent khác. Theo lý thuyết của AMAS sự hợp tác được xem như là động cơ thích nghi. Những đóng góp khác cho thiết kế Agent không chính thức là của MaCMAS/UML một phần của phương pháp luận MAS lớn, phức tạp và các công việc tạo mô hình và những quy tắc trong Islauder.

4.3. Các tiếp cận Multi-view
Dựa trên phương pháp luận về 3 phương thức được biết đến để giải quyết tính phức tạp -  đã được Booch đề cập. Đó là: tách xa, phân tích và phân bậc. Các hệ thống hướng Agent phức tạp hơn hệ thống hương object và do đó một cách quản lý có hệ thống sự phức tạp này là rất cần thiết. Các quan điểm về cấu trúc MAS xuất hiện trong nhiều phương pháp luận. Một trong những phương pháp đầu tiên là Vowels Engineeng trở thành cơ sở cho tiếp cận MAGMA. Nó xem xét 5 nguyên âm chữ Latinh là: Agent, Eucironment, Interaction, Organization và User.Các kỹ thuật khác nhau có thể áp dụng để thiết kế từng mặt. Các Agent có thể xem là các hệ thông kiến trúc phức tạp hoặc tự chủ. Tương tác có thể được nghiên cứu như các mô hình vật lý. Các tổ chức có thể được hiểu là các mô hình sinh học hoặc được quy đổi như mô hình xã hội. Mục đích của phương pháp này là xem xét các thành tố để đưa ra giải pháp cho mỗi khía cạnh. Do đó nhà thiết kế có thể tạo ra các một mô hình Agent, một mô hình tổ chức,… Phương pháp này xem xét các mặt trong một trật tự phụ thuộc vào loại hệ thống nào đang được phát triển. Ví dụ, nếu các mối quan hệ xã hội là quan trọng thì quá trình phát triển sẽ bắt đầu bằng tổ chức. Nếu các quá trình bắt đầu bằng Agent thì khi đó hệ thống sẽ có một tổ chức hình có thể coi như kết quả của một tương tác giữa các Agent. Các quan điểm này được áp dụng tương tự như trong các phương pháp luân MESSAGE và INGENIAS. Những phương pháp này định nghĩa lại các quan điểm về tổ chức, Agent, môi trường, miền, mục tiêu, nhiệm vụ và tương tác. Khái niệm về mức trong Agent cũng là một cách khác xem xét các quan điểm trên. Đầu tiên được Nevell và Jennings giới thiệu, gọi là mức kiến trúc và bổ sung nó băng cấp độ xã hội mới. Mức kiến trúc quan tâm đến Agent. Agent được xem như một người giải quyết các vấn đề xã hội. Trong khí đó mức xã hộ quan tâm đến các tổ chức xã hội. Các quan điểm khác theo hướng này thể hiện các triển vọng khác nhau, hướng trực tiếp hơn đến sự thể hiện của hệ thống theo một quan điểm khác (kiến trúc, xã hội, kiến thức, máy tính, nguồn, tự chủ) hơn là mức độ trừu tượng. Các phương pháp luận khác nhau nhấn mạnh vào việc lập mô hình MAS theo quan điểm khác nhau có thể kể đến MAS-CommonKADS, ODAC, và MASIVE.

4.4. Các mô hình vòng đời thiết kế Agent
Toàn bộ hoạt động và thời kỳ cần thiết để phát triển và duy trì một hệ thống phần mềm luôn là quy trình phầm. Fuggetta xem nó là “tập hợp thống nhất các chính sách, cấu trúc tổ chức, công nghệ, quy trình và công cụ cần thiết để diễn giải, phát triển, triển khai và duy trì một hệ thống phần mềm”, đây cũng được biết đến như một chu trình vòng đời của phần mềm. Thông thường chuỗi các thời kỳ gồm một quy trình phần mềm được quy định bởi vòng đời phần mềm. Mô hình thác nước, mô hình mẫu thử nghiệm, sự phát triển tiến hóa, mô hình xoắn ốc, … là những ví dụ về mô hình vòng đời phần mềm.
Bài viết này nhấn mạnh rẳng nghiên cứu hôm nay trong lĩnh vực phương pháp luận AOSE đánh giá thấp tầm quan trọng của mô hình tiến trình trong sự phát triển của MAS . Theo các tác giả điều này được khẳng định bằng thực tế trong nhiều trường hợp, phương pháp luận AOSE không tạo ra quy chiếu rõ ràng cho mô hình tiến trình. Dù sao hầu hết các phương pháp luận ủng hộ tiến trình phát triển theo cách của tiến trình hợp nhất.
Vài điểm mới lạ vệ mô hình vòng đời Agent xuất phát từ việc ứng dụng nguyên tắc Extreme Programmy và Agile Maniferto đối với các Agent . Các tiếp cận thiết kế được để nghị chỉ ra rằng bên cạnh việc tôn trọng các nguyên tắc này thì trong thiết kế MAS, các mặt bản thể luận đóng vai trò quan trọng.
4.5. Các vấn đề khác trong phát triển Agent
Các vấn đề này bao gồm việc thiết kế các ứng dụng cụ thể của Internet qua việc sử dụng các Agent. Lĩnh vực này đang ngày càng quan trọng trong việc nghiên cứu các dịch vụ Web. Một mặt quan trọng khác của thiết kế chính là sự đánh giá. Trong những năm qua, chủ đề này đã được bàn luận đến. Một số người xem các thuộc tính cụ thể của phương pháp luận để đánh giá nó trong khi một số người khác lại cố gắng phân biệt các nhân tố mà một phương pháp luận có thể giải quyết các vấn đề cụ thể của Agency như các quản lý phức tạp.
Cuối cùng chúng tôi muốn nói đến một vài nghiên cứu về sự tạo thành các phương pháp luận mới dựa trên việc sử dụng lại các thành phần. Các tác phẩm này bắt đầu với những trải nghiệm từ kỹ nghệ phần mềm thông thường và có chứng minh ban đầu nói rằng một phương pháp thiết kế đơn không thể phù hợp để đối mặt với tất cả các vấn đề và các bối cảnh phát triển. Theo mẫu này từng lớp các vấn đề phải được một phương pháp luận cụ thể giải quyết. Phương pháp này quan tâm một cách phù hợp tới các kỹ năng của nhóm phát triển và các nhân tố khác ảnh hưởng đến việc sản xuất phần mềm.Một tiếp cận như vậy được đưa ra bởi FIPA cũng được tìm thấy trong một số tài liệu của các thành viên của tổ chức này. Có thể thấy rằng một số thử nghiệm trong các công cụ trợ giúp hướng object nhưng lại thiếu các công cụ hướng Agent cụ thể và tính phức tạp của tiếp cận vẫn hạn chế sự phổ biến của mô hình này.
5. Đưa các Agent vào sử dụng
 Các hệ thống Agent có thể đựợc cài đặt sử dụng trong nhiều nhiều mục đích khác nhau. Có các miền Agent tuân theo vài tiêu chuẩn của FIPA hoặc MAF. Ở đây chúng tôi mô tả cả các miền Agent và các đề nghị cho việc chuyển từ thiết kế MAS đến việc đưa vào sử dụng, cuối cùng chúng tôi quan tâm đến các nguồn chương trình hương Agent.

5.1. Nền tảng Agent
Nền Agent hỗ trợ các nhà phát triển bằng việc cung cấp các thành tố và dịch vụ có thể sử dụng lại cho việc cài đặt và sử dụng Agent, hầu hết đều phù hợp với các tiêu chuẩn. Ở châu Âu, JADE có thể xem như là nền tảng FIPA quy chiếu. Các vùng khác được bàn đến nhiều hơn trong việc hỗ trợ điều phối Agent, như TUCSON và Islander. JADE khời đầu là sự cộng tác giữa phòng nghiên cứu Telecom Italia và Univ Parma và hiện tại được phân phối như phần mềm nguồn mở theo thuật ngữ LCTPL. JADE minh họa rõ việc cài đặt các thành tố kiến trúc quản lý. FIPA : kênh giao tiếp Agent, hệ thống quản lý Agent và sách hướng dẫn. Giao tiếp Agent được thực hiện thông qua việc truyền thông điệp. Khi đó FIPA ACL là nguồn ngốc thể hiện các thông điệp và với các thư viện giao thức FIPA  có thể sử dụng như các thành phần sử dụng lại ứng dụng các nhà phát triển. Những người có thể phụ thuộc vào quản lý vòng đời Agent của JADE và có sự đảm bảo với các hệ thông Agent FIPA khác. JADE trợ giúp cả Agent phản ứng và Agent chủ động bằng việc định nghĩa cấu trúc các hành vi Agent có thể là các lớp Java ứng dụng trên máy cố định hoặc các hệ thống quy tắc bằng sự hợp nhất giữa các JESS trong miền.
Hơn nữa, JADE cung cấp công cụ sửa chữa điều chỉnh và các dịch vụ khác như tên gọi và trong các miền.
Một tiếp cận khác cho giao tiếp Agent thay vì truyền thông điệp là sử dụng các khoảng trống “tuple”, một cơ chế quan trọng cho việc điều phối. Tiếp cận này được minh họa bởi TUCSON và Univ Bologna. Một nét đặc trưng thú vị của lọai hệ thống này là khả năng định nghĩa luật điều phối. Islander + AMELI cũng cung cấp một công cụ điều phối bằng việc khai thác các phòng điện tử để ứng dụng những quá trình thỏa hiệp phức tạp.

5.2. Chuyển từ thiết kế sang ứng dụng
Là một mẫu mô hình, các Agent đóng góp vào việc sử dụng các khái niệm trừu tượng gần với những cái được sử dụng khi hợp lý hóa các hành vi và tổ chức của con người. Điều này làm giảm nhẹ bớt các hoạt động phân tích và thiết kế nhưng khoảng cách đến ứng dụng xa hơn các mô hình khác. Với ý nghĩa này, mặc dù các vùng Agent được thiết kế tốt như JADE nhưng thường thường ta xem các hệ thống Agent được ứng dụng với các vùng mang tính quy ước hơn, phụ thuộc vào môi trường và điều kiện ứng dụng. Để giải quyết các tình huống này, một số người đã hợp nhất các môi trường phát triển cung cấp các công cụ cho việc lập mô hình chi tiết kỹ thuật Agent thành mã số cho các mục tiêu. Cuối cùng, khi xem các vùng đa mục tiêu, xu hướng sẽ theo hướng tiếp cận kiến trúc điều khiển mô hình OMG. Về cớ bản, ý tưởng về cụ thể hóa mô hình Meta của ngôn ngữ mô hình MAS, không phụ thuộc miền và vùng mục tiêu. Mappings định nghĩa các quy tắc hay thuật toán mà xác định các loại trong kết quả  mô hình Meta MAS cụ thể hóa một vùng mục tiêu như thế nào.
5.3. Ngôn ngữ lập trình hướng Agent
Việc sử dụng ngôn ngữ lập trình hướng Agent khiến việc hiểu về các đặc trưng của Agent trở nên dễ dàng hơn. Về cơ bản, các đề nghị khác nhau xem xét một mô hình Agent nhấn mạnh các vấn đề di động hoặc một mô hình hình vi chủ động hoặc một mô hình giao tiếp. CIAIM có lẽ là hoàn chỉnh nhất trong việc xem xét tất cả các vấn đề này và áp dụng các ứng dụng thực tế. Nhiều người ủng hộ cho mô hình BDI như MARS, 3APL hoặc Coo-BDI.

6. Kiểm tra và thử nghiệm
Kỹ thuật kiểm tra và thử nghiệm đối với MAS luôn áp dụng những kết quả đã biết từ việc tính toán sự đồng bộ và phân tán. Thông thường, kiểm tra dựa trên các cơ sở lý thuyết cho phép phân tích một hệ thống để quyết định giữ lại những yếu tố nào. Đây có thể là các đặc tính tồn tại hoặc đặc tính an toàn, do đó trả lời cho câu hỏi liệu hệ thống có được xây dựng đúng hay không. Khi đặc tính nói đến việc liệu ứng dụng có đáp ứng đầy đủ các yêu cầu đề ra không, ta thường đề cập đến nó như một sự bền vững. Mặt khác, thử nghiệm được xem như hoạt động tìm kiếm các lỗi trong việc chạy thử cuối cùng.
Điều đáng chú ý của MAS khi ta nói đến kiểm tra và thử nghiệm là liệu các khái niệm tổ chức, tri thức, phát triển, tiến hóa, động lực có được quan tâm đến, bởi vì các kết quả của quá trình đồng bộ và phân tán đã là chủ thể được xem xét mở rộngtrong văn học từ những năm 70. Winograd và Flores đã chỉ trích rằng, nhiều phương thức tiếp cận có găng làm việc với các đặc tính này thông qua các kỹ thuật được diễn giải cho các mục đích khác nhau mà không tận dụng các đặc điểm Agent cụ thể. Trong hoàn cảnh này, kiểm tra và thử nghiệm MAS không chỉ nhận các kỹ thuật từ các mô hình khác nhau còn tạo ra các tiếp cận mới để giải quyết vấn đề này. Một ví dụ về các tiếp cận chính thức đầu tiên có kiểm tra trong miền Agent là DESIRE. Một thiết kế và khung đặc điểm kỹ thuật miêu tả các Agent và bản thân MAS như các mạng lưới nhiệm vụ được tổ chức theo một hệ thống cấp bậc. Sự tương tác và điều phối giữa các Agent được cụ thể hóa bằng sự thay đổi lẫn nhau cảu các thông tin và kiểm soát các vùng phụ thuộc. Các đặc tính được kiểm tra được thể hiện bằng logic thời gian: xung đột giữa các mục tiêu là gì và cách lựa chọn những thay đổi về thiết kế. Kiểm tra các đặc tính bao gồm việc minh họa việc những đặc tính này được thỏa mãn trong một vấn đề cụ thể sử dụng DESIRE. Mặc dù DESIRE cho phép xác minh lại các đặc tính phức tạp của hệ thống và miền, nó có hạn chế của mô hình hướng Agent hướng nhiệm vụ. Các tiệp cận chính thức khác đã chỉ ra phạm vi hạn chế vì chúng khẳng định một mô hình Agent cố định, thường là thường là một quá trình phản ứng hơn là quá trình tự chủ và yêu cầu các đặc tính quá chi tiết. Vì lý do này mà có một vài tiếp cận cố gắng pha trộn điểm mạnh của các ngôn ngữ chính thống với sức mạnh diễn đạt của các ngôn ngữ bán chính thống. Một ví dụ, cho TroPos đã sử dụng kỹ thuật kiểm tra mô hình để xác minh việc đáp ứng các yêu cầu. Các chi tiết sử dụng ngôn ngữ tạo hình củ Tropos (gọi là Tropos chính thống) bổ sung vào logic theo thời gian.  Điều này đưa ra khả năng kiểm tra các chi tiết bằng các phương pháp chính thức. Gần đây ta bắt đầu xem lý thuyết ứng dụng từ các lĩnh vực khác như xã hội học, lý thuyết hoạt động được áp dụng để phân biết các đặc trưng đối lập (ví dụ như xung đột giữa mục tiêu cá nhân và mục tiêu cộng đồng) bằng việc chuyển các khái niệm khoa học xá hội thành các khái niệm Agent. Trường hợp này áp dụng cho INGENIAS và Tropos. Lý thuyết hoạt động cũng đứợc xem xét cho việc phân tích điều phối xã hội trong vùng TucSoN. Xem xét việc thử nghiệm, ngoại trừ các công cụ chình sửa, giúp nhà phát triển trao đổi thông điệp và trong vài trương hợp để xem xét các Agent. Một phương thức tiệp cận thú vị là sử dụng các công cụ khai thác dữ liệu để phân tích và thể hiện các kết quả cho nhà phát triển. Tiếp cận này được sử dụng cho JADE trong công cụ ACL Analyses. Một tiếp cận khác, đặc biệt diễn giải cho JADE và bao gồm cả phương thức kiểm tra và công cụ hỗ trợ.

7. Kết luận
Tiếp cận hướng Agent theo quan điểm kỹ nghệ phần mềm, được sử dụng chính cho việc phân tích và thiết kế các hệ thống phức tạp. Cài đặt và sử dụng những hệ thống này có thể theo rất nhiều dạng thức, đôi khi theo những tiêu chuẩn liên quan đến Agent (như FIPA và MAF) nhưng thông thường là các đối tượng phân phối quy ước hoặc thành phần dựa trên phần mềm. Do đó, hiện tại lợi ích chính của lập trình hướng Agent là ở cấp độ mô hình. Thiết bị ghép nối với sự đa dạng các vùng mục tiêu đó đang thúc đẩy các tiếp cận trong công đông AOSE song song với tiếp cận kiến trúc điều khiển mô hình OMG.  Sau đó, quan tâm đến tình trạng như được báo cáo trong bài viết này. Chúng tôi thiết nghĩ tiệp cận Agent được sử dụng một các có hiệu quả cho việc tạo mô hình giải pháp ở mức được độc lập nền ứng dụng và tiếp đó một số công cụ khác sẽ cung cập sự chuyển đổi phù hợp đến các nền mục tiêu cụ thể.

Tài liệu tham khảo:
 [1] Amor M., Fuentes L. and Vallecillo A. (2005). Bridging the Gap Between Agent-Oriented Design and Implementation Using MDA. In: Agent- Oriented Software Engineering V: 5th International Workshop, AOSE 2004. Lecture Notes in C mputer Science 3382, Springer Verlag, pp. 93—108.
[2] Bauer, B. (2002). UML Class Diagrams Revisited in the Context of Agent-Based Systems. In: Agent- Oriented Software Engineering II: Second International Workshop, AOSE 2001. Lecture Notes AN OVERVIEW OF CURRENT TRENDS IN... Informatica 29 (2005) 379–390 387 in Computer Science 2222, Springer-Verlag, pp. 101—118.
[3] Bauer B, Müller J., and Odell J. (2001). Agent UML: A Formalism for Specifying Multiagent Interaction. In: Agent-Oriented Software Engineering: First International Workshop, AOSE 2000. Lecture Notes in Computer Science 1957,
  Springer-Verlag, pp. 91—103.
[4] Beck K., et al. Manifesto for Agile Software Development. http://www.agilemanifesto.org.
[5] Beck K., and Andres C. (2004). Extreme Programming Explained: Embrace Change , 2nd Edition. Addison-Wesley.
[6] Bellifemine F., Poggi A., and Rimassa, G. (2001). Developing multi-agent systems with a FIPAcompliant agent framework. Software Practice and Experience 31 (2), pp. 103—128.
[7] Bergenti F., and Huhns M. (2004). On the Use of Agents as Components of Software Systems, In: [8], chapter 2, pp. 19—32.
[8] Bergenti F., Gleizes M.-P., and Zambonelli F., editors (2004). Methodologies and Software Engineering for Agent System: The Agent Oriented
  Software Engineering Handbook. Kluwer Academic Publisher, New York.
[9] Bernon C., Camps V., Gleizes M.-P., and Picard G. (2005). Engineering Adaptive Multi-Agent Systems: The ADELFE Methodology. In: [55], chapter VII, pp. 172—202.
[10] Bernon C., Camps V., Gleizes M.-P. and Picard G. (2004). Tools for Self-Organizing Applications Engineering. In: Engineering Self-Organising Systems, Nature-Inspired Approaches to Software Engineering [revised and extended papers presented at the Engineering Self-Organising Applications Workshop, ESOA 2003]. Lecture Notes in Artificial Intelligence 2977, Springer
  Verlag, pp. 283—298.
[11] Bernon C., Cossentino M., Gleizes M-P., Turci P., and Zambonelli F. (2005). A Study of some Multiagent Meta-models. In: Agent-Oriented Software Engineering V: 5th International Workshop, AOSE 2004. Lecture Notes in Computer Science 3382, Springer Verlag, pp. 62—77.
[12] Booch, G. (1994). Object-Oriented Analysis and Design with Applications. Addison-Wesley, Reading, MA.
[13] Bordini, R., Braubach, L., El Fallah-Seghrouchni, A., Dastani, M., Gomez-Sanz, J., Leite, J., O'Hare, G., Pokahr, A., and Ricci, A. (2005). A Survey on Languages and Platforms for MAS Implementation. Informatica 29 (this issue).
[14] Botía J., López-Acosta A., and Gómez-Skarmeta A. (2004). ACLAnalyser: A Tool for Debugging Multi-Agent Systems. Proc. 16th European
  Conference on Artificial Intelligence, ECAI 2004, pp. 967—968.
[15] Brazier, F. M. T., Dunin-Keplicz, B. M., Jennings, N. R., and Treur, J. (1997). DESIRE: Modelling Multi-Agent Systems in a Compositional Formal Framework. International Journal of Cooperative Information Systems 6(1). pp. 67—94.
[16] Bresciani P., Giorgini P., Giunchiglia F., Mylopoulos J., and Perini A. (2004). TROPOS: An Agent-Oriented Software Development Methodology.
Journal of Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers 8(3), pp. 203—236.
[17] Brinkkemper S., Lyytinen K., and Welke R. (1996). Method Engineering: Principles of Method Construction and Tool Support. Chapman &Hall.
[18] Cabri G., Ferrari L., and Zambonelli F. (2004). Role-based Approaches for Engineering Interactions in Large-Scale Multiagent Systems. In: Post-Proceedings of Advances in Software Engineering for Large-Scale Multiagent Systems (SELMAS 03), Lecture Notes in Computer Science 2940, Springer-Verlag, pp. 243—263.
[19] Cabri G., Leonardi L., and Zambonelli F. (2003). Engineering Mobile Agent Applications via Context-Dependent Coordination. IEEE Transactions on Software Engineering 28(11), pp. 1039- 1055.
[20] Caire G., Cossentino M., Negri A., Poggi A, and Turci P. (2004). Multi-agent Systems Implementation and Testing, In: From Agent Theory to Agent Implementation – Fourth International Symposium (AT2AI-4), Vienna, Austria.
[21] Caire G., Evans R. Massonet P., Coulier W., Garijo F.J., Gomez J., Pavón J., Leal F., Chainho P., Kearney P.E., and Stark J. (2002). Agent Oriented
Analysis using MESSAGE/UML. In: The Second International Workshop on Agent-Oriented Software Engineering (AOSE 2001), Lecture Notes in Computer Science 2222, Springer-Verlag, pp. 119-135.
[22] Capera D., Georgé J.P., Gleizes M.P., and Glize P, (2003). The AMAS Theory for Complex Problem Solving based on Self-organizing Cooperative
Agents. In: Proc. of the 1st International Workshop on Theory And Practice of Open Computational Systems (TAPOCS03@WETICE’03), Linz, Austria, pp.283—288.
[23] Cernuzzi L., and Rossi G. (2002). On the Evaluation of Agent Oriented Methodologies. In: Proc. of the OOPSLA 2002 Workshop on Agent- Oriented Methodologies, pp. 21-30.
[24] Cernuzzi L., Cossentino M., and Zambonelli F. (2005). Process Models for Agent-based  Development. Engineering Applications of Artificial Intelligence 18(2), pp. 205-222. [25] Trencansky I., Cervenka R.. (2005). Agent Modeling Language (AML): A Comprehensive Approach to Modeling MAS, Informatica 29 (this issue).
[26] Chella A., Cossentino M., Sabatucci L., and Seidita V. (2004). From PASSI to Agile PASSI: Tailoring a Design Process to Meet New Needs. In: 2004
IEEE/WIC/ACM International Joint Conference on Intelligent Agent Technology (IAT’04), Beijing, China. pp. 471-474.
[27] Ciancarini P. (1996). Coordination Model and Languages as Software Integrators, ACM Computing Surveys, 28(2), pp. 300-302. 388 Informatica 29 (2005) 379–390 C. Bernon et al. [28] Cossentino M. (2002). Different Perspectives in Designing Multi-agent Systems, AGES'02 workshop at NODe02, Erfurt, Germany. pp. 61-73.
[29] Cossentino M. (2005). From Requirements to Code with the PASSI Methodology. In: [55], chapter IV, pp. 79—106.
[30] Cossentino M., Sabatucci L., and Chella A. (2003). A Possible Approach to the Development of Robotic Multi-Agent Systems. In: IEEE/WIC International Conference on Intelligent Agent Technology (IAT'03), pp. 13-17.
[31] Cossentino M., and Seidita V. (2004). Composition of a New Process to Meet Agile Needs Using Method Engineering, In: Software Engineering for Large Multi-Agent Systems vol. III, Lecture Notes in Computer Science 3390, Springer-Verlag, pp. 36-51.
[32] Cossentino M., and Zambonelli F. (2004). Agent Design from the Autonomy Perspective. In: Agents and Computational Autonomy: Potential, Risks, and Solutions, Lecture Notes in Computer Science 2969, Springer-Verlag, pp. 140-150.
[33] Dale J., and Ceccaroni L. (2002). Pizza and a Movie: A Case Study in Advanced Web Services. In: Agentcities: Challenges in Open Agent Environments Workshop, AAMAS Conference 2002, Bologna, Italy.
[34] De Giacomo G., Lespérance Y., Levesque H.J., and Sardina, S. (2004). On the Semantics of Deliberation in IndiGolog - From Theory to Implementation. Annals of Mathematics and Artificial Intelligence 41(2-4), pp. 259-299.
[35] Demazeau Y. (1995). From Cognitive Interactions to Collective Behaviour in Agent-Based Systems, 1st European Conference on Cognitive Science, Saint-Malo, France, pp. 117-132.
[36] Di Marzo Serugendo, G., Gleizes, M.-P., Karageorgos, A. (2005). Self-Organisation and Emergence in MAS: An Overview. Informatica 29 (this issue).
[37] Dori, D. (2002). Object-Process Methodology: A Holistic System Paradigm. Springer.
[38] Drogoul A., and Collinot A. (1998). Applying an Agent-Oriented Methodology to the Design of Artificial Organisations: a Case Study in Robotic Soccer. Journal of Autonomous Agents and Multi- Agent Systems, 1(1), pp. 113-129.
[39] El Fallah Seghrouchni A. and Sun A. (2003). Claim: A Computational Language for Autonomous, Intelligent and Mobile Agents. In: Proceedings of ProMAS’03, Lecture Notes in Artificial Intelligence 3067, Springer Verlag, pp. 90–110.
[40] Esteva M., Rosell B., Rodríguez-Aguilar J.A., and Arcos, J.L. (2004). AMELI: An Agent-based Middleware for Electronic Institutions. In: Third International Joint Conference on Autonomous Agents and Multi-agent Systems (AAMAS'04). pp. 236—243.
[41] Ferber J. (1999). Multi-Agent Systems, Addison- Wesley: Reading, MA.
[42] Ferber J., and Gutknecht O. (1998). A Meta-model for the Analysis and Design of Organizations in Multi-agent Systems. In Proc. of the 3rd International Conference on Multi-Agent Systems (ICMAS’98), pp. 128–135.
[43] FIPA. Abstract Architecture Specification. Document SC00001L. Available online at http://www.fipa.org/specs/fipa00001/SC00001L.html.
[44] Firesmith D.G., and Henderson-Sellers B. (2002). The OPEN Process Framework. Addison-Wesley.
[45] Fortino G., Garro A., and Russo W. (2004). From Modeling to Simulation of Multi-Agent Systems: an Integrated Approach and a Case Study. In:
Proceedings of the Second German Conference on Multiagent System Technologies (MATES'04), Lecture Notes in Artificial Intelligence 3187, Springer-Verlag, pp. 213-227.
[46] Franklin S, and Graesser A. (1996) Is it an Agent, or Just a Program?: A Taxonomy for Autonomous Agents. In: Intelligent Agents III – Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Lecture Notes in Artificial Intelligence, 1193, Springer Verlag, pp. 21—35.
[47] Fuentes R., Gómez-Sanz J.J., and Pavón, J. (2004). Social Analysis of Multi-Agent Systems with Activity Theory. In: Proceedings of CAEPIA 2003, Lecture Notes in Artificial Intelligence 3040, Springer-Verlag, pp. 526-535.
[48] Fuggetta A. (2000). Software Process: a Roadmap. In Proceedings of the Conference on the Future of Software Engineering, ACM Press, New York (USA), pp. 25-34 [49] Fuxman A., Pistore M., Mylopoulos J. and Traverso P. (2001). Model Checking Early Requirements Specifications in Tropos. In: Proceedings 5th IEEE International Symposium on Requirements Engineering (RE 2001), pp. 174-181.
[50] Gervais M. (2003). ODAC: An Agent-Oriented Methodology based on ODP. Journal of Autonomous Agents and Multi-Agent Systems 7(3), pp. 199–228.
[51] Gomez-Sanz J. J., and Pavón, J. (2002). Metamodelling in Agent-Oriented Software Engineering. In: Advances in Artificial Intelligence – IBERAMIA 2002, Lecture Notes in Artificial Intelligence 2527, Springer-Verlag, 606-615.
[52] Guessoum Z., and Jarraya, T. (2005). Meta-Models & Model-Driven Architectures, Contribution to the AOSE TFG AgentLink3 meeting, Ljubljana, 2005.
[53] Gutknecht O., Ferber J., and Michel F. (2001). Integrating Tools and Infrastructures for Generic Multi-agent Systems. In: Proceedings of the fifth international conference on Autonomous agents (Agents 2001), ACM Press, pp. 441–448.
[54] Henderson-Sellers, B., and Debenham, J. (2003). Towards Open Methodological Support for Agent Oriented Systems Development. In: Proceedings of the First International Conference on Agent-Based Technologies and Systems. University of Canada, Canada. pp. 14–24.
[55] Henderson-Sellers, B. and Giorgini, P., editors (2005). Agent-Oriented Methodologies. Idea Group Publishing. AN OVERVIEW OF CURRENT TRENDS IN... Informatica 29 (2005) 379–390 389
[56] Hilaire V., Koukam A., Grue, P., and Muller J.-P. (2000). Formal Specification and Prototyping of Multi-agent Systems. In: Engineering Societies in the Agents’ World (ESAW’00), Lecture Notes in Artificial Intelligence 1972, Springer Verlag, pp. 114—127.
[57] Huget M.-P., and Odell J. (2005). A Study of some Multi-agent Meta-models. In: Agent-Oriented Software Engineering V: 5th International Workshop, AOSE 2004. Lecture Notes in Computer Science 3382, Springer Verlag, pp. 16—30.
[58] Hunhns M., and Singh M.P. (1999). A Multiagent Treatment of Agenthood. Applied Artificial Intelligence: An International Journal 13(1-2), pp. 3-10.
[59] IEEE Computer Society (2004). SWEBOK. Guide to the Software Engineering Body of Knowledge. Online at: http://www.swebok.org/.
[60] Iglesias C., Garijo M., Gonzales J., and Velasco J. R. (1998). Analysis and Design of Multi-agent Systems using MAS-CommonKADS. In: Intelligent Agents IV, Proc. of the Fourth International Workshop on Agent Theories, Architectures, and Languages (ATAL‘97), Lecture Notes in Artificial Intelligence 1365, Springer-Verlag, pp. 313–326.
[61] ISO/IEC X.900 (1995). IS 10746-x ITU-T Rec. X90x, ODP Reference Model Part x.
[62] Jacobson I. (1992). Object-Oriented Software Engineering, Addison-Wesley.
[63] Jennings N.R. (2000). On Agent-based Software Engineering. Artificial Intelligence 117(2), pp. 277—296.
[64] Juan T., Pearce A., and Sterling L. (2002). ROADMAP: Extending the Gaia Methodology for Complex Open Systems. In: First International Joint Conference on Autonomous Agents & Multi- Agent Systems (AAMAS 2002), ACM Press, pp. 3— 10.
[65] Kendall E. A. (2000). Role Modeling for Agent System Analysis, Design, and Implementation. IEEE Concurrency. Volume 8 , Issue 2. pp. 34-41.
[66] Knublauch H. (2002). Extreme Programming of Multi-Agent Systems. In: First International Joint Conference on Autonomous Agents & Multi-Agent Systems (AAMAS 2002), ACM Press, pp. 704—711.
[67] Levesque H. J., Reiter R., Lespérance Y., Lin F., and Scherl, R. B. (1997). GOLOG: A Logic Programming Language for Dynamic Domains. Journal of Logic Programming 31 (1-3), pp. 59–83.
[68] Lind J. (2001). Iterative Software Engineering for Multiagent Systems: The MASSIVE Method. Lecture Notes in Computer Science 1994, Springer- Verlag.
[69] Luck M., and d’Inverno M. (2001). A Conceptual Framework for Agent Definition and Development. The Computer Journal 44(1), pp. 1—20.
[70] Luck, M., Ashri, R., D’Inverno, M. (2004). Agent- Based Software Development. Artech House Publishers.
[71] McCarthy J., and Hayes P.J. (1969). Some Philosophical Problems from the Standpoint of Artificial Intelligence. In: Machine Intelligence 4, Edinburgh University Press, pp. 463—502.
[72] McIlraith S., Son T. C., and Zeng, H. (2001). Semantic Web Services. IEEE Intelligent Systems 16(2), pp. 46-53.
[73] Miller J., and Mukerji, J. (eds) (2003). MDA Guide Version 1.0.1, omg/2003-06-01.
[74] Molesini, A., Omicini, A., Ricci, A., and Detti, E. (2005). Zooming Multi-Agent Systems. In: 6th International Workshop Agent-Oriented Software Engineering (AOSE 2005), pp. 193-204.
[75] Newell A. (1982) The Knowledge Level, Artificial Intelligence, 18, pp. 87–127.
[76] Odell J. (2002) Objects and Agents Compared. Journal of Object Technology 1(1), pp. 41—53.
[77] OMG (2000). Agent Technology – Green paper, Agent Platform Special Interest Group, OMG Document agent/00-09-01, version 1.0, 1 September 2000, http://www.objs.com/agent/ index.html.
[78] OMG (2000). Mobile Agent Facility, version 1.0.  OMG Document - formal/00-01-02, online at http://www.omg.org/cgi-bin/doc?formal/2000-01- 02.
[79] Omicini A. (2001). SODA: Societies and Infrastructures in the Analysis and Design of Agent-Based Systems. In: Agent-Oriented Software Engineering: First International Workshop, AOSE 2000. Lecture Notes in Computer Science 1957, Springer-Verlag, pp. 185—193.
[80] Omicini A., Papadopoulos, G. A. (2001). Why Coordination Models and Languages in AI?. Applied Artificial Intelligence 15(1), pp. 1—10 .
[81] Pavón J., and Gómez-Sanz J. (2003). Agent- Oriented Software Engineering with INGENIAS. In: Multi-Agent Systems and Applications III, 3rd International Central and Eastern European Conference on Multi-Agent Systems (CEEMAS’03),  Lecture Notes in Computer Science 2691, Springer Verlag, pp. 394-403.
[82] Pavón J., Gómez-Sanz J. and Fuentes, R. (2005). The INGENIAS Methodology and Tools. In: [55], chapter IX, pp. 236—276.
[83] Pena J., and Corchuelo R. (2005). Towards clarifying the importance of interactions in agentoriented software engineering. Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial 25 (1), pp. 19-28.
[84] Peña J., Corchuelo R., and Arjona J. L. (2003). A Top Down Approach for MAS Protocol Descriptions. In: ACM Symposium on Applied Computing SAC'03, ACM Press, pp. 49-54.
[85] Pressman Roger S. (1982). Software Engineering: A Practitioner’s Approach, McGraw-Hill Series in Software Engineering and Technology, McGraw- Hill, New York, 6th edition.
[86]  Ralyte J., and Rolland C. (2001). An Approach for Method Reengineering. In: Proc. Conceptual Modeling - ER 2001, 20th International Conference on Conceptual Modeling, Lecture Notes in Computer Science 2224, pp. 471—484.
[87] Rao A.S., and Georgeff M. P. (1995). BDI Agents: from Theory to Practice. In: Proc. of the First International Conference on Multi-Agent Systems (ICMAS‘95), The MIT Press, pp. 312-319. 390 Informatica 29 (2005) 379–390 C. Bernon et al.
[88] Ricci A., and Omicini A. (2003). Supporting Coordination in Open Computational Systems with TuCSoN. In: 12th IEEE International Workshops on Enabling Technologies (WETICE 2003), Infrastructure for Collaborative Enterprises. IEEE Computer Society, pp. 365—370.
[89] Ricci A., Omicini A. and Denti E. (2003). Activity Theory as a Framework for MAS Coordination. Engineering Societies in the Agents World III, 3rd international Workshop (ESAW'02), Lecture Notes in Computer Science 2577, Springer-Verlag, pp. 96—210 .
[90] Rumbaugh J., Jacobson I., and Booch, G. (1999). The Unified Modeling Language Reference Manual. Addison Wesley. Reading, MA.
[91] Russell S., and Norvig P. (1995). Artificial Intelligence; A Modern Approach. Englewood Cliffs, NJ: Prentice Hall.
[92] Schreiber A., Wielinga J., Akkermans J., and de Velde W. V. (1994). CommonKADS: A  Comprehensive Methodology for KBS Development. Technical report, Univ. of Amsterdam, Netherlands Energy Research Foundation ECN and Free Univ. of Brussels.
[93] Schillo, M., and Fischer, K. Holonic Multiagent Systems. Zeitschrift für Künstliche Intelligenz, no. 3 (in printing).
[94] Serrano J. M., and Ossowski S., (2004). On the Impact of Agent Communication Languages on the Implementation of Agent Systems. In: Cooperative Information Agents VIII, 8th International Workshop, CIA 2004, Lecture Notes in Computer Science 3191, Springer-Verlag, pp. 92—106.
[95] Sierra C., Rodríguez-Aguilar J.A., Noriega P., Esteva M., and Arcos J.L. (2004). Engineering Multi-agent Systems as Electronic Institutions. Upgrade, The European Journal for the Informatics Professional, V(4), pp. 33—39.
[96] Singh M. (1997). Formal Methods in DAI: Logic Based Representation and Reasoning. In: Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence, pp. 331–376.
[97] Sommerville I. (2004). Software Engineering 7th edition. Addison Wesley.
[98] Spivey J. (1992). The Z Notation: A Reference Manual. Prentice Hall, Hemel Hempstead, 2nd edition.
[99] Sturm, A., Dori, D., and Shehory, O. (2003). Single-Model Method for Specifying Multi-Agent Systems. In: Proceedings of the Second International Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2003), ACM Press, pp. 121—128.
[100] Sturm A., and Shehory O. (2004) A Framework for Evaluating Agent-Oriented Methodologies. In: Agent-Oriented Information Systems, 5th Int. Bi- Conference Workshop, AOIS 2003. Lecture Notes in Computer Science 3030, Springer-Verlag, pp. 94—109.
[101] Tavares da Silva J.L., and Demazeau Y. (2002). Vowels Co-ordination Model. In: First  International Joint Conference on Autonomous Agents & Multi-Agent Systems (AAMAS 2002), ACM Press, pp. 1129—1136.
[102] Tolvanen, J.-P., and Lyytinen, K. (1993) Flexible Method Adaptation in CASE – the Metamodeling Approach. Scandinavian Journal of Information Systems, Vol. 5. IRIS Association. pp. 51-77.
[103] van Lamsweerde A. (2001). Goal-Oriented Requirements Engineering: A Guided Tour. In: Proceedings of the 5th IEEE International Symposium on Requirements Engineering (RE 2001), IEEE Computer Society, pp. 249.
[104] Wagner G. (2003). The Agent-Object- Relationship Metamodel: Towards a Unified View of State and Behavior, Information Systems 28 (5), pp. 475—504.
[105] Winograd T., and Flores C.F. (1986). Understanding Computers and Cognition: A New Foundation for Design. Norwood, NJ: Ablex.
[106] Wooldridge M., and Ciancarini P. (2001). Agent-Oriented Software Engineering: The State of the Art. In: Agent-Oriented Software Engineering: First International Workshop, AOSE 2000. Lecture Notes in Computer Science 1957, Springer-Verlag, pp. 1—28.
[107] Wooldridge, M. (2000). Reasoning about Agents. The MIT Press, Cambridge, MA.
[108] Wooldridge M., Fisher M., Huget M.-P., and Parsons S. (2002). Model Checking Multi—agent Systems with MABLE. In: First International Joint Conference on Autonomous Agents & Multi-Agent Systems (AAMAS 2002), ACM Press, pp 952—959.
[109] Wooldridge M., Jennings N. R., and Kinny, D  (2000). The Gaia Methodology for Agent-Oriented Analysis and Design. Journal of Autonomous Agents and Multi-Agent Systems 3(3), pp. 285-312.
[110] Yu E. (1997). Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering. In: Proceedings of the 3rd IEEE Int. Symp. on Requirements Engineering (RE'97), pp. 226—235.
[111] Zambonelli F., Jennings N., and Wooldridge M. (2003). Developing Multiagent Systems: the Gaia Methodology. ACM Transactions on Software Engineering and Methodology 12(3), pp. 417-470.
[112] Zambonelli F. and Jennings N. R., Omicini A. and Wooldridge M. (2001). Agent-Oriented Software Engineering for Internet Applications. In: Coordination of Internet Agents: Models,Technologies, and Applications, Springer Verlag, pp. 326-346. Last access date for web links reported in the paper: 30- 08-2005

 (TXT)