La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 FCD Fondamenti di Comunicazione Digitale P.MUSSIO G.VALLE Questi lucidi sono stati preparati da Piero Mussio, Università degli Studi di Milano, per uso.

Presentazioni simili


Presentazione sul tema: "1 FCD Fondamenti di Comunicazione Digitale P.MUSSIO G.VALLE Questi lucidi sono stati preparati da Piero Mussio, Università degli Studi di Milano, per uso."— Transcript della presentazione:

1 1 FCD Fondamenti di Comunicazione Digitale P.MUSSIO G.VALLE Questi lucidi sono stati preparati da Piero Mussio, Università degli Studi di Milano, per uso didattico. Essi contengono materiale originale di proprietà dell'Università degli Studi di Milano e/o figure di proprietà di altri autori, società e organizzazioni di cui e' riportato il riferimento. Tutto o parte del materiale può essere fotocopiato per uso personale o didattico ma non può essere distribuito per uso commerciale. Qualunque altro uso richiede una specifica autorizzazione da parte dell'Università degli Studi di Milano e degli altri autori coinvolti.

2 2 Umano Calcolatore Nel Contesto Processo di Sviluppo Una discussione sul concetto di metalinguaggio e della sua utilità per il comunicatore digitale Corso Fondamenti di Comunicazione Digitale Parte prima: –Il modello adottato nel corso di processo di comunicazione digitale

3 3 Metalinguaggio Metá sopra, oltre + linguaggio Un linguaggio che ha per oggetto un altro linguaggio Usato in informatica per specificare in forma finita le regole con cui si definisce un linguaggio di programmazione

4 4 Linguaggio di programmazione Due definizioni informali: Un po più rigorosa: linsieme dei possibili programmi costruiti a partire da un vocabolario di base (insieme finito di simboli) più corrente: una descrizione formale per descrivere algoritmi eseguibile da un calcolatore Un linguaggio di programmazione (def,1) è definito specificando sintassi e la sua semantica

5 5 Sintassi e semantica di un linguaggio di programmazione Sintassi un insieme di regole formali che specificano come si compone un programma a partire da lettere, cifre e altri segni (parentesi, punti etc.) Semantica un insieme di regole formali che specificano il significato di ogni programma sintatticamente valido scritto in quel linguaggio Noi: approccio operazionale e informale alla semantica: operazionale: specifichiamo il comportamento di un calcolatore astratto che esegue il programma scritto nel linguaggio. Informale : non descriveremo la semantica in modo formale N.B.: astratto non virtuale

6 6 Un metalinguaggio per la definizione di sintassi BNF: Bakus Naur Form (anni 60):una notazione per rendere precise le specifiche che allora si davano in linguaggio naturale Una regola in BNF: + - / * I simboli e operator sono simboli del metalinguaggio (BNF) chiamati anche simboli non terminali I simboli + * / - sono simboli linguaggio che sto definendo chiamati anche simboli terminali. I simboli terminali non compaiono mai alla sinistra di

7 7 Un esempio di grammatica in BNF ( ) + - / * a b c …….. z ……. 9 Questa è una frase complessa (grammatica) nel metalinguaggio BNF che specifica linsieme (infinito) delle espressioni aritmetiche di un linguaggio di programmazione realistico anche se ipotetico I simboli terminali sono: +,-,/,*,a,b, c,….,z, 0,1, 2,…,9 è il simbolo di partenza (start symbol)

8 8 Il linguaggio ( ) + - / x a b c …….. z ……. 9 a12+b*a3 e (a12+b)*a3 sono frasi del linguaggio delle espressioni perché posso costruirle seguendo le regole della grammatica (a12+b*a3 no perché non si può costruire secondo le regole Il linguaggio delle espressioni aritmetiche è linsieme delle stringhe di simboli terminali che possono essere generati secondo le regole della grammatica a partire dallo start symbol.

9 9 Le regole della BNF ( ) I non terminali che appaiono alla destra di in una regola debbono apparire a sinistra in qualche regola Una grammatica consiste di un insieme di regole in cui ogni non terminale è definito (appare a sinistra di ) I simboli terminali debbono essere simboli validi del linguaggio Un unico simbolo non terminale è designato (dal progettista) come simbolo di partenza

10 10 Il significato dei metasimboli sta per è definito come sta per oppure e serve a permettere definizioni alternative di uo stesso non terminale questa regola prescrive che unespressione è costituita da un oppure da una seguita da un seguita da unaltra Questa è una definizione ricorsiva poiché appare sia a destra che a sinistra di : è definito per mezzo di

11 11 Come si usa una grammatica Si usa per generare stringhe di simboli terminali che appartengono al linguaggio definito. b b 2 b / 2 (stringa valida nel linguaggio delle espressioni) 1.Si parte dal simbolo iniziale e si applica una delle definizioni alternative (scelta arbitraria) e.g. 2.Si prosegue sostituendo uno dei non terminali (di nuovo scelto arbitrariamente) (e. g applico al primo 3.ri-applico al secondo 4.Applico 5.Sostituisco nuovamente il non terminale (scelto arbitrariamente, e.g. ) 6.Applico (in tre passi) b, 2 e / e ottengo b/2 che è una stringa valida nel linguaggio delle espressioni

12 12 Come si usa una grammatica. b b 2 b / 2 (stringa valida nel linguaggio delle espressioni) Il ragionamento è espresso in metalinguagio Tutte queste sono stringhe del metalinguaggio costruite su simboli non erminali e terminali.. Le stringhe del metalinguggio possono perciò contenere stringhe del linguaggio

13 13 Cosa significa la stringa ottenuta? Dipende dalle regole di assegnamento che stabilisco Se definisco un calcolatore tale che: a indica una precisa posizione nella memoria del calcolatore / indica loperazione di somma eseguibile dal calcolatore 2 indica un posizione di memoria del calcolatore il cui contenuto è lintero 2 il calcolatore interpreta la stringa b/2 come somma il contenuto della cella a al contenuto della cella 2 e eseguendo il comando ottiene

14 14 Perché il concetto di metalinguaggio è importante per il CD ? Perché spesso il CD si trova a parlare in linguaggio naturale di problemi e delle loro soluzioni (ad esempio con i clienti o gli utenti del sistema). In queste situazioni, crea messaggi che hanno come contenuto il linguaggio stesso. (ad esempio: cosa intende esattamente con questa parola? è una frase di metalinguaggio) Questa situazione è pericolosa perché può dar luogo a paradossi.

15 15 Un esempio Questa frase, scritta sulla slide 11 nl rettangolo, non è vera Se, per semplicità rimpiazziamo la frase con il simbolo S, otteniamo: (1)- S è vera se e solo se la frase nel rettangolo sulla slide 11 non è vera In più- in base al significato assegnato – stabilire empiricamente che (2) - S è identica alla sentenza alla frase nel rettangolo sulla slide 11 Identico: che possono sostituirsi lun laltro preservando la verità In (1) sostituisco la frase nel rettangolo sulla slide 11 con S e ottengo (3) S è vera se e solo se S è non vera La (3) è ottenuta con un metodo logicamente inoppugnabile, rappresenta un paradosso

16 16 Una analisi del paradosso Questa frase, scritta sulla slide 11 nl rettangolo, non è vera (3) S è vera se e solo se S è non vera Tarsky analizza le premesse da cui nasce il paradosso : I- abbiamo assunto che il linguaggio contenga le espressioni,ma anche i nomi con cui le indichiamo e il predicato vero. Assumiamo anche le espressioni in cui il predicato è usato appartengano al linguaggio (linguaggio semanticamente chiuso) II- le ordinarie regole della logica sono valide nel linguaggio III- le premesse empiriche tipo (2) possono esser stabilite nel linguaggio e trae le conclusioni non ritiene discutibile la III, dificile rinunciare alla II. Rimane il problema di aggirare la I. non usando un linguaggio semanticamente chiuso.. Argomenti discussi, ma cè accordo sul ritenere che le espressioni che usiamo per formulare affermazioni intorno agli elementi di un certo universo non possono essere confuse con quelle usate per formulare espressioni intorno alle espressioni del primo tipo.

17 17 Una soluzione Questa frase, scritta sulla slide 11 nl rettangolo, non è vera (3) S è vera se e solo se S è non vera Dividere il linguaggio in due linguaggi: Il linguaggio oggetto: che ci permette di esprimerci ri spetto ai fenomeni di un certo universo. Il metalinguaggio: il linguaggio in cui possiamo formulare affermazioni sule espressioni oggetto. Il metalinguaggio deve soddisfare. i- deve permettere di esprimere tutte le espressioni del linguaggio oggetto ii- deve contenere i concetti semantici relativi al linguaggio oggetto, non esprimibili nel linguaggio oggetto In informatica si tende a separare nettamente i due linguaggi, usando notazioni diverse per i simboli terminali e non terminali

18 18 Un esempio di quando un CD usa linguaggi e metalinguaggi Un CD progetta ambienti interattivi in cui operatori svolgono diverse attività e ambienti interattivi in cui gli operatori decidono come svolgere quelle attività, Questa seconda attività è unattività metalinguistica. Nel primo filmato mostra un responsabile di officina che usa un ambiente interattivo per gestire un robot industriale Nel secondo filmato lo stesso responsabile progetta linterfaccia per un nuovo addetto (liberalità della ETA consulting –Brescia, tesi di Denise Salvi, brescia 2002)

19 19 Officina applicativa: linguaggio

20 20 Nel secondo filmato si usa un ambiente interattivo per costruire o adattare un ambiente interattivo che permette di usare e controllare un robot industriale. In questo caso il responsabile di officina progetta o adatta lambiente interattivo usando un metalinguaggio visuale (User Interface Development Environment) (liberalità della ETA consulting –Brescia, tesi di Denise Salvi, brescia 2002) Un esempio di quando un CD usa linguaggi e metalinguaggi

21 21 Officina di sistema: metalinguaggio

22 22 Un esempio di grammatica per XML in una notazione più sintetica * ? * ( *)? ? ? ? ?> … | ( )* ? /> <> ( )* ? > ( | | | | | )* ? = ? ? > … _: ( | _ | :) ( )*.-_: | |. | - | _ | : | | … abc z a b c … z … 9 #x20 #x9 #xD #xA (#x20 | #x9 | #xD | #xA)+ spazi, carriage returns, line feeds, or tabs

23 23 Applicare la grammatica (1) ?> … > > > > Dal simbolo di partenza ad una stringa in XML

24 24 Applicare la grammatica (2) > > Stringa valida nel linguaggio XML


Scaricare ppt "1 FCD Fondamenti di Comunicazione Digitale P.MUSSIO G.VALLE Questi lucidi sono stati preparati da Piero Mussio, Università degli Studi di Milano, per uso."

Presentazioni simili


Annunci Google