Nội dung bài báo Phương pháp mới hổ trợ khả năng phản ứng trong CSDL hướng đối tượng Đề xuất mô hình giám sát ngoài cho phép đặc tả event mở rộng trên các đối tượng ở các lớp khác nh
Trang 1RBTV trong CSDL hướng đối tượng – Cách tiếp cận mới
Trình bày: Nguyễn Đức Tâm
GV: Đồng Thị Bích Thủy
Trang 2Nội dung chính
1. Nội dung bài báo
2. Mô hình giám sát ngoài (External
Trang 31 Nội dung bài báo
Phương pháp mới hổ trợ khả năng phản ứng trong CSDL hướng đối tượng
Đề xuất mô hình giám sát ngoài cho phép
đặc tả event mở rộng trên các đối tượng (ở các lớp khác nhau)
Hỗ trợ primitive và complex event
Cơ chế đăng ký event tại thời điểm runtime
Event và RBTV được đối xử như là đối tượng lớp đầu tiên (first class objects)
Trang 42 External Monitoring Viewpoint
Định nghĩa RBTV độc lập với những đối
tượng mà nó giám sát
RBTV được phát ra bởi event mở rộng trên tập các đối tượng (có thể từ các lớp khác nhau)
Bất kỳ đối tượng nào chủ động phát hiện những thay đổi của nó phản ứng và kết hợp với RBTV
để phản ứng với những thay đổi đó.
Trang 52 External Monitoring Viewpoint (tt)
Event interface
Cơ chế đăng ký runtime (runtime subsciption mechanism)
Trang 62 External Monitoring Viewpoint (tt)
Ví dụ:
Trang 73 Hệ thống Sentinel
Các đối tượng được phân chia thành 3 loại:
Reactive objects:
Đối tượng cần được giám sát bởi RBTV
Khai báo phương thức (được giám sát) thông qua
event interface
Notifiable objects:
Nhận biết những thay đổi trạng thái của đối tượng reactive
Và thực thi một số thao tác để phản ứng với những thay đối
Passive objects:
Đối tượng C++ truyền thống
Không phát sinh được event
Trang 93 Hệ thống Sentinel (tt)
Lớp Reactive
Trang 10Event và Rule là 2 lớp con
Phương thức Record ghi nhận các tham
số đầu vào của event được phát sinh (id của đối tượng, event, time stamp, tham
số và giá trị được gởi từ đối tượng
reactive)
Trang 113 Hệ thống Sentinel (tt)
Lớp Event
Trở thành đối tượng lớp đầu tiên (first
class object)
Hổ trợ Primitive event và Comlex event
Primitive event có 2 dạng: begin of
method (bom) và end of method (eom)
event
Complex event kết hợp các primitive
event thông qua các toán tử:
Trang 123 Hệ thống Sentinel (tt)
Conjunction event
Trang 133 Hệ thống Sentinel (tt)
Lớp Rule
Trang 14Ví dụ lớp reactive
Tiền tố chỉ định thời điểm phát sinh event
Trang 15Cách tạo event
Đối với primitive event, chỉ cần chỉ ra phương thức (method) gây ra event và thời điểm event được phát sinh.
Event* sal = new Primitive(“end Emp::Set-Sal(float x)”);
Complex event, gộp nhiều primitive event sử dụng
toán tử conjunction, disjunction hay sequence
Event* DEP = new Primitive(“end ACN::Dep(int x)”); Event* WTD = new Primitive(“begin ACN::Wtd(int x)”); Event* DepWtd = new Sequence(DEP, WTD);
Trang 16Định nghĩa RBTV
Khai báo trong phần định nghĩa lớp
Trang 17Định nghĩa RBTV (tt)
Khai báo ở mức thể hiện (instance level)
Trang 184 Đánh giá kết quả
Trang 195 Kết luận
quá trình định nghĩa đối tượng và RB với tiến trình
đặc tả và phát hiện sự kiện (event)
đổi hay thay thế một cách dễ dàng (không cần phải
thay đổi trong phần định nghĩa đối tượng)
phản ứng với các thay đổi trạng thái của riêng đối
tượng đó cũng như các thay đổi trạng thái của các đối tượng khác.
event tại thời điểm biên dịch hay thời điểm runtime.
Trang 206 Hướng phát triển
Chuyển đổi từ CSDL chủ động sang hệ thống Sentinel
Hổ trợ đầy đủ các event và tham số được
trình bày trong Snoop [CM91] (database
event, temporal event, explicit event, begin of block and end of block event)
Đánh giá hiệu năng của hệ thống
Giao tiếp giữa các ứng dụng và các giao tác
sử dụng CSDL chủ động.
Trang 217 Hỏi & đáp