Chapter Six - Testing, Verification, and Validation Methods Verification and Validation of a Safety-Critical Steer-by-Wire System Using DO-178B SAE Paper No. 2006-01-1447..................................................................................... 337 Verification and Validation Methods for TDMA Based “by Wire” Systems SAE Paper No. 2006-01-1331..................................................................................... 347 System-Integration, -Verification and -Release of Complex In-Vehicle Networks: Methodology and Process SAE Paper No. 2006-01-1356..................................................................................... 355 Application Development for Safety Critical Distributed Embedded Systems with Model Verification SAE Paper No. 2006-01-1498..................................................................................... 363 About the Editor ........................................................................................................ 371 SECTION 1: INTRODUCTION TO SAFETY-CRITICAL AUTOMOTIVE SYSTEMS Verification, Validation, and Certification Issues of Safety-Critical Communication Systems Juan R. Pimentel Professor Electrical and Computer Engineering Department Kettering University Flint, MI 48504 U.S.A. E-mail: jpimente@kettering.edu Abstract In this paper, we study the effect of some of the features of safety-critical communication systems on the overall safety of a vehicle. Emphasis is placed on the effect of system complexity and tight coupling. A top-level functional model is developed to help evaluate the relative contribution of the features of safety-critical communication systems to overall system safety. Implications for the verification, validation, and certification of safety-critical communication systems are discussed. I. Introduction System safety verification, validation, and certification is of increasing importance in the automotive and other vehicle industries (e.g., marine, industrial, manufacturing, airborne). Current and future designs will include a significant percentage of electronics, communications, and software in safety-critical systems, thus making these systems very complex. System complexity raises significant issues related to the verification, validation, and certification of safety-critical systems. This paper addresses the role played by communication sub-systems (e.g., CAN, TT-CAN, FlexRay, or FlexCAN) in the verification, validation, and certification issues of safety-critical systems. A. Importance of Safety-Critical Systems Current and future vehicles (land, marine, airborne, space) have and will have a significant percentage of digital electronics, including microcontrollers, communications, and software components. Currently, the average number of microcontrollers per automobile vehicle is about 25, and this number is expected to increase in the following decades. Likewise, it has been estimated that the number of in-vehicle networks currently is about 5 and will reach 15 in the year 2015. As more and more electronics and software are incorporated into vehicles, the overall system becomes much more complex and safety-critical issues become crucial because of their impact on the safety of the vehicle and its occupants. Safety-critical systems need to be properly designed, analyzed, verified, validated, and certified by an appropriate certification body. For automotive, the certification standards most likely to be used will be similar to DO- 178B [1] and IEC-61508 [2]. The former is an FAA standard for certification of software 3 in airborne systems; the latter is a European generic safety standard for industrial systems. II. A Short Review of Safety The topic of safety is of increasing importance in the automotive and other vehicle industries. This includes schemes that make driving safer, the safety of the components used, and the safety of the vehicle from an architectural point of view. The latter, which is often referred to as system safety, depends strongly on the failure probability of individual components and how faults, errors, and failures are handled by the system. Techniques such as hazard analysis assess the consequences of failures or erroneous behavior of a sub-function as they relate to the safety of the entire system. Safety together with reliability, availability, and security are fundamental concepts conveying the notion of dependability. Reliability and availability express the notion of continuity and readiness of correct service, respectively. Security is related to integrity, confidentiality, and authentication. Safety expresses the notion of absence of catastrophic consequences on the user(s) and the environment. Thus, whereas system reliability deals with the problem of ensuring that a system continues to perform a required task or mission for a specified time t, system safety is concerned with ensuring that a mishap (or an event with a catastrophic consequence) does not occur in the process [3]. Usually, there are some failures that cause only benign interruptions of the system services, but other failures cause catastrophic interruptions. The former are called benign failures; the latter are called catastrophic failures. This situation is depicted in Figure 1, where three fundamental system states are defined. Figure 1. System failures and associated states. A more accurate definition of safety involves a safety function or safety measure S(t), which is defined as S(t) = Probability {system state is in A or B} (1) A ccom plishm ent B enign Interruption C atastrophic Interruption B enign F ailure C atastrophic Failure R estoration A B C 4 That is, the safety function S(t) is the probability that the system is free from catastrophic failures. A mishap is an unplanned and undesirable event or series of events that could result in injury, illness, death, or damage to or loss of property or equipment. A hazard is an undesirable condition that has the potential to cause or contribute to a mishap. The situation that results from the occurrence of a mishap is called a failure mode. Thus, according to these definitions, a mishap occurs when the conditions of a hazard are fulfilled. Hazards and mishaps are classified in various severity levels known as safety integrity levels (SIL), ranging from negligible (0) to catastrophic (4). Hazards can be categorized by the aggregate probability of the occurrence of the individual conditions that make up the hazard and by the seriousness of the effects of the resulting mishaps. Together these constitute risk. More specifically, risk = ħs ħp (2) where ħs is the hazard severity, and ħp is the hazard probability. The first step in a safety analysis process is to identify the system hazards and to assess their severity and probability (i.e., risk). Often early in the design of a system, the probabilities are unknown and analysis is done considering only severity. The vast majority of available safety tools and methods support severity analysis. The overall goal in designing a safety-critical system is to eliminate hazards from the design or (if that is not feasible) to minimize risk by modifying the design so that there is a very low probability of the hazard occurring. To show that a system is safe, it is necessary first to ensure that given that the specifications are correctly implemented and no failure occurs, the operation of the system will not result in a mishap. Second, the risk of faults or failures leading to a mishap must be eliminated or minimized by using fault-tolerant or fail-safe procedures. If it is not possible to completely eliminate hazards, then to reduce risk, the exposure time (length of time of occurrence) of the hazard must be minimized. The sources of hazards are multiple and include human errors, unforeseen events, component failures, system complexity, and fault and error propagation. A fault or error remains in the system until a terminating event for the fault occurs through an error firewall and subsequent error and fault treatment (e.g., a faulty component is repaired or replaced). Depending on the faulty state or condition, it is possible for further failures to occur, which cause further faults (fault and error propagation). Eventually, when the system can no longer tolerate a number of faults or a combination of faults, a catastrophic failure occurs, and an unsafe state (catastrophic interruption) is reached. This situation is depicted in Figure 2. 5 Figure 2. Fault and error treatment. A. Importance of V&V and Certification in Safety-Critical Systems Research on software-based safety-critical systems has shown that system accidents are related to interactive complexity and tight coupling [3]. The underlying factor is intellectual manageability. A simple system has a small number of unknowns in its interactions within the system and with its environment. A system becomes complex or intellectually unmanageable when the level of interactions reaches the point where they cannot be thoroughly planned, understood, anticipated, and guarded against. Introducing new technology increases the problems by introducing more unknowns into the design and potentially more interactions. Tight coupling is a hazard resulting from the propagation of faults and errors from one component or sub-system to the next. Thus, perhaps the two most important verification and validation (V&V) and certification issues of a safety-critical system are its complexity and fault-containment features. This explains why hazard analysis is vital to the validation and certification of any safety- critical system. In addition to functionality, the following are the most important V&V and certification issues: underlying failures (permanent, transient, and man-made), operational failures (detected, latent, and propagated), state space explosion, and interfaces. The enormous state spaces of digital systems mean that only a small part can be exercised before the system is put into operational use; thus, the confidence traditionally obtained through testing is severely limited. State space explosion is a by-product of complexity. Propagated failures typically are handled by designing and implementing fault- containment regions. B. Strategies for Achieving Certification One obvious strategy is to follow appropriate safety standards and their processes, including techniques and measures on how to achieve them [4,5]. Both DO-178B and IEC-61508 place emphasis on the phases of the software development cycle involving 6
چکیده فارسی
فصل ششم - روشهای آزمایش، تأیید و اعتبارسنجی تأیید و اعتبارسنجی سیستم هدایت بهوسیله ایمنی حیاتی با استفاده از مقاله DO-178B SAE شماره 2006-01-1447.......... ................................................ ...................... 337 روش های تأیید و اعتبارسنجی برای سیستم های TDMA مبتنی بر «با سیم» مقاله SAE شماره 2006-01-1331... ................................................ ................................ 347 یکپارچه سازی سیستم، تأیید و انتشار شبکه های پیچیده داخل خودرو: روش شناسی and Process SAE Paper شماره 2006-01-1356................................................. ..................................... 355 توسعه برنامه برای Safety Critical Distributed Embedded Systems with Model Verification مقاله SAE شماره 2006-01-1498................................. ................................................ .. 363 درباره ویراستار ............................................ ................................................ .......... 371 بخش 1: مقدمه ای بر سیستم های ایمنی حیاتی خودرو تأیید، اعتبار سنجی و صدور گواهینامه سیستم های ارتباطی ایمنی حیاتی Juan R. Pimentel پروفسور گروه مهندسی برق و کامپیوتر دانشگاه Kettering MI Flint, 485, پست الکترونیکی ایالات متحده: jpimente@kettering.edu چکیده در این مقاله، ما تأثیر برخی از ویژگیهای سیستمهای ارتباطی حیاتی ایمنی را بر ایمنی کلی یک وسیله نقلیه مطالعه میکنیم. تأکید بر تأثیر پیچیدگی سیستم و جفت شدن محکم است. یک مدل عملکردی سطح بالا برای کمک به ارزیابی سهم نسبی ویژگیهای سیستمهای ارتباطی حیاتی ایمنی در ایمنی کلی سیستم ایجاد شده است. مفاهیم مربوط به تأیید، اعتبار سنجی، و صدور گواهینامه سیستم های ارتباطی حیاتی مورد بحث قرار می گیرد. I. مقدمه راستیآزمایی، اعتبارسنجی و صدور گواهینامه ایمنی سیستم در صنایع خودروسازی و سایر وسایل نقلیه (مانند صنایع دریایی، صنعتی، تولیدی، هوابرد) اهمیت فزایندهای دارد. طرحهای فعلی و آینده درصد قابلتوجهی از الکترونیک، ارتباطات و نرمافزار در سیستمهای حیاتی ایمنی را شامل میشود، بنابراین این سیستمها را بسیار پیچیده میکند. پیچیدگی سیستم مسائل مهمی را در رابطه با تأیید، اعتبار سنجی و تأیید سیستم های حیاتی ایمنی ایجاد می کند. این مقاله به نقش زیرسیستمهای ارتباطی (مانند CAN، TT-CAN، FlexRay یا FlexCAN) در تأیید، اعتبارسنجی و مسائل مربوط به صدور گواهینامههای سیستمهای حیاتی میپردازد. الف. اهمیت سیستم های حیاتی ایمنی وسایل نقلیه فعلی و آینده (زمینی، دریایی، هوابرد، فضا) درصد قابل توجهی از الکترونیک دیجیتال شامل میکروکنترلرها، ارتباطات و اجزای نرم افزاری را دارند و خواهند داشت. در حال حاضر میانگین تعداد میکروکنترلر در هر وسیله نقلیه خودرو حدود 25 عدد است و پیش بینی می شود این تعداد در دهه های بعد افزایش یابد. به همین ترتیب، تخمین زده شده است که تعداد شبکه های داخل خودرو در حال حاضر حدود 5 شبکه است و در سال 2015 به 15 شبکه خواهد رسید. هر چه بیشتر و بیشتر الکترونیک و نرم افزار در وسایل نقلیه گنجانده می شود، سیستم کلی بسیار پیچیده تر و از نظر ایمنی حیاتی می شود. مسائل به دلیل تأثیر آنها بر ایمنی وسیله نقلیه و سرنشینان آن بسیار مهم می شود. سیستم های حیاتی ایمنی باید به درستی طراحی، تجزیه و تحلیل، تایید، تایید و تایید شده توسط یک نهاد صدور گواهینامه مناسب شوند. برای خودرو، استانداردهای گواهی که به احتمال زیاد مورد استفاده قرار می گیرد، مشابه DO-178B [1] و IEC-61508 [2] خواهد بود. اولی یک استاندارد FAA برای صدور گواهینامه نرم افزار 3 در سیستم های هوابرد است. دومی یک استاندارد ایمنی عمومی اروپایی برای سیستم های صنعتی است. II. مروری کوتاه بر ایمنی موضوع ایمنی در صنعت خودرو و سایر خودروها از اهمیت فزاینده ای برخوردار است. این شامل طرح هایی است که رانندگی را ایمن تر می کند، ایمنی اجزای مورد استفاده، و ایمنی وسیله نقلیه از نقطه نظر معماری. مورد دوم که اغلب به عنوان ایمنی سیستم از آن یاد می شود، به شدت به احتمال خرابی اجزای جداگانه و نحوه رسیدگی به خطاها، خطاها و خرابی ها توسط سیستم بستگی دارد. تکنیکهایی مانند تجزیه و تحلیل خطر، پیامدهای خرابی یا رفتار اشتباه یک تابع فرعی را ارزیابی میکنند، زیرا به ایمنی کل سیستم مربوط میشوند. ایمنی همراه با قابلیت اطمینان، در دسترس بودن و امنیت مفاهیم اساسی هستند که مفهوم قابل اعتماد بودن را منتقل می کنند. قابلیت اطمینان و در دسترس بودن به ترتیب بیانگر مفهوم تداوم و آمادگی خدمات صحیح است. امنیت با یکپارچگی، محرمانه بودن و احراز هویت مرتبط است. ایمنی بیانگر مفهوم عدم وجود پیامدهای فاجعه بار بر روی کاربر (ها) و محیط است. بنابراین، در حالی که قابلیت اطمینان سیستم با مشکل حصول اطمینان از اینکه یک سیستم به انجام یک وظیفه یا ماموریت مورد نیاز برای مدت زمان t مشخصی ادامه میدهد سر و کار دارد، ایمنی سیستم به حصول اطمینان از عدم وقوع یک اتفاق ناگوار (یا رویدادی با پیامد فاجعهبار) مربوط میشود. فرآیند [3]. معمولاً برخی از خرابی ها فقط باعث وقفه های خوش خیم سرویس های سیستم می شوند، اما سایر خرابی ها باعث وقفه های فاجعه بار می شوند. اولی شکست های خوش خیم نامیده می شوند. دومی را شکست های فاجعه بار می نامند. این وضعیت در شکل 1 نشان داده شده است که در آن سه حالت اساسی سیستم تعریف شده است. شکل 1. خرابی های سیستم و وضعیت های مرتبط. تعریف دقیقتر ایمنی شامل یک تابع ایمنی یا معیار ایمنی S(t) است که به صورت S(t) = احتمال {وضعیت سیستم در A یا B است} تعریف میشود (1) یک نتیجه B قطعی C B enign F ailure C شکست فاجعه آمیز R estoration A B C 4 یعنی تابع ایمنی S(t) احتمال عاری بودن سیستم از خرابی های فاجعه بار است. اتفاق ناگوار یک رویداد یا مجموعه ای از رویدادهای برنامه ریزی نشده و نامطلوب است که می تواند منجر به جراحت، بیماری، مرگ یا آسیب یا از دست دادن اموال یا تجهیزات شود. خطر یک وضعیت نامطلوب است که پتانسیل ایجاد یا کمک به یک اتفاق ناگوار را دارد. وضعیتی که در اثر وقوع یک اتفاق ناگوار ایجاد می شود، حالت شکست نامیده می شود. بنابراین، طبق این تعاریف، یک حادثه ناگوار زمانی رخ می دهد که شرایط یک خطر محقق شود. خطرات و حوادث ناگوار در سطوح مختلف شدت به نام سطوح یکپارچگی ایمنی (SIL) طبقه بندی می شوند که از ناچیز (0) تا فاجعه آمیز (4) متغیر است. خطرات را می توان بر اساس احتمال کل وقوع شرایط فردی که خطر را تشکیل می دهد و با جدیت تأثیرات ناگوار ناشی از آن دسته بندی کرد. اینها با هم ریسک را تشکیل می دهند. به طور خاص، ریسک = ħs ħp (2) که در آن ħs شدت خطر و ħp احتمال خطر است. اولین گام در فرآیند تحلیل ایمنی، شناسایی خطرات سیستم و ارزیابی شدت و احتمال آنها (یعنی خطر) است. اغلب در اوایل طراحی یک سیستم، احتمالات ناشناخته هستند و تجزیه و تحلیل تنها با در نظر گرفتن شدت انجام می شود. اکثریت قریب به اتفاق ابزارها و روش های ایمنی موجود از تجزیه و تحلیل شدت پشتیبانی می کنند. هدف کلی در طراحی یک سیستم حیاتی ایمنی حذف خطرات از طراحی یا (اگر امکان پذیر نیست) به حداقل رساندن خطر با اصلاح طرح به طوری که احتمال وقوع خطر بسیار کم باشد، است. برای نشان دادن ایمن بودن یک سیستم، ابتدا لازم است اطمینان حاصل شود که با توجه به اینکه مشخصات به درستی اجرا شده و خرابی رخ نمی دهد، عملکرد سیستم منجر به خرابی نمی شود. ثانیاً، خطر خطاها یا خرابیهایی که منجر به یک اتفاق ناگوار میشود باید با استفاده از روشهای مقاوم در برابر خطا یا ایمن از بین برود یا به حداقل برسد. اگر امکان حذف کامل خطرات وجود نداشته باشد، برای کاهش خطر، باید زمان مواجهه (طول زمان وقوع) خطر را به حداقل رساند. منابع خطرات متعدد هستند و شامل خطاهای انسانی، رویدادهای پیش بینی نشده، خرابی قطعات، پیچیدگی سیستم و انتشار خطا و خطا می شوند. یک خطا یا خطا در سیستم باقی می ماند تا زمانی که یک رویداد خاتمه دهنده برای خطا از طریق فایروال خطا و متعاقباً درمان خطا و خطا رخ دهد (به عنوان مثال، یک جزء معیوب تعمیر یا جایگزین شود). بسته به وضعیت یا شرایط معیوب، ممکن است خرابی های بعدی رخ دهد که باعث بروز خطاهای بیشتر (گسترش خطا و خطا) می شود. در نهایت، زمانی که سیستم دیگر نتواند تعدادی از خطاها یا ترکیبی از خطاها را تحمل کند، یک خرابی فاجعه بار رخ می دهد و به حالت ناامن (وقفه فاجعه آمیز) می رسد. این وضعیت در شکل 2 نشان داده شده است. 5 شکل 2. درمان خطا و خطا. الف. اهمیت V&V و صدور گواهینامه در سیستمهای ایمنی حیاتی تحقیقات بر روی سیستمهای حیاتی ایمنی مبتنی بر نرمافزار نشان داده است که حوادث سیستم به پیچیدگی تعاملی و اتصال محکم مرتبط هستند [3]. عامل اساسی مدیریت فکری است. یک سیستم ساده دارای تعداد کمی مجهولات در تعاملات خود در داخل سیستم و با محیط خود است. زمانی که سطح تعاملات به حدی می رسد که نمی توان آنها را به طور کامل برنامه ریزی کرد، درک کرد، پیش بینی کرد و از آنها محافظت کرد، یک سیستم پیچیده یا از نظر فکری غیرقابل مدیریت می شود. معرفی فناوری جدید با وارد کردن مجهولات بیشتر در طراحی و احتمالاً تعاملات بیشتر، مشکلات را افزایش می دهد. کوپلینگ محکم خطری است که در نتیجه انتشار خطاها و خطاها از یک جزء یا زیر سیستم به دیگری ایجاد می شود. بنابراین، شاید دو موضوع مهم تأیید و اعتبار (V&V) و صدور گواهینامه یک سیستم حیاتی ایمنی، پیچیدگی و ویژگی های مهار خطا باشد. این توضیح می دهد که چرا تجزیه و تحلیل خطر برای اعتبار سنجی و صدور گواهینامه هر سیستم ایمنی حیاتی است. علاوه بر عملکرد، موارد زیر مهمترین مسائل مربوط به V&V و صدور گواهینامه هستند: خرابیهای اساسی (دائمی، گذرا و ساخته دست انسان)، خرابیهای عملیاتی (تشخیص، پنهان و منتشر شده)، انفجار فضای حالت، و رابطها. فضاهای حالت عظیم سیستم های دیجیتال به این معنی است که فقط بخش کوچکی را می توان قبل از استفاده عملیاتی از سیستم اعمال کرد. بنابراین، اطمینان به دست آمده از طریق آزمایش به شدت محدود است. انفجار فضایی حالت محصول فرعی پیچیدگی است. خرابی های منتشر شده معمولاً با طراحی و اجرای مناطق مهار خطا مدیریت می شوند. ب- راهبردهای دستیابی به گواهینامه یکی از راهبردهای واضح پیروی از استانداردهای ایمنی مناسب و فرآیندهای آنها، از جمله تکنیک ها و اقدامات در مورد چگونگی دستیابی به آنها است [4،5]. هر دو DO-178B و IEC-61508 بر مراحل چرخه توسعه نرم افزار که شامل 6
است تأکید دارند.
ادامه ...
بستن ...