پس از دو دهه از انتشار استاندارد DO-178B در سال 1992 و با پیشرفت روز افزون تجهیزات، نیاز به روزآمد کردن این استاندارد به طور قابل توجهی احساس شد. علاوه بر این ارائه روش‌ها و فناوری‌های جدید برای توسعه سیستم‌ها در صنعت اویونیک یکی دیگر از دلایل روزآمد کردن DO-178B بود.

استاندارد DO-178C با همکاری کمیسیون فنی رادیوی هوانوردی ایالات متحده (RTCA) و سازمان تجهیزات هوانوردی تجاری اروپا (EUROCAE) و با هدف سنجش نرم‌افزار در سیستم‌های هوابردی و صدور گواهینامه تجهیزات اویونیکی در سال 2012 منتشر شد. این استاندارد از سوی RTCA با عنوان DO-178C و از سوی EUROCAE با عنوان ED-12C شناخته می‌شود. متخصصان صدور گواهینامه هوانوردی همچون اداره هوانوردی فدرال (FAA) و آژانس ایمنی هوانوردی اروپا (EASA) از این استاندارد به عنوان سند اصلی برای تایید سیستم‌های هوافضای مبتنی بر نرم‌افزارهای تجاری استفاده می‌کنند.

استاندارد DO-178C به سه بخش مجزا تقسیم شده است. این سه بخش شامل سند اصلی (هسته)، 3 مکمل برای بخش‌های ویژه فناوری (از جمله صحت‌سنجی و توسعه مبتنی بر مدل، فناوری شی‌گرا، روش‌های فرمال) و در نهایت یک سند ویژه برای تعیین وضعیت و صلاحیت ابزار است. در حال حاضر استاندارد DO-178C/ED-12C به تصویب رسمی از RTCA و EUROCAE رسیده و تمام بخش‌های آن کامل شده است. از سوی دیگر سازمان‌های مجری مقررات و مراجع ذیصلاح با دریافت اسناد پشتیبانی از استاندارد مذکور، اقدام به اجرای آن کرده‌اند. بنابراین با صدور اسناد پشتیبان در سال 2013، این استاندارد برای طرح‌های نسل بعد هواپیماها و همچنین تجهیزات جدید هواپیماهای کنونی اعمال شده ‌است.

تاریخچه و دید کلی از استانداردهای اویونیک

استاندارد DO-178B در سال 1992 به عنوان جایگزین استانداردهای DO-178A و DO-178 ارائه شد. نسخه‌های قبل اغلب در بیان و دستیابی به اهداف مورد نیاز مشکل داشتند تا اینکه استاندارد DO-178B چارچوبی روشن ارائه داد که به شدت توسط مقامات و سازندگان هواپیما و صنعت مورد قبول و پذیرش واقع شد. این استاندارد با رفع و حذف جنبه‌های زیر توانست به این موفقیت دست پیدا کند.

  • نیازمندی‌های ویژه محصول (نیازمندی‌های محصولی محور)
  • ویژگی‌های‌خاص روش توسعه و زبان برنامه‌نویسی

در واقع حذف این محدودیت‌ها از چهارچوب استاندارد، باعث عمومی‌تر شدن آن و علاقه‌مندی هرچه بیشتر طراحان و مراجع ذیصلاح برای استناد به آن شد. در ادامه استاندارد DO-178C منتشر شد و همانند نسخه قبلی خود روی موضوعات زیر تمرکز دارد.

  • تمرکز روی نرم‌افزار با شناسایی رابط‌ها تنها در بخش‌هایی از سیستم و جنبه‌های سخت‌افزاری
  • تعریف سطوح مهم و بحرانی برای نرم‌افزار (سطح نرم‌افزار)
  • تعریف فرآیندهای چرخه حیات نرم‌افزار و شناسایی معیارهای کیفیت برای هر فرآیند بر اساس سطح خاص نرم‌افزار
  • تعریف مدارک مورد نیاز برای هر سطح نرم‌افزار، مشخص‌سازی ساختار محتوای کلی
  • تمرکز روی اهداف، قابلیت‌های سطح نرم‌افزار و خروجی‌های مورد نیاز برای اطمینان از اهداف کیفی

در واقع استاندارد DO-178B/C متعلق به خانواده استانداردهای صنعت اویونیک است که با هدف راهنمایی مسیر توسعه محصولات این صنعت روی کار آمده است. مهم‌ترین استانداردهای این خانواده به شرح زیر هستند.

  • اطمینان از فرآیندهای ایمنی و ارزیابی ایمنی (سند ARP 4761)
  • تضمین کیفیت سیستم‌های پیچیده (سند ARP4754A)
  • تضمین کیفیت سخت‌افزارهای الکترونیکی پیچیده (سند DO-254)
  • تضمین کیفیت سیستم‌های نرم‌افزاری (سند DO-178B/C)

همه این استانداردها بر اساس یک مبنا و مفهوم واضح و روشن عمل می‌کنند. هدف اصلی آن‌ها ملزم کردن سیستم به اجرای تنها قابلیت‌های از پیش تعیین شده (و نه غیر از آن) است. هدف دیگر این مجموعه استاندارد، برقراری ایمنی در سیستم است که بطور ویژه بخش‌های بحرانی سیستم را ملزم به اجرای فرآیند‌های دقیق‌تر می‌کند. در استانداردهای مذکور یک رویکرد مدل V برای چرخه توسعه سیستم‌های نرم‌افزاری و سخت‌افزاری وجود دارد که بر اساس آن هر عنصر از سیستم به دیگر بخش‌ها وابسته بوده و ارتباطات میان آن‌ها با رابط‌هایی واضح و روشن برقرار می‌شود.

بنابراین می‌توان گفت رویکرد این استانداردها تمرکز روی فرآیندهای توسعه و جنبه‌های کیفی ویژه برای سطح ایمنی مورد نیاز سیستم است. این مفهوم از یک سو در برنامه‌های کاربردی ایمنی‌ محور، فعالیت‌های لازم را بطور واضح و دقیق تعریف کرده و از سوی دیگر، برای سیستم‌هایی که فقط برای آسودگی مسافران هواپیما کاربرد دارند، فرآیندهایی با دقت کمتر را مشخص می‌کند. بنابراین معیارهای کیفیت برای

 

استانداردهای صنعت اویونیک متمرکز روی فرآیندهای توسعه و کیفیت

برنامه‌های کاربردی نرم‌افزاری ایمنی محور در یک هواپیما متفاوت خواهند شد. به عنوان نمونه معیارهای سنجش کیفیت برای سیستم کنترل پرواز بسیار سخت‌تر از سیستم‌های نرم‌افزاری غیرحیاتی همچون سیستم سرگرمی حین پرواز است. همه این استانداردها یک طبقه‌بندی از شرایط شکست و خرابی را تعریف می‌کنند.

 

طبقه‌بندی در نظر گرفته شده در استاندارد نرم‌افزاری DO-178C

سطح میزان شکست/ خرابی تعداد اهداف (objective)
A فاجعه بار (Catastrophic) 66
B پرخطر/خطرناک (Hazardous/Severe-Major) 65
C خطر بزرگ (Major) 57
D خطر کوچک (Minor) 28
E بدون تاثیر (Not relevant) 0

 

 

مفهوم DO-178B/C در فرآیندها و چرخه حیات نرم‌افزار

همانطور که قبلا اشاره شد استانداردهای اویونیک اساسا با توسعه چرخه حیات نرم‌افزار و فرآیندها سروکار دارند. بنابراین DO-178C به وضوح چرخه حیات نرم‌افزاری و فرآیندهایی که باید دنبال شوند را تعریف می‌کند.

نسخه B از استاندارد DO-178 تنها روی فرآیند چرخه حیات و کیفیت اهداف به منظور بررسی شایستگی فعالیت ها تمرکز دارد. از اینرو در طی سال‌های بعد از انتشار آن چند سند برای روشن‌سازی جنبه‌های خاص تعریف نشده در استاندارد منتشر شد. در نسخه C علاوه بر حوزه‌های پیشین استاندارد، ابزار و فناوری‌های جدیدی که هم‌اکنون مورد توجه صنعت اویونیک قرار گرفته‌اند نیز در نظر گرفته شده است. از جمله این ابزار و فناوری‌ها می‌توان به موارد زیر اشاره کرد.

  • صحت‌سنجی و توسعه مبتنی بر مدل[1]
  • زبان‌های شی‌گرا[2]
  • نرم‌افزارهای تجاری مرسوم در بازار[3] (COTS)
  • روش‌های فرمال [4]

ساختار استاندارد DO-178C

سند هسته (اصلی) DO-178C با همان ساختار و رویکرد مشابه استاندارد DO-178B تعریف شده است. هدف اصلی این سند بیان راهنمایی‌هایی است که مستقل از روش و فناوری باشد و قوانین و اهداف در آن کاملا واضح و روشن بیان شوند. ساختار اصلی سند هسته DO-178C بسیار مشابه نسخه قبلی است، با این حال جنبه‌های زیر به سند اضافه شده است.

  • برقراری اصول و منطق برای هر یک از اهداف DO-178C/ED-12C (این اصول در سند DO-248C لیست شده‌اند.)
  • بهبود جنبه‌های مقاومت و پایداری
  • بهبود جنبه‌های نرم‌افزاری قابل اصلاح توسط کاربر
  • راهنما برای مولد خودکار کد
  • ویژگی غیر ردیابی کردن کد

بیشتر بخش‌های اضافه ‌شده و بهبود یافته در DO-178C که به اصطلاح مکمل گفته می‌شوند، شامل فناوری‌ها و روش‌هایی هستند که نیاز به جزئیات بیشتر و نگاشت دقیق‌تری دارند. لیست مکمل‌های DO-178C در زیر آورده شده است.

  • ملاحظات سنجش صلاحیت ابزار نرم‌افزاری (DO-330/ED-215)

این مکمل به بیان ویژگی‌های لازم برای یک ابزار نرم‌افزاری که برای توسعه محصول استفاده می‌شود، پرداخته است. در اینجا منظور از ابزار نرم‌افزاری کلیه نرم‌افزارهایی است که در بخش‌های مختلف فرآیند طراحی، ساخت و تست محصول استفاده می‌شوند.

  • مکمل توسعه و صحت‌سنجی مبتنی بر مدل (DO-331/ED-218)

این مکمل جنبه‌های توسعه و صحت‌سنجی مبتنی بر مدل را به استاندارد مذکور اضافه می‌کند. راهنمایی‌های این سند بیشتر مورد توجه توسعه‌دهندگان سیستم‌ها قرار می‌گیرد.

  • مکمل فناوری شی‌گرا (DO-332/ED-217)

فناوری‌های شی‌گرا و زبان‌های برنامه‌نویسی مانند جاوا و C++ بطور وسیعی در بخش‌های تجاری و غیر بحرانی صنعت استفاده می‌شوند. اما با توجه به سطح‌بندی انجام شده برای نرم‌افزار در استاندارد DO-178، نیاز است تا کدهای برنامه بطور واضحی در دسترس باشند. این مکمل شامل راهنمایی‌های لازم برای استفاده از فناوری شی‌گرا در صنعت هوایی است.

  • مکمل روش‌های فرمال (Do-333/ED-216)

روش‌های فرمال بر اساس علوم ریاضی عمل می‌کنند و می‌توانند برای ذکر خصوصیات، توسعه و صحت‌سنجی نرم‌افزار سیستم‌های دیجیتال استفاده شوند. پایه ریاضی روش‌های فرمال متشکل از منطق صوری، ریاضیات گسسته و زبان‌های کامپیوتری است. استفاده از روش‌های فرمال با انجام تجزیه و تحلیل ریاضی مناسب می‌تواند به ایجاد صحت و استحکام طراحی سیستم‌های اویونیکی کمک کند.

 

ساختار اصلی خانواده DO-178C

از مهم‌ترین ویژگی‌های روش‌های فرمال در طراحی سیستم‌های اویونیک می‌توان به موارد زیر اشاره کرد.

  • توصیف و تشریح روشن و بدون ابهام از الزامات سیستم‌های نرم‌افزاری
  • ایجاد کردن ارتباط دقیق بین مهندسان یک پروژه
  • ارائه شواهد معتبر برای صحت‌سنجی همچون ثبات و دقت

 

نتیجه‌گیری

جایگزینی استاندارد DO-178B با DO-178C یکی از موفق‌ترین جایگزینی استانداردهای نرم‌افزاری بین المللی تا به حال بوده است. طی سال‌های 1990 تا 2011 در حالی که پیچیدگی سیستم‌های هواپیما چند برابر افزایش پیدا کرده، تعداد حوادث هواپیما مربوط به خرابی‌های نرم‌افزار کاهش یافته است.

در طول اعتبار استاندارد DO-178B انواع هواپیماهای ایرباس A380، A340، A330 و A400M و همچنین بوئینگ 787 بازار سیستم‌های نرم‌افزاری را بدست گرفتند. در همان زمان روش‌ها و فناوری‌های جدیدی برای توسعه نرم‌افزار معرفی شدند که فاقد گواهی مورد تایید مشترک بودند. به همین منظور کمیته‌ای متشکل از مراجع قانونی، تولیدکنندگان هواپیما، تامین کنندگان سیستم، فروشندگان ابزار و مشاوران با تجربه در تمام زمینه‌های لازم برای توسعه چنین نرم‌افزارهایی استاندارد DO-178C را ارائه کردند که دارای حجمی حدود 6 برابر نسخه پیشین است. این استاندارد با یک آینده‌نگری مناسب، امکان تایید سیستم‌های نرم‌افزاری حال و آینده که با فناوری‌های مختلفی تولید شده‌اند را می‌دهد.

منابع:

www.en.wikipedia.org

www.academia.edu

واژه نامه:

[1] Model-Based Development & Verification

[2] Object-Oriented Languages

[3] Commercial Off-The-Shelf Software

[4] Formal Methods