liờn kết động
Như đó trỡnh bày trong mục 3.2.2. (b) về chức năng thu thập số liệu trong giai đoạn chuyển đổi số liệu, do đặc trưng thường xuyờn cần tạo ra cỏc file DLL của mỗi tổng đài để phục vụ chức chuyển đổi dữ liệu cước, cỏc thư viện này thường xuyờn được cập nhật khi tổng đài được nõng cấp hoặc cú tổng đài mới do đú tụi đó sử dụng cụng cụ Microsoft DSL để thiết kế miền chuyờn biệt để sinh ra cỏc dll tự động theo đặc trưng của từng tổng đài. Cụng việc thiết kế bao gồm cỏc bước sau:
3.3.1.Định nghĩa miền chuyờn biệt định dạng dữ liệu tổng đài
Để định nghĩa một miền chuyờn biệt về file cước của tổng đài ta sử dụng một số thuật ngữ sau:
Thuật ngữ Giải thớch
CDR Call Detail Record
Bản ghi chi tiết cuộc gọi
calling Số gọi
Called Số bị gọi
sTime Thời gian bắt đầu cuộc gọi
eTime Thời gian kết thỳc cuộc gọi
duration Độ dài cuộc gọi
REC_SIZE Chiều dài của một cuộc gọi (byte)
BLOCK_HEADER Chiều dài của phần header
BLOCK_SIZE Chiều dài của một BLOCK (một block bao gồm nhiều bản ghi cuộc gọi)
REC_PER_BLOCK= BLOCK_SIZE div REC_SIZE
80
DANH SÁCH MỘT SỐ CHỦNG LOẠI TỔNG ĐÀI
Cỏc đặc trưng của miền file cước tổng đài: Chiều dài số chủ gọi khụng vượt quỏ 15
Trong cỏc file CDR cước, phần header chỉ ghi thụng tin về chủng loại tổng đài. Phần dữ liệu tiếp theo sẽ lần lượt ghi cỏc BLOCK chứa thụng tin cước, mỗi một BLOCK lại bao gồm nhiều RECORD. RECORD là phần dữ liệu chứa thụng tin của một cuộc gọi. Việc quy định số lượng cỏc record trong một block và số lượng cỏc block trong một file cdr là tựy thuộc vào từng chủng loại tổng đài.
Ta sử dụng cỏc thuật ngữ, cỏc đặc trưng của miền tổng đài để tạo ra miền tổng đài CDRAXE bằng cụng cụ Microsoft DSL:
Tổng đài Hóng
EWSD (Siemens)
E10 (Alcatel - Phỏp)
AXE-10,AXE-105 (Erricson – Sweden- Thụy Điển)
NEAX (NEC - Nhật) StarexVK (LG - Hàn) TDX-1B (Korea - LGIC) NEAX-61 (NEC - Nhật ) S-12 (ShangHai) FETEX-150 (FUJITSU) LINEA-UT (Italia) DMS (Nortel)
STAREX-VK (Korea – LGIC):
82
Hỡnh 3-31. Định nghĩa miền định dạng file cước tổng đài
Sau khi thiết kế miền tổng đài AXECDR thực hiện F5 để chạy ứng dụng, hệ thống sẽ sinh ra lớp ứng dụng cho người phỏt triển cú thể sử dụng, kế thừa, bổ sung thuộc tớnh, phương thức lớp tổng đài CDRAXE.
83
Hỡnh 3-32. Ứng dụng thiết kế trờn miền định dạng file cước tổng đài
3.3.2.Định nghĩa cỏc luật ràng buộc
Để tạo ra cỏc luật ràng buộc trong miền tổng đài, ta thờm vào trong Project một file Validation.cs, file này phải được khai bỏo theo một số quy tắc như 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)) {
84 }
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);
} } } }
85
86
3.3.3.Sinh thư viện liờn dữ liệu tổng đài liờn kết động
Sau khi người phỏt triển sử dụng miền ứng dụng tổng đài AXECDR, nhập cỏc thụng tin thuộc tớnh, bổ sung hoặc thay đổi một số phương thức tương tỏc lờn file CDR tổng đài, sau cựng sẽ thực hiện chức năng sinh ra file thư viện dll động bằng cỏch chọn chức năng Transform All Templates như hỡnh vẽ:
87
KẾT LUẬN
Kết quả đạt được
Mục tiờu của luận văn đó đưa ra:
- Tập chung tỡm hiểu khỏi niệm, cỏc mụ hỡnh ứng dụng thực tế và cỏc lợi ớch mang lại khi sử dụng mụ hỡnh miền chuyờn biệt
- Tỡm hiểu một tiếp cận với mụ hỡnh miền chuyờn biệt bằng cụng cụ Microsoft DSL. - Ứng dụng mụ hỡnh chuyờn biệt miền trong thiết kế bài toỏn chuyển đổi dữ liệu cước.
Kết quả luận văn đạt được:
- Tỡm hiểu mụ hỡnh chuyờn biệt miền:
Khỏi niệm và giải phỏp mụ hỡnh miền chuyờn biệt.
Cỏc vớ dụ thực tế về 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 chuyờn 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 cỏc ràng buộc
Hướng dẫn sinh mó tự động và 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 dữ liệu cước tổng đài tạo tự động sinh ra thư viện liờn kết động cho cỏc lớp dữ liệu tổng đài, gồm cú cỏc chức năng:
Tạo miền chuyờn biệt cho cỏc lớp tổng đài.
Tạo cỏc ràng buộc.
88
Việc ỏp dụng mụ hỡnh chuyờn 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 đú để cú thể thay đổi, tựy biến cỏc thụng tin một cỏch linh hoạt mà khụng cần phải sửa mó nguồn nhiều, mọi thao tỏc đều cú thể được thực hiện trờn giao diện đồ họa.
Hướng phỏt triển
Do thời gian thực hiện luận văn cũn hạn chế nờn luận văn mới chỉ thực hiện cài đặt miền chuyờn biệt cho lớp dữ liệu tổng đài một cỏch cơ bản. Hướng phỏt triển tiếp theo của luận văn sẽ tập trung vào mở rộng cài đặt miền chuyờn biệt của lớp dữ 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 năng chuyờn biệt hơn để hỗ trợ tối đó người phỏt triển hệ thống về tổng đài.
89
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. 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ế cỏc hệ thống thụng tin hiện đại theo hướng cấu trỳc & hướng đối tượng”, NXB Thống kờ năm 2002.
Tiếng Anh
1. 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
90