SIMULA 1.3 beta:
- aggiunto il tracciamento delle attività che violano le regole
- modificati gli algoritmi di riduzione delle regole
- aggiunto un flag di secondo livello per le attivita' che violano le regole
- migliorato il sistema di correzione della carriera (adesso corregge anche le attivita che violano le regole)
- sistemate le procedure di controllo per far fronte a casi imprevisti e quindi cambiate le procedure di controllo
1) ora il controllo della carriera non ingloba il controllo dell'offerta
2) durante il controllo globale non vengono più effettuati controlli a priori ma vengono chiamati tutti i controllori
NB: alcuni commenti non hanno più validità in quanto si riferiscono alle vecchie restrizioni
- aggiornati i seguenti comani:
check: controllo globale
checkcarrier: controlla la carriera
- redatta la documentazione:
history.txt: questo documento
konsole.txt: breve excursus sui comandi di konsole
simula.htm: documentazione generica
SIMULA 1.2 beta:
- sistemato il file di inizializzazione e di menu
ora il prompt viene letto dal file simula.inf
- corrette alcune imperfezioni grafiche
- aggiunti controlli per il caricamento file
- stesura definitiva del diagramma a classi
SIMULA 1.2 alpha:
- implementato un primitivo approccio grafico per l'interfaccia (compatibile linux e unix)
NB: sono richieste le libreria grafiche curses.
In seguito a ciò:
-L'OGGETTO COMMAND HA CAMBIATO IL METODO PER ACCESSO AL DATO DA GetChar A GetCommand
-OGNI OGGETTO POSSIEDE ORA UN'ISTANZA GetChar PER TRASFORMARLO IN UNA STRINGA DA PASSARE A Display::Out
-OGNI OGGETTO POSSIEDE ORA UN MEMBRO buffer UTILIZZATO NELLA TRASFORMAZIONE IN STRINGA IN GetChar
-LA LISTA NECESSITA PER L'OUTPUT CHE OGNI SUO OGGETTO POSSIEDA GetChar
-L'INPUT UTENTE E' GESTITO DA Display::Get
- il comando 'stop' non e' piu' considerato "pericoloso" in quanto tutta la memoria viene scaricata in chiusura
- ora il programma non crasha quando viene eseguito il controllo di uguaglianza tra due regole e
una delle due regole manca di un campo opzionale (per es: almeno 180 crediti complessivamente; manca dei campi tipo_ambito e lista_ambito)
- in fase di caricamento viene riconosciuta la fine inaspettata della linea (rule, activity, exam)
- al caricamento viene ora data precedenza ai nomi dei file indicati nella linea di comando invece che a quelli nello script di inizializzazione
- aggiunte varie segnalazioni per l'utente su errori e caricamenti
- le attivita' della carriera non ordinate cronologicamente ora non vengono piu' spostate automaticamente al momento del controllo
- ora durante il controllo vengono contati gli errori trovati e i vincoli violati
- nuove variabili globali errors e violations che tengono traccia di eventuali errori e vincoli violati
- le attivita' "errate" in carriera vengono marcate in lista e non vengono conteggiate durante il controllo dell'ordinamento
- al termine dell'inserimento aggiunta la possibilita' di eliminare l'attivita' appena inserita se questa ha causato nuovi errori o violazioni di vincoli
- al termine della rimozione aggiunta la possibilita' di reinserire l'attivita' appena rimossa se questa ha causato nuovi errori
- durante il caricamento viene segnalato se non si trova l'intestazione per il file (ordinamento, offerta)
e se non e' stato trovato "FINE" prima della fine del file
- nel controllo dell'offerta viene verificato se le attivita' propedeutiche sono in offerta,
se no viene segnalato errore e l'attivita' viene rimossa
- nel controllo dell'ordinamento viene verificato se le attivita' e i settori sono descritti in offerta,
se no viene segnalato errore e la regola viene rimossa
- sviluppati due script per la compilazione sotto linux (compilelx) e unix (compileux)
- aggiunti i seguenti comandi:
exit: esce dal corrente sistema di input
pause: attende che l'utente prema
setpausize: setta il valore di pausa (1 si ferma ad ogni pagina, 0 continua) (per velocita' durante test)
showchr: restituisce il numero ASCII corrispondente al tasto premuto (per implementazione)
sysinfo: stampa il valore di tutte le variabili globali del programma
clearcarrier: sistema gli errori della carriera
- aggiornati i seguenti comandi:
stop: interrompe il programma
- rimossi i seguenti comandi:
hideactivity
unhideactivity
SIMULA 1.1 alpha:
- ora lo script di inizializzazione (simula.inf) viene caricato prima del controllo degli argomenti:
questo permette all'utente di personalizzare la fase di caricamento escludendo quindi l'analisi dei parametri all'avvio;
per esempio ora è possibile richiedere i nomi dei file runtime oppure usare file predefiniti usando loadlist
dove al posto di c'e' il tipo di lista (exam, activity, rule) e al posto di il nome del file (o %?)
- implementata una nuova lista globale (NOPROP_ACTIVITY_LIST) per tenere in memoria le attività con propedeuticità completata
e in relazione:
1) il comando: "nopropact: stampa le attività con propedeuticità completata"
è stato sostituito col comando "printnoproplist []: stampa le attività con propedeuticità completata"
2) il comando "checkcarrier" ora ingloba il comando "checkoffer" che carica le attività con propedeuticità completata
e la nuova procedura di stampa per le attività con propedeuticità completata "printnoproplist NORMAL"
NB: il "checkoffer" viene eseguito in maniera isolata solo quando non e' stata caricata la carriera
3) il comando addexam ora si basa su questa lista per l'inserimento delle attività
- ora il programma non dice più che l'ordinamento e' soddisfatto se l'ordinamento e' stato cancellato
- corretti i controlli dopo il caricamento e la cancellazione delle liste
- sostituiti tutti i "cout" con la procedura "VIDEO::Out"
- migliorato l'output su schermo al termine del controllo dell'ordinamento
- ora in chiusura il programma non va in crash se non si era specificato il nome del file della carriera
- aggiunti i seguenti comandi:
delmenu: cancella il menu
printnoproplist []: stampa le attività con propedeuticità completata
- aggiornati i seguenti comandi:
checkcarrier: controlla la carriera e controlla l'offerta
check: controllo globale selettivo (dipende da cosa è stato caricato)
- rimossi i seguenti comandi:
nopropact
SIMULA 1.0 alpha:
- tutti i requisiti soddisfatti
- sviluppata la konsole con i seguenti comandi:
addexam: attiva il form per aggiungere attività alla carriera
bind : associa ad una alias (prima ) un comando (seconda )
cmdlist: stampa la lista dei comandi
check: controllo globale
checkcarrier: controlla la carriera e chiama il comando nopropact
checkoffer: controlla l'offerta
checkorder: controlla l'ordinamento
delactivitylist: cancella l'offerta
delexam : cancella un attività dalla carriera
delexamlist: cancella la carriera
delrulelist: cancella l'ordinamento
delstring : cancella una stringa dalla lista stringhe
delstringlist: cancella la lista di stringhe
echo : stampa su schermo
exec : esegue i comandi contenuti in
hideactivity : nasconde un'attività in offerta
loadactivitylist []: carica l'offerta
loadexamlist []: carica la carriera
loadmenu : carica il menu
loadrulelist []: carica l'ordinamento
loadstringlist : carica una lista di stringhe
nopropact: stampa le attività con propedeuticità completata
printactivitylist []: stampa l'offerta
printbindlist []: stampa la lista dei comandi assegnati
printexamlist []: stampa la carriera
printrulelist []: stampa l'ordinamento
printstringlist []: stampa la lista di stringhe
removeexam: attivita il form per rimuovere attività dalla carriera
saveexamlist []: salva la carriera
savestringlist : salva la lista di stringhe
setlevel : setta il livello di informazioni da stampare a schermo
setlog : setta il tipo di registrazione delle informazioni
stop: interrompe il programma saltando la normale procedura (pericoloso)
unhideactivity : ripristina un'attività in offerta