DO-178A Standard Guide: Software Verification Tools

Talaan ng nilalaman

DO-178A Standard Guide: Software Verification Tools

pagpapakilala

Ang Aviation software ay gumaganap ng isang kritikal na papel sa pagtiyak ng kaligtasan at kahusayan ng mga pagpapatakbo ng sasakyang panghimpapawid. Habang ang pagiging kumplikado ng software ay patuloy na tumataas, ang pangangailangan para sa matatag na proseso ng pag-verify ay nagiging pinakamahalaga. Ang pamantayang DO-178A, na binuo ng Radio Technical Commission for Aeronautics (RTCA), ay nagbibigay ng mga alituntunin para sa sertipikasyon ng software na ginagamit sa mga airborne system. Partikular na nakatuon ang artikulong ito sa paggamit ng mga tool sa pag-verify ng software sa loob ng balangkas ng DO-178A upang makamit ang pagsunod at mapahusay ang kaligtasan ng software.

Pag-unawa sa DO-178A at ang Kahalagahan nito

Ang DO-178A Standard Overview

Ang pamantayang DO-178A, na pormal na pinamagatang "Mga Pagsasaalang-alang ng Software sa Mga Sistema sa Airborne at Sertipikasyon ng Kagamitan," ay unang inilathala noong 1985. Ang pangunahing layunin nito ay magtatag ng isang pare-parehong hanay ng mga alituntunin para sa pagbuo at sertipikasyon ng mga airborne software system. Ang pagsunod sa DO-178A ay ipinag-uutos para sa software na ginagamit sa komersyal, militar, at pangkalahatang mga aplikasyon sa paglipad.

Kahalagahan ng Pagsunod sa DO-178A

Ang pagsunod sa DO-178A ay mahalaga para sa industriya ng abyasyon dahil tinitiyak nito na ang software ay nakakatugon sa mahigpit na mga kinakailangan sa kaligtasan at pagiging maaasahan. Sa pamamagitan ng pagsunod sa pamantayan, maaaring mabawasan ng mga developer ang panganib ng mga pagkabigo na nauugnay sa software, na maaaring magkaroon ng mga sakuna na kahihinatnan. Ang pagsunod sa DO-178A ay nagpapaunlad din ng tiwala sa mga regulatory body, airline, at mga pasahero, na tinitiyak ang pinakamataas na antas ng kaligtasan at pagiging maaasahan sa aviation software.

Mga Antas ng DO-178A

Mga Antas ng DO-178A

Tinukoy ng DO-178A ang tatlong antas ng software: Level 1, Level 2, at Level 3. Ang Level 1 ay kumakatawan sa pinakamataas na antas ng pagiging kritikal, habang ang Level 3 ay kumakatawan sa pinakamababa.

Antas 1

Ang Level 1 ay ang pinaka mahigpit at hinihinging antas sa mga tuntunin ng mga kinakailangan sa sertipikasyon. Ang mga function ng software na nakatalaga sa Level 1 ay may pinakamataas na kritikalidad, at ang pagkabigo ng mga function na ito ay maaaring magresulta sa mga sakuna na kahihinatnan, kabilang ang pagkawala ng buhay at ang sasakyang panghimpapawid mismo. Kasama sa mga halimbawa ng Level 1 na software ang mga kontrol sa paglipad at mahahalagang sistema ng avionics.

Mga Kinakailangan at Dokumentasyon:

  • Kumpleto at hindi malabo na mga Kinakailangan: Ang antas 1 na software ay dapat may kumpleto at hindi malabo na mga kinakailangan na nagmula sa mga layunin sa kaligtasan sa antas ng system.
  • Malawak na Dokumentasyon: Ang awtoridad sa sertipikasyon ay nangangailangan ng komprehensibong hanay ng mga dokumento para sa Level 1 na software. Kabilang dito ang mga software development plan, configuration management plan, software requirements documents, software design documents, software verification plan, at higit pa.
  • Mga Pormal na Paraan at Pagpapatunay: Ang Level 1 na software ay nangangailangan ng paggamit ng mga pormal na pamamaraan, pormal na pamamaraan ng pag-verify, at malawak na pagsubok upang matiyak ang pinakamataas na antas ng pagiging maaasahan at kaligtasan.

Antas 2

Ang Antas 2 ay itinalaga sa mga pag-andar ng software na may mas mababang antas ng pagiging kritikal kumpara sa Antas 1. Ang pagkabigo sa mga paggana ng Antas 2 ay maaaring magdulot ng malaking pinsala sa sasakyang panghimpapawid o mga sistema, ngunit ang mga kahihinatnan ay hindi itinuturing na sakuna. Kasama sa mga halimbawa ng Level 2 na software ang mga sistema ng kontrol ng engine at mga kritikal na function ng nabigasyon.

Mga Kinakailangan at Dokumentasyon:

  • Mahusay na Tinukoy na Mga Kinakailangan: Ang antas 2 na software ay dapat na may mahusay na tinukoy na mga kinakailangan na masusubaybayan sa mga layunin sa kaligtasan sa antas ng system.
  • Kinokontrol na Proseso ng Pag-unlad: Ang proseso ng pagbuo ng software sa Level 2 ay dapat na mahusay na kontrolado, na may diin sa pamamahala ng configuration, dokumentasyon, at pagsubok.
  • Komprehensibong Pag-verify: Ang mga aktibidad sa pag-verify para sa Level 2 na software ay dapat sumasakop sa malawak na hanay ng mga aspeto, kabilang ang functional testing, structural coverage analysis, at fault tolerance analysis.

Antas 3

Ang Antas 3 ay kumakatawan sa pinakamababang antas ng pagiging kritikal sa DO-178A. Ang mga function ng software na nakatalaga sa Level 3 ay may maliit na epekto sa pagpapatakbo ng sasakyang panghimpapawid kung sila ay mabibigo. Ang mga kahihinatnan ng pagkabigo ay karaniwang limitado sa mga maliliit na pagkagambala sa system. Kasama sa mga halimbawa ng Level 3 na software ang mga pampasaherong entertainment system at hindi kritikal na mga function sa pagsubaybay.

Mga Kinakailangan at Dokumentasyon:

  • Tinukoy na Mga Kinakailangan: Ang antas 3 na software ay dapat na may tinukoy na mga kinakailangan na tumutugon sa mga layunin sa kaligtasan sa antas ng system.
  • Pinasimpleng Proseso ng Pag-unlad: Ang proseso ng pagbuo ng software sa Antas 3 ay pinasimple kumpara sa Mga Antas 1 at 2, na may pinababang dokumentasyon at mga kinakailangan sa pagsubok.
  • Pangunahing Pagpapatunay: Nakatuon ang mga aktibidad sa pag-verify sa Level 3 sa pagpapakita ng pagsunod sa mga kinakailangan at pagsasagawa ng pangunahing functional testing.

Sa buod, ang DO-178A ay tumutukoy sa tatlong antas ng software (Antas 1, Antas 2, at Antas 3), na ang Antas 1 ang pinakamahigpit at nangangailangan ng komprehensibong hanay ng mga dokumento na mabuo at gawing available sa awtoridad ng sertipikasyon. Tinutukoy ng pagiging kritikal ng mga function ng software ang antas na itinalaga at nakakaimpluwensya sa lalim at hirap ng mga aktibidad sa pag-develop at pag-verify na kinakailangan para sa pagsunod sa pamantayan ng DO-178A.

Pagpapatunay ng Software sa DO-178A

Mga Layunin ng Pagpapatunay

Ang pag-verify ng software, isang mahalagang aspeto ng DO-178A, ay naglalayong ipakita na ang binuong software ay nakakatugon sa mga tinukoy na kinakailangan nito at gumagana nang mapagkakatiwalaan sa nilalayong kapaligiran. Kasama sa mga aktibidad sa pag-verify ang pagsusuri, pagsubok, at inspeksyon ng mga artifact ng software sa buong ikot ng buhay ng development.

Tungkulin ng Mga Tool sa Pag-verify ng Software

Ang mga tool sa pag-verify ng software ay napakahalaga sa pagkamit ng mga layunin ng DO-178A. Ang mga tool na ito ay nag-automate ng iba't ibang aktibidad sa pag-verify, na binabawasan ang potensyal para sa pagkakamali ng tao at pinapahusay ang pangkalahatang kahusayan. Tumutulong sila sa pagsusuri ng code, pagbuo ng kaso ng pagsubok, at kakayahang masubaybayan ang mga kinakailangan, at sa gayon ay pinapa-streamline ang proseso ng pag-verify at pagpapabuti ng kalidad ng software.

Mga Uri ng Software Verification Tools

Mga Tool sa Static na Pagsusuri

Sinusuri ng mga static na tool sa pagsusuri ang source code o mga executable binary nang hindi isinasagawa ang mga ito. Tinutukoy nila ang mga potensyal na depekto, mga paglabag sa panuntunan sa coding, at iba pang mga isyu sa pamamagitan ng pagsusuri sa istruktura ng code, pagiging kumplikado, at pagsunod sa mga pamantayan ng coding. Tumutulong ang mga tool na ito sa pag-detect ng mga karaniwang error sa software, gaya ng mga buffer overflow, null pointer dereferences, at uninitialized variables.

Mga Tool sa Dynamic na Pagsusuri

Ang mga tool sa dynamic na pagsusuri ay nagpapatupad ng software at sinusubaybayan ang gawi nito sa panahon ng runtime. Kinokolekta nila ang impormasyon ng runtime, tulad ng mga variable na value, function call, at paggamit ng memory, na nagpapahintulot sa mga developer na matukoy ang mga depekto, memory leaks, at mga bottleneck sa pagganap. Pinapadali din ng mga dynamic na tool sa pagsusuri ang paggawa ng mga kaso ng pagsubok na gumagamit ng mga partikular na landas ng programa, na tinitiyak ang masusing saklaw ng pagsubok.

Mga Tool sa Pagsubok na Batay sa Modelo

Gumagamit ang mga tool sa pagsubok na nakabatay sa modelo ng mga pormal na modelo, tulad ng mga may hangganan na makina ng estado o mga chart ng estado, upang awtomatikong makabuo ng mga kaso ng pagsubok. Nagbibigay ang mga tool na ito ng isang sistematikong diskarte sa pagsubok ng software sa pamamagitan ng pagkuha ng mga kaso ng pagsubok mula sa modelo, na tinitiyak ang komprehensibong saklaw ng lahat ng posibleng gawi ng system. Nakakatulong ang mga tool sa pagsubok na nakabatay sa modelo na matukoy ang mga kaso sa sulok, mapatunayan ang mga kumplikadong pakikipag-ugnayan ng system, at mapahusay ang pangkalahatang kahusayan sa pagsubok.

Mga Kinakailangan sa Traceability Tools

Ang mga tool sa traceability ng mga kinakailangan ay nagtatatag at nagpapanatili ng mga link sa pagitan ng mga kinakailangan sa software, mga artifact ng disenyo, at mga aktibidad sa pag-verify. Ang mga tool na ito ay nagbibigay-daan sa pagmamapa ng mga kinakailangan sa mga partikular na kaso ng pagsubok, na tinitiyak na ang lahat ng mga kinakailangan ay sapat na na-verify. Ang mga tool sa traceability ng mga kinakailangan ay tumutulong sa dokumentasyon ng pagsunod at pinapadali ang mga pag-audit ng regulasyon.

Mga Benepisyo at Hamon ng Software Verification Tools

Mga Benepisyo ng Software Verification Tools

  • Tumaas na Kahusayan: Ang pag-automate ng mga aktibidad sa pag-verify ay binabawasan ang manu-manong pagsisikap, pinapabilis ang proseso ng pag-verify, at pinapabuti ang pagiging produktibo.
  • Pinahusay na Katumpakan: Ang mga tool sa pag-verify ng software ay maaaring makakita ng mga depekto at mga kahinaan na maaaring makaligtaan sa panahon ng manu-manong inspeksyon o pagsubok.
  • Pinahusay na Kalidad ng Software: Ang pare-parehong aplikasyon ng mga tool sa pag-verify ay nakakatulong na matukoy at maalis ang mga error sa software, na humahantong sa mas mataas na kalidad na software.
  • Dokumentasyon ng Pagsunod: Ang mga tool sa pag-verify ay bumubuo ng mga ulat at dokumentasyon na tumutulong sa pagpapakita ng pagsunod sa mga kinakailangan ng DO-178A.

Mga Hamon ng Software Verification Tools

  • Kwalipikasyon ng Tool: Ang mga tool sa pag-verify na ginagamit sa mga proyekto ng DO-178A ay dapat na kwalipikado upang matiyak ang kanilang pagiging maaasahan at pagiging angkop para sa nilalayon na layunin. Ang kwalipikasyon ng tool ay maaaring isang kumplikadong proseso, na nangangailangan ng karagdagang pagsisikap at dokumentasyon.
  • Mga Pagsasaalang-alang sa Gastos: Ang pagkuha at pagpapanatili ng mga tool sa pag-verify ng software ay maaaring may kasamang malalaking gastos. Dapat na maingat na suriin ng mga organisasyon ang mga benepisyo at pagiging epektibo sa gastos ng paggamit ng mga tool na ito batay sa mga kinakailangan at limitasyon ng proyekto.
  • Pagsasama ng Tool: Ang pagsasama ng mga tool sa pag-verify ng software sa mga kasalukuyang development environment at mga daloy ng trabaho ay maaaring magpakita ng mga teknikal na hamon, na nangangailangan ng koordinasyon at kadalubhasaan.

Konklusyon

Ang pagsunod sa pamantayan ng DO-178A ay kritikal para sa pagbuo at sertipikasyon ng ligtas at maaasahang aviation software. Ang mga tool sa pag-verify ng software ay may mahalagang papel sa pagkamit ng pagsunod sa DO-178A sa pamamagitan ng pag-automate ng iba't ibang aktibidad sa pag-verify, pagpapabuti ng kahusayan, at pagpapahusay ng kalidad ng software. Sa pamamagitan ng paggamit ng static na pagsusuri, dynamic na pagsusuri, pagsubok na nakabatay sa modelo, at mga tool sa traceability ng mga kinakailangan, matitiyak ng mga developer na nakakatugon ang kanilang software sa mahigpit na mga kinakailangan sa kaligtasan at pagiging maaasahan. Ang paggamit ng mga tool na ito ay hindi lamang nakakatulong sa pagsunod sa DO-178A ngunit pinahuhusay din ang pangkalahatang proseso ng pag-unlad, na nagreresulta sa software na nakakatugon sa pinakamataas na pamantayan ng kaligtasan sa industriya ng abyasyon.

Huwag kalimutang ibahagi ang post na ito!

chapters

Pumunta sa Market nang Mas Mabilis gamit ang Visure

Synergy sa Pagitan ng Model-Based Systems Engineering Approach at Proseso ng Pamamahala ng Mga Kinakailangan

Disyembre 17th, 2024

11 am EST | 5 pm CEST | 8 am PST

Fernando Valera

Fernando Valera

CTO, Visure Solutions

Pagtulay sa Gap mula sa Mga Kinakailangan hanggang sa Disenyo

Alamin kung paano i-bridge ang agwat sa pagitan ng MBSE at Proseso ng Pamamahala ng Mga Kinakailangan.