DO-178B Standard Guide: Software Verification Tools

Talaan ng nilalaman

DO-178B Standard Guide: Software Verification Tools

pagpapakilala

Ang kaligtasan ay ang pinakamahalaga pagdating sa disenyo ng software para sa industriya ng aerospace, at walang alituntunin sa kaligtasan ang naging kasing-epekto ng DO-178B, na kilala rin bilang Mga Pagsasaalang-alang ng Software sa Airborne Systems at Sertipikasyon ng Kagamitan. Sa post sa blog na ito, tatalakayin natin kung ano ang DO-178B, kung paano sumunod dito, at ang iba't ibang tool at certification na magagamit upang matulungan kang gawin ito.

Ano ang DO-178B?

Nai-publish noong 1992 ng Radio Teknikal na Komisyon para sa Aeronautics (RTCA) at magkasamang binuo kasama ang EUROCAE, ang European Organization for Civil Aviation Equipment, ang DO-178B ay isang internasyonal na patnubay na tumatalakay sa kaligtasan ng software na kritikal na misyon na ginamit sa mga sistema at kagamitan na nasa himpapawid. Kahit na ito ay isang patnubay lamang at hindi isang patakaran, ang DO-178B ay nakikita bilang isang pamantayan para sa pagbuo ng avionics software, at kahit na ginagamit ito ng FAA para sa patnubay kapag tinutukoy kung ang isang piraso ng software ay magaganap na mapagkakatiwalaan sa isang kapaligiran na nasa hangin.

Sa kabila ng partikular na pagbuo upang matugunan ang mga natatanging pangangailangan ng industriya ng aerospace, nakita rin ng paggamit ng DO-178B sa iba pang mga industriya, na madalas na kasabay ng DO-254, na kilala rin bilang Design Assurance Guide for Airborne Electronic Hardware, na tumatalakay sa pag-unlad ng mga elektronikong hardware na dala ng hangin. Tulad din ng DO-178B, ang DO-254 ay inilathala ng RTCA, isang samahang boluntaryong Estados Unidos na ang misyon ay upang bumuo ng patnubay na panteknikal para magamit ng mga awtoridad sa regulasyon ng gobyerno at ng industriya.

Ano ang pagkakaiba sa pagitan ng DO-178B at DO-178C?

Ang DO-178B at DO-178C ay parehong mga pamantayan na binuo ng Radio Technical Commission for Aeronautics (RTCA) para sa software na ginagamit sa mga airborne system. Ang mga pamantayang ito ay nagbibigay ng mga alituntunin at kinakailangan para sa pagbuo at sertipikasyon ng software para magamit sa mga sistema ng sasakyang panghimpapawid. Ang pangunahing pagkakaiba sa pagitan ng DO-178B at DO-178C ay nasa kanilang saklaw, mga update, at mga pagpapabuti.

Ang DO-178B, na kilala rin bilang "Mga Pagsasaalang-alang ng Software sa Airborne Systems at Sertipikasyon ng Kagamitan," ay inilathala noong 1992 at naging de facto na pamantayan para sa pagbuo ng software sa industriya ng aerospace. Tinukoy nito ang isang hanay ng mga layunin at aktibidad upang matiyak na ang software na ginagamit sa mga sistema ng sasakyang panghimpapawid ay maaasahan at ligtas. Ang DO-178B ay isinaayos sa anim na antas ng software, mula sa Antas A (ang pinaka kritikal) hanggang sa Antas E (ang pinakakaunting kritikal), batay sa potensyal na epekto ng isang pagkabigo ng software sa sasakyang panghimpapawid at mga sakay nito. Nagbibigay ito ng sistematikong proseso para sa pagbuo ng software, pag-verify, at pagpapatunay, kabilang ang mga kinakailangan, disenyo, coding, at pagsubok.

Ang DO-178C, na kilala rin bilang "Mga Pagsasaalang-alang ng Software sa Airborne Systems at Sertipikasyon ng Kagamitan," ay ang na-update na bersyon ng DO-178B. Nai-publish ito noong 2011 at nagpakilala ng ilang makabuluhang pagbabago at pagpapahusay sa pamantayan. Sinasalamin ng DO-178C ang mga pagsulong sa mga kasanayan sa pagbuo ng software, mga teknolohiya, at mga tool na naganap mula noong inilabas ang DO-178B. Ang mga pangunahing layunin ng DO-178C ay pahusayin ang pagkakapare-pareho at kalinawan ng pamantayan, pagbutihin ang kakayahang magamit nito, at tugunan ang mga hamon na nauugnay sa mga makabagong diskarte sa pagbuo ng software.

Isa sa mga kapansin-pansing pagbabago sa DO-178C ay ang pagdaragdag ng isang bagong modelo ng ikot ng buhay ng software na tinatawag na "Model-Based Development and Verification" (MBDV). Ang modelong ito ay nagbibigay-daan para sa paggamit ng nakabatay sa modelong disenyo at mga diskarte sa pag-verify, na maaaring mapabuti ang kahusayan at kalidad ng pagbuo ng software. Nagbibigay din ang DO-178C ng mas malinaw na patnubay sa paggamit ng mga pormal na pamamaraan, teknolohiyang nakatuon sa object, at ang pagsasama ng komersyal na off-the-shelf (COTS) software.

Ang DO-178C ay nagpapanatili ng parehong mga antas ng software gaya ng DO-178B at patuloy na binibigyang-diin ang kahalagahan ng pag-unlad na nakabatay sa mga kinakailangan, mahigpit na pagsubok, at kakayahang masubaybayan. Kasama rin dito ang na-update na gabay sa mga paksa tulad ng mga aktibidad sa pag-verify, kwalipikasyon ng tool, at paggamit ng mga modelo ng software at nabuong code.

Sa buod, ang DO-178C ay isang na-update na bersyon ng DO-178B na nagsasama ng mga pagpapahusay at tumutugon sa mga umuusbong na kasanayan at teknolohiya sa pagbuo ng software. Nagbibigay ito ng mas malinaw na patnubay, nagpapakilala ng mga bagong modelo ng siklo ng buhay, at nagsasaalang-alang para sa mga pagsulong sa software engineering mula nang ilabas ang DO-178B.

Pangkalahatang-ideya ng DO-178B

Inilalarawan ng DO-178B ang limang kundisyon ng pagkabigo, na ikinategorya ayon sa epekto nito sa mga pasahero, tripulante, at sasakyang panghimpapawid. Ginagamit ang kanilang mga epekto upang matukoy ang Antas ng Software, na kilala rin bilang Antas ng Pagtitiyak ng Disenyo (DAL) o Antas ng Pagtiyak sa Pag-unlad ng Item (IDAL).  Ang Antas ng Software ay nagpapahiwatig ng dami ng pagsisikap na napupunta sa pagbuo ng ibinigay na software application.
  • Antas A (Sakuna) - Pinipigilan ng pagkabigo ang patuloy na ligtas na paglipad dahil maaari itong magdulot ng pag-crash sa pamamagitan ng pag-disable sa isang kritikal na function na kinakailangan upang ligtas na lumipad at mapunta ang isang sasakyang panghimpapawid.
  • Antas B (Mapanganib) - Ang kabiguan ay may masamang epekto sa mga nakatira dahil binabawasan nito ang kakayahan ng mga operator na paandarin nang maayos ang sasakyang panghimpapawid. Malubha o nakamamatay na pinsala ay maaaring mangyari.
  • Antas C (Major) - Ang pagkabigo ay walang malaking epekto bilang isang Mapanganib na pagkabigo, ngunit napakahalaga pa rin at lubos na pinapataas ang workload ng mga operator at binabawasan ang margin sa kaligtasan.
  • Antas D (Minor) - Ang pagkabigo ay walang ganoong kalaking epekto bilang isang malaking kabiguan, ngunit ito ay kapansin-pansin pa rin at maaaring magdulot ng abala sa pasahero o isang nakagawiang pagbabago sa plano ng paglipad.
  • Antas E (Walang Epekto) - Ang pagkabigo ay hindi nakakaapekto sa kakayahan ng operasyon sa lahat at sa gayon ay walang epekto sa kaligtasan ng sasakyang panghimpapawid o sa workload ng mga operator.
Ang maaasahang data sa mga gastos na nauugnay sa paglipat sa isang mas mataas na antas ay kakaunti, ngunit ang maliit na data na magagamit ay tumutukoy sa pagtaas ng mga gastos sa pagpapaunlad sa pagitan ng 75% at 150%. Ang pagtaas ay sanhi ng higit sa lahat ng pagtaas ng mga layunin na maabot para sa bawat antas ng pagiging kritikal. Pinapayagan ng DO-178B ang isang mahusay na kakayahang umangkop pagdating sa pag-unlad ng software dahil sa likas na layunin na nakabatay sa layunin dahil maraming mga posibleng paraan para sa isang tunay na proyekto upang masiyahan ang mga ito. Ang isang generic na proseso ng DO-178B ay nahahati sa limang magkakaibang proseso, sa bawat proseso na mayroong isang hanay ng mga inaasahang dokumentadong output:
  • Pagpaplano ng Software - Ito ay isang paglalarawan ng mga proseso ng pagbuo ng software at ang lifecycle ng software na gagamitin upang matugunan ang mga kinakailangan ng DO-178B. Kasama sa mga dokumento ng output ang isang software development plan (SDP).
  • Pag-unlad - Ito ay isang paglalarawan ng mga proseso ng pagbuo ng software at ang ikot ng buhay ng software na ginagamit upang matugunan ang mga layunin ng DO-178C. Ang Kasama sa mga dokumentong output ang software requirements data (SRD), software design description (SDD), source code, at executable object code.
  • Pagpapatunay - Ito ay isang paglalarawan ng mga proseso ng pag-verify (Mga Pagsusuri, Pagsusuri, at Pagsusuri) na ginamit upang matugunan ang mga layunin ng DO-178C. Ang Kasama sa mga dokumento ng output ang software verification cases and procedures (SVCP), at software verification results (SVR) na may pagsusuri sa lahat ng kinakailangan, disenyo, at code.
  • Configuration ng Pamamahala ng - Ito ay isang paglalarawan ng mga pamamaraan at kapaligiran na gagamitin para i-configure ang lahat ng data ng disenyo at katibayan ng pagsunod na kailangan para makamit ang sertipikasyon ng DO-178C. Kasama sa mga dokumento ng output ang software configuration index (SCI), at software life cycle environment configuration index (SECI).
  • Kalidad ng GAM - Ito ay isang paglalarawan ng mga pamamaraan at nauugnay na mga tala na gagamitin upang matiyak na ang mga layunin ng pagtiyak ng kalidad ng DO-178C ay natutugunan. Kasama sa mga dokumento ng output ang software quality assurance records (SQAR), software conformity review (SCR), at software accomplishment summary (SAS).

Kahalagahan ng Software Verification sa DO-178B

Ang pag-verify ng software ay isang kritikal na bahagi ng pamantayan ng DO-178B, dahil tinitiyak nito na gumaganap ang software ayon sa nilalayon at nakakatugon sa mga kinakailangan sa kaligtasan at pagiging maaasahan. Ang pangunahing layunin ng pag-verify ng software ay kilalanin at alisin ang mga depekto at error ng software bago i-deploy ang software sa isang sasakyang panghimpapawid. Sa pamamagitan ng paggamit ng mga tool sa pag-verify ng software, maaaring i-automate ng mga developer ang iba't ibang aktibidad sa pag-verify at pagbutihin ang kahusayan at pagiging epektibo ng proseso ng pag-verify.

Tungkulin ng Mga Tool sa Pag-verify ng Software sa DO-178B

Ang mga tool sa pag-verify ng software ay may mahalagang papel sa pagkamit ng mga layunin ng pamantayan ng DO-178B. Tinutulungan ng mga tool na ito ang mga developer na i-automate ang iba't ibang aktibidad sa pag-verify ng software, tulad ng static na pagsusuri, dynamic na pagsusuri, at pagsubok na batay sa mga kinakailangan. Narito ang ilang mahahalagang tungkulin ng mga tool sa pag-verify ng software sa DO-178B:

Mga Tool sa Static na Pagsusuri 

Sinusuri ng mga static na tool sa pagsusuri ang source code ng software nang hindi ito isinasagawa. Nakikita ng mga tool na ito ang mga potensyal na depekto at mga paglabag sa mga pamantayan ng coding sa pamamagitan ng pagsusuri sa istruktura ng code, syntax, at daloy ng data. Ang mga tool sa static na pagsusuri ay maaaring tumukoy ng mga isyu gaya ng mga hindi nasimulang variable, buffer overflow, at hindi maabot na code. Sa pamamagitan ng paggamit ng mga static na tool sa pagsusuri, ang mga developer ay makakahuli ng mga error nang maaga sa proseso ng pag-develop, na binabawasan ang posibilidad ng mga pagkabigo ng software sa pagpapatakbo.

Mga Tool sa Dynamic na Pagsusuri 

Sinusubaybayan ng mga dynamic na tool sa pagsusuri ang pag-uugali ng software sa panahon ng pagpapatupad. Kinukuha ng mga tool na ito ang impormasyon ng runtime gaya ng paggamit ng memorya, mga function call, at variable na halaga. Ang mga tool sa dynamic na pagsusuri ay partikular na kapaki-pakinabang para sa pag-detect ng mga error sa runtime, pagtagas ng memorya, at mga bottleneck sa pagganap. Nagbibigay ang mga ito ng mga insight sa aktwal na pag-uugali ng software at tumutulong sa pagtukoy ng mga isyu na maaaring hindi nakikita sa panahon ng static na pagsusuri.

Mga Tool sa Pagsubok na Batay sa Mga Kinakailangan 

Pinapadali ng mga tool sa pagsubok na nakabatay sa mga kinakailangan ang pag-verify ng software laban sa mga tinukoy na kinakailangan. Ang mga tool na ito ay awtomatiko ang pagbuo ng mga kaso ng pagsubok batay sa mga kinakailangan ng system at tumutulong na matiyak na ang lahat ng mga kinakailangan ay sapat na nasubok. Maaaring subaybayan ng mga tool sa pagsubok na nakabatay sa mga kinakailangan ang saklaw ng mga pagsubok, na tinitiyak na ang software ay lubusang nasubok laban sa mga tinukoy na kinakailangan. Tumutulong sila sa pagkamit ng traceability sa pagitan ng mga kinakailangan, disenyo, at mga kaso ng pagsubok, na isang pangunahing kinakailangan ng DO-178B.

Mga Pagsasaalang-alang para sa Pagpili ng Mga Tool sa Pag-verify ng Software

Kapag pumipili ng mga tool sa pag-verify ng software para sa pagsunod sa DO-178B, maraming pagsasaalang-alang ang dapat isaalang-alang. Narito ang ilang mahahalagang salik na dapat isaalang-alang:

Kwalipikasyon ng Tool 

Ayon sa DO-178B, ang mga tool sa pag-verify ng software na ginamit sa proseso ng pagbuo ay dapat na kwalipikado. Kasama sa kwalipikasyon ng tool ang pagpapakita na ang mga tool ay maaasahan, epektibo, at hindi nagpapakilala ng mga karagdagang error. Karaniwang kasama sa proseso ng kwalipikasyon ang pagdodokumento sa mga feature, limitasyon, at pagpapalagay ng tool, pati na rin ang pagbibigay ng ebidensya ng validation at verification ng tool.

Pagsasama ng Tool 

Ang mga napiling tool sa pag-verify ng software ay dapat na may kakayahang pagsamahin sa kapaligiran ng pag-unlad at sa pangkalahatang yugto ng buhay ng pagbuo ng software. Ang mga tool ay dapat na walang putol na gumagana sa mga tool sa pag-develop, compiler, at iba pang bahagi ng software. Tinitiyak ng pagsasama ang maayos na daloy ng trabaho at pinapadali ang pag-automate ng mga aktibidad sa pag-verify.

Tool Documentation at Suporta 

Ang wastong dokumentasyon at suporta ay mahalaga para sa epektibong paggamit ng mga tool sa pag-verify ng software. Ang mga tool ay dapat magkaroon ng komprehensibong dokumentasyon, kabilang ang mga manwal ng gumagamit, mga tutorial, at mga halimbawa. Bukod pa rito, ang access sa teknikal na suporta at regular na mga update mula sa tool vendor ay napakahalaga upang matugunan ang anumang mga isyu o update na kinakailangan sa panahon ng proseso ng pag-develop.

Pagsunod sa DO-178B

Upang matiyak ang pagsunod sa pamantayan ng DO-178B, dapat gamitin ang mga tool sa pag-verify ng software alinsunod sa mga alituntuning tinukoy sa pamantayan. Ang proseso ng pagpili, pagiging kwalipikado, at paggamit ng mga tool ay dapat na mahusay na dokumentado, at ang ebidensya ng tool na kwalipikasyon at pagpapatunay ay dapat mapanatili. Bilang karagdagan, ang mga tool ay dapat na ilapat nang tuluy-tuloy sa buong ikot ng buhay ng pagbuo ng software at sumailalim sa mahigpit na pagsubok at pagsusuri.

Paano suportahan ang DO-178B?

Maraming mga tool na makakatulong sa mga proseso ng DO-178B, kabilang ang mga tool sa pag-unlad, mga tool sa pag-verify, at mga tool sa pamamahala ng mga kinakailangan.

Ang huling kategorya ng mga tool ay lalong mahalaga dahil dapat na posible na subaybayan ang pinagmulan ng bawat kinakailangan sa proseso ng DO-178B, at bawat pagbabago na ginawa sa kinakailangan ay dapat na idokumento upang makamit ang kakayahang mai-trace. Sa katunayan, ang paggamit ng kinakailangan pagkatapos ng pag-deploy ng mga ipinatupad na tampok ay dapat na rin traceable.

Imposible ang pagbuo ng software na sumusunod sa DO-178B para sa mga airborne system na walang software tool na may kakayahang magbigay ng malalim at mahigpit na traceability ng mga artifact ng proyekto sa lahat ng yugto ng pag-unlad.

Kinakailangan ang Dokumentasyon para sa DO-178B

Mayroong ilang mga dokumento na kinakailangan para sa pagsunod sa DO-178B. Kabilang sa mga ito ang:

  • Plano para sa Software Aspects of Certification (PSAC)
  • Software Quality Assurance Plan
  • Plano ng Pamamahala ng Configuration ng Software
  • Mga Pamamaraan sa Pagkontrol ng Configuration
  • Pamantayan ng Software Code
  • Pamantayan sa Disenyo ng Software
  • Pamantayan sa Mga Kinakailangan sa Software
  • Software Development Plan
  • Plano sa Pag-verify ng Software
  • Pinagmulan, Executable Object Code, SCI at SECI
  • Dokumento ng Disenyo ng Software
  • Dokumento ng Mga Kinakailangan sa Software
  • Traceability
  • Mga Test Case at Pamamaraan
  • Mga Resulta ng Pagpapatunay
  • Mga Tala ng Pagtitiyak ng Kalidad
  • Mga Tala ng Pamamahala ng Configuration
  • Mga Ulat ng Problema
  • Buod ng Mga Nagawa ng Software

Pagsuporta sa DO-178B gamit ang isang Requirement Management Tool

Mga tool sa pamamahala ng kinakailangan tulad ng Maaaring suportahan ng Mga Kinakailangan sa Visure ang DO-178B sa pamamagitan ng pagbibigay ng end-to-end na traceability sa pagitan ng lahat ng mga kinakailangan, pag-verify, pag-uulat ng problema, mga checklist, at mga artifact ng proyekto. Nag-aalok ito ng magkakaugnay na kapaligiran na nagsisilbing sentralisado at bukas na imbakan para sa lahat ng artifact, kabilang ang mga layunin ng DO-178B.

Gamit ang Visure Requirements, madaling i-standardize at ipatupad ang mga tinukoy na proseso sa buong organisasyon upang makasunod sa guideline ng DO-178B at gawin ito sa isang naa-access, collaborative, at cost-effective na paraan.

Salamat sa maraming gamit nitong Platform ng Pagsasama, ang Mga Kinakailangan sa Visure ay maaaring isama sa mga tool ng third-party, komersyal, o pagmamay-ari upang mapalawak ang pagbabago pagsusuri sa epekto mga tampok sa mga elemento sa labas ng saklaw nito upang higit na suportahan ang DO-178B.

Ang iba pang mga tampok sa pamamahala ng mga kinakailangan ng Mga Kinakailangan sa Visure ay may kasamang mga filter, tinukoy ng gumagamit, view ng gumagamit na nakabatay sa papel, tinukoy ng grapiko na proseso ng kinakailangan at Traceability, mga built-in na workflow, walang limitasyong bilang ng mga attribute na tinukoy ng user, pamamahala ng bersyon, at paghahambing, at roll-back sa mga mas lumang bersyon, bukod sa iba pa.

Konklusyon

Ang DO-178B ay isang pamantayan ng software na nagsisiguro na ang software na kritikal sa kaligtasan ay idinisenyo, binuo, at nasubok sa pare-pareho at nauulit na paraan. Ang pamantayan ay umiikot mula noong unang bahagi ng 1990s at na-update sa paglipas ng panahon upang isaalang-alang ang mga pagbabago sa teknolohiya. Maraming mga komersyal na organisasyon ng abyasyon ang nangangailangan ng kanilang mga supplier na sertipikado sa DO-178B bilang bahagi ng pakikipagnegosyo sa kanila. Upang makamit ang sertipikasyon, dapat dumaan ang mga organisasyon sa isang mahigpit na proseso na kinabibilangan ng pagdodokumento sa lahat ng aspeto ng lifecycle ng software development. Mga Kinakailangan sa Visure Ang ALM Platform ay isa sa ilang mga tool sa pamamahala ng mga kinakailangan na na-certify upang suportahan ang DO-178B sa Level A, ang pinakamataas na antas ng sertipikasyon. Kung naghahanap ka ng end-to-end na solusyon para sa pamamahala sa iyong mga kinakailangan at gusto mong tiyakin ang pagsunod sa mahalagang pamantayang ito, subukan ang Mga Kinakailangan sa Visure ngayon. Subukan ang Libreng Pagsubok sa 30-day Ngayon!

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.