21/04/2013 Nội dung Giới thiệu Mô hình ánh xạ Đại số quản trị mô hình Ứng dụng quản trị mô hình vào toán siêu liệu cổ ñiển Match Diff Merge Compose Apply, Copy, ModelGen, Enumerate Nguyễn Hồng Phương Email: phuong.nguyenhong@hust.edu.vn Site: http://is.hut.edu.vn/~phuongnh Bộ môn Hệ thống thông tin Viện Công nghệ thông tin Truyền thông Đại học Bách Khoa Hà Nội Giới thiệu Mô hình ánh xạ Nhiều toán H3T liên quan tới: thiết kế, tích hợp, bảo trì ứng dụng phức tạp Kỹ sư sử dụng công cụ thao tác mô hình: thiết kế biến ñổi mô hình Một số ví dụ Mô hình Ánh xạ Ánh xạ lược ñồ XML ñể ñịnh hướng dịch thông ñiệp Ánh xạ mô hình thực thể liên kết lược ñồ SQL ñể ñịnh hướng thiết kế cài ñặt CSDL Các thao tác chính: Match, Compose, Diff, ModelGen, Merge Mô hình Ánh xạ Một ñồng dạng hai mô hình M1 M2 quan hệ nhị phân ñối tượng mô hình (một tập cặp , o1 M1, o2 M2) Một ánh xạ M1 M2, ký hiệu map12, mô hình Một ánh xạ cụ thể hóa khái niệm mối quan hệ mô hình Một ñối tượng ánh xạ có thuộc tính biểu thức Chứa tập ñối tượng Mỗi ñối tượng có ñịnh danh Các ñối tượng có thuộc tính/tính chất Các ñối tượng có quan hệ với nhau: is-a, hasa, associations Hỗ trợ thao tác: create/delete an object, read/write a property, add/remove a relationship Mô hình bao gồm ñối tượng gốc nó, tập ñối tượng ñến ñược từ gốc ñường ñi has-a 21/04/2013 Đại số quản trị mô hình Match Diff Merge Compose Apply, Copy, ModelGen, Enumerate Match Diff Đầu vào: mô hình Đầu ra: ánh xạ chúng Thực hiện: nhận diện kết hợp ñối tượng giống mô hình ñầu vào Đầu vào: Một mô hình M1, ánh xạ map1 mô hình M1 mô hình M2 ñó Đầu ra: Mô hình M1 không tham gia vào ánh xạ Thực hiện: gọi thao tác Match Vấn ñề: Gốc map1 tham chiếu ñến ñối tương (gốc) M1 => kết Diff(M1, map1) không chứa nút gốc Một số ñối tượng kết không liên kết với nút gốc kết => kết mô hình Diff (tiếp) 10 Diff (tiếp) 11 12 21/04/2013 Merge Merge (tiếp) Đầu vào: mô hình M1, mô hình M2, ánh xạ map1 chúng Đầu ra: mô hình M3 chứa tất ñối tượng M1 M2 (những ñối tượng trùng giữ lại 1) 13 Compose 14 Compose (tiếp) Đầu vào: map1 mô hình M1 M2, map2 M2 M3 Đầu ra: map3 M1 M3 (map3=map2 map1) map3(M1)≡map2(map1(M1)) 15 Các toán tử khác 16 Ứng dụng Apply: ñầu vào mô hình hàm f bất kỳ; áp dụng hàm f cho tất ñối tượng mô hình Copy: ñầu vào mô hình; trả mô hình ñó ModelGen: Sinh mô hình siêu mô hình từ mô hình siêu mô hình khác Ví dụ: Tích hợp lược ñồ Tiến hóa lược ñồ sinh lược ñồ SQL từ sơ ñồ thực thể liên kết ñịnh nghĩa giao tiếp từ mô hình UML HTML link từ ñồ website 17 18 21/04/2013 Tích hợp lược ñồ Tích hợp lược ñồ (tiếp) Tạo lược ñồ S3 chứa tất thông tin từ lược ñồ S1 S2 ñã cho ánh xạ S1 với S3 ánh xạ S2 với S3 19 20 Tiến hóa lược ñồ Một thay ñổi lược ñồ CSDL dẫn tới việc phá vỡ khung nhìn lược ñồ ñó 21 22 Lời hay ý ñẹp Chỉ bậc thông thái biết rõ ngu dốt mà Victor Hugo 23