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)