Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Specifiche Algebriche
Gianna Reggio
2
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à
3
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
4
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
5
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
6
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)
7
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.
8
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
9
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
10
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
11
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)
12
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??)
13
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…sns una famiglia P di simboli di predicati, indiciata su S* se p Ps1…sn indicheremo p: s1…sn
14
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
15
FINE Lezione 1 Lunedì 28 Ottobre
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.