TÍch hợp ontology vào trong mase nguyễn Thị Vân Anh Nguyễn Minh Tuấn Giới thiệu



tải về 1.01 Mb.
trang4/4
Chuyển đổi dữ liệu26.11.2017
Kích1.01 Mb.
1   2   3   4

Hoàn thiện và kiểm định Ontology

Khi người thiết kế xác định các lớp, các thuộc tính và các tiên đề của ontology, bước tiếp theo là phải kiểm định xem ontology đó có thõa mãn các yêu cầu hệ thống hay không. Để kiểm định mô hình, người phân tích xem xét các tình huống được mô tả trong các UC và các biểu đồ tuần tự để đảm bảo ontology đó mô tả tất cả những thông tin cần thiết trong việc thực thi những kịch bản này. Bất kì thông tin nào còn thiếu đều được thêm vào trong ontology, và bất kì thông tin nào quá lớn sẽ được loại bỏ khỏi ontology. Nếu bất kì thông tin nào được đặc tả không đúng, người thiết kế sẽ phải làm cho đúng và phù hợp với ontology.

Bước này được lặp lại xuyên suốt trong quá trình phát triển của hệ thống. Tại bất kì thời điểm nào mà người thiết kế nhận ra một số thông tin còn thiếu trong ontology thì ontology sẽ được chỉnh sửa để thêm những thông tin đó. Việc xây dựng ontology hoàn thành khi người phân tích cảm thấy hài lòng về ontology đó và ontology đó biểu diễn được tất cả những thông tin cần thiết từ các biểu đồ tuần tự và các UC.

Trong ví dụ về lập lịch khóa học, người phân tích nhận ra rằng có một vấn đề khi cố gắng để lập lịch cho các lớp trong các UC. Giảng viên và sinh viên có thể có các sự kiện khác xung đột với lịch biểu của bài học, chẳng hạn như các cuộc họp khoa, nhưng ontology lại không đủ khả năng biểu diễn những sự kiện đó. Project được thêm vào đối tượng ScheduleEvent như là cha mẹ của Section để biểu diễn những sự kiện này. Sau đó Person có thuộc tính scheduleEvents chứa danh sách tất cả các sự kiện được yêu cầu. Với những bổ sung như vậy, người lập lịch có thể kiểm tra một cá thể không có hoạt động nào được lập lịch trong khung thời gian đặc tả.



  1. Sử dụng Ontology trong các hệ thống đa agent

Khi ontology hệ thống được xây dựng, phương pháp luận thiết kế hệ đa agent sẽ cho phép người phân tích đặc tả các đối tượng từ mô hình dữ liệu như là các tham số trong các cuộc hội thoại giữa các agent. Để đảm bảo chức năng đúng đắn của hệ thống đa agent, người thiết kế phải có khả năng kiểm tra các agent có thông tin cần thiết được yêu cầu cho sự thực thi của hệ thống hay không. Vì thông tin được biểu diễn trong các lớp của mô hình dữ liệu, quá trình thiết kế theo phương pháp luận phải chỉ ra những lớp được truyền đi giữa các agent. Chúng tôi sửa các bước hoàn thiện Role và xây dựng các cuộc hội thoại mà liên quan đến việc truyền thông điệp để đưa vào đặc tả kiểu của các tham số được truyền đi trong các thông điệp theo phương pháp MaSE.

Trước đây, các tham số trong các biểu đồ Conversation State (trạng thái hội thoại) và Concurrent Task (các task đồng thời) chỉ được mô tả bởi tên của chúng. HIện nay, kiểu dữ liệu của mỗi tham số được đặc tả cùng với tên của chúng. Ví dụ, trong hình 7, người phân tích đặc tả tham số schd là một kiểu Schedule, đây là kiểu đã được định nghĩa trong ontology. Các hành động có thể sử dụng những thông tin chứa trong các thuộc tính của các tham số, vì kiểu tham số được biết đến cùng với các thuộc tính của kiểu dữ liệu đó. Các biến số bên trong các task và các conversation cũng có thể có kiểu theo ontology hệ thống. Bằng việc sử dụng các giá trị dữ liệu của các tham số và các biến số, tính hiệu lực của các cuộc hội thoại có thể được kiểm tra một cách tự động. Ưu điểm này sẽ được bàn luận trong phần tiếp theo.





Hình 7: Ví dụ máy hữu hạn trạng thái với việc truyền thông tin

Cùng với việc xây dựng mô hình dữ liệu hệ thống, phương pháp luận thiết kế hệ đa agent cho phép các agent có những mô hình dữ liệu của riêng nó. Với việc đưa ra khả năng này, phương pháp luận cho phép phát triển các hệ thống hỗn tạp. Yêu cầu đối với hệ đa agent để tích hợp với các hệ thống đang có thường tạo ra những hệ thống hỗn tạp như vậy. Với các mô hình dữ liệu khác nhau xuất hiện từ yêu cầu sẽ chỉ ra các mô hình thông tin liên quan đến nhau như thế nào.

Phương pháp luận nên cung cấp khả năng cho người thiết kế chỉ ra các quan hệ giữa các mô hình dữ liệu trong một số ứng xử nào đó. Việc chỉ ra các quan hệ sẽ chỉ ra cho người phát triển code những thông tin gì từ một mô hình được yêu cầu để tạo ra các đối tượng trong mô hình khác. Không mô tả các quan hệ này, người phát triển có thể không thể biết làm thế nào để dịch (translate) các đối tượng trong một cuộc hội thoại giữa hai agent với các mô hình dữ liệu tách biệt, vì mỗi agent sử dụng các lớp khác nhau để mô tả những thông tin đó.

Hiện nay, bước Hoàn thiện agent (Assembling Agent Classes) đưa cho người thiết kế khả năng đặc tả những ontology cho các thành phần agent khác nhau và ánh xạ chúng thành ontology của toàn hệ thống. Những ontology thành phần này có thể được sử dụng để biểu diễn các mô hình dữ liệu của các agent hay các hệ thống đang có mà được đưa vào trong hệ thống. Người thiết kế có thể ánh xạ các ontology thành phần thành một hay hai ontology hệ thống khác. Khi ánh xạ giữa các ontology thành phần, nếu một thành phần tương tác với nhiều thành phần khác mà mỗi thành phần đó lại có một ontology riêng, kết quae là có một số lượng lớn các ánh xạ. Nếu có n thành phần agent, và mỗi thành phần tương tác với mỗi thành phần khác, sẽ có (n-1)! ánh xạ. Bằng cách chỉ ra các mối quan hệ của các ontology thành phần đối với ontology hệ thống, hệ thống sẽ có n ánh xạ, mỗi ánh xạ cho một thành phần. Người thiết kế ánh xạ thành ontology hệ thống đẻ giảm số ánh xạ có thể được yêu cầu.



Để mô tả những quan hệ giữa các ontology, người phân tích đặc tả những đối tượng và những thuộc tính tương ứng trong ontology đó. Ví dụ, hình 8 chỉ ra rằng đối tượng Course từ ontology thành phần tương ứng với đối tượng Class trong ontology hệ thống. Nó cũng chỉ ra thuộc tính Course Number của Course tương ứng với thuộc tính number của Class.



Hình 8: Chương trình ánh xạ Ontology

Để giúp người sử dụng trong việc ánh xạ ontology, chúng tôi đã phát triển một mô hình xếp hàng thu nhận thông tin mà tính toán tương tự giữa các lớp ontology. Thông thường, trong thông tin thu nhận, người sử dụng đặc tả một hàng đợi và cơ chế tìm kiếm các loại tài liệu trong bộ sưu tập dựa trên sự tương tự của chúng đối với hàng đợi. Chúng tôi xem xét quy trình ánh xạ tương tự đối với quy trình nhận thông tin, người sử dụng tìm kiếm một lớp trong ontology hệ thống sẽ tương tự với tìm kiếm các lớp trong ontology thành phần.

Mô hình xếp hàng sử dụng các đặc trưng và cấu trúc thuộc tính của hai lớp để tính toán số điểm tương tự của chúng. Trong cách cư xử này, người sử dụng có thể biểu diễn với một danh sách các lớp từ ontology hệ thống được xếp hàng theo tính tương tự của chúng đối với một lớp đã cho trong ontology thành phần. Ví dụ, mô hình xếp hàng trả lại đối tượng Class như là đối tượng tương tự với đối tượng Course. Cấu trúc thuộc tính của các đối tượng Student Section giống với cấu trúc của đối tượng Class, và do đó trả lại kết quả tương tự như vậy.

Phân tích

Để kiểm tra khả năng của MaSE hỗ trợ người sử dụng trong việc phát triển hệ thống và các ontology agent và để đánh giá lợi ích của việc đưa miền thông tin vào trong sự phát triển của hệ đa agent, chúng tôi đã thiết kế hệ thống lập lịch khóa học phân tán sử dụng MaSE mở rộng. Phần còn lại của phần này bàn luận về kinh nghiệm sử dụng MaSE dựa trên thiết kế hệ thống ví dụ này.

Việc tạo ontology hệ thống xuất hiện tại thời điểm phù hợp trong quy trình phát triển. Các bước trong MaSE trước đó áp dụng để xây dựng ontology, Xây dựng Goal, Áp dụng các UC, cung cấp tập các thuật ngữ để xem xét trở thành các đối tượng có thể có trong ontology. Các bước sau khi tạo ontology là truyền thông điệp và thông tin giữa các role. Việc truyền thông tin này xuất hiện với các tham số đã được đặc tả như là các đối tượng trong ontology. Bằng cách đặt việc tạo ontology bên phải trước khi tạo các task, phương pháp luận cho phép người sử dụng phân tích miền vấn đề một cách hoàn hảo trước khi tạo mô hình dữ liệu. Người thiết kế có thể xác định chính xác thông tin nào cần cho hệ thống trong lúc đang tạo mô hình dữ liệu.

MaSE mô tả các task và các cuộc hội thoại bằng cách sử dụng máy hữu hạn trạng thái, vì thế kinh nghiệm sử dụng ontology là tương tự trong trường hợp này. Với mô hình dữ liệu đang có, người thiết kế có thể đặc tả kiểu của các đối tượng được truyền giữa các agent, như đã được chỉ ra trong hình 7. Người thiết kế đặc tả đối tượng Schedule nhận được như là là một tham số trong thông điệp updateClassrooms. Thêm vào đó, người phân tích mô tả các hành động mà task thực hiện trên thuộc tính composedOfSections của đối tượng Schedule để cập nhật thông tin về phòng học. Bây giờ, khi kiểu dữ liệu đã được định nghĩa, việc gán các kiểu dữ liệu đó cho các thuộc tính của nó như là một phần của quy trình phát triển và có thể sử dụng trong các biểu đồ hành vi.

Với khả năng để đặc tả các kiểu tham số, người thiết kế cũng cần biết chính xác cấu trúc của thông tin được truyền đi giữa các agent và phải có khả năng kiểm tra xem mỗi agent có tất cả những thông tin cần thiết để hoàn thành goal của nó hay không. Trước đây, ngườ thiết kế truyền trong một tham số bằng cách giả sử những người phát triển sẽ nhận ra để code những thông tin này thành các đối tượng. Với mô hình dữ liệu đã được đặc tả, người sử dụng có thể đặc tả đối tượng và đảm bảo thông tin được mã hóa như là một thuộc tính của đối tượng đó.

Bằng cách đặc tả các ontology thành phần cho các agent, người phát triển có thể sử dụng lại các agent từ những hệ thống trước đó hoặc tích hợp các hệ thống đang có thành một hệ thống hỗn tạp. Người thiết kế có thể đặc tả các ánh xạ giữa các ontology thành phần và ontology hệ thống để làm rõ kiểu dữ liệu biểu diễn cùng một khái niệm trong các ontology khác nhau.

Các kết quả khác từ việc kết hợp ontology là agentTool có thể xuất ra code hoàn chỉnh hơn. Một lớp java được tạo ra cho mỗi đối tượng trong ontology với các thuộc tính được định nghĩa một cách phù hợp. Sau đó, code cho các agent và các cuộc hội thoại có thể sử dụng những lớp này dựa trên kiểu dữ liệu được định nghĩa trong thiết kế các biểu đồ, yêu cầu người sử dụng phải sửa code ít hơn.

Các cơ chế kiểm tra cuộc hội thoại tự động trong agentTool cũng có thể được mở rộng để kiểm tra kiểu dữ liệu của các tham số trong cuộc hội thoại. Thủ tục kiểm tra sẽ kiểm tra bế tắc (deadlock), các vòng lặp và tính hiệu lực của chuỗi thông điệp bằng cách so sánh các chữ ký của các thông điệp. Việc kiểm tra bổ sung này kiểm tra các cuộc hội thoại có hiệu lực theo kiểu dữ liệu của các tham số trong thông điệp được gửi đi bằng cách đánh dấu các tham số của một thông điệp nhận bởi một số agent trong hệ thống.

Sự bổ sung của ontology cũng cho phép việc tạo ra việc kiểm tra tính bảo mật trong agentTool. Ontology có thể được mở rộng để hỗ trợ sự phân loại của các đối tượng dữ liệu. Ví dụ, đối tượng AriTaskingOrder xác định như như là đối tượng đã được phân loại. Các đối tượng có thể được đặc tả như là một lớp được phân loại hay không bị phân loại, hoặc ontology có thể được mở rộng để hỗ trợ mức độ phân loại của các lớp agent riêng biệt. Sau đó, các cuộc hội thoại có thể được kiểm tra một cách tự động để đảm bảo rằng hệ thống đảm bảo thông tin được phân loại là không được truyền tới các agent không được phân loại.

Việc đưa agent vào trong MaSE cũng giúp các nguyên tắc phát triển và tổ chức trong MaSE. Các nguyên tắc tổ chức có thể định nghĩa các ràng buộc giữa các role và các giao thức, role và dữ liệu hoặc giữa bản thân các role. Các đặc trưng tên đề và thuộc tính trong ontology có thể định nghĩa các ràng buộc về mặt tổ chức được đặt trong những thông tin chứa trong ontology. Việc sử dụng ontology để phát triển các chức năng mô tả dữ liệu trong hệ thống có thể mở rộng những ràng buộc này. Ví dụ, chức năng classedRegisterred(s) có thể trả lại đối tượng Section mà đối tượng Student s hiện tại đã đăng ký. Những chức năng này có thể được kết hợp với các chức năng giao thức để mô tả các quan hệ mà tổ chức của các agent phải đảm bảo là thỏa mãn trong quá trình thực thi của hệ thống.



  1. Kết luận

Trong bài báo này, chúng tôi đã chỉ ra chúng tôi đã mở rộng MaSE như thế nào để đưa vào quá trình phát triển và sử dụng ontology để định nghĩa miền thông tin của hệ thống. Sự bổ sung này vào MaSE cho phép người sử dụng định nghĩa ontology hệ thống và đặc tả các đối tượng mô hình dữ liệu trong các mô hình hành vi MaSE. Sự mở rộng khớp với phiên bản trước đó của agent để đảm bảo các bước MaSE theo tuần tự logic trong quy trình phát triển phần mềm, các đầu ra của bước này trở thành đầu vào của bước tiếp theo. Người thiết kế có thể xây dựng ontolgy hệ thống và ontology thành phần bằng cách tạo ra và xây dựng các lớp và các thuộc tính dựa trên các thuật ngữ được trích ra từ cấu trúc phân cấp goal, các yêu cầu hệ thống, và các UC. Sau đó, các agent có thể sử dụng những lớp này để chia sẻ thông tin với agent khác.

Với việc bổ sung bước này để đưa miền thông tin, nghiên cứu này bổ sung vào phương pháp MaSE để trở thành một phương pháp hoàn chỉnh trong việc xây dựng hệ thống đa agent. Hiện nay MaSE đưa ra các hành vi hệ thống, cấu trúc hệ thống, và các mô hình dữ liệu, do đó việc định nghĩa các khía cạnh được yêu cầu để đảm bảo hệ thống được code sẽ thực hiện đầy đủ các yêu cầu ban đầu của hệ thống. Với những mô hình này, người thiết kế có thể đảm bảo rằng mỗi agent có thông tin được yêu cầu đối với toàn bộ yêu cầu của hệ thống.

Khi được tự động trong agentTool, việc thêm ontology có thể làm tăng khả năng kiểm tra các cuộc hội thoại trong hệ thống một cách tự động bằng cách so sánh chữ ký của các thông điệp. Với ontology, agentTool cũng có thể kiểm tra tính bảo mật của hệ thống đa agent bằng cách đảm bảo rằng thông tin được phân loại thì không được truyền tới những agent không được phân loại.

Những phương pháp luận được xây dựng cho việc xây dựng và sử dụng ontology đã được bàn luận trong bài báo này có thể được tích hợp vào các phương pháp luận thiết kế hướng agent khác trong một cách cư xử phù hợp với các mô hình của mỗi phương pháp luận. Bài báo này, biểu diễn sự tích hợp của các khái niệm vào trong MaSE như là một ví dụ về sự tích hợp kỹ thuật ontology vào trong các phương pháp luận phát triển hệ đa agent.



TÀI LIỆU THAM KHẢO

Integrating Ontologies into Multiagent Systems Engineering, Jonathan DiLeo1, Timothy Jacobs, Scott DeLoach 3
1   2   3   4


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

    Quê hương