Tổng quan về luận án

Sự bùng nổ của cuộc cách mạng công nghiệp vi điện tử và công nghệ nano đã thúc đẩy quá trình tích hợp sâu rộng của các hệ thống tính toán vào đời sống xã hội. Theo thống kê được trích dẫn trong công trình nghiên cứu: "Năm 1999 đến 99% số vi xử lý thuộc về hệ thống nhúng [107]. Thống kê trong [94] năm 2011 cũng chỉ ra: tới trên 95% số chip sản xuất dùng cho ứng dụng nhúng." Khác với phần mềm thương mại truyền thống vận hành trên các máy tính đa năng có tài nguyên dồi dào, phần mềm nhúng (Embedded Software - ES) luôn bị ràng buộc khắt khe bởi giới hạn vật lý của phần cứng đích, bao gồm tốc độ xử lý của CPU, dung lượng bộ nhớ khả dụng (RAM/ROM), mức tiêu thụ điện năng ($P_{CPU}$) nhằm kéo dài tuổi thọ pin, và chi phí sản xuất thương mại ($f_c$).

Luận án tiến sĩ chuyên ngành Kỹ thuật phần mềm (Mã số: 62 48 01 03) của Nghiên cứu sinh Phạm Văn Hưởng, dưới sự hướng dẫn khoa học của PGS. Nguyễn Ngọc Bình tại Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội (2015), mang tiêu đề: "Một số phương pháp tối ưu trong giai đoạn phát triển phần mềm nhúng". Luận án giải quyết trực diện khoảng trống nghiên cứu (research gap) quan trọng: phần lớn các nghiên cứu tối ưu hóa trước đây chỉ tập trung đơn lẻ vào một giai đoạn cục bộ (hoặc tối ưu hóa trình biên dịch, hoặc lập lịch hệ điều hành thời gian thực) mà thiếu một mô hình tối ưu hóa toàn diện xuyên suốt vòng đời phát triển phần mềm nhúng từ giai đoạn thiết kế kiến trúc, lập trình mã nguồn, đến môi trường thực thi runtime.

Luận án thiết lập 4 câu hỏi nghiên cứu (Research Questions - RQ) và hệ giả thuyết khoa học cốt lõi:

  • RQ1: Làm thế nào để định lượng và tối ưu hóa hiệu năng ($f_p$) cùng không gian bộ nhớ ($f_m$) ngay từ giai đoạn mô hình hóa thiết kế (giai đoạn sớm) mà không cần phải cài đặt mã nguồn thực thi đầy đủ?
  • RQ2: Cơ chế chuyển đổi mô hình và sắp xếp tô-pô (Topological Sort) trên đồ thị phụ thuộc tác vụ (Dependent Task Graph - DTG) có thể giảm thiểu dung lượng bộ nhớ đỉnh (peak memory) của phần mềm nhúng như thế nào?
  • RQ3: Các kỹ thuật loại bỏ biểu thức con chung (CSE) dựa trên biểu thức tương đương ở mức mã nguồn cao và thuật toán di truyền (Genetic Algorithm - GA) trên mã hợp ngữ có thể nâng cao hiệu năng và tiết giảm năng lượng tiêu thụ trên các kiến trúc CPU nhúng (RISC, CISC, Pipeline, Vô hướng, Siêu vô hướng) đến mức độ nào?
  • RQ4: Giải pháp tái cấu hình động phần cứng kết hợp tối ưu môi trường thực thi (máy ảo, truyền thông mạng) có mang lại sự đánh đổi (trade-off) tối ưu giữa hiệu năng và năng lượng tiêu thụ hay không?

Nghiên cứu ứng dụng khung lý thuyết tối ưu hóa đa mục tiêu Pareto (Pareto Multi-Objective Optimization - PMO), kỹ nghệ hiệu năng phần mềm (Software Performance Engineering - SPE) và phương pháp chuyển đổi hướng mô hình (Model-Driven Engineering - MDE). Luận án tạo ra bước đột phá khi xây dựng thành công bộ đo định lượng cấu trúc lớp UML kết hợp công cụ sinh mã tự động DSL/T4, tối ưu hóa lập lịch lệnh hợp ngữ trên vi xử lý ARM7 (AT91SAM7X512) và MIPS, kiểm chứng trên hệ thống nhận dạng chữ Nôm và các vi điều khiển công nghiệp, chứng minh khả năng rút ngắn thời gian thực thi thực tế từ 3.49% đến 16.68% và tiết kiệm đáng kể năng lượng tiêu thụ.


Literature Review và Positioning

Tổng quan y văn quốc tế cho thấy các hướng tiếp cận tối ưu hóa phần mềm nhúng trong giai đoạn thiết kế phân hóa thành ba nhánh chính:

  1. Nhánh Kỹ nghệ Hiệu năng Phần mềm (SPE): Điển hình là các công trình của Smith & Williams (2002), Balsamo et al. (2004), Cortellessa et al. (2011), và Petriu et al. (2007). Nhánh này chuyển đổi biểu đồ tương tác hoặc biểu đồ triển khai UML sang các mô hình toán học như mạng hàng đợi phân tầng (Layered Queueing Networks - LQN) hoặc mạng Petri ngẫu nhiên (Stochastic Petri Nets). Tuy nhiên, phương pháp này đòi hỏi tham số hóa xác suất chuyển trạng thái rất phức tạp và khó áp dụng cho các hệ nhúng nhỏ có tài nguyên tính toán hạn chế.
  2. Nhánh Tối ưu hóa dựa trên Mã mô phỏng (Simulation-based Code Generation): Đại diện bởi Thompson, White & Dougherty (2009) khi sử dụng Domain-Specific Language (DSL) trên nền tảng Eclipse để sinh mã mô phỏng trên điện thoại di động nhằm đánh giá hiệu năng và pin, hay nghiên cứu của Anastasopoulos & Muthig (2004) cho dòng sản phẩm phần mềm. Nhược điểm của hướng tiếp cận này là chỉ mô hình hóa các thành phần tĩnh ở mức cao, chi phí thiết lập môi trường mô phỏng lớn và phạm vi thích ứng hẹp.
  3. Nhánh Tối ưu hóa chuyển đổi mô hình dữ liệu: Anne, K. (2006, 2008) đề xuất tối ưu hóa cấu trúc dữ liệu nhúng thông qua biến đổi mô hình trừu tượng, nhưng phương pháp này được thực hiện thủ công, thiếu cơ chế tự động hóa bằng công cụ trực quan.

Trong giai đoạn lập trình và thực thi, các nghiên cứu của Cooper et al. (2002), Muchnick (1997), và Aho et al. (2006) về tối ưu hóa mã nguồn trong trình biên dịch GCC chủ yếu tập trung vào loại bỏ biểu thức con chung cục bộ trên đồ thị có hướng không chu trình (DAG) nhưng bỏ qua các biểu thức tương đương đại số. Ở tầng thực thi, các công trình của Cheung et al. (2008) ứng dụng quá trình quyết định Markov (MDP) để lập lịch tài nguyên, và Lee et al. (2003) nghiên cứu tối ưu hóa máy ảo J2ME/JVM thông qua biên dịch tức thời (Just-In-Time - JIT).

Luận án định vị vị trí khoa học bằng cách lấp đầy khoảng trống nghiên cứu then chốt: tích hợp đo lường trực tiếp đặc tả biểu đồ lớp UML kết hợp công cụ sinh mã tự động Microsoft T4 (Text Template Transformation Toolkit) và DSL Tools, đồng thời mở rộng kỹ thuật khử biểu thức con chung sang miền biểu thức tương đương và lập lịch vi lệnh hợp ngữ tối ưu năng lượng dựa trên giải thuật di truyền đa cấu trúc pipeline.


Đóng góp lý thuyết và khung phân tích

Đóng góp cho lý thuyết

Luận án mở rộng và làm phong phú hệ thống lý thuyết kỹ thuật phần mềm nhúng thông qua các đóng góp cụ thể:

  • Hình thành mô hình tối ưu hóa tổng thể 3 giai đoạn: Tích hợp kỹ nghệ xuôi (Forward Engineering) và kỹ nghệ ngược (Reverse Engineering), bao quát từ phân tích mô hình thiết kế, mã nguồn C/C++, mã hợp ngữ (Assembly) đến tệp tin nhị phân thực thi trên vi điều khiển.
  • Xây dựng lý thuyết hàm đánh giá hiệu năng ($f_p$) và bộ nhớ ($f_m$) trên biểu đồ lớp UML: Phát triển hệ tiên đề liên kết giữa số lượng thao tác bộ nhớ (cấp phát, giải phóng, truy xuất) với các phần tử hướng đối tượng: biến tĩnh ($as_j$), biến đối tượng ($ao_j$), phương thức tĩnh ($Ms_i$), phương thức đối tượng ($Mo_i$), và tham số truyền ($pk$).
  • Đóng góp vào lý thuyết tối ưu hóa đa mục tiêu Pareto: Xây dựng hàm mục tiêu toàn cục $f(x) = w_1 f_1(x) + w_2 f_2(x) + \dots + w_k f_k(x)$ với $w_i$ là vector trọng số ưu tiên, cho phép xác lập tập lời giải không bị trội (non-dominated Pareto front) giữa dung lượng bộ nhớ RAM/ROM và thời gian đáp ứng thời gian thực.

Khung phân tích độc đáo

Khung phân tích của luận án kết hợp 3 trụ cột lý thuyết: Lý thuyết Hướng mô hình (Model-Driven Theory), Lý thuyết Tối ưu hóa Tổ hợp (Combinatorial Optimization) và Lý thuyết Kiến trúc Vi xử lý Máy tính (Computer Architecture Theory).

                               Khung Phân Tích Độc Đáo

Điểm độc đáo của khung phân tích nằm ở việc trừu tượng hóa các tương tác phần mềm thành đồ thị phụ thuộc tác vụ $G = (U, V)$, trong đó đỉnh $U$ đại diện cho các hàm/module với kích thước bộ nhớ mã lệnh ($Sc$) và vùng nhớ heap ($Se$), còn cạnh $V$ thể hiện quan hệ phụ thuộc dữ liệu và thứ tự gọi hàm.


Phương pháp nghiên cứu tiên tiến

Thiết kế nghiên cứu

Luận án tuân thủ thế giới quan thực chứng (Positivism) và phương pháp nghiên cứu thực nghiệm tính toán (Experimental Computer Science). Thiết kế nghiên cứu đa tầng (Multi-level Design) được tiến hành theo quy trình kiểm chứng nghiêm ngặt:

  • Tầng 1 (Tầng mô hình thiết kế): Xây dựng DSL Metamodel trên Microsoft DSL Tools, tạo ngôn ngữ trực quan và mẫu T4 để tự động bóc tách tham số hình thức từ biểu đồ lớp và sinh mã đặc tả XML.
  • Tầng 2 (Tầng mã nguồn và biên dịch): Can thiệp vào cấu trúc Control Flow Graph (CFG) và DAG trong trình biên dịch GCC, cải tiến thuật toán CSE bằng kỹ thuật phân tích ma trận tương đương biểu thức.
  • Tầng 3 (Tầng mã hợp ngữ và phần cứng): Sử dụng giải thuật di truyền (GA) để lập lịch chuỗi vi lệnh trên 3 kiến trúc pipeline: đơn chu kỳ, đường ống chuẩn (In-Order), và siêu vô hướng (Out-of-Order).

Quy trình nghiên cứu rigorous

Để xây dựng hàm đánh giá hiệu năng $f_p$, luận án xác lập 6 độ đo thành phần cơ sở ($S_1$ đến $S_6$):

  1. $S_1$ - Kích thước biến tĩnh: $S_1 = \sum_{i=1}^{|C|} \sum_{j=1}^{|Vs_i|} size(as_j)$
  2. $S_2$ - Kích thước phương thức tĩnh: $S_2 = \sum_{i=1}^{|C|} |Ms_i|$
  3. $S_3$ - Kích thước thực thi phương thức tĩnh: $S_3 = \sum_{i=1}^{|C|} \sum_{j=1}^{|Ms_i|} \left( \sum_{k=1}^{|Pm_j|} size(pk) + size(re_j) \right)$
  4. $S_4$ - Kích thước biến đối tượng: $S_4 = \sum_{i=1}^{|C|} \sum_{j=1}^{|Vo_i|} size(ao_j)$
  5. $S_5$ - Kích thước phương thức đối tượng: $S_5 = \sum_{i=1}^{|C|} |Mo_i|$
  6. $S_6$ - Kích thước thực thi phương thức đối tượng: $S_6 = \sum_{i=1}^{|C|} \sum_{j=1}^{|Mo_i|} \left( size(this) + \sum_{k=1}^{|Pm_j|} size(pk) + size(re_j) \right)$

Hàm đánh giá hiệu năng tổng thể được thiết lập: $$f_p = \alpha S_1 + \beta S_2 + \gamma S_3 + \delta S_4 + \mu S_5 + \lambda S_6$$

Trong đó, các hệ số trọng số phụ thuộc được luận án chứng minh toán học dựa trên số chu kỳ truy xuất và cấp phát bộ nhớ vật lý: $\alpha = 2$ (1 cấp phát tĩnh + 1 truy xuất), $\beta = 2$, $\gamma = 4$ (1 nạp lệnh + 2 tham số + 1 trả về), $\delta = 3$ (1 cấp phát động + 2 truy xuất con trỏ), $\mu = 3$, và $\lambda = 7$ (2 cấp phát heap/stack + 5 truy xuất con trỏ this, tham số và kết quả).

Data và phân tích

Môi trường thực nghiệm phần cứng và phần mềm được kiểm chuẩn đồng nhất:

  • Hệ thống phần cứng thực: Bo mạch Netduino Plus tích hợp vi điều khiển Atmel AT91SAM7X512 (CPU 32-bit ARM7TDMI, tần số xung nhịp 48 MHz, 512 KB Flash ROM, 128 KB SRAM).
  • Môi trường phần mềm: Hệ điều hành nhúng .NET Micro Framework 4.2, Microsoft Visual Studio 2010 Express, trình biên dịch GCC cho ARM/MIPS.
  • Phần mềm mô phỏng mức chu kỳ vi kiến trúc: Trình mô phỏng SimpleScalar v3.0 kết hợp công cụ phân tích tiêu thụ năng lượng Sim-Wattch.
  • Tập chương trình kiểm chuẩn:
    • Netduino_8digit: Điều khiển 8 LED 7 thanh qua giao tiếp quét số.
    • Netduino_LCD: Điều khiển màn hình tinh thể lỏng LCD chuẩn HD44780U.
    • Netduino_SerialPort: Giao tiếp cổng nối tiếp bất đồng bộ UART.
    • Chương trình giải bài toán 8 quân hậu, Tháp Hà Nội.
    • Ứng dụng nhận dạng chữ Nôm phân tán (client trên thiết bị di động, engine nhận dạng trên server SOAP/Web service).

Phát hiện đột phá và implications

Những phát hiện then chốt

      So Sánh Giá Trị Hàm fp và Thời Gian Thực Thi Thực Tế
  1. Tương quan thuận tuyệt đối giữa hàm đánh giá mô hình ($f_p$) và thời gian chạy thực tế: Thực nghiệm đo lường trên 100 lần chạy lặp lại cho thấy biểu đồ lớp có giá trị $f_p$ nhỏ hơn luôn cho thời gian thực thi thực tế ngắn hơn trên phần cứng thật:

    • Netduino_8digit: Biểu đồ 1 ($f_p = 1307$) có thời gian chạy $5,054,135\ \mu\text{s}$; Biểu đồ 2 ($f_p = 879$) rút ngắn còn $4,777,056\ \mu\text{s}$ (tiết kiệm $277,079\ \mu\text{s}$, cải thiện $5.48%$).
    • Netduino_LCD: Biểu đồ 1 ($f_p = 1113$) chạy mất $8,345,647\ \mu\text{s}$; Biểu đồ 2 ($f_p = 956$) giảm xuống $8,054,425\ \mu\text{s}$ (tiết kiệm $291,222\ \mu\text{s}$, cải thiện $3.49%$).
    • Netduino_SerialPort: Biểu đồ 1 ($f_p = 600$) chạy mất $937,369\ \mu\text{s}$; Biểu đồ 2 ($f_p = 460$) giảm xuống $781,022\ \mu\text{s}$ (tiết kiệm $156,347\ \mu\text{s}$, cải thiện vượt bậc $16.68%$).
  2. Giảm thiểu dung lượng bộ nhớ đỉnh thông qua sắp xếp tô-pô: Trên đồ thị phụ thuộc tác vụ DTG, việc duyệt và lựa chọn chuỗi thứ tự thực thi tô-pô tối ưu đã giải phóng các vùng nhớ heap ($Se$) và bộ nhớ tĩnh ($Ds$) trung gian đúng thời điểm, giảm kích thước bộ nhớ chiếm dụng đỉnh của ứng dụng nhận dạng chữ Nôm từ 18% đến 32% so với thứ tự thực thi tuần tự thông thường.

  3. Cải tiến loại bỏ biểu thức con chung (CSE) tương đương đại số: Kỹ thuật biến đổi biểu thức tương đương (ví dụ biến đổi hoán vị, kết hợp trong cây cú pháp trừu tượng) kết hợp với thuật toán GCC giúp loại bỏ các phép tính dư thừa mà trình biên dịch GCC nguyên bản ở mức -O2-O3 không thể nhận diện.

  4. Lập lịch lệnh bằng thuật toán di truyền (GA) trên mã hợp ngữ: Trên kiến trúc vi xử lý MIPS mô phỏng bằng Sim-Wattch, thuật toán GA tái sắp xếp các khối lệnh cơ bản (Basic Blocks), triệt tiêu các xung đột dữ liệu (Data Hazards: RAW, WAR, WAW), giảm số chu kỳ trễ (Stall cycles) của đường ống lệnh, đồng thời giảm hệ số chuyển mạch điện dung $C_c$, giúp tiết kiệm từ 8.5% đến 21.4% năng lượng tiêu thụ động ($P_d = C_c \cdot f_x \cdot V_c^2 \cdot \alpha$).

Implications đa chiều

  • Về mặt học thuật: Mở ra hướng nghiên cứu mới trong việc kết hợp công cụ sinh mã trực quan (DSL/T4) với các bài toán tối ưu hóa tổ hợp hình thức cho hệ thống phần mềm thời gian thực.
  • Về mặt công nghiệp: Cung cấp bộ công cụ tự động hóa giúp các doanh nghiệp R&D phần mềm nhúng (IoT, Automotive, Y tế) dự báo chính xác dung lượng ROM/RAM cần thiết ngay từ khâu thiết kế, giảm chi phí kiểm thử và thu hồi chip lỗi.
  • Về mặt bảo tồn văn hóa: Ứng dụng kiến trúc tối ưu phân tán trên điện thoại di động giúp số hóa và nhận dạng tự động kho di sản văn bản chữ Nôm cổ của Việt Nam một cách hiệu quả trong điều kiện thiết bị di động có cấu hình khiêm tốn.

Limitations và Future Research

Luận án thừa nhận một số giới hạn nghiên cứu khách quan:

  1. Phạm vi kiến trúc phần cứng: Các mô hình toán học và kiểm chứng thực nghiệm chủ yếu giới hạn trên kiến trúc Von Neumann truyền thống và tập lệnh RISC 32-bit (ARM7, MIPS), chưa mở rộng sang kiến trúc bộ nhớ Harvard hoặc kiến trúc đa lõi không đồng nhất (Heterogeneous Multi-core SoC).
  2. Giả định thời gian truy xuất bộ nhớ: Hàm $f_p$ giả định thời gian truy xuất các vùng nhớ RAM và Flash là hằng số tuyến tính, chưa tính đến ảnh hưởng phức tạp của các cấp bộ nhớ đệm (Cache L1/L2 Miss penalty) và cơ chế DMA (Direct Memory Access).
  3. Mức độ phức tạp của biểu đồ UML: Khung DSL hiện tại tập trung chủ yếu vào biểu đồ lớp tĩnh (Class Diagram), chưa tích hợp đầy đủ ngữ nghĩa động từ biểu đồ tuần tự (Sequence Diagram) và biểu đồ máy trạng thái (State Machine).

Hướng nghiên cứu tương lai (Future Research Agenda)

  • Hướng 1: Tích hợp cơ chế học máy (Machine Learning) và học tăng cường (Reinforcement Learning) vào bộ sinh mã T4 để tự động đề xuất tái cấu trúc biểu đồ lớp đạt chuẩn Pareto tối ưu.
  • Hướng 2: Mở rộng hàm đánh giá cho các kiến trúc vi xử lý 64-bit đa nhân, hệ thống nhúng hỗ trợ GPU biên (Edge AI) và kiến trúc tập lệnh mở RISC-V.
  • Hướng 3: Nghiên cứu tối ưu hóa bảo mật (Security-aware Optimization) nhằm chống tấn công kênh kề (Side-channel attacks) dựa trên phân tích công suất tiêu thụ trong quá trình thực thi mã lệnh.
  • Hướng 4: Tự động hóa hoàn toàn luồng kỹ nghệ ngược từ mã máy nhị phân chuyển đổi trực tiếp về siêu mô hình DSL.

Tác động và ảnh hưởng

Nghiên cứu tạo tiền đề vững chắc cho việc nâng cao năng lực cạnh tranh công nghệ trong nước và quốc tế:

  • Tác động học thuật: Kết quả nghiên cứu đã được công bố trên các tạp chí khoa học uy tín, kỷ yếu hội nghị quốc gia và quốc tế có phản biện chuyên môn nghiêm ngặt (bao gồm các công trình thuộc danh mục ISI/Scopus và danh mục tạp chí chuyên ngành CNTT của Hội đồng Giáo sư Nhà nước).
  • Chuyển dịch công nghiệp: Đặt nền móng kỹ thuật giúp các kỹ sư phần mềm nhúng tại Việt Nam chuyển dịch từ phương thức phát triển thủ công, cảm tính sang quy trình kỹ nghệ hình thức có sự trợ giúp của máy tính (Computer-Aided Software Engineering - CASE).
  • Lợi ích kinh tế - xã hội: Giúp các công ty thiết kế vi mạch và thiết bị IoT giảm thiểu kích thước bộ nhớ chip silicon cần sử dụng, hạ giá thành sản phẩm phần cứng, đồng thời kéo dài thời lượng pin cho các thiết bị giám sát y tế cá nhân và cảm biến nông nghiệp thông minh.

Đối tượng hưởng lợi

                              CÁC ĐỐI TƯỢNG HƯỞNG LỢI
  1. Nghiên cứu sinh và Giảng viên Công nghệ thông tin: Kế thừa trực tiếp hệ thống công thức hình thức $S_1 - S_6$, mô hình đồ thị DTG và các mẫu mã nguồn DSL/T4 để phát triển các đề tài chuyên sâu về tối ưu hóa phần mềm và kỹ nghệ hướng mô hình.
  2. Kỹ sư và Trưởng dự án R&D Hệ thống nhúng/IoT: Áp dụng quy trình tối ưu hóa 3 giai đoạn để kiểm soát dung lượng bộ nhớ và thời gian đáp ứng thời gian thực, trực tiếp cải thiện từ 5% đến 16.68% hiệu năng mã nguồn trên các dòng vi điều khiển công nghiệp.
  3. Các tổ chức nghiên cứu và bảo tồn văn hóa: Khai thác mô hình kiến trúc phân tán nhận dạng chữ Nôm trên thiết bị cầm tay để xây dựng các trạm tra cứu di sản văn tự Hán-Nôm trực địa tại các di tích lịch sử.

Câu hỏi chuyên sâu

1. Đóng góp lý thuyết độc đáo nhất của luận án là gì và nó mở rộng lý thuyết nào?

Đóng góp độc đáo nhất là Bộ công thức đánh giá hiệu năng hình thức ($f_p$) và bộ nhớ ($f_m$) trực tiếp trên biểu đồ lớp UML. Công trình này mở rộng trực tiếp Lý thuyết Kỹ nghệ Hiệu năng Phần mềm (SPE) của Smith & Williams (2002) bằng cách thay thế các mô hình mạng hàng队列 ngẫu nhiên phức tạp bằng các độ đo cấu trúc tĩnh - động có thể tự động bóc tách thông qua bộ sinh mã DSL/T4, cho phép dự báo chính xác thứ bậc hiệu năng phần mềm trước khi tiến hành viết mã nguồn.

2. Sự đổi mới về mặt phương pháp luận so với các nghiên cứu quốc tế trước đây thể hiện ở điểm nào?

So với nghiên cứu của Thompson, White & Dougherty (2009) (chỉ dùng DSL để sinh mã mô phỏng mức cao trên máy ảo) và Anne, K. (2006, 2008) (chuyển đổi mô hình dữ liệu tĩnh thủ công), luận án đã tự động hóa hoàn toàn quy trình phân tích mô hình bằng DSL Metamodel kết hợp mẫu bản mẫu văn bản T4, đồng thời tích hợp thuật toán sắp xếp tô-pô trên đồ thị tác vụ $G=(U,V)$ để tối ưu hóa bộ nhớ đỉnh một cách tất định.

3. Phát hiện thực nghiệm nào gây bất ngờ nhất và dữ liệu chứng minh là gì?

Phát hiện bất ngờ nhất là mức độ cải thiện hiệu năng thực tế trên vi điều khiển phụ thuộc rất lớn vào bản chất của các thao tác I/O và con trỏ đối tượng. Cụ thể, trên chương trình Netduino_SerialPort, việc tối ưu hóa biểu đồ lớp giúp giảm hàm $f_p$ từ 600 xuống 460 (giảm 23.3%) đã dẫn đến việc rút ngắn thời gian thực thi thực tế tới $16.68%$ (từ $937,369\ \mu\text{s}$ xuống $781,022\ \mu\text{s}$), cao hơn nhiều so với tỷ lệ cải thiện của các thuật toán xử lý tính toán thuần túy như Netduino_8digit ($5.48%$). Điều này chứng minh chi phí cấp phát đối tượng và con trỏ this ($\lambda = 7$) trong môi trường máy ảo nhúng .NET Micro Framework chiếm tỷ trọng trễ vượt trội.

4. Giao thức tái lập thực nghiệm (Replication Protocol) có được cung cấp chi tiết không?

Luận án cung cấp phụ lục thực nghiệm toàn diện với đầy đủ mã nguồn, văn phạm XML định nghĩa siêu mô hình DSL, mẫu T4 trích xuất thuộc tính lớp, mã nguồn C# trên Visual Studio 2010 Express, sơ đồ kết nối chân mạch phần cứng vi điều khiển AT91SAM7X512 với màn hình LCD HD44780U và hệ thống LED 8 số, cùng cấu hình chi tiết của trình mô phỏng SimpleScalar/Sim-Wattch.

5. Lộ trình nghiên cứu 10 năm được định hình như thế nào?

Lộ trình nghiên cứu 10 năm tập trung vào 3 giai đoạn:

  • Giai đoạn 1 (Nền tảng): Chuẩn hóa công cụ DSL/T4 thành plugin tích hợp sẵn trong các IDE phát triển nhúng mã nguồn mở (Eclipse, VS Code).
  • Giai đoạn 2 (Mở rộng kiến trúc): Phát triển bộ tham số hóa cho các kiến trúc vi xử lý đa lõi, GPU nhúng và vi xử lý RISC-V.
  • Giai đoạn 3 (Tự động hóa thông minh): Ứng dụng trí tuệ nhân tạo (AI-driven Compilation) để tự động tổng hợp kiến trúc phần cứng - phần mềm đồng thiết kế (Hardware/Software Co-design) đạt chuẩn tối ưu Pareto tự động.

Kết luận

Luận án tiến sĩ của tác giả Phạm Văn Hưởng đã đạt được các kết quả khoa học nổi bật:

  1. Xây dựng thành công mô hình tối ưu hóa tổng thể phần mềm nhúng tích hợp hài hòa kỹ nghệ xuôi và kỹ nghệ ngược xuyên suốt 3 giai đoạn: Thiết kế, Lập trình, và Thực thi.
  2. Đề xuất và hiện thực hóa bộ công thức định lượng hình thức $S_1 - S_6$ cùng hàm đánh giá hiệu năng $f_p$ và bộ nhớ $f_m$ trên biểu đồ lớp UML, được tự động hóa bằng khung làm việc Microsoft DSL Tools và mẫu sinh mã T4.
  3. Phát triển thuật toán tối ưu hóa bộ nhớ đỉnh trên đồ thị phụ thuộc tác vụ DTG dựa trên kỹ thuật sắp xếp chuỗi tô-pô tối ưu, chứng minh khả năng giảm thiểu từ 18% đến 32% dung lượng RAM chiếm dụng.
  4. Cải tiến kỹ thuật khử biểu thức con chung (CSE) tương đương trên trình biên dịch GCC và thuật toán di truyền lập lịch vi lệnh hợp ngữ tối ưu xung đột pipeline và điện năng tiêu thụ trên kiến trúc ARM và MIPS.
  5. Kiểm chứng thực nghiệm nghiêm ngặt trên phần cứng vi điều khiển thực tế AT91SAM7X512 (ARM7) với .NET Micro Framework 4.2 và ứng dụng nhận dạng chữ Nôm di động, xác nhận mức cải thiện thời gian thực thi thực tế đạt từ 3.49% đến 16.68%.
  6. Mở ra 3 nhánh nghiên cứu chuyên sâu mới: Tối ưu hóa hướng mô hình tự động cho hệ nhúng đa lõi, kỹ nghệ tái cấu hình động phần cứng thích nghi runtime, và ứng dụng phần mềm nhúng tối ưu trong số hóa di sản văn hóa dân tộc.