Abbiamo un programma che combina la simulazione di un sistema di aeromobili e scenari pedagogici predefiniti per i piloti tirocinanti per imparare come utilizzare questo sistema.
Quando seguiamo lo scenario normale, capitolo dopo capitolo, tutto va liscio .
Ora, quando il tirocinante salta il capitolo N e va direttamente al capitolo N + 1, la simulazione passa a snafu perché il capitolo N non è stato eseguito dalla simulazione, risultando in uno stato incoerente .
Come rimedio, scriviamo lo stato di simulazione desiderato nel file dello scenario, subito dopo il punto di inserimento del capitolo.
Il problema è che non è possibile prevedere lo stato di simulazione per il capitolo N se non conosciamo lo scenario a memoria. E alcuni scenari sono molto complessi. Uno sviluppatore deve dedicare molto tempo allo studio dello scenario per ottenere un quadro accurato di ciò che è previsto dal tirocinante, quindi passa al capitolo N.
Il software non ha bisogno di persistenza. Cioè, non dobbiamo salvare lo stato di simulazione quando il programma non è in esecuzione.
Lo stato della simulazione è gestito da ~ 200.000 variabili. Non è possibile per noi fare un'istantanea dello stato di simulazione ad ogni passaggio perché sarebbe estremamente impraticabile, e ogni volta che lo scenario viene aggiornato, lo snapshot non sarà aggiornato.
Inoltre, non abbiamo accesso esternamente a tutte le variabili poiché alcune sono private e fuori dai limiti (e anche se avessimo accesso, sarebbe una cattiva idea, data la mole di dati).
È un problema comune e ci sono le migliori pratiche e le soluzioni note per affrontare questo problema?