Thứ Ba, 30 tháng 5, 2023

Therac 25 - Chết Người vì Coi Thường An Toàn

Thân chào các Bê (*),
Hôm nay lại chợt nhớ tới một bài học trong chương trình Master of Science in Software Engineering (MSSE) mà Đệ có dịp học nhiều thập niên trước. Một ví dụ cho ngành Software Development mà tất cả mọi người lập trình những máy móc có liên quan tới sự an toàn về tính mạng con người đều nên đọc và nghiền ngẫm...

Dạ, dạ Đệ xin vào đề...
Xin trích dẫn ra đây phần mở đầu của phụ chú B (tiếng Việt):
  • Therac-25 là một máy xạ trị được công ty Năng lượng nguyên tử của Canada Limited (AECL) sản xuất vào năm 1982 sau các sản phẩm Therac-6 và Therac-20 (các sản phẩm trước đó đã được sản xuất trong quan hệ đối tác với CGR của Pháp).[1]
    Máy xạ trị này có liên quan đến ít nhất sáu vụ tai nạn từ năm 1985 đến 1987, trong đó các bệnh nhân được nhận quá liều bức xạ.[1] Các lỗi lập trình đã khiến nhiều bệnh nhân bị nhiễm phóng xạ liều lượng cao gấp hàng trăm lần cho phép, dẫn đến tử vong hoặc thương tích nghiêm trọng.[2] Những tai nạn này nhấn mạnh sự nguy hiểm có thể gây ra do thiếu kiểm soát trong những máy móc yêu cầu độ an toàn cao và trở thành đề tài nghiên cứu cho các lĩnh vực tin học y tế, công nghệ phần mềmđạo đức nghề nghiệp.[3] Ngoài ra sự quá tự tin của các kỹ sư[4] và thiếu khả năng giải quyết các lỗi phần mềm[2] được nhấn mạnh như một trường hợp cực đoan mà các kỹ sư quá tự tin với sản phẩm và không tin các khiếu nại của người dùng để gây ra hậu quả nghiêm trọng.
Phần cứng (hardware) có mục đích kiểm soát độ an toàn của máy (nếu có biến cố), trong hai máy mẫu trước, Therac 6 và Therac 20, đã bị lược bỏ để giảm chi phí: 
  • Therac 25 chỉ được kiểm soát an toàn bằng phần mềm (software). 
  • Lập trình sai và thiếu sót dẫn tới cái chết của nhiều bệnh nhân.
  • Các Bê nào muốn biết thêm về Therac 25 thì chỉ cần tìm kiếm (search) cụm từ "therac 25" hoặc dùng đường dẫn ở các phụ chú cuối bài.
Chúc các Bê một cuối tuần vui vẻ bên gia đình và người thân.
Thân,

Chú thích:
(*) Bê là Bê 60: Từ chữ tắt B60 (Beyond 60 years young) để chỉ các bác trên 60 tuổi trẻ. Có biết thì mới có sợ. Điếc thì làm gì có sợ tiếng súng!

Phụ chú:
A. Blogs Đã Viết--Theo Đề Tài
B. Wikipedia - Therac 25
C. Sauvik Das - Case Study: Therac - 25

Thứ Năm, 11 tháng 5, 2023

ACC - Kiểm Soát Hành Trình Thích Ứng

Thân chào các Bê (*),
Sáng nay lại mưa Xuân nên ngồi nhà viết lăng nhăng. 
Đề tài hôm nay là một tính năng công nghệ của xe hơi mới (cả xăng và điện; ICE và EV): tính năng ACC (Adaptive Cruise Control). Trước hết xin minh định là ACC là một tính năng mới nên mỗi hãng xe thiết kế và vận hành tính năng này hơi KHÁC NHAU. Quan trọng là Bê phải tìm hiểu về tính năng này cho hãng xe, kiểu mẫu (model), và năm của xe.

ACC chỉ là một phần của ADAS (Advanced Driver Assistance Systems) ở cấp độ 2: người lái hoàn toàn chịu trách nhiệm cho hành vi của xe.

Dạ, dạ Đệ xin vào đề...
Tựu trung thì kiểm soát hành trình (cruise control) cho xe hơi thì đã có khá lâu. ACC chỉ là phát triển tính năng này lên một mức: ACC cho phép người lái thiết đặt tốc độ tối đa (setting maximum speed) cho xe VÀ giữ làn đường. Cũng như giữ khoảng cách an toàn với xe đàng trước (có nhiều hãng cho thiết đặt khoảng cách này).
  • Khi có xe chạy trước mặt (trong cùng một làn đường) và chạy chậm hơn thiết đặt tốc độ tối đa của xe mình thì xe tự động giảm vận tốc để giữ khoảng cách an toàn giữa hai xe.
  • Khi không có xe trước mặt thì xe mình sẽ chạy ở tốc độ tối đa mà mình thiết đặt.
  • Điều quan trọng là mỗi hãng xe xử dụng phần mềm khác nhau (và phiên bản phần mềm cũng khác nhau) nên Bê vẫn phải quan sát/thử nghiệm cho chính mình ở đường vắng và an toàn trước.
  • ACC thường là biết được khi có xe chen vào làn đường (tạt vào trước đầu xe của mình); khi đó thì xe mình sẽ theo xe mới chen vào (giữ khoảng cách và tốc độ).
Như nói ở trên, mỗi hãng xe, mỗi phiên bản phần mềm sẽ khác nhau nên Đệ muốn các hãng xe thử nghiệm các tình huống (scenarios) sau đây:
  • Xe mình đang "theo" xe tải đằng trước (xe tải nên che khuất cảnh vật đàng trước)
    • Xe tải vượt đèn vàng (hoặc đèn đỏ)
    • Xe mình có biết ngừng tại đèn giao thông hay vẫn tiếp tục theo xe tải mà băng qua ngã tư khi đèn đỏ?
  • Xe mình đang "theo" xe tải đằng trước
    • Xe tải không ngừng tại bảng "STOP"
    • Xe mình có biết ngừng và chờ tới phiên mình chạy hay vẫn tiếp tục theo xe tải mà băng qua ngã tư?
  • Xe đến ngã tư, mình muốn chạy thẳng (khi đèn xanh); ngã tư không kẻ làn đường. Xe sẽ xử lý ra sao?
Dĩ nhiên là có hai loại thử nghiệm: ex situin situ
  • Ex situ là thử nghiệm trong môi trường được kiểm soát an toàn cho người và xe; thí dụ như tại một sân thử nghiệm với thiết bị an toàn (khả năng can thiệp khi trục trặc xảy ra cũng như khả năng chữa cháy). 
  • Thử nghiệm In situ khi đã thử ex situ thành công (nhiều lần) và thử nghiệm tại môi trường thực tế (trên đường phố). Tốt nhất là xin phép CSGT và trên đường vắng trước, và dùng stuntpeople/cascadeurs giả làm những người giao thông trên đường lại càng tốt hơn.
Chúc các Bê một cuối tuần vui vẻ bên gia đình và người thân.
Thân,

Chú thích:
(*) Bê là Bê 60: Từ chữ tắt B60 (Beyond 60 years young) để chỉ các bác trên 60 tuổi trẻ. Ôi sao phải lo lắng quá vào cái tuổi già? 

Phụ chú:
A. Blogs Đã Viết--Theo Đề Tài