DO-178B Standard Guide: Softwareverificatietools

Inhoudsopgave

DO-178B Standard Guide: Softwareverificatietools

Inleiding

Veiligheid is van het allergrootste belang als het gaat om het ontwerpen van software voor de lucht- en ruimtevaartindustrie, en geen enkele veiligheidsrichtlijn is zo ingrijpend geweest als DO-178B, ook wel bekend als Software Considerations in Airborne Systems and Equipment Certification. In deze blogpost bespreken we wat DO-178B is, hoe u eraan kunt voldoen en de verschillende tools en certificeringen die beschikbaar zijn om u daarbij te helpen.

Wat is DO-178B?

DO-1992B, gepubliceerd in 178 door Radio Technical Commission for Aeronautics (RTCA) en ontwikkeld in samenwerking met EUROCAE, de Europese organisatie voor burgerluchtvaartapparatuur, is een internationale richtlijn die zich bezighoudt met de veiligheid van bedrijfskritieke software die wordt gebruikt in systemen en apparatuur in de lucht. Hoewel het slechts een richtlijn is en geen beleid, wordt DO-178B gezien als een standaard voor het ontwikkelen van elektronische software, en zelfs de FAA gebruikt het als richtlijn bij het bepalen of een stukje software betrouwbaar zal presteren in een luchtomgeving.

Ondanks dat het speciaal is ontwikkeld om aan de unieke behoeften van de lucht- en ruimtevaartindustrie te voldoen, is DO-178B ook in andere industrieën gebruikt, vaak in combinatie met DO-254, ook bekend als Design Assurance Guidance for Airborne Electronic Hardware, dat zich bezighoudt met de ontwikkeling van elektronische hardware in de lucht. Net als DO-178B wordt DO-254 uitgegeven door RTCA, een vrijwilligersorganisatie in de Verenigde Staten die als missie heeft technische richtlijnen te ontwikkelen voor gebruik door regelgevende instanties van de overheid en door de industrie.

Wat is het verschil tussen DO-178B en DO-178C?

DO-178B en DO-178C zijn beide standaarden die zijn ontwikkeld door de Radio Technical Commission for Aeronautics (RTCA) voor software die wordt gebruikt in systemen in de lucht. Deze normen geven richtlijnen en vereisten voor de ontwikkeling en certificering van software voor gebruik in vliegtuigsystemen. Het belangrijkste verschil tussen DO-178B en DO-178C ligt in hun reikwijdte, updates en verbeteringen.

DO-178B, ook bekend als "Software Considerations in Airborne Systems and Equipment Certification", werd gepubliceerd in 1992 en werd de de facto standaard voor softwareontwikkeling in de lucht- en ruimtevaartindustrie. Het definieerde een reeks doelstellingen en activiteiten om ervoor te zorgen dat software die in vliegtuigsystemen wordt gebruikt, betrouwbaar en veilig is. DO-178B is georganiseerd in zes softwareniveaus, variërend van niveau A (het meest kritieke) tot niveau E (het minst kritieke), gebaseerd op de potentiële impact van een softwarefout op het vliegtuig en de inzittenden. Het biedt een systematisch proces voor softwareontwikkeling, verificatie en validatie, inclusief vereisten, ontwerp, codering en testen.

DO-178C, ook wel bekend als "Software Considerations in Airborne Systems and Equipment Certification", is de bijgewerkte versie van DO-178B. Het werd gepubliceerd in 2011 en introduceerde een aantal belangrijke wijzigingen en verbeteringen aan de standaard. DO-178C weerspiegelt de vooruitgang in softwareontwikkelingspraktijken, technologieën en tools die hebben plaatsgevonden sinds de release van DO-178B. De primaire doelen van DO-178C waren het verbeteren van de consistentie en duidelijkheid van de standaard, het verbeteren van de bruikbaarheid en het aanpakken van de uitdagingen die gepaard gaan met moderne softwareontwikkelingstechnieken.

Een van de opmerkelijke veranderingen in DO-178C is de toevoeging van een nieuw softwarelevenscyclusmodel genaamd "Model-Based Development and Verification" (MBDV). Dit model maakt het gebruik van modelgebaseerde ontwerp- en verificatietechnieken mogelijk, die de efficiëntie en kwaliteit van softwareontwikkeling kunnen verbeteren. DO-178C biedt ook duidelijkere richtlijnen voor het gebruik van formele methoden, objectgeoriënteerde technologie en de integratie van commerciële kant-en-klare (COTS) software.

DO-178C handhaaft dezelfde softwareniveaus als DO-178B en blijft het belang benadrukken van op vereisten gebaseerde ontwikkeling, rigoureuze tests en traceerbaarheid. Het bevat ook bijgewerkte richtlijnen over onderwerpen als verificatieactiviteiten, toolkwalificatie en het gebruik van softwaremodellen en gegenereerde code.

Samengevat, DO-178C is een bijgewerkte versie van DO-178B die verbeteringen bevat en zich richt op de evoluerende praktijken en technologieën voor softwareontwikkeling. Het biedt duidelijkere richtlijnen, introduceert nieuwe levenscyclusmodellen en houdt rekening met de vooruitgang in software-engineering sinds de release van DO-178B.

Overzicht van DO-178B

DO-178B beschrijft vijf storingscondities, die zijn gecategoriseerd op basis van hun effect op passagiers, bemanning en vliegtuigen. Hun effecten worden gebruikt om het Software Level te bepalen, ook wel Design Assurance Level (DAL) of Item Development Assurance Level (IDAL) genoemd.  Software Level geeft de hoeveelheid inspanning aan die wordt gestoken in de ontwikkeling van de gegeven softwaretoepassing.
  • Niveau A (catastrofaal) - Falen verhindert een veilige vlucht omdat het een crash kan veroorzaken door een kritieke functie uit te schakelen die nodig is om een ​​vliegtuig veilig te laten vliegen en landen.
  • Niveau B (Gevaarlijk) - Falen heeft nadelige gevolgen voor de inzittenden omdat het het vermogen van de operators om het vliegtuig naar behoren te bedienen vermindert. Er kunnen ernstige of dodelijke verwondingen optreden.
  • Niveau C (majoor) - Falen heeft niet zo'n grote impact als een gevaarlijke storing, maar het is nog steeds erg belangrijk en verhoogt de werklast van de operators enorm en verkleint de veiligheidsmarge.
  • Niveau D (minor) - Een storing heeft niet zo'n grote impact als een grote storing, maar het is nog steeds merkbaar en kan ongemak voor passagiers of een routinewijziging van het vluchtplan veroorzaken.
  • Niveau E (geen effect) - Falen heeft geen enkele invloed op de operationele capaciteit en heeft dus geen invloed op de veiligheid van vliegtuigen of de werklast van operators.
Betrouwbare gegevens over de kosten die gepaard gaan met een overgang naar een hoger niveau zijn schaars, maar de weinige beschikbare gegevens wijzen op een stijging van de ontwikkelingskosten tussen 75% en 150%. De stijging wordt grotendeels veroorzaakt door de toenemende doelstellingen die per kriticiteitsniveau moeten worden gehaald. DO-178B biedt veel flexibiliteit als het gaat om softwareontwikkeling vanwege het objectieve karakter, aangezien er veel mogelijke manieren zijn waarop een echt project hieraan kan voldoen. Een generiek DO-178B-proces is verdeeld in vijf verschillende processen, waarbij elk proces een reeks verwachte gedocumenteerde outputs heeft:
  • Softwareplanning - Dit is een beschrijving van de softwareontwikkelingsprocessen en de softwarelevenscyclus die zullen worden gebruikt om te voldoen aan de vereisten van DO-178B. Bij de outputdocumenten hoort een software ontwikkelplan (SDP).
  • Ontwikkeling - Dit is een beschrijving van de softwareontwikkelingsprocessen en de softwarelevenscyclus die wordt gebruikt om te voldoen aan DO-178C-doelstellingen. De uitvoerdocumenten omvatten gegevens over softwarevereisten (SRD), beschrijving van softwareontwerp (SDD), broncode en uitvoerbare objectcode.
  • Verificatie - Dit is een beschrijving van de verificatieprocessen (reviews, analyses en tests) die worden gebruikt om te voldoen aan DO-178C-doelstellingen. De outputdocumenten omvatten gevallen en procedures voor softwareverificatie (SVCP) en softwareverificatieresultaten (SVR) met de beoordeling van alle vereisten, ontwerp en code.
  • Configuration Management - Dit is een beschrijving van de methoden en omgeving die zullen worden gebruikt om alle ontwerpgegevens en conformiteitsbewijs te configureren die nodig zijn om de DO-178C-certificering te behalen. De uitvoerdocumenten bevatten de softwareconfiguratie-index (SCI) en de configuratie-index van de softwarelevenscyclusomgeving (SECI).
  • Kwaliteitsborging - Dit is een beschrijving van de methoden en bijbehorende records die zullen worden gebruikt om ervoor te zorgen dat aan DO-178C-doelstellingen voor kwaliteitsborging wordt voldaan. De uitvoerdocumenten omvatten Software Quality Assurance Records (SQAR), Software Conformity Review (SCR) en Software Achievement Summary (SAS).

Belang van softwareverificatie in DO-178B

Softwareverificatie is een cruciaal onderdeel van de DO-178B-standaard, omdat het ervoor zorgt dat de software presteert zoals bedoeld en voldoet aan de veiligheids- en betrouwbaarheidseisen. Het primaire doel van softwareverificatie is het identificeren en elimineren van softwaredefecten en -fouten voordat de software in een vliegtuig wordt ingezet. Door softwareverificatietools te gebruiken, kunnen ontwikkelaars verschillende verificatieactiviteiten automatiseren en de efficiëntie en effectiviteit van het verificatieproces verbeteren.

Rol van softwareverificatietools in DO-178B

Softwareverificatietools spelen een cruciale rol bij het bereiken van de doelstellingen van de DO-178B-standaard. Deze tools helpen ontwikkelaars verschillende softwareverificatieactiviteiten te automatiseren, zoals statische analyse, dynamische analyse en op vereisten gebaseerd testen. Hier zijn enkele sleutelrollen van softwareverificatietools in DO-178B:

Hulpmiddelen voor statische analyse 

Statische analysetools analyseren de broncode van de software zonder deze uit te voeren. Deze tools detecteren potentiële defecten en schendingen van coderingsstandaarden door de codestructuur, syntaxis en gegevensstroom te onderzoeken. Statische analysetools kunnen problemen identificeren zoals niet-geïnitialiseerde variabelen, bufferoverflows en onbereikbare code. Door statische analysetools te gebruiken, kunnen ontwikkelaars fouten vroeg in het ontwikkelingsproces opsporen, waardoor de kans op softwarestoringen tijdens de werking wordt verkleind.

Hulpmiddelen voor dynamische analyse 

Dynamische analysetools monitoren het gedrag van de software tijdens de uitvoering. Deze tools leggen runtime-informatie vast, zoals geheugengebruik, functieaanroepen en variabele waarden. Dynamische analysetools zijn met name handig voor het detecteren van runtime-fouten, geheugenlekken en prestatieknelpunten. Ze bieden inzicht in het daadwerkelijke gedrag van de software en helpen bij het identificeren van problemen die tijdens statische analyse misschien niet duidelijk worden.

Op vereisten gebaseerde testtools 

Op eisen gebaseerde testtools vergemakkelijken de verificatie van software tegen de gespecificeerde eisen. Deze tools automatiseren het genereren van testgevallen op basis van de systeemvereisten en helpen ervoor te zorgen dat alle vereisten adequaat worden getest. Op vereisten gebaseerde testtools kunnen de dekking van tests volgen en ervoor zorgen dat de software grondig is getest op basis van de gespecificeerde vereisten. Ze helpen bij het bereiken van traceerbaarheid tussen vereisten, ontwerp en testgevallen, wat een belangrijke vereiste is van DO-178B.

Overwegingen bij het selecteren van softwareverificatietools

Bij het selecteren van softwareverificatietools voor DO-178B-conformiteit moet met verschillende overwegingen rekening worden gehouden. Hier zijn enkele belangrijke factoren om te overwegen:

Gereedschapskwalificatie 

Volgens DO-178B moeten softwareverificatietools die in het ontwikkelingsproces worden gebruikt, gekwalificeerd zijn. Toolkwalificatie omvat het aantonen dat de tools betrouwbaar en effectief zijn en geen extra fouten introduceren. Het kwalificatieproces omvat meestal het documenteren van de functies, beperkingen en aannames van de tool, evenals het leveren van bewijs van validatie en verificatie van de tool.

Tool-integratie 

De geselecteerde softwareverificatietools moeten kunnen worden geïntegreerd in de ontwikkelomgeving en de algehele levenscyclus van softwareontwikkeling. De tools moeten naadloos samenwerken met de ontwikkeltools, compilers en andere softwarecomponenten. Integratie zorgt voor een soepele workflow en vergemakkelijkt de automatisering van verificatieactiviteiten.

Tooldocumentatie en ondersteuning 

Goede documentatie en ondersteuning zijn essentieel voor het effectief gebruiken van softwareverificatietools. De tools moeten uitgebreide documentatie hebben, inclusief gebruikershandleidingen, tutorials en voorbeelden. Bovendien is toegang tot technische ondersteuning en regelmatige updates van de toolleverancier cruciaal om eventuele problemen of updates die nodig zijn tijdens het ontwikkelingsproces aan te pakken.

Naleving van DO-178B

Om naleving van de DO-178B-standaard te garanderen, moeten softwareverificatietools worden gebruikt in overeenstemming met de richtlijnen die in de standaard zijn gespecificeerd. Het proces van selecteren, kwalificeren en gebruiken van de tools moet goed gedocumenteerd zijn en bewijs van toolkwalificatie en -validatie moet worden bijgehouden. Bovendien moeten de tools consistent worden toegepast gedurende de hele levenscyclus van softwareontwikkeling en worden onderworpen aan strenge tests en beoordelingen.

Hoe ondersteunt u DO-178B?

Er zijn veel tools die kunnen helpen bij de DO-178B-processen, waaronder ontwikkelingstools, verificatietools en tools voor vereistenbeheer.

De laatste categorie hulpmiddelen is vooral belangrijk omdat het mogelijk moet zijn om terug te gaan naar de oorsprong van elke vereiste tijdens de DO-178B-processen, en elke wijziging die in de vereiste wordt aangebracht, moet daarom worden gedocumenteerd om traceerbaarheid te bereiken. In feite moet het gebruik van de vereiste na de implementatie van de geïmplementeerde functies ook traceerbaar zijn.

Het ontwikkelen van DO-178B-compatibele software voor luchtlandingssystemen zonder een softwaretool die in staat is om de projectartefacten in alle stadia van de ontwikkeling grondig en nauwkeurig te traceren, zou onmogelijk zijn.

Documentatie vereist voor DO-178B

Er zijn verschillende documenten vereist om te voldoen aan DO-178B. Ze bevatten:

  • Plan voor software-aspecten van certificering (PSAC)
  • Softwarekwaliteitsborgingsplan
  • Beheerplan voor softwareconfiguratie
  • Configuratiecontroleprocedures
  • Softwarecode standaard
  • Standaard voor softwareontwerp
  • Softwarevereisten Standaard
  • Software ontwikkelingsplan
  • Softwareverificatieplan
  • Bron, uitvoerbare objectcode, SCI en SECI
  • Document voor softwareontwerp
  • Document met softwarevereisten
  • Traceerbaarheid
  • Testgevallen en procedures
  • Verificatieresultaten
  • Kwaliteitsborgingsgegevens
  • Configuratiebeheerrecords
  • Probleemrapporten
  • Samenvatting van softwareprestaties

Ondersteuning van de DO-178B met een tool voor vereistenbeheer

Tools voor het beheer van vereisten, zoals Visure Requirements kunnen DO-178B ondersteunen door end-to-end traceerbaarheid te bieden tussen alle vereisten, verificatie, probleemrapportage, checklists en projectartefacten. Het biedt een samenhangende omgeving die fungeert als een gecentraliseerde en open opslagplaats voor alle artefacten, inclusief DO-178B-doelen.

Met Visure Requirements is het eenvoudig om de gedefinieerde processen in de hele organisatie te standaardiseren en af ​​te dwingen om te voldoen aan de DO-178B-richtlijn en dit op een toegankelijke, collaboratieve en kosteneffectieve manier te doen.

Dankzij het veelzijdige integratieplatform kan Visure Requirements worden geïntegreerd met externe, commerciële of propriëtaire tools om de verandering uit te breiden impactanalyse functies naar elementen die buiten het bereik vallen om DO-178B verder te ondersteunen.

Andere functies voor vereistenbeheer van Visure-vereisten omvatten filters, door de gebruiker gedefinieerde weergaven, op rollen gebaseerde gebruikersinterface, grafisch gedefinieerd vereistenproces en traceerbaarheid, ingebouwde workflows, een onbeperkt aantal door de gebruiker gedefinieerde attributen, onder andere versiebeheer en vergelijking, en terugdraaien naar oudere versies.

Conclusie

DO-178B is een softwarestandaard die ervoor zorgt dat veiligheidskritieke software op een consistente en herhaalbare manier wordt ontworpen, ontwikkeld en getest. De standaard bestaat al sinds het begin van de jaren negentig en is in de loop van de tijd bijgewerkt om rekening te houden met technologische veranderingen. Veel commerciële luchtvaartorganisaties eisen dat hun leveranciers gecertificeerd zijn volgens DO-1990B als onderdeel van het zakendoen met hen. Om certificering te behalen, moeten organisaties een rigoureus proces doorlopen waarbij alle aspecten van de levenscyclus van softwareontwikkeling worden gedocumenteerd. Visure Requirements ALM Platform is een van de weinige requirements management tools die gecertificeerd zijn om DO-178B op niveau A, het hoogste certificeringsniveau, te ondersteunen. Als u op zoek bent naar een end-to-end-oplossing voor het beheren van uw vereisten en u wilt ervoor zorgen dat deze belangrijke norm wordt nageleefd, probeer dan vandaag nog Visure-vereisten. Probeer de Gratis 30-dagproef Nu!

Vergeet dit bericht niet te delen!

hoofdstukken

Sneller op de markt met Visure

Synergie tussen een op modellen gebaseerde systeemengineeringbenadering en een proces voor requirementsmanagement

December 17th, 2024

11 uur EST | 5 uur CEST | 8 uur PST

Fernando Valera

Fernando Valera

CTO, Visieoplossingen

De kloof tussen eisen en ontwerp overbruggen

Ontdek hoe u de kloof tussen het MBSE- en het Requirements Management-proces kunt overbruggen.