Per un nuovo orientamento nella progettazione dei linguaggi di programmazione Tesi di Laurea di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

1 Consorzio interuniversitario per le Applicazioni del Supercalcolo Per Università e Ricerca Stelline 2008 Sala Volta, venerdì 7 marzo 2008 Seminario:
Ricorrenze Il metodo di sostituzione Il metodo iterativo
Politecnico di Torino Tesi di Laurea
Il TEOREMA.
Linguaggi di programmazione
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Protocolli.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
COMPARAZIONE DI STRUMENTI SOFTWARE PER LA CREAZIONE, LA GESTIONE E LINTEGRAZIONE DI ONTOLOGIE Università degli Studi Modena e Reggio Emilia Facoltà di.
LInterfaccia Utente Ing. Marco Giannini Prof. Giuseppe Mastronardi Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009.
4 – Progettazione – Introduzione e Modello E-R
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
1 Reti di Calcolatori Esercitazione 5 Implementazione del TFTP tramite RPC Copyright © by D. Romagnoli & C. Salati Alma Mater Studiorum - Universita'
Neoistituzionalismo sociologico
Caratteristiche del lavoro sociale
Laboratorio di Linguaggi lezione VI: puntatori 2/3 Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Laboratorio di Linguaggi lezione IX Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione VIII Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea.
Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in Informatica Anno Accademico 2007/08.
Che cosa intendiamo per Dinamica della combustione? Che cosa intendiamo per Dinamica? Comportamenti che variano nel tempo.
La costruzione e lo sviluppo delle competenze a scuola
UNIVERSITA DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione UNIVERSITA DEGLI STUDI.
UNIVERSITA DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Trienmale in Informatica Relatore:Prof.ssa FIORELLA.
memoria gestita staticamente:
Daniel Stoilov Tesi di Laurea
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione Applicazione.
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Progetto e sviluppo.
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Introduzione alla modellazione di sistemi interattivi
UNIVERSITÀ DEGLI STUDI DI BARI
Proposta di unImplementazione per i Servizi di Localizzazione e Traffic Monitoring nellIntelligent Trasportation System Pegasus UNIVERSITÀ DEGLI STUDI.
UNIVERSITA’ POLITECNICA DELLE MARCHE
Modelli e algoritmi per l’ottimizzazione di layout fieristici
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Corso di Laurea Specialistica in Ingegneria Informatica Model Drive Applicazione per il pilotaggio di veicoli Esame di Linguaggi e Modelli computazionali.
Corso di Laurea in Informatica
MODELLO LOGICO DEI DATI
Prof. Cerulli – Dott.ssa Gentili
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Usability Lab 2001 Corso Elementi di Progettazione di Basi di Dati Multimediali in Rete Metodologie di validazione e Usabilità Usability Lab 2001 Interfacce.
Lezione n° 18: Maggio Problema del trasporto: formulazione matematica Anno accademico 2008/2009 Prof. Cerulli – Dott.ssa Gentili Lezioni di.
UNIVERSITÀ DI PISA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Realizzazione completa di un’interfaccia grafica in.
LA PROSPETTIVA ORGANIZZATIVA
Design Goals Definiamo le fondamenta dello sviluppo del sistema.
LA GESTIONE DELLO SPAZIO CONDIVISO IN FORUM PER LA COSTRUZIONE DELLA CONOSCENZA.
Configurabilità del servizio Voic in Asterisk Università degli studi di Pisa Facoltà di Ingegneria Laurea specialistica in Ingegneria Informatica.
Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
UNIVERSITA' DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Analisi, progettazione e realizzazione.
Università degli Studi di Cagliari
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.
Progettazione concettuale di SI basati su Web
Universita’ degli Studi Roma Tre
Ricorsione CORDA – Informatica A. Ferrari Testi da Alessandro Bugatti
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
WEB DESIGN A COMPLESSITÀ ADATTIVA: PRESTAZIONI COGNITIVE E PROFILAZIONE UTENTE UNIVERSITA’ DEGLI STUDI DI PAVIA Corso di Laurea Specialistica Interfacoltà.
I software di descrizione e riordino
Algoritmi euristici per l’ottimizzazione dell’offerta nella raccolta di rifiuti Tesi di laurea di Nicola Bindini Relatore: Chiar.mo Prof. Ing. DANIELE.
Università degli Studi di Bologna FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Gestionale Ricerca Operativa MODELLI PER L’OTTIMIZZAZIONE DELL’OFFERTA.
Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Scienze dell’Informazione Università degli Studi.
Esercizi.
Conoscenze, abilità, competenze
UNIVERSITA’ DEGLI STUDI DI MACERATA FACOLTA’ DI SCIENZE DELLA COMUNICAZIONE PSICOLOGIA DELLA FORMAZIONE L’OBIETTIVO secondo Quaglino, Cortese, Casagrande,
Cercare In Internet. Cercare in Rete La scuola ha un ruolo preciso in relazione a quella che nei paesi anglosassoni viene denominata: Information Literacy.
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Scienze Fisiche, Informatiche e Naturali Corso di Laurea in Informatica Progetto e Sviluppo.
Introduzione alle Classi e agli Oggetti in Java 1.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Studio ergo lavoro DIDAMATICA GENOVA 2015 Studio ergo lavoro La valutazione delle competenze nell'istruzione attraverso la lente dei progetti digitali:
Transcript della presentazione:

Per un nuovo orientamento nella progettazione dei linguaggi di programmazione Tesi di Laurea di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Laurea in Informatica Relatore: Prof. ANDREA ASPERTI Sessione II Anno Accademico 1998-’99

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi2 Obiettivi Mostrare che esiste una funzionalità generale non supportabile dagli attuali linguaggi Mostrare la rilevanza di questa funzionalità Individuare gli aspetti fondazionali responsabili di questo limite Indicare un nuovo punto di partenza per la progettazione dei linguaggi di programmazione

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi3 Adattabilità e ristrutturazione classi Programmazione OO obbliga a fissare composizione delle classi e parametri dei metodi Esigenza di ristrutturare le classi accomuna diverse tendenze di sviluppo attuali (SOP, AOP, IP, classi di specializzazione dinamica del comportamento) Convinzione: rigidità struttura non limita adattabilità Introduco operazione di differenziazione in una forma limitata e adattata al paradigma OO La differenziazione evidenzia rigidità nel dominio dell’applicazione

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi4 Operazione di differenziazione OO Si applica ad un oggetto scegliendo una variabile di differenziazione Coinvolge quattro soggetti Un oggetto differenziato ha stati diversi per ogni valore della variabile Ha effetti sul comportamento dei clienti Sposta un campo dalle classi cliente alla classe destinazione

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi5 Esempi di applicazione  Ogni gruppo deve poter avere le proprie preferenze di visualizzazione  Ogni messaggio deve poter avere il proprio font  Ogni gruppo deve poter avere la propria vista messaggi  Ogni vista messaggi deve poter avere le proprie preferenze di visualizzazione

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi6 Ricerca di una soluzione OO Requisiti soluzione: Usabile dai programmatori e dagli utenti Generale (semplice da usare) Trasformazione persistente del programma Soluzioni esplorate: Design Pattern Progr. a soggetti Progr. ad aspetti Progr. basata su oggetti Modelli con predicati Modelli ad attori Riflessività

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi7 Implementazioni possibili Caratteristiche comuni: Ridefiniscono interamente il comportamento degli oggetti Ridirigo tutti i metodi sulla copia differenziata

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi8 Insufficienza della riflessività Fornisce operazioni sufficienti nelle mani di un programmatore ma introduce conflitti di responsabilità La ristrutturazione richiede di definire nuovi percorsi di inizializzazione/instradamento per i dati Esistono diverse soluzioni ragionevoli I programmatori sono gli unici garanti della linearità dello sviluppo di nuove versioni e della compatibilità dei formati dei file

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi9 Fatti che orientano la ricerca È possibile implementare l’operazione di differenziazione (seppure limitatamente) Una singola operazione può localizzare scelte progettuali che solitamente vengono disperse nella struttura del programma  Ipotesi: la programmazione ad oggetti sovraspecifica la struttura dei programmi. Non è necessario assumersi la responsabilità di definire i percorsi di inizializzazione dei dati e la composizione delle classi

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi10 Sovraspecificazioni obbligate Sono interessato al risultato di una funzione; non ho bisogno, in generale, di vincolare tutti i parametri attuali Spesso mi basta fissare il vincolo che il chiamante e la funzione chiamata usino lo stesso oggetto senza precisare quale

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi11 Domande funzionali alla soluzione  Posso ripartire la responsabilità della determinazione dei parametri attuali tra la chiamata a funzione e la funzione chiamata? Posso trovare un sostituto ai puntatori che lasci aperta la determinazione dell’oggetto puntato? E posso come programmatore sottrarmi alla responsabilità di definire la struttura per rappresentare una entità complessa?

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi12 Programmazione procedurale Paradigma imperativo: Dominato dal flusso del controllo I dati hanno esclusivamente un ruolo passivo Le funzioni non cercano di produrre i parametri attuali Paradigma funzionale: Dominato dal flusso del controllo però si può scegliere la strategia di valutazione I dati possono propagarsi verso il risultato Le funzioni possono propagare la richiesta del risultato verso i parametri attuali

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi13 Programmazione dataflow e logica Paradigma dataflow: Dominato dal flusso dei dati I dati si propagano sul grafo dataflow verso tutte le operazioni che possono contribuire a calcolare Paradigma logico: Dominato dal flusso della domanda La richiesta di un dato si propaga verso tutte le funzioni che possono contribuire a calcolarlo

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi14 Una nuova unità funzionale: Step Due linee di ingresso/uscita: entry-call e done-action Una richiesta (entry) si propaga (call) solo se il risultato (done) non è disponibile Un risultato (done) si propaga (action) solo quando viene richiesto (entry) La propagazione del risultato (action) è una continuazione della richiesta (entry) e non dipende dalla persistenza del risultato (done)

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi15 Soluzione prospettata Programmazione esplicita dei flussi della domanda e dei dati Funzioni definite a partire dal risultato, lungo la sequenza inversa Chiamante e chiamato legati da una comune richiesta non da un comune valore Rappresentazione disaggregata delle entità. Per ogni attributo definisco un albero di funzioni per determinare il valore in diversi contesti

16 Dicembre 1999Tesi di Laurea di Riccardo Solmi16 Conclusioni I linguaggi attuali obbligano il programmatore a fare delle scelte vincolanti per l'utente finale Tutti gli identificatori legati a valori (parametri, campi) sovraspecificano gli algoritmi L'Obiettivo di Adattabilità si può raggiungere sottraendo delle responsabilità al programmatore