Entry Point
Avvio dell’applicazione
L’applicazione si avvia dal punto di ingresso Main, che interpreta gli argomenti da linea di comando e determina la
modalità di esecuzione:
- CLI: testuale senza interfaccia grafica;
- GUI: con interfaccia grafica.
In base alla scelta, il Main inizializza la configurazione della simulazione, e delega l'avvio al Launcher fornendo
la modalità selezionata e la configurazione.
Il Launcher rappresenta il ponte tra il Main e l’architettura MVC:
- fornisce la vista corrispondente alla modalità selezionata;
- collega
Model,VieweController; - crea lo stato iniziale della simulazione;
- avvia la simulazione passando al
Controllerlo stato iniziale.
In questo modo, il Main si limita a selezionare e configurare, mentre il Launcher predispone i componenti
dell’architettura e ne avvia l’esecuzione.
Gestione degli argomenti
All’avvio, gli argomenti della riga di comando vengono analizzati per impostare i parametri della simulazione, tra cui:
- scelta della modalità (CLI o GUI);
- percorso di un file di configurazione;
- durata complessiva della simulazione;
- seed per la riproducibilità;
- informazioni di help.
I dettagli di implementazione della modalità CLI e degli argomenti della linea di comando sono descritti in Command Line Interface.
Configuration View
L’interfaccia ConfigurationView definisce il comportamento comune delle viste di configurazione:

Chiamando il metodo init() si apre l'interfaccia di configurazione e restituisce la configurazione scelta dall'
utente. L’uso dell’effetto IO consente di gestire in modo sicuro le operazioni di I/O, garantendo che il risultato
sia una configurazione valida con cui avviare la simulazione.
Il metodo close() è separato da init() per consentire a chi utilizza la vista di gestire la chiusura
dell’interfaccia indipendentemente dall’inizializzazione.
Per i dettagli di implementazione vedere sezioni ConfigurationCLI e ConfigurationGUI.