DFE Introduzione
Il DFE (Design For Environment) è stata una delle attività del Progetto ICIV (Ingegneria Concorrente e Impresa Virtuale) finanziato dal MIUR (Ministero dell’Università e della Ricerca scientifica) nell’ambito della legge 488/92. Tale attività, conclusasi alla fine del 2001, ha dato vita al Sistema DFE che è uno strumento software, interamente sviluppato in ENEA, il cui obiettivo è quello di aiutare il progettista o gestore di processi produttivi nel miglioramento degli impianti e delle tecnologie impiegate nell’ottica di ridurre l’impatto ambientale del processo compatibilmente con i costi e gli investimenti necessari. I processi produttivi considerati nello sviluppo di tale sistema sono stati quello della verniciatura con particolare riguardo alla verniciatura delle sedie e quello della produzione del vetro artistico realizzato con la consulenza della Stazione Sperimentale del Vetro di Murano.
Il processo produttivo è schematizzato mediante una serie contigua di fasi di lavorazione a monte delle quali vi sono dei materiali in ingresso che producono, a valle, in uscita, dei materiali lavorati. Ogni fase rilascia degli inquinanti e comporta dei costi di lavorazione. L’obiettivo del sistema è quello di ottimizzare un giusto compromesso tra l’entità dei rilasci ed i costi da sopportare in funzione delle tecnologie innovative o Opzioni Tecniche che possono essere selezionate a questo scopo (http://www.epa.gov/dfe/index.htm).
La fase di ottimizzazione può essere di tipo “user-driven” ossia guidata da un utente esperto che abbia già in mente, almeno a grandi linee, il tipo di opzioni tecniche innovative da considerare, oppure di tipo “free”, ossia un’indagine a vasto spettro, supportata in questo caso da algoritmi di tipo evolutivo (algoritmi genetici), da utilizzarsi soprattutto come indagine preliminare, quando non si abbiano particolari vincoli o preferenze già definite.
Il Sistema è suddiviso logicamente in tre distinti strumenti software collegati alla stessa interfaccia utente:
DFE Enterprise
Il sistema descritto brevemente nell’introduzione è stato pensato e sviluppato come applicazione desktop, ossia tutto il pacchetto include l’applicazione software e dati da installare in una singola macchina. Parallelamente è stata sviluppata una versione “Enterprise” dimostrativa del prodotto relativa alla produzione del vetro artistico ossia una versione in cui l’utente interagisce solamente con un programma Client sviluppato ad hoc, molto “leggero” e senza nessun problema di installazione. Attualmente è stata sviluppata solo la parte relativa alla Simulazione/Ottimizzazione. Mediante questo Client l’utente può effettuare le prove descritte nell’introduzione avvalendosi di un modello di calcolo generico già compilato. In questo modo tutta la logica dell’applicazione viene spostata sul server. I vantaggi per l’utente sono numerosi: nessuna installazione particolare sul computer dell’utente; l’applicazione versione desktop richiedeva anche l’installazione di Excel sulla propria macchina, la versione “Enterprise” no; l’utente può utilizzare una macchina di potenza limitata in quanto non deve supportare nessuna elaborazione particolare (infatti, a differenza della versione desktop, l’algoritmo genetico risiede sul server); in caso di aggiornamenti e/o potenziamenti dei vari algoritmi l’utente non deve reinstallare il prodotto. L’utente interagisce con il Server tramite Internet utilizzando i Web Services. E’ stata utilizzata questa tecnologia per diversi motivi: il Client, seppur molto “leggero” è stato sviluppato ad hoc e quindi quella dei Web Services è stata l’unica tecnologia che ci ha permesso di interagire facilmente con l’applicazione Server tramite Internet, anche al di fuori di una Intranet Aziendale; l’algoritmo genetico è stato sviluppato con Borland Delphi per cui si è reso necessario l’utilizzo dei Web Services per far interagire quest’ultimo con gli applicativi Java con cui è stata sviluppata la parte Server (J2EE). Le modalità con cui l’utente può interagire con il Server sono due: la prima prevede l’invio dei dati all’applicazione Server e l’esecuzione degli algoritmi richiesti on-line. Ciò significa che gli algoritmi vengono eseguiti immediatamente appena richiesti dall’utente e quest’ultimo deve attendere in linea la loro esecuzione e la visualizzazione dei risultati. Ciò potrebbe risultare a volte scomodo per cui è stata implementata una seconda modalità per cui l’utente richiede l’esecuzione degli algoritmi off-line. Le richieste vengono ricevute dal Server e accodate in una coda di richieste. Il Server le evaderà in un secondo tempo, i risultati saranno temporaneamente memorizzati in attesa che l’utente si ricolleghi e li richieda. In questo modo l’utente può inviare più richieste e vedere in un secondo tempo tutti i risultati. Per la realizzazione del Dfe Enterprise è stato necessario creare una infrastruttura per gestire gli account dei vari utenti che utilizzano il Sistema. Per questo motivo si può accedere al Sistema anche via Browser per registrarsi, controllare lo stato del proprio account etc.
Le tecnologie utilizzate sono: l’architettura J2EE (Java 2 Enterprise Edition) per la realizzazione dell’applicazione Server; ciò ha comportato l’utilizzo delle tecnologie Servlet, Jsp, EJB, JMS, XML etc.. I Web Services come già detto sia per avere l’interoperabilità tra Java e gli algoritmi scritti con un linguaggio differente sia per la comunicazione via Internet con l’applicazione Client.
I tool di sviluppo e di deploy utilizzati sono:
Borland Delphi 6 Enterprise per la realizzazione degli algoritmi e del client. JBuilder 7 Enterprise per lo sviluppo della applicazione Server. Borland Enterprise Server (BES) 5.1 come Application Server Apache AXIS (incluso nel BES) per il deploy dei Web Services. |