Robert_Hendriksen_01

Robert Hendriksen

28 December 2012

We bevinden ons nu in een interessante fase van de strijd. De afgelopen maanden hebben we op Agile-wijze functionaliteit aan de besturingssoftware toegevoegd. Gedurende deze periode hadden we niet de beschikking over de hardware; die werd immers in deze tijd ontworpen. We hebben flink geïnvesteerd in simulatoren en daarmee kunnen we in elk geval het totale softwaresysteem bouwen, testen en integreren. Verschillende kritieke systeemonderdelen zijn uitgeprobeerd als prototypes en daaruit zijn de nodige hardwarewijzigingen voortgekomen. Het Agile-proces dat we gebruiken, is een goede softwarewikkelmethode om met deze veranderingen om te gaan.

Nu is het systeemontwerp uitgekristalliseerd en de bestellingen zijn de deur uit. Dat geeft ons nog een paar weken en dan start het grote samenstellen. Zodra de eerste hardware binnenkomt, is er software nodig om het ijzer tot leven te wekken. Ons Agile-ontwikkelritme zal dan bruut aan zijn einde komen. We zullen worden meegezogen in de pas van het kritieke pad. Elk systeemonderdeel zal afzonderlijk getest moeten worden en dat wordt een ontdekkingsreis op zich. Het is nog niet helemaal uitgekristalliseerd welke subsystemen uiteindelijk als geheel van toeleveranciers gaan komen en bovendien zullen we de eerste systemen zelf vanaf nul opbouwen. Dus gaandeweg zullen we ontdekken welke testsoftware nodig is om modules te verifiëren als ze binnenkomen.

Onze softwarearchitectuur bevat een aantal voorzieningen speciaal voor het laten draaien/testen van subsystemen. Naast een ’maintenance‘-modus (waarin het service-engineers is toegestaan alle actuatoren manueel te bedienen tijdens stilstand en in bedrijf) kennen we nog een aantal speciale bedrijfsmodi voor het systeem. Een voorbeeld is de ’dry run‘. In deze modus schakelt de software sommige checks uit zodat het transportsysteem gemakkelijk afzonderlijk te testen is. Zo hebben meer subsystemen standalone modi waarmee we het integratieprobleem verkleinen tot behapbare brokken. Nadeel van deze additionele modi is dat ze vrijwel alleen worden gebruikt tijdens de opbouw. Omdat ze niet tijdens normaal gebruik voorkomen, vergen ze een extra, zo veel mogelijk geautomatiseerde, testinspanning zodat ze niet omvallen wanneer in de toekomst de configuratievariatie gaat toenemen.

Ons geheime wapen in de integratiestrijd is wat we de statelogger noemen. Omdat we gebruikmaken van statemachinegeneratoren is het een fluitje van een cent de statemachines uit te breiden met een stukje infrastructuur dat alle toestandswisselingen compact opslaat. Bovendien loggen we van belangrijke interfaces ook de signalen. Met de bijbehorende viewtool kunnen we filteren welke objecten en interacties ertussen we willen zien. Hiermee kunnen we dus in de buik van het systeem kijken als er iets niet volgens verwachting loopt. Dus laat het ijzer maar komen; we hebben ons tot de tanden bewapend voor de strijd die integratie heet. Wordt vervolgd?

 advertorial 

Machine Learning Conference: 30 March 2022

Machine learning is taking the industry by storm. On 30 March 2022, Bits&Chips organizes the fourth edition of the Machine Learning Conference as a live event in ’s-Hertogenbosch. Interested in giving a talk? We welcome your proposal!