• Non ci sono risultati.

ORC (iniziali di Orchestration) è il modello formale per la descrizione di applicazioni distribuite

N/A
N/A
Protected

Academic year: 2021

Condividi "ORC (iniziali di Orchestration) è il modello formale per la descrizione di applicazioni distribuite"

Copied!
3
0
0

Testo completo

(1)

Introduzione

La programmazione di grandi sistemi distribuiti è in continua evoluzione; per questo è richiesta un sforzo di programmazione sempre crescente per costruire un'appropriata struttura per le applicazioni distribuite: nel tempo sono state sviluppate molte applicazioni che generano skeleton per applicazioni distribuite;

spesso però utilizzando tali applicazioni si spende la maggior parte del tempo nella modifica dello skeleton stesso.

E' nata quindi la necessità di un framework che permetta ai programmatori di applicazioni distribuite di usare una notazione per le loro applicazioni più user- friendly possibile e che si possa utilizzare per generare degli skeleton delle applicazioni stesse facilmente modificabili.

Lo scopo della tesi è quello di realizzare un prototipo per la generazione automatica di skeleton di applicazioni distribuite in Java.

Il generatore di skeleton, implementato come libreria Java, creerà dei files che, dopo essere stati compilati e mandati in esecuzione, saranno i processi di un applicazione distribuita.

Si è quindi pensato di utilizzare come modello formale ORC, di Jayadev Misra e William R. Cook [1] poiché offre un modello per la programmazione concorrente e distribuita.

ORC (iniziali di Orchestration) è il modello formale per la descrizione di applicazioni distribuite.

(2)

Le espressioni ORC modellano orchestrazioni tra servizi concorrenti e/o distribuiti.

Il temine generico per definire un sevizio è sito (site); un sito può eseguire qualunque tipo di computazione: acquisizione e invio dati, elaborazione, chiamate di altri servizi, ecc...

Come esempio si potrebbe considerare l'espressione CNN, dove CNN è un servizio di news la cui chiamata pubblica una pagina di notizie. Chiamando CNN(d), con d data, è possibile ricevere le news della data specifica.

Un espressione ORC può anche essere la composizione di due o più espressioni.

ORC possiede tre operatori per la composizione di espressioni: ”>>” per la composizione sequenziale, “|” per la composizione simmetrica parallela e “where”

per la composizione asimmetrica parallela.

Per esempio l'espressione (CNN|BBC) modella l'esecuzione di due servizi di news contemporaneamente mentre (CNN>>BBC) modella l'esecuzione sequenziale dei servizi.

Lo scopo del lavoro è stato quello di realizzare un tool che, a partire da un programma ORC, produce una serie di classi Java che implementano completamente la struttura dell'applicazione modellata dal programma ORC.

Per ogni entità parallela/distribuita del programma ORC viene creato una classe Java eseguibile ed inoltre viene implementata tutta la struttura di comunicazione (attraverso i socket TCP/IP di Java) tra le varie entità che compongono l'espressione ORC.

I siti ORC sono eseguiti su diverse Java Virtual Machines che possono trovarsi sulla stessa o su diverse macchine di un cluster.

L'utente quindi deve solamente inserire il codice che implementa la chiamata del sito, non dovendosi occupare della struttura dell' applicazione distribuita che è stata implementata automanticamente a partire dall'espressione ORC.

(3)

Questa particolarità permette all'utente di guadagnare grande quantità di tempo in quanto è dispensato dallo sviluppo delle maggiori problematiche che riguardano la programmazione di applicazioni distribuite come la decomposizione in processi, la schedulazione, la comunicazione e la sincronizzazione tra i processi.

Anche se è attualmente in fase di sviluppo da parte di Misra e Cook [2] un semplice interprete del linguaggio ORC che implementa la valutazione dell'espressione ORC attraverso la comunicazione tra threads il presente lavoro è il primo tentativo di utilizzare il modello formale di ORC come framework per la generazione di applicazioni in grado di funzionare su di un sistema distribuito o parallelo.

Riferimenti

Documenti correlati

della occupazione è stata ancora più alta 34 .Dunque siamo di fronte ad un contesto lavorativo che muta e si riorganizza e che in alcuni casi implica una perdita del

Attivazione piastrinica Attivazione piastrinica ADP TICLOPIDINA CLOPIDOGREL Collagene TXA2 Trombina Forza di taglio ASPIRINA GPIIb-IIIa Legame al Fibrinogeno..

1) Do SLI receiving almost no explicit instruction but long-term input exposure (group A) and SLI receiving explicit L2 instruction (but without a speci fic focus on the constructions

Furthermore, another study examined the effects of fasting on ankle proprioception function by isokinetic test [ 20 ], while the present study, in addition to muscle function, for

Key words: Fractional calculus, Mellin transform, Complex order moments, Fractional mo- ments, Fractional spectral moments, Cross-correlation function, Cross-power spectral

Differences are statistically significant between control and higher concentrations: 100 and 263 µg/ml (Student’s t-test, p<0.01 **). d) Linear correlation between the

For instance, cinnamon oil has been incorporated in soy lecithin, cholesterol liposomes to improve the antimicrobial activity [ 15 ]; thymus essential oil has been formulated