ISO 26262: ผลกระทบของตัวชี้วัด ASIL ต่อการออกแบบซอฟต์แวร์แบบฝังตัว

เรียนรู้ว่าตัวชี้วัด ASIL กําหนดมาตรฐานใหม่สําหรับการออกแบบซอฟต์แวร์ฝังตัวสมัยใหม่อย่างไร

ISO 26262: ผลกระทบของตัวชี้วัด ASIL ต่อการออกแบบซอฟต์แวร์แบบฝังตัว

ตัวชี้วัด ASIL มีอิทธิพลต่อวิธีการออกแบบ ตรวจสอบ และตรวจสอบซอฟต์แวร์แบบฝังตัวสําหรับระบบยานยนต์

ในช่วงสองทศวรรษที่ผ่านมา รถยนต์ได้กลายเป็นหนึ่งในระบบฝังตัวที่ซับซ้อนที่สุดเท่าที่เคยมีมาในวงกว้าง ชุดควบคุมอิเล็กทรอนิกส์ เซ็นเซอร์ และซอฟต์แวร์ควบคุมฟังก์ชันที่สําคัญ เช่น การเบรก พวงมาลัย และการควบคุมเสถียรภาพ ซึ่งความปลอดภัยในการทํางานมีความสําคัญสูงสุด เพื่อให้มั่นใจถึงการทํางานที่ปลอดภัยและเชื่อถือได้ของยานพาหนะอุตสาหกรรมยานยนต์ให้ความสําคัญกับความปลอดภัยในขั้นตอนการออกแบบ

นอกจากนี้ การพัฒนายานยนต์ไร้คนขับบางส่วนหรือทั้งหมดยังเพิ่มความจําเป็นในการจัดการกับความปลอดภัยอย่างมีโครงสร้าง มาตรฐาน ISO 26262 ซึ่งเผยแพร่โดยองค์การระหว่างประเทศเพื่อการมาตรฐานกําหนดกรอบระเบียบวิธีสําหรับการพัฒนาระบบอิเล็กทรอนิกส์ยานยนต์ที่ปลอดภัย หัวใจสําคัญของมาตรฐานนี้คือการจําแนกระดับความสมบูรณ์ของความปลอดภัยของยานยนต์ หรือที่เรียกว่า ASIL ซึ่งตัวชี้วัดจะจําแนกระดับความเสี่ยงที่เกี่ยวข้องกับการทํางานของยานพาหนะ และกําหนดจํานวนความเข้มงวดที่จําเป็นในกิจกรรมการออกแบบ การตรวจสอบ และการตรวจสอบความถูกต้อง

ดังนั้น ASIL จึงเป็นตัวบ่งชี้ความสมบูรณ์ของความปลอดภัยของยานยนต์ โดยวัดปริมาณข้อกําหนดที่จําเป็นในการประเมินและจัดการอันตรายที่เกิดจากความล้มเหลวที่อาจเกิดขึ้นในระบบยานยนต์ ตามคําจํากัดความ ความปลอดภัยในการทํางานเป็นที่เข้าใจกันว่าไม่มีความเสี่ยงอันเนื่องมาจากอันตรายที่เกิดจากความผิดปกติของระบบไฟฟ้าหรืออิเล็กทรอนิกส์

ระดับ ASIL แบ่งออกเป็นสี่ประเภท: ASIL A (ความเสี่ยงต่ํา), B (ความเสี่ยงปานกลาง), C (ความเสี่ยงที่สําคัญ) และ D (ความเสี่ยงสูง) ซึ่งต้องใช้มาตรการความปลอดภัยที่เข้มงวดมากขึ้น ระบบการจําแนกความเสี่ยงที่กําหนดโดย มาตรฐาน ISO 26262 มาตรฐานนอกเหนือจากการป้องกันและควบคุมแล้วยังมีอิทธิพลโดยตรงต่อวิธีการเขียนซอฟต์แวร์แบบฝังตัว

ตัวอย่างเช่น ระบบช่วยเบรกอัตโนมัติอาจต้องใช้ระดับ ASIL D เนื่องจากความผิดปกติอาจส่งผลร้ายแรงได้ ในทางกลับกัน ระบบปรับหน้าต่างอัตโนมัติสามารถจัดประเภทได้ด้วยระดับความเสี่ยงที่ต่ํากว่า ความแตกต่างส่งผลให้แนวทางการออกแบบที่แตกต่างกันอย่างสิ้นเชิงสําหรับนักพัฒนาเฟิร์มแวร์ยานยนต์ ควรสังเกตว่าผลกระทบของตัวชี้วัด ASIL ไม่ได้จํากัดอยู่แค่เอกสารหรือการรับรองขั้นสุดท้าย แต่ในทางกลับกัน มันเข้าสู่หัวใจสําคัญของสถาปัตยกรรมซอฟต์แวร์โดยอิทธิพลต่อตัวเลือกการออกแบบ กลยุทธ์การทดสอบ และแม้แต่วิธีจัดระเบียบทีมพัฒนา

การใช้งาน ASIL และระดับความปลอดภัยสําหรับยานพาหนะ 

ตัวชี้วัด ASIL เป็นผลมาจากกระบวนการวิเคราะห์ความเสี่ยงที่เรียกว่าการวิเคราะห์อันตรายและการประเมินความเสี่ยง (HARA) ในขั้นตอนนี้วิศวกรจะประเมินปัจจัยหลักสามประการ ได้แก่ ความรุนแรงของความเสียหายที่อาจเกิดขึ้นโอกาสที่จะสัมผัสกับสถานการณ์อันตรายและความสามารถของผู้ขับขี่ในการหลีกเลี่ยงเหตุการณ์ การรวมกันของพารามิเตอร์เหล่านี้จะกําหนดระดับความสมบูรณ์ของความปลอดภัยที่มีตั้งแต่ QM เช่น การจัดการคุณภาพโดยไม่มีข้อกําหนดด้านความปลอดภัยเฉพาะ ไปจนถึง ASIL D แต่ละระดับมีข้อจํากัดที่เข้มงวดมากขึ้นในกิจกรรมการพัฒนา

จากมุมมองของซอฟต์แวร์แบบฝังตัว ซึ่งหมายความว่าโมดูลที่ได้รับการจัดอันดับ ASIL C หรือ ASIL D จะต้องปฏิบัติตามแนวทางการออกแบบที่เข้มงวดกว่าส่วนประกอบระดับล่างมาก เทคนิคการพัฒนารวมถึงการใช้สถาปัตยกรรมซ้ําซ้อนกลไกการตรวจสอบภายในและกลยุทธ์การตรวจจับข้อผิดพลาด

ตัวอย่างคือระบบควบคุมเสถียรภาพทางอิเล็กทรอนิกส์ที่พัฒนาโดยบริษัทต่างๆ เช่น Bosch หรือ Continental ในกรณีเหล่านี้ซอฟต์แวร์จะต้องได้รับการออกแบบในลักษณะที่ตรวจจับความผิดปกติในเซ็นเซอร์หรืออัลกอริธึมการควบคุมได้อย่างรวดเร็ว หากตรวจพบข้อผิดพลาด ระบบควรเปลี่ยนเป็นสถานะปลอดภัยโดยอัตโนมัติ ตามวิธีการออกแบบที่เน้นความเสี่ยงนี้ซอฟต์แวร์ฝังตัวจะย้ายจากส่วนประกอบการทํางานที่เรียบง่ายไปสู่องค์ประกอบหลักของกลยุทธ์ความปลอดภัยของยานพาหนะ

อิทธิพลของตัวชี้วัด ASIL ต่อสถาปัตยกรรมซอฟต์แวร์

เมื่อระบบฝังตัวสําหรับการใช้งานยานยนต์ถูกจัดประเภทด้วยระดับ ASIL สูงตาม มาตรฐาน ISO 26262, ความปลอดภัยไม่ถือเป็นการเพิ่มในภายหลัง แต่เป็นข้อจํากัดที่เป็นแนวทางในกระบวนการออกแบบทั้งหมด ซึ่งหมายความว่าสถาปัตยกรรมซอฟต์แวร์ต้องได้รับการออกแบบตั้งแต่เริ่มต้นเพื่อรองรับกลไกความปลอดภัยที่สามารถป้องกันตรวจจับและจัดการความล้มเหลวและเหนือสิ่งอื่นใดจะต้องสร้างขึ้นในลักษณะที่ป้องกันไม่ให้ข้อผิดพลาดในเครื่องแพร่กระจายและประนีประนอมกับทั้งระบบ วิธีหนึ่งที่พบบ่อยที่สุดคือการแยกฟังก์ชันที่สําคัญออกจากฟังก์ชันที่ไม่สําคัญผ่านกลไกการแยกซอฟต์แวร์

ไมโครคอนโทรลเลอร์ยานยนต์สมัยใหม่ (MCU) เป็นมากกว่าหน่วยประมวลผล และกลายเป็นแพลตฟอร์มแบบบูรณาการที่ออกแบบมาโดยเฉพาะสําหรับการใช้งานที่มีความสําคัญต่อความปลอดภัย MCU เหล่านี้รวมส่วนประกอบฮาร์ดแวร์ที่ทุ่มเทให้กับการรักษาความปลอดภัย เช่น หน่วยป้องกันหน่วยความจํา ซึ่งช่วยให้สามารถแบ่งโดเมนแอปพลิเคชันออกเป็นพื้นที่ที่แตกต่างกันและควบคุมได้ ฟังก์ชันหรืองานซอฟต์แวร์แต่ละรายการสามารถเข้าถึงได้เฉพาะส่วนของหน่วยความจําที่กําหนดไว้ ดังนั้นความพยายามในการเข้าถึงโดยไม่ได้รับอนุญาตจะสร้างข้อยกเว้นทันที ตัวอย่างเช่น ฟังก์ชันที่ไม่สําคัญ อาจเกิดข้อผิดพลาดได้ง่าย หรือได้รับการตรวจสอบอย่างเข้มงวดน้อยกว่าจากการประนีประนอมข้อมูลหรือพฤติกรรมของฟังก์ชันที่สําคัญ เช่น การเบรกหรือการควบคุมพวงมาลัย

นอกเหนือจากการป้องกันหน่วยความจําแล้ว MCU ยานยนต์ยังใช้กลไกการแบ่งพาร์ติชันและการควบคุมการดําเนินการขั้นสูงอีกด้วย ในหลายกรณีระบบจะถูกแบ่งออกเป็นโดเมนที่แยกจากกันแต่ละโดเมนมีระดับความสําคัญของตัวเองซึ่งสามารถทํางานแยกกันได้ในขณะที่ใช้ฮาร์ดแวร์ทางกายภาพเดียวกัน ดังนั้นจึงจําเป็นต้องสร้างฐานฮาร์ดแวร์ที่ทําให้สามารถใช้ข้อกําหนดด้านความปลอดภัยที่กําหนดโดยระดับ ASIL สูงสุด

ออโตซาร์, ซึ่งปัจจุบันแสดงถึงมาตรฐานสําหรับการพัฒนาระบบยานยนต์ที่ซับซ้อน เป็นแบบจําลองสถาปัตยกรรมที่สมบูรณ์ซึ่งจัดระเบียบซอฟต์แวร์เป็นเลเยอร์ที่กําหนดไว้อย่างดีและเป็นโมดูลาร์สูง แนวคิดพื้นฐานคือการแยกตรรกะของแอปพลิเคชันออกจากรายละเอียดฮาร์ดแวร์และบริการระบบอย่างชัดเจนโดยแนะนําอินเทอร์เฟซมาตรฐานที่ควบคุมทุกการโต้ตอบ โมเดลสถาปัตยกรรมแบบแยกส่วนและการจัดการบริการระบบช่วยอํานวยความสะดวกในการดําเนินการตามข้อกําหนดด้านความปลอดภัยที่กําหนดโดย ISO 26262

ในแบบจําลอง AUTOSAR ฟังก์ชันการทํางานของแอปพลิเคชันจะถูกห่อหุ้มไว้ในส่วนประกอบซอฟต์แวร์อิสระที่ไม่ได้สื่อสารกันโดยตรง แต่ผ่านสภาพแวดล้อมรันไทม์ (RTE) ซึ่งเป็นระดับกลางที่จัดการการแลกเปลี่ยนข้อมูลในลักษณะที่ควบคุมได้ ด้านล่าง RTE คือซอฟต์แวร์พื้นฐาน (BSW) ซึ่งรวมถึงระบบปฏิบัติการ ไดรเวอร์ และบริการสื่อสารและการวินิจฉัย ระบบปฏิบัติการ AUTOSAR ใช้ประโยชน์จากความสามารถของฮาร์ดแวร์ของ MCU เพื่อใช้การแยกที่แท้จริงระหว่างงานและพาร์ติชัน และทําให้แน่ใจว่าแต่ละส่วนประกอบทํางานภายในหน่วยความจําและขีดจํากัดเวลาดําเนินการของตัวเอง

แบบจําลอง "อิสระจากการรบกวน" หมายความว่าส่วนประกอบที่มีระดับวิกฤตต่างกันจะต้องสามารถอยู่ร่วมกันในระบบเดียวกันได้โดยไม่ส่งผลกระทบต่อกัน AUTOSAR ตระหนักถึงหลักการนี้ผ่านการผสมผสานระหว่างการแยกเชิงพื้นที่ (หน่วยความจํา) การแยกชั่วคราว (การจัดการเวลา CPU) และการสื่อสารที่เป็นสื่อกลาง ในทางปฏิบัติ แม้ว่าหลายฟังก์ชันจะใช้ MCU เดียวกัน แต่ระบบก็ได้รับการออกแบบในลักษณะที่ความผิดปกติในส่วนหนึ่งไม่สามารถประนีประนอมกับส่วนอื่นได้

สิ่งที่เกิดขึ้นคือการบูรณาการที่แข็งแกร่งระหว่างฮาร์ดแวร์และซอฟต์แวร์ MCU มีกลไกพื้นฐานสําหรับการป้องกันและควบคุม ในขณะที่ AUTOSAR มีโครงสร้างมาตรฐานที่ช่วยให้สามารถใช้งานได้อย่างสม่ําเสมอและได้รับการรับรองเพื่อให้เป็นไปตามข้อกําหนดด้านกฎระเบียบ และเพื่อพัฒนาระบบยานยนต์ที่เชื่อถือได้ ซึ่งความปลอดภัยเป็นคุณสมบัติที่แท้จริงของสถาปัตยกรรมทั้งหมด

ตัวอย่างที่น่าสนใจมาจากชุดควบคุมของระบบช่วยเหลือผู้ขับขี่ขั้นสูง (ADAS) เช่น การรักษาเลนหรือการเบรกฉุกเฉินอัตโนมัติ แอปพลิเคชันเหล่านี้ใช้อัลกอริธึมการรับรู้โดยใช้เรดาร์หรือกล้องที่ทํางานควบคู่ไปกับโมดูลควบคุมที่ตรวจสอบความถูกต้องของผลลัพธ์อย่างต่อเนื่อง หากตรวจพบความไม่สอดคล้องกันระหว่างโมดูลที่ซ้ําซ้อนสองโมดูล ระบบสามารถปิดใช้งานคุณสมบัตินี้ได้ก่อนที่จะเกิดสถานการณ์อันตรายขึ้น ในทางปฏิบัติสถาปัตยกรรมซอฟต์แวร์จะกลายเป็นเครือข่ายของการตรวจสอบข้ามที่ออกแบบมาเพื่อให้แน่ใจว่าไม่มีความล้มเหลวเพียงครั้งเดียวที่อาจทําให้สูญเสียความปลอดภัย

เทคนิคการออกแบบซอฟต์แวร์สําหรับระบบ ASIL ระดับสูง

เมื่อพัฒนาซอฟต์แวร์สําหรับฟังก์ชันที่มีระดับความปลอดภัย ASIL C หรือ D กระบวนการทางวิศวกรรมทั้งหมดจะต้องมุ่งเน้นไปที่การป้องกันข้อผิดพลาดอย่างเป็นระบบและความสามารถในการระบุข้อบกพร่องได้อย่างรวดเร็ว การออกแบบเป็นมากกว่าแค่การตอบสนองความต้องการด้านการใช้งาน จุดมุ่งหมายคือการบูรณาการกลยุทธ์การรักษาความปลอดภัยที่มีโครงสร้างตั้งแต่เริ่มต้น

วิธีการที่นํามาใช้กันอย่างแพร่หลายคือการใช้รูปแบบความปลอดภัย เช่น โซลูชันการออกแบบที่นํากลับมาใช้ใหม่ได้ซึ่งแนะนํากลไกการควบคุมและความซ้ําซ้อน ในกรณีของระบบบังคับเลี้ยวอิเล็กทรอนิกส์ซอฟต์แวร์ที่ประมวลผลสัญญาณจากเซ็นเซอร์ตําแหน่งพวงมาลัยนอกเหนือจากการอ่านค่าแต่ละค่าแล้วยังใช้ตรรกะการตรวจสอบข้าม เซ็นเซอร์อิสระสองตัวให้การวัดแบบขนานที่เปรียบเทียบอย่างต่อเนื่อง ดังนั้นหากความแตกต่างเกินเกณฑ์ที่กําหนดไว้ล่วงหน้า ระบบจะรับรู้สภาวะผิดปกติและกระตุ้นปฏิกิริยาความปลอดภัยทันที

สถาปัตยกรรมประเภทนี้ช่วยให้คุณสามารถตรวจจับความล้มเหลวของฮาร์ดแวร์และลดข้อผิดพลาดของซอฟต์แวร์ได้ คุณภาพของโค้ดก็มีความสําคัญเช่นกัน หลักเกณฑ์เช่น มิสรา กําหนดข้อจํากัดที่เข้มงวดในการใช้ภาษา C โดยกําจัดโครงสร้างที่คลุมเครือหรือไม่กําหนด ผลลัพธ์ที่ได้คือรหัสที่คาดเดา วิเคราะห์ได้ และตรวจสอบได้มากขึ้น ซึ่งเป็นข้อกําหนดเบื้องต้นสําหรับการแสดงให้เห็นถึงการปฏิบัติตามข้อกําหนดด้านความปลอดภัยที่จําเป็น

การตรวจสอบและตรวจสอบความถูกต้องที่ขับเคลื่อนด้วยตัวชี้วัด ASIL

ตัวชี้วัด ASIL ยังมีอิทธิพลอย่างมากต่อกิจกรรมการทดสอบและการตรวจสอบของซอฟต์แวร์ฝังตัว ยิ่งระดับ ASIL ที่เกี่ยวข้องกับฟังก์ชันสูงเท่าใด การทดสอบก็จะยิ่งครอบคลุมมากขึ้นเท่านั้น และเทคนิคการวิเคราะห์ก็ยิ่งเข้มงวดมากขึ้นเท่านั้น

สําหรับระบบที่ได้รับการจัดอันดับ ASIL D มักจะจําเป็นต้องแสดงให้เห็นถึงความครอบคลุมของโค้ดที่เกือบสมบูรณ์ผ่านการทดสอบหน่วย เครื่องมือวิเคราะห์แบบคงที่ใช้เพื่อตรวจจับข้อบกพร่องที่อาจเกิดขึ้นในโค้ดก่อนที่จะดําเนินการ หลายบริษัทยังใช้เทคนิคการฉีดข้อผิดพลาดซึ่งประกอบด้วยการนําข้อผิดพลาดเข้ามาในระบบเพื่อตรวจสอบว่าซอฟต์แวร์ตอบสนองอย่างไร การทดสอบนี้มีประโยชน์อย่างยิ่งสําหรับการประเมินความทนทานของกลไกการตรวจจับข้อผิดพลาด

ตัวอย่างที่ใช้งานได้จริงมาจากการพัฒนาระบบควบคุมแบตเตอรี่ในรถยนต์ไฟฟ้า ซึ่งซอฟต์แวร์ที่จัดการการชาร์จและอุณหภูมิของเซลล์ต้องได้รับการทดสอบภายใต้สภาวะที่รุนแรงเพื่อให้แน่ใจว่าความผิดปกติใดๆ จะไม่ทําให้เกิดความร้อนสูงเกินไปหรือไฟไหม้ เครื่องมือจําลองฮาร์ดแวร์ในลูปช่วยให้คุณสามารถจําลองพฤติกรรมของระบบยานพาหนะทั้งหมดในห้องปฏิบัติการ ซึ่งช่วยลดความเสี่ยงและค่าใช้จ่ายที่เกี่ยวข้องกับการทดสอบบนท้องถนน

วิวัฒนาการของ MCU ยานยนต์เพื่อความปลอดภัยในการทํางาน

ในช่วงไม่กี่ปีที่ผ่านมา ฮาร์ดแวร์ก็เริ่มพัฒนาเพื่อรองรับข้อกําหนดของ ISO 26262 ได้ดียิ่งขึ้น ผู้ผลิตเซมิคอนดักเตอร์หลายรายได้พัฒนา MCU ที่ออกแบบมาโดยเฉพาะสําหรับการใช้งาน ASIL คุณภาพสูง บริษัทต่างๆ เช่น Infineon, Microchip, NXP และ Renesas นําเสนอตระกูล MCU ที่มีคุณสมบัติด้านความปลอดภัยในตัว รวมถึงโมดูลตรวจสอบหน่วยความจํา ชุดควบคุมแรงดันไฟฟ้า และกลไกการตรวจจับข้อผิดพลาดในบัสภายใน ข้อได้เปรียบหลักคือคุณสมบัติฮาร์ดแวร์ของ MCU เหล่านี้ช่วยให้คุณใช้กลยุทธ์การรักษาความปลอดภัยที่มีประสิทธิภาพมากขึ้นโดยไม่เพิ่มความซับซ้อนของซอฟต์แวร์มากเกินไป

ตัวอย่างคือโมดูล ECC ที่รวมอยู่ในหน่วยความจําเพื่อตรวจจับและแก้ไขข้อผิดพลาดในข้อมูลโดยอัตโนมัติ และลดความเสี่ยงของการทํางานผิดพลาดอันเนื่องมาจากการรบกวนทางแม่เหล็กไฟฟ้าหรือการแผ่รังสี นอกจากนี้เมื่อมีคอร์ซ้ําซ้อนโปรเซสเซอร์ทั้งสองจะดําเนินการคําสั่งเดียวกันแบบขนานและเปรียบเทียบผลลัพธ์อย่างต่อเนื่องดังนั้นหากตรวจพบความคลาดเคลื่อนระบบสามารถสร้างสัญญาณข้อผิดพลาดได้ทันที สถาปัตยกรรมฮาร์ดแวร์ได้กลายเป็นเครื่องมือสําคัญสําหรับนักพัฒนาซอฟต์แวร์แบบฝังตัวที่ต้องปฏิบัติตามข้อกําหนดด้านความปลอดภัยที่เข้มงวดที่สุด

ระหว่างยานพาหนะที่กําหนดโดยซอฟต์แวร์กับความปลอดภัย

วิวัฒนาการทางเทคโนโลยีทําให้การประยุกต์ใช้ตัวชี้วัด ASIL ซับซ้อนยิ่งขึ้นระบบเชื่อมต่อถึงกันมากขึ้นและการพึ่งพาระหว่างโมดูลซอฟต์แวร์เพิ่มขึ้น ด้วยเหตุนี้ จึงยากขึ้นที่จะแยกฟังก์ชันที่สําคัญและทําให้แน่ใจว่าการอัปเดตใดๆ จะไม่ก่อให้เกิดความเสี่ยงใหม่ อุตสาหกรรมยานยนต์กําลังพัฒนาอย่างรวดเร็วโดยเปลี่ยนจุดศูนย์ถ่วงไปสู่โมเดลยานพาหนะที่กําหนดโดยซอฟต์แวร์ซึ่งมีการใช้ฟังก์ชันยานพาหนะมากขึ้นเรื่อย ๆ ผ่านการอัปเดตซอฟต์แวร์และแพลตฟอร์มการคํานวณแบบรวมศูนย์ ผู้ผลิตจึงนําวิธีการพัฒนาใหม่มาใช้โดยอาศัยการบูรณาการอย่างต่อเนื่องและการทดสอบอัตโนมัติ

การใช้เทคนิคการสร้างแบบจําลองที่เป็นทางการก็ได้รับความสนใจเช่นกัน โดยเฉพาะอย่างยิ่งในระบบช่วยขับขี่และระบบขับเคลื่อนอัตโนมัติ ตัวอย่างคือโปรแกรมการพัฒนาของบริษัทต่างๆ เช่น Tesla หรือ Volvo ซึ่งซอฟต์แวร์ได้รับการอัปเดตเป็นประจําผ่านการเชื่อมต่อแบบ over-the-air ในกรณีเหล่านี้ต้องมั่นใจในความปลอดภัยในการทํางานทั้งในระหว่างการพัฒนาเบื้องต้นและตลอดวงจรชีวิตทั้งหมดของยานพาหนะ ISO 26262 ยังคงพัฒนาอย่างต่อเนื่องเพื่อปรับให้เข้ากับความต้องการใหม่เหล่านี้ แต่หลักการพื้นฐานยังคงเหมือนเดิม: ต้องออกแบบความปลอดภัยตั้งแต่เริ่มต้นของระบบ

ข้อควรพิจารณา

เมื่อยานพาหนะพัฒนาไปสู่แพลตฟอร์มดิจิทัลที่ซับซ้อนมากขึ้นบทบาทของความปลอดภัยในการทํางานจะเติบโตอย่างต่อเนื่อง ตัวชี้วัด ASIL ของ ISO 26262 ซึ่งมักถูกมองว่าเป็นการจําแนกความเสี่ยงอย่างเป็นทางการ ควรเข้าใจว่าเป็นแง่มุมการออกแบบที่มีอิทธิพลต่อทุกขั้นตอนของการพัฒนาซอฟต์แวร์ฝังตัวในยานยนต์

ตั้งแต่สถาปัตยกรรมระบบไปจนถึงเทคนิคการเข้ารหัส และตั้งแต่กลยุทธ์การทดสอบไปจนถึงการเลือกฮาร์ดแวร์ ตัวชี้วัด ASIL ยังคงเป็นหนึ่งในเครื่องมือหลักในการแปลแนวคิดที่เป็นนามธรรมของความปลอดภัยให้เป็นข้อกําหนดในการออกแบบที่เป็นรูปธรรม สําหรับนักพัฒนาแบบฝังตัว หมายถึงการนําความคิดที่แตกต่างจากในอดีตมาใช้ โดยมุ่งเน้นไปที่การทํางานที่เหมาะสมของซอฟต์แวร์ ในระบบยานยนต์สมัยใหม่ที่โค้ดหลายล้านบรรทัดควบคุมฟังก์ชันที่สําคัญของยานพาหนะซอฟต์แวร์จําเป็นต้องได้รับการออกแบบให้ล้มเหลวอย่างปลอดภัย

บทความที่เกี่ยวข้อง

ISO 26262: ผลกระทบของตัวชี้วัด ASIL ต่อการออกแบบซอฟต์แวร์แบบฝังตัว

เรียนรู้ว่าตัวชี้วัด ASIL กําหนดมาตรฐานใหม่สําหรับการออกแบบซอฟต์แวร์ฝังตัวสมัยใหม่อย่างไร

นักเขียนบทความ
by 
นักเขียนบทความ
ISO 26262: ผลกระทบของตัวชี้วัด ASIL ต่อการออกแบบซอฟต์แวร์แบบฝังตัว

ISO 26262: ผลกระทบของตัวชี้วัด ASIL ต่อการออกแบบซอฟต์แวร์แบบฝังตัว

เรียนรู้ว่าตัวชี้วัด ASIL กําหนดมาตรฐานใหม่สําหรับการออกแบบซอฟต์แวร์ฝังตัวสมัยใหม่อย่างไร

ตัวชี้วัด ASIL มีอิทธิพลต่อวิธีการออกแบบ ตรวจสอบ และตรวจสอบซอฟต์แวร์แบบฝังตัวสําหรับระบบยานยนต์

ในช่วงสองทศวรรษที่ผ่านมา รถยนต์ได้กลายเป็นหนึ่งในระบบฝังตัวที่ซับซ้อนที่สุดเท่าที่เคยมีมาในวงกว้าง ชุดควบคุมอิเล็กทรอนิกส์ เซ็นเซอร์ และซอฟต์แวร์ควบคุมฟังก์ชันที่สําคัญ เช่น การเบรก พวงมาลัย และการควบคุมเสถียรภาพ ซึ่งความปลอดภัยในการทํางานมีความสําคัญสูงสุด เพื่อให้มั่นใจถึงการทํางานที่ปลอดภัยและเชื่อถือได้ของยานพาหนะอุตสาหกรรมยานยนต์ให้ความสําคัญกับความปลอดภัยในขั้นตอนการออกแบบ

นอกจากนี้ การพัฒนายานยนต์ไร้คนขับบางส่วนหรือทั้งหมดยังเพิ่มความจําเป็นในการจัดการกับความปลอดภัยอย่างมีโครงสร้าง มาตรฐาน ISO 26262 ซึ่งเผยแพร่โดยองค์การระหว่างประเทศเพื่อการมาตรฐานกําหนดกรอบระเบียบวิธีสําหรับการพัฒนาระบบอิเล็กทรอนิกส์ยานยนต์ที่ปลอดภัย หัวใจสําคัญของมาตรฐานนี้คือการจําแนกระดับความสมบูรณ์ของความปลอดภัยของยานยนต์ หรือที่เรียกว่า ASIL ซึ่งตัวชี้วัดจะจําแนกระดับความเสี่ยงที่เกี่ยวข้องกับการทํางานของยานพาหนะ และกําหนดจํานวนความเข้มงวดที่จําเป็นในกิจกรรมการออกแบบ การตรวจสอบ และการตรวจสอบความถูกต้อง

ดังนั้น ASIL จึงเป็นตัวบ่งชี้ความสมบูรณ์ของความปลอดภัยของยานยนต์ โดยวัดปริมาณข้อกําหนดที่จําเป็นในการประเมินและจัดการอันตรายที่เกิดจากความล้มเหลวที่อาจเกิดขึ้นในระบบยานยนต์ ตามคําจํากัดความ ความปลอดภัยในการทํางานเป็นที่เข้าใจกันว่าไม่มีความเสี่ยงอันเนื่องมาจากอันตรายที่เกิดจากความผิดปกติของระบบไฟฟ้าหรืออิเล็กทรอนิกส์

ระดับ ASIL แบ่งออกเป็นสี่ประเภท: ASIL A (ความเสี่ยงต่ํา), B (ความเสี่ยงปานกลาง), C (ความเสี่ยงที่สําคัญ) และ D (ความเสี่ยงสูง) ซึ่งต้องใช้มาตรการความปลอดภัยที่เข้มงวดมากขึ้น ระบบการจําแนกความเสี่ยงที่กําหนดโดย มาตรฐาน ISO 26262 มาตรฐานนอกเหนือจากการป้องกันและควบคุมแล้วยังมีอิทธิพลโดยตรงต่อวิธีการเขียนซอฟต์แวร์แบบฝังตัว

ตัวอย่างเช่น ระบบช่วยเบรกอัตโนมัติอาจต้องใช้ระดับ ASIL D เนื่องจากความผิดปกติอาจส่งผลร้ายแรงได้ ในทางกลับกัน ระบบปรับหน้าต่างอัตโนมัติสามารถจัดประเภทได้ด้วยระดับความเสี่ยงที่ต่ํากว่า ความแตกต่างส่งผลให้แนวทางการออกแบบที่แตกต่างกันอย่างสิ้นเชิงสําหรับนักพัฒนาเฟิร์มแวร์ยานยนต์ ควรสังเกตว่าผลกระทบของตัวชี้วัด ASIL ไม่ได้จํากัดอยู่แค่เอกสารหรือการรับรองขั้นสุดท้าย แต่ในทางกลับกัน มันเข้าสู่หัวใจสําคัญของสถาปัตยกรรมซอฟต์แวร์โดยอิทธิพลต่อตัวเลือกการออกแบบ กลยุทธ์การทดสอบ และแม้แต่วิธีจัดระเบียบทีมพัฒนา

การใช้งาน ASIL และระดับความปลอดภัยสําหรับยานพาหนะ 

ตัวชี้วัด ASIL เป็นผลมาจากกระบวนการวิเคราะห์ความเสี่ยงที่เรียกว่าการวิเคราะห์อันตรายและการประเมินความเสี่ยง (HARA) ในขั้นตอนนี้วิศวกรจะประเมินปัจจัยหลักสามประการ ได้แก่ ความรุนแรงของความเสียหายที่อาจเกิดขึ้นโอกาสที่จะสัมผัสกับสถานการณ์อันตรายและความสามารถของผู้ขับขี่ในการหลีกเลี่ยงเหตุการณ์ การรวมกันของพารามิเตอร์เหล่านี้จะกําหนดระดับความสมบูรณ์ของความปลอดภัยที่มีตั้งแต่ QM เช่น การจัดการคุณภาพโดยไม่มีข้อกําหนดด้านความปลอดภัยเฉพาะ ไปจนถึง ASIL D แต่ละระดับมีข้อจํากัดที่เข้มงวดมากขึ้นในกิจกรรมการพัฒนา

จากมุมมองของซอฟต์แวร์แบบฝังตัว ซึ่งหมายความว่าโมดูลที่ได้รับการจัดอันดับ ASIL C หรือ ASIL D จะต้องปฏิบัติตามแนวทางการออกแบบที่เข้มงวดกว่าส่วนประกอบระดับล่างมาก เทคนิคการพัฒนารวมถึงการใช้สถาปัตยกรรมซ้ําซ้อนกลไกการตรวจสอบภายในและกลยุทธ์การตรวจจับข้อผิดพลาด

ตัวอย่างคือระบบควบคุมเสถียรภาพทางอิเล็กทรอนิกส์ที่พัฒนาโดยบริษัทต่างๆ เช่น Bosch หรือ Continental ในกรณีเหล่านี้ซอฟต์แวร์จะต้องได้รับการออกแบบในลักษณะที่ตรวจจับความผิดปกติในเซ็นเซอร์หรืออัลกอริธึมการควบคุมได้อย่างรวดเร็ว หากตรวจพบข้อผิดพลาด ระบบควรเปลี่ยนเป็นสถานะปลอดภัยโดยอัตโนมัติ ตามวิธีการออกแบบที่เน้นความเสี่ยงนี้ซอฟต์แวร์ฝังตัวจะย้ายจากส่วนประกอบการทํางานที่เรียบง่ายไปสู่องค์ประกอบหลักของกลยุทธ์ความปลอดภัยของยานพาหนะ

อิทธิพลของตัวชี้วัด ASIL ต่อสถาปัตยกรรมซอฟต์แวร์

เมื่อระบบฝังตัวสําหรับการใช้งานยานยนต์ถูกจัดประเภทด้วยระดับ ASIL สูงตาม มาตรฐาน ISO 26262, ความปลอดภัยไม่ถือเป็นการเพิ่มในภายหลัง แต่เป็นข้อจํากัดที่เป็นแนวทางในกระบวนการออกแบบทั้งหมด ซึ่งหมายความว่าสถาปัตยกรรมซอฟต์แวร์ต้องได้รับการออกแบบตั้งแต่เริ่มต้นเพื่อรองรับกลไกความปลอดภัยที่สามารถป้องกันตรวจจับและจัดการความล้มเหลวและเหนือสิ่งอื่นใดจะต้องสร้างขึ้นในลักษณะที่ป้องกันไม่ให้ข้อผิดพลาดในเครื่องแพร่กระจายและประนีประนอมกับทั้งระบบ วิธีหนึ่งที่พบบ่อยที่สุดคือการแยกฟังก์ชันที่สําคัญออกจากฟังก์ชันที่ไม่สําคัญผ่านกลไกการแยกซอฟต์แวร์

ไมโครคอนโทรลเลอร์ยานยนต์สมัยใหม่ (MCU) เป็นมากกว่าหน่วยประมวลผล และกลายเป็นแพลตฟอร์มแบบบูรณาการที่ออกแบบมาโดยเฉพาะสําหรับการใช้งานที่มีความสําคัญต่อความปลอดภัย MCU เหล่านี้รวมส่วนประกอบฮาร์ดแวร์ที่ทุ่มเทให้กับการรักษาความปลอดภัย เช่น หน่วยป้องกันหน่วยความจํา ซึ่งช่วยให้สามารถแบ่งโดเมนแอปพลิเคชันออกเป็นพื้นที่ที่แตกต่างกันและควบคุมได้ ฟังก์ชันหรืองานซอฟต์แวร์แต่ละรายการสามารถเข้าถึงได้เฉพาะส่วนของหน่วยความจําที่กําหนดไว้ ดังนั้นความพยายามในการเข้าถึงโดยไม่ได้รับอนุญาตจะสร้างข้อยกเว้นทันที ตัวอย่างเช่น ฟังก์ชันที่ไม่สําคัญ อาจเกิดข้อผิดพลาดได้ง่าย หรือได้รับการตรวจสอบอย่างเข้มงวดน้อยกว่าจากการประนีประนอมข้อมูลหรือพฤติกรรมของฟังก์ชันที่สําคัญ เช่น การเบรกหรือการควบคุมพวงมาลัย

นอกเหนือจากการป้องกันหน่วยความจําแล้ว MCU ยานยนต์ยังใช้กลไกการแบ่งพาร์ติชันและการควบคุมการดําเนินการขั้นสูงอีกด้วย ในหลายกรณีระบบจะถูกแบ่งออกเป็นโดเมนที่แยกจากกันแต่ละโดเมนมีระดับความสําคัญของตัวเองซึ่งสามารถทํางานแยกกันได้ในขณะที่ใช้ฮาร์ดแวร์ทางกายภาพเดียวกัน ดังนั้นจึงจําเป็นต้องสร้างฐานฮาร์ดแวร์ที่ทําให้สามารถใช้ข้อกําหนดด้านความปลอดภัยที่กําหนดโดยระดับ ASIL สูงสุด

ออโตซาร์, ซึ่งปัจจุบันแสดงถึงมาตรฐานสําหรับการพัฒนาระบบยานยนต์ที่ซับซ้อน เป็นแบบจําลองสถาปัตยกรรมที่สมบูรณ์ซึ่งจัดระเบียบซอฟต์แวร์เป็นเลเยอร์ที่กําหนดไว้อย่างดีและเป็นโมดูลาร์สูง แนวคิดพื้นฐานคือการแยกตรรกะของแอปพลิเคชันออกจากรายละเอียดฮาร์ดแวร์และบริการระบบอย่างชัดเจนโดยแนะนําอินเทอร์เฟซมาตรฐานที่ควบคุมทุกการโต้ตอบ โมเดลสถาปัตยกรรมแบบแยกส่วนและการจัดการบริการระบบช่วยอํานวยความสะดวกในการดําเนินการตามข้อกําหนดด้านความปลอดภัยที่กําหนดโดย ISO 26262

ในแบบจําลอง AUTOSAR ฟังก์ชันการทํางานของแอปพลิเคชันจะถูกห่อหุ้มไว้ในส่วนประกอบซอฟต์แวร์อิสระที่ไม่ได้สื่อสารกันโดยตรง แต่ผ่านสภาพแวดล้อมรันไทม์ (RTE) ซึ่งเป็นระดับกลางที่จัดการการแลกเปลี่ยนข้อมูลในลักษณะที่ควบคุมได้ ด้านล่าง RTE คือซอฟต์แวร์พื้นฐาน (BSW) ซึ่งรวมถึงระบบปฏิบัติการ ไดรเวอร์ และบริการสื่อสารและการวินิจฉัย ระบบปฏิบัติการ AUTOSAR ใช้ประโยชน์จากความสามารถของฮาร์ดแวร์ของ MCU เพื่อใช้การแยกที่แท้จริงระหว่างงานและพาร์ติชัน และทําให้แน่ใจว่าแต่ละส่วนประกอบทํางานภายในหน่วยความจําและขีดจํากัดเวลาดําเนินการของตัวเอง

แบบจําลอง "อิสระจากการรบกวน" หมายความว่าส่วนประกอบที่มีระดับวิกฤตต่างกันจะต้องสามารถอยู่ร่วมกันในระบบเดียวกันได้โดยไม่ส่งผลกระทบต่อกัน AUTOSAR ตระหนักถึงหลักการนี้ผ่านการผสมผสานระหว่างการแยกเชิงพื้นที่ (หน่วยความจํา) การแยกชั่วคราว (การจัดการเวลา CPU) และการสื่อสารที่เป็นสื่อกลาง ในทางปฏิบัติ แม้ว่าหลายฟังก์ชันจะใช้ MCU เดียวกัน แต่ระบบก็ได้รับการออกแบบในลักษณะที่ความผิดปกติในส่วนหนึ่งไม่สามารถประนีประนอมกับส่วนอื่นได้

สิ่งที่เกิดขึ้นคือการบูรณาการที่แข็งแกร่งระหว่างฮาร์ดแวร์และซอฟต์แวร์ MCU มีกลไกพื้นฐานสําหรับการป้องกันและควบคุม ในขณะที่ AUTOSAR มีโครงสร้างมาตรฐานที่ช่วยให้สามารถใช้งานได้อย่างสม่ําเสมอและได้รับการรับรองเพื่อให้เป็นไปตามข้อกําหนดด้านกฎระเบียบ และเพื่อพัฒนาระบบยานยนต์ที่เชื่อถือได้ ซึ่งความปลอดภัยเป็นคุณสมบัติที่แท้จริงของสถาปัตยกรรมทั้งหมด

ตัวอย่างที่น่าสนใจมาจากชุดควบคุมของระบบช่วยเหลือผู้ขับขี่ขั้นสูง (ADAS) เช่น การรักษาเลนหรือการเบรกฉุกเฉินอัตโนมัติ แอปพลิเคชันเหล่านี้ใช้อัลกอริธึมการรับรู้โดยใช้เรดาร์หรือกล้องที่ทํางานควบคู่ไปกับโมดูลควบคุมที่ตรวจสอบความถูกต้องของผลลัพธ์อย่างต่อเนื่อง หากตรวจพบความไม่สอดคล้องกันระหว่างโมดูลที่ซ้ําซ้อนสองโมดูล ระบบสามารถปิดใช้งานคุณสมบัตินี้ได้ก่อนที่จะเกิดสถานการณ์อันตรายขึ้น ในทางปฏิบัติสถาปัตยกรรมซอฟต์แวร์จะกลายเป็นเครือข่ายของการตรวจสอบข้ามที่ออกแบบมาเพื่อให้แน่ใจว่าไม่มีความล้มเหลวเพียงครั้งเดียวที่อาจทําให้สูญเสียความปลอดภัย

เทคนิคการออกแบบซอฟต์แวร์สําหรับระบบ ASIL ระดับสูง

เมื่อพัฒนาซอฟต์แวร์สําหรับฟังก์ชันที่มีระดับความปลอดภัย ASIL C หรือ D กระบวนการทางวิศวกรรมทั้งหมดจะต้องมุ่งเน้นไปที่การป้องกันข้อผิดพลาดอย่างเป็นระบบและความสามารถในการระบุข้อบกพร่องได้อย่างรวดเร็ว การออกแบบเป็นมากกว่าแค่การตอบสนองความต้องการด้านการใช้งาน จุดมุ่งหมายคือการบูรณาการกลยุทธ์การรักษาความปลอดภัยที่มีโครงสร้างตั้งแต่เริ่มต้น

วิธีการที่นํามาใช้กันอย่างแพร่หลายคือการใช้รูปแบบความปลอดภัย เช่น โซลูชันการออกแบบที่นํากลับมาใช้ใหม่ได้ซึ่งแนะนํากลไกการควบคุมและความซ้ําซ้อน ในกรณีของระบบบังคับเลี้ยวอิเล็กทรอนิกส์ซอฟต์แวร์ที่ประมวลผลสัญญาณจากเซ็นเซอร์ตําแหน่งพวงมาลัยนอกเหนือจากการอ่านค่าแต่ละค่าแล้วยังใช้ตรรกะการตรวจสอบข้าม เซ็นเซอร์อิสระสองตัวให้การวัดแบบขนานที่เปรียบเทียบอย่างต่อเนื่อง ดังนั้นหากความแตกต่างเกินเกณฑ์ที่กําหนดไว้ล่วงหน้า ระบบจะรับรู้สภาวะผิดปกติและกระตุ้นปฏิกิริยาความปลอดภัยทันที

สถาปัตยกรรมประเภทนี้ช่วยให้คุณสามารถตรวจจับความล้มเหลวของฮาร์ดแวร์และลดข้อผิดพลาดของซอฟต์แวร์ได้ คุณภาพของโค้ดก็มีความสําคัญเช่นกัน หลักเกณฑ์เช่น มิสรา กําหนดข้อจํากัดที่เข้มงวดในการใช้ภาษา C โดยกําจัดโครงสร้างที่คลุมเครือหรือไม่กําหนด ผลลัพธ์ที่ได้คือรหัสที่คาดเดา วิเคราะห์ได้ และตรวจสอบได้มากขึ้น ซึ่งเป็นข้อกําหนดเบื้องต้นสําหรับการแสดงให้เห็นถึงการปฏิบัติตามข้อกําหนดด้านความปลอดภัยที่จําเป็น

การตรวจสอบและตรวจสอบความถูกต้องที่ขับเคลื่อนด้วยตัวชี้วัด ASIL

ตัวชี้วัด ASIL ยังมีอิทธิพลอย่างมากต่อกิจกรรมการทดสอบและการตรวจสอบของซอฟต์แวร์ฝังตัว ยิ่งระดับ ASIL ที่เกี่ยวข้องกับฟังก์ชันสูงเท่าใด การทดสอบก็จะยิ่งครอบคลุมมากขึ้นเท่านั้น และเทคนิคการวิเคราะห์ก็ยิ่งเข้มงวดมากขึ้นเท่านั้น

สําหรับระบบที่ได้รับการจัดอันดับ ASIL D มักจะจําเป็นต้องแสดงให้เห็นถึงความครอบคลุมของโค้ดที่เกือบสมบูรณ์ผ่านการทดสอบหน่วย เครื่องมือวิเคราะห์แบบคงที่ใช้เพื่อตรวจจับข้อบกพร่องที่อาจเกิดขึ้นในโค้ดก่อนที่จะดําเนินการ หลายบริษัทยังใช้เทคนิคการฉีดข้อผิดพลาดซึ่งประกอบด้วยการนําข้อผิดพลาดเข้ามาในระบบเพื่อตรวจสอบว่าซอฟต์แวร์ตอบสนองอย่างไร การทดสอบนี้มีประโยชน์อย่างยิ่งสําหรับการประเมินความทนทานของกลไกการตรวจจับข้อผิดพลาด

ตัวอย่างที่ใช้งานได้จริงมาจากการพัฒนาระบบควบคุมแบตเตอรี่ในรถยนต์ไฟฟ้า ซึ่งซอฟต์แวร์ที่จัดการการชาร์จและอุณหภูมิของเซลล์ต้องได้รับการทดสอบภายใต้สภาวะที่รุนแรงเพื่อให้แน่ใจว่าความผิดปกติใดๆ จะไม่ทําให้เกิดความร้อนสูงเกินไปหรือไฟไหม้ เครื่องมือจําลองฮาร์ดแวร์ในลูปช่วยให้คุณสามารถจําลองพฤติกรรมของระบบยานพาหนะทั้งหมดในห้องปฏิบัติการ ซึ่งช่วยลดความเสี่ยงและค่าใช้จ่ายที่เกี่ยวข้องกับการทดสอบบนท้องถนน

วิวัฒนาการของ MCU ยานยนต์เพื่อความปลอดภัยในการทํางาน

ในช่วงไม่กี่ปีที่ผ่านมา ฮาร์ดแวร์ก็เริ่มพัฒนาเพื่อรองรับข้อกําหนดของ ISO 26262 ได้ดียิ่งขึ้น ผู้ผลิตเซมิคอนดักเตอร์หลายรายได้พัฒนา MCU ที่ออกแบบมาโดยเฉพาะสําหรับการใช้งาน ASIL คุณภาพสูง บริษัทต่างๆ เช่น Infineon, Microchip, NXP และ Renesas นําเสนอตระกูล MCU ที่มีคุณสมบัติด้านความปลอดภัยในตัว รวมถึงโมดูลตรวจสอบหน่วยความจํา ชุดควบคุมแรงดันไฟฟ้า และกลไกการตรวจจับข้อผิดพลาดในบัสภายใน ข้อได้เปรียบหลักคือคุณสมบัติฮาร์ดแวร์ของ MCU เหล่านี้ช่วยให้คุณใช้กลยุทธ์การรักษาความปลอดภัยที่มีประสิทธิภาพมากขึ้นโดยไม่เพิ่มความซับซ้อนของซอฟต์แวร์มากเกินไป

ตัวอย่างคือโมดูล ECC ที่รวมอยู่ในหน่วยความจําเพื่อตรวจจับและแก้ไขข้อผิดพลาดในข้อมูลโดยอัตโนมัติ และลดความเสี่ยงของการทํางานผิดพลาดอันเนื่องมาจากการรบกวนทางแม่เหล็กไฟฟ้าหรือการแผ่รังสี นอกจากนี้เมื่อมีคอร์ซ้ําซ้อนโปรเซสเซอร์ทั้งสองจะดําเนินการคําสั่งเดียวกันแบบขนานและเปรียบเทียบผลลัพธ์อย่างต่อเนื่องดังนั้นหากตรวจพบความคลาดเคลื่อนระบบสามารถสร้างสัญญาณข้อผิดพลาดได้ทันที สถาปัตยกรรมฮาร์ดแวร์ได้กลายเป็นเครื่องมือสําคัญสําหรับนักพัฒนาซอฟต์แวร์แบบฝังตัวที่ต้องปฏิบัติตามข้อกําหนดด้านความปลอดภัยที่เข้มงวดที่สุด

ระหว่างยานพาหนะที่กําหนดโดยซอฟต์แวร์กับความปลอดภัย

วิวัฒนาการทางเทคโนโลยีทําให้การประยุกต์ใช้ตัวชี้วัด ASIL ซับซ้อนยิ่งขึ้นระบบเชื่อมต่อถึงกันมากขึ้นและการพึ่งพาระหว่างโมดูลซอฟต์แวร์เพิ่มขึ้น ด้วยเหตุนี้ จึงยากขึ้นที่จะแยกฟังก์ชันที่สําคัญและทําให้แน่ใจว่าการอัปเดตใดๆ จะไม่ก่อให้เกิดความเสี่ยงใหม่ อุตสาหกรรมยานยนต์กําลังพัฒนาอย่างรวดเร็วโดยเปลี่ยนจุดศูนย์ถ่วงไปสู่โมเดลยานพาหนะที่กําหนดโดยซอฟต์แวร์ซึ่งมีการใช้ฟังก์ชันยานพาหนะมากขึ้นเรื่อย ๆ ผ่านการอัปเดตซอฟต์แวร์และแพลตฟอร์มการคํานวณแบบรวมศูนย์ ผู้ผลิตจึงนําวิธีการพัฒนาใหม่มาใช้โดยอาศัยการบูรณาการอย่างต่อเนื่องและการทดสอบอัตโนมัติ

การใช้เทคนิคการสร้างแบบจําลองที่เป็นทางการก็ได้รับความสนใจเช่นกัน โดยเฉพาะอย่างยิ่งในระบบช่วยขับขี่และระบบขับเคลื่อนอัตโนมัติ ตัวอย่างคือโปรแกรมการพัฒนาของบริษัทต่างๆ เช่น Tesla หรือ Volvo ซึ่งซอฟต์แวร์ได้รับการอัปเดตเป็นประจําผ่านการเชื่อมต่อแบบ over-the-air ในกรณีเหล่านี้ต้องมั่นใจในความปลอดภัยในการทํางานทั้งในระหว่างการพัฒนาเบื้องต้นและตลอดวงจรชีวิตทั้งหมดของยานพาหนะ ISO 26262 ยังคงพัฒนาอย่างต่อเนื่องเพื่อปรับให้เข้ากับความต้องการใหม่เหล่านี้ แต่หลักการพื้นฐานยังคงเหมือนเดิม: ต้องออกแบบความปลอดภัยตั้งแต่เริ่มต้นของระบบ

ข้อควรพิจารณา

เมื่อยานพาหนะพัฒนาไปสู่แพลตฟอร์มดิจิทัลที่ซับซ้อนมากขึ้นบทบาทของความปลอดภัยในการทํางานจะเติบโตอย่างต่อเนื่อง ตัวชี้วัด ASIL ของ ISO 26262 ซึ่งมักถูกมองว่าเป็นการจําแนกความเสี่ยงอย่างเป็นทางการ ควรเข้าใจว่าเป็นแง่มุมการออกแบบที่มีอิทธิพลต่อทุกขั้นตอนของการพัฒนาซอฟต์แวร์ฝังตัวในยานยนต์

ตั้งแต่สถาปัตยกรรมระบบไปจนถึงเทคนิคการเข้ารหัส และตั้งแต่กลยุทธ์การทดสอบไปจนถึงการเลือกฮาร์ดแวร์ ตัวชี้วัด ASIL ยังคงเป็นหนึ่งในเครื่องมือหลักในการแปลแนวคิดที่เป็นนามธรรมของความปลอดภัยให้เป็นข้อกําหนดในการออกแบบที่เป็นรูปธรรม สําหรับนักพัฒนาแบบฝังตัว หมายถึงการนําความคิดที่แตกต่างจากในอดีตมาใช้ โดยมุ่งเน้นไปที่การทํางานที่เหมาะสมของซอฟต์แวร์ ในระบบยานยนต์สมัยใหม่ที่โค้ดหลายล้านบรรทัดควบคุมฟังก์ชันที่สําคัญของยานพาหนะซอฟต์แวร์จําเป็นต้องได้รับการออกแบบให้ล้มเหลวอย่างปลอดภัย

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.

ISO 26262: ผลกระทบของตัวชี้วัด ASIL ต่อการออกแบบซอฟต์แวร์แบบฝังตัว

ISO 26262: ผลกระทบของตัวชี้วัด ASIL ต่อการออกแบบซอฟต์แวร์แบบฝังตัว

เรียนรู้ว่าตัวชี้วัด ASIL กําหนดมาตรฐานใหม่สําหรับการออกแบบซอฟต์แวร์ฝังตัวสมัยใหม่อย่างไร

Lorem ipsum dolor amet consectetur adipiscing elit tortor massa arcu non.

ตัวชี้วัด ASIL มีอิทธิพลต่อวิธีการออกแบบ ตรวจสอบ และตรวจสอบซอฟต์แวร์แบบฝังตัวสําหรับระบบยานยนต์

ในช่วงสองทศวรรษที่ผ่านมา รถยนต์ได้กลายเป็นหนึ่งในระบบฝังตัวที่ซับซ้อนที่สุดเท่าที่เคยมีมาในวงกว้าง ชุดควบคุมอิเล็กทรอนิกส์ เซ็นเซอร์ และซอฟต์แวร์ควบคุมฟังก์ชันที่สําคัญ เช่น การเบรก พวงมาลัย และการควบคุมเสถียรภาพ ซึ่งความปลอดภัยในการทํางานมีความสําคัญสูงสุด เพื่อให้มั่นใจถึงการทํางานที่ปลอดภัยและเชื่อถือได้ของยานพาหนะอุตสาหกรรมยานยนต์ให้ความสําคัญกับความปลอดภัยในขั้นตอนการออกแบบ

นอกจากนี้ การพัฒนายานยนต์ไร้คนขับบางส่วนหรือทั้งหมดยังเพิ่มความจําเป็นในการจัดการกับความปลอดภัยอย่างมีโครงสร้าง มาตรฐาน ISO 26262 ซึ่งเผยแพร่โดยองค์การระหว่างประเทศเพื่อการมาตรฐานกําหนดกรอบระเบียบวิธีสําหรับการพัฒนาระบบอิเล็กทรอนิกส์ยานยนต์ที่ปลอดภัย หัวใจสําคัญของมาตรฐานนี้คือการจําแนกระดับความสมบูรณ์ของความปลอดภัยของยานยนต์ หรือที่เรียกว่า ASIL ซึ่งตัวชี้วัดจะจําแนกระดับความเสี่ยงที่เกี่ยวข้องกับการทํางานของยานพาหนะ และกําหนดจํานวนความเข้มงวดที่จําเป็นในกิจกรรมการออกแบบ การตรวจสอบ และการตรวจสอบความถูกต้อง

ดังนั้น ASIL จึงเป็นตัวบ่งชี้ความสมบูรณ์ของความปลอดภัยของยานยนต์ โดยวัดปริมาณข้อกําหนดที่จําเป็นในการประเมินและจัดการอันตรายที่เกิดจากความล้มเหลวที่อาจเกิดขึ้นในระบบยานยนต์ ตามคําจํากัดความ ความปลอดภัยในการทํางานเป็นที่เข้าใจกันว่าไม่มีความเสี่ยงอันเนื่องมาจากอันตรายที่เกิดจากความผิดปกติของระบบไฟฟ้าหรืออิเล็กทรอนิกส์

ระดับ ASIL แบ่งออกเป็นสี่ประเภท: ASIL A (ความเสี่ยงต่ํา), B (ความเสี่ยงปานกลาง), C (ความเสี่ยงที่สําคัญ) และ D (ความเสี่ยงสูง) ซึ่งต้องใช้มาตรการความปลอดภัยที่เข้มงวดมากขึ้น ระบบการจําแนกความเสี่ยงที่กําหนดโดย มาตรฐาน ISO 26262 มาตรฐานนอกเหนือจากการป้องกันและควบคุมแล้วยังมีอิทธิพลโดยตรงต่อวิธีการเขียนซอฟต์แวร์แบบฝังตัว

ตัวอย่างเช่น ระบบช่วยเบรกอัตโนมัติอาจต้องใช้ระดับ ASIL D เนื่องจากความผิดปกติอาจส่งผลร้ายแรงได้ ในทางกลับกัน ระบบปรับหน้าต่างอัตโนมัติสามารถจัดประเภทได้ด้วยระดับความเสี่ยงที่ต่ํากว่า ความแตกต่างส่งผลให้แนวทางการออกแบบที่แตกต่างกันอย่างสิ้นเชิงสําหรับนักพัฒนาเฟิร์มแวร์ยานยนต์ ควรสังเกตว่าผลกระทบของตัวชี้วัด ASIL ไม่ได้จํากัดอยู่แค่เอกสารหรือการรับรองขั้นสุดท้าย แต่ในทางกลับกัน มันเข้าสู่หัวใจสําคัญของสถาปัตยกรรมซอฟต์แวร์โดยอิทธิพลต่อตัวเลือกการออกแบบ กลยุทธ์การทดสอบ และแม้แต่วิธีจัดระเบียบทีมพัฒนา

การใช้งาน ASIL และระดับความปลอดภัยสําหรับยานพาหนะ 

ตัวชี้วัด ASIL เป็นผลมาจากกระบวนการวิเคราะห์ความเสี่ยงที่เรียกว่าการวิเคราะห์อันตรายและการประเมินความเสี่ยง (HARA) ในขั้นตอนนี้วิศวกรจะประเมินปัจจัยหลักสามประการ ได้แก่ ความรุนแรงของความเสียหายที่อาจเกิดขึ้นโอกาสที่จะสัมผัสกับสถานการณ์อันตรายและความสามารถของผู้ขับขี่ในการหลีกเลี่ยงเหตุการณ์ การรวมกันของพารามิเตอร์เหล่านี้จะกําหนดระดับความสมบูรณ์ของความปลอดภัยที่มีตั้งแต่ QM เช่น การจัดการคุณภาพโดยไม่มีข้อกําหนดด้านความปลอดภัยเฉพาะ ไปจนถึง ASIL D แต่ละระดับมีข้อจํากัดที่เข้มงวดมากขึ้นในกิจกรรมการพัฒนา

จากมุมมองของซอฟต์แวร์แบบฝังตัว ซึ่งหมายความว่าโมดูลที่ได้รับการจัดอันดับ ASIL C หรือ ASIL D จะต้องปฏิบัติตามแนวทางการออกแบบที่เข้มงวดกว่าส่วนประกอบระดับล่างมาก เทคนิคการพัฒนารวมถึงการใช้สถาปัตยกรรมซ้ําซ้อนกลไกการตรวจสอบภายในและกลยุทธ์การตรวจจับข้อผิดพลาด

ตัวอย่างคือระบบควบคุมเสถียรภาพทางอิเล็กทรอนิกส์ที่พัฒนาโดยบริษัทต่างๆ เช่น Bosch หรือ Continental ในกรณีเหล่านี้ซอฟต์แวร์จะต้องได้รับการออกแบบในลักษณะที่ตรวจจับความผิดปกติในเซ็นเซอร์หรืออัลกอริธึมการควบคุมได้อย่างรวดเร็ว หากตรวจพบข้อผิดพลาด ระบบควรเปลี่ยนเป็นสถานะปลอดภัยโดยอัตโนมัติ ตามวิธีการออกแบบที่เน้นความเสี่ยงนี้ซอฟต์แวร์ฝังตัวจะย้ายจากส่วนประกอบการทํางานที่เรียบง่ายไปสู่องค์ประกอบหลักของกลยุทธ์ความปลอดภัยของยานพาหนะ

อิทธิพลของตัวชี้วัด ASIL ต่อสถาปัตยกรรมซอฟต์แวร์

เมื่อระบบฝังตัวสําหรับการใช้งานยานยนต์ถูกจัดประเภทด้วยระดับ ASIL สูงตาม มาตรฐาน ISO 26262, ความปลอดภัยไม่ถือเป็นการเพิ่มในภายหลัง แต่เป็นข้อจํากัดที่เป็นแนวทางในกระบวนการออกแบบทั้งหมด ซึ่งหมายความว่าสถาปัตยกรรมซอฟต์แวร์ต้องได้รับการออกแบบตั้งแต่เริ่มต้นเพื่อรองรับกลไกความปลอดภัยที่สามารถป้องกันตรวจจับและจัดการความล้มเหลวและเหนือสิ่งอื่นใดจะต้องสร้างขึ้นในลักษณะที่ป้องกันไม่ให้ข้อผิดพลาดในเครื่องแพร่กระจายและประนีประนอมกับทั้งระบบ วิธีหนึ่งที่พบบ่อยที่สุดคือการแยกฟังก์ชันที่สําคัญออกจากฟังก์ชันที่ไม่สําคัญผ่านกลไกการแยกซอฟต์แวร์

ไมโครคอนโทรลเลอร์ยานยนต์สมัยใหม่ (MCU) เป็นมากกว่าหน่วยประมวลผล และกลายเป็นแพลตฟอร์มแบบบูรณาการที่ออกแบบมาโดยเฉพาะสําหรับการใช้งานที่มีความสําคัญต่อความปลอดภัย MCU เหล่านี้รวมส่วนประกอบฮาร์ดแวร์ที่ทุ่มเทให้กับการรักษาความปลอดภัย เช่น หน่วยป้องกันหน่วยความจํา ซึ่งช่วยให้สามารถแบ่งโดเมนแอปพลิเคชันออกเป็นพื้นที่ที่แตกต่างกันและควบคุมได้ ฟังก์ชันหรืองานซอฟต์แวร์แต่ละรายการสามารถเข้าถึงได้เฉพาะส่วนของหน่วยความจําที่กําหนดไว้ ดังนั้นความพยายามในการเข้าถึงโดยไม่ได้รับอนุญาตจะสร้างข้อยกเว้นทันที ตัวอย่างเช่น ฟังก์ชันที่ไม่สําคัญ อาจเกิดข้อผิดพลาดได้ง่าย หรือได้รับการตรวจสอบอย่างเข้มงวดน้อยกว่าจากการประนีประนอมข้อมูลหรือพฤติกรรมของฟังก์ชันที่สําคัญ เช่น การเบรกหรือการควบคุมพวงมาลัย

นอกเหนือจากการป้องกันหน่วยความจําแล้ว MCU ยานยนต์ยังใช้กลไกการแบ่งพาร์ติชันและการควบคุมการดําเนินการขั้นสูงอีกด้วย ในหลายกรณีระบบจะถูกแบ่งออกเป็นโดเมนที่แยกจากกันแต่ละโดเมนมีระดับความสําคัญของตัวเองซึ่งสามารถทํางานแยกกันได้ในขณะที่ใช้ฮาร์ดแวร์ทางกายภาพเดียวกัน ดังนั้นจึงจําเป็นต้องสร้างฐานฮาร์ดแวร์ที่ทําให้สามารถใช้ข้อกําหนดด้านความปลอดภัยที่กําหนดโดยระดับ ASIL สูงสุด

ออโตซาร์, ซึ่งปัจจุบันแสดงถึงมาตรฐานสําหรับการพัฒนาระบบยานยนต์ที่ซับซ้อน เป็นแบบจําลองสถาปัตยกรรมที่สมบูรณ์ซึ่งจัดระเบียบซอฟต์แวร์เป็นเลเยอร์ที่กําหนดไว้อย่างดีและเป็นโมดูลาร์สูง แนวคิดพื้นฐานคือการแยกตรรกะของแอปพลิเคชันออกจากรายละเอียดฮาร์ดแวร์และบริการระบบอย่างชัดเจนโดยแนะนําอินเทอร์เฟซมาตรฐานที่ควบคุมทุกการโต้ตอบ โมเดลสถาปัตยกรรมแบบแยกส่วนและการจัดการบริการระบบช่วยอํานวยความสะดวกในการดําเนินการตามข้อกําหนดด้านความปลอดภัยที่กําหนดโดย ISO 26262

ในแบบจําลอง AUTOSAR ฟังก์ชันการทํางานของแอปพลิเคชันจะถูกห่อหุ้มไว้ในส่วนประกอบซอฟต์แวร์อิสระที่ไม่ได้สื่อสารกันโดยตรง แต่ผ่านสภาพแวดล้อมรันไทม์ (RTE) ซึ่งเป็นระดับกลางที่จัดการการแลกเปลี่ยนข้อมูลในลักษณะที่ควบคุมได้ ด้านล่าง RTE คือซอฟต์แวร์พื้นฐาน (BSW) ซึ่งรวมถึงระบบปฏิบัติการ ไดรเวอร์ และบริการสื่อสารและการวินิจฉัย ระบบปฏิบัติการ AUTOSAR ใช้ประโยชน์จากความสามารถของฮาร์ดแวร์ของ MCU เพื่อใช้การแยกที่แท้จริงระหว่างงานและพาร์ติชัน และทําให้แน่ใจว่าแต่ละส่วนประกอบทํางานภายในหน่วยความจําและขีดจํากัดเวลาดําเนินการของตัวเอง

แบบจําลอง "อิสระจากการรบกวน" หมายความว่าส่วนประกอบที่มีระดับวิกฤตต่างกันจะต้องสามารถอยู่ร่วมกันในระบบเดียวกันได้โดยไม่ส่งผลกระทบต่อกัน AUTOSAR ตระหนักถึงหลักการนี้ผ่านการผสมผสานระหว่างการแยกเชิงพื้นที่ (หน่วยความจํา) การแยกชั่วคราว (การจัดการเวลา CPU) และการสื่อสารที่เป็นสื่อกลาง ในทางปฏิบัติ แม้ว่าหลายฟังก์ชันจะใช้ MCU เดียวกัน แต่ระบบก็ได้รับการออกแบบในลักษณะที่ความผิดปกติในส่วนหนึ่งไม่สามารถประนีประนอมกับส่วนอื่นได้

สิ่งที่เกิดขึ้นคือการบูรณาการที่แข็งแกร่งระหว่างฮาร์ดแวร์และซอฟต์แวร์ MCU มีกลไกพื้นฐานสําหรับการป้องกันและควบคุม ในขณะที่ AUTOSAR มีโครงสร้างมาตรฐานที่ช่วยให้สามารถใช้งานได้อย่างสม่ําเสมอและได้รับการรับรองเพื่อให้เป็นไปตามข้อกําหนดด้านกฎระเบียบ และเพื่อพัฒนาระบบยานยนต์ที่เชื่อถือได้ ซึ่งความปลอดภัยเป็นคุณสมบัติที่แท้จริงของสถาปัตยกรรมทั้งหมด

ตัวอย่างที่น่าสนใจมาจากชุดควบคุมของระบบช่วยเหลือผู้ขับขี่ขั้นสูง (ADAS) เช่น การรักษาเลนหรือการเบรกฉุกเฉินอัตโนมัติ แอปพลิเคชันเหล่านี้ใช้อัลกอริธึมการรับรู้โดยใช้เรดาร์หรือกล้องที่ทํางานควบคู่ไปกับโมดูลควบคุมที่ตรวจสอบความถูกต้องของผลลัพธ์อย่างต่อเนื่อง หากตรวจพบความไม่สอดคล้องกันระหว่างโมดูลที่ซ้ําซ้อนสองโมดูล ระบบสามารถปิดใช้งานคุณสมบัตินี้ได้ก่อนที่จะเกิดสถานการณ์อันตรายขึ้น ในทางปฏิบัติสถาปัตยกรรมซอฟต์แวร์จะกลายเป็นเครือข่ายของการตรวจสอบข้ามที่ออกแบบมาเพื่อให้แน่ใจว่าไม่มีความล้มเหลวเพียงครั้งเดียวที่อาจทําให้สูญเสียความปลอดภัย

เทคนิคการออกแบบซอฟต์แวร์สําหรับระบบ ASIL ระดับสูง

เมื่อพัฒนาซอฟต์แวร์สําหรับฟังก์ชันที่มีระดับความปลอดภัย ASIL C หรือ D กระบวนการทางวิศวกรรมทั้งหมดจะต้องมุ่งเน้นไปที่การป้องกันข้อผิดพลาดอย่างเป็นระบบและความสามารถในการระบุข้อบกพร่องได้อย่างรวดเร็ว การออกแบบเป็นมากกว่าแค่การตอบสนองความต้องการด้านการใช้งาน จุดมุ่งหมายคือการบูรณาการกลยุทธ์การรักษาความปลอดภัยที่มีโครงสร้างตั้งแต่เริ่มต้น

วิธีการที่นํามาใช้กันอย่างแพร่หลายคือการใช้รูปแบบความปลอดภัย เช่น โซลูชันการออกแบบที่นํากลับมาใช้ใหม่ได้ซึ่งแนะนํากลไกการควบคุมและความซ้ําซ้อน ในกรณีของระบบบังคับเลี้ยวอิเล็กทรอนิกส์ซอฟต์แวร์ที่ประมวลผลสัญญาณจากเซ็นเซอร์ตําแหน่งพวงมาลัยนอกเหนือจากการอ่านค่าแต่ละค่าแล้วยังใช้ตรรกะการตรวจสอบข้าม เซ็นเซอร์อิสระสองตัวให้การวัดแบบขนานที่เปรียบเทียบอย่างต่อเนื่อง ดังนั้นหากความแตกต่างเกินเกณฑ์ที่กําหนดไว้ล่วงหน้า ระบบจะรับรู้สภาวะผิดปกติและกระตุ้นปฏิกิริยาความปลอดภัยทันที

สถาปัตยกรรมประเภทนี้ช่วยให้คุณสามารถตรวจจับความล้มเหลวของฮาร์ดแวร์และลดข้อผิดพลาดของซอฟต์แวร์ได้ คุณภาพของโค้ดก็มีความสําคัญเช่นกัน หลักเกณฑ์เช่น มิสรา กําหนดข้อจํากัดที่เข้มงวดในการใช้ภาษา C โดยกําจัดโครงสร้างที่คลุมเครือหรือไม่กําหนด ผลลัพธ์ที่ได้คือรหัสที่คาดเดา วิเคราะห์ได้ และตรวจสอบได้มากขึ้น ซึ่งเป็นข้อกําหนดเบื้องต้นสําหรับการแสดงให้เห็นถึงการปฏิบัติตามข้อกําหนดด้านความปลอดภัยที่จําเป็น

การตรวจสอบและตรวจสอบความถูกต้องที่ขับเคลื่อนด้วยตัวชี้วัด ASIL

ตัวชี้วัด ASIL ยังมีอิทธิพลอย่างมากต่อกิจกรรมการทดสอบและการตรวจสอบของซอฟต์แวร์ฝังตัว ยิ่งระดับ ASIL ที่เกี่ยวข้องกับฟังก์ชันสูงเท่าใด การทดสอบก็จะยิ่งครอบคลุมมากขึ้นเท่านั้น และเทคนิคการวิเคราะห์ก็ยิ่งเข้มงวดมากขึ้นเท่านั้น

สําหรับระบบที่ได้รับการจัดอันดับ ASIL D มักจะจําเป็นต้องแสดงให้เห็นถึงความครอบคลุมของโค้ดที่เกือบสมบูรณ์ผ่านการทดสอบหน่วย เครื่องมือวิเคราะห์แบบคงที่ใช้เพื่อตรวจจับข้อบกพร่องที่อาจเกิดขึ้นในโค้ดก่อนที่จะดําเนินการ หลายบริษัทยังใช้เทคนิคการฉีดข้อผิดพลาดซึ่งประกอบด้วยการนําข้อผิดพลาดเข้ามาในระบบเพื่อตรวจสอบว่าซอฟต์แวร์ตอบสนองอย่างไร การทดสอบนี้มีประโยชน์อย่างยิ่งสําหรับการประเมินความทนทานของกลไกการตรวจจับข้อผิดพลาด

ตัวอย่างที่ใช้งานได้จริงมาจากการพัฒนาระบบควบคุมแบตเตอรี่ในรถยนต์ไฟฟ้า ซึ่งซอฟต์แวร์ที่จัดการการชาร์จและอุณหภูมิของเซลล์ต้องได้รับการทดสอบภายใต้สภาวะที่รุนแรงเพื่อให้แน่ใจว่าความผิดปกติใดๆ จะไม่ทําให้เกิดความร้อนสูงเกินไปหรือไฟไหม้ เครื่องมือจําลองฮาร์ดแวร์ในลูปช่วยให้คุณสามารถจําลองพฤติกรรมของระบบยานพาหนะทั้งหมดในห้องปฏิบัติการ ซึ่งช่วยลดความเสี่ยงและค่าใช้จ่ายที่เกี่ยวข้องกับการทดสอบบนท้องถนน

วิวัฒนาการของ MCU ยานยนต์เพื่อความปลอดภัยในการทํางาน

ในช่วงไม่กี่ปีที่ผ่านมา ฮาร์ดแวร์ก็เริ่มพัฒนาเพื่อรองรับข้อกําหนดของ ISO 26262 ได้ดียิ่งขึ้น ผู้ผลิตเซมิคอนดักเตอร์หลายรายได้พัฒนา MCU ที่ออกแบบมาโดยเฉพาะสําหรับการใช้งาน ASIL คุณภาพสูง บริษัทต่างๆ เช่น Infineon, Microchip, NXP และ Renesas นําเสนอตระกูล MCU ที่มีคุณสมบัติด้านความปลอดภัยในตัว รวมถึงโมดูลตรวจสอบหน่วยความจํา ชุดควบคุมแรงดันไฟฟ้า และกลไกการตรวจจับข้อผิดพลาดในบัสภายใน ข้อได้เปรียบหลักคือคุณสมบัติฮาร์ดแวร์ของ MCU เหล่านี้ช่วยให้คุณใช้กลยุทธ์การรักษาความปลอดภัยที่มีประสิทธิภาพมากขึ้นโดยไม่เพิ่มความซับซ้อนของซอฟต์แวร์มากเกินไป

ตัวอย่างคือโมดูล ECC ที่รวมอยู่ในหน่วยความจําเพื่อตรวจจับและแก้ไขข้อผิดพลาดในข้อมูลโดยอัตโนมัติ และลดความเสี่ยงของการทํางานผิดพลาดอันเนื่องมาจากการรบกวนทางแม่เหล็กไฟฟ้าหรือการแผ่รังสี นอกจากนี้เมื่อมีคอร์ซ้ําซ้อนโปรเซสเซอร์ทั้งสองจะดําเนินการคําสั่งเดียวกันแบบขนานและเปรียบเทียบผลลัพธ์อย่างต่อเนื่องดังนั้นหากตรวจพบความคลาดเคลื่อนระบบสามารถสร้างสัญญาณข้อผิดพลาดได้ทันที สถาปัตยกรรมฮาร์ดแวร์ได้กลายเป็นเครื่องมือสําคัญสําหรับนักพัฒนาซอฟต์แวร์แบบฝังตัวที่ต้องปฏิบัติตามข้อกําหนดด้านความปลอดภัยที่เข้มงวดที่สุด

ระหว่างยานพาหนะที่กําหนดโดยซอฟต์แวร์กับความปลอดภัย

วิวัฒนาการทางเทคโนโลยีทําให้การประยุกต์ใช้ตัวชี้วัด ASIL ซับซ้อนยิ่งขึ้นระบบเชื่อมต่อถึงกันมากขึ้นและการพึ่งพาระหว่างโมดูลซอฟต์แวร์เพิ่มขึ้น ด้วยเหตุนี้ จึงยากขึ้นที่จะแยกฟังก์ชันที่สําคัญและทําให้แน่ใจว่าการอัปเดตใดๆ จะไม่ก่อให้เกิดความเสี่ยงใหม่ อุตสาหกรรมยานยนต์กําลังพัฒนาอย่างรวดเร็วโดยเปลี่ยนจุดศูนย์ถ่วงไปสู่โมเดลยานพาหนะที่กําหนดโดยซอฟต์แวร์ซึ่งมีการใช้ฟังก์ชันยานพาหนะมากขึ้นเรื่อย ๆ ผ่านการอัปเดตซอฟต์แวร์และแพลตฟอร์มการคํานวณแบบรวมศูนย์ ผู้ผลิตจึงนําวิธีการพัฒนาใหม่มาใช้โดยอาศัยการบูรณาการอย่างต่อเนื่องและการทดสอบอัตโนมัติ

การใช้เทคนิคการสร้างแบบจําลองที่เป็นทางการก็ได้รับความสนใจเช่นกัน โดยเฉพาะอย่างยิ่งในระบบช่วยขับขี่และระบบขับเคลื่อนอัตโนมัติ ตัวอย่างคือโปรแกรมการพัฒนาของบริษัทต่างๆ เช่น Tesla หรือ Volvo ซึ่งซอฟต์แวร์ได้รับการอัปเดตเป็นประจําผ่านการเชื่อมต่อแบบ over-the-air ในกรณีเหล่านี้ต้องมั่นใจในความปลอดภัยในการทํางานทั้งในระหว่างการพัฒนาเบื้องต้นและตลอดวงจรชีวิตทั้งหมดของยานพาหนะ ISO 26262 ยังคงพัฒนาอย่างต่อเนื่องเพื่อปรับให้เข้ากับความต้องการใหม่เหล่านี้ แต่หลักการพื้นฐานยังคงเหมือนเดิม: ต้องออกแบบความปลอดภัยตั้งแต่เริ่มต้นของระบบ

ข้อควรพิจารณา

เมื่อยานพาหนะพัฒนาไปสู่แพลตฟอร์มดิจิทัลที่ซับซ้อนมากขึ้นบทบาทของความปลอดภัยในการทํางานจะเติบโตอย่างต่อเนื่อง ตัวชี้วัด ASIL ของ ISO 26262 ซึ่งมักถูกมองว่าเป็นการจําแนกความเสี่ยงอย่างเป็นทางการ ควรเข้าใจว่าเป็นแง่มุมการออกแบบที่มีอิทธิพลต่อทุกขั้นตอนของการพัฒนาซอฟต์แวร์ฝังตัวในยานยนต์

ตั้งแต่สถาปัตยกรรมระบบไปจนถึงเทคนิคการเข้ารหัส และตั้งแต่กลยุทธ์การทดสอบไปจนถึงการเลือกฮาร์ดแวร์ ตัวชี้วัด ASIL ยังคงเป็นหนึ่งในเครื่องมือหลักในการแปลแนวคิดที่เป็นนามธรรมของความปลอดภัยให้เป็นข้อกําหนดในการออกแบบที่เป็นรูปธรรม สําหรับนักพัฒนาแบบฝังตัว หมายถึงการนําความคิดที่แตกต่างจากในอดีตมาใช้ โดยมุ่งเน้นไปที่การทํางานที่เหมาะสมของซอฟต์แวร์ ในระบบยานยนต์สมัยใหม่ที่โค้ดหลายล้านบรรทัดควบคุมฟังก์ชันที่สําคัญของยานพาหนะซอฟต์แวร์จําเป็นต้องได้รับการออกแบบให้ล้มเหลวอย่างปลอดภัย