1. Trang chủ
  2. » Công Nghệ Thông Tin

Hệ dựa tác tử và mở rộng AUML

10 149 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 1,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

Trang 1

(c) SE/FIT/HUT 2005 1

Lesion 10 Agent Based and A-UML

Hệ dựa tác tử và mở rộng AUML

hunglt@it-hut.edu.vn

Phát triển hệ thống phần mềm

Độ phức tạp

„ Có một số lượng lớn các thành phần với nhiều tương tác

„ Có nhiều mô hình được đưa ra

để làm cho việc phát triển phần mềm dễ dàng hơn

được phát triển theo chiều tăng của độ phức tạp của phần mềm.

Mô hình

„ – sub-routines;

„ – procedures & functions;

„ – abstract data types;

„ – objects;

„ to agents.

Phần mềm hướng agent

„ Sự phát triển các hệ đa agent phức

tạp yêu cầu không chỉ các mô hình

và kĩ thuật

„ Phương pháp luận mới hỗ trợ cách

tiếp cận được công nghệ hoá phân

tích và thiết kế hệ thống.

„ Công nghệ phần mềm hướng agent:

phân rã bài toán thành nhiều thành

phần tương tác và tự trị (agents) mà

có các mục tiêu cụ thể để đạt tới

„Hệ đa agent như là một cộng đồng các agent, nơi

mà tương tác qua lại giữa các agent và với môi trường của chúng đưa tới một hành vi toàn thể hữu ích

„Một hệ đa agent bao gồm:

9Các agent, được xem như các cá thể

9Tương tác giữa các agent

9Sự phụ thuộc qua lại giữa agent và các quan hệ

cộng đồng, hay là các quan hệ tổ chức

Hệ thống dựa agent

Phân tích và thiết kế hướng agent

nghĩa các yêu cầu và mục đích của hệ

thống

phân rã thành những mục tiêu con nhỏ hơn,

cho tới khi có thể quản lí được chúng.

trách nhiệm của một agent

„Mỗi agent trong hệ thống được giao một hoặc một

số nhiệm vụ riêng

„agent phải nắm được đầy đủ trách nhiệm đối với việc hoàn thành nhiệm vụ được giao

„Các nhiệm vụ cộng đồng biểu diễn các chức năng toàn cục của hệ thống agent

„Thiết kế quan tâm tới sự biểu diễn các mô hình trừu tượng lấy từ pha phân tích

„Trách nhiệm, nhiệm vụ và giao thức tương tác cần được ánh xạ lên agent, các tương tác và tổ chức cấp cao

Thiết kế phần mềm hướng agent

Trang 2

(c) SE/FIT/HUT 2005 7

Lý thuyết Gaia

„Gaia là một lý thuyết dùng trong phân tích

và thiết kế hướng agent.

„Phân tích hướng tới việc phát triển để hiểu

rõ hệ thống và cấu trúc của nó, mà không

tham chiếu tới việc thực hiện chi tiết

Gaia - Overview

„ Motivation behind Gaia

„ Tồn tại nhiều phương pháp nhưng không có phương pháp nào

hỗ trợ Agnet Cụ thể trong tương tác và tổ chức

„ Mô hình Gaia Supports Hỗ trợ phân tích thiết kế mức

vi mô Micro-level

„ Agent Structure

„ Hỗ trợ phân tích thiết kế mức cao vĩ mô Macro-level

„ Agent Society and Organizational Structure

„ Inter-agent relationships and agent abilities

„ Static at runtime

Most useful in closed systems

Gaia Analysis Process

1. Find Roles in the system

Similar to finding (natural) objects and classes in

OOA

2. Model interactions between roles

Responsibilities

Liveness Properties – what good the agent does for the

system

Safety Properties – ”safety-net” for the system

Permissions – what the role is allowed to do

Activities – the roles own tasks (doesn’t require

interaction)

Protocols – particular patterns of interaction (e.g

9 Xác định các vai trò trong hệ thống và định nghĩa một dãy các vai trò chính bằng ngôn ngữ miêu tả phi hình thức

9 Với mỗi vai trò xác định các giao thức liên kết.

9 Xem xét lại các mô hình.

• Đầu ra của pha phân tích là mô hình hoàn thiện của các vai trò – mô tả về trách nhiệm, quyền hạn, các giao thức tương tác, hoạt động và mô hình tương tác

• mỗi giao thức được mô tả về sự chuyển đổi dữ liệu

và các thành phần có liên quan

Pha phân tích

Gaia Design Process

ƒ Ánh xạ vai trò vào các loại Agent và tạo ra các

thực thể

ƒ Similar to define classes in OOD

ƒ Similar to instantiate (right number of) objects in

OOD

ƒ Định nghĩa mô hình dịch vụ

ƒ How to fulfill a role in one or several agents

ƒ Tạo mô hình sơ bộ

ƒ Representation of communication between agents

• Pha thiết kế tập trung vào việc định nghĩa hệ thống agent để nó

có thể hoạt động.

Các giai đoạn:

9 Xác định mô hình agent, kết hợp vai trò vào các loại agent =>

xây dựng hệ thống phân cấp các loại agent và ước lượng số lượng các instance được yêu cầu đối với mỗi lớp.

9 Xác định các dịch vụ mà agent phải cung cấp để hoàn thành các nhiệm vụ mà chúng được giao bằng cách phân tích các nhiệm vụ và hoạt động Đó là các giao thức được định nghĩa cho mỗi vai trò.

9 Phát triển các mô hình thích hợp để xác định các khả năng thiếu sót trong thiết kế.

Đầu ra của pha thiết kế là kiến trúc thực tế của hệ thống agent.

Pha thiết kế

Trang 3

(c) SE/FIT/HUT 2005 13

Các khái niệm cơ bản của lý thuyết

GAIA

Giới hạn của GAIA

„Không có các hệ thống mở: Gaia yêu cầu phải biết các agent trong hệ thống, cũng như các giao thức tương tác giữa chúng

„Không có các agent tư lợi: Gaia không giải quyết

rõ ràng các trường hợp trong đó bản chất của các tương tác là không hợp tác

„Không có các luật cộng tác: Do thiếu sự trừu tượng hoá các nhiệm vụ chung nên Gaia không mô hình hoá rõ ràng các luật cộng tác và kết quả là gây thiếu sót hoặc bỏ qua hoàn toàn chúng trong các định nghĩa về agent

Mô hình cộng tác

„ Mô hình cộng tác giải quyết các vấn đề về tạo/huỷ, truyền thông,

phân tán, di động trong không gian cũng như đồng bộ theo thời

gian của một tập các thực thể, các quá trình, các đối tượng hoặc các

agent.

„ Mô hình cộng tác có thể bao gồm 3 thành phần sau:

9 Coordinables: các thực thể mà tương tác qua lại của chúng được thực hiện

theo mô hình VD: các agent trong hệ thống đa agent

9 Coordination media: sự trừu tượng hoá khả năng tương tác của agent và là

hạt nhân xung quanh các thành phần được tổ chức VD như cờ hiệu, các điều

khiển, kênh và các phương tiện phức tạp khác …

9 Coordination laws:định nghĩa các behaviour của Coordination media để đáp

ứng các sự kiện tương tác

„ chia thành 2 lớp data-driven và control-driven :

„ Trong mô hình cộng tác control-driven, các agent có khả năng cộng tác tương tác với các agent khác và với thế giới bên ngoài thông qua cổng vào/ra được định nghĩa từ trước

„ Trong mô hình data-driven, các agent có khả năng cộng tác tương tác với thế giới bên ngoài bằng cách chuyển đổi cấu trúc dữ liệu thông qua phương tiện cộng tác

„ Khi mô hình cộng tác được sử dụng, thì phương tiện cộng tác sẽ làm trung gian cho tất cả các tương tác của các agent và ảnh hưởng đến kết quả của các sự kiện tương tác theo các quy tắc cộng tác của chúng

„ 2 agent có thể tương tác với nhau thậm chí chúng không biết gì

về nhau, phương tiện cộng tác hầu như chỉ quan tâm đến việc kết nối giữa các agent bằng cách gửi thông điệp

Mô hình cộng tác

„ Bằng cách làm trung gian cho tất cả tương tác của

các agent, phương tiện cộng tác về bản chất có thể

kiểm soát và ảnh hưởng tới tất cả các tương tác

„ Phương tiện cộng tác có thể ép buộc behaviour của

các agent tuân theo các tương tác của chúng bằng

cách:

9 Ngăn cản việc truy nhập của các agent tới phương tiện cộng

tác.

9 Sửa đổi ngữ nghĩa của các tương tác của agent

„Việc chấp nhận mô hình cộng tác dẫn tới quan niệm

hệ thống đa agent như một cộng đồng, trong đó các nhiệm vụ riêng lẻ của các agent phải được mô hình hoá một cách riêng biệt với các nhiệm vụ của cộng đồng

„Hệ thống đa agent nên được xây dựng dựa trên một

hạ tầng truyền thông phổ biến, hoạt động thực tế của

hệ thống nên bao gồm hoạt động của cơ sở hạ tầng cần thiết làm cho tất cả các tương tác đều tuân theo behaviour của phương tiện cộng tác

Trang 4

(c) SE/FIT/HUT 2005 19

Mô hình cộng tác

Multiagent Systems Engineering Methodology (MaSE)

„ Motivation behind MaSE

„ Lack of proven methodologies for agent-systems

„ Lack of industrial-strength software tools

„ Similar to Gaia with respect to

„ Generality

„ Application Domain (closed systems)

„ MaSE’s differences from Gaia

„ Supports automatic code creation

Scott DeLoach

The MaSE Process – I

1 Capturing Goals

initial system specification ⇒ struct hierarchy of goals

i.e similar to requirement specification

2 Applying Use Cases (i.e UML)

Use cases and sequence diagrams based on spec.

Use cases – represent logical interaction path

Sequence diagrams – number of messages needed

3 Refining Roles

Creates roles corresponding to the goals (or a set of goals)

Creates tasks – how to solve goals related to the role

The MaSE Process – II

4 Creating Agent Classes

Maps roles to agent classes in an agent class diagram

Resemble object class diagrams, but semantics is high-level conversation versus inheritance (and encapsulation)

5 Constructing Conversations

Defines coordination protocols for interaction with state diagrams

6 Assembling Agent Classes

Internal functionalities of classes created

Based on either BDI, reactive, planning, knowledge-based and user-defined architecture.

The MaSE Process – III

7 System Design

Create instances of the agent classes presented in a

deployment diagram

„ Future vision of MaSE

„ Support automatic code generation based on deployment

diagram

Design Patterns

” a pattern embodies a complete idea within a program, and thus it can sometimes appear at the analysis phase or high-level design phase” Bruce Eckel, ”Thinking in Patterns with Java”

• Types of patterns

„ Creational

• How an object can be created (e.g Factory, Prototype)

„ Structural

• Design to satisfy project constraints (e.g Iterator)

„ Behavioral

• Objects handling particular types of actions (e.g Interpreter)

Trang 5

(c) SE/FIT/HUT 2005 25

Design Patterns for Agents

„ 7-layer architecture

1 Mobility – mobile agents

2 Translation – communication/language

3 Collaboration – multi-agent issues

4 Actions – what agents should do

5 Reasoning – ”intelligence”

6 Beliefs – what the agent beliefs

7 Sensory – stimulus/response

Design Patterns for Mobile Agents

„ Classification scheme – 3 classes

1 Travelling class

2 Task class

3 Interaction class

Danny B Lange

Formal Methodologies in Software

Engineering

„ A formal methodology is usually logic-based

„ It can be used for

„ Specification of a system

I.e Requirement specification

„ Directly (automatically) programming a system

I.e Automatic code generation

„ Verification of a system

Prove that a system is/behaves correct (according to its

specifications)

Formal Methodologies in AOSE

„ Concurrent MetateM

„ Temporal logic-based programming language for agents

„ Summary: future can found (calculated) based on the present and past state.

„ Formal Verification

„ Axiomatic approach – Deductive Verification

Prove using logical deduction that an agent system is correct (powerful but can have exponential runtime)

„ Semantic approach - Model Checking

Reverse engineer program to create a logic model, then check if the (formal) specification is valid in this model

Conclusions of Lecture

„ Agent-Methodologies are close to existing Software

Engineering (e.g OO) methodologies

„ Main difference is focus on interaction and behavior

„ There is currently a lack of (industrial-strength)

methodologies (e.g UML) and software tools supporting

agents.

AUML

Trang 6

(c) SE/FIT/HUT 2005 31

„Trong các thập niên 70, lập trình có cấu trúc chiếm ưu

thế trong sự phát triển phần mềm

„ Trong những năm 80, các phương pháp hướng đối

tượng

„ 1995 UML ( Unified Modeling Language)

„UML là ngôn ngữ rất mạnh để mô hình hóa các đối

tượng và thao tác của các đối tượng

„ Các mô hình tĩnh(Static Model): các biểu đồ lớp và gói

„ Các mô hình động(Dynamic Model): biểu đồ tương tác, lược

đồ trạng thái,biểu đồ hoạt động

UML cho hệ tác tử

„Các hệ thống dựa agent đòi hỏi tất cả các quá trình của công nghệ phần mềm như: phân tích, thiết kế, đánh giá, bảo trì…

„Agent có những điểm khác biệt (như đồng bộ và không đồng bộ các thao tác…) nên có những lúc UML không thể hỗ trợ toàn bộ để mô hình hóa hệ thống dựa agent

„UML được mở rộng để có thể mô hình hóa các hệ thống agent

„Đề xuất các mở rộng cho các đại diện UML: gói, mẫu, biểu đồ diễn tiến, biểu đồ cộng tác, biểu đồ hoạt động, biểu đồ lớp, biểu đồ triển khai và các lược đồ trạng thái

Sử dụng AUML trong UML

„Sử dụng các biểu đồ trường hợp sử dụng hướng agent

mô tả các tương tác với người dùng, môi trường và

phần còn lại của hệ thống

„Sử dụng biểu đồ ontology với các lớp mô hình các lớp

thực thể trong ontology để mô hình hoá ontology

„Sử dụng các biểu đồ lớp UML gọi là các architecture

diagram để mô hình hoá kiến trúc hệ thống agent,

tương tác giữa các agent và vai trò của agent

„Các hành động của agent được mô tả bằng các phương

thức

A-UML

„ Để đặc tả cho hệ thống dựa tác tử , FIPA (Foundation for Intelligent Physical Agents )

sử dụng UML mở rộng, gọi

là AUML ( Agent Unified Modeling Language) để đặc

tả giao thức tương tác tác tử (AIP – Agent Interaction Protcols).

„ Phương thức tương tác ở đỉnh của biều đồ là mức thấp nhất, sau đó là các mức chi tiết hơn

AUML: Một hướng tiếp cận giao

thức phân mức

„ Một giao thức tương tác agent (AIP) mô tả các mẫu truyền thông

như một dãy các thông điệp cho phép giữa các agent và ràng

buộc trong nội dung của các thông điệp này

„ Agent Interaction Protocols (3 layers)

1 Mô tả giao thức li ên lạc -Communication Protocol

Type of interaction (UML Packages and Templates)

2 Mô tả tương tác giữa các agen -Interactions

Sequence, Collaboration, Activity Diagrams and Statecharts

3 Mô tả quá trình xử lý bên trong agent- Internal Agent Processing

(micro-issues)

Activity Diagrams and Statecharts

Mức 1: Biểu diễn giao thức liên lạc ở mức tổng quan

giải pháp có thể sử dụng lại

các giải pháp cho giao thức

9Package: tập hợp các nhân tố mô hình hoá mức

khái niệm

9Template: Template là một mô hình tham số

Trang 7

(c) SE/FIT/HUT 2005 37

Ví dụ về Package

„ Các gói đóng cung cấp một kỹ thuật

chung cho việc phân chia các mô hình và

nhóm các thành phần mô hình Mỗi gói

đóng được biểu diễn như sau :

„ Mỗi gói đóng là nhóm thành phần có

quan hệ logic với nhau.

„ Kiến trúc của hệ thống được biểu diễn

nhờ mô hình liên kết giữa các gói đóng

„ Một gói đóng có thể chứa các gói đóng

khác

„ Dùng gói mô tả để mô tả giao thức lồng

nhau

„ Purchasing protocol (Broker X Retailer)

„ Supplying protocol (Retailer X

Wholesaler)

Ví dụ về Template

„ Một template là một thành phần mô hình được tham số hoá có các tham số bị ràng buộc tại thời gian mô hình

„ (ví dụ, khi một mô hình tuỳ biến mới được tạo ra), được

mô tả bằng các hộp vẽ bằng nét đứt ở góc phải trên của gói

Mức 2: Biểu diễn tương tác giữa

các AGENT

„ Sử dụng các biểu đồ trong UML để biểu diễn giao

thức:

9 Biểu đồdiễn tiến

9 Biểu đồ tương tác

9 Biểu đồ hoạt động

9 Biểu đồ trạng thái

„ Hai biểu đồ trên bao gồm các mẫu cấu trúc mô tả

tương tác giữa các đối tượng

„ Hai biểu đồ dưới biểu diễn các luồng xử lý

Biểu đồ diễn tiến

„ Biểu đồ diễn tiến là biểu đồ giữa các đối tượng theo thời gian.

„ Cột ngang biểu diễn các agent

„ Cột dọc được thể hiện sự tồn tại của đối

„ Hình vuông có vị trí dọc theo lifeline thể hiện thời gian agent thực hiện hành động (activation)

„ Thời gian được trôi từ trên xuống dưới, các thông điệp được đánh số theo thời gian

„ Biểu diễn Agent:AGENT-name/role:class

„ Một tương tác Agent cơ bản có dạng hình vẽ

„ Diễn tả các liên lạc đồng thời (and),không đồng thời (or), các vai trò khác nhau của agent

Biểu diễn tương tác đa luồng

„Hình (a) biểu diễn các luồng được gửi đi song song

(phép AND)

„Hình (b) bao gồm một hộp quyết định xác định

luồng nào sẽ được gửi đi (phép OR)

„Hình (c) xác định trong một thời điểm chỉ có một

X

X

X

Yeu cau dat hang

Tu choi Khong hieu

De nghi

Thong bao

Huy bo de nghi

Thanh cong

Loi

Thong tin Chap nhan de nghi

Trang 8

(c) SE/FIT/HUT 2005 43

Ví dụ về biểu đồ tuần tự

Biểu đồ tương tác

„ Biểu đồ cộng tác : là một cách khác mô tả tương tác giữa các agent

Biểu đồ hoạt động

„ Biểu đồ mô tả hành vi bên trong của một phương

thức hay một trường hơp sử dụng Biểu đồ nhằm

nhấn mạnh về các xử lý và các sự kiện kích hoạt

chúng

„ Biểu đồ hoạt động

„ Cung cấp luồng các điều khiển

„ Sử dụng cho các giao thức phức tạp chứa

nhiều tiến trình đồng thời

Mức 3: biểu diễn xử lý bên trong AGENT

AGENT yêu cầu giải thích rõ ràng những xử lý chi tiết bên trong AGENT để tiến hành giao thức

các AGENT mức thấp hơn

việc sử dụng đệ quy các cách biểu diễn mức 2 đã nói ở trên

Mở rộng biểu đồ hoạt động

„ Hình tròn có dấu chấm ở giữa thể hiện giao diện của

quy trình được thực hiện bởi các AGENT bên ngoài

Mở rộng biểu đồ trạng thái

„ Các AGENT giao tiếp với các AGENT khác được

Trang 9

(c) SE/FIT/HUT 2005 49

Biểu đồ trạng thái

Một số mở rộng khác

„ Đặc tả vai trò Agent

9 Việc mô tả vai trò của AGENT trong tiến trình tương tác với các AGENT khác là một kỹ thuật sống còn đối với mỗi mô hình của hệ thống dựa AGENT

„ Mở rộng Package

9 Biểu diễn Agent khi Agent hoạt động như một giao diện

„ Mở rộng biểu đồ thực thi

9 Biểu diễn tính lưu động (mobility) của Agent

„ Một số khái niệm dựa AGENT khác

Dang kiem tra

cac truong

Dang kiem tra Credit Card

Phim xac nhan duoc nhan

Dang dang ky mat hang

Dang tinh toan Dang cap nhat

ban ghi

Hoan thanh dang ky Bao cao duoc

yeu cau

Dang cap nhat thong tin khach hang Dang hien thi

bao cao

Dang sua loi Dang cap nhat

dang ky

Dang hien thi hang Lap lai cho moi mat hang

Lap lai cho moi mat hang

Y

Da cap nhat xong

Ban ghi da cap nhat Tong cuoi da duoc

tinh

Dang thong bao loi

i >3

i<3 va Credit card khong co gia trih Cac truong

chua dien

va i<5

Nhan phim

dat hang

„Đặc tả vai trò sâu hơn: agent/role

„Diễn tả vai trò các agent trong tương tác

„Nếu số lượng agent và số vai trò tăng, biểu đồ UML trở nên phức tạp

Đặc tả vai trò - 3 phương pháp biểu diễn

„Phương pháp 1:

Đặc tả vai trò (tiếp)

„ Phương pháp 2:

Trang 10

(c) SE/FIT/HUT 2005 55

Đặc tả vai trò (tiếp)

„ Phương pháp 3:

Đặc tả vai trò (tiếp)

Mở rộng Package

Mở rộng biểu đồ thực thi

Một số khái niệm dựa AGENT

khác

„ Nhân bản

ŠPhân bào và sinh sản

Tổng kết

9đặc tả giao thức tương tác AGENT

9biểu diễn tập các tương tác giữa các AGENT bên trong giao thức

9biểu diễn hành vi bên trong AGENT

AGENT

Ngày đăng: 23/10/2014, 21:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w