ISO 26262: Tác động của các chỉ số ASIL đến thiết kế phần mềm nhúng

ISO 26262: Tác động của các chỉ số ASIL đến thiết kế phần mềm nhúng

Hãy tìm hiểu cách các chỉ số ASIL định nghĩa lại các tiêu chuẩn cho thiết kế phần mềm nhúng hiện đại.

Các chỉ số ASIL ảnh hưởng đến phương pháp thiết kế, xác minh và kiểm thử phần mềm nhúng trong hệ thống ô tô.

Trong hai thập kỷ qua, ô tô đã trở thành một trong những hệ thống nhúng phức tạp nhất từ ​​trước đến nay. Các bộ điều khiển điện tử, cảm biến và phần mềm điều khiển các chức năng quan trọng như phanh, lái và kiểm soát ổn định, trong đó an toàn vận hành là tối quan trọng. Để đảm bảo hoạt động an toàn và đáng tin cậy của xe, ngành công nghiệp ô tô đặc biệt chú trọng đến an toàn ngay từ giai đoạn thiết kế.

Hơn nữa, sự phát triển của các phương tiện tự lái một phần hoặc hoàn toàn làm tăng nhu cầu quản lý an toàn có cấu trúc. Tiêu chuẩn ISO 26262, do Tổ chức Tiêu chuẩn hóa Quốc tế ban hành, cung cấp một khuôn khổ phương pháp luận để phát triển các hệ thống điện tử ô tô an toàn. Cốt lõi của tiêu chuẩn này là phân loại các mức độ toàn vẹn an toàn của xe, hay ASIL, là các chỉ số phân loại mức độ rủi ro liên quan đến hoạt động của xe và xác định mức độ nghiêm ngặt cần thiết trong các hoạt động thiết kế, kiểm tra và xác nhận.

Do đó, ASIL là một chỉ số về tính toàn vẹn an toàn trong ô tô, đo lường số lượng các yêu cầu cần thiết để đánh giá và quản lý các mối nguy hiểm phát sinh từ các lỗi tiềm ẩn trong hệ thống ô tô. Theo định nghĩa, an toàn vận hành được hiểu là không có rủi ro do các mối nguy hiểm phát sinh từ sự cố của hệ thống điện hoặc điện tử.

Mức độ ASIL được chia thành bốn loại: ASIL A (rủi ro thấp), B (rủi ro trung bình), C (rủi ro đáng kể) và D (rủi ro cao), đòi hỏi các biện pháp bảo mật nghiêm ngặt hơn. Hệ thống phân loại rủi ro được định nghĩa bởi ISO 26262 , ngoài việc phòng ngừa và kiểm soát, còn ảnh hưởng trực tiếp đến cách thức viết phần mềm nhúng.

Ví dụ, hệ thống phanh tự động có thể yêu cầu mức độ an toàn ASIL D vì sự cố có thể gây ra hậu quả nghiêm trọng. Ngược lại, hệ thống điều chỉnh cửa sổ tự động có thể được phân loại ở mức độ rủi ro thấp hơn. Sự khác biệt này dẫn đến các phương pháp thiết kế khác nhau về cơ bản đối với các nhà phát triển phần mềm nhúng ô tô. Cần lưu ý rằng tác động của các chỉ số ASIL không chỉ giới hạn ở tài liệu cuối cùng hoặc chứng nhận, mà còn ảnh hưởng đến cốt lõi của kiến ​​trúc phần mềm bằng cách tác động đến các lựa chọn thiết kế, chiến lược thử nghiệm và thậm chí cả cách tổ chức các nhóm phát triển.

Các chỉ số ASIL là kết quả của quy trình phân tích rủi ro được gọi là Phân tích Mối nguy và Đánh giá Rủi ro (HARA). Trong quy trình này, các kỹ sư đánh giá ba yếu tố chính: mức độ nghiêm trọng của thiệt hại tiềm tàng, khả năng tiếp xúc với các tình huống nguy hiểm và khả năng của người lái xe trong việc tránh sự cố. Sự kết hợp của các thông số này xác định mức độ toàn vẹn an toàn, từ QM (Quản lý Chất lượng) không có yêu cầu an toàn cụ thể nào, đến ASIL D. Mỗi cấp độ đặt ra những giới hạn nghiêm ngặt hơn đối với các hoạt động phát triển.

Từ góc độ phần mềm nhúng, điều này có nghĩa là các mô-đun được xếp hạng ASIL C hoặc ASIL D phải tuân thủ các hướng dẫn thiết kế nghiêm ngặt hơn nhiều so với các thành phần cấp thấp hơn. Các kỹ thuật phát triển bao gồm việc sử dụng kiến ​​trúc dự phòng, cơ chế xác thực nội bộ và các chiến lược phát hiện lỗi.

Một ví dụ điển hình là hệ thống kiểm soát ổn định điện tử được phát triển bởi các công ty như Bosch hoặc Continental. Trong những trường hợp này, phần mềm phải được thiết kế sao cho nhanh chóng phát hiện các bất thường trong cảm biến hoặc thuật toán điều khiển. Nếu phát hiện lỗi, hệ thống sẽ tự động chuyển sang trạng thái an toàn. Theo phương pháp thiết kế tập trung vào rủi ro này, phần mềm nhúng chuyển từ một thành phần chức năng đơn giản thành một yếu tố cốt lõi trong chiến lược an toàn của xe.

Ảnh hưởng của các chỉ số ASIL đến kiến ​​trúc phần mềm.

Khi các hệ thống nhúng dành cho ứng dụng ô tô được phân loại ở mức ASIL cao theo tiêu chuẩn ISO 26262 , an toàn không được coi là một yếu tố bổ sung mà là một ràng buộc định hướng toàn bộ quá trình thiết kế. Điều này có nghĩa là kiến ​​trúc phần mềm phải được thiết kế từ đầu để tích hợp các cơ chế an toàn có khả năng ngăn ngừa, phát hiện và quản lý lỗi, và trên hết, nó phải được xây dựng theo cách ngăn chặn lỗi máy móc lan rộng và làm ảnh hưởng đến toàn bộ hệ thống. Một trong những cách tiếp cận phổ biến nhất là tách biệt các chức năng quan trọng khỏi các chức năng không quan trọng thông qua các cơ chế cách ly phần mềm.

Các vi điều khiển (MCU) hiện đại trong ô tô không chỉ đơn thuần là các đơn vị xử lý; chúng đã trở thành các nền tảng tích hợp được thiết kế đặc biệt cho các ứng dụng an toàn quan trọng. Các MCU này tích hợp các thành phần phần cứng bảo mật chuyên dụng, chẳng hạn như các đơn vị bảo vệ bộ nhớ, cho phép phân chia các miền ứng dụng thành các khu vực riêng biệt, được kiểm soát. Mỗi chức năng hoặc tác vụ phần mềm chỉ có thể truy cập vào một phần bộ nhớ được chỉ định, do đó ngay lập tức kích hoạt một ngoại lệ. Ví dụ, các chức năng ít quan trọng hơn có thể dễ xảy ra lỗi hoặc kiểm tra bảo mật kém nghiêm ngặt hơn, có khả năng làm ảnh hưởng đến dữ liệu hoặc hoạt động của các chức năng quan trọng như điều khiển phanh hoặc lái.

Ngoài việc bảo vệ bộ nhớ, các MCU trong ô tô còn sử dụng các cơ chế phân vùng và điều khiển hoạt động tiên tiến. Trong nhiều trường hợp, hệ thống được chia thành các miền riêng biệt, mỗi miền có mức độ quan trọng riêng, có thể hoạt động độc lập trong khi sử dụng cùng một phần cứng vật lý. Do đó, cần phải tạo ra một nền tảng phần cứng cho phép thực hiện các yêu cầu bảo mật được xác định bởi cấp độ ASIL cao nhất.

Autozar , hiện đang được coi là tiêu chuẩn để phát triển các hệ thống ô tô phức tạp, là một mô hình kiến ​​trúc toàn diện tổ chức phần mềm thành các lớp được xác định rõ ràng và có tính mô-đun cao. Khái niệm cơ bản là tách biệt rõ ràng logic ứng dụng khỏi các chi tiết phần cứng và dịch vụ hệ thống bằng cách giới thiệu các giao diện tiêu chuẩn hóa chi phối tất cả các tương tác. Mô hình kiến ​​trúc mô-đun này và việc quản lý dịch vụ hệ thống tạo điều kiện thuận lợi cho việc tuân thủ các yêu cầu an toàn được xác định bởi ISO 26262.

Trong mô hình AUTOSAR, chức năng ứng dụng được đóng gói trong các thành phần phần mềm độc lập, không giao tiếp trực tiếp với nhau mà thông qua môi trường thời gian chạy (RTE), một lớp trung gian quản lý việc trao đổi dữ liệu một cách có kiểm soát. Bên dưới RTE là phần mềm cơ bản (BSW), bao gồm hệ điều hành, trình điều khiển và các dịch vụ giao tiếp và chẩn đoán. Hệ điều hành AUTOSAR tận dụng khả năng phần cứng của MCU để thực hiện sự cô lập thực sự giữa các tác vụ và phân vùng, đảm bảo rằng mỗi thành phần hoạt động trong giới hạn bộ nhớ và thời gian thực thi riêng của nó.

Mô hình "độc lập khỏi sự can thiệp" có nghĩa là các thành phần có mức độ quan trọng khác nhau phải có khả năng cùng tồn tại trong cùng một hệ thống mà không ảnh hưởng lẫn nhau. AUTOSAR hiện thực hóa nguyên tắc này thông qua sự kết hợp giữa cách ly không gian (bộ nhớ), cách ly thời gian (quản lý thời gian CPU) và giao tiếp trung gian. Trên thực tế, mặc dù nhiều chức năng sử dụng cùng một MCU, hệ thống được thiết kế theo cách mà lỗi ở một phần không thể làm ảnh hưởng đến các phần khác.

Điều xảy ra là sự tích hợp mạnh mẽ giữa phần cứng và phần mềm. Bộ vi xử lý (MCU) cung cấp các cơ chế cơ bản để bảo vệ và điều khiển, trong khi AUTOSAR có cấu trúc tiêu chuẩn hóa đảm bảo hoạt động nhất quán và chứng nhận để đáp ứng các yêu cầu quy định và phát triển các hệ thống ô tô đáng tin cậy, trong đó an toàn là một tính năng vốn có của toàn bộ kiến ​​trúc.

Một ví dụ thú vị đến từ các bộ điều khiển của hệ thống hỗ trợ lái xe tiên tiến (ADAS), chẳng hạn như giữ làn đường hoặc phanh khẩn cấp tự động. Các ứng dụng này sử dụng thuật toán nhận dạng dựa trên radar hoặc camera hoạt động cùng với các mô-đun điều khiển liên tục xác minh kết quả. Nếu phát hiện sự không nhất quán giữa hai mô-đun dự phòng, hệ thống có thể vô hiệu hóa tính năng này trước khi xảy ra tình huống nguy hiểm. Trên thực tế, kiến ​​trúc phần mềm trở thành một mạng lưới kiểm tra chéo được thiết kế để đảm bảo không có lỗi đơn lẻ nào có thể gây nguy hiểm đến an toàn.

Các kỹ thuật thiết kế phần mềm tiên tiến cho hệ thống ASIL.

Khi phát triển phần mềm cho các chức năng có mức độ bảo mật ASIL C hoặc D, toàn bộ quy trình kỹ thuật phải tập trung vào việc ngăn ngừa lỗi một cách có hệ thống và khả năng nhanh chóng xác định các khiếm khuyết. Thiết kế không chỉ đơn thuần là đáp ứng các yêu cầu của ứng dụng; mục tiêu là tích hợp một chiến lược bảo mật có cấu trúc ngay từ đầu.

Một phương pháp được sử dụng rộng rãi là áp dụng các tính năng an toàn như các giải pháp thiết kế có thể tái sử dụng, tích hợp các cơ chế điều khiển và tính dự phòng. Trong trường hợp hệ thống lái trợ lực điện tử, phần mềm xử lý tín hiệu từ các cảm biến vị trí vô lăng, ngoài việc đọc các giá trị riêng lẻ, còn sử dụng logic kiểm tra chéo. Hai cảm biến độc lập cung cấp các phép đo song song được so sánh liên tục. Do đó, nếu sự khác biệt vượt quá ngưỡng được xác định trước, hệ thống sẽ nhận biết tình trạng bất thường và kích hoạt phản ứng an toàn ngay lập tức.

Loại kiến ​​trúc này cho phép bạn phát hiện các lỗi phần cứng và giảm thiểu lỗi phần mềm. Chất lượng mã cũng rất quan trọng. Các hướng dẫn như Misra đặt ra những giới hạn nghiêm ngặt đối với việc sử dụng ngôn ngữ C, loại bỏ các cấu trúc mơ hồ hoặc không xác định. Kết quả là mã nguồn dễ dự đoán, phân tích và kiểm chứng hơn, một điều kiện tiên quyết để chứng minh sự tuân thủ các yêu cầu bảo mật cần thiết.

Xác minh và thẩm định dựa trên các chỉ số ASIL.

Các chỉ số ASIL cũng có ảnh hưởng đáng kể đến các hoạt động kiểm thử và xác minh phần mềm nhúng. Mức ASIL càng cao, việc kiểm thử càng toàn diện và các kỹ thuật phân tích càng nghiêm ngặt.

Đối với các hệ thống được xếp hạng ASIL D, thông thường cần phải chứng minh độ phủ mã gần như hoàn chỉnh thông qua kiểm thử đơn vị. Các công cụ phân tích tĩnh được sử dụng để phát hiện các lỗi tiềm ẩn trong mã trước khi triển khai. Nhiều công ty cũng sử dụng kỹ thuật tiêm lỗi, bao gồm việc đưa lỗi vào hệ thống để kiểm tra phản ứng của phần mềm. Việc kiểm thử này đặc biệt hữu ích để đánh giá tính mạnh mẽ của các cơ chế phát hiện lỗi.

Một ví dụ thực tiễn đến từ việc phát triển hệ thống điều khiển pin trong xe điện, nơi phần mềm quản lý quá trình sạc và nhiệt độ pin phải được thử nghiệm trong điều kiện khắc nghiệt để đảm bảo rằng bất kỳ sự cố nào cũng không dẫn đến quá nhiệt hoặc cháy nổ. Các công cụ mô phỏng phần cứng trong vòng lặp cho phép bạn mô hình hóa hành vi của tất cả các hệ thống xe trong phòng thí nghiệm, giảm thiểu rủi ro và chi phí liên quan đến thử nghiệm trên đường.

Sự phát triển của vi điều khiển ô tô (MCU) nhằm đảm bảo an toàn vận hành.

Trong những năm gần đây, phần cứng đã bắt đầu phát triển để hỗ trợ tốt hơn các thông số kỹ thuật ISO 26262. Nhiều nhà sản xuất bán dẫn đã phát triển các vi điều khiển (MCU) được thiết kế đặc biệt cho các ứng dụng ASIL chất lượng cao. Các công ty như Infineon, Microchip, NXP và Renesas cung cấp các dòng MCU với các tính năng an toàn tích hợp, bao gồm các mô-đun giám sát bộ nhớ, bộ điều chỉnh điện áp và cơ chế phát hiện lỗi bus nội bộ. Một lợi thế quan trọng là các tính năng phần cứng MCU này cho phép triển khai các chiến lược an toàn mạnh mẽ hơn mà không làm tăng đáng kể độ phức tạp của phần mềm.

Một ví dụ là mô-đun ECC được tích hợp vào bộ nhớ để tự động phát hiện và sửa lỗi dữ liệu, giảm nguy cơ trục trặc do nhiễu điện từ hoặc bức xạ. Hơn nữa, với các lõi dự phòng, cả hai bộ xử lý đều thực hiện cùng một lệnh song song và liên tục so sánh kết quả; do đó, nếu phát hiện thấy sự khác biệt, hệ thống có thể ngay lập tức tạo ra tín hiệu lỗi. Kiến trúc phần cứng đã trở thành một công cụ quan trọng đối với các nhà phát triển phần mềm nhúng, những người phải tuân thủ các yêu cầu bảo mật nghiêm ngặt nhất.

Giữa xe tự lái và an toàn.

Những tiến bộ công nghệ đã làm cho việc áp dụng các chỉ số ASIL trở nên phức tạp hơn, các hệ thống liên kết chặt chẽ hơn và sự phụ thuộc giữa các mô-đun phần mềm tăng lên. Kết quả là, việc cô lập các chức năng quan trọng và đảm bảo rằng bất kỳ bản cập nhật nào cũng không tạo ra rủi ro mới trở nên khó khăn hơn. Ngành công nghiệp ô tô đang phát triển nhanh chóng, chuyển trọng tâm sang các mô hình xe được định nghĩa bằng phần mềm, nơi các chức năng của xe ngày càng được sử dụng thông qua các bản cập nhật phần mềm và nền tảng điện toán tập trung. Do đó, các nhà sản xuất đang áp dụng các phương pháp phát triển mới dựa trên tích hợp liên tục và kiểm thử tự động.

Việc sử dụng các kỹ thuật mô hình hóa chính thức cũng thu hút sự chú ý, đặc biệt là trong các hệ thống hỗ trợ người lái và lái xe tự động. Ví dụ bao gồm các chương trình phát triển từ các công ty như Tesla và Volvo, nơi phần mềm được cập nhật thường xuyên thông qua kết nối không dây. Trong những trường hợp này, an toàn vận hành phải được đảm bảo cả trong giai đoạn phát triển ban đầu và trong suốt vòng đời của xe. Tiêu chuẩn ISO 26262 tiếp tục phát triển để thích ứng với các yêu cầu mới này, nhưng nguyên tắc cơ bản vẫn không thay đổi: an toàn phải được thiết kế ngay từ đầu hệ thống.

Những điểm cần cân nhắc

Khi các phương tiện giao thông phát triển theo hướng các nền tảng kỹ thuật số phức tạp hơn, vai trò của an toàn vận hành ngày càng trở nên quan trọng. Chỉ số ASIL theo tiêu chuẩn ISO 26262, thường được xem như một phân loại rủi ro chính thức, cần được hiểu là một khía cạnh thiết kế ảnh hưởng đến mọi giai đoạn phát triển phần mềm nhúng trong ô tô.

Từ kiến ​​trúc hệ thống đến kỹ thuật lập trình, từ chiến lược kiểm thử đến lựa chọn phần cứng, các chỉ số ASIL vẫn là một trong những công cụ quan trọng để chuyển đổi các khái niệm bảo mật trừu tượng thành các yêu cầu thiết kế cụ thể. Đối với các nhà phát triển hệ thống nhúng, điều này có nghĩa là phải áp dụng một tư duy khác so với trước đây, tập trung vào chức năng tối ưu của phần mềm. Trong các hệ thống ô tô hiện đại, nơi hàng triệu dòng mã điều khiển các chức năng quan trọng của xe, phần mềm cần được thiết kế để hoạt động an toàn ngay cả khi xảy ra lỗi.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Win a Raspberry Pi!

Answer 5 questions for your chance to win!
Question 1

What color is the sky?

Tìm kiếm bằng danh mục

Chọn danh mục