Skip to content

andreafulcheri/SimMod-2425

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

117 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimMod-2425

Language Build Platform License

Repository di esercizi e progetto finale per simulazione ad eventi discreti in C (approccio Next Event Simulation), con supporto a post-processing MATLAB.

Indice

Panoramica

Il repository contiene piu step evolutivi di simulatori a eventi discreti:

  • es1: simulatore base single-server queue da traccia (ssq2.dat).
  • es2: versione con Future Event List e list manager dedicato.
  • es7: simulatore machine repairman (stima classica con metriche di stazione).
  • es7-small: variante machine repairman con cicli rigenerativi e stima intervallare.
  • final-project: simulatore central server system multi-stazione, configurabile via JSON, con supporto a campagne di validazione.

Struttura Del Repository

Percorso Contenuto
es1/ Versioni storiche e versione corrente ssq2_v4.c + traccia ssq2.dat
es2/ Simulatore NES single-server con Makefile
es7/ Simulatore machine repairman completo (include/, src/)
es7-small/ Variante con rigenerazione + script MATLAB MVA
final-project/ Progetto finale (simulatore central server, config, CSV, script MATLAB, report)

Prerequisiti

  • Compilatore C (gcc).
  • make.
  • Libreria matematica standard (-lm, gia inclusa nei Makefile).
  • MATLAB/Octave opzionale per analisi in matlab/.

Nota Windows:

  • I Makefile usano comandi POSIX (mkdir -p, rm -rf, ./bin/...).
  • E consigliato usare WSL, Git Bash o MSYS2/MinGW.
  • Se necessario, sostituisci make con mingw32-make nel tuo ambiente.

Quick Start

cd SimMod-2425

Compilazione rapida delle cartelle principali:

cd es2 && make
cd ../es7 && make
cd ../es7-small && make
cd ../final-project && make

Build Ed Esecuzione

es1

es1 non include un Makefile: compila manualmente.

cd es1
gcc -Wall -Wextra -O2 ssq2_v4.c -o ssq2_v4 -lm
./ssq2_v4

Il programma legge ssq2.dat dalla directory corrente.

es2

cd es2
make
./bin/NESssq

In alternativa:

make run

Pulizia:

make clean

es7

cd es7
make
./bin/NESmrs

Pulizia:

make clean

es7-small

cd es7-small
make
./bin/NESmrs

Pulizia:

make clean

Progetto Finale

Build

cd final-project
make

Eseguibile generato: final-project/bin/NEScss

Esecuzione Base

cd final-project
./bin/NEScss

Con path di default, il programma cerca nella working directory:

  • ./config.json
  • ./student_t_values.csv

Opzioni CLI

-h                mostra help
-v 0|1|2          livello di verbosita
-c <file>         file configurazione JSON
-n <id>           indice configurazione nel file JSON
-t <file>         tabella valori t di Student
-i <file>         file semi iniziali da leggere
-o <file>         file dove salvare i semi finali
-d                abilita debug
-l                stampa stato simulatore nei primi eventi

Esempio completo:

cd final-project
./bin/NEScss -n 1 -v 2 -c ./config.json -t ./student_t_values.csv -o ./seeds/last_seeds.txt

Riutilizzo dei semi da una run precedente:

cd final-project
./bin/NEScss -i ./seeds/last_seeds.txt -n 2 -v 1

Suggerimento:

  • Mantieni sempre cd final-project prima dell'esecuzione, oppure passa path assoluti a -c e -t.

Analisi E Validazione

  • final-project/csv/: dataset e metriche per validazione.
  • final-project/results/: output delle campagne (directory pronta all'uso).
  • final-project/seeds/: semi RNG salvati/caricati per riproducibilita.
  • final-project/matlab/: script per analisi numerica e confronto con modelli teorici.
  • final-project/figures/: grafici e figure di supporto.

Report inclusi in final-project/:

  • EdoardoAcquarone_AndreaFulcheri_RelazioneSimMod2425.pdf
  • ProjectCPU.pdf

Troubleshooting

  • Errore apertura file config/t-values: verifica la working directory corrente (cd final-project) o usa path assoluti.
  • Comando make non trovato su Windows: usa WSL, Git Bash o MinGW (mingw32-make).
  • Errori di linking matematico: assicurati che il linker includa -lm (gia presente nei Makefile).

Licenza

Questo progetto e distribuito sotto licenza PolyForm Noncommercial 1.0.0.

Dettagli completi in LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors