[Tech] suggerimenti su IDE e librerie GUI
    Franco Bagnoli 
    franco.bagnoli@unifi.it
       
    Gio  6 Giu 2002 10:20:22 CEST
    
    
  
scusate se mi intrometto, ma dato che vorrei sviluppare uno strumentino 
per fare facilmente interfacce grafiche a programmi scientifici, vorrei 
avere anche il vostro parere. 
Problema: i programmi scientifici sono in genere fatti così: 
- lettura parametri
- inizializzazione
- loop 
- scrittura dati
ovvero completamente l'opposto di qualcosa event-driven. 
D'altra parte, quando si comincia a modellizzare qualcosa di complesso, la 
gestione dei parametri e la necessità di output grafici per controllare 
quello che succede diventa importante. Inoltre mi piacerebbe avere un 
sistema per poter produrre una interfaccia usabile da altri senza imazzire 
troppo. 
Ho cominciato a fare una librerietta per gestire gli input (in C): 
all'inizio del programma si inserisce una serie di istruzioni del tipo 
input_insert('D', "coefficiente diffusione", &D, 'd');
input_insert('A', "unità di cibo disponibile in una cella reticolare", &A, 'd');
input_insert('K', "unità di cibo necessaria per produrre un nuovo segmento", &K, 'd');
input_insert('S', "soglia di cibo per sporulazione (S<Q<K)", &S, 'd');
...
e poi lanciando il programma si può scegliere se passare i parametri da 
riga di comando
./a.out -D 0.5 -A 20 
o avere un menù 
./ a.out -$
D) coefficiente diffusione: 0.5
A) unità di cibo disponibile in una cella reticolare: 20
K) unità di cibo necessaria per produrre un nuovo segmento: 32
S) soglia di cibo per sporulazione (S<Q<K): 1
choose an option (. to accept) :> 
Inoltre i parametri sono salvati su un file di configurazione in modo da 
non doverli reinserire tutti di nuovo, e possono essere stampati insieme 
ai dati con  una sola istruzione. 
Vorrei a questo punto estendere il concetto nella maniera seguente:
1) possibilità di avere una interfaccia grafica automatica (ovvero senza 
piazzare a mano i campi) per gli input, magari configurabile a piacere
2) mantenere un menù solo testo (e magari curses) quando c'è da lavorare a 
distanza
3) estendere l'approccio ad altri linguaggi (perl e fortran almeno) 
4) estendere il concetto all'output
Ho pensato che una maniera semplice per i punti 1 e 2 potrebbe essere
quella di scrivere un miniserver http in modo da usare un qualsiasi 
browser per l'input. così basta scrivere un po' di html per fare l'input. 
Per il punto 3 direi che la cosa più semplice è quella di scrivere una 
infrastruttura perl e da lì chiamare le funzioni (ed il loop) in C, 
Fortran, ecc. 
Chiaramente invece per il punto 4 ho bisogno di librerie ad alta velocità. 
penserei di usare il PDL (perl data language) che ha un supporto comodo 
per pgplot e opengl, ma diventa difficile fare una cosa portabile. Inoltre 
non è facile integrare la faccenda con la soluzione http, a meno su usare 
l'approccio server push. 
Sono stato alquanto sbrigativo, lo so, ma non so quanti siano interessati. 
Sono ovviamente più che disponibile a parlarne.
Ciao. 
       
-- 
Franco Bagnoli (franchino) <franco.bagnoli@unifi.it> (bagnoli@dma.unifi.it)
virtual location: Dipartimento di Energetica "S. Stecco"
real location: Dip. Matematica Applicata "G. Sansone", Universita' Firenze,
Via S. Marta, 3 I-50139 Firenze, Italy. Tel. +39 0554796422, fax: +39 055471787
GPG Key fingerprint = 169D 9EA5 8FD3 7EDA E43A  9830 255F BCEC 0D63 3728
    
    
       
       Maggiori informazioni sulla lista 
	       flug-tech