Esempio - Controllo di un ascensore

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esempio - Controllo di un ascensore"

Transcript

1 Costruiamo un modello ground a partire dai requisiti. Dimostriamo le proprietà di correttezza desiderate n ascensori m piani che soddisfano i seguenti requisiti: 1. Ogni ascensore ha per ogni piano un bottone che, se premuto, si illumina e causa la visita dell ascensore a quel piano (visita: muoversi verso e fermarsi al). L illuminazione viene cancellata quando il piano viene visitato dall ascensore. 2. Ogni piano (eccetto piano terra ed ultimo piano) ha due bottoni. Essi vengono cancellati quando un ascensore visita il piano e, o viaggia nella direzione desiderata, oppure visita il 1

2 piano senza richieste pendenti. 3. Un ascensore senza richieste deve rimanere nella sua destinazione finale ed aspettare ulteriori richieste 4. Ogni ascensore ha un bottone di emergenza che, se premuto, causa l invio di un messaggio di avvertimento al sito di gestione. L ascensore viene allora considerato fuori servizio. Ogni ascensore ha un meccanismo per cancellare il suo stato di fuori servizio. 2

3 Proprietà di correttezza (buon funzionamento): 1. Tutte le richieste per i piani dentro gli ascensori devono essere soddisfatte a un certo punto, con i piani serviti in maniera sequenziale nella direzione del viaggio 2. Tutte le richieste per gli ascensori dai piani devono essere soddisfatte a un certo punto, dando a tutti i piani una eguale priorità 3

4 Consideriamo una prima modellazione del funzionamento dell ascensore sotto forma di macchina a stati finiti (FSM) guardando alla relazione fra ascensori e piani, un ascensore si muove fra un piano e l altro, si ferma in un piano per passare dallo stato halting a moving, un ascensore deve partire (Depart) viceversa si deve fermare (Stop) nel suo stato di movimento un ascensore può anche continuare (Continue) quando è nello stato halting può anche cambiare direzione (Change) 4

5 Il comportamento di un singolo ascensore viene modellato come una macchina a stati finiti con: 1. Due stati di controllo: halting e moving 2. Quattro transizioni (operazioni): Depart, Stop, Continue e Change Lemma Per ogni ascensore le computazioni non vuote hanno la forma (Depart Continue Stop) + (Change (Depart Continue Stop) ) 5

6 Metodo di raffinamento Il metodo di raffinamento ASM è orientato al problema. Principio di sostitutività La sostituzione di un programma con un altro è accettabile ammesso che sia impossibile per un utente osservare che la sostituzione è stata effettuata. Le ASM supportano un uso del raffinamento molto aperto e disciplinato, tale da riflettere in maniera corretta e documentare esplicitamente una decisione di design ben precisa 6

7 Schema di un passo di raffinamento Per raffinare una macchina M ad una macchina M si ha la libertà (e il compito) di definire i seguenti elementi la nozione di stato raffinato la nozione di stati di interesse e di corrispondenza fra M-stati S ed M -stati S (di interesse) la nozione di segmenti di computazione astratta τ 1,...,τ m, dove ogni τ i rappresenta un singolo M-passo, e di corrispondenti segmenti di computazione raffinata σ 1,...,σ n, di singoli M passi la nozione di locazioni di interesse e di locazioni corrispondenti la nozione di equivalenza dei dati nelle locazioni di interesse 7

8 Raffinamento corretto Si fissi una nozione di equivalenza e di stati iniziali e finali. Una ASM M è un raffinamento corretto di una ASM M se e solo se per ogni M -run S0,S 1,... ci sono una M-run S 0,S 1,... i 0 < i 1 <..., j 0,j 1,... tali che i 0 = j 0 = 0 ed S i k = S j k per ogni k e, o entrambe le run terminano e i loro stati finali sono l ultima coppia di stati equivalenti, oppure entrambe le run e sequenze sono infinite 8

9 Raffiniamo la FSM assegnando alle transizioni astratte un significato più dettagliato riguardante i piani visitati Aggiungiamo il parametro L ai nomi delle transizioni per indicare la loro dipendenza dall elemento considerato nell insieme astratto Lift Assumiamo un insieme statico e ordinato di piani Floor con funzioni +1, 1, ground e top La funzione controllata floor(l) è a valori in Floor La direzione dir(l) di L è up oppure down 9

10 MoveLift(L) = if dir(l) = up then floor(l) := floor(l) +1 if dir(l) = down then floor(l) := floor(l) -1 Depart(L) = if Attracted(dir(L), L) then MoveLift(L) Continue(L) = if CanContinue(L) then MoveLift(L) Stop(L) = if not CanContinue(L) then CancelRequest(dir(L),L) 10

11 Change(L) = let d = dir(l) and d = opposite(dir(l)) in if not Attracted(d, L) and Attracted(d, L) then dir(l) := d CancelRequest(d,L) Quindi arriviamo al seguente raffinamento per l ascensore Lift(Self ) = FSM(halting, Depart(Self ), moving) FSM(moving, Continue(Self ), moving) FSM(moving, Stop(Self ), halting) FSM(halting, Change(Self ), halting) 11

12 Lemma A partire da un qualunque stato raggiungibile dallo stato iniziale, Lift(Self ) si muove piano per piano nella sua direzione di viaggio fino al punto di attrazione dinamicamente più lontano in quella direzione dove, dopo al più 2 Floor passi, si ferma e aspetta oppure cambia direzione e si muove nella nuova direzione 12

13 Prossimo passo di raffinamento: definizione più dettagliata delle guardie delle regole per CancelRequest viene inserita una macro Le guardie delle regole vengono derivate da: Funzione di richiesta interna hastodeliverat(l,floor) Funzione di richiesta esterna existscallfromto(floor,dir) 13

14 HasToVisit(L, floor) hastodeliverat(l,floor) or dir: existscallfromto(floor,dir) Attracted(d,L) d = up and f > floor(l) : HasToVisit(L,f ) or d = down and f < floor(l) : HasToVisit(L,f ) CanContinue(L) Attracted(dir(L),L) and not hastodeliverat(l,floor(l)) and not existscallfromto(floor(l), dir(l)) and CancelRequest(dir,L) = hastodeliverat(l,floor(l)) := false existscallfromto(floor(l),dir) := false 14

15 Lemma Nelle computazioni del Lift, quando si muove verso il punto di attrazione più lontano nella sua direzione di viaggio, si ferma ad ogni piano dove viene attratto, rispetto alla sua direzione di viaggio, e spegne la richiesta di consegna (interna) e la chiamata da quel piano (esterna) per andare nella direzione corrente di viaggio. Quando cambia, spegne la chiamata dal piano corrente (esterna) per andare nella nuova direzione di viaggio Proposizione La macchina Lift soddisfa le proprietà di buon funzionamento 1 e 2 15

16 Gestione delle eccezioni Esempio - Controllo di un ascensore Si definisca la condizione per il nuovo caso in cui la nuova macchina deve essere eseguita e la macchina data non ha un comportamento ben definito (oppure le deve essere impedita l esecuzione). Questa condizione viene espressa attraverso una funzione booleana condivisa error che diventa vera quando accade un emergenza Si definisca la nuova macchina con il comportamento aggiuntivo desiderato. La nuova macchina consiste di due regole una regola di entrata per gestire il caso fuori servizio con guardia error(l) = true e un operazione SendWarning al manager del sito, e una 16

17 regola di uscita, con guardia repaired(l) = true, per cancellare lo stato di fuori servizio e tornare alla macchina nel caso normale. si aggiunga la nuova macchina e si restringa la macchina data al caso vecchio mettendo sulla sua regola principale, come guardia, error(l) true 17

18 Analisi dello scheduling per un insieme di più ascensori Tutte le istanze di Lift vengono sincronizzate in parallelo, garantendo l indipendenza delle loro azioni e il soddisfacimento delle proprietà di correttezza ParLift = forall L Lift do Lift(L) Questa macchina fa attrarre tutti gli ascensori da tutte le chiamate esterne, cioè dove existscallfromto(floor,d) è vera per qualche direzione d, la stessa richiesta viene servita da ogni ascensore 18

19 Questo può essere evitato introducendo uno scheduler scheduledto che assegna esattamente un ascensore ad ogni chiamata esterna Raffiniamo i predicati di interfaccia HasToVisit CanContinue CancelRequest 19

20 HasToVisit(L, floor) hastodeliverat(l,floor) or dir: existscallfromto(floor,dir) and L = scheduledto(floor,dir) CanContinue(L) Attracted(dir(L),L) and not hastodeliverat(l,floor(l)) and not existscallfromto(floor(l), dir(l)) and L = scheduledto(floor,dir) CancelRequest(dir,L) = hastodeliverat(l,floor(l)) := false if L = scheduledto(floor,dir) then existscallfromto(floor(l),dir) := false 20

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2)

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2) Idee guida ASM = FSM con stati generalizzati Le ASM rappresentano la forma matematica di Macchine Astratte che estendono la nozione di Finite State Machine Ground Model (descrizioni formali) Raffinamenti

Dettagli

I metodi formali nel processo di sviluppo del software

I metodi formali nel processo di sviluppo del software I metodi formali nel processo di sviluppo del software I metodi formali consentono di creare una specifica più completa, uniforme e non ambigua di quelle prodotte usando i metodi convenzionali ed orientati

Dettagli

Specifica parte IIC. Caso di studio. Caso di studio. Caso di studio. Leggere Sez. 5.5.4.2 Ghezzi et al.

Specifica parte IIC. Caso di studio. Caso di studio. Caso di studio. Leggere Sez. 5.5.4.2 Ghezzi et al. Caso di studio Specifica parte IIC Leggere Sez. 5.5.4.2 Ghezzi et al. Un sistema di controllo di n ascensori deve essere installato in un palazzo di m piani. I costruttori forniscono gli ascensori e i

Dettagli

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

Dettagli

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue

Dettagli

Università degli Studi di Napoli Federico II. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica

Università degli Studi di Napoli Federico II. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Università degli Studi di Napoli Federico II Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Anno Accademico 2009/2010 Appunti di Calcolabilità e Complessità Lezione 9: Introduzione alle logiche

Dettagli

If a cascata, switch, boolean

If a cascata, switch, boolean If a cascata, switch, boolean If a cascata Switch Il tipo boolean Operatori logici, valutazione pigra 1 If a cascata Consideriamo una semplice classe che deve descrivere con una stringa gli effetti di

Dettagli

Esercitazione 2 di verifica

Esercitazione 2 di verifica Architettura degli Elaboratori, 27-8 Esercitazione 2 di verifica Soluzione: mercoledì 24 ottobre Una unità di elaborazione U è così definita: Domanda 1 i) possiede al suo interno due componenti logici

Dettagli

Capitolo 7: Teoria generale della calcolabilitá

Capitolo 7: Teoria generale della calcolabilitá Capitolo 7: Teoria generale della calcolabilitá 1 Differenti nozioni di calcolabilitá (che seguono da differenti modelli di calcolo) portano a definire la stessa classe di funzioni. Le tecniche di simulazione

Dettagli

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati Tipologie di pianificatori Pianificazione Intelligenza Artificiale e Agenti II modulo Pianificazione a ordinamento parziale (POP) (HTN) pianificazione logica (SatPlan) Pianificazione come ricerca su grafi

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

Semantica Assiomatica

Semantica Assiomatica Semantica Assiomatica Anche nella semantica assiomatica, così come in quella operazionale, il significato associato ad un comando C viene definito specificando la transizione tra stati (a partire, cioè,

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

NOZIONI BASE SHELL E SCRIPT LINUX

NOZIONI BASE SHELL E SCRIPT LINUX NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI (ermes@zannoni.to.it) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale di Francesco Maria Milizia francescomilizia@libero.it Model Checking vuol dire cercare di stabilire se una formula è vera

Dettagli

La specifica del problema

La specifica del problema 2.9 (Caso di studio facoltativo) Pensare a oggetti: esame del problema Iniziamo ora a esaminare il nostro caso di studio di progettazione e implementazione orientate agli oggetti. Le sezioni Pensare a

Dettagli

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi Problemi di soddisfacimento di vincoli Maria Simi a.a. 2014/2015 Problemi di soddisfacimento di vincoli (CSP) Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati

Dettagli

Macchine di Turing. a n B B. Controllo Finito

Macchine di Turing. a n B B. Controllo Finito Macchine di Turing Il modello standard di macchina di Turing era un controllo finito, un nastro di input, diviso in celle, e una testina che prende in considerazione una cella del nastro alla volta. Il

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

Dettagli

Introduzione alla verifica automatica

Introduzione alla verifica automatica Sistemi digitali Introduzione alla verifica automatica Utilizzati in quasi tutte le attività umane Complessità elevata semplici sistemi hanno milioni di linee di codice Tempi di realizzazione sempre più

Dettagli

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Dettagli

La scuola Calcio Barcellona

La scuola Calcio Barcellona La scuola Calcio Barcellona di Raffaele Barra Istruttore CONI FIGC, laureando in Comunicazione, dopo varie esperienze in altre società (nelle categorie pulcini ed esordienti) da 2 anni milita nel Sottomarina

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

PRINCIPI DI SISTEMI OPERATIVI

PRINCIPI DI SISTEMI OPERATIVI PRINCIPI DI SISTEMI OPERATIVI ESERCIZIO del 28 NOVEMBRE 2003 Un distributore di benzina ha a disposizione P pompe e una cisterna da L litri. Le automobili arrivano al distributore e richiedono un certo

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

dall argomento argomento della malloc()

dall argomento argomento della malloc() Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto Modello a scambio di messaggi type messaggio = record origine: ; destinazione: ; contenuto:

Dettagli

Ordinamento causale e stati globali nei Sistemi Distribuiti. Moreno Marzolla

Ordinamento causale e stati globali nei Sistemi Distribuiti. Moreno Marzolla Ordinamento causale e stati globali nei Sistemi Distribuiti Moreno Marzolla E-mail: marzolla@dsi.unive.it Web: http://www.dsi.unive.it/~ marzolla Introduzione Supponiamo di avere una computazione distribuita

Dettagli

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

Ingegneria del Software Progetto per lo sviluppo del software necessario per il controllo di un sistema anti-intrusione per un appartamento Docente:

Ingegneria del Software Progetto per lo sviluppo del software necessario per il controllo di un sistema anti-intrusione per un appartamento Docente: Ingegneria del Software Progetto per lo sviluppo del software necessario per il controllo di un sistema anti-intrusione per un appartamento Docente: Riccobene Elvinia Studenti: Farinella Giovanni Frasca

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Appello dell 8 Febbraio 2005 Esercizio 1 (ASD) 1. Dire quale delle seguenti affermazioni è vera giustificando la risposta. (a) lg

Dettagli

Sistemi Operativi. Lezione 7 Comunicazione tra processi

Sistemi Operativi. Lezione 7 Comunicazione tra processi Lezione 7 Comunicazione tra processi Introduzione La soluzione sw al problema della mutua esclusione è abbastanza complessa Algoritmo di Peterson La soluzione hw mediante disabilitazione degli interrupt

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

Dettagli

Metodi formali per la verifica dell affidabilità di sistemi software (e hardware) (Peled, Software Reliability Methods, cap. 1) Importanza della

Metodi formali per la verifica dell affidabilità di sistemi software (e hardware) (Peled, Software Reliability Methods, cap. 1) Importanza della Metodi formali per la verifica dell affidabilità di sistemi software (e hardware) (Peled, Software Reliability Methods, cap. 1) Importanza della verifica di sistemi (safety-critical, commercially critical,

Dettagli

MODELLO AD AMBIENTE GLOBALE

MODELLO AD AMBIENTE GLOBALE MODELLI DI INTERAZIONE TRA PROCESSI Modello ad ambiente globale ( global environment ) Modello a scambio di messaggi ( message passing ) MODELLO AD AMBIENTE GLOBALE Il sistema è visto come un insieme di

Dettagli

LEGENDA DEI RISCHI MECCANICI DOVUTI AL MOVIMENTO

LEGENDA DEI RISCHI MECCANICI DOVUTI AL MOVIMENTO Installatore: GUIDA TAU PER LA MOTORIZZAZIONE DEI CANCELLI SCORREVOLI IN CONFORMITÀ ALLA DIRETTIVA MACCHINE 2006/42/CE E ALLE PARTI APPLICABILI DELLE NORME EN 13241-1, EN 12453, EN 12445 Con la presente

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO... è l insieme dei programmi che rende agevole l uso dell hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestisce le risorse fisiche ottimizzandone l

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Equilibrio bayesiano perfetto. Giochi di segnalazione

Equilibrio bayesiano perfetto. Giochi di segnalazione Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi

Dettagli

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica

Dettagli

Elementi di semantica operazionale

Elementi di semantica operazionale Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Caso di Studio: Avant Dernier

Caso di Studio: Avant Dernier Caso di Studio: Avant Dernier Specifiche: Nel gioco si affrontano 4 giocatori, ciascuno individuato con un numero progressivo (da 1 a 4). Inizialmente, i giocatori ricevono 5 carte ciascuno, e una carta

Dettagli

Visual Basic for Applications (VBA) Francesco Brun Fondamenti di Informatica a.a. 2014/2015

Visual Basic for Applications (VBA) Francesco Brun Fondamenti di Informatica a.a. 2014/2015 Francesco Brun Fondamenti di Informatica a.a. 2014/2015 Scopo di questo approfondimento Lo scopo di questo approfondimento è rispondere alla domanda: e se nella vita mi troverò a dover utilizzare un linguaggio

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Installatore: (Nome, indirizzo, telefono)

Installatore: (Nome, indirizzo, telefono) Installatore: (Nome, indirizzo, telefono) GUIDA UNAC N. 6 PER LA MOTORIZZAZIONE DELLE SERRANDE E DEI PORTONI A SCORRIMENTO VERTICALE IN CONFORMITÀ ALLA DIRETTIVA MACCHINE 2006/42/CE E ALLE PARTI APPLICABILI

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Monitor. Introduzione. Struttura di un TDA Monitor

Monitor. Introduzione. Struttura di un TDA Monitor Monitor Domenico Cotroneo Dipartimento di Informatica e Sistemistica Introduzione E stato introdotto per facilitare la programmazione strutturata di problemi in cui è necessario controllare l assegnazione

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

La programmazione con vincoli in breve. La programmazione con vincoli in breve

La programmazione con vincoli in breve. La programmazione con vincoli in breve Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con

Dettagli

LEZIONE 7 - STATE MACHINE DIAGRAM

LEZIONE 7 - STATE MACHINE DIAGRAM Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 7 - STATE MACHINE DIAGRAM Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Riepilogo della lezione

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

Dettagli

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere; Algoritmi 3 3.5 Capacità di calcolo Il matematico inglese Alan Turing (1912-1954) descrisse nel 1936 un tipo di automi, oggi detti macchine di Turing, e fornì una della prime definizioni rigorose di esecuzione

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Il problema del produttore e del consumatore. Cooperazione tra processi

Il problema del produttore e del consumatore. Cooperazione tra processi Il problema del produttore e del consumatore Cooperazione tra processi Risorsa consumabile I processi disgiunti possono interferire tra loro a causa dell'uso di risorse permanenti, ma ognuno di essi ignora

Dettagli

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

Basi di Dati prof. A. Longheu. 5 Progettazione fisica Basi di Dati prof. A. Longheu 5 Progettazione fisica Progettazione Fisica Per effettuare la progettazione fisica, ossia l implementazione reale del modello logico creato nella fase della progettazione

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0. EQUAZIONI E DISEQUAZIONI Le uguaglianze fra espressioni numeriche si chiamano equazioni. Cercare le soluzioni dell equazione vuol dire cercare quelle combinazioni delle lettere che vi compaiono che la

Dettagli

GUIDA UNAC N. 5 PER L INSTALLAZIONE DI PORTE A LIBRO IN CONFORMITÀ ALLA DIRETTIVA MACCHINE 98/37/CE E ALLE NORME EN 12453 - EN 12445

GUIDA UNAC N. 5 PER L INSTALLAZIONE DI PORTE A LIBRO IN CONFORMITÀ ALLA DIRETTIVA MACCHINE 98/37/CE E ALLE NORME EN 12453 - EN 12445 Installatore: (Nome, indirizzo, telefono) GUIDA UNAC N. 5 PER L INSTALLAZIONE DI PORTE A LIBRO IN CONFORMITÀ ALLA DIRETTIVA MACCHINE 98/37/CE E ALLE NORME EN 12453 - EN 12445 Con la presente pubblicazione

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Sistemi e schedulazione in tempo reale

Sistemi e schedulazione in tempo reale Sistemi e schedulazione in tempo reale 1 Sistemi in tempo reale Sistemi di calcolo in cui la correttezza del funzionamento dipende criticamente dal tempo in cui i risultati sono prodotti. Possibili campi

Dettagli

LEGENDA DEI RISCHI MECCANICI DOVUTI AL MOVIMENTO

LEGENDA DEI RISCHI MECCANICI DOVUTI AL MOVIMENTO Installatore: GUIDA TAU PER LA MOTORIZZAZIONE DELLE PORTE BASCULANTI DA GARAGE IN CONFORMITÀ ALLA DIRETTIVA MACCHINE 2006/42/CE E ALLE PARTI APPLICABILI DELLE NORME EN 13241-1, EN 12453, EN 12445 Con la

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Statechart Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è uno Statechart Diagram Quando

Dettagli

4-1 DIGITARE IL TESTO

4-1 DIGITARE IL TESTO Inserimento testo e Correzioni 4-1 DIGITARE IL TESTO Per scrivere il testo è sufficiente aprire il programma e digitare il testo sulla tastiera. Qualsiasi cosa si digiti viene automaticamente inserito

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

Artifact Centric Business Processes (I)

Artifact Centric Business Processes (I) Introduzione Autore: Docente: Prof. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica SAPIENZA - Universitá di Roma 16 Novembre 2008 Una visione assiomatica La modellazione dei processi di

Dettagli

Inserimento dei dati

Inserimento dei dati Inserimento dei dati Ulisse Di Corpo Terminata la fase di progettazione della scheda è possibile iniziare ad inserire i dati. A tal fine si seleziona Inserimento/Modifica dal menù Schede. Il programma

Dettagli

SUNNY CENTRAL. 1 Introduzione. Avvertenze per il funzionamento con messa a terra del generatore FV

SUNNY CENTRAL. 1 Introduzione. Avvertenze per il funzionamento con messa a terra del generatore FV SUNNY CENTRAL Avvertenze per il funzionamento con messa a terra del generatore FV 1 Introduzione Alcuni produttori di moduli raccomandano o richiedono per l impiego di moduli FV a film sottile e con contatto

Dettagli

Comportamento degli ascensori in caso di incendio. Ing. Paolo Tattoli

Comportamento degli ascensori in caso di incendio. Ing. Paolo Tattoli EN 81-73 Comportamento degli ascensori in caso di incendio Ing. Paolo Tattoli Premessa Questa norma si applica a tutti gli ascensori Deve esserci una chiara separazione tra il sistema di controllo dell

Dettagli

Alberto Montresor Università di Trento

Alberto Montresor Università di Trento !! Algoritmi e Strutture Dati! Capitolo 3 - Tipi di dato e strutture di dati!!! Alberto Montresor Università di Trento!! This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Dettagli

Installatore: (Nome, indirizzo, telefono)

Installatore: (Nome, indirizzo, telefono) Installatore: (Nome, indirizzo, telefono) GUIDA UNAC N. 5 PER LA MOTORIZZAZIONE DELLE PORTE A LIBRO IN CONFORMITÀ ALLA DIRETTIVA MACCHINE 2006/42/CE E ALLE PARTI APPLICABILI DELLE NORME EN 13241-1, EN

Dettagli

NORME EN81.20 e EN81.50. www.giovenzana.com

NORME EN81.20 e EN81.50. www.giovenzana.com NORME EN81.20 e EN81.50 www.giovenzana.com La nuova EN 81-20 sostituisce EN 81-2 & EN 81-1. Contiene i requisiti per completare l installazione di ascensori per passeggeri e montacarichi indipendenti

Dettagli

CAPITOLO 24 I MONITOR

CAPITOLO 24 I MONITOR EFFETTO DELLE PRIMITIVE - signal E wait SUI SEMAFORI CAPITOLO 24 I MONITOR I semafori sono un mezzo efficace per la gestione della mutua esclusione in ambienti con processi concorrenti, ma spesso è difficile

Dettagli

ESERCIZI - SERIE N. 5

ESERCIZI - SERIE N. 5 ESERCIZI - SERIE N. 5 Formalizzazione con diagramma a stati e implementazione di automi Obiettivi: fornire strumenti metodologici e paradigmi di riferimento per formalizzare e implementare automi, descritti

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corsi di Laurea in Ingegneria Informatica ed Automatica ed Ingegneria

Dettagli

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Dettagli

Il Problema della Raggiungibilita per gli Automi Ibridi. Tiziano Villa

Il Problema della Raggiungibilita per gli Automi Ibridi. Tiziano Villa Il Problema della Raggiungibilita per gli Automi Ibridi Tiziano Villa Universita di Verona, Febbraio 2015 1 Sommario Il problema della raggiungibilita Sistemi di transizione Relazione di equivalenza Bisimulazione

Dettagli

Tipi di Dato Ricorsivi

Tipi di Dato Ricorsivi Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi

Dettagli

I THREAD O PROCESSI LEGGERI Generalità

I THREAD O PROCESSI LEGGERI Generalità I THREAD O PROCESSI LEGGERI Generalità Thread: segmento di codice (funzione) Ogni processo ha un proprio SPAZIO DI INDIRIZZAMENTO (area di memoria) Tutti i thread genereti dallo stesso processo condividono

Dettagli

Sistemi Operativi. ugoerr+so@dia.unisa.it 3 LEZIONE PROCESSI CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 3 LEZIONE PROCESSI CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 3 LEZIONE PROCESSI CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione Concetto di processo

Dettagli

Procedura di iscrizione all esame PMP Documento tratto da www.pmp-online.it

Procedura di iscrizione all esame PMP Documento tratto da www.pmp-online.it Procedura di iscrizione all esame PMP. La procedura (versione v2.1.91.0 - fine marzo 2008) comprende le seguenti fasi: 1. Creazione di un nuovo account 2. Scelta della certificazione 3. Domanda di ammissione

Dettagli

I tipi di dato astratti

I tipi di dato astratti I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato

Dettagli

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

Dettagli

Le espressioni regolari.

Le espressioni regolari. Lezione 8 Le espressioni regolari. Le espressioni regolari. Corrispondenze e classi di caratteri. Le regular expressions (espressioni regolari) servono per descrivere dei modelli di stringa. E possibile

Dettagli

TORNIO ANTARES controllo OSAI 8600 T

TORNIO ANTARES controllo OSAI 8600 T ITIS Varese Tecnologia Meccanica ed Esercitazioni Reparto Macchine Utensili TORNIO ANTARES controllo OSAI 8600 T Appunti per l utilizzo del modulo di comando (dal manuale OSAI riservato ai propri clienti)

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 19 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 18 Maggio 2010 idea: sfruttare i

Dettagli

Introduzione allo sviluppo Web. Studium Generale, a.a. 2013-2014, II semestre

Introduzione allo sviluppo Web. Studium Generale, a.a. 2013-2014, II semestre Introduzione allo sviluppo Web Studium Generale, a.a. 2013-2014, II semestre 1 Contatto Daniel Graziotin daniel.graziotin@unibz.it http://ineed.coffee/teaching/introdu zione-allo-sviluppo-web 2 Esame Esame

Dettagli

Intelligenza Artificiale. Lezione 23. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 23 0

Intelligenza Artificiale. Lezione 23. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 23 0 Intelligenza Artificiale Lezione 23 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 23 0 Azioni e cambiamento Il calcolo delle situazioni Pianificazione Deduttiva (Capitolo 11 delle dispense, 7.6

Dettagli

SIDDIF - Manuale Diplomi di qualifica Enti FP

SIDDIF - Manuale Diplomi di qualifica Enti FP DS14RGE-PS2053-001 SIDDIF - Manuale Diplomi di qualifica Enti FP Compilato: F. Alberici 24.10.2014 Rivisto: B. Zucchi Approvato: Versione: 1.0.0 Bozza 24.10.2014 Distribuito: Datasiel S.p.A. Regione Liguria

Dettagli

Processi BPEL. Obiettivi

Processi BPEL. Obiettivi Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Processi BPEL Corso di Sistemi Distribuiti Stefano Iannucci Anno accademico 2009/10 Email: sd@chmod.it Obiettivi Esercitazione pratica su:

Dettagli