1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận vă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

90 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề 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
Tác giả Nguyen Thi Thu Huyen
Người hướng dẫn PGS.TS Nguyen Ngoc Binh
Trường học Đại học Quốc gia Hà Nội
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2014
Thành phố Hà Nội
Định dạng
Số trang 90
Dung lượng 2,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tôi xin cam đoan: Luận vă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” là công trình nghiên cửu độc lập của tôi Những số liệu, kết quả nêu trong luận vă

Trang 1

NGUYEN THI THU HUYEN

TOI UU PHAN MEM NHUNG TRONG GIAI

DOAN THIET KE DUA TREN CHUYEN DOI

MÔ HÌNH

Ngành: Công nghệ thông tin

Chuyên ngành: Kỹ thuật phần mêm

Ma sé: 60480103

LUAN VAN THAC SY CONG NGHE THONG TIN

NGUOI HUONG DAN KHOA HOC: PGS.TS NGUYEN NGOC BINH

Hà Nội ~2014

Trang 2

ATEN CHUYEN DUNG

1.4.4 Tich hop T4 vao DST framework dé sinh mã tử mô hỉnh 19 CHƯƠNG 2 CÁC PHƯƠNG PHIÁP TÓI ƯU TRONG GIAI ĐOẠN THIẾT

KE 21

2.1 TONG QUAN VB'TOI UU PHAN MBM NHUNG 21

2.3 CÁC PHƯƠNG PHIÁP TỎI ƯU PHẢN MẺM NHÚNG TRONG GIAI

C HUONG 3 Tol ƯU PHẢN MB M NHŨNG TRƠNG GIẢI ĐOẠN THIẾT

KE DUA TREN CHUYEN DOI MG HINH

3.2.1 Phân chia câu trúc

3.22 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 hồ các thuộc tính dư thừa

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

Trang 3

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

3.5.1 Chuyển đỗi mô hình dễ 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.1 MÔ TẢ VÀ MÔ HÌNH THỰC NGHIỆM

4.2 THỰC NGIHữM 1 - ỨNG DỰNG BÀI TOÁN THÁP HÀ NỘI

4.2.1 Mô tả bải toán

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

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

'THỰU NGHIÊM 2 - UNG DUNG BÀI TOÁN 8 QUẦN HẬU 56

4.3.4 Đánh giá năng và lựa chọn mô hình tốt hơn 61 4.4 THUC NGHIÊM 3 - UNG DUNG SAP XEP KIBUPHAN DOAN N (QUICK

441 Mô

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

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

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

45 THỰC NGHIÊM 4 - UNG DUNG VỀ DỎ THỊ

tết kế lớp gốc 4.5.3 Biển đỗi mô hình lớp

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

KET LUAN VA HUONG PHAT TRIEN

TÀI LIỆU THAM KHAO

Trang 4

DANH MỤC CÁC BẢNG

Bang 3-2 Cac tham sé str dung dé danh giá hiệu năng 40

Bang 3-3 Các lớp ngữ nghĩa và trực quan chính trong siêu mô hình 42

Bang 4-1 5o sánh hiệu năng thực tế các chương trinh Bai toán Tháp 1R Nội 56 Bang 4-2 ¥ y

Bang 4-3 So sánh hiệu năng thực tế các chương trình Bai toán 8 quân hậ

Táng 4-4 5o sánh tỷ lệ giảm khi chạy chương trình Bài toán 8 quân hậu

Bang 4-5 So sánh hiệu năng thực tê cdc chuong trinh Quick Sort

Bảng 4-6 5o sánh tỷ lệ giảm khi chạy chương trình Quick Sort

Bảng 4-7 So sánh hiệu năng thực tế các chương trình Vẽ đã thị

Bảng 4-8 So sánh tỷ lệ giám khi chạy chương trình Vẽ đỗ thị

Tinh 1-5 Một phần cua siéu mé hinh dinh nghia DST

Hình 1-6 Framework DSL hé tro thiét ké bidu dé lớp

Hinh 1-7 Các bước sinh mã theo T4

Tình 1-8 Một mẫu được xây dựng theo T4 để sinh tham số từ biểu đồ lớp 20

Tĩnh 2-1 Quy trình triển khai kỹ thuật tối ưu hưởng mô hình 26

Ilinh 3-2 Vi du vé chuyén đổi phân chia ¢ cầu iri

Hình 3-3 Ví dụ về chuyển đổi gộp cầu trúc

Hình 3-4 Ví đụ về chuyển đổi thay đổi thứ tự mối quan h

Hình 3-5 Ví dụ chuyển đối hướng giới han mỗi quan hệ

Hình 3-6 Ví dụ chì đối tạo hoạt động đặc trưng

Hình 3-7 Ví dụ chuyển dễi lập thuộc tính tạm thời

Hình 3-8 Vi dụ chuyển đối loại bé các thuộc lính dư thừa 36

Tinh 3-10 Siêu mô hình của DSL hỗ trợ tối ưu hiệu năng cho biểu đỗ lớp 42 Hình 3-11, Cập nhật các tham số thành phần của biểu đồ 43

Ilinh 3-12 Một mẫu được xây dựng theo T4 đề sinh tham sé Name và Frequence

từ biểu đồ lớp 4

Hình 3-13 Tập tin đầu ra của T4 trích xuất các tham số từ biểu đỗ

linh 3-14 Chương trình tối ưu

Hinh 3-15 Tính toán hiệu năng, bộ nhớ chiếm dụng cho -

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

Trang 5

Hình 4-4 Thuộc tinh lần số truy xuất thành phần trong biểu đề lớp À1

Hình 4-5 Chương trình thực hiện phép phần chia cầu trúc bidu da lop A

Ilinh 4-6 Mẫu T4 lây các thông tin ngữ nghĩa từ mô hình lớp A

1lình 4-7 Têp XML được tạo từ chương trình tối ưu A

Tỉnh 4-8 Mô hình để liệu mới A

Ilinh 4-9 Tệp tham số đựa trên các Ta templates c của A

Hinh 4-10 Tỉnh toán hiệu năng và bộ nhớ cho mỗi biểu đề 'lớp A

Hình 4-11 Biểu đồ so sánh tôi ưu hiệu năng và bô nhớ chiếm dụng của biểu dễ

Hình 4-15, Thuộc tính tần số truy xuất thành phần rong biểu dề lớp BỊ 58 Thin 4-16 Chuong trinh thyc hién phép phan chia cdu trac bigu dd Iép B 59

Hình 4-17 Mẫu T4 lây các thông tin ngữ nghĩa từ mô hinh lép B 59

Ilinh 4-18 Tệp XML được tạo từ chương trinh téi uu B

1Tỉnh 4-19 Mô hỉnh đữ liệu mới B

Hình 4-20 Tệp tham số dựa trên các T4 templates của B

Hình 4-21 Tỉnh toán hiệu năng và bộ nhớ cho mỗi biểu đề lớp B

Hình 4-22 Biểu đỗ so sánh tối ưu hiệu năng và bộ nhớ chiếm dụng của bị

lớp B

Hình 4-23 Giao diện chương trình Bài toán § Quân hậu

Hình 4-24 Biểu dễ lớp C1 -

Hinh 4.25 Tép XMIT, của biển đồi lớp C1

Hình 4-26 Thuộc tính tần số truy xuất thành phan trong biểu đỗ lớp C1

Hình 4-27 Chương trính thực hiện phép phân chia cau trúc biểu đỗ lớp Œ

Ilinh 4-28 Mẫu T4 lẫy các thông tin ngữ nghĩa từ mô hình lớp Œ

1lïnh 4-29 Tệp XML được tạo từ chương trình tối ưu Ở

Hinh 4-30 Mô hình đữ liệu mới C

Ilinh 4-31 Tệp tham số dựa trên các T4 templates của C

Hình 4-32 Tính toán hiệu năng và bộ nhớ cho mỗi biểu dé lớp Œ

Hình 4-33 Biểu đỗ so sánh tối ưu hiệu năng và bộ nhớ chiếm dụng của biểu dd

Hình 4-37 Thuộc tính tần số truy xuẤt thành phần trong biểu dễ lớp D1 72

1linh 4-38 Chương trình thực hiện phép phân chia cau trúc biểu đỗ lớp D 73

Hình 4-39 Mẫu T4 lây các thông tin ngữ nghĩa lừ mô hình lớp D 73

Ilinh 4-40 Tệp XML được tạo từ chương trình tối ưu D

1Tỉnh 4-41 Mô hình đữ liệu mới D

Hình 4-42 Tệp tham số đựa trên các Tả templates của D

Hình 4-43 Tính toán hiệu năng và bộ nhớ cho mỗi biểu đồ lớp D

Trang 6

Hình 4-44 Bidu dé so sénh 14i tru hiệu năng và bộ nhớ chiếm dụng của biểu đầ

software Codesign hardware-software

DSD Domain-specific description Mé6 t4 mién chuyén dung

Ngôn ngữ miễn chuyên

DSL Domain Specific Language dung

EDA Electronic Design Automation 'Thiết kế điện tử tự động

HME Eclipse Modeling Framework

OME Graphical Modeling Framework

Integrated Development | Méi trường phát triển tích

Environment; Integrated Design | hợp, Môi trường thiết kế

Environment; Integrated | hợp nhất, Môi trường gỡ

MDE Model Driven Engineering Kỹ thuật hướng mô hình

Lập trình hướng đổi OOP Object-oriented programming tượng

SPE Engineering

Text ‘Template ‘Transformation | Céng nghệ sinh mã dựa

UML Unified Modeling Language Ngôn ngữ mô hình hóa

Ngôn ngữ đánh đấu mở

Trang 7

Tôi xin cam đoan: Luận vă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” là công trình nghiên cửu độc lập của tôi

Những số liệu, kết quả nêu trong luận văn là trung thực, được trích dẫn và

có tính kế thừa, phát triển từ các tài liêu, tap chỉ, các công trình nghiên cứu đã

được công hỗ, các website

Các giải pháp nêu trong luận văn được rút ra từ những cơ sở lý luận và quá

trình nghiên cứu thực tiễn

Người cam doan

Trang 8

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ì: bệ 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ệ Lính toán (có thể là máy tính cá nhân, vì xử lý, vỉ

hệ thống ) dượ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 oụ 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 đụ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 lại độc lập

Phan 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 ứng, cho phép dap img wong

tác người dùng hoặc cung cấp môi trưởng dể 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, ti 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

bdo vệ và các sản phẩm đo và điều khiển

¿ thiết kế và chế lạ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 dầ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à vì điều khiển, đáp ứng nhu cầu pháL 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ư Diéu đó

Trang 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 diều kiện dặ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 diện tử, hệ

thống trên một chip thi 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 tỉn —

truyền thông Hội nghị hang dầu thế giới hảng năm về tự dộng hỏa thiết kế là Design Automation Conference (DAC, www.dac.com) tại Hoa Kỳ dược bất dầu

từ năm 1973 và tại khu vực Châu Á Thar Binh Dương (ASP-DAC,

http:/Awww.aspdac.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 Irình những và xây dựng

hệ thống gồm cá phần cứng lẫn phần mềm keé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 dễ tiêu thụ năng lượng,

van để thời gian thực Do đó, vẫn đề tối ưu trong phát triển phần mềm có ý nghĩa quan trọng Hải toán tối ưu phần mềm thường gŠm các mức: tối ưu mức thiết kế, tối ưu mã nguồn, tối ưu chương trình địch và tối tru môi trường (đồng thiết kế phần cửng phần mềm codesign hardware-software, tối ưu tập lệnh Assembly), téi wu thai gian chạy Tối ưu trong giai đoạn thiết kế lä hướng tiếp cận mới và còn nhiễu thách thức 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 doạn thiết kế chủ yêu lập trung vào các độ do 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 độ do mức thực

thi (thời gian thực thi, bộ nhớ sử dụng .), nhưng tối ưu giai doạn thiết kế mang,

lại nhiễu lợi ich hơn so với các phương pháp tối trong ưn giai đoạn sau

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ể Dó là nghiên cứu phương pháp tối

tu phần mềm nhúng trong thời gian thiết kế dựa trên xây đựng ngân ngữ DSL để

Trang 10

đặo 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 đữ liệu dựa vào chuyển đổi mô

hình kết hợp với sinh mã mỗ phỏng thay thể theo công nghệ |

Cầu trúc của luận văn có 4 chương gồm chương Ì nói về ngôn ngữ miễn

chuyên dụng I28I, 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 amework hỗ trợ thiết kế mô hình cầu trúc đữ 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 va phát

triển thực nghiệm cho các nội dưng 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 doan 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 dỗ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.

Trang 11

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, LIMI đượ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ả chỉ tiết phần mềm trong các lĩnh vực cụ thể, không chuẩn hóa

về định dang 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

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ư 8QL, humÌ, 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

> han ché nay, m6t xu hudng lriển vọng hiện nay là

và khả năng sinh mã từ XXII, 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

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

1.2.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áo

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, thing 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

tiệt của các chương trình trong một miễn vấn để cụ thể; mô tả miễn cụ thể

Trang 12

(DSD), một chương trình (đặc tä, mô tả, truy vẫn, quá trình, nhiệm vụ, .) viết

trong một D§L; hệ thống xử lý miền cụ thể, một công cụ phần mềm dễ biên dịch, phiên dịch hoặc phân tích các mô tả miền cụ thể [20, 26]

DS5L đặc tả hệ thông phần cứng, phần mém trong một phạm vi ung dung cu

thé nhu SQL, html, VSDL Mi DSL áp dụng trong một miền ứng dụng cu thé va

có ý nghĩa, để sử dụng Ngoài ra DSL có ít hệ thống ky hiéu, it bao tri va ting

hiệu suất, Nó cũng có thể kết nối tới các miền chuyên gia 5o với UML thi D§L

còn có một ưu điểm nỗi bật là cha phép lưu trữ các mô hình theo XMIL 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

LEX, YACC, và Make [10], hoặc một vải ví đụ khác như SQL, BNE, và H.ML,

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 chỉ 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 hanh chuyén dung Multi-Media chính là Web máy tính, thao

táo hình ảnh, hoạt hình 3D, và bản vẽ Về viễn thông bao gồm các ngôn ngữ

chuỗi và cây để kiểm tra mô hình, cáo giao thức truyền thông, chuyển mạch viễn thông, và mỗ hình tỉnh toán ký hiệu số Ngoài ra I2SL cũng dược ứng dụng nhiều trong các lĩnh vực khác như mỗ phỏng, các agent di déng, robot diéu khiển,

giải phương trình vi phân từng phần, vả thiết kế phân cứng kỹ thuật số [25, 27,

29]

1.2.3 Các công cụ hỗ trợ phat trién DSL

Các công cụ hỗ trợ phát triển và dịnh nghĩa DSI, có rất nhiều Chủng ta sẽ dì

tìm hiểu một vải công cụ hỗ trợ 138L, phổ biến hiện nay như:

Trang 13

hop trong Microsoft Visual Studio 2005, 2008 va 2010 Céng cu nay cho phép dé dang xây dựng kiến trúc một DSL và các mô hình được hợp thức hóa, ngoài ra nó còn hỗ trợ sinh mã và mã được sinh có thể biên dịch dễ dàng Hình 1-1 dưới đây

minh họa giao diện định nghĩa DSL trong Microsoft Visual Studio 2008

lý (tao, sửa, lưu, tải) các mô hình đối tượng; công cụ Graphical Modeling

Framework (GMF) thi cung cấp thành phần sinh ra và thời gian chay trong phát

triển biên tập đồ họa dựa trên EME và GME: công cụ MOEScript cho phép một

mô hình MOFScript thực hiện để chuyển đổi ngôn ngữ văn bản Hình 1-2, 1-3, 1-

4 dưới đây minh họa giao diện định nghĩa D§L trong Eclipse

Trang 14

Hình 1-3 Công cụ GME

Trang 15

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

Hệ thống nhúng có những đặc điểm riêng như thường được thiết kế cho các

tác vụ đặc biệt hay được hỗ trợ bởi một số lượng lớn các vì xử lý và kiến trúc vi

xử lý Các hê thống nhúng được thiết kế cùng với phần cứng được chỉ định sẵn

và yêu cầu khả năng đáp ứng nhanh, phần nhiều có các ràng buộc thời gian thực

Hau hét hé thống nhủng phải sử dụng hệ điều hành thời gian thực và gặp khó

khăn khi xử lý lỗi phần mềm Ngoài ra, hệ thống nhúng có ràng buộc về điện

năng và bị hạn chế bởi chính tài nguyên của nó (như tốc độ CPU, dung lượng bộ nhớ, tuổi thọ pin, thời gian thực, ) Nó thường chạy trong môi trường có điều

kiên khắt khe và thường được cân nhắc cùng với chỉ phí phát triển [2, 21, 24, 28]

Với nhiều các đặc điểm riêng như vậy thì DSL là ngôn ngữ miền phi hop va

có nhiều hỗ trợ khi chủng ta phát triển xây dựng DSL để thiết kế phần mềm nhúng Để định nghĩa vả xây dựng DSL mô hình phần mềm nhúng, chúng ta cần xác định và định nghĩa các thành phần, cú pháp trong DSL cho phần mềm nhúng

Trang 16

lin gitta cdc think phần (kích thước gói tin, kiểu đữ liệu, ) Lớp liền kết là biểu

diễn liên kết giữa các lớp Lớp thuộc tính biểu diễn các thánh phần của các lớp

Lớp ràng buộc biểu diễn ràng buộc giữa các lớp, các thuộc tính của lớp

Các quy tắc cú pháp

Chúng †a định nghĩa các quy tắc cho mỗi lớp và mỗi thành phần của lớp, xác

định các thuộc tính cho các thành phan lớp như máu sắc, độ Tộng, Ngoài ra

chúng ra cần phải định nghĩa các hỉnh ảnh xuất hiện các lớp (hình tròn, hình vuông, ) và xác định các quan hệ cho các thành phần của lén

Xây dựng siêu mô hình hỗ trợ DSL

Để xây dựng siêu mô hình hỗ trợ DSL chúng la phải đựa trên tập các thành

phần, củ pháp đã dịnh nghĩa DSL ở trên, dể từ đó chúng ta sẽ xây dựng tập các

ký hiệu dŠ họa tương ứng, tập các biểu diễn XMI, và ánh xạ giữa ký hiểu đỗ họa XMI, và phát triển framework cho phép xây dựng mô hình dặc tả kiến trúc phần mềm tử siêu mô hình

1.3.2 Quy trình xây dựng framework DSL và xây dụng siêu mô hình

Các công cụ DSL cho phép xây dung các siêu mô hinh đặc tả DSL Siêu mô

hình lá mô hinh sử đụng dễ dịnh nghĩa và tạo các mô hình Quy trình dịnh nghĩa IDSI, và xây dựng meta-model theo các bước sau

- Dinh nghĩa các thảnh phần lôgic: Domain Classes, Components, Lasks, Flows, Comment Classes, Rules, Constrain, Relationship va các rang

buộc

- Tạo các ký hiệu hình học tương ứng với mỗi thành phần lôgic ở trên Các

ký hiệu này sẽ sử dụng để thiết kế trong giao điện đỗ họa sau khi DSL đã

được biên địch vả triển khai

- Định nghãa tệp siêu mô hình lưu trữ các định nghĩa và ảnh xạ giữa lớp

lôgic vá ký hiệu hình học như hình 1-5

Trang 17

Áp dụng theo quy trình ở trên và thực hiện trên công cụ D§L để xây dựng

m6t framework DSL va siêu mô hình hỗ trợ thiết kế biểu đồ lớp, sẽ được trình

bay cụ thể hơn ở chương sau Ví dụ hình 1-6 là một biểu đồ lớp của ứng dung 8

quân hậu được thiết kế từ framework DSL.

Trang 18

Trong phần này chúng ta sẽ tìm hiểu và nghiên cứu về công nghệ sinh mã

T4 để tích hợp vào famework DSL đã xây dựng để trích xuất các tham số từ biểu

đồ

1.41 Khái nệm

Text Template Transformation Toolkit - T4 la mét céng cu sinh ma dwa trén

mẫu Mẫu T4 là một tệp kết hợp giữa các khối văn bản vả các khối logic điều

khiển Khối logic điều khiển được viết bằng C# hoặc Visual Basic.NET Mẫu T4 được sử dụng để sinh ra các tệp mã theo các định dang khác nhau như: XML,

HTML, SQL VHDL các tệp văn bản khác T4 có sẵn trong Visual Studio

Chúng ta sử dụng T4 cùng với các công cụ như Visual Studio Custom thì

T4 được tích hợp trong Visual Studio 2008, khi chủng ta thêm một tập tin văn

bản với phần mở rộng f trong dự án của mìỉnh thi Visual Studio giao

TextTemplatingFileGenerator tu động tạo ra tập tin đầu ra từ mẫu Trong

Trang 19

Command Line Utility thi T4 gồm các tiện ích dòng lệnh, TextTransform.exe có

thể sử dụng để xử lý mẫu bên ngoài Visual Studio Trong công cụ Editor, T4 hỗ

trợ soạn thảo văn bản và gỡ lỗi còn hạn chế Chúng ta có thể sử dụng T4 Editor

tir Tangible Engineering, mở rông Visual Studio cung cấp IntelliSense và cú pháp

mạnh hon cho các tập tin tt Công cụ Debugger thì việc gỡ lỗi đòi hỏi phải thực

hiện gọi đến Debugger.Đreak phương pháp trong khối mã đề thiết lập các điểm ngắt Còn trong công cụ Visual Studio Templates thì phải cài đặt thêm T4

Toolbox tir CodePlex vao Visual Studio

1.4.3 Quy trinh sinh ma theo T4

Để định nghĩa các mẫu T4 chúng ta thực hiện theo các bước sau [30], hình

1-7 minh họa các bước định nghĩa T4:

- Định nghĩa các mẫu T4

- Sinh đặc tả từ mô hình kiến trúc

- Lấy thông tin các thành phần từ mô hình thành phần

- Sinh mã theo các nền tảng khác nhau từ luồng biểu đồ

<i template language="C#" #»

Hello

<# Write("Worldi"); #>

Geneve public class GeneratedTe: on:

Microsoft Visualstudio, TextTemplating TextTransformation {

public override string TransformText() {

this.Write("Hello\r\n")5 Weite(*World!");

return this.GenerationEnvironment.Tostring();

}

Hello World!

Hình 1-7 Các bước sinh mã theo T4

1.4.4 Tích hợp T4 vào DSL framework để sinh mã từ mô hình

T4 là công nghệ sinh mã mạnh, cho phép xây dựng mẫu hỗ trợ sinh mã tự

động dựa vào tệp XML định nghĩa DSL và tệp XML của mô hình thiết kế thực

tế T4 được sử dụng linh đông, có thể sinh đầu ra theo dạng ngôn ngữ tủy ý, ngôn

ngữ hình thức hoặc thậm chí là một mô hình trung gian

Các bước để tích hợp T4 vao DSL framework:

Trang 20

- Thêm tệp có phần mở rộng f vào dự án, công cụ hỗ trợ sẽ tự động sinh ra

tập tin đầu ra từ mẫu

- Định nghĩa các mẫu để trích xuất các tham số của mẫu thiết kế từ DSL

Hình 1-§ là ví dụ về T4 được định nghĩa để lấy thông tin về tần suất truy cập

các thành phần từ của biểu đỗ lớp được

Seabee ,Wiuuast dio Tei Templeeing Vadose, Made lingreleTeanséopmaeion” WS

xe

Ga eam aed tahertre

<8 oucput extension

<8 FO3_Pareco_Ciaas processor~"P0)_Fareco_ClassDirectiveFrocessor” requirest"tielave='EightQueensAi.dsicle'™ #>

SH // Sac bien luu eeu, thong ke them so Eu hieu do

sering(] seClass:

arciass = new string{ehis.tlodelRost.Types Cowie) +

/7đayet gạc Elazs trong kode:

foreach (tlodelType type vn rhis.Node1Root Types)

( //83en thì ten Class

ae f8Clasgi" Ws<f= cợpe.Nane W2

# //uay thong tin lop hien tai

Modelclase godelciacs = type as Model Clase:

để trích suất tham số tự động từ mô hình Ở các chương sau chúng ta sẽ áp dụng

kết quả nghiên cứu này để xây dựng hoàn thién framework DSL hé tro thiét ké biểu đồ lớp của ứng dụng và lấy tự động các tham số của các thành phân trong biểu đồ lớp Trong nội dung chương tiếp theo chúng tôi tập trung tìm hiểu các phương pháp tdi wu trong giai đoạn thiết kế để lựa chọn ra một phương pháp tôi

tu mà luận văn sẽ nghiên cứu sâu hơn

Trang 21

CHƯƠNG 2

CÁC PHƯƠNG PHIẤP TỎI ƯU TRONG GIAI ĐOẠN TIIÉT KẾ

21 Tổng quan về tối tru phần mềm nhúng

Xu thế phát triển của công nghệ thông tin hiện nuy tập trung vào công nghệ

ác lĩnh vực

dời sống xã hội Củng với công nghệ phần cửng, kỹ nghệ phần mềm nhúng ngay

nhúng Hệ thẳng những phát triển mạnh mỡ và có mặt trong hầu hế

cảng được nghiên cứu sâu rộng và hoàn thiện đặc biệt là phần mềm nhúng trên môi trường Mobile Các thiết bị nhúng thườ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, vin

đề thời gian thực Do đó việc nghiên cứu vấn để tối ưu phần mềm nhúng nói

chung và phân mềm Mobile có Ý nghĩa đặc biệt quan trọng

Bài toán tối ưu phần mêm nhúng cũng như tối ưu phần mêm nói chưng

thường gôm năm mức: tôi ưu mức thiết kê, tối ưu mã nguồn, tối ưu việc biên dich

và tối ưu môi trường (đồng thiết kế — codesign hardware-software, tôi ưu tập lệnh

Assembly), tối ưu thời gian chạy |10J Tối ưu trong giai đoạn thiết kế dựa vào

đánh giá, ước lượng và tập trung nhiều vào tối ưu đa mục tiêu Pareto, lối ưu

trong giai đoạn cài đặt chỉnh là tối ưu mức mã nguồn, tối ưu mức thuật toán; Tối

wu trang giai đoạn thực thí là lập lich thực thi và tối ưu dữ liên, môi trường: Tối

uu mic Assembly 1a téi un các thiết bị phần cứng và tổi ưu tập lệnh Assembly của CPU Tối ưu trong giai đoạn thiết kế là hướng tiếp cận mới và còn nhiều thách thức đặt ra nhưng mang lại nhiễu lợi ích hơn so với các phương pháp tôi trong ưu giai đoạn sau

Tối ưu phần mềm nhúng trong giai đoạn thiết kế đem lại nhiều lợi ích hơn

trong các giải đoạn sau Tuy nhiên vấn dề lỗi ưu trong giai đoạn thiết kế cỏ một

số thách thức 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 độ do 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 đễ

Trang 22

báo trì ) mà chưa tập trung vào oáo độ đo mức thực thi (thời gian thực thị, bô

nhớ sử dụng ) Việc dánh gid mềm nhúng về hiệu năng bộ nhớ, mức Liêu

thụ năng lượng của phần mềm vẫn là một thách thức dang trong quá trình nghiền

cứu và thực nghiệm

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ớ, đữ liêu và tôi ưu kích thước phần

mém, t6i ua chi phi, Cd thé thie hién t6i wu trong các giai đoạn khác nhau và

phương pháp tối ưu theo mỗi khia cạnh cũng khác nhau Chúng ta không thế tối

ưu đồng thời các mục tiêu tối ưu vi các khía cạnh tối có thể mâu thuẫn Tối ưu

khía cạnh này phải thỏa mãn các rằng buộc lrên cáo khía cạnh khác

Tối ưu da mục tiêu hưởng tới sự cân bằng giữa các mục liêu tỗi ưu của hệ

thống Khi chúng ta cải tiến mục tiêu này thi phải không lâm giảm mục tiêu tối tưu khác Tối ưu đa mục tiêu dựa trên nguyên lý Darcto

2.2 Các khía cạnh tối ưu phần mềm nhúng

Các nghiên cứu gần dây về tối ưu phẩn mềm nhúng tập trung vào các khía

canh chỉnh dưới đây:

Tôi ưu hiệu năng

¡ ưu hiệu năng là bải toán được quan tâm nhiều nhất khi tổi tu phần mềm

ngữ bậc cao, tối ưu thuật toán Điễn hình là các nghiên cứu của Pospiech F, Olsen

§: “Phần mém nhúng trong thể giới SoC Giúp HảS đối mặt như thể nào với

những thách ihive thidt ké HW va SW” (15], và của Wonchul Lee, Wonyong Sung: "Tối tụ phân mềm âm thanh MPHG 3 lớp của bộ xử lÿ RISC 32 bit” [22] Một cách tiếp cận mới, tổng quát hơn hiện đang được quan tâm nghiên cứu là sử dụng các kỹ thuật xấp xi để đưa các hàm phức tạp mũ về các hàm đa thức với một dung sai nhất định Tiêu biểu như nghiền cứu của Yong-Yoon Cho, Jong-

ae Moon, and Young-Chul Kim: “Mới hệ thông đễ đánh giá hiệu năng của

phần mềm nhúng" [23] Ngoài ra còn có một số nghiền cứu tiếp cận tối ưu hiệu

năng đựa trên kỹ thuật caching áp dung cho phần mềm nhúng phần tán đặc biệt là

phần mềm Mobile Tiều biểu như nghiên cứu “

cho các ứng dụng ải động” đã được thảo luận trên Nokia Forum [12]

tối ưu hóa kết nối Chenl / Server

Trang 23

Tôi ưu tiêu thụ năng lượng

Vấn đề tối ưu tiêu thụ điện năng có ý nghĩa quan trọng trong các môi trường nhúng đặc biệt là trong các thiết bị không dây như: diện thoại, bộ diều khiển va

ngay cả Laptop Bài toán tối ưu năng lương cho phần mềm nhúng có vai trò quan

trọng trong kỹ nghệ phần mềm, hiện đã được nghiên cứu rộng rãi và thu được những thành tựu nhất định Một số hướng tiếp cận tập trung vào quản lý địch vụ thời gian chạy, tối giản trao truyền đữ liệu khi tính toán đẻ tiết kiệm điện năng như các nghiên cứu của Armita Peymandoust, Tajana Simunic, Giovanni De

Micheli, “Tdi ưu phân môm nhúng năng lượng yêu sử dụng đại số tượng trưng” [4], cia Feeney, L & Nilsson, M., “Diéu ira néu thụ năng lượng của một giao

điện mạng không day trong môi trường mạng ak hoc” |6] Một số hướng tiếp cận mới dã ứng dụng trí tuệ nhân tạo, dựa trên các mô hình học máy và đại số dễ quyết dịnh ngừng thực hiện một số ứng dụng hiện thời nhằm tiết kiểm thời gian

cho ứng dụng thời gian thực Điển hỉnh như trong nghiên cứu của Tang lung

Cheung, Kari Okamoto, Frank Maker, “Khung diễn trình quyết dinh Markov cho tôi ưu hóa phần mêm trên điện thaại đi động" [I6], tác giả đã áp xây đụng mô

hình quyết định Markov để quản lý các ứng dụng thời gian chạy

Tối ưu truyền thông trong môi trường phân tin

Việc lỗi ưu truyền thông tin trong mỗi trường phân tán tập trung vào: tôi ưu

ic tram

giao thức truyền thông, lua chon giao thite pha hop, 141 uu dit héu Lai

dau cudi trước khi gửi vào dường truyền Trong đỏ việc tối ưu giao thức truyền thông cụ thể rất phức tạp liên quan nhiều dến hạ ting vật lý và các tầng khác

nhau trong mô hình truyền thông và không có ý nghĩa thực tiễn với một ứng dụng

xu thé phát triển cho ứng dụng phân tán Có nhiều nghiên cứu nhằm tôi ưu dữ

liệu truyền thông cho mô hình tính toán nay tập trung nhiều vào loại bỏ dữ liệu

thừa trong các thẻ XML mô tả gói SOAP, loại bö các thẻ, mã thừa trong tập

Html Dién hình là các nghiên cửu của Angyoon Oh and Geolfirey C Fox: "7i

wu héa hiéu sudt nkdn tin cho dich vu Web trong may di déng” |S|, cia Sangyoon Oh, Mehmet 8 Aktas, Marlon Pierce, Geoffrey C Fox: “Ti wu héa hiệu suất nhắn tin dịch vụ Web sir dụng một kho bối cảnh cho dữ liệu nh” 9

20, 24].

Trang 24

Tai ưu bộ nhớ chương trình

¡ ưu bộ nhớ phương trình cũng góp phần quan trọng trong việc tối ưu hiệu

năng đặc biệt là trên môi trường Mobile với bộ nhớ han chế Các nghiên cứu

trong khía cạnh này gồm: sử dụng nhiều các chịp nhớ, thanh ghi trong chương trình, cập phát và giải phóng bộ nhớ động tối ưu các dich vu don rac trong cdc framework lap trinh JZME, NET Compact framework Nghién ctru cia Kaustubh

R Joshi, Matti [iiltunen, , Richard Schlichting, William II Sanders, and Adnan Agbaria: “Thich ting dia trén m6 hinh tryc tuvén đề tối ưu hóa hiệu năng và độ

tin cậy” [231 đã đạt được kết quả tốt trong khía cạnh tối ưu nay

Ti ưu bộ nhớ đệm

Tối ưu bô nhớ đêm là kỹ thuật đã dược nghiên cứu và áp dụng tử lâu trong

hầu hết mọi môi trường: [2esktop, Network, Mobile và ngay cả trong việc quản lý

bộ nhớ phần cứng Do đó tối wu cache cho phần mềm những phân tân đặc biệt là phần mềm Mobile cũng dang được nghiên cứu, triển khai [7, 8, 9]

Tôi ưu tập lệnh Assembly va déng téi wu

Các nghiên cứu tôi wu mirc Assembly tap trung vào: lựa chọn tập lệnh phù hợp, thay thế các lệnh nhân bằng các lệnh địch, thay đôi thứ tự thực hiện các lệnh

tối ưu mà không làm thay đôi kết quả Các nghiên cứu đồng tối ưu nhằm phân

hoạch phần cứng, phần mém cho hệ thống nhúng dã dược nhỏm tác giả NN

Binh, M Imai, A Shiomi, N Hikichi, and J Sato nghién citu, triên khai và đạt

được kết quá tốt [11, 13, 14]

2.3 Các phương pháp t tối ưu phần mềm nhúng trong giai đoạn thiết kế

Tối ưu mức thị đới mục tiêu chính lả thiết kế kiến trúc tối ưu, thiết kế

cấu trúc dữ liệu tối ưu rồi lựa chọn thuật toán tối ưu, lựa chon framework phat triển tối tru, lựa giao thức truyền thông tối ưu (hữp, https, SOAT) Tối ưu mức

thiết kế thực hiện theo các phương pháp: Tối ưu cấu trúc đỡ liệu trừu tượng bằng,

chuyển đối mô hình và sinh mã mô phỏng chức năng; Lựa chọn cấu hình phát triển (#amework, ngôn ngữ, giao thức truyền thông ) tối ưu cho phần mềm

nhúng hướng mô hình, Tối ưu cầu trúc dữ liệu hướng mê hình dựa trên DSL, tối

tưu pareto và sinh mã mô phỏng; Lựa chọn cầu hình thiết bị tỗi ưu cho phần mềm

nhúng bằng kỹ thuật hướng mô hình

Mue tiêu của tối ưu trong giai đoạn thiết kế là đánh giá, cái tiễn và lựa chọn

mô hình tốt nhất Chúng ta cỏ thể thực hiện theo mỗi khía cạnh tỗi ưu oụ thể hoặc

Trang 25

1à tối ưu da mục tiêu Khi thực hiện tỗi ưu trong giai đoạn thiết kế thường có hai

cách tiếp cận là từ tận cáo mô hình thiết kế, xây dựng và tỉnh toán các ham danh piá mô hình, trên cư sở đó chúng ta lựa chọn ra mô hình tốt nhất hoặc là từ mô

hình thiết kế ban đầu chúng ta xây dựng các hàm đánh giá sau đó tiến hành phân

tích và biến đối rồi tái cấu trúc Các bước thực hiện cái tiến nhằm đạt được mô hình tối ưu theo hàm đánh giá

Để đánh giá phần mềm nhúng ở mức thiết kế, thường có ba cách tiếp cận là

có thể đánh giá trực tiếp từ mô hình hay chuyển từ mô hình thiết kế về mô hình

hiệu năng và đánh giá mô hình hiệu năng hoặc đánh giá đựa trên mô phỏng

Chúng la chủ yếu lập trung đánh gì

mô hình hiệu năng, sử dụng một số phương pháp như: đặc Lá hệ thông, phương

về hiệu năng, chuyển đặc tả hệ thống sang

pháp SPH, phương pháp dựa trên mẫu kiến trúc, phương pháp dựa trên mô

phông, phương pháp tối ưu dựa trên phân chia phần cửng — phần mềm (đồng thiết kế)

Ba hướng tiếp cận để đánh giá và tôi ưu phân mềm trong giai đoạn thiết kế

Tải ưu dựa trên kỹ nghệ hiệu năng phần môm (SPE)

Theo phương pháp này chúng ta sẽ chuyển mô hinh thiết kế về mô hình hiệu

năng để đánh giá lỗi ưu, chủng la có thể thực hiện triển khai theo hai phương,

pháp như sau

- Phương pháp sử dụng UML để đặc tả kiến trúc phần mềm, ngoài ra bd

sung thêm thông tin về hiệu năng váo các mô hình UML Sau đó chúng la sẽ chuyên từ mô hình UMI sang mô hình hiệu năng và dánh giá mô hình hiệu

năng để lựa chọn kiến trúc tốt nhất,

- Phương pháp tối ưu đựa trên I2S1., chúng ta sẽ định nghĩa một số I25i, để

đặc tả phần mềm, chuyền sang mô hình hiệu năng để đánh giá và tối ưu Ban đầu chủng ta định nghĩa DSL với các rằng buộc SPE cho biểu đổ class, Sequence, Activity, Deploy Sau khi dinh nghĩa và xây dựng các loại biểu đề chúng ta sẽ sử dụng công nghệ T4 để lấy tham số tự động từ mô hình rồi

chuyển sang mô hình hiệu năng và đánh giá mỗ hình hiệu năng để chọn ra kiến trúc tất nhất

Tải ưu dựa trên mô phẳng

Theo phương pháp này dựa trên cách tiếp cận kỹ nghệ hướng mô hình MDE Ban dau chúng ta thiết kế mê hình tiếp theo là sinh mã mô phỏng cho các chức

năng rồi chạy mà mô phỏng trên môi trường thực để đảnh giá và lựa chọn mô

Trang 26

hình hoặc môi trường phát triển Thực hiện triển khai dựa trên DSL, định nghĩa

DSL để thiết kế mô hình và sinh mã mô phỏng các chức năng, thực thi mã mô phỏng để lựa chọn kiến trúc tốt nhất hoặc môi trường phát triển tốt nhất Hình 2-1

biếu diễn một quy trình triển khai kỹ thuật tối ưu hướng mô hình

— [I)Desoeper creates vauai (2) rstramenied code

_ | model ot appcation 's generating from

Quy trình triển khai kỹ thuật tôi ru hướng mồ hình

Hình 2-1 Quy trình triển khai kỹ thuật tối ưu hướng mô hình

Tôi ưu dựa trên đánh giả và chuyển đổi trực tiếp trên mô hình

Theo phương pháp này chúng ta sẽ đánh giá trực tiếp hiệu năng, bộ nhớ,

năng lượng tiêu thụ từ mô hình, việc đánh giá này gặp rất nhiều khó khăn Trong phương pháp này thường đánh giá trực tiếp và tối ưu theo các độ đo chất lượng

như tính đóng gói, khả năng tái sử dụng, Một số nghiên cứu đưa ra cách đánh giá hiệu năng dựa trên biểu đồ Class, thường có hai hướng tiếp cận tối ưu là tối

ưu hiệu năng dựa trên đánh giá biểu dé Class va téi ưu đa mục tiêu dựa trên biểu

đỗ lớp và nguyên lý Pareto

Một số phương pháp tối ưu giai đoạn thiết kế theo ba hướng tiếp cận trên

Tổi ưu dựa trên phân chia phần cứng ~ phần mềm

Chúng ta sẽ phân tích và đánh giá hiệu năng, mức tiêu thụ điện năng, chỉ phí

và giai đoạn thiết kế hệ thống nhúng theo mỗi phân hoạch Để đánh giá hiệu

Trang 27

năng, chúng la tập trung vào chỉ phí thời gian thực thí rong phân hoạch Thời

gian thực của phân hoạch bao gồm lhời gian thực thủ các tác vụ phần cứng, thời pian thực thi các tác vụ phần mềm và thời pian chuyển giữa 2 tác vụ Thời gian

thực thi cảng lâu thỉ hiệu nẵng càng giám

Tựa chọn môi trường nhát triền phần mắm nhúng tỖi irư

Khi phát triển phần mềm nhúng cho các thiết bị không đồng nhất trong môi

trường phân tán, vấn đề tối ưu cần phải đựa trên nhiều khía cạnh và mục tiêu tấi

tưu trên mỗi loại thiết bị là khác nhau Các khía cạnh quan trọng trong tối ưu phần

mềm nhủng đã được nghiên cứu và liếp Lục phát triển như: tôi tru hiệu năng, cực

đại thời gian sống của pím, tối ưu quản lý bộ nhớ, tối ưu dữ liệu, tối ưu

framework lựa chọn mục tiêu tối ưu trên mỗi loại thiết bị cần xét trên sự cân

bằng piữa các yếu tố vi các yếu tổ nảy không độc lập mả luôn có sự ảnh hưởng, qua lại Khỏ khăn lớn cho bài toán tối ưu là 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, triển khai ứng dụng Do đó khi muén thay

đổi các yếu tố nhằm cải tiến hệ thông phải thiết kế lại kiến trúc, cải đặt, triển khai

và kiểm thử Diễu này làm mắt nhiều thời gian vả chỉ phí tối ưu

Giải pháp khắc phục vẫn để trên là tối ưu hệ thống trong ngay giai đoạn thiết

kế dựa trên kỹ nghệ phần mềm hướng mô hình Ti wu Iya chọn môi trường phát triển phần mềm nhúng trong giai đoạn thiết kế có vai trò đặc biệt quan trong vì

nếu thay đôi thiết kế, lựa chọn lại môi trường phái triên thì hầu như phải thay đổi

loại toàn bô nhần mềm Tôi ưu phần mềm mức thiết kê có giá trị hơn nhiều so với tối ưu mã nguồn nhưng cũng gặp nhiều khó khăn về đặc lá các mmục tiêu tối ưu, cae rang buộc, các lựa chọn không rồ ràng và việc đánh giá các khía cạnh phần mém trong thời gian thiết kế khó định lượng Tối ưu mức thiết kế thường hướng

đến các mục tiêu: thiết kế kiến trúc tôi ưu, thiết kể cấu trúc đữ liệu tối ưu, lựa

chọn giải thuật tỗi ưu, lựa chọn môi trường phát triển tối ưu (ffamework và ngôn

ngit: Java, NET Compact, Android, Symbian , giao thức truyền đữ liệu: http,

https, SOAP ; kiểu ứng dung: web application, web service )

Tôi ưu lựa chọn môi trường phát triển phần mêm nhúng có phương pháp tiệp

cận dựa trên ngôn ngữ miễn xác định D$L, công nghệ sinh mã T4, sinh mã mỗ

phóng chức năng, chạy triển khai trên thiết bị thực tế, đánh giá kế quả chạy mã

mỗ phỏng để quyết dịnh lựa chọn tôi ưu Phương pháp nảy sẽ lựa chọn dược Tramework và ngôn ngữ, giao thức truyền thông, kiểu ứng dụng cho phần mềm nhúng ngay trong thời gian thiết kế

Trang 28

Tôi ưu thiết kế phần mềm nháng dựa trên biển đối mô hình và sinh mã

mã phỏng

Mật phương pháp tiếp cận nữa trong tôi ru phần mềm nhúng mức thiết kế là

tối ưu dựa trên biển đổi mô hình Hiện tại chưa có nhiều nghiên cứu về vấn để

nảy, các nghiên cứu đã đưa ra các giải pháp, quy tắc chuyên đổi các mô hình thiết

*ế tối ưu nhưng vẫn chưa xây đựng mô hình, công thức tỉnh toan và chưa tự đông héa trong khía canh tối ưu này Tôi ru mô hình thiết kế cho phân mềm nhúng là vấn đê tương đối rộng, đê nghiên cửu chuyên sâu vào các đặc tả để công thức hóa, các phép biến đổi mô hình và vẫn đề tự động hóa, phạm vi nghiên cứn này chỉ tập trung vào tối ưu thiết kể cầu trúc đữ liệu mức thiết kế Phương pháp này

sế lựa chọn được thiết kế đữ liệu tối ưu theo các quan hệ giữa các mục tiêu tối ưu

và gác ràng buôc của phần mềm nhũng,

TI wu dựa trên sinh mã thay thể mô phông chức năng

Một phương pháp tiếp cận nữa trong tối ưu phần mềm nhúng mức thiết kế là tối ưu dựa trên sinh ma thay thế mô phỏng chức năng, nhằm xây dựng phương

pháp tôi ưu dựa trên sinh mã mô phỏng và phát triển framework DSL, T4 hỗ trợ

tối ưu

Xây dựng nhương pháp tối ưu phần mềm nhúng dựa trên sinh mã mô phỏng

xây dựng tử diễn thao Lic cơ bản dễ ước lượng cho mỗi tác vụ như: đọc tệp, ghi

tp, đọc ghi bộ nhứ; mỗi phần mềm nhúng được thiết kế thca các thao tác cơ bắn trong tử diễn; sinh mã mô phóng các lác vụ dựa trên các thao tác cơ bản và các doạn code mẫu ứng với các thao tác cơ bản (các doạn code mẫu có thể thao các ngôn ngữ, môi trường khác nhau để tùy biến việc sinh mã}; chay mã mô phỏng trên thiết bị thực tế, thông kê, đánh giá, lựa chọn mô hình tắt nhất

Phat trién framework DSL và T4 hỗ trợ tổi ưu: DSL để thiết kể mô hình, T4

để sinh mã thực thi từ mô hình Phương pháp này sẽ lựa chọn được mã mô phỏng

tối ưu, mô hình tối ưu

Tôi uu dựa trên đúnh gid biểu đỗ lớp, DŠL và T

Một phương pháp tiếp cận nữa trong tối ưu phần mềm nhúng mức thiết kế là

tối ưu dựa trên đánh giá biêu đỗ Class để tối ưu Pareto dựa trên I28L và 14 Tối

ưu dựa trên danh gid trực tiếp kiến trúc tĩnh của phần mềm nhúng (biểu dé Class) Trong các mô hình đặc tả phần mềm, mô hình class lả mô hình đặc tả

phần mềm hướng đổi tương quan trọng Các độ đo dựa trên mô hình class cũng được nghiên cứu rộng rãi nhằm đánh giá các khía cạnh chất lượng phần mềm như

độ phức tạp mô hình, khả năng bảo trị, khá năng tái sử dụng Tuy nhiên việc

Trang 29

đánh giá hiệu năng, kích thước trên mô hình class chưa được nghiên cứu nhiều

ướng dối lượng phần mềm nhúng Có thể thực hiện tối ưu

đơn mục tiều (tối ưu hiệu năng) hay tốt ưu da mục tiêu Pareto Phương pháp này

sẽ lựa chơn biểu đã class sẽ có hiệu năng tốt nhất

TẢI ưu đa mục tiêu Pareta để tỗi ưu cầu túc dữ liệu phầu mầm nhúng

mức thiết ké

Trong phát triển phần mềm nhúng, đặc biệt là các phần mềm nhúng hưởng

đữ liệu (xử lý đữ liệu lớn như: ứng dụng media, game ), việc tối ưu cấu trúc đữ

liệu có ý nghĩa quan trọng Tối ưu cấu trúc đữ liệu cho phần mềm nhúng trong

thời gian thiết kế lại cảng quan trọng hơn vì thay dỗi cầu trúc dữ liệu xử lý trong chương trình hầu như phải thay dỗi lai mã nguằn Khi thiết kế phần mềm nhúng,

để giải quyết một vẫn đề có thể có nhiều mô hình cấu trúc đữ liệu được đưa ra

1 âm sao lựa chọn được cấu trúc dữ liệu tối tru từ các cấu trúc đữ liêu ứng viên sẽ

tác động lớn đến chất lượng và hiệu năng phần mềm Phương pháp này sẽ lựa chọn được thiết kế dữ liệu tối ưu theo các quan hệ giữa các mục tiêu tối ưu và các ràng buộc của phần mềm nhũng

Tổng kết chương

Từ việc tìm hiểu và nghiên cứu về các phương pháp lôi ưu phẫn mêm nhúng

giai đoạn thiết kế rong chương này thì chúng tôi thấy phương pháp tối ưa phần

mềm nhúng giai douạn thiết kế dựu trên chuyên dổi mô hình hiện tại chưa có nhiều nghiên cửa Các nghiên cứu đã đưa ra các giải pháp, quy lắc chuyển đổi

các mô hình thiết ‘Oi ru nhưng vẫn chưa xây dựng mô hình, công thức tĩnh toản về chưa tự động hỏa trong phương pháp tối tru này Chúng tôi sẽ lựa chon

phương pháp nà: để nghiên cứu và triển khai tiếp ở chương sau Nội dung

nghiên cứn sẽ chuyên sâu vào các đặc tà đề công thức hóa, các pháp biến đổi mô

hình và vấn dé tự độ hỏa, về chỉ tập trung vào tôi tru thiết kể cầu trúc đữ liệu

múc thiết kế

Trang 30

CHƯƠNG 3

TOTUU PHAN MEM NHUNG TRONG GIẢI Đ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

'Tỗi ưu dựa trên biến dổi mô hình là một hưởng tối ưu theo cách tiếp cận

đánh giá trực tiếp mô hình hiên đang được quan tâm nghiên cứu Theo phương,

pháp này, 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 Tôi ưu phần mềm dựa trên biến đổi mô hình tuy đang được quan tâm, nghiên cứu nhưng vẫn còn gặp nhiều thách thức Thứ nhất là khó đá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ế Trong giai đoạn thiết kế chỉ có các mô

hình phần mềm nên việc đánh giá được thực hiện đựa trên mô phỏng và phân tích

mô hình Thử hai là xây dựng

đúng dẫn của các phép biến dể

e phép biến đổi trên mô hình và kiểm tra lính

hit ba là khó thực hiện tư dộng quá tình lấy

tham số từ mô hình, đánh giá và biến đổi mô hình cũng như chuyến từ các tham

số đặc tả thành mô hình Cuối cúng, vấn dễ kiểm chứng kết quả tối ưu trong giai

đoạn thiết

tiếp cân mới dựa trên DSL và T4 để tối ưu phần mềm nhúng trong giai đoạn thiết

kế dựa trên biển đổi mô hình Quy trình nghiên cứu tổng thể được biểu điễn ở

hình 3-] như sau:

là cần thiết và cũng là một thách thức Vì vậy luận văn đưa ra cách

Trang 31

4.Thiết kế mô hình ban

đầu:

1,Xây dựng Framework:

~DSL cho biển đỗ lớp

-Siều môhình _

~ T4: lây tham số từ biểu đã

~ Thiết kê theo Framework DSL, Ts (1)

§,Xây dựng chương trình

tôi ưu hỗa

2.Xây dựng phép biển đôi

3.2 Các phép biến đổi trên mô hình

Trong phần này chúng tôi tập trung nghiên cứu 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ế dựa trên các thành

phần cấu trúc dữ liệu như 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 giữa hai

cấu trúc, dựa theo nghiên cứu của Keller [3] Trong nghiên cứu này tác giả chưa chứng minh tính đúng đắn và không đưa ra giải pháp cũng như các tiêu chí để

thực hiện tự động các biến đối Trong phần này, chúng tôi đưa thêm ba phép biến

đổi là thu gọn kiểu dữ liêu, chuyển đổi tham số của các phương thức thành các thành viên dữ liêu của lớp và chuyển đổi từ tĩnh sang động và ngược lại để tối ưu

hiệu năng

3.2.1 Phân chia cấu trúc

Phép biến đồi này nhằm phân chia một cấu trúc thành nhiều cấu trúc theo tần

số truy suất thành phần dữ liệu và tần số thực hiện hàm Các thành phần có tần số

truy xuất lệch nhau nhiều sẽ được tách thành cầu trúc riêng Các tần số nảy phụ

thuộc vảo nhà thiết kế Vấn đề cốt yếu ở đây là tần số và số lượng phân chia như

Trang 32

thế nào, để giải quyết vấn đề này chúng ta có thể sử dụng thuật toán phân cụm để

thực hiện phân chia

Hình 3-2 là một ví dụ về phép phân chia cấu trúc, từ cấu trúc lớp ban đầu

được chia thành 2 cầu trúc lớp khác nhau

Hinh 3-2 Vi du vé chuyển đổi phân chia cau trúc

Thực hiện phân chia cấu trúc có thể cải tiến mức chiếm dụng bộ nhớ của chương trình Hơn nữa, chuyển đổi này có thể làm giảm năng lượng tiêu thụ của

ứng dụng Giả sử có hai cầu trúc được tạo mới đặt trong hai bộ nhớ khác nhau, mỗi bô nhớ tùy theo kích thước của cấu trúc, truy cập bộ nhớ để thực hiện truy

cập này tốn ít năng lượng hơn

3.2.2 Gộp cấu trúc

Hình 3-3 Ví dụ về chuyển đổi gộp cấu trúc

Phép biến đổi này dựa trên đánh giá toàn bộ mô hình đữ liệu sau khi đã phân tích các cấu trúc Phép biến đổi phân chia dựa trên phân tích từng cấu trúc để

phân chia Điều này dẫn đến có thể tồn tại nhiều cấu trúc khác nhau mà tần số

Trang 33

truy xuất của ác thành phần lại gần như nhau Do đó, chúng tôi đưa ra phép biển

đổi gop cu trúc ái quyết vẫn đề nảy bằng cách hợp nhất mọi cầu trúc thành

một cấu trúc sau đó mới nhân chia Tuy nhiên với phép biến déi nay, đóng gói

của hệ thông có thế bị phá vỡ và cũng chỉ sử dụng trong giới han các thành phần

dữ liệu và các hàm bình đẳng và có thể truy xuất từ các câu trúc khác nhau

Chuyển đổi này có thể cải tiên mức chiếm dụng bộ nhớ của chương trình vì một vài cầu trúc được hợp nhất vào một cấu trúc Ngoài ra toản bộ truy cập dữ liệu cũng được giảm vì không phải mỗi giá trị được truy cập riêng giao nhau linh 3-3 là một ví đụ về phép gộp cầu trúc

3.2.3 Thay doi thứ tự mỗi quan hệ

Chuyển đổi này nhằm thay đỗi thử tự các mối quan hệ giữa các câu trúc Chuyến này đỗi này nên được áp dung nêu các cấu trủc không được truy cập theo

thứ tự thi thứ tự mới sẽ thể hiện trạng thái truy cập của các cấu trúc chính xác

hơn 1Tình 3-‡ là một ví dụ về phép thay đổi thứ tự mỗi quan hệ

‘Word

du Tê: s inserting word Rutter: Uauean

Hinh 3-4 Ví dụ về chuyển đổi thay dỗi thứ Lự mỗi quan hệ

Chuyển đỗi này không làm giảm bộ nhớ chiếm dụng vì không có các giá trị

dt liệu được thêm hay xóa đi Truy cập đữ liệu giảm vỉ tăng truy cập do một Thứ

tự khác nhau.

Trang 34

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

next +wxt Character Character

and: int snd; int

ssetendtent: me) #rredou= 3e [nd: ine) [previous +getValue(]: Chat +getVelue(): Char

psetValue(value: Char) spsetValue(velue: Char)

Hình 3-5 Ví dụ chuyển đổi hướng giới han mỗi quan hệ

Chuyên đổi này làm giảm hướng giữa hai lớp từ hai chiêu hướng thành một chiều Chuyển đổ này được áp dụng khi hai lớp có mỗi quan hệ hai chiêu nhưng lại không sử dụng được, có nghĩa lả chỉ có một lớp gọi được lớp khác Mỗi chiều

trong đó một mối quan hệ dược định vị, bỂ sung đữ liệu vào lớp mục tiêu cần phải được lưu, sau đó dưa ra tổng chỉ phí cho việc lưu trữ, truy cập vả kiểm tra

dữ liệu Khi thục hiện chuyển đối này có thể cải tiến mức chiếm dụng bê nhớ của

chương trình nhờ việc giới hạn hướng và số lượng truy cập dữ liệu cũng giảm

Hình 3-5 là một ví đụ về phép hướng giới hạn môi quan hệ

Trang 35

Trong chuyển đổi nay Loan hộ số lượng truy cập đữ liệu được giảm do gọi

trực liếp tới hàm của chính cấu trúc dé Tổng thể bộ nhớ chiểm dụng của ứng

dụng không tăng lên vì không có đối tượng dữ liệu nào dược lạo ra hay xóa di

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

DictionaryEngine

¬#nrdBuffer: String -ErseledLht: St:ng[B "]

Tlinh 3-7 Vi du chuyén thuộc tính thành tham số

Chuyển đổi này sẽ lập các biến tạm thời như đầu vào và đầu ra của phương,

thức/hảm Khi chương trình dược thưc thĩ thi thuộc tính nảy được tạo ra như một

biển cục bộ tam thời rong chuyển đổi này số lượng truy cấp dữ liêu không thay

đối, khi chức năng của ứng dụng như trước (nghĩa là thuộc tính vẫn ghi và đọc

như trước đây) IIình 3-7 là một ví đụ về phép chuyển thuộc tính thành tham số

Chuyển đổi này làm giảm bộ nhớ chiếm dụng theo thời gian sống của ứng

dụng De các thuộc tính đang được tạo ra trên stack hiện tại chứ không phải trên

heap Khi nó không được sử đụng, ví dụ như không ghi hoặc đọc thì nó không

chiếm không gian hộ nhở

Trang 36

3.2.7 Luại bỏ các thuộc tính dư thừa

down | > ‘sget'Vakea(): Char

~nE:Eni(]: int BeTvaue(vale: Char]

~satEnd{and: Int) cVaue(): Char

—serwakie(valuns Char)|

Hình 3-8 Ví dụ chuyển đối loại bỗ các thuộc tính dư thừa

Trong chuyển đổi nảy thì các thuộc tính dư thừa được loại bỏ Một thuộc

tính đư thừa, tức là nó không được sử dụng, đã lưu hành ri, đã lấy thông tín rồi

Khi thực hiện chuyển đổi này thì bộ nhớ chiêm dựng giảm do việc xỏa di một thuộc tính Các thuộc tính thay thể cho các thuộc tính xóa đi sẽ được phần bổ

trong trường hợp khác nên không làm Lăng dung lượng bộ nhớ vấp phát Hình 3-8

là một ví dụ về phép loại hô các thuộc tính dư thừa

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

Chuyển đổi này nhằm chuyển một thuộc tính thành một lớp riêng kết nổi với

lớp ban đầu thành một lập hợp Sử dụng một tập các mối quan hệ dựa vào đặc tính của tâp hợp củng với các đặc tính chính và phụ Chuyển dỗi này nên dược áp

dụng khi một thuộc tính lớn, phức tap va truy cập thường xuyên được gặp Hình

3-9 là một ví dụ về phép chuyển dỗi thuộc tỉnh thành lớp

DictionaryEngine avec: Shing

Trang 37

‘Tuy nbién chuyển đổi này khởi đầu cho nhiều chuyển đổi với ưu và nhược điểm

khác nhau, như đã trình bày ở trên

3.2.9 Thu gọn kiêu dữ liệu

Đây là phép biến dỗi den giản nhưng hiệu quả trong cả cải tiễn hiệu năng va

bộ nhớ Tư tưởng nủa phép biến đổi nảy dựa trên miễn giá trị của các thành viễn

dữ liêu để chuyển kiểu dữ liệu về kiểu nhỏ nhất chứa được miễn giá trị Để thực hiện phép biển đổi này, trong quá trình thiết kế mô hình đữ liệu cần chỉ rõ miễn

giá trị của mỗi thuộc tính Iơn nữa, khi thiết kế siêu mô hình để xây dựng công

cụ DSL cũng cần định nghĩa thêm thuộc tính miễn giá trị cho mỗi thành viên đữ

liệu

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

Dua trên việc xây dựng hàm đánh giá hiệu năng trinh bày phần sau, có thé chứng mỉnh được thời gian thực thi một phương thức với tham số truyền vào sẽ

nhiều hơn thời gian thực thí phương thức đỏ khi sử đụng các thành phần đữ liệu thay cho các tham số Điều này hiển nhiên đúng vì việc sử dụng các tham số sẽ

mắt thêm thời gian cấp phát bộ nhớ và gắn giá trị cho các tham số này Do đó, để

cải tiến hiệu năng, chủng tôi để xuất và xây dựng phép biến đổi chuyển tham số

thánh thuộc tỉnh ĐỂ đảm báo việc truy xuất các thành phần tĩnh vả động trong,

chương trình hưởng đối tượng, các tham số của các phương thức tĩnh sẽ được chuyển thành các thành phần dữ liệu tĩnh và các tham số của các phương thức

động sẽ được chuyên thành các thành phần dữ liệu đông

Mặc dù phép biến đổi nảy cải tiến hiệu năng nhưng cũng làm tăng dung

lượng bộ nhớ chiếm dụng Điều nảy có thể chỉ ra dựa vào công thức đánh giá bộ

nhớ trong phần sau Do đó, khi xây dựng chương trình biến đối tự động trên mô hình để tối ưu hiệu năng, cần xác định thêm các ràng buộc để không làm dung

lượng bộ nhớ chiếm dụng tăng nhiều Điều này rất quan trọng đối với phần mềm

nhúng khi bộ nhớ trong các thiết bị những thưởng có kích thước nhỏ Ở dây chúng tôi xây dựng rảng buộc thực hiện phép biển đổi này dựa vào lần số sử

dụng của các phương thức

Trang 38

hiệu năng nhưng cũng làm tăng kích thước bộ nhớ chiếm dụng của chương trình

Điều này sẽ dược chỉ ra trong phần dánh giả bộ nhớ Vi vay phép biến đổi này chỉ

được thực hiện khi tần số sử dụng lớn Đây cũng là tiêu chí để thực hiện biến đổi

tu ding và tối ưu

3.3 Xây dựng hàm đánh giá hiệu năng và bộ nhớ chiếm dung

Để thục hiện các phép biến đổi trên mô hình chúng ta cần phân tích mô hình

vả xây đựng các hảm đánh giá Các hàm dánh giả nhận dầu vào lả các tham số đặc tả mô hình, phân tích ảnh hưởng của các tham số dến các mục tiều đánh giá

như hiệu năng, bộ nhớ, tiêu thụ điện năng, 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 cũng như

sử đụng để đánh giá mô hình ban đầu và mô hinh tối ưu Trong nghiên cứu của

Pham Văn Hướng và Nguyễn Ngọc Bình về “Đánh giả hiệu năng phẩn mỗm nhúng hướng dối tượng từ mô hình Class dựa trên D§L và T4” (L7| dã xây dựng

hàm đánh giá hiệu năng phần mềm dựa trên biểu dễ lớp Để làm cơ sở cho các

phép biến đổi và tôi ưu trên mê hình, chủng tôi sẽ cải tiến các công thức đánh giả

trong [17] để xây dựng hàm đánh giá hiệu năng và mức chiếm đụng bộ nhớ dựa

trên mô hình dữ liệu trừu lượng tương tự như biểu dỗ lớp nhưng không xét Linh

kế thừa và phạm ví truy xuất của các thành phần | 17]

3.3.1 Ham đánh giá hiện năng

Hảm đánh giá hiệu năng được xây đựng đựa trên phân tích hoạt dộng của

một chương trình hướng đối tượng Khi chương trình dược yêu cầu thực thị, dầu

tiên mã nguồn các lớp sẽ được nap vao bộ nhớ các biển tĩnh và các phương thức tĩnh cũng được cấp phát bộ nhớ trong thời điểm nạp Do đó các thành phần tĩnh chỉ mất một lần cấp phát tĩnh và một lần truy xuất bộ nhớ để sử dụng sau khi nạp

Khi sử dụng các biển đối tượng vá các phương thức dối tượng cần tạo và cấp phát

bộ nhớ cho dối tượng trước Khi tạo dỗi tượng, cần thực hiện hai bước là truy

xuất bộ nhớ để thực hiện câu lệnh tạo đối tượng và cấp phát đông bộ nhớ cho các

biến và phương thức đối tượng Do đó cần một thao tác cấp phát động và hai thao

Trang 39

táo truy xuất bộ nhớ để có thể sử dụng các thành phần thuộc đối tượng Khi thực

thi một phương thức tĩnh, cần một thao tác truy xuất bộ nhớ dễ trỏ dến tập lệnh

của phương thức, một lần cấp phát bộ nhớ cho các tham số và sau khi thực hiện cân một lần truy xuất bộ nhớ để tham chiếu đến dữ liệu trả về Dỗng thời, để gọi một phương thức tĩnh cần truy xuất mã nguẫn của lớp đang chứa trong bộ nhớ

niên quá trình thực thi một phương thức tĩnh cần íL nhất một thao tác cấp phát và

ba thao tác truy xuất bộ nhớ Khi thực thi một phương thức dối tượng, cần phải

tạo đối tượng trước rồi mới gọi thông qua biển tham chiếu đối tượng nên cần một thao tác cấp phát đông và hai thao tác truy xuất bộ nhớ Như vậy toàn bộ quá

trình thực hiện của phương thức đối tượng cần ít nhất hai thao tác cấp phát bộ

nhớ và năm thao tác truy xuất bộ nhớ

'Từ biểu dỗ lớn chúng tôi lấy các tham số như trong Bang 3.2 Từ các tham

số này, chúng tôi đã xây dựng các độ đo từ 3, đến 8, như mô tả trong Bảng 3 1

và xây dụng hàm đánh giá hiệu năng dựa trên các đô đo này Iuy nhiên, để cải tiến hàm đánh giá hiệu năng sử dụng trong biến đối mô hình, chúng tôi bổ sung

thêm tần số sử dụng w của các tham số Theo đó, các công thức tính các độ đo 5;

đến 8; dược cải tiến như trong các công thức (3.1) đến (3.6) Hàm dánh giá hiệu

năng vẫn được tính theo [17] và dược trình bảy trong công thức (3.7) Theo công thức (3.7), hàm hiệu năng có giá trị cảng nhỏ càng tốt

Bang 3-1 Các độ đo ảnh hưởng đến hiệu năng

Tham số Ký hiệu Mũ tả Kích thước các biến tĩnh S; Tông kích thước các thuộc tính tĩnh

trong biểu đồ lớp

Kích thước các phương Sp Tông kích thước của các method tĩnh thức tĩnh trong biểu đồ

Kích thước thục thi các S3 Tông kích thước tham số và kiêu trả

phương thức tĩnh về khi thực thi các method static

Kích thước các biển đổi Ss Tổng kích thước các thuộc tỉnh

tượng nonstatic của đối tượng

Kích thước các phương & lông kích thước các method thức đối tượng nonstatic của đối tượng

Kích thước thực thi các % 'Tổng kích thước tham số và kiểu trả

phương thức đối tượng về khi thực thi method nonstatic của

đổi tượng

Trang 40

Băng 3-2 Các tham số sử đụng để dánh piá hiệu năng,

Các biển tĩnh xX Là thuộc tính tỉnh, được cầp phát bộ nhớ khi

nap chương trình Ä; là thuộc tính tinh thir j trong một lớp

Các biến đối tượng ¥; Tả thuộc tính của đối tượng, được cấp phát bộ

nhở khi đổi tượng được tạo ƑV; là biến

instance thir j của lớp

Tham số phương P, “Tham số thứ k eta mot method

thức

Tông các lớp A 86 class trong biểu đồ lớp

Tổng các phương B; Sõ các phương thức tĩnh trong cÌass 7

thức tĩnh B Tông số phương thức tĩnh trong biểu đồ

"Tông các thuộc tính CG 36 cac thuéc tinh tinh trong class i

tinh Cc Tổng số thuộc tính tĩnh trong biểu dé

Tổng các phương 7, Số các phương thức non-slatie trong class ï

thức dỗi tượng D Tổng số phương thức non-slalic trong biéu đỗ

Tông các thuộc tính x 86 cdc thuéc tinh non-static trong class i

đối tượng * 'Tông số các thuộc tính non-static trong biểu

Ngày đăng: 21/05/2025, 20:33

HÌNH ẢNH LIÊN QUAN

Hình  1-6.  Framework  DSL  hỗ  trợ  thiết  kế  biểu  đỗ  lớp  | - Luận vă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
nh 1-6. Framework DSL hỗ trợ thiết kế biểu đỗ lớp | (Trang 18)
Hình  hoặc  môi  trường  phát triển  Thực  hiện  triển  khai  dựa  trên  DSL,  định  nghĩa - Luận vă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
nh hoặc môi trường phát triển Thực hiện triển khai dựa trên DSL, định nghĩa (Trang 26)
Hình  3-1.  Quy  trình  triển  khai - Luận vă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
nh 3-1. Quy trình triển khai (Trang 31)
Hình  3-2  là  một  ví  dụ  về  phép  phân  chia  cấu  trúc,  từ  cấu  trúc  lớp  ban  đầu - Luận vă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
nh 3-2 là một ví dụ về phép phân chia cấu trúc, từ cấu trúc lớp ban đầu (Trang 32)
Hình  3-14.  Chương  trình  tối  ưu - Luận vă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
nh 3-14. Chương trình tối ưu (Trang 45)
Hình  3-15.  Tính  toán  hiệu  năng,  bộ  nhớ  chiếm  dụng  cho  mỗi  biểu  đồ  lớp - Luận vă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
nh 3-15. Tính toán hiệu năng, bộ nhớ chiếm dụng cho mỗi biểu đồ lớp (Trang 45)
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  đồ - Luận vă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
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 đồ (Trang 46)
Hình  4-24.  Biểu  đồ  lớp  C1 - Luận vă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
nh 4-24. Biểu đồ lớp C1 (Trang 64)
Hình  4-32.  Tính  toán  hiệu  năng  và  bộ  nhớ  cho  mỗi  biểu  đồ  lớp  C - Luận vă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
nh 4-32. Tính toán hiệu năng và bộ nhớ cho mỗi biểu đồ lớp C (Trang 68)
Hình  4-33.  Biểu  đồ  so  sánh  tối  ưu  hiệu  năng  và  bộ  nhớ  chiếm. dụng  của  biểu - Luận vă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
nh 4-33. Biểu đồ so sánh tối ưu hiệu năng và bộ nhớ chiếm. dụng của biểu (Trang 69)
Bảng  4-6.  So  sánh  tỷ  lệ  giâm  khi  chạy  chương  trình  Quiek  Sort - Luận vă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 4-6. So sánh tỷ lệ giâm khi chạy chương trình Quiek Sort (Trang 71)
Hình  4-38.  Mô  hình  đữ  liệu  mới  D - Luận vă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
nh 4-38. Mô hình đữ liệu mới D (Trang 74)
Hình  4-44.  Biểu  đồ  so  sánh  tối  ưu  hiệu  năng  và  bộ  nhớ  chiêm  dụng  của  biểu - Luận vă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
nh 4-44. Biểu đồ so sánh tối ưu hiệu năng và bộ nhớ chiêm dụng của biểu (Trang 76)
Hình  4-45.  Giao  diện  chương  trình  Vẽ  đỗ  thị - Luận vă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
nh 4-45. Giao diện chương trình Vẽ đỗ thị (Trang 77)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w