Specifiche Algebriche

Slides:



Advertisements
Presentazioni simili
Definitezza Vogliamo poter richiedere la “definitezza” delle funzioni
Advertisements

Specifiche Algebriche ESERCIZI Versione 0.0
SPECIFICA INIZIALE DELLE MAPPE FINITE v. 0.0 Gianna Reggio
Analisi e progettazione
Sintassi (prima parte)
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Linguaggi di programmazione
Algebra parziale con predicati
SPECIFICA LOOSE DELLE MAPPE FINITE v. 1.1 Gianna Reggio
Specifiche Algebriche Modello Iniziale Versione 1.0 Gianna Reggio
Metodologie di Programmazione = decomposizione basata su astrazioni
Generalità Linguaggio e Macchina Astratta
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Interpretazione Astratta
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Introduzione alla programmazione l
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Specifiche Specifiche = descrizione delle caratteristiche di un prodotto Esempio non informatico: la specifica di un detersivo è data da quale quantità.
Semantica denotazionale algebrica di LW Idea intuitiva: i valori che vogliamo denotare sono: gli statements sono funzioni di trasformazioni di stato (interno)
UML: Extension Mechanism Corso IS I /03 Gianna Reggio Versione 0.0.
SPECIFICA DELLE MAPPE FINITE Gianna Reggio
Semantica di Tarski.
Unità Didattica 2 I Linguaggi di Programmazione
Fondamenti di Informatica Algoritmi
Modello E-R Generalizzazioni
Modello E-R Generalizzazioni
AN FI Un denominatoe comune Comandi u notazioni che esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno.
LINGUAGGI DI PROGRAMMAZIONE
AN FI Un denominatoe comune Lo stile funzionale Concetti fondamentali.
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Intelligenza Artificiale
Introduzione alla modellazione di sistemi interattivi
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
La progettazione di un sistema informatico
L’ingegneria del software
Lo sviluppo del software e i linguaggi di programmazione
Programma di Informatica Classi Prime
Esercitazioni di Ingegneria del Software con UML
Fondamenti di Programmazione
1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 19 Prof. M.T. PAZIENZA a.a
Rappresentazione degli algoritmi
1 LABORATORIO DI INFORMATICA Ingegneria Informatica Dott. Giorgio Cicerchia a.a ° Ciclo.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
LABORATORIO DI INFORMATICA Ingegneria Informatica a. a
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 – Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Algoritmi.
UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0.
Specifiche Algebriche Introduzione Versione 1.0 Gianna Reggio
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
Specifiche Algebriche Specifiche Loose o Property- oriented Versione 1.0 Gianna Reggio
Problemi, algoritmi e programmazione
Fasi di sviluppo di un software
Programmazione dei Calcolatori Elettronici
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Strutture dati di tipo astratto 19 Strutture dati,
Introduzione alle Classi e agli Oggetti in Java 1.
Informatica Università degli Studi di Sassari Facoltà di Medicina veterinaria Corso di Laurea in Medicina veterinaria Anno Accademico 2015/2016 Docente:
Transcript della presentazione:

Specifiche Algebriche Gianna Reggio reggio@disi.unige.it

Indice Introduzione Logica del prim’ordine, many-sorted, parziale con uguaglianza Segnatura many-sorted del prim’ordine Algebra many-sorted parziali del prim’ordine Formule Interpretazione e validità

Specifiche 1 Il processo di sviluppo di un sistema software (o di una sua parte) consiste essenzialmente nel produrre una serie di elaborati (artifacts) che descrivono tale sistema a diversi livelli di astrazione requisiti dal punto di vista dell’utilizzatore del sistema progetto (design) di massima progetto (design) dettagliato pseudo codice ... descrivono particolari aspetti di tale sistema prestazioni (Quality Of Service) tolleranza ai guasti dominio su cui opera il sistema

Specifiche 2 occorre produrre descrizioni di (particolari aspetti) (parti di) sistemi software, dette specifiche oppure modelli quale linguaggio/notazione utilizzare per tali descrizioni più comune: linguaggio naturale, magari con diagrammi/disegnini, completamente libero [informale] abbastanza espressivo non necessita di addestramento, ambiguo non adatto a manipolazioni per mezzo di strumenti informatici

Specifiche 3 diagrammi/testo aventi una forma molto precisa, ma il cui significato è presentato informalmente uusando il linguaggio naturale, es. UML, [semi-formale] espressivo necessita di istruzione, ma non di particolari consocenze teoriche possibilmente ambiguo adatto a manipolazioni a livello sintattico per mezzo di strumenti informatici notazione basate su una precisa teoria matematiche (es. logica del prim’ordine) [formale] poco espressivo necessita di istruzione, e della consocenza della teoria sottostante non ambiguo (corredato di semantica formale) adatto a manipolazioni a livello del contenuto per mezzo di strumenti informatici

Metodo di specifica (formale) Item rationale * Specification * sem FormalModel Item gli elementi specificati (descritti) [programmi funzionali] FormalModel strutture matematiche che corispondono agli item specificati [funzioni I/O] rationale come i formal model corrispondono agli item [….] sem semantica delle specifiche (ogni specifica individua un insieme di formal models)

Esercizi Esercizio 0: elencate delle notazioni/tecniche di specifiche che avete utilizzato prima di ora, classificandole rispetto alla loro formalità ed agli item che considerano.

Specifiche logico-algebriche 1 sig 1 * FormalModel Item rationale * Specification sem interpretation 1 * m-over Signature BasicSpecification prop: set(Formula) * holds satisfies f-over 1 formulae * Formula

Specifiche logico-algebriche 2 Signature i formal models sono classificati rispetto alla loro “struttura statica” [funzioni classificate dal loro tipo] m-over collega un formal model con la signature che descrive la sua struttura interpretation collega una signature con tutti i formal model aventi tale struttura Formula descrizione di proprietà di interesse riguardanti i formal models f-over ogni formula è costruita su una signature holds\satisfies quando una formula vale su un formal model\ un formal model soddisfa una formula

Specifiche logico-algebriche 3 BasicSpecification la forma più semplice di specifica logico-algebrico, esistono anche, per esempio, specifiche strutturate consiste essenzialmente di una segnatura e di un insieme di formule, chiaramente su tale segnatura sem in questo caso la semantica è definita come l’insieme dei modelli formali sulla segnatura della specifica che soddisfano tutte le formule della specifica stessa

In questo corso specifiche basate su una logica Item many-sorted del prim’ordine parziale con uguaglianza Item strutture dati moduli funzionali aspetti funzionali di programmi imperativi moduli imperativi (componenti) dominio applicativo frequentemente inclusa come sottoparte in molte notazioni (anche semi-formali, es., UML)

Formal models Algebre many-sorted parziali con predicati estensione di quelle viste ad Algebra classificate da segnature many-sorted del prim’ordine (viste a logica??)

Segnatura many-sorted del prim’ordine Una segnatura S = (S,F,P) consiste di un insieme S di nomi dei tipi, o sort una famiglia F di simboli di funzioni, indiciata su S*S se f  Fs1…sn,s indicheremo f: s1…sns una famiglia P di simboli di predicati, indiciata su S* se p  Ps1…sn indicheremo p: s1…sn

Esempio: Slist segnatura per le liste di interi S = { int, list } F consiste di 0:  int [zerario, costante] S: int  int empty:  list push: int  list  list pop: list  list top: list int P consiste di isempty: list isIn: int  list Esercizio 1: definire Slista aggiungendo a Slist la concatenazione di liste e l’operazione che ritorna l’insieme degli elementi di una lista

FINE Lezione 1 Lunedì 28 Ottobre 15-16