1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu mô hình miền chuyên biệt và ứng dụng vào bài toán chuyển đổi dữ liệu cước

115 23 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 115
Dung lượng 2,13 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN DŨNG TÌM HIỂU MƠ HÌNH MIỀN CHUN BIỆT VÀ ỨNG DỤNG VÀO BÀI TOÁN CHUYỂN ĐỔI DỮ LIỆU CƯỚC LUẬN VĂN THẠC SĨ Hà Nội - 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN DŨNG TÌM HIỂU MƠ HÌNH MIỀN CHUN BIỆT VÀ ỨNG DỤNG VÀO BÀI TOÁN CHUYỂN ĐỔI DỮ LIỆU CƯỚC Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Đặng Đức Hạnh Hà Nội – 2011 Lời cam đoan Tôi xin cam đoan luận văn “Tìm hiểu mơ hình miền chun biệt ứng dụng vào toán chuyển đổi liệu cước” tơi tự nghiên cứu hồn thành hướng dẫn TS Đặng Đức Hạnh Tơi xin chịu hồn tồn trách nhiệm lời cam đoan Hà nội, ngày 21 tháng 06 năm 2011 Nguyễn Văn Dũng I Lời cảm ơn Tôi xin trân trọng gửi lời cảm ơn tới giáo viên hướng dẫn - TS Đặng Đức Hạnh Là người hướng dẫn để tài, TS Đặng Đức Hạnh tận tình hướng dẫn tơi q trình hồn thành đề tài luận văn II MỤC LỤC Lời cam đoan .I Lời cảm ơn .II MỤC LỤC III Danh mục ký hiệu, chữ viết tắt IV Danh mục hình vẽ V MỞ ĐẦU Chương – TÌM HIỂU MƠ HÌNH MIỀN CHUN BIỆT 1.1 Khái niệm giải pháp mơ hình miền chun biệt .2 1.2 Những lợi ích mơ hình miền chuyên biệt cho người phát triển .9 1.3 Định nghĩa ngơn ngữ mơ hình cho miền chuyên biệt 11 1.4 Phát triển sinh code 13 1.5 Cách thực thi DSM 13 Chương – MỘT TIẾP CẬN VỚI MƠ HÌNH MIỀN CHUN BIỆT 15 2.1 Đặc trưng 1: Khả định nghĩa miền chuyên biệt 15 2.1.1 Tạo DSL Solution Visual Studio 15 2.1.2 Định nghĩa DSL .19 2.1.3 Định nghĩa mơ hình miền 20 2.2 Đặc trưng 2: Khả định nghĩa ràng buộc 20 2.2.1 Định nghĩa luật .20 2.2.2 Định nghĩa ràng buộc 21 2.3 Đặc trưng 3: Khả phát sinh code 21 2.4 Đặc trưng 4: Khả trình diễn 22 2.5 Đặc trưng 5: Khả cài đặt .31 Chương – ỨNG DỤNG MIỀN CHUYÊN BIỆT TRONG THIẾT KẾ HỆ THỐNG CHUYỂN ĐỔI DỮ LIỆU CƯỚC 33 3.1 Phân tích miền định dạng liệu cước 33 3.1.1 Tìm hiểu số sách cước 33 3.1.2 Khảo sát số khuôn dạng liệu cước 39 3.2 Thiết kế hệ thống chuyển đổi liệu cước 55 3.2.1 Xây dựng ý tưởng hệ thống chuyển đổi liệu cước 55 3.2.2 Mô tả hệ thống 57 3.2.3 Thiết kế hệ thống chuyển đổi liệu cước 69 3.2.4 Mơ hình vật lý hệ thống 78 3.3 Cài đặt miền chuyên biệt định dạng liệu cước để tạo thư viện liên kết động 79 3.3.1 Định nghĩa miền chuyên biệt định dạng liệu tổng đài .79 3.3.2 Định nghĩa luật ràng buộc 83 3.3.3 Sinh thư viện liên liệu tổng đài liên kết động 86 KẾT LUẬN 87 TÀI LIỆU THAM KHẢO 89 PHỤ LỤC 90 III Danh mục ký hiệu, chữ viết tắt Thuật ngữ,chữ viết tắt DSM DSL UML Domain Mediation System CDR DLL IV Danh mục hình vẽ Hình 1-1 DSM cho thiết kế ứng dụng điện thoại di động Hình 1-2 Sinh code thực thi code theo mục đích Hình 1-3 DSM cho tiến trình nghiệp vụ Hình 1-4 Sinh luồng công việc file XML Hình 1-5 DSM for voice menu design Hình 1-6 Generated 8-bit code to microcontroller Hình 2-1 Domain-Specific Language Designer Wizard 15 Hình 2-2: Một DSL Solution 16 Hình 2-3: Project Debugging 18 Hình 2-5: Nút “Transform All Templates” 22 Hình 2-6: Thể model designer kết 23 Hình 2-7: Định nghĩa diagram cho Issue State DSL 25 Hình 2-8: Định nghĩa editor cho Issue State DSL 27 Hình 3-1 Sơ đồ kết nối gọi liên tỉnh VNPT 34 Hình 3-2 Sơ đồ kết nối gọi quốc tế qua VTN 34 Hình 3-3 Các gọi quốc tế khơng qua VTN 34 Hình 3-4 Sơ đồ kết nối gọi VOIP liên tỉnh VNPT 35 Hình 3-5 Sơ đồ kết nối gọi VOIP quốc tế VNPT 35 Hình 3-6 Sơ đồ kết nối gọi di động qua VTN 36 Hình 3-7 Các gọi di động không qua VTN 36 Hình 3-8 Sơ đồ kết nối gọi VOIP liên tỉnh có qua POP 37 Hình 3-9 Sơ đồ kết nối gọi VOIP quốc tế không qua VTN 38 Hình 3-10 Cấu trúc file AMA 40 Hình 3-11 Lưu trữ truyền file AMA 41 Hình 3-12 Bộ đệm chứa ghi AMA 41 Hình 3-13 Đưa liệu theo phương pháp giảm đệm động 43 Hình 3-14 Đưa liệu ngồi theo phương pháp điều chỉnh động 43 Hình 3-15 Quá trình ghi liệu cước 44 Hình 3-16 Hoạt động file ghi vịng 45 Hình 3-17 Thiết lập vùng copy file ghi vòng 47 Hình 3-18 Yêu cầu truyền FTAM bị ngắt 47 Hình 3-19 Cấu trúc gói tin AMA 48 Hình 3-30 Ý tưởng hệ thống chuyển đổi liệu cước 55 Hình 3-22 Sơ đồ khối hệ thống thu thập xử lý liệu 58 Hình 3-23 Quy trình tổng thể hệ thống thu thập xử lý số liệu 59 Hình 3-24 Sơ đồ hoạt động hệ thống thu thập xử lý liệu 68 Hình 3-25 Quy trình hoạt động khối điều khiển 70 Hình 3-26 Cấu trúc thư mục giai đoạn chuyển đổi 71 Hình 3-27 Quy trình xử lý trình chuyển đổi 72 Hình 3-28 Quy trình load liệu 75 Hình 3-29 Quy trình xử lý liệu 77 Hình 3-30 Mơ hình vật lý hệ thống thu thập xử lý liệu 78 Hình 3-31 Định nghĩa miền định dạng file cước tổng đài 82 Hình 3-32 Ứng dụng thiết kế miền định dạng file cước tổng đài 83 V Hình 3-33 Định nghĩa ràng buộc miền định dạng file cước tổng đài 85 VI MỞ ĐẦU Các mô hình sinh code hoạt động cỗ máy giúp cho việc hiểu ghi lại tài liệu code tốt hơn, ngồi chúng sử dụng để sinh code hoàn thiện khả dụng Sinh code hồn thiện từ mơ hình trở thành mục tiêu ngành công nghệ nhiều năm Việc phát triển tự động giúp cải thiện hiệu năng, chất lượt tránh vấn đề phức tạp Khơng may nhiều ngơn ngữ mơ hình hóa dựa code cung cấp chút khả để nâng cao mức trừu tượng thiết kế để lưu trữ sinh code hồn thiện Ví dụ, UML sử dụng khái niệm lập trình trực tiếp (Lớp, giá trị trả lại, …) cấu trúc mơ hình Có biểu tượng hình chữ nhật để minh họa lớp biểu đồ mô tả text tương đương ngôn ngữ lập trình lại khơng cung cấp khả sinh code thực – Mức trừu tượng mơ hình code nhau! Do đó, lập trình viên dễ dàng thấy họ tự tạo mơ hình mà mơ tả chức hành vi dễ dàng viết trực tiếp code Giới hạn khả sinh code buộc người phát triển phải bắt đầu lập trình thủ cơng sau thiết kế Nó dẫn đến vấn đề vịng luẩn quẩn: Có thơng tin hai vị trí, code mơ hình, rắc rối Mơ hình chun biệt miền nâng mức độ trừu tượng lập trình cách giải pháp sử dụng trực tiếp khái niệm miền (domain) Sản phẩm cuối sinh đặc tả mức cao Quá trình tự động khả thi ngơn ngữ sinh code cần thỏa mãn yêu cầu công ty miền (domain) Luận văn tập trung tìm hiểu mơ hình chun biệt miền vận dụng vào thiết kế toán chuyển đổi liệu cước Luận văn bố cục thành chương Chương tập chung tìm hiểu khái niệm lợi ích sử dụng mơ hình miền chun biệt.Chương trình bày tiếp cận mơ hình chun biệt miền công cụ Microsoft DSL.Chương minh họa việc ứng dụng mơ hình chun biệt miền thiết kế toán chuyển đổi liệu cước Chương – TÌM HIỂU MƠ HÌNH MIỀN CHUN BIỆT Chương tập chung tìm hiểu khái niệm lợi ích sử dụng mơ hình miền chun biệt Nội dung chương bố cục thành mục Mục trình bày tổng quan khái niệm giải pháp mô hình miền chuyên biệt Mục nêu lợi ích sử dụng miền chuyên biệt Mục trình bày định nghĩa mơ hình cho miền chun biệt Mục mô tả chức phát sinh code Mục mô tả cách thực thi miền chuyên biệt 1.1 Khái niệm giải pháp mơ hình miền chuyên biệt Những thách thức vấn đề sinh code xử lý theo cách xử lý tương tự với ngơn ngữ lập trình trước Bằng cách tiếp tục nâng dần mức trừu tượng Các mô hình khơng nên code nhìn thấy (visualize code), mà mơ hình mơ tả mức trừu tượng cao ngơn ngữ lập trình Tương tự, trước việc chuyển sang sử dụng ngôn ngữ C để nâng mức trừu tượng tốt ngơn ngữ hình tượng hóa đầu tiên: code Assembler (visualizing Assembler code) Trong mơ hình miền chun biệt (DSM: Domain-Specific Modeling), thành phần mơ hình đại diện mơ tả đặc trưng giới miền, giới code Ngơn ngữ mơ hình tn theo mức trừu tượng ngữ nghĩa miền, cho phép người thiết kế mô hình biết họ làm việc trực tiếp với khái niệm miền Các quy tắc miền đưa vào ngơn ngữ lập trình ràng buộc, ý tưởng kiểm tra ngăn chặn mơ hình thiết kế khơng hợp lệ khơng mong muốn Sự liên kết chặt chẽ ngôn ngữ vấn đề miền mang lại nhiều lợi ích Những điều cách phổ biến để chuyển ngơn ngữ lập trình lên mức trừu tượng cao hơn: cải tiến hiệu năng, giảm phức tạp, chất lượng hệ thống tốt Mặc dù trừu tượng mức cao thay đổi ứng dụng sản phẩm Mọi miền chứa đựng khái niệm chuyên biệt ràng buộc xác Cho nên, ngơn ngữ mơ hình cần chuyên biệt cho miền Ta lấy ví dụ Nếu phát triển cổng thông tin so sánh mua sản phẩm bảo hiểm, lại không sử dụng trực tiếp thuật ngữ bảo hiểm ngôn ngữ thiết kế? Các khái niệm ngôn ngữ „Risk‟,‟Bonus‟ „Dammage‟ phản ánh chất bảo hiểm lớp Java Một ngơn ngữ chun biệt bảo hiểm 77 3.2.4.Mơ hình vật lý hệ thống Hệ thống chuyển đổi số liệu cước viết module việc triển khai khác Hệ thống bao gồm chương trình chạy điểm thu thập liệu hệ thống chạy trung tâm xử lý liệu Hệ thống cần trang bị điểm thu thập liệu bao gồm: - Một máy PC chạy hệ thống chuyển đổi, chuẩn hóa lọc liệu, máy phải có đường mạng kết nối đến máy chủ Ftp Server trung tâm kết nối đến máy chủ CSDL Mediation - Các file thư viện cần thiết để chuyển đổi liệu - Hệ thống trung tâm bao gồm: - Máy chủ CSDL Mediation - Máy x lý d liu Điểm thu thập Tổng đài Điểm thu thập Tổng đài Điểm thu thập Tổng đài Hỡnh 3-30 Mơ hình vật lý hệ thống thu thập xử lý liệu Mơ hình bao gồm trung tâm xử lý liệu nhiều điểm thu thập liệu Việc truyền liệu thực thông qua mạng Intranet Internet Máy chủ CSDL Mediation cần cấu hình vừa phải cần phải có giải pháp lưu trữ liệu lớn lượng liệu thu thập cho hệ thống tính cước kết nối thường lớn 78 3.3 Cài đặt miền chuyên biệt định dạng liệu cước để tạo thư viện liên kết động Như trình bày mục 3.2.2 (b) chức thu thập số liệu giai đoạn chuyển đổi số liệu, đặc trưng thường xuyên cần tạo file DLL tổng đài để phục vụ chức chuyển đổi liệu cước, thư viện thường xuyên cập nhật tổng đài nâng cấp có tổng đài tơi sử dụng công cụ Microsoft DSL để thiết kế miền chuyên biệt để sinh dll tự động theo đặc trưng tổng đài Công việc thiết kế bao gồm bước sau: 3.3.1.Định nghĩa miền chuyên biệt định dạng liệu tổng đài Để định nghĩa miền chuyên biệt file cước tổng đài ta sử dụng số thuật ngữ sau: Thuật ngữ CDR calling Called sTime eTime duration REC_SIZE BLOCK_HEADER BLOCK_SIZE REC_PER_BLOCK= BLOCK_SIZE div REC_SIZE 79 DANH SÁCH MỘT SỐ CHỦNG LOẠI TỔNG ĐÀI Tổng đài EWSD E10 AXE-10,AXE-105 NEAX StarexVK TDX-1B NEAX-61 S-12 FETEX-150 LINEA-UT DMS STAREX-VK DM 200 Các đặc trưng miền file cước tổng đài: Chiều dài số chủ gọi không vượt 15 Trong file CDR cước, phần header ghi thông tin chủng loại tổng đài Phần liệu ghi BLOCK chứa thông tin cước, BLOCK lại bao gồm nhiều RECORD RECORD phần liệu chứa thông tin gọi Việc quy định số lượng record block số lượng block file cdr tùy thuộc vào chủng loại tổng đài Ta sử dụng thuật ngữ, đặc trưng miền tổng đài để tạo miền tổng đài CDRAXE công cụ Microsoft DSL: 80 81 Hình 3-31 Định nghĩa miền định dạng file cước tổng đài Sau thiết kế miền tổng đài AXECDR thực F5 để chạy ứng dụng, hệ thống sinh lớp ứng dụng cho người phát triển sử dụng, kế thừa, bổ sung thuộc tính, phương thức lớp tổng đài CDRAXE 82 Hình 3-32 Ứng dụng thiết kế miền định dạng file cước tổng đài 3.3.2.Định nghĩa luật ràng buộc Để tạo luật ràng buộc miền tổng đài, ta thêm vào Project file Validation.cs, file phải khai báo theo số quy tắc sau: using System; using System.Collections.Generic; using System.Text; using Microsoft.VisualStudio.Modeling.Validation; namespace Company.CDRDomain { [ValidationState(ValidationState.Enabled)] public partial class AXECDR { [ValidationMethod( ValidationCategories.Menu | ValidationCategories.Open | ValidationCategories.Save)] private void ValidateHasName(ValidationContext context) { if (string.IsNullOrEmpty(this.Name)) { context.LogError("Ban chua nhap ten CDR","Thong bao",this); 83 } if (this.BLOCK_HEADER==null) { context.LogError("Ban chua nhap BLOCK_HEADER", "Thong bao", this); } if (this.BLOCK_SIZE == null) { context.LogError("Ban chua nhap BLOCK_SIZE", "Thong bao", this); } if (this.BYTE_TOTAL == null) { context.LogError("Ban chua nhap BYTE_TOTAL", "Thong bao", this); } if (this.REC_PER_BLOCK == null) { context.LogError("Ban chua nhap REC_PER_BLOCK", "Thong bao", this); } if (this.REC_SIZE == null) { context.LogError("Ban chua nhap REC_SIZE", "Thong bao", this); } if (this.REC_SIZE > this.BLOCK_SIZE) { context.LogError("Gia tri REC_SIZE phai < gia tri BLOCK_SIZE", "Thong bao", this); } if (this.BLOCK_SIZE > this.BINARY_LENGTH) { context.LogError("Gia tri BLOCK_SIZE phai < gia tri BINARY_LENGTH", "Thong bao", this); } } } } 84 Hình 3-33 Định nghĩa ràng buộc miền định dạng file cước tổng đài 85 3.3.3.Sinh thư viện liên liệu tổng đài liên kết động Sau người phát triển sử dụng miền ứng dụng tổng đài AXECDR, nhập thông tin thuộc tính, bổ sung thay đổi số phương thức tương tác lên file CDR tổng đài, sau thực chức sinh file thư viện dll động cách chọn chức Transform All Templates hình vẽ: 86 KẾT LUẬN Kết đạt Mục tiêu luận văn đưa ra: - Tập chung tìm hiểu khái niệm, mơ hình ứng dụng thực tế lợi ích mang lại sử dụng mơ hình miền chun biệt - Tìm hiểu tiếp cận với mơ hình miền chun biệt cơng cụ Microsoft DSL - Ứng dụng mơ hình chun biệt miền thiết kế toán chuyển đổi liệu cước Kết luận văn đạt được: - Tìm hiểu mơ hình chun biệt miền:  Khái niệm giải pháp mơ hình miền chun biệt  Các ví dụ thực tế mơ hình ứng dụng  Các lợi ích mang lại  Hướng dẫn cách phát triển mô hình miền chun biệt - Tìm hiểu tiếp cận cơng cụ hỗ trợ thiết kế miền chuyên biệt Microsoft DSL:  Hướng dẫn định nghĩa miền chuyên biệt  Hướng dẫn định nghĩa ràng buộc  Hướng dẫn sinh mã tự động cài đặt hệ thống miền chuyên biệt - Sử dụng công cụ hỗ trợ thiết kế miền chuyên biệt Microsoft DSL Tool để thiết kế miền liệu cước tổng đài tạo tự động sinh thư viện liên kết động cho lớp liệu tổng đài, gồm có chức năng:  Tạo miền chuyên biệt cho lớp tổng đài  Tạo ràng buộc  Tùy biến thay đổi 87 Việc áp dụng mơ hình chun biệt miền để thiết kế sinh lớp thư viện tổng đài động mang lại nhiều lợi ích, giúp cho người phát triển dễ dàng sử dụng miền tổng đài để thay đổi, tùy biến thông tin cách linh hoạt mà không cần phải sửa mã nguồn nhiều, thao tác thực giao diện đồ họa Hướng phát triển Do thời gian thực luận văn hạn chế nên luận văn thực cài đặt miền chuyên biệt cho lớp liệu tổng đài cách Hướng phát triển luận văn tập trung vào mở rộng cài đặt miền chuyên biệt lớp liệu tổng đài cho nhiều chủng loại tổng đài hơn, phát triển nhiều chức chuyên biệt để hỗ trợ tối người phát triển hệ thống tổng đài 88 TÀI LIỆU THAM KHẢO Tiếng Việt Nguyễn Văn Vỵ, Nguyễn Việt Hà, “Kỹ nghệ phần mềm”, NXB Giáo dục năm 2009 2.Nguyễn Văn Vỵ “Phân tích thiết kế hệ thống thông tin đại theo hướng cấu trúc & hướng đối tượng”, NXB Thống kê năm 2002 Tiếng Anh Domain-Specific Modeling for Full Code Generation: Juha-Pekka Tolvanen, MetaCase, www.metacase.com 2.Domain-Specific Modeling with metaedit+: 10 times faster than UML – MetaCase 3.Metamodel-based UML Notations for Domain-specific Languages-Achim D Brucker and Jurgen Doser 4.Steve Cook Software Architect Enterprise Frameworks & Tools Group Microsoft Corporation 5.Domain-Specific Developement with Visual Studio DSL Tools -Steve Cook Gareth Jones - Stuart Kent Alan - Cameron Wills 6.Domain-Specific Language Engineering - Eelco Visser 7.Comparison of Microsoft DSL Tools and Eclipse Modeling Frameworks for Domain-Specific Modeling In the context of the Model-Driven Development - Turhan Ozgur 89 PHỤ LỤC 90 ... TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN DŨNG TÌM HIỂU MƠ HÌNH MIỀN CHUN BIỆT VÀ ỨNG DỤNG VÀO BÀI TOÁN CHUYỂN ĐỔI DỮ LIỆU CƯỚC Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60... ty miền (domain) Luận văn tập trung tìm hiểu mơ hình chun biệt miền vận dụng vào thiết kế toán chuyển đổi liệu cước Luận văn bố cục thành chương Chương tập chung tìm hiểu khái niệm lợi ích sử dụng. .. mơ hình miền chun biệt. Chương trình bày tiếp cận mơ hình chun biệt miền công cụ Microsoft DSL.Chương minh họa việc ứng dụng mơ hình chun biệt miền thiết kế toán chuyển đổi liệu cước Chương – TÌM

Ngày đăng: 11/11/2020, 22:27

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

TÀI LIỆU LIÊN QUAN

w