1. Trang chủ
  2. » Thể loại khác

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 : Luận văn ThS. Công nghệ thông tin: 60 48 01 03

90 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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ - - NGUYỄN THỊ THU HUYỀN 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 Ngành: Cơng nghệ thơng tin Chun ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN NGỌC BÌNH Hà Nội – 2014 MỤC LỤC MỞ ĐẦU CHƢƠNG NGÔN NGỮ MIỀN CHUYÊN DỤNG VÀ CÔNG NGHỆ SINH MÃ T4 .11 1.1 GIỚI THIỆU 11 1.2 NGÔN NGỮ MIỀN CHUYÊN DỤNG .11 1.2.1 Khái niệm 11 1.2.2 Phạm vi ứng dụng DSL .12 1.2.3 Các công cụ hỗ trợ phát triển DSL .12 1.3 DSL MƠ HÌNH PHẦN MỀM NHÚNG 15 1.3.1 DSL mơ hình phần mềm nhúng 15 1.3.2 Quy trình xây dựng framework DSL xây dựng siêu mơ hình 16 1.4 CƠNG NGHỆ SINH MÃ T4 18 1.4.1 Khái niệm 18 1.4.2 Các cơng cụ tích hợp sử dụng T4 19 1.4.3 Quy trình sinh mã theo T4 19 1.4.4 Tích hợp T4 vào DSL framework để sinh mã từ mơ hình 19 CHƢƠNG CÁC PHƢƠNG PHÁP TỐI ƢU TRONG GIAI ĐOẠN THIẾT KẾ 21 2.1 TỔNG QUAN VỀ TỐI ƢU PHẦN MỀM NHÚNG 21 2.2 CÁC KHÍA CẠNH TỐI ƢU PHẦN MỀM NHÚNG 22 2.3 CÁC PHƢƠNG PHÁP TỐI ƢU PHẦN MỀM NHÚNG TRONG GIAI ĐOẠN THIẾT KẾ 24 CHƢƠNG 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 30 3.1 Ý TƢỞNG VÀ QUY TRÌNH TRIỂN KHAI .30 3.2 CÁC PHÉP BIẾN ĐỔI TRÊN MƠ HÌNH 31 3.2.1 Phân chia cấu trúc 31 3.2.2 Gộp cấu trúc 32 3.2.3 Thay đổi thứ tự mối quan hệ 33 3.2.4 Hƣớng giới hạn mối quan hệ .34 3.2.5 Tạo hoạt động đặc trƣng 34 3.2.6 Chuyển đổi thuộc tính thành tham số 37 3.2.7 Loại bỏ thuộc tính dƣ thừa 37 3.2.8 Chuyển thuộc tính thành lớp 37 3.2.9 Thu gọn kiểu liệu 37 3.2.10 Chuyển tham số thành thuộc tính 37 3.2.11 Chuyển thành phần động thành tĩnh 38 3.3 XÂY DỰNG HÀM ĐÁNH GIÁ HIỆU NĂNG VÀ BỘ NHỚ CHIẾM DỤNG 38 3.3.1 Hàm đánh giá hiệu 38 3.3.2 Hàm đánh giá nhớ 41 3.4 ĐỊNH NGHĨA DSL, XÂY DỰNG FRAMEWORK VÀ TẠO MẪU T4 41 3.4.1 Định nghĩa DSL xây dựng framework 41 3.4.2 Tạo mẫu T4 để sinh tham số tự động từ mơ hình .43 3.5 XÂY DỰNG CHƢƠNG TRÌNH TỐI ƢU DỰA TRÊN BIẾN ĐỔI MƠ HÌNH 44 3.5.1 Chuyển đổi mơ hình để tối ƣu hiệu 46 3.5.2 Chuyển đổi mơ hình để tối ƣu nhớ chiếm dụng .46 4.1 MƠ TẢ VÀ MƠ HÌNH THỰC NGHIỆM 49 4.2 THỰC NGHIỆM - ỨNG DỤNG BÀI TOÁN THÁP HÀ NỘI 49 4.2.1 Mơ tả tốn 49 4.2.2 Thiết kế lớp gốc 49 4.2.3 Biến đổi mơ hình lớp 51 4.2.4 Đánh giá hiệu lựa chọn mơ hình tốt .53 4.3 THỰC NGHIỆM - ỨNG DỤNG BÀI TỐN QN HẬU 56 4.3.1 Mơ tả toán 57 4.3.2 Thiết kế lớp gốc 57 4.3.3 Biến đổi mơ hình lớp 58 4.3.4 Đánh giá hiệu lựa chọn mơ hình tốt .61 4.4 THỰC NGHIỆM - ỨNG DỤNG SẮP XẾP KIỂU PHÂN ĐOẠN (QUICK SORT) 64 4.4.1 Mơ tả tốn 64 4.4.2 Thiết kế lớp gốc 64 4.4.3 Biến đổi mơ hình lớp 65 4.4.4 Đánh giá hiệu lựa chọn mơ hình tốt .68 4.5 THỰC NGHIỆM - ỨNG DỤNG VẼ ĐỒ THỊ 71 4.5.1 Mơ tả tốn 71 4.5.2 Thiết kế lớp gốc 71 4.5.3 Biến đổi mơ hình lớp 72 4.5.3 Đánh giá hiệu lựa chọn mơ hình tốt .76 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỀN .79 TÀI LIỆU THAM KHẢO 80 PHỤ LỤC 80 DANH MỤC CÁC BẢNG Bảng 3-1 Các độ đo ảnh hƣởng đến hiệu 39 Bảng 3-2 Các tham số sử dụng để đánh giá hiệu .40 Bảng 3-3 Các lớp ngữ nghĩa trực quan siêu mơ hình 42 Bảng 4-1 So sánh hiệu thực tế chƣơng trình Bài tốn Tháp Hà Nội 56 Bảng 4-2 So sánh tỷ lệ giảm chạy chƣơng trình Bài tốn Tháp Hà Nội .63 Bảng 4-3 So sánh hiệu thực tế chƣơng trình Bài toán quân hậu .63 Bảng 4-4 So sánh tỷ lệ giảm chạy chƣơng trình Bài tốn qn hậu 63 Bảng 4-5 So sánh hiệu thực tế chƣơng trình Quick Sort 71 Bảng 4-6 So sánh tỷ lệ giảm chạy chƣơng trình Quick Sort 72 Bảng 4-7 So sánh hiệu thực tế chƣơng trình Vẽ đồ thị 77 Bảng 4-8 So sánh tỷ lệ giảm chạy chƣơng trình Vẽ đồ thị 78 DANH MỤC CÁC HÌNH Hình 1-1 Cơng cụ Microsoft DSL để định nghĩa DSL .13 Hình 1-2 Cơng cụ EMF .14 Hình 1-3 Cơng cụ GMF .14 Hình 1-4 Cơng cụ MOFScript 15 Hình 1-5 Một phần siêu mơ hình định nghĩa DSL .17 Hình 1-6 Framework DSL hỗ trợ thiết kế biểu đồ lớp 18 Hình 1-7 Các bƣớc sinh mã theo T4 19 Hình 1-8 Một mẫu đƣợc xây dựng theo T4 để sinh tham số từ biểu đồ lớp 20 Hình 2-1 Quy trình triển khai kỹ thuật tối ƣu hƣớng mơ hình 26 Hình 3-1 Quy trình triển khai 31 Hình 3-2 Ví dụ chuyển đổi phân chia cấu trúc 32 Hình 3-3 Ví dụ chuyển đổi gộp cấu trúc .32 Hình 3-4 Ví dụ chuyển đổi thay đổi thứ tự mối quan hệ 33 Hình 3-5 Ví dụ chuyển đổi hƣớng giới hạn mối quan hệ 34 Hình 3-6 Ví dụ chuyển đổi tạo hoạt động đặc trƣng 34 Hình 3-7 Ví dụ chuyển đổi lập thuộc tính tạm thời 35 Hình 3-8 Ví dụ chuyển đổi loại bỏ thuộc tính dƣ thừa 36 Hình 3-9 Ví dụ chuyển đổi thuộc tính thành lớp 36 Hình 3-10 Siêu mơ hình DSL hỗ trợ tối ƣu hiệu cho biểu đồ lớp 42 Hình 3-11 Cập nhật tham số thành phần biểu đồ 43 Hình 3-12 Một mẫu đƣợc xây dựng theo T4 để sinh tham số Name Frequence từ biểu đồ lớp .43 Hình 3-13 Tập tin đầu T4 trích xuất tham số từ biểu đồ 44 Hình 3-14 Chƣơng trình tối ƣu 45 Hình 3-15 Tính tốn hiệu năng, nhớ chiếm dụng cho biểu đồ lớp 45 Hình 3-16 Biểu đồ so sánh tối ƣu hiệu năng, nhớ chiếm dụng biểu đồ lớp 46 Hình 4-1 Mơ hình thực nghiệm 49 Hình 4-2 Biểu đồ lớp A1 50 Hình 4-3 Tệp XML biểu đồ lớp A1 .50 Hình 4-4 Thuộc tính tần số truy xuất thành phần biểu đồ lớp A1 51 Hình 4-5 Chƣơng trình thực phép phân chia cấu trúc biểu đồ lớp A 51 Hình 4-6 Mẫu T4 lấy thơng tin ngữ nghĩa từ mơ hình lớp A .52 Hình 4-7 Tệp XML đƣợc tạo từ chƣơng trình tối ƣu A 52 Hình 4-8 Mơ hình liệu A .53 Hình 4-9 Tệp tham số dựa T4 templates A .53 Hình 4-10 Tính tốn hiệu nhớ cho biểu đồ lớp A 54 Hình 4-11 Biểu đồ so sánh tối ƣu hiệu nhớ chiếm dụng biểu đồ lớp A 54 Hình 4-12 Giao diện chƣơng trình Bài tốn Tháp Hà Nội 55 Hình 4-13 Biểu đồ lớp B1 57 Hình 4-14 Tệp XML biểu đồ lớp B1 58 Hình 4-15 Thuộc tính tần số truy xuất thành phần biểu đồ lớp B1 58 Hình 4-16 Chƣơng trình thực phép phân chia cấu trúc biểu đồ lớp B 59 Hình 4-17 Mẫu T4 lấy thơng tin ngữ nghĩa từ mơ hình lớp B 59 Hình 4-18 Tệp XML đƣợc tạo từ chƣơng trình tối ƣu B 60 Hình 4-19 Mơ hình liệu B .60 Hình 4-20 Tệp tham số dựa T4 templates B 61 Hình 4-21 Tính tốn hiệu nhớ cho biểu đồ lớp B 61 Hình 4-22 Biểu đồ so sánh tối ƣu hiệu nhớ chiếm dụng biểu đồ lớp B 62 Hình 4-23 Giao diện chƣơng trình Bài tốn Qn hậu 63 Hình 4-24 Biểu đồ lớp C1 64 Hình 4-25 Tệp XML biểu đồ lớp C1 65 Hình 4-26 Thuộc tính tần số truy xuất thành phần biểu đồ lớp C1 65 Hình 4-27 Chƣơng trình thực phép phân chia cấu trúc biểu đồ lớp C 66 Hình 4-28 Mẫu T4 lấy thông tin ngữ nghĩa từ mơ hình lớp C 66 Hình 4-29 Tệp XML đƣợc tạo từ chƣơng trình tối ƣu C 67 Hình 4-30 Mơ hình liệu C .67 Hình 4-31 Tệp tham số dựa T4 templates C 68 Hình 4-32 Tính tốn hiệu nhớ cho biểu đồ lớp C 68 Hình 4-33 Biểu đồ so sánh tối ƣu hiệu nhớ chiếm dụng biểu đồ lớp C 69 Hình 4-34 Giao diện chƣơng trình Quick sort 70 Hình 4-35 Biểu đồ lớp D1 71 Hình 4-36 Tệp XML biểu đồ lớp D1 71 Hình 4-37 Thuộc tính tần số truy xuất thành phần biểu đồ lớp D1 72 Hình 4-38 Chƣơng trình thực phép phân chia cấu trúc biểu đồ lớp D .73 Hình 4-39 Mẫu T4 lấy thơng tin ngữ nghĩa từ mơ hình lớp D 73 Hình 4-40 Tệp XML đƣợc tạo từ chƣơng trình tối ƣu D 74 Hình 4-41 Mơ hình liệu D .74 Hình 4-42 Tệp tham số dựa T4 templates D 75 Hình 4-43 Tính tốn hiệu nhớ cho biểu đồ lớp D 75 Hình 4-44 Biểu đồ so sánh tối ƣu hiệu nhớ chiếm dụng biểu đồ lớp D 76 Hình 4-45 Giao diện chƣơng trình Vẽ đồ thị 77 BẢNG THUẬT NGỮ VÀ TỪ VIẾT TẮT Ký hiệu Class Codesign hardwaresoftware DSD DSL EDA EMF ES GMF IDE MDE OOP Thuật ngữ Class Codesign hardware-software Domain-specific description Domain Specific Language Electronic Design Automation Eclipse Modeling Framework Embedded System Graphical Modeling Framework Integrated Development Environment; Integrated Design Environment; Integrated Debugging Environment Model Driven Engineering T4 UML Object-oriented programming Software Performance Engineering Text Template Transformation Toolkit Unified Modeling Language XML Extensible Markup Language SPE Diễn giải Lớp Đồng thiết kế phần cứng phần mềm Mô tả miền chuyên dụng Ngôn ngữ miền chuyên dụng Thiết kế điện tử tự động Hệ thống nhúng Mơi trƣờng phát triển tích hợp; Môi trƣờng thiết kế hợp nhất; Môi trƣờng gỡ lỗi hợp Kỹ thuật hƣớng mơ hình Lập trình hƣớng đối tƣợng Công nghệ sinh mã dựa mẫu Ngôn ngữ mơ hình hóa Ngơn ngữ đánh dấu mở rộng LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn “Tối ƣu phần mềm nhúng giai đoạn thiết kế dựa chuyển đổi mơ hình” cơng trình nghiên cứu độc lập Những số liệu, kết nêu luận văn trung thực, đƣợc trích dẫn có tính kế thừa, phát triển từ tài liệu, tạp chí, cơng trình nghiên cứu đƣợc công bố, website … Các giải pháp nêu luận văn đƣợc rút từ sở lý luận trình nghiên cứu thực tiễn Ngƣời cam đoan MỞ ĐẦU Hệ thống nhúng hệ thống máy tính phần mềm đƣợc gắn theo hệ thống khác để điều khiển hoạt động xử lý thơng tin hệ thống Nói theo chuẩn IEEE nhƣ [1] thì: hệ thống nhúng hệ tính tốn nằm sản phẩm, tạo thành phần hệ thống lớn thực số chức hệ thống Khi hệ tính tốn (có thể máy tính cá nhân, vi xử lý, vi hệ thống,…) đƣợc nhúng vào sản phẩm hay hệ thống cách hữu thực số chức cụ thể hệ thống ta gọi hệ thống nhúng Hệ thống nhúng thƣờng đƣợc thiết kế để thực chức chun biệt Khác với máy tính đa chức năng, chẳng hạn nhƣ máy tính cá nhân, hệ thống nhúng thực một vài chức định, thƣờng kèm với yêu cầu cụ thể bao gồm số thiết bị máy móc phần cứng chuyên dụng Trong số trƣờng hợp, hệ nhúng hoạt động nhƣ hệ thống tồn độc lập Phần mềm nhúng phần mềm tích hợp hệ thống nhúng Mục đích 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 cung cấp môi trƣờng để phát triển 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ệ sản phẩm nhúng Phần mềm nhúng ngày có tỷ lệ giá trị cao giá trị sản phẩm nhúng Chúng ta nhìn thấy sản phẩm hệ thống nhúng 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 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, thiết bị lƣợng, thiết bị cảnh báo bảo vệ sản phẩm đo điều khiển Việc thiết kế chế tạo hệ thống nhúng đƣợc nƣớc phát triển quan tâm giải từ lâu, nhƣng bắt đầu phát triển với tốc độ nhanh từ năm 1970 xuất vi xử lý vi điều khiển, đáp ứng nhu cầu phát triển 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 nhiều quốc gia giới Tuy nhiên, việc phát triển hệ thống nhúng lâu chủ yếu phụ thuộc vào ngƣời thiết kế, kinh nghiệm phát triển hệ thống trình độ cơng nghệ ngƣời kiến trúc sƣ Điều chƣa có đảm bảo thiết kế (về phần cứng và/hoặc phần mềm) tối ƣu hay tốt điều kiện đặt thiết kế phát triển hệ thống nhúng Với phát triển nhanh chóng cơng nghệ, công nghệ vi điện tử, hệ thống chip việc thiết kế phát triển hệ thống nhúng làm tay theo kinh nghiệm ngƣời thiết kế nữa, mà cần đƣợc làm tự động và/hoặc có hỗ trợ cơng cụ thiết kế Vì thế, tự động hóa thiết kế điện tử (EDA) thành chủ đề thời ln nóng bỏng, có sức hấp dẫn cạnh tranh cao nƣớc, tập đoàn xuyên quốc gia, trung tâm nghiên cứu trƣờng đại học suốt 40 năm qua ngày có tính cạnh tranh cao, thuộc công nghệ lõi công nghệ thông tin – truyền thông Hội nghị hàng đầu giới hàng năm tự động hóa thiết kế Design Automation Conference (DAC, www.dac.com) Hoa Kỳ đƣợc năm 1973 khu vực Châu Á Thái Bình Dƣơng (ASP-DAC, http://www.aspdac.com/aspdac/bylaws) từ năm 1995 ln có sức hấp dẫn cao với giới hàn lâm giới doanh nghiệp Các nghiên cứu hội nghị quốc tế hệ thống nhúng ngày tăng, nhu cầu đào tạo phát triển hệ thống nhúng cấp bách Việt Nam, nơi nhà cơng nghiệp nƣớc ngồi muốn hợp tác với doanh nghiệp, viện nghiên cứu đại học Việt Nam để triển khai dự án liên quan đến phát triển hệ thống nhúng, có lập trình nhúng xây dựng hệ thống gồm phần cứng lẫn phần mềm kèm theo [2] Công nghệ phần mềm đặc biệt phần mềm nhúng ngày 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ả xử lý CPU, kích thƣớc nhớ, thời gian sống pin, vấn đề tiêu thụ 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á xác hiệu năng, mức tiêu thụ điện năng, dung lƣợng nhớ chiếm dụng … độ đo phần mềm giai đoạn thiết kế chủ yếu tập trung vào độ đo chất lƣợng (khả tái sử dụng, tính dễ báo trì …) mà chƣa tập trung vào độ đo mức thực thi (thời gian thực thi, 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 tìm hiểu phƣơng pháp tối ƣu phát triển phần mềm nhúng giai đoạn thiết kế Đó để 10 đặc tả, mơ hình, tự động sinh mã tối ƣu, độc lập tảng cho phần mềm nhúng Cụ thể phƣơng pháp tối ƣu cấu trúc liệu dựa vào chuyển đổi mơ hình Cấu trúc luận văn có chƣơng gồm chƣơng nói ngơn ngữ miền chun dụng DSL 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 framework hỗ trợ thiết kế mơ hình cấu trúc liệu phần mềm nhúng Chƣơng tập trung tìm hiểu phƣơng pháp tối ƣu phần mềm nhúng giai đoạn thiết kế để từ lựa chọn phƣơng pháp tối ƣu mà luận văn tập trung nghiên cứu phát triển thực nghiệm cho nội dung chƣơng sau Tiếp đến chƣơng với trọng tâm nghiên cứu tối ƣu phần mềm nhúng giai đoạn thiết kế dựa chuyển đổi mơ hình, chúng tơi tập trung tìm hiểu kỹ thuật chuyển đổi mơ hình áp dụng giai đoạn thiết kế phần mềm nhúng để thực tối ƣu hiệu hay nhớ chiếm dụng Chƣơng xây dựng hệ thống thử nghiệm, cài đặt số phép biến đổi với số ứng dụng Cuối phần kết luận hƣớng nghiên cứu phát triển tiếp luận văn ... 2.3 CÁC PHƢƠNG PHÁP TỐI ƢU PHẦN MỀM NHÚNG TRONG GIAI ĐOẠN THIẾT KẾ 24 CHƢƠNG 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 30 3.1 Ý TƢỞNG VÀ QUY... mơ hình hóa phần mềm nhúng phát triển framework dùng để thiết kế mơ hình cấu trúc liệu phần mềm nhúng, thiết kế biểu đồ lớp để từ triển khai nghiên cứu tối ƣu phần mềm nhúng giai đoạn thiết kế. .. để thiết kế phần mềm nhúng Để định nghĩa xây dựng DSL mơ hình phần mềm nhúng, cần xác định định nghĩa thành phần, cú pháp DSL cho phần mềm nhúng: Định nghĩa thành phần Các thành phần phần mềm nhúng

Ngày đăng: 23/09/2020, 21:28

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN