Software: Wat zijn de overeenkomsten en de verschillen tussen de veiligheidsanalyse van een system gebaseerd op software en van een system gebaseerd op hardware?

Door het succes van digitale technologie voor het implementeren van besturings- en controlesystemen in de industrie, beginnen hardware onderdelen voor analoge systemen langzamerhand van de markt te verdwijnen. Dit stelt dus een probleem voor het onderhoud van oudere (analoge) systemen. Als gevolg hiervan beginnen software-systemen geleidelijk aan de hardware-systemen te vervangen in veiligheid kritische toepassingen. Vanuit een veiligheidsoogpunt zijn hardware-systemen en software-systemen echter verschillend in vele opzichten.

Software heeft verschillende voordelen. Er zijn veel meer mogelijkheden en het is gemakkelijk om “intelligente systemen” te maken, in het bijzonder voor overwakings- en controlesystemen. De “human interface” kan gebruiksvriendelijk gemaakt worden, alsook hulpmiddelen voor foutanalyses. De systemen kunnen zodanig gemaakt worden dat ze kunnen omgaan met “foutcondities” en alzo meer veiligheid en beschikbaarheid bieden. Digitale technologie kan ook meer precisie en numerieke stabiliteit bieden. In tegenstelling tot hardware, zal de software zelf niet verslijten of kapotgaan en is de software ongevoelig voor elektromagnetische interferenties, aardbevingen of fysische interacties. Vermits het programmeerbaar is, is het flexibeler om bepaalde parameters te wijzigen, onderhoud te doen en updates te geven.

Ondanks al deze voordelen, zijn er ook belangrijke nadelen. De grootte en de mogelijkheden van systemen gebaseerd op software kan leiden tot zeer ingewikkelde implementaties, met zeer veel interne toestanden die moeilijk te testen zijn. Digitale systemen gedragen zich op een niet-continue manier en zijn zeer gevoelig voor kleine (bit)fouten. In tegenstelling tot analoge systemen, kan men zich niet baseren op eigenschappen van interpolatie, zodat het testen van het systeem zeer zwaar wordt. Zelfs indien de software een correcte output geeft voor 2 naburige inputs, betekent dit geenszins dat er een correcte output zal zijn voor inputwaarden tussen de 2 correct geteste inputs.

Deze eigenschappen leiden tot het gebruik van speciale methoden om een zeker niveau van betrouwbaarheid aan te tonen voor een software-systeem. In tegenstelling tot hardware-fouten, zijn software-fouten ontwerpfouten, tegen dewelke parallelle redundante systemen geen beveiliging bieden. In plaats van redundante systemen, heeft men verscheidene systemen nodig die anders geprogrammeerd zijn, of die andere functionaliteiten hebben, maar die dezelfde veiligheidsfuncties bieden. Testen van het software-systeem zijn doorgaans niet in staat om voldoende betrouwbaarheid te garanderen voor veiligheid gebonden toepassingen. Als gevolg daarvan, moet de veiligheidsanalyse zich ook baseren op verscheidene belangrijke aspecten van het ontwerp, zoals de kwaliteit van het lastenboek, de ontwerpmethode van de software, de documentatie van het ontwerp en van de testen en de competentie van de programmeurs.

De laatste jaren heeft digitale technologie nieuwe uitdagingen ondergaan. Cybersecurity analyses hebben specifieke problemen aan het licht gebracht, die speciale maatregelen vereisen om de software te beveiligen tegen ongewenste toegang en kwaadaardige interacties. De technologische vooruitgang heeft geleid tot componenten met programmeerbare geïntegreerde logica, zoals PLD’s (programmable logic devices) en FPGA’s (field gate arrays). De controleerbaarheid van hun ontwerp en performaties genereert ook nieuwe uitdagingen.

FAQ List