Semantica Denotazionale

Slides:



Advertisements
Presentazioni simili
Punti Fissi.
Advertisements

Funzione e loro classificazione
Equazioni di primo grado
Linguaggi di programmazione
Paradigma Funzionale Paradigma Imperativo: Programma = transizione di stato Paradigma Funzionale: Programma = valutazione di un’espressione La maggior.
Generazione di Codice Intermedio
Paradigma Funzionale Paradigma Imperativo: Programma = transizione di stato Paradigma Funzionale: Programma = valutazione di unespressione La maggior parte.
Algoritmi e Programmazione
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
Anno accademico Gli operatori e le espressioni in C.
Il linguaggio C Gli operatori e le espressioni C Language
Fondamenti di Informatica I a.a Il linguaggio C Il preprocessore La sostituzione di macro Le compilazioni condizionali Linclusione di file C.
INFORMATICA Strutture iterative
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Presentazione superiori
Ordini Parziali - Reticoli
Dataflow Analysis. Tino CortesiTecniche di Analisi di Programmi 2 Dataflow Analysis Il punto di partenza per una dataflow analysis è una rappresentazione.
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Interpretazione Astratta
Model Checking.
Semantica Denotazionale
Tino CortesiTecniche di Analisi di Programmi 1 Ricorsione Aggiungiamo funzioni ricorsive (in una sola variabile, per semplicità). La funzione semantica.
Semantiche dei linguaggi di programmazione
Tino CortesiTecniche di Analisi di Programmi 1 Astrazione e Concretizzazione In una Interpretazione Astratta ci aspettiamo che il seguente diagramma commuti:
Ordini Parziali - Reticoli
1 Le competenze di base dell'asse matematico Utilizzare le tecniche e le procedure del calcolo aritmetico ed algebrico, rappresentandole anche sotto forma.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 22/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Assegnamento di valore a una variabile Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
Introduzione alla programmazione lll
Linguaggio di programmazione C (Introduzione alla programmazione)
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Modelli simulativi per le Scienze Cognitive
-calcolo Vogliamo studiare le problematiche relative al meccanismo di chiamata di funzione (eg differenze fra binding statico e dinamico) in isolamento.
Semantica denotazionale algebrica di LW Idea intuitiva: i valori che vogliamo denotare sono: gli statements sono funzioni di trasformazioni di stato (interno)
Semantica Operazionale Strutturata
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
mosaic manipola oggetti primitivi (ruota e unisci) regole:
SI DEFINISCE DOMINIO O CAMPO DI ESISTENZA DI UNA FUNZIONE REALE DI VARIABILE REALE, L’INSIEME DEI VALORI ATTRIBUIBILI ALLA VARIABILE INDIPENDENTE X CHE.
Il Linguaggio C.
Espressioni condizionali
Classi prime programmazione didattica
AN FI Un denominatoe comune Comandi u notazioni che esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno.
AN FI Un denominatoe comune Lo stile funzionale Concetti fondamentali.
Derivate Parziali di una Funzione di più Variabili
CODIFICA Da flow-chart a C++.
1 Nuovo Obbligo Scolastico: Gli Assi Culturali. 2 Asse dei Linguaggi Asse Matematico Asse Scientifico-Tecnologico Asse Storico Sociale.
Metodi matematici per economia e finanza. Prof. F. Gozzi
Il linguaggio C Puntatori e dintorni.
La logica è lo studio del ragionamento.
Vettori (a una dimensione)
SFC analitici /Russell 1 B. Russell: Atomismo logico Russell & Whitehead : - Nuova logica di ambito assai più vasto della logica classica La logica.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
1 Il linguaggio C Puntatori e dintorni. 2 Puntatori : idea di base In C è possibile conoscere e denotare l’indirizzo della cella di memoria in cui è memorizzata.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
1 Un po’ di ripasso di algebra §necessaria per discutere la semantica denotazionale l e da riprendere quando parleremo di interpretazione astratta §reticoli.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Sistemi basati su conoscenza Linguaggio naturale: semantica Prof. M.T. PAZIENZA a.a
Grammatiche Grammatiche libere da contesto Grammatiche regolari
Elementi di semantica denotazionale ed operazionale
FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome 
ADT 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 24 Introduzione ai.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Transcript della presentazione:

Semantica Denotazionale

Semantica Denotazionale Ad ogni costrutto linguistico (parte del programma) P viene associata la sua denotazione [| P |], un oggetto matematico che rappresenta il contributo di P al significato di un qualsiasi programma che contenga P. Composizionalità: la denotazione di un costrutto linguistico (parte del programma) dipende unicamente dalla denotazione delle sue sotto-componenti Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Il linguaggio while Tino Cortesi Tecniche di Analisi di Programmi

Semantica dei numerali La funzione semantica associa ad ogni numerale (in forma binaria) il suo significato (un elemento dell’insieme dei numeri interi Z) Ad esempio, Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Stato ed Espressioni Il significato dei una espressione aritmetica dipende dallo stato delle variabili che vi appaiono. Uno stato è una funzione che associa ad un insieme di variabili un corrispondente insieme di valori Data un’espressione aritmetica ed uno stato possiamo determinare il valore di questa espressione Tino Cortesi Tecniche di Analisi di Programmi

Semantica delle Espressioni Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Esempio Consideriamo l’espressione aritmetica (x+1), valutata in uno stato s tale che s x = 3 Tino Cortesi Tecniche di Analisi di Programmi

Semantica delle espressioni booleane Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Semantica dei comandi Un comando è un costrutto che può modificare lo stato della memoria: è quindi una funzione parziale tra stati La semantica dell’assegnamento assicura che se allora Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Comando sequenziale La semantica del comando sequenziale considera il caso In cui una ddelle due funzioni non sia definita riespetto agli argomenti: Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Comando condizionale Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Comando while La semantica del comando deve essere la stessa di Quindi la semantica di deve essere il punto fisso del funzionale F definito da Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Comando while La semantica del comando while è quindi: dove l’operatore di punto fisso FIX è del tipo: ma cosa ci assicura che il punto fisso esista? Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Problema… Per garantire l’esistenza di soluzioni a questa equazione di punto fisso sono necessarie condizioni: Sul dominio: un ordine parziale? un CPO? un reticolo completo? Sul funzionale: monotono? continuo? Tino Cortesi Tecniche di Analisi di Programmi