برمجيات إلكترونيات الطيران
برمجيات إلكترونيات الطيران هي برمجيات مُدمجة تخضع لمتطلبات السلامة والموثوقية المنصوص عليها قانونًا، وتُستخدم في أنظمة الطيران . ويكمن الفرق الرئيسي بين برمجيات إلكترونيات الطيران والبرمجيات المُدمجة التقليدية في أن عملية تطويرها مُلزمة قانونًا ومُحسّنة لضمان السلامة. ويُزعم أن العملية الموضحة أدناه أبطأ قليلًا وأكثر تكلفة (ربما بنسبة 15%) من العمليات المُخصصة المُستخدمة عادةً في البرمجيات التجارية . ولأن معظم أعطال البرمجيات ناتجة عن أخطاء، فإن تلافيها في أقرب وقت ممكن يُعدّ طريقةً فعّالة من حيث التكلفة وموثوقة لإنتاج البرمجيات. مع ذلك، في بعض المشاريع، قد لا تُكتشف الأخطاء في المواصفات إلا عند النشر، وعندها قد يكون إصلاحها مُكلفًا للغاية.
تقوم الفكرة الأساسية لأي نموذج لتطوير البرمجيات على أن كل خطوة من خطوات عملية التصميم تُنتج مخرجات تُسمى "المخرجات". [ 1 ] إذا تم اختبار هذه المخرجات للتأكد من صحتها وتصحيحها، فلن تتطور الأخطاء البشرية العادية بسهولة إلى مشاكل خطيرة أو مكلفة. يتبع معظم المصنّعين [ 2 ] نموذج الشلال لتنسيق تصميم المنتج، [ 3 ] ولكنهم جميعًا تقريبًا يسمحون صراحةً بمراجعة الأعمال السابقة. والنتيجة غالبًا ما تكون أقرب إلى النموذج الحلزوني .
للحصول على نظرة عامة حول البرمجيات المدمجة، انظر نماذج تطوير الأنظمة والبرمجيات المدمجة . يفترض باقي هذا المقال الإلمام بهذه المعلومات، ويناقش الاختلافات بين الأنظمة المدمجة التجارية ونماذج التطوير التجارية.
نظرة عامة
بما أن معظم مصنعي إلكترونيات الطيران يرون في البرمجيات وسيلة لإضافة قيمة دون إضافة وزن، فإن أهمية البرمجيات المدمجة في أنظمة إلكترونيات الطيران تتزايد.
تستخدم معظم الطائرات التجارية الحديثة المزودة بأنظمة الطيار الآلي أجهزة كمبيوتر الطيران وأنظمة إدارة الطيران (FMS) التي تُمكن الطائرة من الطيران دون تدخل الطيار المباشر خلال مراحل معينة من الرحلة. كما يجري تطوير أو إنتاج مركبات بدون طيار، مثل الصواريخ والطائرات المسيّرة، التي يمكنها الإقلاع والتحليق والهبوط دون تدخل الطيار.
في العديد من هذه الأنظمة، يُعدّ الفشل أمرًا غير مقبول. وتتجلى موثوقية البرامج العاملة في المركبات الجوية (المدنية أو العسكرية) في حقيقة أن معظم حوادث الطيران تحدث نتيجة أخطاء بشرية. مع ذلك، لا يعني وجود برامج موثوقة بالضرورة سهولة استخدامها أو بديهيتها، فقد ساهم سوء تصميم واجهة المستخدم في وقوع العديد من حوادث الطيران والوفيات.
القضايا التنظيمية
بسبب متطلبات السلامة، تنظم معظم الدول إلكترونيات الطيران، أو على الأقل تتبنى المعايير المستخدمة من قبل مجموعة من الحلفاء أو اتحاد جمركي. وتُعدّ الولايات المتحدة والاتحاد الأوروبي وروسيا من أكثر الهيئات التنظيمية تأثيراً على تطوير الطيران الدولي.
في الولايات المتحدة ، تخضع مكونات الطائرات الإلكترونية وغيرها لمعايير السلامة والموثوقية المنصوص عليها في لوائح الطيران الفيدرالية، الجزء 25 للطائرات النقلية، والجزء 23 للطائرات الصغيرة، والجزئين 27 و29 للطائرات المروحية. ويتم تطبيق هذه المعايير من قبل "ممثلين هندسيين معتمدين" من إدارة الطيران الفيدرالية، والذين عادةً ما يتقاضون رواتبهم من الشركة المصنعة ويحصلون على شهادة اعتماد من إدارة الطيران الفيدرالية.
في الاتحاد الأوروبي، تحدد اللجنة الكهروتقنية الدولية (IEC) متطلبات "موصى بها" لأنظمة السلامة الحرجة، والتي عادةً ما تتبناها الحكومات دون تغيير. ويحمل جهاز إلكترونيات الطيران الآمن والموثوق علامة "CE". ويشابه النظام التنظيمي إلى حد كبير نظام السلامة من الحرائق في الولايات المتحدة وكندا. إذ تُصدّق الحكومة على مختبرات الاختبار، وتقوم هذه المختبرات بدورها بتصديق كل من المنتجات المصنعة والمنظمات. وبشكل أساسي، تُعهد مسؤولية الإشراف على الهندسة من الحكومة والشركة المصنعة إلى مختبر الاختبار.
لضمان السلامة والموثوقية، تشترط الهيئات التنظيمية الوطنية (مثل إدارة الطيران الفيدرالية ، وهيئة الطيران المدني ، ووزارة الدفاع الأمريكية ) معايير لتطوير البرمجيات. ومن بين المعايير التمثيلية معيار MIL-STD-2167 للأنظمة العسكرية، ومعيار RTCA DO-178B وخليفته DO-178C للطائرات المدنية.
قد تكون المتطلبات التنظيمية لهذا البرنامج مكلفة مقارنة بالبرامج الأخرى، لكنها عادة ما تكون الحد الأدنى المطلوب لتحقيق السلامة اللازمة.
عملية التطوير
يتمثل الاختلاف الرئيسي بين برمجيات إلكترونيات الطيران والأنظمة المدمجة الأخرى في أن المعايير الفعلية غالبًا ما تكون أكثر تفصيلًا ودقة من المعايير التجارية، والتي عادةً ما تُوصف في وثائق تتألف من مئات الصفحات. وعادةً ما يتم تشغيلها على نظام تشغيل يعمل في الوقت الحقيقي.
بما أن هذه العملية مطلوبة قانونيًا، فإن معظم العمليات تتضمن وثائق أو برامج لتتبع المتطلبات بدءًا من الفقرات المرقمة في المواصفات والتصاميم وصولًا إلى أجزاء محددة من التعليمات البرمجية، مع اختبارات دقيقة لكل جزء، ومربع مخصص لذلك في قائمة التحقق النهائية للاعتماد. والهدف من ذلك تحديدًا هو إثبات المطابقة للمعايير المنصوص عليها قانونًا.
قد تحدث انحرافات عن مشروع محدد عن العمليات الموضحة هنا بسبب استخدام أساليب بديلة أو متطلبات مستوى أمان منخفضة.
تصف جميع معايير تطوير البرمجيات تقريبًا كيفية تنفيذ وتحسين المواصفات والتصاميم والبرمجة والاختبار (انظر نموذج تطوير البرمجيات ). ومع ذلك، تضيف معايير تطوير برمجيات الطيران بعض الخطوات إلى عملية التطوير لأغراض السلامة والاعتماد:
واجهات المستخدم
عادةً ما تُصمَّم نماذج أولية أو تُحاكى المشاريع التي تتضمن تفاعلاً بشرياً مكثفاً. ويُحتفظ عادةً بتسجيل الفيديو، ولكن يُستغنى عن النموذج الأولي فوراً بعد الاختبار، وإلا فقد يعتقد كبار المديرين والعملاء أن النظام مكتمل. ومن الأهداف الرئيسية تحديد مشكلات التفاعل البشري التي قد تؤثر على السلامة وسهولة الاستخدام.
تحليل المخاطر
عادةً ما تخضع إلكترونيات الطيران الحساسة للسلامة لتحليل المخاطر . في المراحل الأولى من المشروع، يكون لدى المصمم فكرة عامة على الأقل عن أجزائه الرئيسية. يقوم المهندس بعد ذلك بدراسة كل جزء من أجزاء المخطط الانسيابي، وينظر في المشاكل المحتملة التي قد تحدث فيه، وكيف تؤثر على النظام ككل. ثم يتم تقدير شدة المخاطر واحتمالية حدوثها. بعد ذلك، تتحول هذه المشاكل إلى متطلبات تُدرج في مواصفات التصميم.
عادة ما تتضمن المشاريع المتعلقة بأمن التشفير العسكري تحليلًا أمنيًا، باستخدام أساليب مشابهة جدًا لتحليل المخاطر.
دليل الصيانة
بمجرد اكتمال المواصفات الهندسية، يمكن البدء في كتابة دليل الصيانة. يُعدّ دليل الصيانة ضروريًا لإجراء الإصلاحات، وبالطبع، إذا تعذّر إصلاح النظام، فلن يكون آمنًا.
تتضمن معظم المعايير مستويات متعددة. قد يُرفق بمواصفات منتج ذي مستوى أمان منخفض، مثل وحدة الترفيه على متن الطائرة (تلفزيون طائر)، مخططات وإجراءات التركيب والضبط. أما نظام الملاحة أو الطيار الآلي أو المحرك، فقد يتضمن آلاف الصفحات من الإجراءات والفحوصات وتعليمات التركيب. تُسلّم الوثائق الآن (منذ عام ٢٠٠٣) بشكل روتيني على أقراص مدمجة (CD-ROM)، بتنسيقات قياسية تشمل النصوص والصور.
من أغرب متطلبات التوثيق أن معظم العقود التجارية تشترط ضمان توفر وثائق النظام بشكل دائم. والطريقة التجارية المعتادة لتقديم هذا الضمان هي إنشاء وتمويل مؤسسة أو صندوق استئماني صغير. يتولى هذا الصندوق إدارة صندوق بريد ويودع نسخًا (عادةً على رقاقات فائقة الرقة ) في مكان آمن، مثل مساحة مستأجرة في مكتبة جامعة (تُدار كمجموعة خاصة)، أو (وهو أمر نادر الآن) مدفونة في كهف أو موقع صحراوي. [ 4 ]
وثائق التصميم والمواصفات
تتشابه هذه النماذج عادةً مع تلك الموجودة في نماذج تطوير البرمجيات الأخرى . ويكمن الاختلاف الجوهري في أن تتبع المتطلبات يتم عادةً كما هو موضح أعلاه. في المشاريع الكبيرة، يُعد تتبع المتطلبات مهمة ضخمة ومكلفة للغاية، مما يستلزم استخدام برامج حاسوبية ضخمة ومكلفة لإدارتها.
إنتاج ومراجعة التعليمات البرمجية
يُكتب الكود، ثم يُراجع عادةً من قِبل مبرمج (أو مجموعة من المبرمجين، عادةً بشكل مستقل) لم يكتبه في الأصل (وهذا شرط قانوني آخر). كما تُجري منظمات متخصصة عادةً مراجعات للكود باستخدام قائمة مرجعية للأخطاء المحتملة. وعند اكتشاف نوع جديد من الأخطاء، يُضاف إلى القائمة المرجعية، ويُصلح في جميع أجزاء الكود.
غالبًا ما يُفحص الكود بواسطة برامج متخصصة لتحليل صحته ( تحليل الكود الثابت )، مثل برنامج SPARK examiner للغة SPARK (وهي مجموعة فرعية من لغة البرمجة Ada) أو برنامج lint لعائلة لغات البرمجة C (وخاصةً C). تتحقق المترجمات أو برامج الفحص المتخصصة مثل "lint" من توافق أنواع البيانات مع العمليات عليها، كما تُستخدم هذه الأدوات بانتظام لفرض استخدام صارم لمجموعات فرعية صحيحة من لغات البرمجة وأساليب البرمجة. وهناك مجموعة أخرى من البرامج تقيس مؤشرات أداء البرمجيات ، للبحث عن أجزاء الكود التي يُحتمل أن تحتوي على أخطاء. تُصلح جميع المشاكل، أو على الأقل تُفهم وتُراجع بدقة.
بعض البرامج، مثل المرشحات الرقمية وواجهات المستخدم الرسومية وأنظمة الملاحة بالقصور الذاتي ، مفهومة جيداً لدرجة أنه تم تطوير أدوات برمجية لكتابة هذه البرامج. في هذه الحالات، يتم وضع المواصفات ويتم إنتاج برامج موثوقة تلقائياً.
اختبار الوحدة
يُكتب كود اختبار الوحدة لتنفيذ كل تعليمة من تعليمات الكود مرة واحدة على الأقل للحصول على تغطية كاملة للكود . غالبًا ما تُستخدم أداة تغطية للتحقق من تنفيذ كل تعليمة، ثم تُوثَّق تغطية الاختبار أيضًا لأسباب قانونية.
يُعدّ هذا الاختبار من بين أقوى الاختبارات، إذ يُلزم بمراجعة دقيقة لمنطق البرنامج، ويكشف معظم أخطاء البرمجة والمترجم وبعض أخطاء التصميم. تقوم بعض المؤسسات بكتابة اختبارات الوحدة قبل كتابة الكود، مستخدمةً تصميم البرنامج كمواصفات للوحدة. يُنفّذ كود اختبار الوحدة، وتُصلح جميع المشاكل.
اختبار التكامل
بمجرد توفر أجزاء من الشفرة البرمجية، تُضاف إلى هيكل الشفرة الأساسي، وتُختبر في مكانها للتأكد من عمل كل واجهة. عادةً ما تُستكمل الاختبارات المدمجة للإلكترونيات أولاً، قبل البدء باختبارات التشغيل الأولي واختبارات انبعاثات الراديو للإلكترونيات.
بعد ذلك، يتم دمج أهم ميزات البرنامج. في هذه المرحلة، من المفيد غالبًا للمطورين أن تتوفر لديهم طريقة لتشغيل أجزاء صغيرة ومحددة من التعليمات البرمجية، ربما من خلال نظام قوائم بسيط.
يحاول بعض مديري البرامج ترتيب عملية التكامل هذه بحيث يصبح النظام قابلاً للتسليم في أي تاريخ لاحق بعد تحقيق مستوى أدنى من الوظائف، مع زيادة عدد الميزات بمرور الوقت.
اختبار الصندوق الأسود واختبار القبول
في هذه الأثناء، يبدأ مهندسو الاختبار عادةً بتجميع جهاز الاختبار، وإصدار اختبارات أولية لاستخدامها من قبل مهندسي البرمجيات. وفي مرحلة ما، تغطي الاختبارات جميع وظائف المواصفات الهندسية. عند هذه المرحلة، يبدأ اختبار وحدة إلكترونيات الطيران بأكملها. والهدف من اختبار القبول هو إثبات أن الوحدة آمنة وموثوقة في التشغيل.
يُعدّ الاختبار الأول للبرنامج، وأحد أصعب الاختبارات التي يُمكن إجراؤها ضمن جدول زمني ضيق، اختبارًا واقعيًا لانبعاثات الراديو الصادرة من الوحدة. وعادةً ما يجب البدء بهذا الاختبار في وقت مبكر من المشروع لضمان وجود وقت كافٍ لإجراء أي تعديلات ضرورية على تصميم الإلكترونيات. كما يخضع البرنامج لتحليل تغطية هيكلية، حيث تُجرى الاختبارات ويتم جمع بيانات تغطية الكود وتحليلها.
شهادة
تُنتج كل خطوة مُخرَجًا، إما وثيقةً أو برنامجًا أو تقرير اختبار. وعندما يجتاز البرنامج جميع اختباراته (أو ما يكفي منها ليتم بيعه بأمان)، تُجمَع هذه الاختبارات في تقرير اعتماد، قد يصل عدد صفحاته إلى آلاف الصفحات. ثم يُقرر الممثل الهندسي المُعيَّن، الذي سعى جاهدًا لإنجاز المشروع، ما إذا كانت النتيجة مقبولة. إذا كانت كذلك، يُوقِّع عليها، وبذلك يُعتمد برنامج إلكترونيات الطيران.
انظر أيضاً
- الملحق: الاختصارات والمصطلحات في إلكترونيات الطيران
- DO-178B
- نموذج تطوير البرمجيات
- تحليل المخاطر
- قوة العشرة: قواعد لتطوير البرامج الحساسة للسلامة
مراجع
- ↑ "نماذج البرمجيات" . www.cs.uct.ac.za. تاريخ الاسترجاع: 28-01-2024 .
- ↑ "ما هو نموذج الشلال؟ - التعريف والإرشاد" . جودة البرمجيات . تم الاطلاع عليه بتاريخ 1 ديسمبر 2023 .
- ↑ "نماذج البرمجيات" . www.cs.uct.ac.za. تاريخ الاسترجاع: 28-01-2024 .
- ↑ معلومات شخصية، روبرت يابلونسكي، مدير الهندسة، شركة بي إي للفضاء، إرفاين، كاليفورنيا، 1993
روابط خارجية
- إلكترونيات الطيران
- برامج النقل
- حواسيب إلكترونيات الطيران
