Hình 19: Mô hình hệ thống

Một phần của tài liệu đồ án công nghệ thông tin Xây dựng mô hình hệ thống đa agent BKAS và xây dựng hệ thống hỗ trợ chuẩn đoán bệnh dưa trên mô hình BKAS. (Trang 80)

Tầng giao diện: thực hiện việc giao tiếp với người dùng, nhận các

yêu cầu của người sử dụng truyền xuống tầng xử lý, và nhận các kết quả để hiển thị lên trang jsp.

Tầng xử lý: Là tầng nhận các yêu cầu từ trên xuống (từ người dùng),

phõn tích yêu cầu và thực hiện các yêu cầu đó. Sau khi thực hiện xong, trả lại kết quả (nếu có) cho tầng giao diện.

Tầng giao diện Tầng xử lý Agent khoa Agent khoa Agent khoa Agent xử lý ontology Kho tri thức ontology Tầng dữ liệu agent xử lý dữ liệu 1 Oracle Servlet Agent giao diện Trang JSP Agent điều khiển Agent chuẩn đoán Agent triệu chứng Agent xét nghiệm Agent điều phối dữ liệu agent xử lý dữ liệu 2 agent xử lý dữ liệu 3 MS Access SQL Server Người dùng

Tầng dữ liệu: đảm nhiệm việc thao tác trên cơ sở dữ liệu, thực hiện

các yêu cầu của tầng xử lý về các thao tác truy cập cơ sở dữ liệu (tìm kiếm, cập nhật, sửa đổi, …).

Việc phõn thành ba tầng này tạo ra sự độc lõp trong xử lý của từng tầng, dựa theo mô hình MVC rất phổ biến.

Cộng đồng agent được xõy dựng trên mô hình cấu trúc hệ BKAS, trong đó “Agent điều khiển” đóng vai trò như facilitator agent, các agent cũn lại đóng vai trò là agent khách (mô tả trong lý thuyết mô hình BKAS). Các agent khách (trừ agent giao diện) thực hiện việc đăng ký dịch vụ với agent điều khiển, thông qua ngôn ngữ giao tiếp được thư viện Jade cung cấp.

1.26.2 Phân tích các lớp Agent

a. Vai trò của từng agent trong hệ thống.

Agent giao diện: được khởi tạo đại diện cho một người sử dụng hệ thống trong mỗi phiên làm việc. Agent này có vai trò tạo giao diện cho người sử dụng thao tác và nó chịu trách nhiệm lấy thông tin yêu cầu của người dùng đưa xuống tầng xử lý phía dưới. Mở rộng chức năng của agent giao diện, từ các đặc tả về giao diện, các đặc tả tương tác kốm theo giao diện đó, agent giao diện theo dừi quá trình thao tác của người dùng và xác định những điểm không đúng với quy trình làm việc. Khi pháp hiện những thao tác sai của người sử dụng, agent giao diện tiến hành công việc hỗ trợ, hướng dẫn thao tác cho người dùng.

Agent giao diện nhận thông tin mô tả về giao diện dưới dạng Ontology, chuyển xuống cho tầng xử lý thực hiện các yêu cầu. Sau khi thực hiện xong yêu cầu, kết quả được đưa lên cho agent giao diện dưới dạng ontology (đặc tả giao diện), agent này sử dụng các công cụ hỗ trợ để xõy dựng giao diện hiển thị kết quả.

Agent này chỉ đại diện cho một người dùng trong một phiên làm việc, nên khi hoàn thành phiên đó nó tự chết đi, giải phóng tài nguyên cho hệ thống.

Agent điều khiển: đóng vai trò trung gian điều phối hoạt động của các Agent trong hệ thống, là agent cung cấp các tiện ích cho các agent khác trong cộng đông. Về lý thuyết, các agent trong cộng đồng khi khởi tạo chỉ biết duy nhất agent điều khiển của hệ thống. Agent điều khiển quản lý các công việc như:

o Đăng ký Agent: Nó nhận các yêu cầu đăng ký gởi đến từ các agent khách. Việc đăng ký là yêu cầu bắt buộc đối với các agent khách, nhằm khai báo tên agent, các dịch vụ (nếu có) mà agent đó cung cấp. Agent điều khiển sẽ lưu các dịch vụ đó và tên agent cung ứng dịch vụ làm tri thức cho mình.

o Khai trừ Agent: Khi một agent ra khỏi cộng đồng, phải tiến hành loại bỏ agent đó, bao gồm các công việc như loại bỏ tên agent, và các dịch vụ mà nó cung cấp cho hệ thống ra khỏi tri thức của agent điều phối.

o Kiểm soát các yêu cầu từ người sử dụng: Yêu cầu từ người sử dụng được chuyển thẳng xuống agent điều khiển. Từ đây, agent điều khiển sẽ lọc các yêu cầu, xem yêu cầu nào là hợp lệ, yêu cầu nào không thể thực hiện cung như không hợp lệ.

o Uỷ quyền đến các agent thực thi yêu cầu: Khi nhận được yêu cầu hợp lệ từ người dùng, agent điều khiển sẽ tìm kiếm trong tri thức của nó (về các dịch vụ của hệ thống và tên agent tương ứng) các dịch vụ đáp ứng được yêu cầu đú. Nú tiến hành uỷ quyền cho các agent cung cấp dịch vụ.

o Quản lý dịch vụ: Trong khi một agent tự trị hoạt động, có thể nó cần một số dịch vụ từ các agent khác. Khi ấy, chúng gửi yêu cầu hỗ trợ đến cho agent điều khiển.Agent điều khiển sẽ tìm kiếm trong danh sách dịch vụ và agent tương ứng, nếu có dịch vụ mà agent yêu cầu cần, nó sẽ gửi tên (định vị) của agent cung ứng dịch vụ đến cho agent yêu cầu hỗ trợ.

Agent này đóng vai trò như người môi giới, mọi Agent khác chuyển yêu cầu của nó đến cho Agent điều khiển, sau đó nó căn cứ

vào tri thức riêng của mình chuyển yêu cầu đó đến các Agent hoặc hệ Agent khác để thực thi yêu cầu đú. Nú có thể từ chối các yêu cầu không hợp lệ hoặc không được phép.

Agent thao tác trên ontology (OntologyAgent): hoạt động ở tầng xử lý, nó thực hiện việc quản lý và thao tác với hệ Ontology của toàn ứng dụng. OntologyAgent lưu giữ toàn bộ hệ tri thức của ứng dụng, qua hệ thống files .owl. Nó đảm nhiệm các chức năng sau :

o Load một Ontology từ file .owl tương ứng

o Gửi Ontology cho một Agent nào đó khi nó yêu cầu

o Tạo một Ontology mới và lưu nó xuống file .owl tương ứng

o Cập nhật mới một Ontology cũ và lưu xuống file .owl tương ứng

Như vậy, OntologyAgent cần cho mọi chức năng liên quan tới Ontology và file .owl. Đầu vào của OntologyAgent là các yêu cầu dạng ACLmessage, nên Agent này có thể dùng cho mọi ứng dụng xây dựng trên nền Jade platform và có hệ tri thức lưu trên file .owl hoặc các file có ký pháp tương tự.

Agent khoa viện (DepartmentAgent) hoạt động trong tầng xử lý, nó đại diện cho một khoa viện nào đó trong bệnh viện. Nó thực hiện các công việc của người quản lý khoa:

o Định nghĩa Ontology mới về tri thức liên quan tới khoa đó: do khi xây dựng, chúng ta không thể định nghĩa hết các khái niệm trong lĩnh vực y tế. Nên trong quá trình sử dụng, nếu gặp một khái niệm nào mới chưa có thì chúng ta tiến hành định nghĩa cho khái niệm ấy.

o Cập nhật Ontology cũ về tri thức liên quan tới khoa đó: sau khi sửa đổi tri thức, chúng ta cần phải lưu các thay đổi vào trong hệ thống file cũ. (adsbygoogle = window.adsbygoogle || []).push({});

Việc định nghĩa mới thêm hoặc cập nhật Ontology là yêu cầu tất yếu (Vì hệ Ontology của ứng dụng bước đầu được xây dựng trên cơ

sở tổng quan chung cho mọi khoa và cụ thể cho một khoa của viện, khoa Nôi khoa-Thần kinh. Nên khi cài đặt cho các khoa khác thi hệ tri thức lại được định nghĩa thêm mới cho phù hợp).

Agent dữ liệu (DatabaseAgent) hoạt động trong tầng dữ liệu, nó đảm nhiệm mọi hoạt động thao tác truy cập đến cơ sở dữ liệu (CSDL):

o Kết nối CSDL

o Tạo bảng, cột mới

o Xóa bảng, cột

o Cập nhật dữ liệu

o Tìm kiếm thông tin

Tham số đầu vào của các thao tác trên cơ sở dữ liệu trên là các bean sinh ra từ hệ thống ontology.

Agent này hoạt động với sự hỗ trợ của DatabaseAgentClone. Mỗi khi DataBaseAgent nhận được yêu cầu mới, DatabaseAgentClone được khởi tạo (do DataBaseAgent gọi) và nhận yêu cầu từ DataBaseAgent, thực hiện yêu cầu đó. Sau khi thực hiện xong, DatabaseAgentClone này tự động hủy đi.

Hệ Agent chuyên gia trong bệnh án số (ExpertAgent)

Hệ ExpertAgentlà một tập các Agent hoạt động ở tầng xử lý, nó bao gồm các Agent sau:

o Agent chuẩn đoán: là Agent thực hiện việc chuẩn đoán bệnh cho bệnh nhận. Trong quá trình thực hiện, nó có thể yêu cầu sự hỗ trợ của các agent khác trong hệ agent chuyên gia.

o Agent triệu chứng: là Agent quản lý các triệu chứng và nhận xét về bệnh nhân. Từ đó, nó đưa ra được những nhận xét riêng của mình.

o Agent xét nghiệm: là Agent quản lý các xét nghiệm và kết quả xét nghiệm. Từ đó, nó đưa ra những hỗ trợ cho agent chuẩn đoán bệnh.

Một thể hiện của hệ agent chuyên gia được sinh ra khi có một yêu cầu về chuẩn đoán bờnh hoặc xác định độ tiên lượng. Agent điều khiển sẽ chuyển yêu cầu xuống cho agent chuẩn đoán, và agent này căn cứ vào yêu cầu mà kích hoạt các agent khác trong hệ chuyên gia để yêu cầu hỗ trợ. Ví dụ, trong yêu cầu chuẩn đoán chỉ có tham số đầu vào là xét nghiệm thì agent xét nghiệm được được kích hoạt cũn agent triệu chứng thì không cần thiết.

Các agent trong hệ chuyên gia này hoạt động độc lập, song chúng có sự phối hợp với nhau trong quá trình làm việc để hoàn tất yêu cầu chung.

b. Phân tích các Agent bằng UML – AUM

Agent tổng quát: (CommonAgent): Mọi agent trong hệ thống được thiết kế là sự mở rộng của agent tổng quát. Chúng được cài đặt thêm

Một phần của tài liệu đồ án công nghệ thông tin Xây dựng mô hình hệ thống đa agent BKAS và xây dựng hệ thống hỗ trợ chuẩn đoán bệnh dưa trên mô hình BKAS. (Trang 80)