bjornl
 |
Ik weet heel weinig van die software, en zeker niet wat voor OS de boordcomputer draait, maar ik durf wel een gok aan over de opzet en daarvandaan over de reden dat de problemen zo lastig te verhelpen zijn:
Het computersysteem in zo'n trein bestaat uit veel verschillende componenten - één of meer computers, controllers (de stuurtafel en aanverwanten) en een bak sensoren, interfaces met andere systemen (een gekoppeld treinstel, de ATB). Sommige van die componenten hebben weer eigen software, vaak geschreven door iemand anders dan de fabrikant van het treinstel, en de software zelf zal ook uit veel componenten en lagen (moeten) bestaan. Tel daarbij op dat het systeem als geheel lastig in een proefopstelling te testen is, laat staan dat een bug makkelijk te reproduceren is, en je ziet waarom de problemen lastig te detecteren zijn: je moet er achter zien te komen in welke component de fout ontstaat (en dat is niet noodzakelijkerwijs de component waarin de fout zich toont!) én je kan de fout niet "op afroep" op laten treden. Je kan je dan voorstellen dat je rondjes moet gaan rijden tot de fout optreedt en dan simpelweg de logs (als die beschikbaar zijn) van allerhande componenten uit gaan pluizen op zoek naar een mogelijk heel kleine afwijking.
Deze uitleg s niet bedoeld om een oordeel te vellen over de gang van zaken, de programmeurs of de fabrikant, maar alleen om te proberen wat inzicht te geven in zo'n ontwikkelproces. Ik heb gewerkt aan veel minder complexe systemen en heb daar soms al behoorlijk wat moeite gehad om obscure bugs te vinden - en dan heb ik het nog niet eens over de discussies die ontstaan als je iemand ervan moet overtuigen dat zijn deelproduct de fout veroorzaakt! |
|