5/5 - (2 bình chọn)

Chuyển đổi phần mềm Legacy sang phần mềm AUTOSAR

Bài viết này sẽ hướng dẫn cách tái thiết kế cấu trúc mã đã hoàn thiện để sử dụng trong cấu trúc AUTOSAR Platform ICC1. Sự quan tâm đối với AUTOSAR ngày càng tăng, nhằm đáp ứng yêu cầu từ OEM về việc giao nộp phần mềm dựa trên AUTOSAR Platform hoặc phục vụ nghiên cứu tiên tiến. Việc sử dụng AUTOSAR Platform để phát triển phần mềm có ưu điểm linh hoạt khi đáp ứng các yêu cầu về Hierarchical Levels Software Component theo A-SPICE và ISO 26262 Part.6.

Cấu Trúc Cơ Bản Của Autosar Platform
Cấu Trúc Cơ Bản Của Autosar Platform

Tuy nhiên, các công cụ AUTOSAR được ủy quyền thường có chi phí giấy phép cao, và nếu cần từ bỏ mã hiện có để bắt đầu lại từ đầu, sẽ phát sinh thêm công sức và chi phí. RapidAUTO có thể là một giải pháp thay thế phù hợp.

Cấu trúc cơ bản của AUTOSAR Platform

AUTOSAR Platform bao gồm 3 lớp chính:

Autosar Platform Bao Gồm 3 Lớp Chính
Autosar Platform Bao Gồm 3 Lớp Chính

Basic Software Layer: Chứa mã phụ thuộc vào phần cứng (Hardware Dependent).
ECU-Hardware: Loại bỏ mã phụ thuộc phần cứng.
Software Application Layer: Thực hiện logic.
Trong giai đoạn ICC1 của AUTOSAR, mã Legacy thường không tương thích với cấu trúc AUTOSAR. Ví dụ, trong AUTOSAR, biến được chia sẻ giữa các component phải được đọc và ghi thông qua RTE (Runtime Environment), trong khi mã Legacy thường sử dụng khai báo extern để truy cập tự do. Việc chuyển đổi này đòi hỏi một quá trình chỉnh sửa và tối ưu hóa.

Quy trình chuyển đổi Legacy Code sang AUTOSAR Platform

1. Phân tích các file có thể nhóm thành component trong mã Legacy

Phân Tích File Trong Mã Legacy
Phân Tích File Trong Mã Legacy

Trong AUTOSAR, các component được chia thành các đơn vị chức năng có thể tái sử dụng.
Phân tích mối quan hệ giữa các file chứa biến và hàm đã khai báo (component nguồn) và các file sử dụng (component đích).
Chuyển đổi các cấu trúc để truyền nhận dữ liệu giữa các component thông qua RTE, thay vì sử dụng khai báo trực tiếp.

2. Xử lý các trường hợp biến extern chồng chéo giữa các component

Xử Lý Trường Hợp Biến Extern Chồng Chéo Giữa Các Component
Xử Lý Trường Hợp Biến Extern Chồng Chéo Giữa Các Component

Để tuân thủ cấu trúc AUTOSAR, đảm bảo rằng không có biến nào được chia sẻ trực tiếp giữa các component.
Ví dụ:
File Main_Sensor chứa dữ liệu cảm biến xung động.
File Crash_Detector tham chiếu trực tiếp dữ liệu từ Main_Sensor để phát hiện va chạm.
Trong cấu trúc AUTOSAR, dữ liệu này phải được truyền qua RTE, không tham chiếu trực tiếp.

3. Thiết kế interface để truyền nhận dữ liệu giữa các component

Tên giao diện

phần tử dữ liệu

biến (Cũ)

Kiểu

IMainSensorDữ liệu

tai nạnTác động

sự cố_tác động

uint8

Tạo interface để khai báo dữ liệu truyền nhận qua RTE.
Ví dụ: Từ cấu trúc sử dụng extern giữa Main_Sensor và Crash_Detector, chuyển sang sử dụng interface ImainSensorData để giao tiếp qua RTE.

4. Xây dựng mô hình thiết kế kiến trúc phần mềm (SWAD)

Xây Dựng Mô Hình Thiết Kế Kiến Trúc Phần Mềm
Xây Dựng Mô Hình Thiết Kế Kiến Trúc Phần Mềm

Sử dụng công cụ RapidAUTO để thiết kế mô hình SWAD.
Mô tả các giao tiếp giữa component thông qua RTE.
Ví dụ: Biến crash_Impact được truyền từ component Main_Sensor sang Crash_Detector thông qua interface đã thiết kế.

5. Sửa đổi các biến extern trong Legacy Code thành static

Sửa đổi Các Biến Extern Trong Legacy Code Thành Static
Sửa đổi Các Biến Extern Trong Legacy Code Thành Static

Thay đổi các biến extern trong mã Legacy thành static để chỉ sử dụng nội bộ trong từng component.
Thêm các hàm PreProcess() và PostProcess() để xử lý giá trị của biến static thông qua RTE.
Các hàm này đảm bảo dữ liệu vẫn được truyền đúng cách thông qua Read và Write từ RTE.

6. Xây dựng mô hình Detailed Design và tái sử dụng mã Legacy

Xây Dựng Mô Hình Detailed Design Và Tái Sử Dụng Mã Legacy
Xây Dựng Mô Hình Detailed Design Và Tái Sử Dụng Mã Legacy

RapidAUTO hỗ trợ thiết kế kiến trúc AUTOSAR (Architect Design) và thiết kế chi tiết (Detailed Design) dựa trên UML.
Tận dụng mã Legacy hiện có để giảm công sức viết lại.
Ví dụ: Component Main_Sensor và Crash_Detector chứa mã Legacy được sửa đổi để giao tiếp thông qua RTE_SoftwareComponent.

7. Tạo mã tích hợp và kiểm tra

Tạo Mã Tích Hợp Và Kiểm Tra
Tạo Mã Tích Hợp Và Kiểm Tra

Sử dụng RapidAUTO để tạo mã ICC1 RTE.
Tích hợp mã Legacy đã sửa đổi và thực hiện kiểm tra để đảm bảo chức năng tương đương với mã ban đầu.
Lợi ích của RapidAUTO trong chuyển đổi Legacy Code
Tiết kiệm công sức và chi phí:
Sử dụng lại mã Legacy, giảm thiểu công sức viết lại từ đầu.
Tích hợp tiêu chuẩn:
Tuân thủ ISO 26262, AUTOSAR, và A-SPICE.
Hiệu quả cho nghiên cứu tiên tiến và đáp ứng yêu cầu từ OEM:
RapidAUTO là giải pháp thay thế hiệu quả khi thiếu kinh nghiệm về AUTOSAR hoặc phải thực hiện chuyển đổi mã Legacy.

Xem Thêm chuyên mục :

Autosar Classic

Autosar Adaptive

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây