Luận văn: Tối ưu phần mềm nhúng bằng chuyển đổi mô hình trong thiết kế

Luận văn thạc sĩ: Tối ưu phần mềm nhúng giai đoạn thiết kế bằng chuyển đổi mô hình. Nghiên cứu chuyên sâu về phương pháp và ứng dụng.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sỹ

2014

90
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỞ ĐẦU

1. CHƢƠNG 1 NGÔN NGỮ MIỀN CHUYÊN DỤNG VÀ CÔNG NGHỆ SINH MÃ T4

1.1. Giới thiệu

1.2. Ngôn ngữ miền chuyên dụng

1.2.1. Khái niệm

1.2.2. Phạm vi ứng dụng của DSL

1.2.3. Các công cụ hỗ trợ phát triển DSL

1.3. DSL mô hình phần mềm nhúng

1.3.1. DSL mô hình phần mềm nhúng

2. CHƢƠNG 2 CÁC PHƢƠNG PHÁP TỐI ƢU TRONG GIAI ĐOẠN THIẾT KẾ

2.1. TỔNG QUAN VỀ TỐI ƢU PHẦN MỀM NHÚNG

2.2. CÁC KHÍA CẠNH TỐI ƢU PHẦN MỀM NHÚNG

2.3. CÁC PHƢƠNG PHÁP TỐI ƢU PHẦN MỀM NHÚNG TRONG GIAI ĐOẠN THIẾT KẾ

3. CHƢƠNG 3 TỐI ƢU PHẦN MỀM NHÚNG TRONG GIAI ĐOẠN THIẾT KẾ DỰA TRÊN CHUYỂN ĐỔI MÔ HÌNH

3.1. Ý TƢỞNG VÀ QUY TRÌNH TRIỂN KHAI

3.2. CÁC PHÉP BIẾN ĐỔI TRÊN MÔ HÌNH

3.2.1. Phân chia cấu trúc

3.2.2. Gộp cấu trúc

3.2.3. Thay đổi thứ tự mối quan hệ

3.2.4. Hƣớng giới hạn của mối quan hệ

3.2.5. Tạo hoạt động đặc trƣng

3.2.6. Chuyển đổi thuộc tính thành tham số

3.2.7. Loại bỏ các thuộc tính dƣ thừa

3.2.8. Chuyển thuộc tính thành lớp

3.2.9. Thu gọn kiểu dữ liệu

3.2.10. Chuyển tham số thành thuộc tính

3.2.11. Chuyển các thành phần động thành tĩnh

3.3. XÂY DỰNG HÀM ĐÁNH GIÁ HIỆU NĂNG VÀ BỘ NHỚ CHIẾM DỤNG

3.3.1. Hàm đánh giá hiệu năng

3.3.2. Hàm đánh giá bộ nhớ

3.4. ĐỊNH NGHĨA DSL, XÂY DỰNG FRAMEWORK VÀ TẠO MẪU T4

3.4.1. Định nghĩa DSL và xây dựng framework

3.4.2. Tạo mẫu T4 để sinh tham số tự động từ mô hình

3.5. XÂY DỰNG CHƢƠNG TRÌNH TỐI ƢU DỰA TRÊN BIẾN ĐỔI MÔ HÌNH

3.5.1. Chuyển đổi mô hình để tối ƣu hiệu năng

3.5.2. Chuyển đổi mô hình để tối ƣu bộ nhớ chiếm dụng

4. MÔ TẢ VÀ MÔ HÌNH THỰC NGHIỆM

4.1. THỰC NGHIỆM 1 - ỨNG DỤNG BÀI TOÁN THÁP HÀ NỘI

4.1.1. Mô tả bài toán

4.1.2. Thiết kế lớp gốc

4.1.3. Biến đổi mô hình lớp

4.1.4. Đánh giá hiệu năng và lựa chọn mô hình tốt hơn

4.2. THỰC NGHIỆM 2 - ỨNG DỤNG BÀI TOÁN 8 QUÂN HẬU

4.2.1. Mô tả bài toán

4.2.2. Thiết kế lớp gốc

4.2.3. Biến đổi mô hình lớp

4.2.4. Đánh giá hiệu năng và lựa chọn mô hình tốt hơn

4.3. THỰC NGHIỆM 3 - ỨNG DỤNG SẮP XẾP KIỂU PHÂN ĐOẠN (QUICK SORT)

4.3.1. Mô tả bài toán

4.3.2. Thiết kế lớp gốc

4.3.3. Biến đổi mô hình lớp

4.3.4. Đánh giá hiệu năng và lựa chọn mô hình tốt hơn

4.4. THỰC NGHIỆM 4 - ỨNG DỤNG VẼ ĐỒ THỊ

4.4.1. Mô tả bài toán

4.4.2. Thiết kế lớp gốc

4.4.3. Biến đổi mô hình lớp

4.4.4. Đánh giá hiệu năng và lựa chọn mô hình tốt hơn

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tối ưu phần mềm nhúng Tổng quan và các khái niệm cơ bản

Hệ thống nhúng và phần mềm nhúng ngày càng đóng vai trò quan trọng trong nhiều lĩnh vực. Từ ô tô, điện thoại di động đến các hệ thống lớn như thiết bị y tế và tự động hóa công nghiệp, phần mềm nhúng điều khiển phần cứng và cung cấp trí tuệ cho các sản phẩm. Thiết kế và phát triển các hệ thống nhúng hiệu quả là một thách thức, đòi hỏi sự tối ưu về hiệu năng, kích thước bộ nhớ và mức tiêu thụ năng lượng. Sự phát triển nhanh chóng của công nghệ đòi hỏi các phương pháp thiết kế tự động và được hỗ trợ bởi các công cụ. Do đó, tối ưu hóa phần mềm nhúng đã trở thành một chủ đề quan trọng trong nghiên cứu và phát triển. Bài viết này sẽ tập trung vào các kỹ thuật tối ưu hóa phần mềm nhúng trong giai đoạn thiết kế, đặc biệt là sử dụng chuyển đổi mô hình.

1.1. Hệ thống nhúng và vai trò của phần mềm nhúng

Hệ thống nhúng là một hệ thống máy tính và phần mềm được nhúng vào một hệ thống lớn hơn để điều khiển hoạt động và xử lý thông tin. Theo chuẩn IEEE, hệ thống nhúng là một hệ tính toán nằm trong sản phẩm và thực hiện một số chức năng của hệ thống. Mục đích của phần mềm nhúng là điều khiển phần cứng và cung cấp môi trường phát triển các phần mềm nhúng tích hợp khác. Phần mềm nhúng tạo nên phần trí tuệ của các sản phẩm. Theo Nguyễn Thị Thu Huyền, phần mềm nhúng ngày càng có tỷ lệ giá trị cao trong giá trị của các sản phẩm nhúng. Có thể thấy hệ thống nhúng trong cuộc sống hàng ngày: ô tô, điện thoại, TV, tủ lạnh. Việc thiết kế và chế tạo hệ thống nhúng đã được các nước phát triển quan tâm từ lâu.

1.2. Tầm quan trọng của tối ưu hóa phần mềm nhúng

Việc tối ưu hóa phần mềm nhúng là vô cùng quan trọng do những hạn chế về tài nguyên như khả năng xử lý của CPU, kích thước bộ nhớ, thời gian pin, mức tiêu thụ năng lượng và thời gian thực. Môi trường phát triển phần mềm nhúng có nhiều giới hạn. Tối ưu hóa trong giai đoạn thiết kế đặc biệt quan trọng vì nó mang lại nhiều lợi ích hơn so với các giai đoạn sau, như việc sử dụng biên dịch, thiết kế, và lắp ráp. Luận văn của Nguyễn Thị Thu Huyền tập trung vào nghiên cứu và tìm hiểu một phương pháp tối ưu trong phát triển phần mềm nhúng giai đoạn thiết kế, đó là để đặc tả, mô hình, tự động sinh mã tối ưu, độc lập nền tảng cho các phần mềm nhúng.

II. Thách thức và vấn đề trong tối ưu phần mềm nhúng hiện nay

Mặc dù việc tối ưu hóa phần mềm nhúng mang lại nhiều lợi ích, nhưng cũng có nhiều thách thức cần giải quyết. Đánh giá chính xác hiệu năng, mức tiêu thụ điện năng và dung lượng bộ nhớ chiếm dụng trong giai đoạn thiết kế là rất khó khăn. Các độ đo phần mềm trong giai đoạn thiết kế chủ yếu tập trung vào các độ đo chất lượng (khả năng tái sử dụng, tính dễ bảo trì) mà chưa tập trung vào các độ đo mức thực thi (thời gian thực thi, bộ nhớ sử dụng). Các mục tiêu chính của tối ưu là tối ưu hiệu năng, tối ưu tiêu thụ điện năng của hệ thống, tuổi thọ của pin, tối ưu bộ nhớ, dữ liệu và tối ưu kích thước phần mềm, tối ưu chi phí. Các khía cạnh tối ưu có thể mâu thuẫn, do đó, việc cân bằng giữa các mục tiêu tối ưu là cần thiết.

2.1. Các khía cạnh cần xem xét khi tối ưu phần mềm nhúng

Có nhiều khía cạnh cần xem xét khi tối ưu hóa phần mềm nhúng, bao gồm tối ưu hiệu năng, tiêu thụ năng lượng, truyền thông, bộ nhớ chương trình và bộ nhớ đệm. Các nghiên cứu đã tập trung vào các khía cạnh này. Tối ưu hiệu năng đã được nghiên cứu sâu rộng và có nhiều giải pháp. Tối ưu tiêu thụ năng lượng quan trọng trong các thiết bị không dây. Tối ưu truyền thông tập trung vào tối ưu giao thức và dữ liệu. Tối ưu bộ nhớ chương trình và bộ nhớ đệm cũng góp phần quan trọng vào việc tối ưu hiệu năng.

2.2. Khó khăn trong việc đánh giá và kiểm chứng tối ưu

Việc đánh giá và kiểm chứng kết quả tối ưu hóa trong giai đoạn thiết kế là một thách thức lớn. Vì các khía cạnh tối ưu chỉ được kiểm chứng và hiệu chỉnh sau khi đã cài đặt và triển khai ứng dụng, nên việc thay đổi các yếu tố để cải tiến hệ thống đòi hỏi phải thiết kế lại kiến trúc, cài đặt, triển khai và kiểm thử, gây tốn kém thời gian và chi phí. Giải pháp là tối ưu hệ thống ngay trong giai đoạn thiết kế dựa trên kỹ nghệ phần mềm hướng mô hình.

III. Chuyển đổi mô hình Phương pháp tối ưu phần mềm nhúng hiệu quả

Chuyển đổi mô hình là một phương pháp tối ưu theo cách tiếp cận đánh giá trực tiếp mô hình. Từ mô hình thiết kế ban đầu, áp dụng các phép biến đổi trên mô hình để đưa về mô hình tối ưu dựa trên các hàm đánh giá đã xây dựng. Phương pháp này có tiềm năng lớn nhưng cũng đối mặt với nhiều thách thức, bao gồm đánh giá hiệu năng, kích thước bộ nhớ và điện năng tiêu thụ trong giai đoạn thiết kế, xây dựng các phép biến đổi trên mô hình và kiểm tra tính đúng đắn của các phép biến đổi, và tự động hóa quá trình lấy tham số từ mô hình, đánh giá và biến đổi mô hình. Do đó, việc sử dụng các công cụ và kỹ thuật phù hợp là rất quan trọng.

3.1. Các phép biến đổi mô hình cơ bản và ứng dụng

Các phép biến đổi mô hình cấu trúc dữ liệu của phần mềm nhúng trong giai đoạn thiết kế bao gồm phân chia cấu trúc, gộp cấu trúc, loại bỏ thuộc tính dư thừa, chuyển đổi thuộc tính, tạo thuộc tính tạm, loại bỏ quan hệ hai chiều, thu gọn kiểu dữ liệu, chuyển tham số thành thuộc tính và chuyển các thành phần động thành tĩnh. Các phép biến đổi này có thể cải thiện hiệu năng, kích thước bộ nhớ và mức tiêu thụ năng lượng. Cần phải chứng minh tính đúng đắn của các phép biến đổi và đưa ra các tiêu chí để thực hiện tự động các biến đổi.

3.2. Xây dựng hàm đánh giá hiệu năng và bộ nhớ

Để thực hiện các phép biến đổi trên mô hình, cần xây dựng các hàm đánh giá hiệu năng và bộ nhớ. Các hàm đánh giá nhận đầu vào là các tham số đặc tả mô hình và phân tích ảnh hưởng của các tham số đến các mục tiêu đánh giá. Sau khi xây dựng, các hàm đánh giá này sẽ được sử dụng làm tiêu chí lựa chọn trong các bước chuyển đổi và đánh giá mô hình ban đầu và mô hình tối ưu.

3.3. Vai trò của DSL và T4 trong chuyển đổi mô hình

DSL (Domain-Specific Language) và T4 (Text Template Transformation Toolkit) đóng vai trò quan trọng trong việc tự động hóa quá trình chuyển đổi mô hình. DSL được sử dụng để đặc tả dữ liệu và xây dựng framework, trong khi T4 được sử dụng để trích xuất các tham số tự động từ mô hình. Việc kết hợp DSL và T4 giúp giảm thiểu công sức thủ công và tăng tính chính xác của quá trình tối ưu hóa.

IV. Ứng dụng thực tế Tối ưu bài toán Tháp Hà Nội bằng chuyển đổi mô hình

Để đánh giá tính hiệu quả của phương pháp tối ưu hóa dựa trên chuyển đổi mô hình, chúng ta có thể áp dụng nó vào bài toán Tháp Hà Nội. Đầu tiên, sử dụng framework DSL và T4 xây dựng để thiết kế mô hình ban đầu. Sau đó, lấy thông tin đặc tả và các tham số tự động từ mô hình ban đầu. Tiếp theo, 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. Cuối cùng, cài đặt các chương trình thử nghiệm theo mô hình ban đầu và mô hình tối ưu để kiểm chứng kết quả tối ưu.

4.1. Mô tả bài toán Tháp Hà Nội và thiết kế lớp gốc

Bài toán Tháp Hà Nội bao gồm ba cọc A, B, C và n cái đĩa có đường kính khác nhau. Mục tiêu là chuyển n đĩa từ cọc A sang cọc B sử dụng cọc C làm trung gian, với nguyên tắc không được chồng đĩa to lên trên đĩa nhỏ hơn. Để thiết kế lớp gốc, sử dụng DSL đã xây dựng để thiết kế mô hình dữ liệu ban đầu cho ứng dụng Bài toán Tháp Hà Nội.

4.2. Biến đổi mô hình lớp và đánh giá hiệu năng

Sau khi thiết kế biểu đồ lớp, bổ sung thông tin về thuộc tính tần số truy xuất các thành phần của lớp. Thực hiện các 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. 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. So sánh kết quả để lựa chọn mô hình tốt hơn.

V. Kết quả thực nghiệm và đánh giá hiệu quả phương pháp tối ưu

Sau khi thực hiện các phép biến đổi và đánh giá, cần kiểm chứng kết quả tối ưu bằng cách so sánh hiệu năng thực tế của các chương trình thử nghiệm theo mô hình ban đầu và mô hình tối ưu. Các chương trình thử nghiệm này cùng thuật toán và chỉ khác nhau về cấu trúc. Thực thi các chương trình thử nghiệm trên cùng một môi trường thực tế nhiều lần và tính thời gian thực thi trung bình để đánh giá hiệu năng thực tế.

5.1. So sánh hiệu năng giữa mô hình gốc và mô hình tối ưu

So sánh hiệu năng giữa mô hình gốc và mô hình tối ưu dựa trên kết quả thực nghiệm. Phân tích và đánh giá những cải tiến về hiệu năng, kích thước bộ nhớ và mức tiêu thụ năng lượng. Nhận diện các yếu tố ảnh hưởng đến hiệu quả của phương pháp tối ưu.

5.2. Đánh giá ưu điểm và hạn chế của phương pháp

Đánh giá ưu điểm của phương pháp tối ưu dựa trên chuyển đổi mô hình trong việc cải thiện hiệu năng, giảm kích thước bộ nhớ và mức tiêu thụ năng lượng. Đồng thời, nhận diện những hạn chế của phương pháp và đề xuất các hướng nghiên cứu tiếp theo để khắc phục những hạn chế này.

VI. Kết luận và hướng phát triển tối ưu phần mềm nhúng tương lai

Tối ưu hóa phần mềm nhúng đóng vai trò quan trọng trong việc nâng cao hiệu suất và tiết kiệm tài nguyên cho các thiết bị nhúng. Chuyển đổi mô hình là một phương pháp hiệu quả để đạt được mục tiêu này. Nghiên cứu và phát triển các phương pháp tối ưu hóa tiên tiến hơn, kết hợp với các công cụ và kỹ thuật hiện đại, sẽ mở ra nhiều tiềm năng trong lĩnh vực phần mềm nhúng.

6.1. Tổng kết các kết quả chính đạt được

Tóm tắt lại các kết quả chính đạt được trong nghiên cứu về tối ưu phần mềm nhúng dựa trên chuyển đổi mô hình. Nhấn mạnh những đóng góp của nghiên cứu vào lĩnh vực phần mềm nhúng.

6.2. Hướng nghiên cứu và phát triển tiếp theo

Đề xuất các hướng nghiên cứu và phát triển tiếp theo trong lĩnh vực tối ưu phần mềm nhúng. Các hướng này có thể bao gồm phát triển các phương pháp đánh giá và biến đổi mô hình tiên tiến hơn, tích hợp các công cụ và kỹ thuật mới, và áp dụng các phương pháp tối ưu hóa vào các ứng dụng phần mềm nhúng phức tạp hơn.

23/09/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU Hệ thống nhúng là hệ thống máy tính cùng phần mềm đƣợc gắn theo một hệ thống khác để điều khiển hoạt động và xử lý thông tin của hệ thống đó. Nói theo chuẩn IEEE nhƣ trong [1] thì: hệ thống nhúng là một hệ tính toán nằm trong sản phẩm, tạo thành một phần của hệ thống lớn hơn và thực hiện một số chức năng của hệ thống. Khi hệ tính toán (có thể là máy tính cá nhân, vi xử lý, vi hệ thống,…) đƣợc nhúng vào trong một sản phẩm hay một hệ thống một cách hữu cơ và thực hiện một số chức năng cụ thể của hệ thống thì ta gọi đó là một hệ thống nhúng. Hệ thống nhúng thƣờng đƣợc thiết kế để thực hiện một chức năng chuyên biệt nào đó.

Khác với các máy tính đa chức năng, chẳng hạn nhƣ máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thƣờng đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng. Trong một số trƣờng hợp, hệ nhúng cũng có thể hoạt động nhƣ một hệ thống tồn tại độc lập. Phần mềm nhúng là phần mềm tích hợp trong các hệ thống nhúng. Mục đích của phần mềm nhúng nhằm điều khiển phần cứng, cho phép đáp ứng tƣơng tác ngƣời dùng hoặc cung cấp môi trƣờng để phát triển các phần mềm nhúng tích hợp khác.

Phần mềm nhúng tạo nên phần trí tuệ của các sản phẩm nhúng. Phần mềm nhúng ngày càng có tỷ lệ giá trị cao trong giá trị của các sản phẩm nhúng. Chúng ta có thể nhìn thấy các sản phẩm của hệ thống nhúng trong cuộc sống hàng ngày nhƣ ô tô, điện thoại di động, ti vi, tủ lạnh, thẻ tín dụng, phƣơng tiện vận chuyển … hay trong những hệ thống lớn nhƣ máy móc thiết bị ở bệnh viện, công nghệ viễn thông, tự động hóa, các thiết bị năng lƣợng, các thiết bị cảnh báo bảo vệ và các sản phẩm đo và điều khiển. Việc thiết kế và chế tạo các hệ thống nhúng đƣợc các nƣớc phát triển quan tâm và giải quyết từ lâu, nhƣng bắt đầu phát triển với tốc độ nhanh từ giữa những năm 1970 khi xuất hiện các bộ vi xử lý và vi điều khiển, đáp ứng nhu cầu phát triển các hệ thống điện tử, dân dụng, an ninh quốc phòng, trò chơi, công nghiệp hóa, tự động điều khiển của nhiều quốc gia và thế giới.

Tuy nhiên, việc phát triển các hệ thống nhúng lâu nay chủ yếu phụ thuộc vào ngƣời thiết kế, nhất là kinh nghiệm phát triển hệ thống và trình độ công nghệ của ngƣời kiến trúc sƣ. Điều đó TIEU LUAN MOI download : skknchat@gmail.com 9 chƣa có gì đảm bảo bản thiết kế (về phần cứng và/hoặc phần mềm) là tối ƣu hay tốt nhất trong những điều kiện đặt ra khi thiết kế và phát triển hệ thống nhúng. Với sự phát triển nhanh chóng của công nghệ, nhất là công nghệ vi điện tử, hệ thống trên một chip thì việc thiết kế và phát triển hệ thống nhúng không thể làm bằng tay và chỉ theo kinh nghiệm của ngƣời thiết kế nữa, mà cần đƣợc làm tự động và/hoặc có sự hỗ trợ của các công cụ thiết kế. Vì thế, tự động hóa thiết kế điện tử (EDA) đã thành chủ đề thời sự và luôn nóng bỏng, có sức hấp dẫn và cạnh tranh cao giữa các nƣớc, giữa các tập đoàn xuyên quốc gia, giữa các trung tâm nghiên cứu và giữa các trƣờng đại học trong suốt hơn 40 năm qua và ngày càng có tính cạnh tranh cao, thuộc về công nghệ lõi của công nghệ thông tin – truyền thông.

Hội nghị hàng đầu thế giới hàng năm về tự động hóa thiết kế là Design Automation Conference (DAC, www.com) tại Hoa Kỳ đƣợc bắt đầu từ năm 1973 và tại khu vực Châu Á Thái Bình Dƣơng (ASP-DAC, http://www.com/aspdac/bylaws) từ năm 1995 luôn có sức hấp dẫn cao với cả giới hàn lâm và giới doanh nghiệp. Các nghiên cứu và hội nghị quốc tế về hệ thống nhúng ngày càng tăng, nhu cầu đào tạo và phát triển hệ thống nhúng là cấp bách ở Việt Nam, nơi các nhà công nghiệp nƣớc ngoài muốn hợp tác với các doanh nghiệp, viện nghiên cứu và đại học của Việt Nam để triển khai các dự án liên quan đến phát triển hệ thống nhúng, trong đó có lập trình nhúng và xây dựng hệ thống gồm cả phần cứng lẫn phần mềm kèm theo [2]. Công nghệ phần mềm đặc biệt là phần mềm nhúng ngày càng phát triển mạnh mẽ. Môi trƣờng phát triển phần mềm nhúng bị giới hạn về: khả năng xử lý của CPU, kích thƣớc bộ nhớ, thời gian sống của pin, vấn đề tiêu thụ năng lƣợng, vấn đề thời gian thực.

thiết kế phần cứng – phần mềm – codesign hardware-s Asse. nhƣ: không thể đánh giá chính xác hiệu năng, mức tiêu thụ điện năng, dung lƣợng bộ nhớ chiếm dụng … và các độ đo phần mềm trong giai đoạn thiết kế chủ yếu tập trung vào các độ đo chất lƣợng (khả năng tái sử dụng, tính dễ báo trì …) mà chƣa tập trung vào các độ đo mức thực thi (thời gian thực thi, bộ nhớ sử dụng …), nhƣng tối ƣu giai đoạn thiết kế mang. Luận văn tập trung nghiên cứu và tìm hiểu một phƣơng pháp tối ƣu trong phát triển phần mềm nhúng giai đoạn thiết kế. Đó là để TIEU LUAN MOI download : skknchat@gmail.com 10 đặc tả, mô hình, tự động sinh mã tối ƣu, độc lập nền tảng cho các phần mềm nhúng.

Cụ thể là phƣơng pháp tối ƣu cấu trúc dữ liệu dựa vào chuyển đổi mô hình 4. Cấu trúc của luận văn có 4 chƣơng gồm chƣơng 1 nói về ngôn ngữ miền chuyên dụng DSL và công nghệ sinh mã T4, nội dung tập trung nghiên cứu ngôn ngữ DSL có tích hợp công nghệ sinh mã T4 nhằm xây dựng một framework hỗ trợ thiết kế mô hình cấu trúc dữ liệu của phần mềm nhúng. Chƣơng 2 tập trung tìm hiểu các phƣơng pháp tối ƣu phần mềm nhúng trong giai đoạn thiết kế để từ đó lựa chọn một phƣơng pháp tối ƣu mà luận văn tập trung nghiên cứu và phát triển thực nghiệm cho các nội dung chƣơng sau. Tiếp đến chƣơng 3 với trọng tâm nghiên cứu là tối ƣu phần mềm nhúng trong giai đoạn thiết kế dựa trên chuyển đổi mô hình, chúng tôi tập trung tìm hiểu các kỹ thuật chuyển đổi mô hình áp dụng trong giai đoạn thiết kế phần mềm nhúng để thực hiện tối ƣu hiệu năng hay bộ nhớ chiếm dụng.

Chƣơng 4 đã xây dựng hệ thống thử nghiệm, cài đặt một số phép biến đổi với một số ứng dụng. Cuối cùng chính là phần kết luận và các hƣớng nghiên cứu có thể phát triển tiếp của luận văn. TIEU LUAN MOI download : skknchat@gmail.com 11 CHƢƠNG 1 NGÔN NGỮ MIỀN CHUYÊN DỤNG VÀ CÔNG NGHỆ SINH MÃ T4 1.1 Giới thiệu Ngày nay với sự phát triển mạnh mẽ của công nghệ phần mềm, UML đƣợc sử dụng phổ biến trong thiết kế phần mềm. Tuy nhiên, UML có một số hạn chế nhƣ không đặc tả chi tiết phần mềm trong các lĩnh vực cụ thể; không chuẩn hóa về định dạng lƣu trữ - các công cụ hỗ trợ UML thƣờng không thống nhất về định dạng lƣu trữ nên không khả chuyển; khả năng tái sử dụng và khả năng sinh mã không mạnh.

Để khắc phục các hạn chế này, một xu hƣớng triển vọng hiện nay là sử dụng ngôn ngữ miền chuyên dụng (DSL), DSL là ngôn ngữ chỉ sử dụng trong các lĩnh vực cụ thể nhƣ SQL, html,. DSL cho phép lƣu trữ các mô hình theo XML là chuẩn công nghệ độc lập ngôn ngữ và nền tảng nên tính khả chuyển cao và khả năng sinh mã từ XML mạnh mẽ. Trong thiết kế phần mềm hƣớng đối tƣợng, biểu đồ lớp đƣợc sử dụng phổ biến nhất, nên chƣơng này sẽ tìm hiểu và nghiên cứu phát triển một ngôn ngữ DSL để mô hình hóa phần mềm nhúng và phát triển framework dùng để thiết kế mô hình cấu trúc dữ liệu của phần mềm nhúng, chính là thiết kế các biểu đồ lớp để từ đó chúng ta sẽ triển khai các nghiên cứu tiếp theo về tối ƣu phần mềm nhúng trong giai đoạn thiết kế ở các chƣơng sau.2 Ngôn ngữ miền chuyên dụng 1.1 Khái niệm Một ngôn ngữ miền chuyên dụng là ngôn ngữ thiết kế để cung cấp ký hiệu phù hợp cho một miền ứng dụng và chỉ dựa vào các khái niệm liên quan và các tính năng của miền đó; hoặc là ngôn ngữ lập trình hoặc ngôn ngữ đặc tả thực thi, thông qua các ký hiệu và các trừu tƣợng hóa thích hợp, tính năng diễn tả, thƣờng bị hạn chế bởi một miền vấn đề cụ thể. Ngôn ngữ miền chuyên dụng là ngôn ngữ nhỏ, thƣờng là khai báo, ngôn ngữ diễn tả toàn bộ các đặc điểm phân biệt của các chƣơng trình trong một miền vấn đề cụ thể; mô tả miền cụ thể TIEU LUAN MOI download : skknchat@gmail.

DSL đặc tả hệ thống, phần cứng, phần mềm trong một phạm vi ứng dụng cụ thể nhƣ SQL, html, VSDL. Mỗi DSL áp dụng trong một miền ứng dụng cụ thể và có ý nghĩa, dễ sử dụng. Ngoài ra DSL có ít hệ thống ký hiệu, ít bảo trì và tăng hiệu suất. Nó cũng có thể kết nối tới các miền chuyên gia.

So với UML thì DSL còn có một ƣu điểm nổi bật là cho phép lƣu trữ các mô hình theo XML là chuẩn công nghệ độc lập ngôn ngữ và nền tảng nên tính khả chuyển cao và khả năng sinh mã từ XML mạnh mẽ. Bên cạnh các ƣu điểm trên thì DSL còn một vài hạn chế. DSL là một ngôn ngữ kỹ thuật và ngôn ngữ học mới nên chúng ta cần phải đầu tƣ thêm thời gian nghiên cứu khi tiếp cận. DSL hỗ trợ IDE yếu nhƣ trình soạn thảo, chƣơng trình tìm và khắc phục lỗi, tái cấu trúc,…Sự di trú khó và khó khăn khi phát triển thành tổng quát.2 Phạm vi ứng dụng của DSL DSL đƣợc ứng dụng trong rất nhiều lĩnh vực, một phần nhỏ DSL đƣợc ứng dụng trong công nghệ phần mềm.

Nổi tiếng nhất là PIC, SCATTER, CHEM, LEX, YACC, và Make [10], hoặc một vài ví dụ khác nhƣ SQL, BNF, và HTML, chúng ta chia thành các lĩnh vực nhƣ Công nghệ phần mềm là các sản phẩm tài chính kiểm soát hành vi và phối hợp, kiến trúc phần mềm, và cơ sở dữ liệu. Hệ thống phần mềm gồm mô tả và phân tích các cây cú pháp trừu tƣợng, video bộ điều khiển chi tiết kỹ thuật, bộ nhớ cache gắn kết các giao thức, cấu trúc dữ liệu trong C, và hệ điều hành chuyên dụng. Multi-Media chính là Web máy tính, thao tác hình ảnh, hoạt hình 3D, và bản vẽ.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ