Istruzioni per l'uso


3.1 Descrizione funzionale
3.1.1 Configurazione iniziale
3.1.2 Simulazione
3.1.3 Gestione politiche
3.1.4 Help
3.1.5 Barra del menu
3.2 Scrivere una nuova politica
3.3 Azioni richieste-permesse

3.1 Descrizione funzionale

    3.1.1 Configurazione iniziale

Una volta installato e avviato il programma, l'utente si interfaccia subito con SGPEMv2. Prima di poter iniziare una simulazione, l'utente deve passare per la fase di configurazione del sistema, ovvero deve creare una configurazione dati sulla quale poi avverrà la simulazione. Tale configurazione può essere eseguita manualmente, oppure aprendo una configurazione salvata su file. L'inserimento dei dati per creare una nuova configurazione si articola in tre semplici passi.

Passo 1




Il primo passo consiste nella scelta della politica di ordinamento dei processi che si intende far simulare, tra quelle fornite nel prodotto. Le politiche di ordinamento disponibili sono: Per le politiche che prevedono l'inserimento del valore di time slice, è previsto un'apposita area testuale per poterne inserire il valore. Tale area sarà attiva solo per le politiche che richiedono questo valore. Una volta scelta la politica sarà possibile passare al secondo passo della configurazione cliccando sul bottone avanti che si attiverà.

Passo 2




Nel secondo passo l'utente deve inserire i processi (max 200) e le risorse (max 200), che vanno a costituire i dati principali della simulazione. L'inserimento viene fatto tramite una tabella che ha come colonne i campi dati caratterizzanti un processo o una risorsa. E' disponibile anche un tasto rimuovi, per rimuovere la riga, corrispondente ad un processo o ad una risorsa, selezionata. Viene impedito l'inserimento di dati errati (che non rispettano la correttezza logica), e nel caso di mancanza di dati, il sistema provvede ad inserire valori di default. Un inserimento di un dato non valido (un carattere o un dato non compatibile con il tipo richiesto), viene segnalato con una casella rossa, che impedisce di portare a termine l'operazione, fino alla correzzione con un dato compatibile. Una volta inserito almeno un processo, viene attivato il pulsante avanti, che, se non sono state inserite risorse conclude la fase di configurazione permettendo l'avvio della simulazione, altrimenti fa avanzare la fase di configurazione al terzo ed ultimo passo. Prima di premere il bottone "Avanti" l'utente deve deselezionare la riga appena inserita.

Passo 3




In questo passo, l'utente deve inserire le richieste dei processi alle risorse. Anche qui l'inserimento è reso semplice dalla tabella in cui i dati devono essere inseriti, ma anche sicuro sempre rispetto a errori logici e mancanza di dati. L'utente, per aggiungere una nuova richiesta di un processo ad una risorsa, deve selezionare un processo e una risorsa, tra quelli inseriti precedentemente, e che vengono visualizzati in apposite tabelle di riepilogo, premere il pulsante "Avanti" e procedere poi con l'inserimento dei dati mancanti. Un inserimento di un dato non valido (un carattere o un dato non compatibile con il tipo richiesto), viene segnalato con una casella rossa, che impedisce di portare a termine l'operazione, fino alla correzzione con un dato compatibile. Prima di premere nuovamente il bottone "Aggiungi" o "Fine" l'utente deve deselezionare la nuova riga inserita. In questo passo l'utente deve anche scegliere la politica di assegnazione delle risorse ai processi tra quelle disponibili: Al termine di questa fase, che si conclude solo se è stata inserita almeno una assegnazione e scelta la politica, l'utente può, premendo il tasto Fine, chiudere la fase di configurazione e passare alla simulazione. Altra modalità per configurare una simulazione, è aprirne una già creata e salvata. Le configurazioni salvate sono riconoscibili dall'estensione .fcs.
Se una configurazione è già stata creata o caricata, l'utente ha la possibilità di modificarla, seguendo i passi precedentemente elencati.

    3.1.2 Simulazione

Una volta terminata la fase di configurazione, l'utente può condurre la simulazione, in più modalità (avanzamento automatico, step by step (sia avanti che indietro), vai alla fine, torna all'inizio). L'avanzamento di una simulazione può essere interrotto in qualsiasi momento, per poi essere ripreso successivamente. L'interfaccia grafica è suddivisa in più finestre per permettere all'utilizzatore di avere una visione completa sull'avanzamento della simulazione.



Le finestre presenti sono:
  • Avanzamento dei processi.
  • Assegnazione delle risorse.
  • Coda dei pronti.
  • Lista dei terminati.
  • Processi.
  • Risorse.
  • Statistiche.
Avanzamento dei processi:
   In questa finestra è riportato graficamente come i processi sono eseguiti dalla CPU. In particolare, sono rappresentate le unità di tempo di esecuzione di ogni processo, secondo la configurazione scelta. Se il processo scelto per eseguire dovesse richiedere una risorsa che in quell'istante non è disponibile, il processo viene bloccato e la CPU rimane inattiva per un'unità di tempo. Quest'evento è rappresentato con uno spazio vuoto di un'unità. Invece, il tempo di cambio di contesto tra processi non è considerato. Ad ogni processo è assegnato un colore, in modo da rendere più intuitiva la simulazione.
Assegnazione delle risorse:
   In questa finestra è rappresentato il grafo dell'allocazione delle risorse ai processi. I processi vengono rappresentati con dei cerchi colorati, con il nome riportato all'interno, mentre le risorse vengono rappresentati con dei quadrati, al cui interno sono presenti, oltre al nome della risorsa, dei punti neri che ne indicano la molteplicità. Le risorse presentano colori differenti a seconda esse siano prerilasciabili (bianche) o non prerilasciabili (grigio). Un processo è in relazione con una risorsa tramite una freccia. Se il processo detiene la risorsa la freccia è diretta dalla risorsa al processo. Se il processo ha richiesto una risorsa o si trova bloccato in attesa che questa si liberi, la freccia è rivolta dal processo alla risorsa.
Coda dei pronti:
   In questa finestra sono riportati, tutti e solo i processi pronti ad eseguire, ordinati secondo la politica di ordinamento scelta. Il primo processo della coda dei processi pronti è quello che compare in alto alla lista.
Lista dei terminati:
   In questa finestra sono riportati, tutti e solo i processi che hanno terminato la loro esecuzione, in ordine temporale di terminazione. Il primo processo terminato è quello che compare in alto alla lista. In ordine di terminazione sono inseriti gli altri.
Processi:
   In questa finestra sono riportati, in forma tabellare, tutti i processi, con a fianco il loro stato (in esecuzione, pronto, terminato, in arrivo, bloccato).
Risorse:
   In questa finestra sono riportate, in forma tabellare, tutte le risorse, con a fianco riportati, per ogni risorsa, il processo che eventualmente la detiene e la coda dei processi bloccati in attesa che questa si liberi. Quest'ultima coda è ordinata secondo la politica di assegnazione scelta. Se la risorsa è prerilasciabile, la coda dei processi bloccati non è abilitata.
Statistiche:
   Questa finestra visualizzerà i dati statistici. Può essere visualizzata solo a simulazione interrotta, e non nello stato iniziale. E' possibile avanzare la simulazione manualmente ed osservare l'evoluzione delle statistiche dopo aver attivato il bottone "visualizza statistiche". I dati visualizzati comprendono le statistiche della simulazione fino all'istante corrente (Throughtput, tempo medio di attesa, tempo medio di risposta, tempo medio di turn around) ed le statistiche relative ad ogni processo attivato (tempo di attesa, tempo di risposta, tempo di turn around, occupazione della CPU, occupazione della CPU percentuale). Per il significato dei dati statistici rilevati, si veda il glossario.

    3.1.3 Gestione politiche

Il software SGPEMv2 è stato accuratamente progettato tenendo in considerazione la possibilità di estendere l'insieme delle politiche di ordinamento e di assegnazione. La presenza di questo requisito, permette all'utente (vedere paragrafo 1.3 di questo documento) di scrivere una nuova politica in linguaggio di programmazione Java senza dover modificare l'architettura ed il codice sorgente del software. Le norme per scrivere una nuova politica sono precisate nel paragrafo 3.2 di questo documento. La gestione delle politiche, che comprende l'aggiunta e la rimozione di queste ultime e l'impostazione delle compatibilità tra quelle di ordinamento e quelle di assegnazione, viene avviata selezionando la voce "gestione politiche" dal menù File. Selezionando tale voce si aprirà una piccola finestra, suddivisa in due pannelli (Politiche e Compatibilità), che permetterà di eseguire le operazioni sopra citate.



Nella parte inferiore del pannello Politiche è possibile leggere l'elenco delle politiche che non sono state caricate con successo (e quindi non disponibili all'utente) all'avvio del programma. In figura abbiamo una situazione in cui tutte le politiche sono state caricate correttamente. I procedimenti per l'inserimento, la rimozione, e l'impostazione delle compatibilità tra le politiche saranno esaminati in dettaglio nei paragrafi 3.3.1, 3.3.2, 3.3.3.

    3.1.4 Help

In qualsiasi istante è possibile richiamare l'Help, o Guida in linea. L'Help è scritto in formato HTML, e può essere richiamato in modalità sensibile al contesto premendo il bottone "punto di domanda". Questa funzionalità viene offerta, oltre che dalle finestre dell'interfaccia grafica principale, anche dai pannelli di configurazione, modifica e aggiunta di una politica.

    3.1.5 Barra del menu

Di seguito viene fornito un' elenco dei menù e delle voci in essi contenute.

File
   Nuova configurazione
   Apri configurazione
   Salva
   Modifica configurazione
   Gestione politiche
   Esci

Simulazione
   Sono riportati i bottoni per "navigare nella simulazione. Tali bottoni sono quelli presenti nella tool bar. (Interrompi, avanzamento automatico, step by step avanti e indietro, vai alla fine, torna all'inizio). E' presente anche un bottone (default layout), per reimpostare la dimensione delle viste.

Finestre
   Sono presenti tutte le finestre dell'interfaccia grafica. Si possono selezionare o deselezionare, andando così ad aggiungerle o toglierle dall'interfaccia grafica.

Help
   Help
   About



pagina precedente    
pagina successiva