Simulazione di sistemi a eventi discreti. Concetti generali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Simulazione di sistemi a eventi discreti. Concetti generali"

Transcript

1 Simulazione di sistemi a eventi discreti Concetti generali

2 2 La simulazione La simulazione è una tecnica algoritmica per effettuare degli esperimenti su modelli di sistemi che si evolvono nel tempo Un sistema è una collezione di componenti mutuamente dipendenti le cui azioni sulle altre formano un processo dinamico.

3 3 I sistemi Per catturare il comportamento di un sistema è necessario costruire un modello appropriato delle sue rappresentazioni interne e un insieme di regole di trasformazione. Le rappresentazioni interne individuano delle variabili che corrispondono ad attributi del sistema a sue caratteristiche o a sue proprietà. Queste variabili si chiamano variabili di stato e definiscono lo stato del sistema

4 4 I sistemi Le variabili di stato possono cambiare in: modo continuo sistemi continui descritti da equazioni differenziali in modo discreto sistemi a eventi discreti (discrete event systems)

5 5 Sistemi a eventi discreti Un evento è un cambio istantaneo di una o più variabili di stato del sistema. Un evento può essere : endogeno se si verifica all interno del sistema esogeno se invece influenza il sistema

6 6 Simulazione di sistemi discreti La simulazione di un sistema a eventi discreti viene effettuata seguendo due paradigmi: la simulazione sincrona la simulazione asincrona

7 7 Simulazione sincrona Nella simulazione sincrona si fissa un parametro temporale (meccanismo di incremento a tempo fisso) e si osserva il sistema soltanto in particolari epoche temporali. Eventi non simultanei vengono trattati come tali Eventi accadono ad istanti specificati

8 8 Simulazione asincrona Nella simulazione asincrona si utilizza la strategia dell evento successivo per incrementare il tempo nel modello. Il valore di un clock è incrementato da un evento all altro, senza curarsi di quanto tempo effettivamente trascorre da tra i due eventi purché non ci siano altre azioni durante questo tempo

9 9 Simulazione asincrona La simulazione asincrona si basa sul principio che lo stato del sistema rimane invariato tra gli eventi e quindi il sistema non deve essere osservato in questo periodo di tempo. Gli eventi si verificano con l inizio e la fine di una attività.

10 10 Le attività Una attività è una azione che si estende nel tempo ed è svolta da una componente del sistema. Una attività inizia quando sono soddisfatte delle specifiche condizioni e termina dopo un certo tempo.

11 11 Eventi Gli eventi si possono suddividere in : time event: eventi individuati da un istante temporale nel calendario degli eventi State event: eventi individuati da una condizione che specifica le circostanze (diverse dal tempo) sotto cui il sistema cambia di stato

12 12 Esempio: il negozio di un barbiere Un barbiere serve in ordine di arrivo i clienti: time event oriented: - l arrivo del cliente - il completamento del servizio state event oriented: l inizio del servizio Questo evento (attività del tagliare) inizia quando c è almeno un cliente in attesa e il barbiere è libero.

13 Eventi 13 Gli eventi e le attività permettono di riguardare un modello di un sistema come un insieme di oggetti che coesistono ed interagiscono Nell esempio del barbiere ci sono: Processo clienti le cui azioni sono: - aspettare per il servizio - avere i capelli tagliati Processo barbiere le cui azioni sono: - tagliare i capelli - aspettare un nuovo cliente

14 14 Caratterizzazione della simulazione ad eventi Shannon: System simulation: the art and the science (1975) Evans: Structure of discrete event simulation an introduction to engagement strategy (1988) le entità che possiedono degli attributi interagiscono l un l altra durante le attività sotto certe condizioni creano eventi che cambiano lo stato del sistema

15 5 Il SIMULA Il linguaggio per la simulazione di sistemi discreti.

16 16 Generalità dei linguaggi per la simulazione Un linguaggio di simulazione deve possedere delle proprietà sia algoritmiche che sistematiche. Le proprietà computazionali dei tradizionali linguaggi algebrici Gli strumenti necessari ad esprimere in modo sistematico i componenti essenziali di un sistema discreto (utenti, canali di servizio, code, discipline e relative interazioni)

17 17 Generalità dei linguaggi per la simulazione I linguaggi generali come il Fortran o il C sono dotati di proprietà algoritmiche, ma mancano di quelle sistemistiche. Per esprimere un modello in questi linguaggi bisogna costruire sottoprogrammi che simulano i componenti del sistema, le loro interazioni ed i tempi in cui queste interazion avvengono. Altri linguaggi come il linguaggio GPSS (IBM) pur essendo dotati di notevoli proprietà sistemistiche, mancano di alcuni strumenti computazionali e quindi non posseggono quella flessibilità necessaria per costruire un modello di simulazione.

18 18 Generalità dei linguaggi per la simulazione L uso di linguaggi completamente orientati alla simulazione presenta però un basso tasso di diffusione aziendale: necessità di rivolgersi ad esperti limitazione delle possibilità di controllo diretto del lavoro riduzione della possibilità di sviluppo del modello attraverso modifiche successive

19 19 diversi tipi di variabili records, matrici, liste ecc; flessibilità nel creare e manipolare le strutture dati; efficiente routine di temporizzazione elasticità nella definizione di procedure e sottoprogrammi che possono essere definiti e richiamati in modo semplice consentendo di arricchire il linguaggio con nuove semplice creazione di variabili statistiche di forma standard funzionalità per la facilitazione della sperimentazione del modello di simulazione: per iterazioni multiple, per cambiare i valori dei parametri e dai dati, per analizzare i risultati, ecc. Caratteristiche principale di un linguaggio di simulazione

20 20 SIMULA: concetti generali Simula I (Simulation language) linguaggio Process oriented per la simulazione discreta basato sull Algol 60. ( ) di cui riprende le strutture logiche ed a cui aggiunge strumenti che permettono di esprimere in modo immediato gli aspetti sistemistici del modello Simula 67 (Simple universal language) linguaggio generale object oriented dotato di sistemi di classi che supportano le linked list (classe Simset) e la simulazione discreta orientata ai processi (la classe Simulation) ( ) Simula = Simula 67

21 21 Il SIMULA 67 Il linguaggio Simula, è stato progettato da Nygaard e Dahl presso il Norwegian Computing Center. Fu costruito ed implementato originariamente come linguaggio per la simulazione discreta, ma poi successivamente re-implementato come un linguaggio di programmazione generale. Sebbene il Simula non abbia avuto una larga diffusione, la sua influenza sulla moderna metodologia di programmazione (OOP) è stata molto elevata. La sua importanza principale è stata l introduzione del concetto di classe.

22 22 La programmazione in Simula Programma deve essere strutturato in modo preciso Deve descrivere azioni che accadono simultaneamente o in parallelo. E costituito da una sequenza di blocchi che agiscono indipendentemente, ma che vengono poi combinate insieme per ottenere l effetto finale desiderato. L approccio per la costruzione di un programma è quello top-down Le procedure rappresentano i processi che compongono il sistema

23 23 La programmazione in Simula I processi sono raggruppati in classi dette attività, La manipolazione dei processi è effettuata attraverso delle liste ausiliarie dette elementi Il controllo della sequenza degli oggetti viene effettuato mediante una routine automatica, (sequencing set) che però può essere modificata attraverso una serie di istruzioni.

24 24 La programmazione in Simula Esistono procedure particolari per: attivare e terminare i processi, creare variabili casuali e/o aventi determinate distribuzioni di probabilità, creare oggetti di tipo lista, coda, ecc. con o senza relazioni di priorità

25 25 Tipi di variabili in Simula Integer (numero intero Es: 0,1,2, ) (Valore di Default 0) Real (numero reale Es: 0.1,0.2) (Valore di Default 0.0) Boolean (valore booleano Es: true, false) (Valore di Default false) Character (variabile simbolica Es: a,a,b,b) (Valore di Default iso null (invisibile)) text (array di simboli Es: ciccio, pippo) (Valore di Default no text (i.e. "")

26 26 Dichiarazione delle variabili La sintassi per la dichiarazione di una variabile è il seguente: TipoVariabile Identificatore1, Identificatore2,...IdentificatoreN,... Esempi integer NumeroStudenti;!dichiariamo la variabile NumeroStudenti di tipo intero; text NomeStudente;!dichiariamo la variabile NomeStudente di tipo array di simboli;

27 27 Il ; e i commenti Ogni istruzione deve terminare con il simbolo ; e che eventuali commenti possono essere inseriti dopo il simbolo! terminandoli come al solito con ;. Occorre infine ricordare di moderare la lunghezza del nome di un identificatore e che questa non deve mai iniziare con un carattere numerico.

28 28 Istruzioni di assegnazione Un discorso a parte deve essere invece fatto per le variabili di tipo puntatore Esempio ref(tipovariabile) P,Q;!P e Q sono variabili puntatore al tipo complesso TipoVariabile; P :- Q;!P e Q condividono la stessa locazione di memoria;

29 29 Istruzioni di I/O Input Output variabile intera InInt OutInt(NomeVariabile,m) variabilereale InReal OutReal(NomeVariabile,n,m) variabile simbolica InChar OutChar(NomeVariabile) variabile array di simboli InText(s) OutText(puntatore) m dimensione del campo da usare quando il valore della variabile verrà visualizzato, n è il numero di cifre dopo la virgola che devono essere visualizzate, ed s è la lunghezza massima di caratteri che può contenere l'array di simboli.

30 30 Operatori aritmetici I principali operatori aritmetici: + addizione - sottrazione * moltiplicazione ** elevamento a potenza / divisione tra reali // divisione tra interi

31 31 Connettivi per tipi semplici = > < > = <= per puntatori = = =/= per tipi booleani eqv, not and or concatenazione di array di simboli &

32 Il tipo Text Una variabile text in Simula è un array che contiene un puntatore ad una catena di carattere e un indicatore pos di posizioni all'interno della catena. Le catene di caratteri sono gestite dinamicamente e le procedure di accesso e il modo di trattare una catena favoriscono il trattamento sequenziale dei caratteri. Ad ogni catena si associa un campo descrittore che contiene l'indirizzo della catena la sua lunghezza e l'indice del carattere da trattare. Una variabile di tipo text inizializza questo campo. I parametri iniziali sono settati a notext (catena vuota). 32

33 33 Il tipo text Per creare una catena si utilizzano le funzioni: blanks(n) che crea una catena di n caratteri bianchi, copy(t) crea una copia di T. Le operazioni di assegnazione e di confronto tra gli elementi di una catena si possono fare mediante i puntatori (utilizzando quindi :-,= =, =/=) o direttamente sul contenuto della catena (utilizzando quindi :=, =, NE (notequal)).

34 34 Il tipo text L'operatore di concatenazione di una catena è & per esempio: text T;. OutText("scrivi" & T & "fine"); La manipolazione del contenuto di una catena si fa con l'aiuto di procedure e funzioni del Simula e la notazione usata per accedere agli elementi del campo è la "dot notation".

35 35 Proprietà di una catena T.length fornisce la lunghezza della catena T, T.pos fornisce l'indice del carattere da trattare, T.more vero se T.pos > T.length falso altrimenti, T.getchar restituisce il carattere successivo e incrementa T.pos, T.putchar(C) inserisce il carattere C nella posizione pos e incrementa la pos, T.setpos(n) dà il valore n a T.pos,

36 36 Proprietà di una catena T.getint e T.putint(I) equivalenti a InInt e OutInt, T.sub(I,n) designa una sottocatena di T di lunghezza n inseribile in posizione I, T.strip restituisce la sottocatena T.sub(1,n) oppure tutti i caratteri dopo l'iesimo sono bianchi.

37 37 TEXT: riepilogo TEXT è concettualmente un istanza di una classe e quindi ha i suoi attributi e i suoi metodi. Metodi: Boolean Procedure Constant; (Vero se costante) Text Procedure Main; (Main string il testo è parte del Main) Integer Procedure Start; (Starting position nel Main) Integer Procedure Length; (Numero di caratteri) Integer Procedure Pos; (Posizione corrente)

38 38 TEXT: riepilogo Metodi: Procedure SetPos(i); Integer i; (Cambio di posizione) Boolean Procedure More; (VERO se Pos <= Length) Character Procedure GetChar; (Carattere da Pos) Procedure PutChar(c); Character c; (Inserisce un carattere in Pos) Text Procedure Sub(i, n); Integer i,n; (Substring a i di lunghezza n) Text Procedure Strip; (rimuove gli spazi a destra)

39 39 TEXT: riepilogo Metodi di De-editing : Integer Procedure GetInt; (legge gli interi) Long Real Procedure GetReal; (leggei reali) Integer Procedure GetFrac; (come GetInt, ignora gli spazi)

40 40 TEXT: riepilogo Metodi di Editing: Procedure PutInt(i); Integer i; (Scrive il valore intero) Procedure PutFix(i, n); Integer i,n; (Scrive il valore decimale) Procedure PutReal(r, n); Long Real r; Integer n; (Scrive in formato scientifico)

41 41 TEXT: riepilogo Text generation: Text Procedure Blanks(n); Integer n; (Restituisce n blanks) Text Procedure Copy(T); Text T; (Restituisce una copia di T)

42 42 Arrays Gli array possono essere dischiarati nei blocchi del programma. Esempi (n, m, a, b sono variabili globali): Integer Array MyList (1:100); Array Matrix (1:n, 1:m); (tipo implicito real) Character Array Buffer(1: If a>b then a else b);

43 43 Procedure e funzioni Il modello più semplice di procedura è il seguente: (TipoVariabile) procedure NomeProcedura (Parametro1,..., ParametroN,...); TipoVariabile Parametro1,..., ParametroN,...; begin...; end

44 44 Esempio di procedura! Procedura che somma due numeri interi A e B e restituisce il risultato in C.; begin procedure Add(A,B,C); name C; integer A, B, C; begin C := A + B end of Add; integer ValA, ValB, ValC; ValA := 1; ValB := 2; ValC := 0; Add(ValA,ValB,ValC); OutImage;OutInt(ValA,1); OutText(" + "); OutInt(ValB,1); OutText(" = "); OutInt(ValC,1) end

45 Esempio di funzione 45!Funzione che somma due numeri interi A e B.; begin integer procedure Sum(A,B); integer A, B;!i parametri sono passati per valore; begin Sum := A + B end of Sum; integer ValA, ValB, ValC; ValA := 1; ValB := 2; ValC := 0; ValC := Sum(ValA,ValB); OutImage; OutInt(ValA,1); OutText(" + "); OutInt(ValB,1); OutText(" = "); OutInt(ValC,1); end

46 46 Selezioni e Iterazioni Le principali istruzioni di selezione e iterazione sono riassunte nella seguente tabella: If While For

47 Istruzione IF 47 Il comando if del Simula si serve della parola chiave if più o meno come si usa in italiano la parola "se". La frase "se il bar è aperto mi porti una birra, altrimenti un caffè" ha la stessa stesura in Simula: if BAR = APERTO then BEV := BIRRA else BEV := CAFFE'; La sintassi del commando if a cascata è if Condizione1 then begin if Condizione2 then Statement end

48 48 Istruzione While In un programma Simula possiamo specificare un ciclo mediante un istruzione while. La forma del comando while è la seguente: while Condizione do Statement; Statement è il corpo del ciclo while; viene valutata prima la condizione, se questa è falsa, l'esecuzione del comando while è terminata mentre se è vera Stantement viene eseguito un'altra volta; la condizione controllata nuovamente, e cosi via.

49 49 Istruzione For Quando vogliamo eseguire più volte un'istruzione e il numero di ripetizioni non dipende dal risultato di istruzioni interne al ciclo, la costruzione più adatta è il ciclo For. La sintassi del comando For è la seguente: for I := 1 step +1 until 100 do Statement;

50 50 L istruzione For for I := 100 step -1 until 1 do Statement; for I := 1, I + 3 step -1 until 1 do Statement; for I := 2, 3, 5, 7, 11 step 4 until 51 do Statement; for C := 'A', 'E', 'I', 'O', 'U', 'Y' do Statement; for P :- P1, P2, P3 do Statement

51 51 L istruzione For Esempio (molto generale) Begin Integer i; For i:= 1, 13, 20 step 10 until 40, 70, i+1 while i lt 76, 100 step 50 until 250, 1000, 1500 do OutInt(i,5); End; Output:

52 52 Procedure in Simula: riepilogo dei modi di passaggio dei parametri Passaggio per valore (default per tipi semplici, valida anche per text ed array) Procedure P(T); value T; text T; T Txt P(Txt)

53 53 Procedure in Simula: riepilogo dei modi di passaggio dei parametri Passaggio per referenza (default per tutti i tipi non semplici) Procedure P(T); text T; T Txt T:- Blanks(5); P(Txt)

54 54 Procedure in Simula: riepilogo dei modi di passaggio dei parametri Passaggio per nome (valido per tutti i tipi) Procedure P(T); Name T ; text T; T Txt T:- Blanks(5); P(Txt)

55 55 Un nuovo concetto di classe Un sistema discreto è caratterizzato dalla particolarità che i suoi cambiamenti di stato hanno luogo a distanza di tempo comunque spaziati; nel simulare un sistema del genere, più che il contenuto delle attività reali, hanno rilevanza i loro effetti e gli istanti di tempo in cui occorrono gli eventi di inizio e di fine delle attività.

56 56 Un nuovo concetto di classe Per gestire questo tipo di problemi, il Simula 67 introdusse il concetto di CLASSE, che diede origine all'idea di trattare dei "tipi di dati astratti", cioè la possibilità di "parametrizzare" le astrazioni definite dall'utente, fornendo sostanzialmente, solamente l'effetto che esse generano e gli istanti di tempo in cui avvengono, non interessandosi dello specifico tipo di dato trattato, che potrebbe essere indifferentemente, per esempio, un insieme di numeri interi oppure una coda di clienti.

57 57 Dichiarazione di una classe Una classe è intesa come un normale blocco di programma, che comprende dichiarazioni, operazioni, chiamate a procedura o ad altre classi. Essa va dichiarata nella lista di dichiarazioni che appare nell'intestazione del programma, insieme alle variabili e alle procedure.

58 58 Dichiarazione di una classe Una dichiarazione di classe in simula ha la seguente forma: < intestazione > ; < corpo > ; l'intestazione contiene il nome della classe e i parametri formali,il corpo contiene dichiarazioni di variabili locali, istruzioni eseguibili, procedure. Un esemplare di classe deve essere generato dall istruzione NEW, che crea un oggetto già inizializzato, poichè il corpo di una classe è già eseguito automaticamente dall'istruzione.

59 59 Simulazione in Simula La caratteristica principale del Simula che lo rende maggiormente adatto alla simulazione di processi discreti è la possibilità di definire un insieme di processi che operano concettualmente in parallelo e che mediante una routine di temporizzazione detta sequencing set (calendario degli eventi) si sincronizzano secondo lo schema delle attività da essi rappresentate (avanzamento del tempo per eventi).

60 60 Meccanismi di avanzamento del tempo II comportamento di un sistema dinamico (discreto continuo) è generalmente studiato rappresentando gli stati del sistema come funzioni del tempo, e raccogliendo ed analizzando poi le statistiche ottenute. Nella realtà le attività delle varie componenti del sistema si svolgono con simultaneità e questa condizione non è generalmente riproducibile nella simulazione perché il simulatore (ed in particolare il programma di simulazione) può prestare attenzione solo ad una componente del sistema alla volta.

61 61 Meccanismi di avanzamento del tempo Quindi quelle attività che nella realtà sono parallele nel programma di simulazione sono sequenziali ed il simulatore si interessa solo degli effetti di queste attività e degli istanti di tempo in cui tali attività hanno inizio e fine. Gli eventi che cambiano lo stato di un sistema sono generati in diversi istanti di tempo ed il passaggio da un tempo ad un altro è rappresentato da un orologio interno al sistema (internal clock) che è incrementato dal simulatore.

62 62 Meccanismi di avanzamento del tempo Il tempo simulato può essere incrementato in due modi: avanzamento per intervalli: l'internal clock è incrementato da un tempo t ad un tempo t+dt, con dt incremento fisso di tempo; avanzamento per eventi: l'internal clock è incrementato da un tempo t ad un prossimo tempoevento t' (evento imminente rispetto a quello in t).

63 63 Meccanismi di avanzamento del tempo Il metodo di avanzamento per intervalli prefissati di tempo è utilizzato nella simulazione di sistemi continui o nel caso di sistemi con un grande numero di variabili di stato. Questo metodo ha lo svantaggio che se dt è grande il simulatore attraversa diversi periodi di inattività in cui non avviene alcuna variazione negli stati del sistema.

64 64 Meccanismi di avanzamento del tempo Nel caso dell'avanzamento per eventi solo gli eventi sono esplicitamente rappresentati nel modello di simulazione ed i periodi tra due eventi sono considerati inattivi o insignificanti e quindi non consumano tempo (sebbene questo non sia vero nel sistema reale). Il tempo è quindi avanzato solo quando è previsto un evento nel sequencing set scavalcando tutti i periodi durante i quali non avvengono cambiamenti nel sistema.

65 65 Meccanismi di avanzamento del tempo Oltre al tempo simulato si possono distinguere altri due concetti di tempo il tempo reale; il tempo di esecuzione (computer time) Il tempo reale è quello proprio del sistema reale da simulare ed è una variabile continua. Il tempo di esecuzione è il tempo consumato dall'elaboratore per l'esperimento di simulazione dipende dal numero e dalla complessità dei cambiamenti di stato che avvengono nel sistema, e non dalla scala degli intervalli di tempo simulati

66 66 Simulazione in Simula Una attività in simula è definita come un insieme di dichiarazioni di dati ed una sequenza di statement che descrivono il comportamento di una componente del sistema.

67 67 Simulazione in Simula Ogni attività può produrre più processi, uno per ogni assegnazione possibile di valori agli elementi della sua struttura dati. E' quindi possibile definire dinamicamente ad ogni istante nuovi processi, uno per ogni assegnazione possibile di valori agli elementi della struttura dati. L'insieme di tutti i processi di un dato tipo costituiscono una particolare CLASSE. Gli oggetti di una classe rappresentano i processi relativi ad una data simulazione.

68 68 Classe Simulation Le procedure per costruire un modello di simulazione sono contenute nella classe di libreria detta class SIMULATION. L avanzamento del tempo attuato dalla class SIMULATION è quello per eventi e il tempo simulato è contenuto nella variabile TIME.

69 69 Classe Simulation Quando l occorrenza di un evento associato ad un oggetto è stata prevista, si dice che l oggetto è stato schedulato e gli si associa un tempo che è appunto quello di occorrenza dell evento, che rappresenta l istante di tempo in cui è previsto l inizio della prossima fase attiva dell oggetto. Quando la fase attiva termina l oggetto può essere rischedulato o deschedulato.

70 70 Classe Simulation Quando l occorrenza di un evento associato ad un oggetto è stata prevista, si dice che l oggetto è stato schedulato e gli si associa un tempo che è appunto quello di occorrenza dell evento, che rappresenta l istante di tempo in cui è previsto l inizio della prossima fase attiva dell oggetto. Quando la fase attiva termina l oggetto può essere rischedulato o deschedulato.

71 71 Classe Simulation Per schedulare e deschedulare gli oggetti si utilizzano le procedure Activate Passivate Hold I soli oggetti considerati presenti nel sequencing set sono quello attivo e quelli sospesi. Tutti gli altri oggetti sono o passivi o terminati

72 72 Classe Simulation Ogni componente del sistema da simulare deve essere costruito sotto forma di classe ed incorporato nella classe SIMULATION mediante il prefisso PROCESS. Ogni volta che si crea un nuovo oggetto questo entra a far parte dell insieme degli oggetti passivi e qui aspetta il comando di attivazione da parte di un altro oggetto Se la creazione e l attivazione sono eventi successivi si usa il comando Activate new nomeoggetto

73 73 Classe Simulation Un oggetto il cui corpo è stato completamente eseguito fino alla parola END del suo blocco più esterno è normalmente considerato terminato a meno che: l ultimo statement prima dell end sia un passivate e quindi l oggetto resta in un stato passivo; il corpo dell oggetto è incluso in un ciclo while nel qual caso l oggetto resta eseguibile finche la condizione è vera, (se simultime è il tempo di simulazione un esempio di condizione è Time<simultime che mantiene il processo eseguibile per tutta la durata della simulazione).

74 74 Classe Process Usando il prefisso PROCESS è possibile inserire una classe nella classe Simulation Alcuni attributi della classe PROCESS sono inaccessibili ai programmi Simula, in particolare non è possibile vedere l event notice, cioè le procedure di temporizzazione degli eventi che stilano il sequencing set.

75 75 Classe Process Gli attributi visibili dell oggetto PROCESS danno informazioni sullo stato corrente dell oggetto e sono: Activate (rende un processo primo nel sequencing set); Reactivate (rischedula un processo) Suspended (lascia un processo nel sequencing set, ma non come primo della lista eventi);

76 76 Classe Process Passive (elemina un processo che non ha ancora raggiunto l END finale dal sequencing set. Il processo però può essere rischedulato). Terminated (elimina definitivamente un proceso dal sequencing set perchè questo ha raggiunto l END finale e non è possibile rischedularlo.

77 77 Generazione di numeri casuali Il Simula fornisce numerose procedure per la generazione di numeri pseudo-casuali aventi determinate distribuzioni: variabili aleatorie con distribuzione uniforme; variabili aleatorie con distribuzione esponenziale; variabili aleatorie con distribuzione di Poisson; variabili aleatorie con distribuzione k-erlangiana: variabili aleatorie con distribuzione normale; generazione discreta di numeri interi.

78 8 Un esempio di Simulazione Caricamento di un macchinario

79 79 Esempio di Simulazione Per meglio chiarire l uso del Simula e della sua classe Simulation, consideriamo un semplice esempio di simulazione discreta. L evento da simulare è il caricamento di un macchinario da parte di un operaio.

80 80 Caricamento di un macchinario Consideriamo un operaio addetto ad un macchinario il cui compito è quello di caricare la macchina, azionarla controllarla durante la lavorazione scaricarla alla fine delle operazioni

81 81 Caricamento di un macchinario Supponiamo che il processo di carica richieda 5 unità di tempo e che il controllo avvenga ad intervalli regolari di 0.5 unità di tempo. Il processo di lavorazione del macchinario richieda 2 unità di tempo per ogni elemento che deve essere lavorato dalla macchina. La simulazione da effettuare sia in 400 unità di tempo.

82 82 Caricamento di un macchinario Per una corretta implementazione del modello di simulazione è necessario individuare gli elementi che costituiscono il sistema discreto da simulare, le azioni che vengono effettuate da questi elementi, la rappresentazione di tali azioni, la sequenzialità degli eventi con cui tali azioni vengono effettuate.

83 83 Caricamento di un macchinario Il processo da simulare nel nostro esempio è costituito da due elementi: L elemento UOMO-OPERARIO; L elemento MACCHINARIO; Questi due elementi sono le classi che devono essere costruite in SIMULA.

84 84 Caricamento di un macchinario Le azioni effettuate dalla classe OPERAIO sono: Caricare il macchinario con un nuovo rifornimento; Azionare il macchinario; Controllare ad intervalli regolari se il macchinario ha terminato; Scaricare il macchinario quando ha terminato la lavorazione.

85 85 Caricamento di un macchinario Le azioni effettuate dall elemento MACCHINARIO sono invece: Lavorare (processare) le componenti inserite al suo interno.

86 86 Caricamento di un macchinario Ciascuna delle precedenti azioni richiede; La rappresentazione di quello che è stato raggiunto con l azione. Per esempio per il caricamento la rappresentazione dell azione consisterà nell aggiunta di un certo numero (n=50) dell attributo componenti del macchinario La rappresentazione del tempo impiegato per l azione Nel caso del caricamento sono per esempio necessarie 5 unità di tempo.

87 87 Caricamento di un macchinario Si deve inoltre considerare che l attivazione del macchinario è immediatamente successiva al caricamento effettuato dall OPERAIO. Infine lo scaricamento della macchina deve rispettare l attributo prodotto a zero, operazione che richiederà un tempo da considerare nell implementazione.

88 88 Caricamento di un macchinario L algoritmo in Simula sarà costituito da due classi: La classe OPERARIO La classe Macchinario (vedi listato programma)

89 89 Caricamento di un macchinario:listato SIMULATION begin integer Count; Process class Uomo(Macchinario); ref (Macchina) Macchinario; begin while Time < 400 do begin Outtext("Inizio del Caricamento"); Outfix(Time,2,10);

90 90 Caricamento di un macchinario:listato OutImage;! report terminato; Count := Count+1; Hold(5.0); Macchinario.Componente := Macchinario.Componente+50;!caricamento del macchinario; Activate Macchinario;!ricarica il macchinario;

91 91 Caricamento di un macchinario:listato while Macchinario.componente >0 do Hold(0.5);! Controllo del finzionamento a intervalli regolari; Cancel(MAcchinario);!spegnimento; Hold(10.0);!Scaricamento del macchinario ; Outtext("Scaricamento terminato"); Outfix(Time,2,10); Outimage;!report terminato; end of loop; Passivate; end of Uomo;

92 92 Caricamento di un macchinario:listato while componente>0 do begin Hold(2.0);!Tempo di lavorazione di una singola componente; Componente := Componente-1; end of loop; Passivate; end of loop; end of macchina;

93 93 Caricamento di un macchinario:listato Process class Macchina; begin integer Componente; while True do begin Outtext("Inizio della lavorazione"); Outfix(Time,2,10); Outimage;

94 94 Caricamento di un macchinario:listato!%%%%%%%%%%%main%%%%%%%%%%%% ; ref(uomo) Operaio; Operaio :- new Uomo(new Macchina); Activate Operaio; Outtext("Count="); outint(count,4); outimage; Hold(800); outtext("fine simulazione"); outimage; end of simulation ;

95 5 Sistemi di congestione Generalità

96 96 Generalità introduttive Una larga classe di sistemi reali : Sistemi di produzione Sistemi di traffico e di comunicazione Sistemi informativi Può essere schematizzata come un sistema più o meno complesso di code formate da unità in arrivo a una o più stazioni di servizi.

97 97 Generalità introduttive Dal punto di vista della teoria economica, un problema di code è essenzialmente un problema di bilanciamento di costo marginale delle attese con il costo del grado di utilizzazione, per tutte le stazioni di servizio del sistema I costi associati all attesa includono - la perdita di clienti, - l immobilizzazione dei capitali, - il deterioramento dei materiali, - il costo di magazzinaggio, ecc I costi associati all utilizzazione riguardano i tempi di inattività dei serventi. Minimizzare le attese significa usare serventi veloci, e i serventi veloci restano spesso inutilizzati.

98 98 Generalità introduttive Generalmente non esistono tecniche analitiche per il bilanciamento dei costi di attesa e di utilizzazione per sistemi complessi ad uno o più serventi variamente connessi L approssimazione delle condizioni che conducono ad un bilanciamento ottimo, si possono ottenere costruendo un modello di simulazione che prevede la raccolta di statistiche quali: - il tempo medio di attesa in coda - Il numero medio di utenti in coda - Il tempo medio di utilizzazione dei serventi

99 99 Generalità introduttive Un sistema di congestione si può rappresentare generalmente con un insieme di sorgenti di arrivo o di ingresso insieme di file di attesa o di code un insieme di serventi o canali

100 00 Generalità introduttive La precedente schematizzazione apparentemente può sembrare dare origine a numerosi modelli. In realtà essa conduce a due tipi basilari di sistemi: Sorgente singola che alimenta una coda singola che a sua volta alimenta un unico canale Sorgente singola che alimenta una coda singola che a sua volta alimenta più canali. In corrispondenza dei due casi si parlerà quindi di sistemi a canale singolo e a canali paralleli.

101 01 Configurazione degli arrivi e dei servizi La più semplice sorgente di arrivi è quella che genera unità a intervalli costanti; in tal caso se anche i tempi di servizio sono costanti è facile determinare la condizione sotto cui si formano cose. Se invece la sorgente di arrivi e/o i canali sono caratterizzati da distribuzioni di probabilità, allora la lunghezza delle code e a sua volta descritta da una legge stocastica che va determinata teoricamente o mediante la simulazione al calcolatore.

102 02 Configurazione degli arrivi e dei servizi In genere la sorgente degli arrivi è descritta in termini di tempo di interarrivo ta o intervallo tra due arrivi successivi. Questa è una variabile aleatoria con una certa funzione densità e una funzione cumulativa. Il suo valore medio Ta=E(ta ) è detto tempo medio di interarrivo. Il valore λ=1/ Ta è detto frequenza media degli arrivi o numero medio di arrivi per unità di tempo

103 03 Configurazione degli arrivi e dei servizi Analogamente un canale è descritto in termini del tempo di servizio ts richiesto dalle unità in arrivo. Anch esso è una variabile aleatoria con una certa densità e distribuzione. Il valore medio Ts =E(ts) è detto tempo medio di servizio Il valore µ=1/ Ts è detto frequenza media di servizio per un canale occupato con continuità Importante è il fattore di utilizzazione del canale ρ= λ /µ = λ Ts

104 04 Configurazione degli arrivi e dei servizi Diversi sono i generatori di variabili aleatorie adatte a simulare dispositivi di arrivo o di servizio. Alcuni sono caratteristici delle sorgenti di arrivo, altri dei canali, altri sono intercambiabili.

105 05 Generatore poissoniano ed esponenziale La distribuzione di Poisson è legata ad eventi indipendenti ed equiprobabili. Il processo stocastico che descrive meglio gli arrivi all interno di un sistema è quello detto delle richieste individualmente e collettivamente random: in esso si assume l esistenza di un grande numero di sorgenti, ciascuna con una piccola probabilità di richiesta in modo che la probabilità totale sia costante

106 06 Generatore poissoniano ed esponenziale Secondo la distribuzione di Poisson, la probabilità che si verifichino n arrivi in un intervallo di tempo t è data da pt(n)=(λt)^n exp(λt) / n! con media E(n)= λt e varianza σ2 (n)= λt

107 Generatore poissoniano ed esponenziale 07 Il tempo di interarrivo ta compreso tra due arrivi poissoniani è distribuito con legge esponenziale. Questa legge è usata spesso per caratterizzare il tempo di servizio ts prestato dal canale. Detta t la variabile aleatoria, la densità esponenziale è data da f(t)=λexp(-λt) con media E(t)= 1/λ= Ta e varianza σ^2 (t)= 1/λ^2

108 08 Generatore poissoniano ed esponenziale La costante λ ha le dimensioni di una frequenza (1/t). Se quindi si interpreta t come tempo di interarrivi ta, λ sarà la frequenza media degli arrivi, e 1/λ il tempo medio di interarrivo Ta Analogamente se t rappresenta il tempo di servizio

109 09 Valutazione dei sistemi di congestione Consideriamo ora una veloce descrizione di alcuni metodi utili per una valutazione sommaria di un sistema che deve essere simulato. L analisi sarà limitata ad alcuni aspetti caratteristici dei sistemi a canale semplice e multiplo, e delle discipline di servizio. La notazione classica che si utilizza in teoria delle cose per indicare un sistema con distribuzione di arrivi A, distribuzione di servizi B avente m canali è la seguente: A/B/m

110 10 Valutazione dei sistemi di congestione I simboli normalmente utilizzati per denotare il tipo di distribuzioni sono M,D,G ed il loro significato è il seguente: M (Markov) sta per distribuzione esponenziale D per distribuzione deterministica G per distribuzione generale

111 11 Sistema a canale singolo (M/G/1) Per caratterizzare un sistema a canale singolo oltre ai tempi di interarrivo e di servizio si introducono: - w il numero di unità presenti nella coda ad un certo istante; - q il numero delle unità presenti nel sistema ad un certo istante(cioè la somma delle unità in attesa e di quelle nei serventi) - tw il tempo che un unità spende in attesa prima di ricevere un servizio - tq il tempo totale che una unità spende nel sistema

112 12 Sistema a canale singolo (M/G/1) Le precedenti variabili aleatorie (in termini di distribuzione di probabilità e di parametri principali quali media e varianza) sono quelle che devono essere analizzate durante una simulazioni. Poiché tq=tw+ts si ha E(tq)=E(tw)+E(ts) Se λ è il numero medio di arrivi per unità di tempo per il teorema di Little E(w)= λe(tw) ed E(q)= λe(tq)

113 13 Sistema a canale singolo (M/G/1) Se ρ è il coefficiente di utilizzazione del canale risulta che ρ = λe(tq) e E(q)=E(w)+ ρ Inoltre dalla teoria dei sistemi a canale singolo vale il teorema di Pollaczek (per qualunque distribuzione del tempo di servizio e con arrivi poissoniani)

114 14 Sistema a canale singolo (M/G/1) La relazione di Pollaczek vale anche qualunque sia la disciplina di servizio (cioè il criterio con il quale si decide quale è la prossima unità da estrarre dalla coda per il servizio) purché essa non dipenda dal tempo di servizio

115 15 Discipline di servizio Esempi di discipline di servizio indipendenti dal tempo di servizio (o disciplina di orientamento) sono: FIFO first in first out LIFO last in first out RAND scelta a caso di un utente da servire

116 16 Discipline di servizio Un esempio diverso di disciplina di servizio è quella in cui ad un utente in arrivo viene associato un diritto di priorità che può essere utilizzato come criterio di selezione nel servizio. Un criterio di priorità che per esempio faccia selezionare gli utenti in modo da servire prima quelli che richiedono un servizio più lungo costituisce una disciplina dipendente dal tempo di servizio ed invalida il risultato di Pollaczek

117 17 Sistemi a canale multiplo Accanto allo schema a canale singolo esistono Schemi a canali multipli paralleli, in cui un certo numero di serventi identici fornisce lo stesso tipo di servizio alle unità in arrivo, che vengono servite indifferentemente dall uno o dall altro canale Schemi con code in serie o in tandem, ove esiste un certo numero di serventi che devono essere visitati, l uno dopo l altro, da ciascuna delle unità in arrivo Schemi generali di reti di canali che consistono in interconnessioni arbitrarie di canali in serie o in parallelo, che devono essere tutti o in parte visitati dalle unità in arrivo

118 18 Canali in parallelo (M/M/m) In questo modello di canale esiste un unica coda ove arrivano utenti con frequenza media λ, ed m canali di servizio identici con tempo medio di servizio 1/µ. Se ogni utente prescelto per il servizio può essere assegnato, con uguale probabilità, ad uno qualunque dei canali liberi il flusso degli arrivi a ciascun canale è dato da λ/m

119 19 Rappresentazione del modello di simulazione Un passo importante nella pianificazione di un esperimento di simulazione è costituito dalla formulazione analitica del modello. In genere si distinguono i seguenti elementi: Il processo stocastico da studiare I parametri e le caratteristiche operative (per esempio le distribuzioni di probabilità delle varie classi o delle v.a. introdotte nel processo in studio) Gli eventi significativi per il livello di astrazione prescelto a cui va aggiunto per comodità un evento di fine simulazione, che permette di realizzare la chiusura dell esperimento

120 20 Rappresentazione del modello di simulazione Variabili di stato dipendenti dagli eventi, possono essere ad esempio l istante di occorrenza di un determinato evento e la variabile che conta il tempo simulato Variabili esogene e regole di generazione cioè il modo con cui devono essere generati i numeri casuali che regolano l avverarsi degli eventi di un modello, Regole di transizione di stato, cioè la scelta del meccanismo di selezione del prossimo evento (avanzamento per intervalli o per eventi) Regole per il calcolo delle variabili endogene

121 21 Rappresentazione del modello di simulazione Alla formulazione del modello segue la stesura dello schema di programma che permette di articolare le varie parti in forma completa. Nella costruzione degli esempi è stato seguito prima un approccio intuitivo per poi passare ad un approccio più completo. Raccolta statistiche elementari

122 22 Rappresentazione del modello di simulazione Gli schemi che vedremo rappresentano modelli di congestione ad m canali paralleli e k categorie di utenti I programmi in Simula simuleranno l analisi statistica del numero di elementi nelle varie categorie e lo stato dei canali.

123 23 Rappresentazione del modello di simulazione Gli schemi sono sviluppati principalmente intorno a due blocchi principali di istruzioni: Macchina degli arrivi Macchina dei servizi Conterranno il blocco per il calcolo di statistiche richiamato mediante l evento di fine simulazione

124 24 Modelli di congestione a m canali paralleli e k categorie di utenti Nel progettare un programma di simulazione per un modello di congestione a m canali paralleli con k categorie di utenti si prevede di analizzare: Il numero degli elementi nelle varie categorie Lo stato dei canali (per stato dei canali si intende la presenza o meno di clienti ed eventualmente il numero di clienti in coda)

125 25 Modelli di congestione a m canali paralleli e k categorie di utenti Le variabili di stato sono; ni= numero di utenti nella classe i ri= numero di utenti nella classe i arrivati nel sistema vj= numero degli utenti serviti dal canale j sj= stato del canale j Le variabili di stato ad un istante t saranno ni(t), ri(t), vi(t), si(t)

126 26 Modelli di congestione a m canali paralleli e k categorie di utenti Se sj=0 il canale j è vuoto sj=i il canale j è occupato da un utente della classe i Il processo stocastico da studiare è P(t)={n1(t), n2(t),,nk(t),s1(t), sm(t)} La priorità di servizio è quella relativa al numero di indice più piccolo e i canali occupati per primi (se liberi) saranno quelli con indici minori.

127 27 Modelli di congestione a m canali paralleli e k categorie di utenti I parametri caratteristici del sistema sono: La distribuzione degli arrivi Ai nella classe i La distribuzione dei servizi Sj nel canale j I tempi medi di attesa e di servizio. Gli eventi significativi sono: Gli arrivi (ei arrivo di un utente nella classe i ) Gli eventi fine-servizio (ej evento di fine servizio del canale j-k (j=k+1, k+m) L evento di fine simulazione e_(k+m+1)

128 28 Modelli di congestione a m canali paralleli e k categorie di utenti La lista degli eventi sarà E={e1,e2,.e_k+m+1} Le variabili di stato dipendenti dagli eventi t_e istante di occorrenza di un evento e clock tempo simulato Meccanismo di avanzamento per eventi, l evento futuro sarà il più vicino all istante attuale Se l evento è quello di fine simulazione il modello dovrà specificare come calcolare le statistiche e quali risultati far produrre al programma.

129 Esempi di sistemi di congestione Analisi delle simulazioni in Simula N. Del Buono 2

130 Esempio di un ufficio postale Analisi delle simulazioni in Simula di un ufficio postale 3

131 31 Ufficio postale Il primo esempio che prendiamo in considerazione è quello di un ufficio postale costituito in cui è presente un unico sportello che provvede al servizio dei clienti. Supponiamo che la grandezza dell ufficio postale sia sufficiente a consentire la permanenza in esso di tutti i clienti in arrivo nel sistema. La disciplina di servizio corrisponde all ordine di arrivo dei clienti nell ufficio postale (FIFO). Per il sistema ufficio postale reale si può ipotizzare che le distribuzioni degli arrivi e dei tempi di servizio siano rispettivamente Poissoniane ed Esponenziale quindi i tempi di interarrivo t a avranno distribuzione esponenziale.

132 32 Ufficio postale I seguenti passi permettono di formulare il modello alla base del programma di simulazione 1) Processo stocastico da studiare: sistema di code del tipo M/M/1/inf/inf/FIFO; 2) Parametri e le caratteristiche operative: - distibuzione di Poisson per gli arrivi, - distribuzione esponenziale per i tempi di servizio. 3) Eventi significativi : - arrivo di un nuovo cliente nell ufficio - uscita di un cliente dall ufficio dopo aver terminato il servizio

133 33 Ufficio postale 4) Variabili di stato dipendenti dagli eventi: - numero di elementi nel sistema - numero di clienti serviti 5) Variabili esogene: generate mediante funzione di generazione con distribuzione esponenziale (negexp) 6) Regole di transizione di stato: avanzamento per eventi 7) Variabili endogene: generate mediante la funzione (negexp)

134 34 Ufficio postale 8) Raccolta statistiche elementari: Clienti serviti ; Clienti ancora in coda all istante di fine simulazione ; Tempo medio di permanenza in coda; Tempo medio di permanenza nell ufficio; Tempo max di permanenza in ufficio ; Numero medio di clienti in coda; Numero medio di clienti in ufficio; Coefficiente di utilizzazione del sistema.

135 35 Ufficio postale Schema grafico del sistema Generatore degli arrivi clienti in coda Sportello postale uscita dal sistema

136 36 Ufficio postale Il programma di simulazione prevede: classe Generatore: provvede a generare gli arrivi dei nuovi clienti nel sistema classe Cliente: incrementa il contatore (usciti) numero dei clienti usciti dal sistema fornisce indicazioni sull istante in cui un cliente è servito incrementa il contatore (entrati) numero dei clienti nel sistema classe Impiegato: ispeziona la coda dei clienti e solo se questa è piena effetta il servizio conta il tempo di massima attesa dei clienti (MaxAttesa)

137 37 Ufficio postale: codice Simula Begin! Variabili globali ; Integer DurataEsperimento;!Durata esperimento; Real Lambda, Mu;!Frequenza di arrivo e di servizio;! assunzione dati ; OutImage; OutText("SIMULAZIONE DI UN UFFICIO POSTALE CON UNO SPORTELLO ED UNA CODA"); OutImage; OutText("Durata esperimento (in minuti)...: "); BreakOutImage; DurataEsperimento := InInt; OutText("Frequenza media degli arrivi...: ");

138 38 Ufficio postale: codice Simula BreakOutImage; Lambda := InReal; OutText("Frequenza media dei servizi...: "); BreakOutImage; Mu := InReal; Simulation begin! varibili ; Ref(Head) Coda;!Coda di clienti in ufficio; Integer S1, S2;!Semi generatori di numeri random; Integer Entrati, Usciti;!Clienti entrati ed usciti in ufficio; Real MaxAttesa;!Massima attesa di un cliente in ufficio; Real Etw, Ets, Ew, Es, Ro;!Variabili statistiche;

139 39 Ufficio postale: codice Simula! Processi ; process class Generatore; begin while True do begin Activate new Cliente; Hold(NegExp(Lambda, S1))! NegExp genera un numero con distribuzione esponenziale e con frequenza Lambda e seme S1; end end Generatore;

140 Ufficio postale: codice Simula 40 process class Cliente; begin Real Arrivo; Integer i; Entrati := Entrati + 1; i := Entrati; Arrivo := Time; OutFix(i, 0, 3); OutText("^ cliente in coda a minuti "); OutInt(Time, -10); begin Integer i; OutChar('>'); for i := 1 step 1 until (Entrati - Usciti) do OutChar('-') end;

141 Ufficio postale: codice Simula 41 OutImage; Wait(Coda); Usciti := Usciti + 1; OutFix(i, 0, 3); OutText("^ cliente servito a minuti "); OutInt(Time, -10); begin Integer i; OutChar('>'); for i := 1 step 1 until (Entrati - Usciti) do OutChar('-') end; OutImage; Passivate;

142 Ufficio postale: codice Simula 42 process class Impiegato; begin Ref(Cliente) C; while True do begin inspect Coda do while Empty do Hold(0.01); C :- Coda.First; Etw:= Etw+ Time -C.Arrivo; Hold(NegExp(Mu, S2)); Ets := Ets + Time - C.Arrivo; if MaxAttesa < (Time - C.Arrivo) then MaxAttesa := Time - C.Arrivo; C.Out; Activate C end end Impiegato;

143 43 Ufficio postale: codice Simula!------Main Coda :- new Head; S1 := ClockTime; S2 := ClockTime / 3; OutImage; OutText("*** Inizio esperimento ***"); OutImage; Activate new Generatore; Activate new Impiegato; Hold(DurataEsperimento); OutText("*** Fine esperimento ***"); OutImage;

144 44 Ufficio postale: codice Simula! Stampa statistiche; OutImage; OutText("Clienti serviti...: "); OutFix(Usciti, 0, 3); OutImage; OutText("Clienti ancora in coda...: "); OutFix((Entrati - Usciti), 0, 3); OutImage; OutText("Tempo medio di permanenza in coda...: "); Etw := Etw / Usciti; OutFix(Etw, 2, 6); OutImage; OutText("Tempo medio di permanenza in ufficio: "); Ets := Ets / Usciti; OutFix(Ets, 2, 6); OutImage;

145 45 Ufficio postale: codice Simula OutText("Tempo max di permanenza in ufficio..: "); OutFix(MaxAttesa, 2, 6); OutImage; OutText("Numero medio di clienti in coda...: "); Ew := Lambda * Etw; OutFix(Ew, 2, 6); OutImage; OutText("Numero medio di clienti in ufficio..: "); Es := Lambda * Ets; OutFix(Es, 2, 6); OutImage; OutText("Coefficiente di utilizzazione...: "); Ro := Lambda/Mu; OutFix(Ro, 2, 6); OutImage end Simulation; end

146 Esempio di uno sportello bancario Analisi delle simulazioni in Simula di uno sportello bancario 4

147 47 Sportello Bancario Il secondo esempio è quello di un sportello bancario che provvede al servizio dei clienti. La disciplina di servizio corrisponde all ordine di arrivo dei clienti allo sportello (FIFO). Per il sistema sportello bancario reale si può ipotizzare che le distribuzioni degli arrivi e dei tempi di servizio siano rispettivamente Poissoniane ed Esponenziale quindi i tempi di interarrivo t a avranno distribuzione esponenziale.

148 48 Sportello Bancario I seguenti passi permettono di formulare il modello alla base del programma di simulazione 1) Processo stocastico da studiare: sistema di code del tipo M/M/1/inf/5000/FIFO; 2) Parametri e le caratteristiche operative: - distibuzione di Poisson per gli arrivi, - distribuzione esponenziale per i tempi di servizio. 3) Eventi significativi : - arrivo di un nuovo cliente nella coda per lo sportello - allontanamento del cliente dallo sportello dopo aver terminato il servizio

149 49 Sportello Bancario 4) Variabili di stato dipendenti dagli eventi: - numero di elementi nella coda e nel sistema - numero di clienti serviti 5) Variabili esogene: generate mediante funzione di generazione con distribuzione esponenziale (negexp) 6) Regole di transizione di stato: avanzamento per eventi 7) Variabili endogene: generate mediante la funzione negexp

150 50 Sportello Bancario 8) Raccolta statistiche elementari: Frequenza media degli arrivi ; Frequenza media dei servizi; Tempo medio di permanenza in coda; Tempo medio di permanenza nel sistema; Numero medio di utenti nel sistema Numero massimo di utenti nel sistema Tempo massimo di permanenza nel sistema Coefficiente di utilizzazione del sistema.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Note_Batch_Application 04/02/2011

Note_Batch_Application 04/02/2011 Note Utente Batch Application Cielonext La Batch Application consente di eseguire lavori sottomessi consentendo agli utenti di procedere con altre operazioni senza dover attendere la conclusione dei suddetti

Dettagli

Procedura operativa per la gestione della funzione di formazione classi prime

Procedura operativa per la gestione della funzione di formazione classi prime Procedura operativa per la gestione della funzione di formazione classi prime Questa funzione viene fornita allo scopo di effettuare la formazione delle classi prime nel rispetto dei parametri indicati

Dettagli

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Dettagli

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

Dettagli

Introduzione alle macchine a stati (non definitivo)

Introduzione alle macchine a stati (non definitivo) Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in

Dettagli

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

I Bistabili. Maurizio Palesi. Maurizio Palesi 1 I Bistabili Maurizio Palesi Maurizio Palesi 1 Sistemi digitali Si possono distinguere due classi di sistemi digitali Sistemi combinatori Il valore delle uscite al generico istante t* dipende solo dal valore

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE. DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE. PIANIFICAZIONE La pianificazione è la prima fase. Questa è la più delicata

Dettagli

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi 7 Disegni sperimentali ad un solo fattore Giulio Vidotto Raffaele Cioffi Indice: 7.1 Veri esperimenti 7.2 Fattori livelli condizioni e trattamenti 7.3 Alcuni disegni sperimentali da evitare 7.4 Elementi

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro - PowerDIP Software gestione presenze del personale aziendale - Guida all inserimento e gestione dei turni di lavoro - Informazioni preliminari. E necessario innanzitutto scaricare e installare l ultima

Dettagli

Esercitazioni di statistica

Esercitazioni di statistica Esercitazioni di statistica Misure di associazione: Indipendenza assoluta e in media Stefania Spina Universitá di Napoli Federico II stefania.spina@unina.it 22 ottobre 2014 Stefania Spina Esercitazioni

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007 Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)

Dettagli

Manutenzione periodica al PIANO DEI CONTI

Manutenzione periodica al PIANO DEI CONTI Manutenzione periodica al PIANO DEI CONTI La nuova gestione Utilità Piano dei Conti Premessa... 2 La creazione di un nuovo sottoconto... 3 1. Nuovo sottoconto tramite duplica da piano dei conti standard...

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13 PSICOMETRIA Esercitazione n.1 C.d.L. Comunicazione e Psicologia a.a. 2012/13 ESERCITAZIONE 1: INDICE 1. Informazioni di carattere generale sulle esercitazioni 2. Il foglio di calcolo (Excel) 3. Avviare

Dettagli

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Il Modello di von Neumann (2) Prevede 3 entità logiche: Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni WINDOWS95 1. Avviare Windows95 Avviare Windows95 non è un problema: parte automaticamente all accensione del computer. 2. Barra delle applicazioni 1 La barra delle applicazioni permette di richiamare le

Dettagli

Le aree dell informatica

Le aree dell informatica Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

Mobilificio. Si vuole simulare il comportamento della gestione degli ordini da parte di una azienda che produce mobili di due qualità

Mobilificio. Si vuole simulare il comportamento della gestione degli ordini da parte di una azienda che produce mobili di due qualità Mobilificio Si vuole simulare il comportamento della gestione degli ordini da parte di una azienda che produce mobili di due qualità Gli ordini arrivano secondo una distribuzione di Poisson di valor medio

Dettagli

1 DESCRIZIONE DELLE FUNZIONI... 3 1.1 REGISTRAZIONE UTENZE INTERNET... 3. 1.1.1 Caricamento utente internet (data entry)... 3

1 DESCRIZIONE DELLE FUNZIONI... 3 1.1 REGISTRAZIONE UTENZE INTERNET... 3. 1.1.1 Caricamento utente internet (data entry)... 3 Portale TESEO Guida al servizio INDICE 1 DESCRIZIONE DELLE FUNZIONI... 3 1.1 REGISTRAZIONE UTENZE INTERNET.... 3 1.1.1 Caricamento utente internet (data entry)... 3 1.1.2 Primo accesso e registrazione...

Dettagli

Lezione 2. Sommario. Il sistema binario. La differenza Analogico/Digitale Il sistema binario

Lezione 2. Sommario. Il sistema binario. La differenza Analogico/Digitale Il sistema binario Lezione 2 Il sistema binario Sommario La differenza Analogico/Digitale Il sistema binario 1 La conoscenza del mondo Per poter parlare (ed elaborare) degli oggetti (nella visione scientifica) si deve poter

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Esercizi sulla conversione tra unità di misura

Esercizi sulla conversione tra unità di misura Esercizi sulla conversione tra unità di misura Autore: Enrico Campanelli Prima stesura: Settembre 2013 Ultima revisione: Settembre 2013 Per segnalare errori o per osservazioni e suggerimenti di qualsiasi

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN zkiziltan@deis.unibo.it Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Sistemi Operativi Esercizi Gestione Memoria

Sistemi Operativi Esercizi Gestione Memoria Sistemi Operativi Esercizi Gestione Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides ad A. Memo e T. Vardanega Sistemi Operativi - C. Palazzi 64 Esercizio 1 Dato un

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Generazione di Numeri Casuali- Parte 2

Generazione di Numeri Casuali- Parte 2 Esercitazione con generatori di numeri casuali Seconda parte Sommario Trasformazioni di Variabili Aleatorie Trasformazione non lineare: numeri casuali di tipo Lognormale Trasformazioni affini Numeri casuali

Dettagli

Gestione Multilingua

Gestione Multilingua Gestione Multilingua REDAZIONE Revisione Redatto da Funzione Data Approvato da Funzione Data 00 Silvia Governatori Analista funzionale junior 28/01/2011 REVISIONI Revisione 00 Prima emissione Descrizione

Dettagli

PROBABILITÀ SCHEDA N. 5 SOMMA E DIFFERENZA DI DUE VARIABILI ALEATORIE DISCRETE

PROBABILITÀ SCHEDA N. 5 SOMMA E DIFFERENZA DI DUE VARIABILI ALEATORIE DISCRETE PROBABILITÀ SCHEDA N. 5 SOMMA E DIFFERENZA DI DUE VARIABILI ALEATORIE DISCRETE 1. Distribuzione congiunta Ci sono situazioni in cui un esperimento casuale non si può modellare con una sola variabile casuale,

Dettagli

Algebra di Boole Algebra di Boole

Algebra di Boole Algebra di Boole 1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole

Dettagli

INTRODUZIONE ALLE BASI DATI RELAZIONALI

INTRODUZIONE ALLE BASI DATI RELAZIONALI INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE

Dettagli

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette. 3.5 STAMPA UNIONE Le funzioni della stampa unione (o stampa in serie) permettono di collegare un documento principale con un elenco di nominativi e indirizzi, creando così tanti esemplari uguali nel contenuto,

Dettagli

VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA

VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA Riportiamo di seguito i vari passaggi per poter gestire la rivalorizzazione, sui documenti di scarico, del costo di

Dettagli

SAP Manuale del firmatario DocuSign

SAP Manuale del firmatario DocuSign SAP Manuale del firmatario DocuSign Sommario 1. SAP Manuale del firmatario DocuSign... 2 2. Ricezione di una notifica e-mail... 2 3. Apposizione della firma sul documento... 3 4. Altre opzioni... 4 4.1

Dettagli

Gestione Audit di Certificazione

Gestione Audit di Certificazione Gestione Audit di Certificazione (e Azioni di Miglioramento conseguenti alle NC ed Osservazioni rilevate) Caso di Studio Q104 Rev. 3 Dicembre 2013 Sommario Programmazione dell audit Visualizzazione impegni

Dettagli

La disposizione estetica della lettera commerciale

La disposizione estetica della lettera commerciale La disposizione estetica della lettera commerciale Gli elementi costitutivi della lettera commerciale vengono disposti sul foglio secondo stili diversi: ogni a- zienda, infatti, caratterizza la sua immagine

Dettagli

Input/output in C e in C++

Input/output in C e in C++ FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n SPAZI E SOTTOSPAZI 1 SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n Spazi di matrici. Spazi di polinomi. Generatori, dipendenza e indipendenza lineare, basi e dimensione. Intersezione e somma di sottospazi,

Dettagli

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS Versione 1.2 9 Luglio 2007 Pagina 1 di 16 SOMMARIO 1. Cos è Outlook Web Access... 3 2. Quando si usa... 3 3. Prerequisiti per l uso di Outlook

Dettagli

IM-6145. Un sistema di misurazione completamente nuovo. p osi z iona re e. Sistema di misurazione dimensionale tramite immagini. Esempi di misurazione

IM-6145. Un sistema di misurazione completamente nuovo. p osi z iona re e. Sistema di misurazione dimensionale tramite immagini. Esempi di misurazione IM-6145 Un sistema di completamente nuovo È su ffi c iente p osi z iona re e preme re Sistema di dimensionale tramite immagini Esempi di Panoramica del sistema di dimensionale tramite immagini Obiettivo

Dettagli

Normalizzazione. Definizione

Normalizzazione. Definizione Normalizzazione Definizione Le forme normali 2 Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione

Dettagli

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Introduzione a Visual Basic Lezione 2 Cicli e anomalie a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto

Dettagli

B2B. Manuale per l utilizzatore.

B2B. Manuale per l utilizzatore. B2B Manuale per l utilizzatore. Pag.1 di 9 Accesso al portale Dal sito istituzionale di (www.safesafety.com) si accede alla sezione e-commerce B2B cliccando sull omonima icona. E anche possibile accedere

Dettagli

Modelli matematici e Data Mining

Modelli matematici e Data Mining Modelli matematici e Data Mining Introduzione I modelli matematici giocano un ruolo critico negli ambienti di business intelligence e sistemi di supporto alle decisioni. Essi rappresentano un astrazione

Dettagli

Pro memoria per la ripartizione delle spese

Pro memoria per la ripartizione delle spese Pro memoria per la ripartizione delle spese Documento di lavoro post incontro del 23 e 24 novembre 2009, Roma, ad uso interno del Gruppo di lavoro Istat-Upi per la sperimentazione della contabilità ambientale

Dettagli

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota Corso di Software di produttività personale e database Ing Pasquale Rota Argomenti I programmi di produttività personale Le basi di dati Fogli elettronici Software di produttività personale e database

Dettagli

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Manuale utente Soggetto Promotore Erogatore Politiche Attive Manuale utente Soggetto Promotore Erogatore Politiche Attive Guida all utilizzo del Sistema Garanzia Giovani della Regione Molise Sistema Qualità Certificato UNI EN ISO 9001:2008 9151.ETT4 IT 35024 ETT

Dettagli

Flessibilità Orario e Banca Ore

Flessibilità Orario e Banca Ore UR1003102000 Flessibilità Orario e Banca Ore Manuale Operativo Wolters Kluwer Italia s.r.l. - Tutti i diritti riservati. Nessuna parte di questi documenti può essere riprodotta o trasmessa in qualsiasi

Dettagli

STATISTICA DESCRITTIVA. Elementi di statistica medica GLI INDICI INDICI DI DISPERSIONE STATISTICA DESCRITTIVA

STATISTICA DESCRITTIVA. Elementi di statistica medica GLI INDICI INDICI DI DISPERSIONE STATISTICA DESCRITTIVA STATISTICA DESCRITTIVA Elementi di statistica medica STATISTICA DESCRITTIVA È quella branca della statistica che ha il fine di descrivere un fenomeno. Deve quindi sintetizzare tramite pochi valori(indici

Dettagli

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

Dettagli

Procedura tecnica di accreditamento dei Registrar

Procedura tecnica di accreditamento dei Registrar Procedura tecnica di accreditamento dei Registrar Linee Guida Versione 2.1 settembre 2015 SOMMARIO 1 Revisioni 1 2 Introduzione 2 3 Durata e tempi del test 2 4 Accounts 2 5 Corretta esecuzione e completamento

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel

Dettagli

Esercitazione # 3. Trovate la probabilita che in 5 lanci di un dado non truccato il 3 si presenti

Esercitazione # 3. Trovate la probabilita che in 5 lanci di un dado non truccato il 3 si presenti Statistica Matematica A Esercitazione # 3 Binomiale: Esercizio # 1 Trovate la probabilita che in 5 lanci di un dado non truccato il 3 si presenti 1. mai 2. almeno una volta 3. quattro volte Esercizio #

Dettagli

Symantec IT Management Suite 8.0 powered by Altiris technology

Symantec IT Management Suite 8.0 powered by Altiris technology Symantec IT Management Suite 8.0 powered by Altiris technology Informazioni sulle operazioni e sulle azioni di Monitor Solution Oltre alle attività standard di Symantec Management Platform, i pacchetti

Dettagli

Algoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.

Algoritmi. Un tema centrale dell informatica è lo studio degli algoritmi. Algoritmi Un tema centrale dell informatica è lo studio degli algoritmi. Ora nostro obiettivo sarà quello di esplorare a sufficienza questa materia fondamentale per poter capire e apprezzare appieno l

Dettagli

Funzioni condizionali

Funzioni condizionali Excel Base- Lezione 4 Funzioni condizionali Sono funzioni il cui risultato è dipendente dal verificarsi o meno di una o più condizioni. Esempio: SE CONTA.SE SOMMA.SE E, O 1 Funzione SE La funzione SE serve

Dettagli

CORSO DI STATISTICA (parte 1) - ESERCITAZIONE 5

CORSO DI STATISTICA (parte 1) - ESERCITAZIONE 5 CORSO DI STATISTICA (parte 1) - ESERCITAZIONE 5 Dott.ssa Antonella Costanzo a.costanzo@unicas.it Esercizio 1. Misura dell associazione tra due caratteri Uno store manager è interessato a studiare la relazione

Dettagli

Risultati esperienza sul lancio di dadi Ho ottenuto ad esempio:

Risultati esperienza sul lancio di dadi Ho ottenuto ad esempio: Dado B (6): 2 2 6 6 6 1 1 3 6 4 6 6 3 1 1 4 1 6 3 6 6 4 6 3 2 4 3 2 6 3 5 5 6 4 3 3 2 1 2 1 6 3 2 4 4 3 6 6 3 2 1 6 6 4 6 1 3 6 6 1 6 2 4 5 3 3 6 2 1 6 6 3 1 2 6 3 1 3 4 6 1 6 4 1 6 4 6 6 6 5 5 2 4 1 2

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Statistica Applicata all edilizia Lezione 3: i numeri indice

Statistica Applicata all edilizia Lezione 3: i numeri indice Lezione 3: i numeri indice E-mail: orietta.nicolis@unibg.it 24 marzo 2009 Programma Programma Operazioni statistiche elementari Vengono utilizzate per confrontare fenomeni nel tempo (nello stesso luogo

Dettagli

Comune Fabriano. Protocollo Generale, Servizio Progettazione, Servizio Edilizia Privata. Progetto di Certificazione secondo le norme ISO 9000

Comune Fabriano. Protocollo Generale, Servizio Progettazione, Servizio Edilizia Privata. Progetto di Certificazione secondo le norme ISO 9000 Comune Fabriano Protocollo Generale, Servizio Progettazione, Servizio Edilizia Privata Progetto di Certificazione secondo le norme ISO 9000 Formazione per auditor interni 25 maggio 2009 1 SOMMARIO Il significato

Dettagli

MUDE Piemonte. Nuove modalità salvataggio, firma istanza e gestione allegati

MUDE Piemonte. Nuove modalità salvataggio, firma istanza e gestione allegati MUDE Piemonte Nuove modalità salvataggio, firma istanza e gestione allegati STATO DELLE VARIAZIONI Versione Paragrafo o Pagina Descrizione della variazione V01 Tutto il documento Versione iniziale del

Dettagli

INDICE. PULSE Manuale Operativo Pag. 1

INDICE. PULSE Manuale Operativo Pag. 1 www.clsystem.it PULSE LE PRESENZE VIAGGIANO SUL WEB MANUALE OPERATIVO AZIENDA PULSE Manuale Operativo Pag. 1 INDICE ACCESSO AL PROGRAMMA Pag. 2 TABELLE Pag. 3 1 CALENDARIO Pag. 3 2 VOCI Pag. 4 3 C.C.N.L.

Dettagli

Risoluzione di problemi ingegneristici con Excel

Risoluzione di problemi ingegneristici con Excel Risoluzione di problemi ingegneristici con Excel Problemi Ingegneristici Calcolare per via numerica le radici di un equazione Trovare l equazione che lega un set di dati ottenuti empiricamente (fitting

Dettagli

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI EXCEL Alfabetizzazione Informatica Prof. GIUSEPPE PATTI Operazioni base Excel è un programma che trasforma il vostro computer in un foglio a quadretti, così come Word lo trasformava in un foglio a righe.

Dettagli

GUIDA PER LA COMPILAZIONE DELLA DOMANDA ON LINE DI PARTECIPAZIONE AL

GUIDA PER LA COMPILAZIONE DELLA DOMANDA ON LINE DI PARTECIPAZIONE AL GUIDA PER LA COMPILAZIONE DELLA DOMANDA ON LINE DI PARTECIPAZIONE AL CONCORSO PER L AMMISSIONE AI CORSI DI DOTTORATO DI RICERCA CICLO XXXI A.A. 2015-2016 URRI/MC/as 1 La presente Guida fornisce le indicazioni

Dettagli

Variabili aleatorie Parte I

Variabili aleatorie Parte I Variabili aleatorie Parte I Variabili aleatorie Scalari - Definizione Funzioni di distribuzione di una VA Funzioni densità di probabilità di una VA Indici di posizione di una distribuzione Indici di dispersione

Dettagli

Manuale Utente CMMG Corso Medici Medicina Generale

Manuale Utente CMMG Corso Medici Medicina Generale CMMG- Manuale Utente CMMG Aprile 2014 Versione 1.1 Manuale Utente CMMG Corso Medici Medicina Generale CMMG-Manuale Utente.doc Pagina 1 di 14 CMMG- Manuale Utente AGGIORNAMENTI DELLE VERSIONI Versione Data

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Immagini in movimento 2 Immagini in movimento Memorizzazione mediante sequenze di fotogrammi.

Dettagli

Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per:

Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per: INTRODUZIONE AI CONTATORI Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per: o Conteggio di eventi o Divisione di frequenza o Temporizzazioni Principi

Dettagli

ANAGRAFE NAZIONALE CREDITI FORMATIVI. Manuale utente

ANAGRAFE NAZIONALE CREDITI FORMATIVI. Manuale utente ANAGRAFE NAZIONALE CREDITI FORMATIVI Manuale utente Versione 1.0.0 APRILE 2015 1. Registrazione Per accedere al Sistema è necessario avere un nome utente e una password, ottenibili mediante una semplice

Dettagli

Analisi e Programmazione

Analisi e Programmazione Algoritmi 1 Analisi e Programmazione I Calcolatori Elettronici si differenziano da altri tipi di macchine per il fatto che possono essere predisposti alla risoluzione di problemi di diversa natura. A tale

Dettagli

Fattura Elettronica e Piattaforma Certificazione dei Crediti (PCC).

Fattura Elettronica e Piattaforma Certificazione dei Crediti (PCC). Piattaforma Certificazione dei Crediti e Fattura Elettronica (Guida per inserimento manuale dati pagamento) 1 Fattura Elettronica e Piattaforma Certificazione dei Crediti (PCC). L introduzione della Fattura

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

3. Terza esercitazione autoguidata: progetto gestione voli

3. Terza esercitazione autoguidata: progetto gestione voli 9 3. Terza esercitazione autoguidata: progetto gestione voli Qui ci occupiamo di scrivere un programma abbastanza lungo, dedicato alla gestione di una tabella di dati. Una tabella e una struttura dati

Dettagli

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: "Algoritmo = Logica + Controllo"

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: Algoritmo = Logica + Controllo Programmazione Logica Bob Kowalski: "Algoritmo = Logica + Controllo" nella programmazione tradizionale: il programmatore deve occuparsi di entrambi gli aspetti nella programmazione dichiarativa: il programmatore

Dettagli

Indicazioni per lo svolgimento dell esercitazione di laboratorio

Indicazioni per lo svolgimento dell esercitazione di laboratorio Indicazioni per lo svolgimento dell esercitazione di laboratorio Classe 5ª Istituto tecnico Istituto professionale Redazione della Situazione patrimoniale e analisi delle condizioni di equilibrio patrimoniale

Dettagli

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Pillola operativa Presenze Rilevazione timbrature Versione 1.1 del

Dettagli

ANALISI E GESTIONE DEI COSTI

ANALISI E GESTIONE DEI COSTI ANALISI E GESTIONE DEI COSTI Dott.ssa Francesca Mandanici Le valutazioni di convenienza economica di breve periodo: l'analisi differenziale 18 NOVEMBRE 2010 Le applicazioni dell analisi della variabilità

Dettagli

Lezione 3 Progettazione di siti

Lezione 3 Progettazione di siti Lezione 3 Progettazione di siti Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano Elementi base della progettazione di servizi

Dettagli

La gestione dell I/O (Cap. 5, Tanenbaum)

La gestione dell I/O (Cap. 5, Tanenbaum) La gestione dell I/O (Cap. 5, Tanenbaum) Prestazioni e generalità Gestione software Supporti su disco Orologi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 1 Prestazioni e generalità

Dettagli

Lezione 12 Argomenti

Lezione 12 Argomenti Lezione 12 Argomenti Costi di produzione: differenza tra costo economico e costo contabile I costi nel breve periodo Relazione di breve periodo tra funzione di produzione, produttività del lavoro e costi

Dettagli

Guida rapida. Versione 9.0. Moving expertise - not people

Guida rapida. Versione 9.0. Moving expertise - not people Guida rapida Versione 9.0 Moving expertise - not people Copyright 2006 Danware Data A/S. Parti utilizzate da terzi con licenza. Tutti i diritti riservati Revisione documento: 2006080 Inviare commenti a:

Dettagli

IL TIME MANAGEMENT: ORGANIZZARE IL TEMPO E GOVERNARLO

IL TIME MANAGEMENT: ORGANIZZARE IL TEMPO E GOVERNARLO Idee e metodologie per la direzione d impresa Giugno - Luglio 2003 Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. : ORGANIZZARE

Dettagli

Internet (- working). Le basi.

Internet (- working). Le basi. Internet (- working). Le basi. 1 GABRIELLA PAOLINI (GARR) 18 OTTOBRE 2011 Capire come funziona Internet 2 FACCIAMO UN PASSO INDIETRO Internet È un insieme di reti interconnesse fra di loro su tutto il

Dettagli

Manuale Utente per la Gestione dei Revisori degli Enti Locali

Manuale Utente per la Gestione dei Revisori degli Enti Locali Manuale Utente per la Gestione dei Revisori degli Enti Locali INDICE DEI CONTENUTI 1 PRESENTAZIONE DEL DOCUMENTO 3 1.1 INTRODUZIONE NORMATIVA 3 1.2 DEFINIZIONE DEI TERMINI/GLOSSARIO 4 2 MODALITÀ DI ACCESSO

Dettagli