Fondamenti di sistemi distribuiti/2006-2007
Indice
- 1 Informazioni generali
- 2 Diario del corso
- 2.1 Lezione di Martedi' 3 Ottobre
- 2.2 Lezione di Venerdi' 6 Ottobre
- 2.3 Lezione di Martedi' 10 Ottobre
- 2.4 Lezione di Venerdi' 13 Ottobre
- 2.5 Lezione di Martedi' 17 Ottobre
- 2.6 Lezione di Venerdi' 20 Ottobre
- 2.7 Lezione di Martedi' 24 Ottobre
- 2.8 Lezione di Venerdi' 27 Ottobre
- 2.9 Lezione di Martedi' 31 Ottobre
- 2.10 Lezione di Venerdi' 3 Novembre
- 2.11 Lezione di Martedi' 7 Novembre
- 2.12 Lezione di Venerdi' 10 Novembre
- 2.13 Lezione di Martedi' 14 Novembre
- 2.14 Lezione di Venerdi' 17 Novembre
- 2.15 Lezione di Martedi' 21 Novembre
- 2.16 Lezione di Venerdi' 24 Novembre
- 2.17 Lezione di Martedi' 28 Novembre
Informazioni generali
Orari delle lezioni
MARTEDI' : 9-10.30 (in Aula Beta)
VENERDI' : 9-10.30 (in Aula Beta)
Orario di ricevimento studenti
MARTEDI' : dalle 11 in poi.
Avvisi
- Martedi' 17 Ottobre e Martedi' 24 Ottobre non ci sara' lezione.
Link
Sito del corso: questo
Forum: dal sito di jli, mettete user e password e cliccate in basso a destra sul link FORUM.
Materiale didattico
- Slide
- "Designing Concurrent, distributed and real-time application with UML - Gomaa", Addison-Wesley, 2001
- Videolezioni raggiungibili a questo : link
Modalità d'esame
Frequentanti: un compitino + analisi caso di studio.
Non frequentante: Due compitini o esame completo + analisi caso di studio.
Per il caso di studio bisogna farlo in gruppi di 2.(una volta si poteva anche in 3 mentre la prof ha deciso che da quest'anno non sara' piu' possibile)
Iscrizione al corso
Per iscriversi bisogna andare sul sito jli , cliccare su "form di autoregistrazione" e inserire user e password del silab. Quindi effettuare il login e compilare il questionario del corso.
Se siete gia' iscritti e avete problemi nel visualizzare il questionario andate a questo link per maggiori info.
Diario del corso
Lezione di Martedi' 3 Ottobre
Dalla triennale alla magistrale: why?what?
Fsd: di cosa si occupa?
Progettazione di sistemi distribuiti.
Lezione di Venerdi' 6 Ottobre
Caratterizzazione della nozione di sistema.
Nozioni di componente e sottosistema, osservatore e comportamento esibito.
Lezione di Martedi' 10 Ottobre
Componenti come oggetti
Descrizione di una componente (del sistema) come oggetto.
Alcune nozioni della programmazione ad oggetti.
Esempio del BUFFER a una cella.
Automa per la modellazione dei passaggi di stato.
Caratterizzazione semantica delle operazioni.
Possibilita' di rappresentare la medesima situazione con una gerarchia tra classi o con una sola classe con oggetti differezianti per stato.
Esercizio
classe PRODUCER: prende dall'ambiente un elemento da processare alla volta, lo usa per produrre quel che deve e lo rende disponibile ad altre componenti (oggetti); classe CONSUMER: prende da altre componenti del sistema elementi di prodotto, se necessario li processa ulteriormente (li conusma) e di rilascia all'ambiente. Ragionate infine su come comporre i comportamenti per modellare
1- sistema
PRODUCER || CONSUMER
dove || sta per 'composizione parallela sincrona', cioe i due processi si scambiano l'item direttamente in una comunicazione sincrona atomica
2- sistema
PRODUCER || BUFFER || CONSUMER
cioe' il Buffer disaccoppia la comunicazione tra PRODUCER e CONSUMER;
Lezione di Venerdi' 13 Ottobre
Dal sequenziale al concorrente. Esempio Producer-Buffer-Consumer. Modellare il comportamento di un sistema ottenuto per sincronizzazione (sincrona o asincrona) delle componenti che lo costituiscono. Confrontare i sistemi cosi' ottenuti.
Lezione di Martedi' 17 Ottobre
Non c'era lezione!
Lezione di Venerdi' 20 Ottobre
Si sono consolidate le nozioni di base che consentono di modellare il comportamento di un sistema distribuito per mezzo di una Rete di Petri, introducendo le definizione di rete, sistema, abiltazione e scatto di un evento e di un insieme di eventi (concorrenza). Si è inoltre introdotto il principio di estensionalità per la caratterizzazione degli eventi e, su questa base, si sono introdotte e discusse situazioni di contatto e side-condition.
Lezione di Martedi' 24 Ottobre
Non c'e' lezione!
Lezione di Venerdi' 27 Ottobre
Svolgimento esercizi che la prof ha dato le lezioni scorse. Case Graph. Situazione di "confusione" piu' esercizio da risolvere a casa.
Lezione di Martedi' 31 Ottobre
Svolgimento degli esercizi che la prof aveva assegnato le lezioni scorse.
Sistema 1-Vivo, Transizione morta, Blocco del sistema.
Proprieta' di buon comportamento del sistema. Proprieta' di vivezza. Sistema Vivo.
Lezione di Venerdi' 3 Novembre
Svolgimento esercizio assegnato la lezione scorsa.
Differenze tra sequenziale e concorrente.
Reti di occorrenza o processi, dipendenza o indipendenza causale.
Semantiche della concorrenza:
- interleaving
- a step
- a ordinamenti parziali
Ci sono altri modelli oltre alle Reti di Petri:
- Communicating Sequential Processes (CSP - Hoare 1978)
- Calculus for Communicating Systems (CCS - Milner 1980)
- Actors (Hewitt 1973)
Differenze tra RdP, CSP, CCS e Actors per quanto riguarda il tipo di comunicazione e la semantica.
Per chi ha gia' composto il gruppo, la prof ha consigliato di iniziare a guardare i casi di studio presenti sul libro all'inizio della parte 3°(pag.459) in modo da farsi un'idea.
Lezione di Martedi' 7 Novembre
A partire da una discussione sulle criticità proprie, dell'attività di sviluppo del software, si è identificato il ruolo del software come duplice astrazione - del problem domain e del computing system - ed il ciclo di vita del software come un processo che consente di passare, attraverso le attività di analisi, progettazione e implementazione, dalla identificazione di esigenze nel contesto di un problem domain alla realizzazione di codice funzionante correttamente su un dato computing system.
Lezione di Venerdi' 10 Novembre
Il compitino si terra' il 21 Novembre dalle 8.30 circa in poi.
Metodologia UML-compliant COMET (Concurrent Object Modelling and architectural design mEThod) per lo sviluppo di applicazioni distribuite.
Caratterizzazione degli use case.
Argomenti trattati nel libro nel capitolo 6 e all'inizio del capitolo 7.
Lezione di Martedi' 14 Novembre
Correzione degli esercizi assegnati:
- specifica di una classe (lezione III)
- processi (lezione VIII)
La correzione del primo esercizio è stata l'occasione per approfondire varie questioni su come modellare parti di un sistema attarverso un insieme di classi di oggetti interagenti, specificando per ciascuno attributi, operazioni e comportamento.
Lezione di Venerdi' 17 Novembre
Use Case:
- Use Case Name
- Summary
- Dependency
- Actors
- Insieme di precondizioni
- Descrizione
- Alternatives
- Post condizioni
- Outstanding questions
La prof ha poi spiegato gli altri 2 modi per "catturare" use case:
- relazione di inclusione (tramite include)
- relazione di estensione (tramite extend)
Definizione Use Case Maieutico e Negoziale.
Ha poi ripreso l'esercizio della classe Elettore fatto la volta scorsa facendo lo schema per il metodo "sospendi".
Lezione di Martedi' 21 Novembre
Compitino!
Lezione di Venerdi' 24 Novembre
Analysis modelling:
- analisi statica
- analisi dinamica
Static modelling:
- problem domain
- system context (il suo ambiente)
- system context diagram
Identificazione di classi per il problem domain:
- physical classes
- entity classes
- e le loro Relazioni
Relazioni tra classi:
- Composizione
- Aggregazione
- Generalizzazione/Specializzazione
- Associazione
Dagli actors identifichiamo le varie classi:
- I/O Device Actor --> External device class
- External System Actor --> External system class
- Timer Actor --> External timer class
- Human User Actor:
--> se l'actor agisce tramite I/O standard, External user class
--> se l'actor agisce tramite I/O non standard, External device class
All'interno del system context class diagram avremo per ogni classe esterna una corrispondente classe di interfaccia.
Avremo:
- entity
- physical
- control object (oggetti di controllo)
Lezione di Martedi' 28 Novembre
Correzione esercizio assegnato settimana scorsa sullo Use Case Validate PIN.