La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Chat-quiz Reti di Calcolatori L-S AA. 2003/2004 Rossella Rubino.

Presentazioni simili


Presentazione sul tema: "Chat-quiz Reti di Calcolatori L-S AA. 2003/2004 Rossella Rubino."— Transcript della presentazione:

1 Chat-quiz Reti di Calcolatori L-S AA. 2003/2004 Rossella Rubino

2 2 Obiettivi realizzare chat-quiz –comunicazione e sincronizzazione –replicazione

3 3 Cosa è una chat-quiz? Applicazione che da la possibilità ai suoi utenti di chattare e contemporaneamente di partecipare ad un quiz. –le domande vengono inviate solo agli utenti che si iscrivono al quiz –l’utente che per primo risponde correttamente accumula 1 punto.

4 4 Fasi di sviluppo dell’applicazione Analisi –casi d’uso –scenari Progetto –scelta del modello –protocollo di comunicazione –replicazione Implementazione –linguaggio –sistema di supporto

5 Analisi: casi d’uso

6 6 Progetto: modello (1) C/S  msg(from(Bob),text(ciao)) …. msg(from(Alice),text(come va?)) … msg(from(Bob),text(ho mal di denti)) … Tuple  + client server spazio di tuple

7 7 Modello a tuple –meccanismo di comunicazione e sincronizzazione –asimmetrico –qualità persistenza spazi di tuple assenza di interferenze Modello C/S –Entità che gestisce gli utenti e il quiz Progetto: modello (2)

8 8 soluzione distribuita vs centralizzata 1 server n client 3+n spazi di tuple –1 per ogni utente –1 per la chat chat_room –2 per il quiz quiz pool Progetto: modello (3)

9 9 primitive degli spazi di tuple –in –out –rd tuple logiche: strutture dati costituite da un nome e da una lista di argomenti –Es. msg(from(Bob),text(ciao)) Progetto: protocollo di comunicazione (1)

10 bob chat_room out(join(user(Bob),host(localhost))) in(join(_,_)) rdAll(user(_,_)) out(accepted(Bob,true)) in(accepted(_,_)) Accesso alla chat

11 bob chat_room out(msg(from(Bob),host(localhost),text(ciao alice))) in(msg(_,_,_)) out(msg(from(Bob),host(localhost),text(ciao))) alice in(msg(_,_,_)) 4 Invio messaggi

12 bob chat_room out(msg(from(Bob),host(localhost),text(quizStart))) in(msg(_,_,_)) quiz out(user(Bob,host(localhost),score(0),status(online)) Partecipazione al quiz

13 bob in(msg(_,_,_)) out(msg(from(Quiz),host(localhost),text(Chi è il regista di “Marnie”?)) quiz rdAll(user(_,_,_,_)) pool rd(quiz(question(Chi è il regista di “Marnie”?),answer(Alfred Hitchcock))) 3 Invio domande

14 bob in(msg(_,_,_)) out(msg(from(Bob),host(localhost),text(Alfred Hitchcock))) 1 3 quiz 2 out(user(Bob,host(localhost),score(1),status(online)) chat_room out(msg(from(Quiz),host(localhost),text(Indovinato…il tuo punteggio ora è 1))) 4 Invio risposta

15 bob chat_room out(msg(from(Bob),host(localhost),text(quizStop))) in(msg(_,_,_)) quiz out(user(Bob,host(localhost),score(0),status(offline)) Uscita dal quiz

16 16 Replicazione ipotesi di guasto singolo Modello a copie calde –si lavora in parallelo su due nodi in cui ognuno ha i centri di tuple chat_room, quiz e pool Ripristino coerenza –il nodo riparato rientra solo al successivo startup

17 17 Implementazione (1) Spazi di tuple –Tucson Java –portabilità –interfaccia di accesso a Tucson

18 Implementazione (2) ChatAgentJFrame AgentObserverLeave ChatServer 11..* AgentObserverJoinAgentObserverMsgObserverLeaveObserverJoinQuizManager

19 Interfaccia

20 20 Conclusioni Il modello a tuple risulta utile perché –meccanismo di comunicazione e di sincronizzazione –Stato disaccoppiato dai processi Sviluppi futuri –Algoritmo di scelta random e inserimento delle domande nel centro di tuple pool –Meccanismo di ripristino coerenza tra i due nodi


Scaricare ppt "Chat-quiz Reti di Calcolatori L-S AA. 2003/2004 Rossella Rubino."

Presentazioni simili


Annunci Google