Một vaitrò cũng có thể có khả năng tạo ra thông tin.Các hoạt động của một vai trò là những tính toán liên quan đến vai trò cóthể được thực hiện bởi các agent mà không cần tương tác với c
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA SAU ĐẠI HỌC
TIỂU LUẬN MÔN HỌC
PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
Hà Nội, tháng 4 năm 2013
Trang 2ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA SAU ĐẠI HỌC
TIỂU LUẬN MÔN HỌC
PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
Hà Nội, tháng 4 năm 2013
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4MỤC LỤC
I: PHƯƠNG PHÁP GAIA 1
1 Giới thiệu 1
2 Khái niệm 2
3 Phân tích 3
3.1 Mô hình vai trò 6
3.2.Mô hình tương tác 12
3.3.Quy trình Phân Tích 13
4.Thiết kế 14
4.1 Mô hình agent 15
4.2 Mô hình dịch vụ 16
4.3 Mô hình sự hiểu biết 17
4.4.Quá trình thiết kế 17
5 Một trường hợp nghiên cứu: Quản lý kinh doanh trên nền agent 18
6 Liên quan đến công việc 26
6.1 Thiếu sót của các kỹ thuật hướng đối tượng 28
6.2 So sánh với phương pháp tiếp cận KGR 30
7 Kết luận và làm việc thêm 32
II: PHƯƠNG PHÁP ROADMAP 34
1 Giới thiệu 34
2 Các mô hình trong pha phân tích và các thủ tục 35
2.1 Mô hình Use-case 35
2.2 Mô hình môi trường 36
2.3 Mô hình tri thức 37
2.4 Mô hình vai trò đã sửa đổi 37
2.5 Mô hình giao thức và mô hình tương tác 37
3 Thiết kế mô hình 37
3.1 Vai trò 37
3.2 Mô hình vai trò và mô hình Agent 38
3.3 Các mô hình thiết kế khác 38
4 Ví dụ 38
Trang 5LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn tới thầy Giáo sư – Tiến sỹ khoa học Hoàng VănKiếm, thầy đã tận tâm giảng dạy truyền đạt những kiến thức nền tảng cơ bản chochúng em về môn học “Phương pháp nghiên cứu khoa học trong tin học”
Em cũng xin chân thành cám ơn quý Thầy cô trường Đại học Công nghệthông tin Tp.Hồ Chí Minh tận tâm giảng dạy chúng em
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng bàiviết của em không tránh khỏi thiếu sót Em rất mong nhận được sự và chỉ bảo tậntình của quý Thầy cô và các bạn
Em xin trân trọng cảm ơn /
Hà Nội, tháng 4 năm 2013
Học viên thực hiện
Đào Bá Dương
Trang 6bộ trong trừu tượng: chúng có thể được sử dụng bởi các nhà phát triển phần mềmgiúp hiểu rõ bản chất hơn, mô hình, và phát triển lớp quan trọng trong hệ thốngphân tán phức tạp.
Nếu các agent nhận ra tiềm năng của chúng như là một mô hình kỹ thuậtphần mềm, và cần thiết phát triển kỹ thuật công nghệ phần mềm được thiết kếđặc biệt cho chúng Kỹ thuật phát triển phần mềm hiện có (ví dụ, phân tích vàthiết kế hướng đối tượng không phù hợp cho nhiệm vụ này Không phù hợp cơbản giữa các khái niệm được sử dụng bởi các nhà phát triển theo hướng đốitượng (bởi kỹ thuật phần mềm chính thống khác mô hình) và xem các agent theođịnh hướng Đặc biệt, phương pháp tiếp cận còn những tồn tại là không đầy đủnắm bắt linh hoạt của một agent, tự giải quyết vấn đề hành vi, sự phong phú củacác tương tác của một agent, và sự phức tạp của một hệ thống agent là tổ chứccấu trúc Đối với những lý do này, bài viết này giới thiệu phương pháp Gaia,trong đó nó được thiết kế đặc biệt để phân tích và thiết kế của nền tảng hệ thốngagent
Trước khi tiếp tục, cho ý kiến giá trị về phạm vi công việc của chúng tôi,
và đặc biệt, các đặc tính của lĩnh vực mà chúng tôi tin rằng Gaia là thích hợp.Theo dự kiến Gaia là thích hợp cho sự phát triển của các hệ thống
Đây là những ứng dụng thực tế quy mô lớn, với các đặc điểm chính sau đây:
- Agent là hạt hệ thống tính toán thô, mỗi lần sử dụng đáng kể tính toánnguồn lực (suy nghĩ của từng agent có các nguồn lực của một quá trình UNIX)
Trang 7- Nó được giả định rằng mục tiêu là để có được một hệ thống nhằm tối đahóa một số chất lượng đo lường toàn cầu, nhưng có thể được phân tối ưu từ điểmnhìn của các thành phần hệ thống Gaia không dành cho hệ thống thừa nhận khảnăng của xung đột đúng.
- Agent không đồng nhất, trong đó các agent khác nhau có thể được thựchiện bằng cách sử dụng ngôn ngữ lập trình khác nhau, kiến trúc và kỹ thuật.Chúng làm cho không có giả định về nền tảng phân phối
- Cơ cấu tổ chức của hệ thống là tĩnh, trong đó mối quan hệ giữa các agentlàm không thay đổi tại thời gian chạy
- Các khả năng của agent và các dịch vụ mà chúng cung cấp là tĩnh, trong
đó chúng không thay đổi thời gian chạy
- Tổng thể hệ thống có chứa một số lượng tương đối nhỏ các loại agentkhác nhau
2 Khái niệm
Gaia được thiết kế để cho phép một nhà phân tích có hệ thống từ đưa rayêu cầu thiết kế đầy đủ chi tiết mà nó có thể được thực hiện trực tiếp Lưu ý rằngchúng tôi xem giai đoạn nắm bắt yêu cầu độc lập của mô hình được sử dụng đểphân tích và thiết kế Khi áp dụng Gaia, nhà phân tích di chuyển từ trừu tượngngày càng cụ thể khái niệm Mỗi động thái kế tiếp giới thiệu thiên vị thực hiệnlớn hơn, và co lại không gian của hệ thống có thể có thể được thực hiện để đápứng các yêu cầu ban đầu Phân tích và thiết kế có thể được coi như là một quátrình phát triển các mô hình ngày càng chi tiết của hệ thống được xây dựng Các
mô hình chính được sử dụng trong Gaia được tóm tắt trong hình 1
Trang 8Hình 1 Mối quan hệ giữa mô hình Gaia
Gaia vay mượn một số thuật ngữ và ký hiệu từ phân tích và thiết kế hướngđối tượng Tuy nhiên, nó không phải là chỉ đơn giản là một nỗ lực bình thường
để áp dụng các phương pháp như vậy phát triển hướng agent Thay vào đó, nócung cấp một tập hợp các agent cụ thể của khái niệm thông qua đó một kỹ sưphần mềm có thể hiểu và mô hình hóa một hệ thống phức tạp Đặc biệt, Gaiakhuyến khích phát triển dựa trên hệ thống agent của tòa nhà như là một quá trình
tổ chức thiết kế
Các khái niệm Gaia chính có thể được chia thành hai loại: trừu tượng và
cụ thể; khái niệm trừu tượng và cụ thể được tóm tắt trong Bảng 1 Thực thể trừutượng là những người sử dụng trong quá trình phân tích hệ thống, nhưng khôngnhất thiết phải trực tiếp thực hiện trong hệ thống Ngược lại, các thực thể cụ thểđược sử dụng trong thiết kế quá trình, và thông thường sẽ có các đối tác trực tiếptrong hệ thống thời gian chạy
3 Phân tích
Mục tiêu của giai đoạn phân tích là để phát triển sự hiểu biết của hệ thống
và cấu trúc (không có tham chiếu đến bất kỳ chi tiết thực hiện) Trong trườnghợp của chúng tôi, sự hiểu biết bị bắt trong tổ chức của hệ thống Chúng tôi xemmột tổ chức như một bộ sưu tập của vai trò, đứng trong mối quan hệ nhất định
Trang 9với nhau, và có tham gia trong hệ thống, thể chế hoá các mô hình tương tác vớivai trò khác, xem hình 2
Các thực thể trừu tượng nhất trong hệ thống phân cấp khái niệm củachúng tôi là hệ thống Mặc dù thuật ngữ "hệ thống" được sử dụng trong ý nghĩatiêu chuẩn của nó, nó cũng có một ý nghĩa liên quan khi nói về một nền tảng hệthống agent, có nghĩa là "xã hội" hoặc "tổ chức" Đó là, khi chúng ta nghĩ về1nền tảng hệ thống agent như là một xã hội, tổ chức nhân tạo
Ý tưởng về một hệ thống như một xã hội rất hữu ích khi suy nghĩ về mức
độ tiếp theo trong khái niệm hệ thống phân cấp: vai trò Nó có vẻ xa lạ với suynghĩ của một hệ thống máy tính được xác định bằng một tập hợp các vai trò,nhưng ý tưởng là hoàn toàn tự nhiên khi thông qua một cái nhìn tổ chức của thếgiới Hãy xem xét một tổ chức của con người như một công ty điển hình Công tynày có vai trò chẳng hạn như "giám đốc", "phó giám đốc", và như vậy Lưu ýrằng trong một hiện thực cụ thể của một công ty, những vai trò này sẽ được khởitạo với các cá nhân thực tế: có thể là một cá nhân người có vai trò của giám đốc,một cá nhân về vai trò của phó giám đốc, và như vậy trong suốt của công ty suốtđời, nhiều cá nhân có thể mất vai trò của giám đốc công ty Ngoài ra, có nhấtthiết phải là một ánh xạ một- một giữa các vai trò và cá nhân Nó không phải làbất thường (đặc biệt là trong các tổ chức nhỏ hoặc xác định chính thức) cho một
cá nhân để mất nhiều vai trò Ví dụ, một cá nhân duy nhất có thể mất vai trò củanhà sản xuất "trà","mail fetcher ", và như vậy Ngược lại, có thể có nhiều cá nhânchỉ giữ một vai trò, ví dụ, "nhân viên bán hàng"
Vai trò được xác định bởi bốn thuộc tính: trách nhiệm, quyền hạn, hoạtđộng, và các giao thức Trách nhiệm xác định chức năng, và như vậy, có lẽ làthuộc tính quan trọng kết hợp với một vai trò Ví dụ một trách nhiệm liên quanđến vai trò của giám đốc công ty có thể được gọi cổ đông đáp ứng hàng năm.Trách nhiệm được chia thành hai loại: tài sản sống và tài sản an toàn Tài sản trựcquan nhà nước là "cái gì tốt đẹp xảy ra" Chúng mô tả những trạng thái của côngviệc mà một agent phải mang lại, với điều kiện môi trường nhất định Ngược lại,thuộc tính là bất biến Trực giác, một thuộc tính an toàn thì "không có gì xấu xảyra" Một ví dụ có thể là "đảm bảo nhiệt độ lò phản ứng hạt nhân luôn luôn trongphạm vi 0-100"
Để thực hiện trách nhiệm, một vai trò có một tập hợp các quyền truy cập.Quyền là "Quyền" kết hợp với một vai trò Các điều khoản của một vai trò như
Trang 10vậy, xác định các nguồn lực mà có vai trò đó để thực hiện trách nhiệm của mình.Trong các loại hệ thống đó chúng tôi thường theo mô hình, cho phép có xuhướng là tài nguyên thông tin Ví dụ, một vai trò có thể đã liên kết với khả năngđọc một mục cụ thể của thông tin, hoặc sửa đổi một phần của thông tin Một vaitrò cũng có thể có khả năng tạo ra thông tin.
Các hoạt động của một vai trò là những tính toán liên quan đến vai trò cóthể được thực hiện bởi các agent mà không cần tương tác với các agent khác.Hoạt động như vậy, hành động "riêng tư", ý thức
Hình 2 Phân tích khái niệm
Cuối cùng, vai trò cũng được xác định với một số giao thức, xác định cách
mà nó có thể tương tác với các vai trò khác
Như vậy, mô hình tổ chức trong Gaia bao gồm hai mô hình hơn nữa: môhình vai trò (mục 3.1) và mô hình tương tác (mục 3.2)
Trang 113.1 Mô hình vai trò
Mô hình vai trò xác định vai trò quan trọng trong hệ thống Một vai trò cóthể được xem như là một trừu tượng mô tả chức năng dự kiến của một thực thể,được đặc trưng bởi hai loại thuộc tính:
* Các điều khoản / quyền liên quan với vai trò
Một vai trò có liên quan với nó nhất định cho phép, liên quan đến các loại
và số lượng tài nguyên có thể được khai thác khi thực hiện vai trò Trong trườnghợp của chúng tôi,các khía cạnh này được nắm bắt trong một thuộc tính được gọi
là quyền của vai trò
* Tính trách nhiệm
Một vai trò được tạo ra để làm một cái gì đó Đó là, một vai trò có mộtchức năng nhất định Chức năng này được đại diện bởi một thuộc tính được gọi
là trách nhiệm của vai trò
Các điều khoản liên quan tới một vai trò có hai khía cạnh:
* Chúng ta xác định các nguồn lực hợp pháp có thể được sử dụng để thựchiện vai trò, họ nói những gì có thể được chi tiêu trong khi thực hiện vai trò;
* Chúng ta nêu rõ các giới hạn nguồn tài nguyên mà trong đó vai tròngười thực hiện phải hoạt động trực giác,họ nói những gì không có thể được chitiêu trong khi thực hiện vai trò
Nói chung, quyền có thể liên quan đến bất kỳ loại tài nguyên Trong một
tổ chức con người, ví dụ, một vai trò có thể được cấp một ngân sách tiền tệ, một
số lượng nhất định của người nỗ lực Tuy nhiên, trong Gaia, chúng tôi nghĩ rằngcác nguồn tài nguyên là có liên quan chỉ thông tin hoặc kiến thức agent có được
Đó là, để thực hiện một vai trò, một agent thường sẽ có thể được truy cập thôngtin nhất định Một số vai trò có thể tạo ra thông tin, người khác có thể cần phảitruy cập vào một phần của thông tin nhưng không phải sửa đổi nó, trong khinhững người khác nhưng có thể cần phải sửa đổi các thông tin Chúng tôi nhận rarằng một mô hình phong phú hơn các nguồn lực cần thiết cho việc tương lai, mặc
dù cho thời điểm này, chúng tôi hạn chế sự chú ý của chúng tôi đơn giản chỉ đểthông tin
Trang 12Gaia làm cho việc sử dụng một ký hiệu chính thức thể hiện quyền đượcdựa trên ký hiệu hợp nhất cho sơ đồ hoạt động Để giới thiệu các khái niệm củachúng, chúng sẽ sử dụng người đóng gói cà phê các ví dụ về vai trò (mục đíchcủa vai trò này là để đảm bảo rằng cà phê nồi được lưu giữ đầy đủ cà phê chomột nhóm công nhân) Sau đây là một minh họa đơn giản các điều khoản liênquan với vai trò:
Đọc Tình trạng //Đầy đủ hoặc ko có sản phẩm nào Thay đổi Thành phần của cà phê // Mức tành phần cà phê
Đặc điểm kỹ thuật này định nghĩa hai điều khoản cho người đóng gói cà
phê nó nói rằng các agent thực hiện dẹp bỏ vai trò có quyền truy cập giá trị tình trạng của cà phê, và có sự cho phép cho cả hai đọc và sửa đổi cà phê cổ phiếu
giá trị Ngoài ra còn có một loại thứ ba cho phép, tạo ra, mà chỉ ra rằng vai trò lànhà sản xuất của một tài nguyên (không được hiển thị trong ví dụ) Lưu ý rằngcác điều khoản liên quan đến kiến thức mà agent có Đó là, giá trị cổ phiếu càphê một đại diện trên một phần của các agent của một số giá trị trong thế giớithực Một số vai trò parameterised giá trị nhất định Điều này được quy định cụthể trong một định nghĩa cho phép người đóng gói cà phê bằng từ khoá cung cấp,như sau:
Đọc đã cung cấp máy pha cà phê // tên của máy pha cà phê
Tình trạng cà phê // đầy hoặc rỗng Thay đổi Thành phần cà phê // mức thành phần cà phê
Bảng 2 Các nhà khai thác cho sự hoạt động cũ
Trang 13x∞ x xảy ra thông thường
"yêu cầu luôn luôn được theo sau bởi một phản ứng" Sự lặp lại vô hạn thành tựumục tiêu có hình thức "x sẽ xảy ra vô cùng thường xuyên" Lưu ý rằng cácloạiyêu cầu đã được nghiên cứu rộng rãi trong các tài liệu kỹ thuật phần mềm,nơi họđã được chứng minh là cần thiết để thu giữ tài sản của các hệ thống phảnứng
Để minh họa cho các khái niệm khác nhau liên quan đến vai trò, chúng tôi
sẽ tiếp tục với ví dụ của chúng tôi chạy về vai trò người đóng gói cà phê Ví dụ
về các trách nhiệm sự hoạt động vai trò người đóng gói cà phê có thể là:bất cứkhi nào nồi cà phê có sản phẩm nào, điền vào nó;
bất cứ khi nào cà phê tươi được ủ, chắc chắn rằng các công nhân biết về nó.Gaia,tài sản sự hoạt động được quy định cụ thể thông qua một biểu hiện sự hoạt động,trong đó xác định "cuộc sống chu kỳ "của vai diễn này biểu thức sự hoạt động làtương tự như các biểu hiện vòng đời của FUSION [6], lần lượt biểu thức cơ bảnthường xuyên Biểu thức của chúng tôi sự hoạt động có một nhà điều hành bổsung, lặp đi lặp lại vô hạn (xem Bảng 2 cho biết thêm chi tiết) Do đó, chúngtương tự như biểu thức thông thường, được biết đến là thích hợp để đại diện chotính chất của tính toán vô hạn Biểu thức sự hoạt động xác định quỹ đạo thực hiệncác tiềm năng thông qua các nhóm ngành và tương tác (tức là, trên các giao thức)liên quan với vai trò
Hình thức chungcủa một biểu thức sự hoạt động là:
Tên vai trò = biểu hiện
Trang 14- Biểu hiện tên vai trò là tên của vai trò mà thuộc tính sự hoạt động được xácđịnh,và thể hiện là các biểu sự hoạt động xác định các thuộc tính sự hoạt độngcủa tên vai trò.
- Các thành phần nguyên tử của một biểu thức sự hoạt động là một trong hai hoạtđộng hoặc các giao thức hoạt động được phần nào như một phương pháp trongđịnh hướng đối tượng, hoặc một thủ tục trong giống như ngôn ngữ Nó tươngứng với một đơn vị của hành động mà các agent có thể thực hiện, màkhôngkhông liên quan đến tương tác với bất kỳ agent khác Nghị định thư, mặtkhác, là các hoạt độngkhông yêu cầu tương tác với các agent khác Để cung cấpcho người đọc một số đầu mối thị giác, chúng ta viết tên giao thức trong 1 phôngchữ sans serif (xxx), và sử dụng một phông chữ tương tự, gạch chân,hoạt độngtên (như trong yyy)
Để minh họa biểu thức sự hoạt động, hãy xem xét lại trách nhiệm nói trênvai trò người đóng gói cà phê:
Người đóng gói cà phê =(Đầy.Thông tin cho công nhân.Thành phần cà phê.Đợi
cà phê rỗng)^Ɯ
Biểu thức này nói người đóng gói cà phê đó bao gồm thực hiện các giaothức Fill, sau bởi InformWorkers giao thức, tiếp theo là các hoạt động kiểm trathành phần và giao thức chờ đợi rỗng
Thực hiện tuần tự của các giao thức và các hoạt động này sau đó được lặp
đi lặp lại vô hạn thường xuyên
Đối với thời điểm này, chúng ta sẽ đối xử với các giao thức đơn giản nhưcác nhãn cho các tương tác và có trách nhiệm không lo lắng về việc làm thế nào
họ đang thực sự được định nghĩa (vấn đề này sẽ được thảo luận trong phần 3.2)
Biểu thức sự hoạt động phức tạp có thể được thực hiện dễ dàng hơn đểđọc bằng cách cơ cấu Một đơn giản
Người đóng gói cà phê = (Tất cả)^ωω
Tất cả= Đầy.Thông tin cho công nhân.Thành phần cà phê.Đợi cà phê rỗng
Ví dụ minh họa làm thế nào điều này được thực hiện:
Trang 15Trong nhiều trường hợp, nó chỉ đơn giản là không đủ để xác định tráchnhiệm sự hoạt động một vai trò.
Điều này là do một agent, thực hiện vai trò, sẽ được yêu cầu để duy trìmột số bất biến trong khi thực hiện
Ví dụ, chúng ta có thể yêu cầu rằng một agent cụ thể tham gia một ứngdụng thương mại điện tử không bao giờ dành nhiều tiền hơn hơn đã được phânchia
Những bất biến được gọi là điều kiện an toàn, bởi vì họ thường liên quanđến sự vắng mặt của một số điều kiện không mong muốn phát sinh.Yêu cầu antoàn trong Gaia được quy định bằng các phương tiện của một danh sách các vị.Những thường được thể hiện trên các biến được liệt kê trong thuộc tính cho phépmột vai trò
Trở về vai trò người đóng gói cà phê của chúng tôi, một agent thực hiệnvai trò này nói chung sẽ được tái quired để đảm bảo rằng các cổ phiếu cà phê làkhông bao giờ trống rỗng Chúng tôi có thể làm điều này bằng phương tiện củasau an toàn biểu hiện:
Trang 16Sơ đồ Vai trò Tên của vai trò
Mô tả Mô tả vai trò giao thức và các hoạt
động, trong đó vai trò đóng một vaitrò"Quyền" liên quan với vai tròtrách nhiệm, an toàn trách nhiệm
Hình 3 Mẫu cho các sơ đồ Vai trò
Sơ đồ vai trò: Người đóng gói cà phê
Mô tả:
Vai trò này liên quan đến việc đảm bảo rằng các nồi cà phê được giữ đầy,
và thông báo cho người lao động khi tươi cà phê đã được ủ
Nghị định thư và hoạt động:
Vai trò thuộc tính khác nhau thảo luận ở trên vào một nơi duy nhất (hình
3)
Sơ đồ Vai trò (theo chuẩn XML)
Sơ đồ Vai trò:Người đóng gói cà phê
Mô tả:
Vai trò này liên quan đến việc đảm bảo rằng các nồi cà phê được giữ đầy, và thông báocho người lao động
Đọc máy pha cà phê || tên của nhà sản xuất cà phê
Tình trạng || đầy đủ hoặc không còn
Thành phần cà phê || mức thành phần cà phê
Người đóng gói cà phê =(Đầy.thông tin cho công nhân.kiểm tra thành phần.chờ đợi
Trang 17mô hình tương tác Mô hình này bao gồm một tập hợp các giao thức định nghĩa,một cho từng loại tương tác giữa các vai trò Ở đây một giao thức có thể đượcxem như là một mô hình thể chế của sự tương tác Đó là một mô hình tương tác
đã được chính thức định nghĩa và trừu tượng đi từ bất kỳ trình tự cụ thể các bướcthực hiện Xem tương tác theo cách này có nghĩa là sự chú ý được tập trung vàotính chất thiết yếu và mục đích của sự tương tác, chứ không phải là sự sắp xếpchính xác của việc trao đổi tin nhắn cụ thể
Hình 5 Định nghĩa giao thức
Cách tiếp cận này có nghĩa rằng một định nghĩa giao thức thông thường sẽlàm phát sinh một số nút giao thông báo trong hệ thống thời gian chạy Ví dụ,hãy xem xét một giao thức bán đấu giá tiếng Anh.Điều này liên quan đến nhiềuvai trò (người bán và nhà thầu) và nhiều mô hình tiềm năng trao đổi (thông báo
Trang 18giá cụ thể và các hồ sơ dự thầu tương ứng) Tuy nhiên, ở giai đoạn phân tích,chẳng hạn chi tiết instantiation chính xác là không cần thiết, và quá sớm.
Một định nghĩa giao thức bao gồm các thuộc tính sau:
• Mục đích: mô tả văn bản ngắn gọn về bản chất của sự tương tác (ví dụ,
"thông tin yêu cầu "," lịch trình hoạt động "và việc" phân công ");
• Khởi: chịu trách nhiệm các vai trò (là) để bắt đầu sự tương tác;
• Trả lời: vai trò tương tác;
• Đầu vào: thông tin được sử dụng bởi người khởi xướng vai trò trong khiban hành các giao thức;
• Kết quả đầu ra: thông tin được cung cấp bởi / trả lời giao thức trong quátrình của tương tác;
• chế biến: văn bản mô tả ngắn gọn của bất kỳ xử lý giao thức khởi xướngthực hiện trong quá trình tương tác
Như một minh họa, xem xét các giao thức lọc, hình thành nên một phầncủa vai trò máy lọc cà phê (Hình 5) Điều này các giao thức lọc được bắt đầubằng vai trò của cà phê lọc và lien quan đến vai trò của máy cà phê Các giaothức liên quan đến lọc cà phê - cà phê được đặt trong một máy có tên là máy pha
cà phê và kết quả trong máy pha cà phê được thông báo về giá trị của thành phần
cà phê Chúng tôi sẽ tiếp tục xem các ví dụ của giao thức trong phần 5
3.3.Quy trình Phân Tích
Giai đoạn phân tích của Gaia có thể được tóm tắt:
1 Xác định vai trò trong hệ thống.Vai trò trong một hệ thống thường
sẽ tương ứng với:
• Cá nhân, hoặc trong một tổ chức hoặc hoạt động độc lập;
• Các phòng ban trong một tổ chức;
• Tổ chức mình
Trang 19Đầu ra: Một vai trò mô hình nguyên mẫu - một danh sách các vai trò quantrọng xảy ra trong hệ thống, với một mô tả chính thức chưa xây dựng.
2 Đối với từng vai trò, xác định và tài liệu các giao thức liên quan Giaothức là các mô hình của sự tương tác xảy ra trong hệ thống giữa các vai trò khácnhau Ví dụ, một giao thức có thể tương ứng cho một đại diện trong vai trò củangười mua nộp một giá thầu cho agent khác trong vai trò của Người bán
Đầu ra: Một mô hình tương tác, nắm bắt các mô hình định kỳ liên vai tròtương tác
3 Sử dụng mô hình giao thức làm cơ sở, xây dựng mô hình vai trò
Đầu ra: Một vai trò xây dựng mô hình đầy đủ, tài liệu nói về vai trò quantrọng xảy ra trong hệ thống, cho phép và trách nhiệm của mình, cùng với cácgiao thức và các hoạt động mà họ tham gia
để làm điều này.Trên thực tế, một agent nhận ra các dịch vụ của nó là vượt quáphạm vi của Gaia, và sẽ phụ thuộc vào lĩnh vực ứng dụng cụ thể
Quá trình thiết kế Gaia liên quan đến việc tạo ra ba mô hình (xem hình1).Các mô hình agent xác định các loại agent sẽ làm cho hệ thống, và các trườnghợp agent sẽ được khởi tạo từ các loại Mô hình dịch vụ xác định các dịch vụchính được yêu cầu để nhận ra vai trò của agent Cuối cùng, mô hình người quen
về đường giao tiếp giữa các agent khác nhau
Trang 20Bảng 3: thí dụ
4.1 Mô hình agent
Một nhà thiết kế có thể chọn để đóng gói một số vai trò liên quan chặt chẽtrong các loại hình agent tương tự cho mục đích thuận tiện Hiệu quả cũng sẽ làmột mối quan tâm lớn ở giai đoạn này: một nhà thiết kế gần như chắc chắn sẽmuốn để tối ưu hóa thiết kế, và một cách làm này là để tổng hợp một số vai tròagent vào một loại duy nhất.Một ví dụ về nơi mà một quyết định như có thể cầnthiết là nơi mà "dấu chân" của một agent (tức là, thời gian chạy các yêu cầu vềsức mạnh xử lý hoặc không gian bộ nhớ) là rất lớn rằng đó là hiệu quả hơn đểcung cấp một số vai tròtrong một agent duy nhất để cung cấp một số agent thựchiện một vai trò duy nhất.Có rõ ràng là một thương mại giữa sự gắn kết của mộtloại agent (dễ dàng chức năng của nó có thể được hiểu) và cân nhắc hiệu quả đivào chơi khi thiết kế các loại agent.Các mô hình agent được định nghĩa bằngcách sử dụng một cây agent loại đơn giản, trong đó các nút lá tương ứng với vaitrò, (như được định nghĩa trong mô hình vai trò), và các nút khác tương ứng vớicác loại agent.Nếu t1 loại agent có trẻ em t2, t3, sau đó điều này có nghĩa là t1bao gồm vai trò tạo nên t2, t3
Chúng tôi tài liệu các trường hợp agent sẽ xuất hiện trong một hệ thốngbằng cách chú thích các loại agent trong mô hình agent Một chú thích n có nghĩarằng sẽ có agent chính xác n của loại này trong hệ thống thời gian chạy Một chúthích m n có nghĩa là sẽ có không ít hơn m và không quá n trường hợp của loạinày trong một hệ thống thời gian chạy (m<n) Một * chú thích có nghĩa là sẽ cókhông hoặc nhiều trường hợp tại thời gian chạy, và + "có nghĩa là sẽ có một hoặcnhiều trường hợp tại thời gian chạy (xem bảng 3)
Lưu ý rằng thừa kế đóng một phần trong các mô hình agent Gaia Điểmcủa chúng tôi là agent là hệ thống tính toán hạt thô, và một hệ thống agentthường sẽ chỉ chứa một số lượng tương đối nhỏ của vai trò và các loại, lập bản đồthường là một-một giữa chúng Vì lý do này, chúng tôi tin rằng thừa kế không có
Trang 21phần hữu ích để chơi trong các thiết kế của các loại agent (Tất nhiên, khi nói đếnagent thực sự thực hiện, thừa kế có thể được sử dụng để tác động rất lớn, trongthời trang hướng đối tượng bình thường.)
4.2 Mô hình dịch vụ
Như tên của nó cho thấy, mục đích của mô hình dịch vụ Gaia là để xácđịnh các dịch vụ liên quan với mỗi vai trò agent, và để xác định các đặc tínhchính của các dịch vụ này.Một dịch vụ, chúng tôi có nghĩa là một chức năng củaagent.Trong OO, một dịch vụ tương ứng với một phương pháp, tuy nhiên, chúngtôi không có nghĩa rằng các dịch vụ có sẵn cho các agent khác trong cùng mộtcách mà các phương pháp của một đối tượng có sẵn cho một đối tượng khác đểgọi.Thay vào đó, một dịch vụ chỉ đơn giản là một khối thống nhất duy nhất củahoạt động trong đó một agent sẽ tham gia.Nó phải rõ ràng mọi hoạt động đượcxác định tại giai đoạn phân tích sẽ tương ứng với một dịch vụ, mặc dù khôngphải mọi dịch vụ sẽ tương ứng với một hoạt động
Đối với mỗi dịch vụ có thể được thực hiện bởi một agent, nó là cần thiết
để tài liệu thuộc tính của nó.Cụ thể, chúng ta phải xác định các yếu tố đầu vào,đầu ra, điều kiện trước, và gửi điều kiện của mỗi dịch vụ.Đầu vào và đầu ra vớicác dịch vụ sẽ được bắt nguồn một cách rõ ràng từ mô hình giao thức Trước vàsau khi điều kiện đại diện cho những hạn chế về dịch vụ Chúng có nguồn gốc từtài sản an toàn của một vai trò.Lưu ý rằng theo định nghĩa, vai trò của từng sẽđược liên kết với ít nhất một dịch vụ
Các dịch vụ mà một agent sẽ thực hiện được bắt nguồn từ danh sách cácgiao thức, hoạt động, trách nhiệm và tài sản có trong một vai trò Ví dụ, trở lại ví
dụ cà phê, có bốn hoạt động và các giao thức liên quan với vai trò này: Lọc,Thông báo cho người lao động, Kiểm tra chứng khoán, và đang chờ đợi rỗng.Nói chung, sẽ có ít nhất một trong những dịch vụ liên quan với mỗi giao thức.Trong trường hợp Kiểm tra chứng khoán, ví dụ, dịch vụ (có thể có cùng tên), sẽ
là đầu vào cấp độ chứng khoán và một số giá trị ngưỡng, và chỉ đơn giản là sẽ sosánh hai Trước và sau điều kiện cả hai nhà nước mà mức độ cổ phần cà phê lớnhơn 0 Đây là một trong những thuộc tính an toàn của các vai trò lọc cà phê
Gaia mô hình dịch vụ không quy định một thực hiện cho các dịch vụ tàiliệu.Các nhà phát triển là tự do để thực hiện các dịch vụ trong bất kỳ khuôn khổthực hiện được coi là thích hợp.Ví dụ, nó có thể được quyết định thực hiện các
Trang 22dịch vụ trực tiếp như là phương pháp trong một ngôn ngữ hướng đối tượng.Ngoài
ra, một dịch vụ có thể được chia ra thành một số phương pháp
4.3 Mô hình sự hiểu biết
Mô hình Gaia thiết kế cuối cùng có lẽ là đơn giản nhất: các mô hình sựhiểu biết quen thuộc đơn giản là xác định các liên kết truyền thông tồn tại giữacác agent Chúng không xác định những thông điệp được gửi hoặc khi tin nhắnđược gửi đi – chúng đơn giản là chỉ ra con đường truyền thông tồn tại Đặc biệt,mục đích của mô hình sự hiểu biết là để xác định trước bất kỳ sự tắc nghẽn giaotiếp nào, có thể gây ra vấn đề trong thời gian chạy Thực tế để đảm bảo rằng hệthống không lỏng lẽo thì các mô hình sự hiểu biết có thể giúp tìm ra vấn đề Trên
cơ sở của mô hình sự hiểu biết, nó có thể tìm thấy các yếu tố cần thiết để xem xét
ở các giai đoạn phân tích và thiết kế lại hệ thống để loại bỏ những vấn đề khôngcần thiết
Một mô hình sự hiểu biết đơn giản như là một đồ thị với các nút trong đồthị tương ứng với các nút trong đồ thị tương ứng mỗi loại đại diện và cùng trong
đồ thị tương ứng với con đường sự hiểu biết Đại diện các mô hình sự hiểu biết là
đồ thị chỉ đạo, do đó theo 1 vòng cung a -> b sẽ gửi tin nhắn từ a đến cho b,nhưng không nhất thiết phải là b gửi tin nhắn đến a Một mô hình sự hiểu biếtđơn giản được bắt nguồn từ vai trò, các giao thức, và các mô hình agent
4.4.Quá trình thiết kế
Các giai đoạn thiết kế Gaia có thể được tóm tắt:
1 Tạo ra một mô hình agent:
- Vai trò tổng hợp thành các loại agent, và tinh chỉnh để tạo thành một hệthống phân cấp các loại agent
- Lấy tài liệu của từng loại agent bằng cách sử dụng các chú thích
2 Phát triển mô hình dịch vụ, bởi các hoạt động kiểm tra, giao thức, sự an toàncác thuộc tính linh động của các vai trò
3 Phát triển mô hình sự hiểu biết từ mô hình tương tác và mô hình agent
Trang 235 Một trường hợp nghiên cứu: Quản lý kinh doanh trên nền agent
Mục này minh họa ngắn gọn làm thế nào Gaia có thể được áp dụng, thôngqua một trường hợp nghiên cứu việc phân tích và thiết kế của một hệ thống trênnền agent để quản lý một quá trình kinh doanh British Telecom (xem [20] để biếtthêm chi tiết) Lý do ngắn gọn, chúng ta có thể bỏ qua một số chi tiết nhằm mụcđích cung cấp một hướng chung cho việc phân tích và thiết kế
Các ứng dụng cụ thể được cung cấp cho khách hàng với một lời trích dẫn
để thiết lập một mạng lưới cung cấp cho một loại dịch vụ viễn thông đặc biệt.Hoạt động này liên quan đến những bộ phận sau đây: bộ phận dịch vụ kháchhàng (CSD), bộ phận thiết kế (DD), bộ phận pháp lý (LD) và các tổ chức khácnhau cung cấp dịch vụ nguồn của việc rà soát khách hàng (VCs) Quá trình nàyđược khởi tạo bởi một khách hàng liên lạc với CSD thiết lập các yêu cầu Songsong với việc nắm bắt các yêu cầu, CSD hiệu chỉnh cho khách hàng Nếu kháchhàng không bỏ qua các thủ tục rà soát, quá trình trích dẫn nội dung này chấm dứt.Giả sử khách hàng thỏa mãn nhu cầu, yêu cầu của họ được hiển thị các danh mụcđầu tư dịch vụ Nếu họ có thể được đáp ứng bởi một tiêu chuẩn sau đó có thểđược cung cấp một bảng báo giá ngay lập tức Tuy nhiên trong một số trườnghợp các dịch vụ riêng biệt , quá trình này là phức tạp hơn DD bắt đầu thiết kếmột giải pháp để đáp ứng các yêu cầu của khách hàng và trong khi điều này xảy
ra LD kiểm tra tính hợp pháp của các dịch vụ được đề xuất, Nếu dịch vụ mongmuốn là bất hợp pháp, quá trình trích dẫn nội dung chấm dứt Giả sử dịch vụ yêucầu là hợp pháp , thiết kế cuối cùng sẽ được hoàn thành và dự toán Sau đó DDthông báo cho CSD trích dẫn nội dung bài viết này CSD, lần lượt thông báo chokhách hàng các quy trình kinh doanh sau đó chấm dứt
Di chuyển từ này mô tả quá trình theo định hướng hoạt động của tổ ch hệthống xem là tương đối đơn giản Trong nhiều trường hợp có một bản đồ bản đồ12:59 giữa các phòng ban và vai trò Hành vi của CSD thuộc vào hai vai trò khácnhau: hành động như một giao diện cho khách hàng ( người xử lý khách hàng,hình 6), và giám sát quá trình bên trong tổ chức ( quản lý, hình 7) Như vậy, VC,
LD và hành vi của DD được bao phủ bởi vai trò người thẩm định khách hàng(hình 8), tư vấn pháp lý (hình 9) và thiết kế (hình 10) Cuối cùng là vai trò củakhách hàng (hình 11) đòi hỏi các trích dẫn nội dung bài viết này