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

Adaptive AUTOSAR

Adaptive AUTOSAR là gì

Adaptive AUTOSAR Là một định nghĩa phần mềm/middleware chuẩn hóa cho phần mềm ô tô dành cho các ECU với khả năng tính toán hiệu suất cao trong tương lai. Nó không định nghĩa một thiết kế/cài đặt cụ thể như Classic AUTOSAR mà để lại một mức độ tự do nhất định cho quá trình phát triển.

Các giao diện nội bộ giữa các thành phần của Adaptive AUTOSAR Platform sẽ không được chuẩn hóa.

Adaptive AUTOSAR Platform giải quyết các chức năng phần mềm sau trên hệ điều hành POSIX:

Runtime: Quản lý thực thi, Quản lý trạng thái, Nhật ký và Truy vết, Core, Giao diện OS.
Communication: Quản lý giao tiếp, Đồng bộ hóa thời gian, Dòng dữ liệu thô, Quản lý mạng.
Storage: Lưu trữ.
Safety: Quản lý sức khỏe nền tảng.
Security: Mã hóa, Quản lý hệ thống phát hiện xâm nhập, Tường lửa.
Diagnostic: Quản lý chuẩn đoán.
Configuration: Quản lý cập nhật và cấu hình, Quản lý cập nhật và cấu hình phương tiện, Đăng ký.

Tổng quan về Adaptive AUTOSAR
Tổng quan về Adaptive AUTOSAR

Adaptive Application [AA]: Thành phần cấp người dùng thực hiện hầu hết các chức năng cụ thể của dự án/ECU và chạy trên môi trường (ara), được cung cấp bởi các thành phần của nền tảng (FC).

Functional Clusters [FC]: Nhóm chức năng logic, thành phần con của các khối xây dựng trên (cấp độ trừu tượng thứ hai). Có thể được triển khai dưới dạng thư viện hoặc quy trình (dựa trên thư viện hoặc dịch vụ), thuộc về nền tảng Adaptive Platform Foundation, Adaptive Platform Services, Standard Application/Interfaces hoặc Vehicle Services.

Adaptive Platform [AP] Foundation: Nhóm các Functional Cluster cung cấp các chức năng cơ bản.

Adaptive Platform Service: Nhóm các FC cung cấp các dịch vụ chuẩn hóa.

Tại sao Adaptive AUTOSAR?

Tăng cường sức mạnh tính toán do các bộ vi xử lý nhúng cung cấp, cả về sức mạnh xử lý của các lõi bộ vi xử lý và số lượng lõi.
Sự chấp nhận của Automotive Ethernet mang lại băng thông truyền thông lớn hơn.
Sự gia tăng các chức năng phức tạp và nhu cầu về kiến trúc xe linh hoạt, năng động hơn.
⟹ Adaptive AUTOSAR được giới thiệu để đáp ứng những nhu cầu này (giao tiếp V2X, sức mạnh tính toán, chức năng phức tạp, khả năng mở rộng, khả năng nâng cấp), không phải để thay thế Classic AUTOSAR đã có (chức năng điều khiển an toàn) hay các hệ thống không phải AUTOSAR như IVI/COST, mà là để tương tác với các hệ thống xe hiện có và các cơ sở hạ tầng ngoài xe.

Adaptive AUTOSAR sử dụng chuẩn C++ 14, kiến trúc hướng dịch vụ, nó cung cấp sự linh hoạt trong suốt quá trình phát triển và triển khai khi chạy, nhưng hành vi động của hệ thống có thể bị giới hạn/hạn chế bởi người tích hợp hệ thống thông qua Execution Manifest (dự định động).

Ví dụ về việc giảm tính động của hành vi (giao tiếp, bộ nhớ, thực thi & thời gian):

Xác định trước quy trình phát hiện dịch vụ.
Hạn chế cấp phát bộ nhớ động chỉ trong giai đoạn khởi động.
Chính sách lập lịch công bằng ngoài lập lịch dựa trên ưu tiên.
Cấp phát cố định các quy trình vào các lõi CPU.
Truy cập chỉ vào các tệp đã có sẵn trong hệ thống tệp.
Ràng buộc đối với việc sử dụng API của AUTOSAR Adaptive Platform bởi các ứng dụng.
Chỉ thực thi mã đã được xác thực.
⟹ TÓM TẮT: Adaptive AUTOSAR = SoC hiệu suất cao/multi-core + Automotive Ethernet + Hệ điều hành POSIX (PSE51) + Kiến trúc hướng dịch vụ(Services-Oriented-Architecture).

Adaptive Platform Functional Cluster SHORTNAME
(used e.g. in namespace
and include structure)
Log&Trace
Context ID
Adaptive Platform Core core #COR
Communication Management com #COM
Cryptography crypto #CRY
Diagnostics diag #DIA
Execution Management exec #EXE
Firewall fw #FWX
Intrusion Detection System Manager idsm #IDS
Log and Trace log #LOG
Network Management nm #NMX
Operating System Interface n/a #OSI
Persistency per #PER
Platform Health Management phm #PHM
Raw Data Stream rds #RDS
State Management sm #SMX
Time Synchronization tsync #TSY
Update and Configuration Management ucm #UCM
Vehicle Update and Configuration Management vucm #VUM
Safe Hardware Accelerator shwa #SHA

I. Tổng quan về Functional Clusters (Khối xây dựng)

Daemon-based: Quy trình chạy trong nền (background).

Machine: Là một ECU-HW gần như được ảo hóa, là thực thể mà phần mềm có thể được triển khai vào. Trong tinh thần này, một ECU-HW thực tế có thể chạy nhiều Máy (Machine), mặc dù phương pháp này không chi tiết hóa vấn đề này. Trong trường hợp đơn giản nhất, có sự ánh xạ 1:1 giữa một Máy và một ECU-HW.

LƯU Ý: Các sơ đồ dưới đây chỉ là tài liệu tham khảo ban đầu về các giao diện FC. Nó không đề cập đến tất cả các giao diện FC của Adaptive Platform, điều này phụ thuộc vào cách giải thích và triển khai của nhà cung cấp cụ thể.

I.1 Runtime

Execution Management: Chịu trách nhiệm kiểm soát các Quy trình (Processes) của Adaptive Platform AUTOSAR và các Ứng dụng Adaptive Application (ví dụ: khởi động, cấu hình và dừng các Quy trình).

Điểm vào của Adaptive Platform AUTOSAR, được khởi động bởi OS trong quá trình khởi động hệ thống.
Kiểm soát việc khởi động/tắt của Adaptive Platform AUTOSAR.
Cấu hình tài nguyên quy trình (thời gian CPU, bộ nhớ) dựa trên Manifest.
Hỗ trợ khởi động xác thực (boot) tùy chọn.

Execution Management interfaces
Execution Management interfaces

Concept:

Concept Adaptive Autosar
Concept Adaptive Autosar

Quy trình Khởi động:

Hệ điều hành (OS) hoặc hypervisor khởi tạo và sau đó khởi động Execution Management như là quy trình đầu tiên của Adaptive AUTOSAR ⟹ EXEC sau đó khởi động các FC hoặc AA khác theo Manifest. Quá trình khởi động xác thực cũng sẽ được thực hiện, và trạng thái của các quy trình đã được khởi động sẽ được thông báo đến PHM (Platform Health Management) để tiếp tục giám sát.
Trạng thái Nhóm Chức Năng Máy (Machine Functional Group – FG):

Là nhóm các quy trình (Adaptive Platform FC, Adaptive Application) có sẵn tại một trạng thái Máy cụ thể (ví dụ: Startup, Running, Shutdown).
Trạng thái Nhóm Chức Năng (FG State):

Là nhóm các quy trình có sẵn tại trạng thái yêu cầu của FG được quản lý bởi State Management (ví dụ: Startup, Driving, Restart, Parking,…).
Trạng thái Quy trình/Thực thi (Process/Execution State):

Là trạng thái của quy trình (ví dụ: Initializing, Running, Terminating).

Quy trình Adaptive Autosar
Quy trình Adaptive Autosar
State Management - Adaptive Autosar
State Management – Adaptive Autosar

State Management: Dựa trên các đầu vào cụ thể của ứng dụng, xác định trạng thái mục tiêu mong muốn của các Ứng dụng Adaptive.

Hoạt động quản lý trạng thái là đặc thù cho từng ứng dụng.
Hành động điều khiển trạng thái được giao cho Execution Management (tức là trạng thái = tập hợp các Trạng thái Nhóm Chức Năng (Function Group State) đang hoạt động).

State Management interfaces
State Management interfaces

Log and Trace: Cung cấp chức năng để xây dựng và ghi lại các thông điệp với các mức độ nghiêm trọng khác nhau vào các đích khác nhau (ví dụ: mạng, bus nối tiếp, bảng điều khiển và bộ nhớ không bay hơi).

Cung cấp dòng log cho các mức độ nghiêm trọng khác nhau.
Định dạng đầu ra và các đích (sinks) có thể cấu hình được.

Log&Trace interfaces - Adaptive Autosar
Log&Trace interfaces – Adaptive Autosar

Adaptive Platform Core: Cung cấp chức năng cho việc khởi tạo và hủy khởi tạo AUTOSAR Runtime cho các Ứng dụng Adaptive cũng như kết thúc các Quy trình.

Định nghĩa bộ các kiểu dữ liệu chung được sử dụng bởi nhiều Functional Clusters như là một phần của các giao diện công cộng của chúng.
Cung cấp các chức năng khởi tạo và tắt toàn cầu, khởi tạo và hủy khởi tạo các cấu trúc dữ liệu và các luồng (threads) của AUTOSAR Runtime cho các Ứng dụng Adaptive.
Xử lý lỗi chung, các thao tác cho việc kết thúc bất thường của các quy trình.
Operating System Interface: Cung cấp chức năng để triển khai các ứng dụng nhúng thời gian thực đa luồng và tương ứng với hồ sơ POSIX PSE51.

TBD (To Be Determined): Chưa rõ, có gọi trực tiếp từ không gian tên C (C namespace) hay cần mã lớp bao bọc bổ sung, liệu có cần thêm logic quản lý nào không?

OS Interface
OS Interface

I.2 Communication

Communication Management: Chịu trách nhiệm cho tất cả các cấp độ của giao tiếp hướng dịch vụ giữa các ứng dụng trong môi trường nhúng thời gian thực phân tán. Cụ thể là giao tiếp trong quy trình (intra-process communication), giao tiếp giữa các quy trình (inter-process communication) và giao tiếp giữa các máy (inter-machine communication).

Buộc phải chấp nhận hoặc loại bỏ một thông điệp, có thể thực hiện xác minh người xác thực hoặc độc lập với kết quả xác minh người xác thực.
Lấy giá trị tính mới hiện tại cho các thông điệp đã nhận/gửi.

Communication Management interfaces
Communication Management interfaces

Raw Data Stream: Chịu trách nhiệm cho việc truyền thông thô giữa các ứng dụng trong môi trường nhúng thời gian thực phân tán.

Cung cấp giao diện client/server để đọc/ghi dòng dữ liệu nhị phân thô qua kết nối mạng.

Raw Data Stream interfaces
Raw Data Stream interfaces

Network Management: Yêu cầu và truy vấn trạng thái mạng cho các handle mạng logic.

Lấy trạng thái mạng hiện tại hoặc trạng thái yêu cầu, ví dụ: nếu PNC / VLAN / Mạng Vật lý hiện tại đang hoạt động/không hoạt động hoặc đang yêu cầu/phát hành.
Đặt trạng thái mạng yêu cầu mới.

Network Management interfaces
Network Management interfaces

Time Synchronization: Cung cấp thông tin thời gian đồng bộ trong các ứng dụng phân tán.

Cung cấp giao diện để lấy/cài đặt điểm thời gian hiện tại, độ sai lệch tỉ lệ, trạng thái hiện tại và dữ liệu người dùng đã nhận (?).

Time Synchronization interfaces
Time Synchronization interfaces

I.3 Storage

Persistency: Lưu trữ và truy xuất thông tin từ/bộ nhớ không bay hơi của một Máy.

Dữ liệu tồn tại (persistent data) luôn riêng biệt với một Quy trình và được lưu lại qua các chu kỳ khởi động và bật/mở khóa (ignition cycles) (chỉ có đường truyền dữ liệu là Communication Management).
Hỗ trợ truy cập đồng thời từ nhiều luồng của cùng một ứng dụng chạy trong ngữ cảnh của cùng một Quy trình.
Cung cấp tính toàn vẹn, bảo mật qua EDC (Error Detection Code), ECC (Error Correction Code) và mã hóa.
Lưu trữ tệp, lưu trữ cặp khóa-giá trị (key-value pairs).

Persistency interfaces
Persistency interfaces

I.4 Security

Cryptography: Cung cấp các hàm mã hóa khác nhau để đảm bảo tính bảo mật của dữ liệu, đảm bảo tính toàn vẹn của dữ liệu (ví dụ, sử dụng hàm băm), và các chức năng phụ trợ như quản lý khóa và tạo số ngẫu nhiên.

Hỗ trợ đóng gói các hoạt động nhạy cảm về bảo mật.
Cung cấp giao diện mã hóa, lưu trữ khóa, và xử lý chứng chỉ x509.

Cryptography interfaces
Cryptography interfaces

Intrusion System Detection Manager: Cung cấp chức năng để báo cáo các sự kiện bảo mật.

Intrusion System Detection Manager interfaces
Intrusion System Detection Manager interfaces

Firewall: Chịu trách nhiệm lọc lưu lượng mạng dựa trên các quy tắc tường lửa để bảo vệ hệ thống khỏi các thông điệp độc hại.

Phân tích các quy tắc tường lửa từ Manifest và cấu hình công cụ tường lửa cơ bản tương ứng.
Xử lý các chế độ khác nhau (ví dụ: lái xe, đỗ xe, phiên chuẩn đoán) bằng cách bật/tắt các quy tắc tường lửa dựa trên chế độ đang hoạt động.
Báo cáo sự kiện bảo mật cho Intrusion Detection System Manager.

Firewall interfaces
Firewall interfaces

I.5 Safety

Platform Health Manager: Thực hiện giám sát thực thi các quy trình quan trọng về an toàn và quản lý hoạt động của watchdog.

Thực hiện giám sát (sự sống, logic và hạn cuối) đối với các quy trình trong các cấu hình quan trọng về an toàn và báo cáo các lỗi cho State Management.
Kiểm soát Watchdog, qua đó giám sát hoạt động của Platform Health Management

Platform Health Manager interfaces
Platform Health Manager interfaces

I.6 Configuration

Update and Configuration Management: Chịu trách nhiệm cập nhật, cài đặt, gỡ bỏ và lưu giữ hồ sơ phần mềm trên Adaptive Platform AUTOSAR một cách an toàn và bảo mật.

Update and Configuration Management interfaces
Update and Configuration Management interfaces

Vehicle Update and Configuration Management: Chịu trách nhiệm cập nhật, cài đặt, gỡ bỏ và lưu giữ hồ sơ phần mềm được cài đặt trên toàn bộ phương tiện.

Cho phép cập nhật phần mềm và cấu hình của nó một cách linh hoạt thông qua cập nhật qua mạng không dây (OTA – Over-The-Air).

Vehicle Update and Configuration Management interfaces
Vehicle Update and Configuration Management interfaces

Registry: Cung cấp thông tin truy cập lưu trữ trong Manifest (cấu trúc tệp json), dành riêng để sử dụng bởi các Platform FCs.

Registry interfaces
Registry interfaces

I.7 Diagnostic

Diagnostic Management: Chịu trách nhiệm xử lý các chức năng chuẩn đoán.

Quản lý các sự kiện chuẩn đoán được tạo ra bởi các Quy trình riêng lẻ.
Cung cấp quyền truy cập vào dữ liệu chuẩn đoán cho các Diagnostic Clients bên ngoài thông qua các giao thức mạng chuẩn hóa (ISO 14229, 13400).

Diagnostic Management interfaces
Diagnostic Management interfaces

II. Phương Pháp Phát Triển Adaptive AUTOSAR

AUTOSAR_AP_TR_Methodology

Phương pháp phát triển là một cách tiếp cận kỹ thuật chung (tức là các bước phát triển và kết quả tương ứng). Phương pháp phát triển Adaptive AUTOSAR được xây dựng dựa trên nền tảng Classic Platform đã có (là một mở rộng mà không cần phải tái phát minh lại từ đầu).

Các hoạt động phát triển là gì?

Về phần mềm:
OEM (Original Equipment Manufacturer): Định nghĩa kiến trúc chức năng phương tiện.
Tier 1: Phát triển và tích hợp các ECU với CP, AP hoặc kết hợp CP/AP, hoặc các hệ thống không phải AUTOSAR.
Các nhà cung cấp khác: Phát triển phần mềm nền tảng hoặc phần mềm các thành phần cụ thể.

Development methodology of Adaptive Autosar 1

Development methodology of Adaptive Autosar 2
Development methodology of Adaptive Autosar 2

Hình trên cho thấy phương pháp phát triển Adaptive AUTOSAR theo cách tiếp cận tổng quát từ trên xuống.

Về việc triển khai, ở cấp ECU, Adaptive AUTOSAR có một số khác biệt nhẹ so với Classic AUTOSAR. Tuy nhiên, đối với phát triển nói chung, việc phát triển Adaptive Application [ứng dụng] và Machine configuration/integration [nền tảng] tương tự như các hoạt động phát triển trong Classic AUTOSAR (Phát triển Application SWCs và cấu hình/tích hợp BSW).

Các sản phẩm đầu ra tương ứng?

Vậy các sản phẩm đầu ra từ các hoạt động phát triển trên là gì? (tức là, dữ liệu trao đổi giữa các bên tham gia trong quá trình phát triển).

Các sản phẩm đầu ra tương ứng
Các sản phẩm đầu ra tương ứng

Tài liệu phân tích và thiết kế như trong bất kỳ quy trình phát triển phần mềm nào khác.
Cũng giống như Classic AUTOSAR, Adaptive AUTOSAR cũng sử dụng arxml như là phương tiện chính để trao đổi/mô tả dữ liệu/thiết kế, chẳng hạn như: mô tả phần mềm, topologie mạng, giao tiếp mạng, cấu hình, …

Các sản phẩm triển khai thực tế là giống nhau, vì mã nguồn được triển khai bằng C++ và các tệp thực thi đầu ra là các nhị phân cấp ứng dụng/nền tảng, được triển khai dưới dạng các quy trình trong môi trường POSIX-runtime.

Đối với cấu hình [manifest]: thiết kế manifest arxml, tức là bước cấu hình và manifest triển khai tương ứng (trước khi biên dịch) mã được tạo ra, (sau khi xây dựng) json, các tệp cấu hình môi trường thời gian chạy, tức là dữ liệu đã triển khai thực tế.

III. Khái niệm về Adaptive AUTOSAR

AUTOSAR_FO_EXP_SWArchitecturalDecisions, AUTOSAR_AP_EXP_PlatformDesign, AUTOSAR_AP_EXP_SWArchitecture, AUTOSAR_AP_TPS_ManifestSpecification

Phương pháp thiết kế và triển khai?

Các khái niệm quan trọng cần hiểu trước khi thiết kế/triển khai Adaptive Platform: gọi hệ thống của POSIX OS, IPC (Inter-Process Communication) của kernel, cơ chế chia sẻ bộ nhớ, hệ thống tệp, quy trình, tệp thực thi, luồng, tính đồng thời (concurrency).

⟹ Phương pháp thiết kế tổng thể của hệ thống và Adaptive Platform: Kiến trúc hướng dịch vụ (Service-oriented-Architecture)

Mỗi AA (Adaptive Application) hoặc AP FCs (Functional Clusters của Adaptive Platform) chạy trong quy trình riêng của chúng, cung cấp dịch vụ của mình qua các giao diện.
AP FCs cung cấp dịch vụ cho AA và các FCs khác qua các giao diện thư viện của chúng (tức là ara = tập hợp các API C++ công khai của các FCs được cung cấp cho AA qua header/libs).
Giao tiếp giữa các AAs không nên thực hiện bằng cách gọi trực tiếp IPC, thay vào đó, sự tương tác giữa chúng sẽ được thực hiện qua Communication Management FC, bao gồm cả giao tiếp trong và giữa các máy (intra và inter Machine communication).

Phương pháp thiết kế và triển khai
Phương pháp thiết kế và triển khai

ARA: Bao gồm các giao diện ứng dụng được cung cấp bởi các Adaptive Platform FCs.

Triển khai: Tái sử dụng các tiêu chuẩn hiện có như STL (Standard Template Library).

Application interfaces - Adaptive Platform FCs
Application interfaces – Adaptive Platform FCs

Execution, service and machine manifest?

Manifest có nghĩa là một đặc tả chính thức về nội dung cấu hình, kết hợp với các sản phẩm đầu ra khác (như tệp nhị phân) chứa mã thực thi mà Manifest áp dụng để cung cấp các chức năng cụ thể. Manifest của một FC có thể được phân phối thành nhiều tệp vật lý.

Trong thiết kế: Dữ liệu manifest được lưu trữ trong các tệp arxml.
Đối với việc triển khai: Dữ liệu manifest có thể có dạng một tệp cấu hình Linux (.conf) để được tải bởi mô-đun kernel hoặc tệp json, được tải bởi Adaptive AUTOSAR FC trong suốt quá trình chạy, hoặc các tệp cấu hình header/source (.h, .cpp) được bao gồm trong quá trình biên dịch giống như AUTOSAR Classic.

Design Manifest to deploy Manifest
Design Manifest to deploy Manifest

⟹ Bước để chuyển từ dữ liệu thiết kế Manifest sang dữ liệu triển khai Manifest được gọi là SERIALIZATION.

Manifest Categories
Manifest Categories

Application Manifest: Nội dung mô tả tất cả các khía cạnh của việc triển khai một ứng dụng, bao gồm – nhưng không giới hạn – cấu hình khởi động và cấu hình các điểm cuối giao tiếp hướng dịch vụ ở cấp độ ứng dụng.

Thiết kế phần mềm component và composition.
Mô tả tệp thực thi.
Thiết kế quy trình.
Machine Manifest: (mỗi máy) manifest runtime mô tả nội dung liên quan đến việc triển khai áp dụng cho cấu hình của máy nền tảng.

Cấu hình giao diện mạng.
Các tài nguyên phần cứng có sẵn của máy (ECU), trạng thái.
⟹ Triển khai thực tế nên là một nhóm các tệp Manifest cho cấu hình đặc thù của máy.

Service Manifest: (mỗi quy trình) manifest runtime mô tả cách giao tiếp hướng dịch vụ ở cấp độ lớp vận chuyển được gắn với các điểm cuối trong ứng dụng và (trong một số trường hợp) phần mềm nền tảng.

Kiểu dữ liệu cho Adaptive Platform.
Định nghĩa giao diện dịch vụ.
Execution Manifest: (mỗi quy trình) manifest runtime mô tả thông tin liên quan đến việc triển khai của các ứng dụng chạy trên nền tảng AUTOSAR Adaptive, kết hợp với mã thực thi thực tế để hỗ trợ việc tích hợp mã thực thi lên máy, và giữ mã phần mềm ứng dụng càng độc lập càng tốt với kịch bản triển khai.

Liên kết giữa mã thực thi và quy trình thực tế cùng với các thuộc tính liên quan như thời gian, ưu tiên, tài nguyên, …
Cấu hình khởi động và phụ thuộc giữa các quy trình và trạng thái của chúng.

Việc triển khai phần mềm của Adaptive AUTOSAR hoạt động như thế nào?

Sau khi hoàn thành triển khai, bạn sẽ có các sản phẩm đầu ra:

AA, FC executables.
Các thư viện chia sẻ tương ứng và các header/public externals.
Các deployment manifest tương ứng (.json, .conf).
Tích hợp và triển khai phần mềm (trên nền tảng Adaptive Platform) bao gồm tất cả các hoạt động cần thiết để làm cho phần mềm được chỉ định chạy trên một máy cụ thể, xác định bởi phần cứng, mạng kết nối, hệ điều hành và (một số) phần mềm nền tảng cấp Adaptive.

Làm thế nào để bạn tích hợp/triển khai các sản phẩm đầu ra này vào môi trường máy?

Adaptive AUTOSAR integration and deployment
Adaptive AUTOSAR integration and deployment

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