đồ á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. - Pdf 26

Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
Bỏo cáo tốt nghiệp
Giáo viên hướng dẫn: ThS. Lê Tấn Hùng
Sinh viên thực hiện: Lê Đức An – CNPM - K44.
ĐỀ TÀI: 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.
SV thực hiện: Lê Đức An – CNPM K44 Trang 1/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
MỤC LỤC
CƠ SỞ LÝ THUYẾT 6
GIỚI THIỆU CHUNG VỀ BKAS 29
SỰ PHỐI HỢP GIỮA CÁC AGENT TRONG HỆ BKAS 49
GIAO TIẾP GIỮA CÁC AGENT TRONG HỆ BKAS 57
XÂY DỰNG HỆ V_MEDINFO DỰA TRÊN MÔ HÌNH BKAS 74
Danh sách hình vẽ:
Hình 1: Những đặc điểm của agent 8
Hình 2: Phân loại agent theo khả năng 12
Hình 3: Mô hình cõu trỳc và tương tác với môi trường của agent 12
Hình 4 Cách agent tương tác với môi trường 13
Hình 5: Kiến trúc agent platform theo chuẩn của FIPA 20
Hình 6: Mô hình JADE Agent platform phân tán 21
Hình 7: Các thành phần giao tiếp trong JADE 25
Hình 8: Vòng đời của JADE Agent 26
Hình 9: Mô hình cấu trúc của BKAS 32
Hình 10: Đăng ký dịch vụ với facilitator agent 37
Hình 11: Sự uỷ quyền của facilitator agent trong trường hợp yêu cầu đa mục
tiêu 40
Hình 12: Hệ thống Văn phòng tự động (Automated Office) 44
Hình 13: Sự kết hợp của các hệ thống BKAS thông qua facilitator agent trung

RDF Resource Description
Framework
Chuẩn mô tả tài nguyên ontology
RDFS RDF Schema Giản đồ mở rộng mô tả tài nguyên
ontology
BDI Belief – Desire – Intention kiến trúc agent có khả năng suy
luận
URL Uniform Resource Locator
XML Extensible Markup
Language
Ngôn ngữ định dạng mở rộng
SV thực hiện: Lê Đức An – CNPM K44 Trang 3/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
JADE Java Agent DEvelopment
Framework
framework & thư viện hỗ trợ phát
triển ứng dụng hướng agent.
FA Facilitator Agent Agent trung gian đặc biệt
ICL Inter-Agent
Communication Language
Khái niệm tổng quát về ngôn ngữ
truyền thông giữa các agent trong
cộng đồng agent.
GUI Graphical User Interface Giao diện người sử dụng
Lời nói đầu:
Trong những năm gần đõy, việc chăm sóc sức khoẻ cộng đồng ngày
càng được chú trọng. Công việc này đòi hỏi trình độ chuyên môn cũng như
kinh nghiệm của bác sĩ. Vấn đề này không chỉ thuộc trong phạm vi một cơ sở,
một vùng hay một quốc gia. Nó bao trùm trên phạm vi toàn cầu, chính vì vậy

cô trong bộ môn Công nghệ phần mềm nói riêng. Đặc
biệt là sự quan tâm, chỉ bảo tận tình của thầy giáo hướng
dẫn Ths. Lê Tấn Hùng.
SV thực hiện: Lê Đức An – CNPM K44 Trang 5/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
Em xin trân trọng gửi tới thầy Lê Tấn Hùng cùng toàn
thể thầy cô giáo trong khoa Công nghệ thông tin - Trường
Đại học Bách Khoa Hà Nội lời cảm ơn sâu sắc nhất.
Đồng thời gửi lời cảm ơn đến bệnh viện quân y 108, bác
sĩ Lâm Khánh đã nhiệt tình giúp đỡ em hoàn thành đề tài
này!
Tác giả: Lê Đức An.
CƠ SỞ LÝ THUYẾT
1.1 Công nghệ Agent, xây dựng phần mềm hướng Agent
1.1.1 Trình bày lý thuyết chung về Agent
 Khái niệm agent
SV thực hiện: Lê Đức An – CNPM K44 Trang 6/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
Trong những năm gần đõy, công nghệ agent và xõy dựng phần mềm
hướng agent trở nên khá phổ biến. Xuất phát từ một ý tưởng của Shoham
(Shoham, Yoav. hoạt động trong lĩnh vực trí tuệ nhõn tạo), công nghệ agent
ngày càng phát triển. Ban đầu agent sinh ra với mục đích hỗ trợ quản lý khối
dữ liệu phõn tán khổng lồ [5]. Hiện nay, khái niệm về agent cũn chưa thống
nhất, dưới đõy là một số khái niệm lột tả được bản chất của agent:
o Agent là một thực thể nào đó có khả năng cảm nhận môi trường
xung quanh thông qua những bộ phận cảm nhận và hoạt động trên
môi trường đó nhờ các bộ phận phản ứng.
o Agent có lý trí thực hiện các hành động mà Agent cho rằng

Agent phải có bộ cảm nhận phù hợp, hoặc sở hữu các mô hình bên
trong của agent, có khả năng phản xạ đối với các thay đổi của môi
trường. Agent quan sát là một ví dụ của agent phản xạ đơn giản.
o Tính chủ động / Tính hướng đích: Agent không những phản
ứng lại môi trường, mà chỳng cũn có thể hành động có mục đích và
chủ động, tranh thủ thời cơ để đạt được mục đích đú. Tớnh chủ
động là cấp cao hơn khả năng phản xạ. Để agent có thể tự nhận các
yêu cầu ban đầu thì agent phải cú cỏc mục đích được xác định trước
kể cả hệ thống đích phức tạp. Tính chất toàn diện và độ phức tạp
của các hệ thống đích thích hợp là rất quan trọng. Ví dụ: nếu một
agent chỉ có nhiệm vụ chung là thu thập thông tin trong lĩnh vực cụ
thể nào đó thỡ nú không thể làm gì hơn ngoài việc giám sát những
thông tin đặc biệt và phản ứng với những thay đổi. Trong trường
hợp xuất hiện thờm cỏc thông tin mới đáng quan tâm khỏc thỡ tớnh
SV thực hiện: Lê Đức An – CNPM K44 Trang 8/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
chủ động biểu hiện rất hạn chế. Mặt khác, nếu agent biết rõ hệ thống
đích không chỉ ở mục đích tổng quan mà còn hiểu rõ từng mục đích
con thì mỗi mục đích con này sẽ cho phép agent thực hiện nhiệm vụ
chính xác hơn. Tính chủ động của agent chỉ thực sự thể hiện ở các
hệ thống dích phức tạp.
o Khả năng suy luận / Tự học: Mỗi agent thuộc một lĩnh vực
phải có những hiểu biết cơ bản về lĩnh vực đó. Tuy nhiên, mức độ
hiểu biết có thể được chia ra thành nhiều trình độ khác nhau từ các
agent đơn lẻ với khả năng hiểu biết giới hạn tới các hệ thống phức
tạp, thông minh cao hơn. Trên cơ sở tri thức đó, agent có khả năng
suy diễn để đưa ra các hành động thích hợp. Tri thức riêng này sẽ
được cập nhật thương xuyên trong quá trình hoạt động. Việc tích
luỹ này có thể từ các agent khác hoặc từ các tri thức liên quan mà

agent đơn lẻ, truyền thông giữa các agent và tài nguyên bên ngoài.
Cơ chế này không thích hợp với đối thoại giữa một số agent với
mục đích cộng tác, phân đoạn các khả năng truyền thông. Sự cộng
tác giữa các agent đưa ra một số giải pháp tốt hơn và nhanh hơn đối
với những nhiệm vụ phức tạp vượt quá khả năng của một agent đơn
lẻ.
Dựa vào đặc trưng trên, chúng ta có thể phõn loại agent theo các đặc
trưng thể hiện của chúng. Có thể chia agent thành 7 nhúm:
o Agent cộng tác: là các agent có khả năng tự trị và liên kết với
các agent khác khi thực thi nhiệm vụ của chúng. Agent cộng tác
được sử dụng khi giải quyết các bài toán lớn, vượt quá khả năng và
tri thức của một agent đơn lẻ. Agent thực hiện việc cộng tác bằng
cách sử dụng các cơ chế truyền thông.
o Agent giao diện: đảm nhận việc giao tiếp với người sử dụng,
đõy là một agent hữu ích trong hệ agent phõn tán. Agent này có khả
năng tự trị khi hoạt động trên máy của người sử dụng.
o Agent di động: là các agent có khả năng di chuyển trong hạ tầng
mạng (như WAWs hoặc WWW). Agent di động bắt buôc phải có
tớnh tự trị, nó tự hoạt động trên mạng và trở về “hệ thống” khi đã
SV thực hiện: Lê Đức An – CNPM K44 Trang
10/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
hoàn thành nhiệm vụ (hoặc gửi kết quả về cho hệ thống thông qua
các giao thức truyền thông giữa agent và hệ thống).
o Agent thông tin: hỗ trợ con người tìm kiếm thông tin trờn cỏc
hệ thống hoặc mạng phân tán. Agent thông tin phải có khả năng
thực hiện các nhiệm vụ sau: xác định vị trí các nguồn thông tin,
trích thông tin từ các nguồn, lọc thông tin liên quan từ toàn bộ
lượng thông tin tìm thấy dựa vào tóm tắt yêu cầu của người sử

Tập trạng thái môi trường có thể có: S = {s1, s2, s3, …}
Tập hành động của agent: A = {a1, a2, a3, …}
SV thực hiện: Lê Đức An – CNPM K44 Trang
12/96
Hợp tác Tự học
Tự trị
Agent thông minh
Agent cộng tác
Agent cộng tác / học
Agent giao diện
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
Một agent chuẩn được định nghĩa là một tập các ánh xạ từ tập trạng thái
của môi trường vào tập hành động của agent: Action: S* → A. Mỗi
hành động của agent đều phụ thuộc vào những hành động trước của nó. Và
mỗi hành động đó sẽ tác động đến môi trường theo dạng env: S x A → ρ(S).
Trong đó ρ(S) là một tập trạng thái của môi trường. Có 2 loại tác động lên môi
trường:
o Không xác định trước: khi ρ(S) = { Sx, Sy}
o Xác định trước khi ρ(S) = {Sx}
Để tạo ra sự liên kết tương tác qua lại như vậy, agent phải được cài đặt
hai loại hàm sau: see() và action().
Hàm see():được cài đặt dưới dạng phần cứng hoặc phần mềm để thu
nhận trạng thái của môi trường và tạo ra tri thức riêng cho agent.
Hàm action(): là biểu diễn hệ thống ra quyết định của agent
Hình 4 Cách agent tương tác với môi trường
Để có quyết định (do hàm action()) hợp lý, agent cần có tri thức từ hàm
see() chớnh xác và một tập tri thức quá khứ (kinh nghiệm) của agent trong quá
trình hoạt động
1.1.2 Công nghệ phần mềm hướng agent

ngữ). Do đó, các tương tác thường là được điều khiển ở mức tri
thức: trong các giới hạn mà các mục đích nên theo.
o Thứ hai, vì agent là giải pháp mềm dẻo cho bài toán, việc thao
tác trên một môi trường mà qua đó chúng chỉ có quan sát và điều
khiển cục bộ, các tương tác cần được xử lí trong một kiểu mềm
dẻo tương tự. Bởi vậy, các agent cần dụng cụ tính toán để đưa ra
các quyết định phụ thuộc vào ngữ cảnh về tính chất và phạm vi
của các tương tác của chúng và để bắt đầu (hoặc đáp ứng) các
tương tác mà không cần thiết được dự đoán trước ở giai đoạn
thiết kế.
 Trong hầu hết các trường hợp, các agents hành động để đạt đến các
mục tiêu đại diện cho các cá nhân riêng lẻ hay các công ty. Vì vậy, khi
các agents tương tác, thường có một số ngữ cảnh cơ bản thuộc tổ chức.
Ngữ cảnh này trợ giúp việc định nghĩa tính chất của mối quan hệ giữa
SV thực hiện: Lê Đức An – CNPM K44 Trang
14/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
các agents. Ví dụ, chúng có thể hoạt động ngang hàng trong một nhóm,
một agent có thể là ông chủ của các agents khác, hoặc chúng có thể
được bao hàm trong một loạt các mối quan hệ chủ - tớ. Để giành được
các liên kết đú, cỏc hệ thống agent thường cú cỏc cấu trúc rõ ràng cho
việc mô hình các mối quan hệ tổ chức (chẳng hạn như peer, boss,…) và
các cấu trúc tổ chức (chẳng hạn như teams, groups, coalitions,…). Nên
lưu ý rằng trong nhiều trường hợp, các mối quan hệ này có thể thay đổi
trong khi hệ thống hoạt động.
 Tương tác xã hội có nghĩa là sự tồn tại các mối quan hệ tiến hóa (chẳng
hạn một agent quyết định một giao dịch mới) và các mối liên hệ mới
được tạo ra (chẳng hạn như một số các agents có thể hình thành một
nhóm để đưa ra một dịch vụ cụ thể mà không có một cá nhân nào có

o Không có sự điều khiển toàn bộ hệ thống.
o Dữ liệu được tổ chức phõn tán.
o Việc tớnh toán thiếu đồng bộ.
Một trong những nhõn tố quyết định sự phát triển của hệ thống đa agent
là việc áp dụng nền tảng Internet, cung cấp cơ sở cho một môi trường mở, nơi
agent có thể tương tác với các agent khác để hợp tác và chia sẻ kinh nghiệm.
Để tương tác trong môi trường như vậy, agent cần giải quyết được hai vấn đề:
chúng có khả năng tỡm được những agent khác (khi các agent có thể hiện hữu,
không tồn tại, hoặc có thể di chuyển bất kỳ thời điểm nào); và chúng có khả
năng tương tác.
 Ưu điểm của hệ đa agent
Trong phần trên, chúng ta đã biết rằng mỗi agent có một mức độ thông
minh khác nhau mỗi khi được tạo ra và khă năng học của mỗi agent cũng khác
nhau trong quá trình tương tác với các agent khác hoặc với môi trường bên
ngoài. Tuy nhiên, khi các agent liên kết với nhau tạo thành một hệ thống hợp
nhất, hệ thống đa agent (Multi Agent System – MAS). Trong hệ thống này,
các agent tương tác với nhau và hỗ trợ cho nhau để hoàn thành nhiệm vụ của
bản thân agent cũng như nhiệm vụ chung của hệ thống. Hệ thống này có một
số ưu điểm sau:
SV thực hiện: Lê Đức An – CNPM K44 Trang
16/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
• Có khả năng giải quyết các vấn đề lớn, ngoài khả năng của agent
đơn lẻ.
• Cho phép giải quyết các bài toán có tính phân tán như quản lý mạng
viễn thông v.v.
• Cho phép giải quyết các bài toán trong đó thông tin và tri thức có
nguồn gốc phân tán.
Tuy nhiên, để hệ thống đa agent hoạt động có hiệu quả thì nhất thiết

những điểm mạnh của nó: sử dụng lập trình hướng đối tượng trong các hệ
phân tán không đồng nhất, một số đặc điểm đó là OSR (Object Serialization,
Reflection) và RMI (Remote Method Invocation).
Jade tích hợp một số công cụ giúp đơn giản việc quản trị và phát triển
ứng dụng. Mỗi công cụ được chứa trong các package riêng biệt trong
jade.tools. Hiện nay, JADE cung cấp một số các công cụ sau:
 Remote Management agent - RMA: hoạt động trong môi trường đồ
hoạ giúp cho việc quản lý và điều khiển platform. RMA đầu tiên có
thể được tạo ra với tuỳ chọn "-gui ", sau đú thì một số GUI có thể
được kích hoạt. RMA có khả năng khởi động các công cụ Jade
khác.
 Dummy agent: là một công cụ giám sát và gỡ lỗi, cung cấp giao
diện người dùng dạng đồ hoạ và một JADE agent. Thông qua giao
diện này, người dùng có thể tạo ra các thông báo và gửi chúng đi tới
các agent, nó cũng có khả năng hiển thị danh sách tất cả các thông
điệp ACL nhận và gửi
 Sniffer: là một agent có thể chặn các thông báo ACL trong khi
chúng đang được truyền và hiển thị dưới dạng đồ hoạ bằng cách sử
dụng cỏc kớ hiệu tương tự như lược đồ tuần tự trong UML.
 IntrospectorAgent: là một công cụ hữu ích cho phép kiểm soát
vòng đời của agent và các thông báo ACL.
 SocketProxyAgent: đõy là một agent đơn giản, hành động giống
như một bidirectional gateway giữa môi trường JADE và kết nối
TCP/IP. Thông báo ACL di chuyển trên dịch vụ giao vận JADE,
được chuyển sang một sâu ASCII và chuyển đi qua các kết nối
socket. Các thông điệp ACL có thể quay lại qua TCP/IP này vào
JADE platform. Agent này rất hữu ích cho việc điều khiển bức
SV thực hiện: Lê Đức An – CNPM K44 Trang
18/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn

SV thực hiện: Lê Đức An – CNPM K44 Trang
19/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
mô tả agent, khả năng thống nhất trong một mạng DF). Điều đó liên
quan đến việc thực hiện một môi trường agent đa phạm vi.
 Hiệu quả truyền tải các thông điệp ACL bên trong các platform
giống nhau. Trên thực tế các thông điệp được chuyển nhượng, được
mó hoỏ thành các đối tượng Java hơn là cỏc xõu.
 Thư viện các giao thức tương tác FIPA luôn sẵn sàng như FIPA-
request và FIPA-contract-net.
 Đăng ký và xoá bỏ đăng ký của agent với AMS là tự động.
 Hỗ trợ các ngôn ngữ định nghĩa ứng dụng và các ontology.
 Giao diện trong quy trình cho phép các ứng dụng bên ngoài có thể
can thiệp vào các agent tự chủ.
1.3.3 Kiến trúc của JADE
FIPA đưa ra mô hình chuẩn của một agent platform như hình vẽ sau:
Hình 5: Kiến trúc agent platform theo chuẩn của FIPA
• Hệ thống quản lý agent (AMS - Agent Management System) là một
agent được sử dụng để giám sát tất cả các điều khiển truy nhập và sử
dụng agent platform. Mỗi một agent platform chỉ tồn tại duy nhất một
AMS. AMS cung cấp dịch vụ trang trắng (White – Page) và vòng đời
(Life- cycle), duy trì một thư viện các định danh của agent (AID –
Agent IDentifier) và trạng thái của agent. Mỗi agent phải đăng kí với
AMS để nhận AID của nó.
SV thực hiện: Lê Đức An – CNPM K44 Trang
20/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
• Agent DF (Directory Facilitator) là agent cung cấp dịch vụ trang vàng

chiếu này được bổ xung vào cache khi các thông điệp được gửi đi và nú giỳp
cho Agent Global Descriptor tìm kiếm các thông điệp.
Cơ chế giao tiếp trong JADE rất linh hoạt, các container luôn chọn cơ
chế truyền thông có sẵn và hiệu quả nhất dựa theo sự định vị của agent nhận
thông điệp:
• Cùng container: không sử dụng lời gọi từ xa.
• Cùng platform, khác container nhưng được tìm thấy trong cache: một
RMI riêng lẻ sẽ được gọi, đối tượng thông điệp được thực hiện tuần tự
hoặc không tuần tự qua RMI.
• Cùng platform, khác container nhưng không tìm thấy trong Cache: hai
RMI được gọi. Một cái để cập nhật cache và cái thứ hai thực hiện gửi
thông điệp.
• Khác platform: một IIOP gọi đến từ một platform từ xa. Quá trình trải
qua hai bước đối với cả phía truyền và phía nhận. Đối với phía truyền
thông điệp, từ các đối tượng Java chuyển sang cỏc xõu Java và cuối
cùng thành cỏc dũng byte IIOP. Ngược lại đối với phía nhận dòng byte
IIOP được chuyển thành cỏc xõu Java và cuối cùng thành các đối
tượng Java.
Đặc tả FIPA 2000 đề xuất một số các giao thức chuyển giao thông điệp
MTP (Message Transport Protocol) khác nhau. Khi đú cỏc thông điệp ACL
có thể được giải phóng khỏi cách thức cứng nhắc trước đây. JADE bao gồm
một framework để viết và triển khai nhiều MTP theo cách thức linh hoạt. Một
SV thực hiện: Lê Đức An – CNPM K44 Trang
22/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng
MTP dựa theo FIPA có thể được biên dịch riêng rẽ và đặt trong một file jar,
mã sẽ được tải tự động khi MTP được kích hoạt. Hơn nữa, mỗi JADE
container có thể có một số các MTP hoạt động, do vậy người quản lý platform
có thể chọn bất cứ cái gì mà mình muốn. JADE thực hiện đường truyền thông

Hùng
thường xuyên. Mỗi agent được phép quản lý bản sao ID của nó khi nó muốn.
Nờỳ một agent muốn giữ bản cập nhật nó sẽ liên hệ với AMS để cập nhật lại
danh sách địa chỉ agent, mặt khác nó sẽ đặt vào trong AgentID của nó một tập
địa chỉ phù hợp (lấy từ danh sách platform). Trong JADE, có thể sử dụng các
Agent ID với một danh sách địa chỉ rỗng.
Một AID được gỏn nhón cho một agent do vậy nó có thể được nhận
dạng một cách rõ ràng trong thế giới agent. AID bao gồm tên và địa chỉ. JADE
sử dụng một cơ chế rất đơn giản để xây dựng tên duy nhất thông qua một nick
định nghĩa người sử dụng đến tên platform agent của nó, cách nhau bởi ký tự
@. Chỉ những tên hợp lệ đầy đủ mới được sử dụng trong ACLMessages.
Tất cả các thông điệp nhận bởi một agent được đặt trong một hàng đợi
riêng thông qua platform. Một số mô hình đã được áp dụng để nhận các thông
điệp từ những hàng đợi này:
• Hàng đợi thông điệp có thể được truy cập theo cách ngăn cản (sử dụng
phương thức blockingReceive()) hay không ngăn cản (sử dụng phương
thức receive()). Cách ngăn cản phải được sử dụng rất cẩn thận bởi vì
nó gây ra sự đình chỉ tất cả các hoạt động của agent và đặc biệt là đối
với các hành vi của nó. Cách không ngăn chặn trả về ngay lập tức giá
trị null khi thông điệp yêu cầu không có trong hàng đợi.
• Cả hai phương thức có thể được phát triển với khả năng đối chiếu mẫu
trong đó một tham số truyền mô tả mẫu của ACLMesage được yêu
cầu.
• Truy cập ngăn cản có thể có một tham số timeout.
• Hai hành vi ReceiverBehaviour và SenderBehaviour có thể được sử
dụng để lên lịch các nhiệm vụ agent yêu cầu nhận hay gửi thông điệp.
SV thực hiện: Lê Đức An – CNPM K44 Trang
24/96
Đồ án tốt nghiệp đại học Giáo viện hướng dẫn: Ths.Lê Tấn
Hùng


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status