Để thực hiện phép biến đổi mô hình tự động nhằm tối ƣu hóa, trong phần này chúng tôi tập trung xây dựng ứng dụng tối ƣu mức mô hình cài đặt một số phép biến đổi. Trong mô hình dữ liệu, các thành phần dữ liệu và các hàm có thêm thuộc tính tần số truy xuất hoặc thực hiện. Tần số này sẽ đƣợc ngƣời thiết kế ƣớc lƣợng. Mô hình dữ liệu đƣợc sử dụng làm đầu vào cho chƣơng trình tối ƣu để thực hiện các phép biến đổi. Trong chƣơng trình tối ƣu, chúng tôi cài đặt phép biến đổi phân chia cấu trúc dựa trên thuật toán phân cụm K-mean với số phân cụm tùy chọn. Số phân cụm chính là số cấu trúc đƣợc phân chia từ cấu trúc ban đầu. Chƣơng trình tối ƣu phân tích và chuyển từ mô hình trực quan sang biểu diễn toán học của mô hình (dạng tập hợp) dựa trên T4. Sau đó thực hiện phép biến đổi để đạt đƣợc mô hình tối ƣu dạng tập hợp. Từ mô hình tối ƣu dạng tập hợp, có thể sinh ngƣợc lại mô hình trực quan hoặc sinh mã.
Hình 3-14. Chƣơng trình tối ƣu
Chúng tôi tiến hành cài đặt hàm đánh giá hiệu năng và hàm đánh giá bộ nhớ ở trên vào chƣơng trình tối ƣu để đánh giá hiệu năng và bộ nhớ chiếm dụng, từ đó đƣa ra cấu trúc có hiệu năng tốt hơn hoặc bộ nhớ chiếm dụng tốt hơn. Ứng dụng tối ƣu sẽ nhận đầu vào là thông tin đặc tả mô hình và bộ tham số tƣơng ứng với mô hình đã đƣợc trích xuất tự động từ framework DSL và T4, ở đây là tên và tần suất truy suất các thành phần dữ liệu. Sau đó chƣơng trình tối ƣu thực hiện các phép biến đổi và tính toán hiệu năng và bộ nhớ chiếm dụng cho mô hình ban đầu và mô hình tối ƣu theo công thức đã cài đặt nêu ở trên, tiến hành so sánh để lựa chọn mô hình tốt hơn. Hình 3-14, 3-15 là giao diện của chƣơng trình tối ƣu.
Hình 3-16. Biểu đồ so sánh tối ƣu hiệu năng, bộ nhớ chiếm dụng của biểu đồ lớp
Kết quả từ biểu đồ so sánh của ứng dụng tối ƣu chúng ta sẽ lựa chọn đƣợc cấu trúc có hiệu năng tốt hơn hoặc bộ nhớ chiếm dụng tốt hơn. Hình 3-16 là giao diện biểu đồ so sánh của chƣơng trình tối ƣu.