Che Cos'è?
VisualGantt è un'applicazione per la schedulazione grafica dei processi.
L'applicazione si compone di un'interfaccia grafica che permette la visualizzazione e la modifice dello schedule tramite diagrammi di Gantt, e di un engine che supporta differenti algoritmi di schedulazione.
Caratteristiche Principali
VisualGantt è stato principalmente sviluppato da Davide Anghinolfi dottorando di ricerca presso il DIST in collaborazione con il Prof. Massimo Paolucci.
Visita il sito ufficiale del progetto VisualGantt
Progetto di Schedulazione
La schedulazione dei task avviene in VisualGantt avviene definendo od aprendo un progetto di schedulazione.
Il proegetto di schedulazione raccoglie tutte le informazioni necessarie a VisualGantt per effettuare la schedulazione.
VisualGantt importa i dati di un progetto di schedulazione da file XML o da una base dati.
Una volta caricato un progetto di schedulazione viene creato l'insieme dei diagrammi di gantt (uno per macchina) sui quali saranno disposti i task da schedulare.
Un progetto di schedulazione può contenere solo la definizione dell'insieme di macchine (ovvero l'impianto) oppure anche un insieme di task da schedulare.
VisualGantt è in grado di gestire contemporaneamente più progetti di schedulazione.
In particolare sono mantenute le seguenti informazioni:
L'utilizzo della tecnologia XML o di RDBMS per mantenere i dati relativi ad un progetto di schedulazione pemettono una semplice creazione
dei progetti anche al di fuori del VisualGantt e rendono il VisualGantt stesso integrabile con altri applicativi secondo canali standard.
Schedule
Una volta effettuata la schedulazione VisualGantt visualizza lo schedule sui diversi diagrammi di Gantt associati alle macchiine dell'impianto.
Lo schedule può contenere informazioni associati a differenti progetti di schedulazione e VisualGantt permette una facile identificazione dei task che appartengono ad un progetto colorandoli tutti dello stesso colore.
I dati di uno schedule possono essere esportati in un file XML o verso una base dati, rendendo disponibili i dati della schedulazione ad altre applicazioni.
Schedulazione Manuale
![]() |
Il VisualGantt permette di effettuare lo scheduling manualmente trascinando i task sui diagrammi di Gantt delle singole unità produttive. Per ogni task appartenente ad un job una semplice rappresentazione visuale permette di fornire velocemente alcune informazioni sulle possibilità di inserirli nello schedule della di una linea produttiva. |
Ogni task è affiancato da un pallino il cui colore ne definisce lo stato:
Scheduling con Solver
![]() |
VisualGantt permette di selezionare l'algoritmo con cui effettuare lo scheduling dei job. L'insieme dei solver che possono essere utilizzati è estendibile con un'architettura a plug-in. Terze parti possono implementare nuovi solver ed il VisualGantt è in grado renderli automaticamente disponibili all'utente. |
Gestione delle Precedenze e dei Vincoli
![]() |
VisualGantt permette di visualizzare le precedenze tra i task direttamente sulle carte di Gantt. Questa funzionalità permette di identificare velocemente quali possono essere le potenziali modifiche allo schedule che lo rendono non fattibile provocando la violazione di alcuni vincoli. Graficamente le relazioni di precedenza sono rappresentate da frecce di diverso colore che partono dal task precedente a quello successivo nella relazione di precedenza. |
L'interfaccia grafica permette inoltre di visualizzare i vincoli associati ad ogni singolo task presente nella carta di Gantt. La visualizzazione di questi vincoli permette di modificare in modo consistente lo schedule. |
![]() |
Spostamento dei Tasks
![]() |
L'interfaccia grafica permette di variare l'allocazione di un task semplicemente spostandolo con il mouse. Un'importante caratteristica di VisualGantt è quella di fornire funzionalità per lo spostamento dei task: una volta selezionato un task l'interfacci mette in evidenza le porzioni libere delle carte di Gantt che possono ospitare il task mantenendo lo schedule fattibile. |
Plant Editor
![]() |
Il Plant Editor permette di modellare in maniera visuale l'impianto di produzione su cui verrà eseguita lo scheduling. L'interfaccia grafica permette di definire in maniera semplice le singole unità di produzione e le funzionalità che le caratterizzano. Si possono estendere le funzionalità del Plant Editor, aggiungendo con opportuni plug-in nuovi modelli di macchina. Questa funzionalità permette al VisualGantt di poter effettuare lo scheduling per un ampia gamma di impianti. Di default tale editor permette di selezionare alcuni modelli di macchina già predefiniti. |
Instance Editor
![]() |
L'Instance Editor permette di modellare graficamente gli ordini di produzione (job), definendo per ogni job i differenti task che lo compongono. L'interfaccia permette inoltre di visualizzare le caratteristiche di ogni singolo Job e visualizzarne il grafo delle precedenze. Tramite l'Instrance Editor è possibile inoltre modificare ed introdurre criteri generali che coinvolgono i job ed i task che li compongono. |