Liên lạc/Truyền thông trong hệ Agents<br />
ACL-FIPA<br />
<br />
I.<br />
<br />
Vấn đề giao tiếp Speech-Act<br />
<br />
II.<br />
<br />
Ngôn ngữ giao tiếp ACL<br />
<br />
III.<br />
<br />
Các vấn đề liên quan đến truyền<br />
thông<br />
<br />
Software<br />
Engineering<br />
Department IV.<br />
<br />
Chuẩn hoá / FIPA<br />
<br />
1.Yêu cầu về truyền tin giữa các Agent<br />
”Language is a very difficult thing to put into words” – Voltaire<br />
<br />
Communication cần thiết cho việc liên lạc giữa các<br />
Agent<br />
Đảm bảo tính tự chủ, không phụ thuộc vào cấu trúc<br />
trong của Agent<br />
Communicating agents Chỉ cần phải biết ”common<br />
language”<br />
Hỗ trợ heterogenous agents<br />
<br />
Human communication:<br />
intentional/cultural sharing<br />
Ideal example of a heterogeneous agent system:<br />
human society<br />
See agents as intentional systems:<br />
all actions and communication are motivated by<br />
beliefs and intentions<br />
Communication = understanding other agents<br />
beliefs and intentions<br />
Reproduce heterogeneity of human society in<br />
agents<br />
<br />
I Khái niệm cơ bản<br />
Requirements for agents<br />
Agents đại diện cho con người thực tế cũng như<br />
lý thuyết (real and moral)<br />
Các agents chia sẻ nhiệm vụ thông qua trao đổi<br />
thông tin<br />
Vấn đề của việc thiết kế hệ Agent là vấn đề<br />
truyền thông<br />
<br />
2. Mức trao đổi thông tin communication<br />
Object sharing: shared objects, procedures,<br />
data structures common in distributed<br />
computing (Corba, RPC, RMI)<br />
Knowledge sharing: shared facts, rules,<br />
constraints, procedures and knowledge<br />
Intentional sharing: shared beliefs, plans, goals<br />
and intentions<br />
Cultural sharing: shared experiences and<br />
strategies<br />
<br />
Modeling intentional systems<br />
Modal logics:<br />
proposition: expression in predicate logic<br />
attitude: belief, desire, plan, etc.(BDI)<br />
<br />
Intentional sharing through speech acts:<br />
proposition<br />
performative: inform, ask, propose, etc.<br />
<br />
1<br />
<br />
II. Truyền thông giữa các agent<br />
<br />
Truyền thông trực tiếp<br />
<br />
Các cách truyền thông giữa các agent<br />
Truyền thông trực tiếp<br />
Truyền thông theo nhóm<br />
Truyền thông quảng bá<br />
Blackboard-system<br />
<br />
Đề cập đến việc truyền thông giữa hai agent<br />
Các agent trao đổi thông tin trực tiếp với nhau<br />
Agent tham gia giao tiếp phải nhận biết được agent<br />
khác trong hệ thống- >biết địa chỉ<br />
Hai cách lấy địa chỉ của agent<br />
<br />
Truyền thông theo nhóm<br />
<br />
Truyền thông quảng bá<br />
<br />
Khắc phục khó khăn trong truyền thông<br />
trực tiếp khi số lượng agent trong hệ thống<br />
quá lớn<br />
Tổ chức thành từng nhóm agent - hệ liên<br />
đoàn<br />
Mỗi nhóm có một facilitator tích luỹ kiến<br />
thức về các nhu cầu và khả năng riêng biệt<br />
của các agent trong nhóm<br />
Các agent tham gia giao tiếp thông qua<br />
facilitator của mỗi nhóm<br />
<br />
contract-net và specificationsharing<br />
Hai cách tiếp cận chủ yếu và phổ biến trong truyền thông quảng bá là:<br />
Trong cách tiếp cận contract-net, các agent đang có nhu cầu được phục vụ<br />
sẽ gửi đi các yêu cầu cho những đề nghị (quảng bá các thông báo) tới các<br />
agent khác.<br />
Agent nhận được các thông báo này sẽ xem xét các yêu cầu đó và nếu có<br />
thể chấp nhận, nó sẽ gửi lời mời tới các agent đang có nhu cầu phục vụ.<br />
Các agent đang có nhu cầu được phục vụ sẽ xem xét những lời mời đó để<br />
quyết định xem agent nào đáp ứng được những giao ước của những yêu<br />
cầu đã được đưa ra.<br />
Trong cách tiếp cận specification-sharing, các agent sẽ quảng bá các khả<br />
năng và nhu cầu của chúng và các agent khác sẽ sử dụng các thông tin này<br />
để đối chiếu với các nhu cầu và hoạt động của chúng xem có phù hợp<br />
không, và có thể đáp ứng được không.<br />
<br />
Lấy từ message nhận được từ agent muốn giao tiếp<br />
Lấy từ đối tượng trung tâm (tại đó các agent tham gia vào<br />
hệ thống đều phải đăng ký)<br />
• Conversation-Manager (trong COOL)<br />
• AgentNameServer (trong JATLite)<br />
<br />
Agent gửi message tới tất cả các agent khác trong hệ<br />
thống.<br />
Hai trường hợp:<br />
Agent gửi có thể duy trì những kết nối truyền thông riêng<br />
biệt tới tất cả các agent trong hệ thống và gửi tới mỗi<br />
agent đó một thông điệp trực tiếp<br />
Agent gửi không biết ai sẽ là agent nhận: kết nối giữa<br />
agent gửi và một agent khác có thể không được duy trì<br />
<br />
Blackboard-system<br />
Các agent giao tiếp với nhau thông qua một “kho dữ liệu dùng<br />
chung” - blackboard - tại đó các agent đều gửi thông tin đến<br />
blackboard và nhận thông tin từ blackboard<br />
Chat room<br />
<br />
2<br />
<br />
Các đặc trưng ngôn ngữ giao tiếp<br />
giữa các agent<br />
Về mặt hình thức: một ngôn ngữ giao tiếp tốt cho các agent phải có tính tường thuật,<br />
đơn giản về mặt cú pháp, và con người có thể đọc được.<br />
Về mặt nội dung: Ngôn ngữ giao tiếp nên được phân tầng theo một cách nào đó mà<br />
thích hợp cả với các hệ thống khác. Nói một cách chi tiết, ngôn ngữ giao tiếp giữa các<br />
agent nên có những nét đặc trưng (phân biệt) - để mô tả hoạt động giao tiếp; và ngôn<br />
ngữ biểu đạt nội dung - để mô tả thông tin về lĩnh vực muốn giao tiếp.<br />
Về mặt ngữ nghĩa: ngữ nghĩa của ngôn ngữ giao tiếp cũng cần bộc lộ được những<br />
thuộc tính mong muốn về mặt ngữ nghĩa của một ngôn ngữ bất kỳ nào khác. Ngữ nghĩa<br />
học cần phải được truyền thụ vững vàng về mặt lý luận, thậm chí cả sự mơ hồ nhập<br />
nhằng nữa.<br />
Về mặt thực hiện: việc thực hiện cũng nên có hiệu quả, cả về mặt tốc độ, cả về mặt sử<br />
dụng băng thông đường truyền<br />
Networking: Ngôn ngữ truyền thông giữa các agent cũng cần phù hợp với kỹ thuật<br />
mạng hiện đại.<br />
Về môi trường: môi trường có tính phân bố cao, không đồng nhất, và thực sự là một<br />
môi trường động.<br />
Tính tin cậy: Ngôn ngữ giao tiếp phải hỗ trợ được cho các cuộc truyền thông được an<br />
toàn và tin cậy<br />
<br />
3. Speech acts Theory<br />
A high level framework to account for human communication.<br />
Language as Action<br />
<br />
How to communicate when having a common language?<br />
Language = _ content (e.g., read a book) + _ speech act<br />
(e.g., I want to, I want you to,...)<br />
Speech act contains three distinct acts:<br />
_ locution(mô tả): physical utterance (_Read this book_)<br />
_ illocution(mục đích): act of conveying intentions<br />
(I want you to read this book)<br />
_ perlocutions(Kết quả): actions that occur as a result<br />
(you read the book)<br />
<br />
Illocution<br />
<br />
Example<br />
<br />
communication of the speakers intention<br />
<br />
Example:“Shut the door!”<br />
locution -- physical utterance with context and reference, i.e.,<br />
who is the speaker and the hearer, which door etc.<br />
illocution -- the act of conveying intentions, i.e., speaker<br />
wants the hearer to close the door<br />
perlocutions -- actions that occur as a result of the illocution,<br />
i.e., hearer closes the door<br />
.. In addition<br />
<br />
An illocutionary act is composed from<br />
Propositional content P<br />
Describes state of affairs (claim)<br />
<br />
Context<br />
Speaker, hearer, time, location, ..<br />
<br />
Illocutionary Force F<br />
5 categories: assertives, directives, commisives,<br />
expressives, declaratives<br />
Sincerety condititions (psychological state)<br />
<br />
Permissives<br />
• Example: ”you may shot the door”<br />
<br />
Prohibitives<br />
• Example: ”you may not shot the door”<br />
<br />
Speech acts –Illocutionary Force<br />
Illutionary Act<br />
<br />
Illutionary Point<br />
<br />
Direction of fit<br />
<br />
Sincerety Condition<br />
<br />
Assertives<br />
<br />
”It rains”<br />
Commit speaker to truth of utterance<br />
<br />
World to w<br />
- - ord<br />
(describe world)<br />
<br />
Speaker believes in<br />
utterance<br />
<br />
Directives<br />
<br />
”Close the window”<br />
Speaker tries to make hearer do<br />
<br />
Word-to-world<br />
(change world)<br />
<br />
Speaker wants hearer to<br />
establish truth of<br />
utterance<br />
<br />
Commisives<br />
<br />
”I will”<br />
Commits speaker to future action<br />
<br />
Word-to-world<br />
(change world)<br />
<br />
Speaker intends to act<br />
such that truth of the<br />
utterance is established<br />
<br />
Expressives<br />
<br />
”Excuse me”, ”congratulations”<br />
Express psyc. state<br />
<br />
None<br />
<br />
Several possibilities<br />
<br />
Declaratives<br />
<br />
”In name this city Trondheim”<br />
Utterance – word coupling<br />
<br />
World-to-word or<br />
word-to-world<br />
<br />
II ACL<br />
<br />
1.Agent Language & Architecture<br />
<br />
None<br />
<br />
Agents use a defined Agent Communication Language, such<br />
as KQML or FIPA ACL<br />
Components for constructing software agents;<br />
communication API<br />
router<br />
Agent Name Server (ANS)<br />
<br />
Service agents, to provide a communication infrastructure<br />
Agent Name Server (ANS)<br />
Brokers<br />
others...<br />
<br />
3<br />
<br />
Agent Communication languages<br />
Agent to a<br />
- - gent communication is key to realizing<br />
the potential of the agent paradigm, just as the<br />
development of human language was key to the<br />
development of human intelligence and societies.<br />
Agents use an Agent Communication Language<br />
or ACL to communication information and<br />
knowledge.<br />
Genesereth (CACM, 1992) defined a software<br />
agent as any system which uses an ACL to<br />
exchange information.<br />
<br />
Hướng phát triển ACLs<br />
Intentional level description: which mental attitudes,<br />
what definitions?<br />
Problems with mental attitudes: from theory to practice<br />
Can all desirable communication primitives be modeled<br />
after speech acts? Should they?<br />
Flexible description of agents’ capabilities and<br />
advertising of such capabilities.<br />
How can we test an agent’s compliance with the ACL?<br />
Ease of extending an ACL<br />
<br />
Đặc điểm ACL<br />
A high level communication language and protocol<br />
for exchanging information independent of content<br />
syntax and ontology<br />
A language in which to wrap information offering a<br />
uniform view of an agent<br />
An extensible set of primitives expressing the<br />
communication protocol to be used with the content<br />
information<br />
<br />
2. Features of ACLs<br />
Efficient<br />
Few bytes but much meaning, rich semantics for each<br />
message<br />
Easy-to-use for both machines and humans<br />
<br />
Based on Open Standards<br />
Allow agent and agent systems by different vendors to<br />
communicate<br />
<br />
Flexible<br />
Easy to extend without changing the language, using<br />
ontologies<br />
Support several syntactic representations<br />
<br />
Expressive<br />
<br />
Features of ACLs<br />
Be independent of Communication Carrier and protocol<br />
Support standard Carriers (Wired and Wireless)<br />
Support standard (Internet) Communication Protocols<br />
<br />
High-level<br />
Be inspired by natural language<br />
<br />
III.Vấn đề Truyền thông<br />
1.Truyền thông<br />
Communication between agents<br />
Requirement for more complex behaviours like<br />
cooperation and negotiation<br />
A<br />
<br />
B<br />
<br />
Have clear non-ambigious semantics and syntax<br />
”logic features”<br />
Avoid contradictions<br />
<br />
Procedural or Declarative<br />
Procedural<br />
Declarative<br />
<br />
API<br />
<br />
Communication Service<br />
<br />
API<br />
<br />
Communication services<br />
How does communication occur?<br />
What medium does it travel through?<br />
How does the agent access communication services<br />
<br />
4<br />
<br />
2.Communications Stack<br />
<br />
Browser View<br />
<br />
Level<br />
<br />
Description<br />
<br />
Example<br />
<br />
Conversation<br />
<br />
Sequence of communicative acts<br />
related to a particular topic<br />
<br />
Communicating about buying<br />
and eating an apple<br />
<br />
Communicative Act<br />
<br />
Communication about a piece of<br />
content<br />
<br />
Requesting somebody to<br />
perform the action of…<br />
<br />
Content Expression<br />
<br />
Description of states of the world<br />
over objects<br />
<br />
Expressing the action of eating<br />
an apple<br />
<br />
Ontology<br />
<br />
Description of objects in the domain<br />
<br />
Meaning of “apple” and “eat”<br />
<br />
Syntax<br />
<br />
Representation of Content<br />
<br />
HTML, JPG, SQL<br />
<br />
Protocol<br />
<br />
Data exchange protocol (ISO layer<br />
7)<br />
<br />
HTTP, GIIOP, SMTP<br />
<br />
Transport<br />
<br />
Physical transport and low level<br />
transport protocols (ISO layers 1-6)<br />
<br />
Optical Fiber, TCP-IP etc.<br />
<br />
System Integration View<br />
<br />
Adhoc or limited<br />
solutions<br />
<br />
}<br />
<br />
Programmer<br />
Interpretation<br />
<br />
XML, RDF, BizTalk, ebXML<br />
XML, SOAP (e-speak), CORBA IDL<br />
HTTP, IIOP etc.<br />
TCP/IP etc.<br />
Including:<br />
ebXML, BizTalk for<br />
content<br />
<br />
3. Định danh cho Agent<br />
Tên hay ID duy nhất Agent xác định cho<br />
Liên lạc / Communication<br />
An toàn /Security<br />
Chu trình sống/ Longevity of agents<br />
Reputation / Trust management<br />
A<br />
API<br />
API<br />
<br />
B<br />
<br />
Naming<br />
Service<br />
<br />
Conversation<br />
Comm Acts<br />
Content<br />
Ontology<br />
Syntax<br />
Protocol<br />
Transport<br />
<br />
Browser View<br />
<br />
}<br />
<br />
User<br />
Interpretation<br />
<br />
HTML<br />
HTTP<br />
TCP/IP etc.<br />
Netscape/IE provide<br />
A window on the world<br />
<br />
Agent-Agent Communication<br />
<br />
For business systems progress is being made further<br />
up the stack<br />
Conversation<br />
Comm Acts<br />
Content<br />
Ontology<br />
Syntax<br />
Protocol<br />
Transport<br />
<br />
A web browser supports the human at the three<br />
lowest levels<br />
<br />
Các chức nang cơ bản<br />
• Registration<br />
• Deregistration<br />
• Authentication<br />
<br />
Systems ultimately need to communicate up at the<br />
semantic levels<br />
Agent Level Protocols<br />
Standard ACL’s, Sound semantics<br />
<br />
Conversation<br />
Comm Acts<br />
Content<br />
Ontology<br />
Syntax<br />
Protocol<br />
Transport<br />
<br />
Logical, CSPs, XML, RDF, BizTalk, ebXML<br />
XML, RDF, BizTalk, ebXML<br />
XML, SOAP (e-speak), CORBA IDL<br />
HTTP, IIOP etc.<br />
TCP/IP etc.<br />
Semantic<br />
communication<br />
based on models<br />
of agents<br />
<br />
4. Directories<br />
Search facilities<br />
Needed in complex, large environments<br />
Needed in environments which host many different types<br />
of agents and applications<br />
Structure the environment according to various criteria<br />
A<br />
API Directory<br />
API Service<br />
<br />
Basic Operations<br />
• Advertisement<br />
<br />
• Modification<br />
• Search<br />
<br />
B<br />
<br />
5<br />
<br />