Analisi empirica dei meccanismi di log in sistemi open-source
|
|
- Berto Rinaldi
- 8 anni fa
- Visualizzazioni
Transcript
1 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea Analisi empirica dei meccanismi di log in sistemi open-source Anno Accademico 21/211 Relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Antonio Pecchia candidato Imperatrice Assunta 534/1657
2 Taluni nascono grandi. Altri alla grandezza giungono per gradi. (W. Shakespeare)
3 Indice Introduzione 5 Capitolo 1. Log Analysis I logs Il meccanismo di logging Il formato dei logs Contributo e problematiche della Log Analysis Obiettivo della tesi 15 Capitolo 2. Progettazione ed implementazione di un tool per il parsing delle chiamate alle funzioni di log Il tool di parsing Scopo del tool Modalità operative Problematiche e soluzioni proposte Considerazioni per la fase di progettazione Validazione dei risultati prodotti 22 Capitolo 3. Descrizione e catalogazione dei sistemi open-source Apache HTTP Web Server Data Distribution Service Cardamom Object Web Corba TAO Minix MySQL RTEMS Criteri di catalogazione dei sistemi 37 Capitolo 4. Analisi sperimentale Confronto del meccanismo di logging tra alcune release di uno stesso software Confronto del logging tra alcune release di Apache Confronto del logging tra alcune release del DDS Confronto del meccanismo di logging tra differenti classi di sistemi 46 III
4 4.2.1 Confronto del logging tra sistemi di vari domini applicativi Confronto del logging tra sistemi con diverse architetture a livello di S.O Confronto del logging tra sistemi scritti in differenti linguaggi di programmazione Confronto del logging tra differenti tipologie di sistema: centralizzato e distribuito 64 Conclusioni e sviluppi futuri 7 Bibliografia 71 IV
5 Introduzione Con l'evoluzione dei sistemi di elaborazione sempre più settori (militari, finanziari, industriali, ecc.) affidano a sistemi automatici il controllo di delicate operazioni. Tale evoluzione ha portato la nascita di calcolatori sempre più funzionali e performanti ma non necessariamente più affidabili o esenti da clamorosi fallimenti. Ogni malfunzionamento può provocare danni più o meno gravi : per esempio, un errore di sviluppo nel campo della telefonia potrebbe comportare problemi di connessione, di ricezione mentre conseguenze più disastrose potrebbero verificarsi in scenari cosiddetti critici per i quali un fallimento nell'assolvere una o più funzioni ad essi richiesti comportano conseguenze di notevole gravità in termini di perdite economiche e/o danni a persone e/o ambiente : si pensi ad un errore in sistemi di controllo di traffico aereo. I fallimenti dei sistema possono essere legati a problemi hardware, generando errori solitamente transitori e facilmente individuabili, e/o a errori nel software, tipicamene più comuni. Questi ultimi sono legati a difetti presenti nella parte software del sistema, noti con il termine Software Faults. La loro usualità è legata alla crescita continua della complessità dei sistemi moderni : oggigiorno i Software Faults sono una delle principali cause di fallimento delle applicazioni. L ipotesi attuale è che non possono essere realizzati software privi di bugs. Ciononostante, soprattutto negli scenari critici, è necessario avere un alto grado di affidabilità del comportamento del sistema. Per questo motivo, sia durante la sua fase di 5
6 sviluppo hardware e software che dopo il suo rilascio, è essenziale che esso venga continuamente osservato ed esaminato. Tuttavia un sistema che funziona correttamente può contenere faults non attivi, detti dormienti. Una delle metodologie più diffuse per la correzione del sistema dai Sosftware Faults è il logging: un insieme di istruzioni per il rilevamento degli errori che si presentano all interfaccia del sistema quando uno o più Software Faults dormienti sono attivati dai fault trigger 1. Attraverso delle semplici chiamate a funzioni di una libreria specifica, inserite in punti specifici del codice sorgente, esse permettono di raccogliere le informazioni relative all evento in appositi file log. La Log Analysis consente di ricostruire la catena di propagazione del guasto (faulterror-failure). Tuttavia, come vedremo in seguito, questo pattern presenta un importante limite : si dimostra che un numero significativo di Software Faults provocano il failure del sistema senza la produzione di alcun event log. Lo scopo di questo elaborato è quello di fornire, mediante un analisi sperimentale di sistemi software, le informazioni necessarie per comprendere l evoluzione del meccanismo di logging tra varie release di uno stesso software e tra diverse tipologie di sistemi : quali costrutti sono stati preferiti ad altri, come è variata la quantità di chiamate ai logs, etc. Tali dati sono interessanti al fine di intuire le eventuali cause della scarsa copertura del meccanismo. Il lavoro è organizzato come segue : Nel capitolo 1 sono introdotti i concetti necessari alla comprensione della log analysis : definizione di log, meccanismi per la detection e collection dei dati, obiettivi e limitazioni della metodologia; Nel capitolo 2 viene illustrato nel dettaglio lo scopo di questa tesi e le tecniche di realizzazione adottate: chiarimenti sulla fase di analisi e progettazione del tool usato per il parsing delle chiamate alle funzioni di logs e sull indagine sperimentale delle 1 I fault trigger sono delle particolari condizioni di attivazione dei fault, quali un particolare stato del sistema, una determinata sequenza di input. Non sono semplici da evidenziare solo con il testing 6
7 strutture usate per la detection. È riportato un esempio a scopo dimostrativo; Nel capitolo 3 è fornita una breve discussione dei sistemi software open-source selezionati per lo studio. Al fine di realizzare dei confronti e delle statistiche significative i software sono stati scelti in modo da coprire differenti caratteristiche reali e classificati secondo particolari criteri di analisi; Nel capitolo 4 sono esposti i risultati sperimentali : attraverso l elaborazione dei risultati ottenuti dall indagine, supportata dal tool, viene analizzata la modalità di detection prima tra le diverse release di uno stesso software e poi tra le differenti categorie di cui prima. 7
8 Capitolo 1 Log Analysis Il fiorire di scenari applicativi sempre più nuovi e complessi, soprattutto in ambienti critici, porta alla necessità di realizzare sistemi software non solo più sofisticati e potenti ma soprattutto più affidabili. Un malfunzionamento in una critical application può provocare danni molto gravi non solo in termini economici ma anche ambientali o addirittura perdite di vite umane. Le cause per cui un sistema può portarsi in uno stato incoerente, e dunque fallire, sono molteplici e possono manifestarsi in ogni fase del suo ciclo di vita: guasto hardware, errori in fase di design, di manutenzione, etc. Nell ambito ingegneristico sono di particolare interesse i Software Faults, classificati come la principale causa dei fallimenti dei sistemi software. I Software Faults sono delle imperfezioni nel codice del sistema, anche noti con il termine bugs : quando si presentano con modalità deterministica si parla di hard faults, mentre si parla di elusive faults quando essi, per limitazioni temporali e tecnologiche, sfuggono ai controlli della fase di testing e si manifestano sotto determinate condizioni computazionali (fault trigger). La natura non deterministica di questo tipo di faults fa sì che ogni applicazione software sia caricata di difetti residui (residual faults). La conseguenza è che un qualsiasi sistema, anche apparentemente corretto, può contenere dei faults inattivi, detti dormienti. L attivazione di un fault, in seguito a particolari trigger, porta il sistema in uno stato di errore : la produzione non corretta del servizio verifica un
9 failure. La rilevazione dell errore e le opportune tecniche di ripristino riportano il sistema ad operare in maniera corretta. In Figura 1 è riportata la catena di propagazione faulterror-failure. La distinzione tra errore e fallimento deriva dalla considerazione che in un sistema complesso l errore può essere confinato ad uno o più componenti senza raggiungere l interfaccia di servizio del sistema, mentre si ha un failure per la propagazione dell errore verso l interfaccia del sistema alterando la correttezza del servizio. È chiaro che l errore deve raggiungere l interfaccia in un tempo ragionavole, altrimenti viene classificato come errore latente. Fault, error e failure sono legati da una precisa relazione definita in letteratura come patologia del guasto. Poichè il fallimento di un componente può rappresentare un guasto esterno per un altro componente, la catena è ricorsiva. Figura 1 Catena di propagazione dell errore I Fallimenti Software rappresentano l incubo dell Information Age. Oltre agli errori ʺ tradizionaliʺ, quali le eccezioni e le computazioni errate, alcuni software faults sviluppati possono essere la causa dell invecchiamento del software : fenomeno in cui progressivamente le condizioni di errore maturate conducono o alla degradazione delle performance o a fallimenti transitori, o ad entrambi. Esempi sono la memoria piena, threads sospesi, corruzione dei dati, frammentazione dello spazio di memorizzazione. 9
10 A causa dell evoluzione di questi sistemi software, soprattutto in molteplici applicazioni critiche, è necessario che essi godino di un elevato grado di affidabilità. Le tecniche per aumentare il grado di dependability di un sistema sono diverse e si differenziano per il modo con cui si relazionano all occorrenza di un fault. La scelta della particolare strategia da adottare è legata alla natura del sistema e al grado di sicurezza che si vuole raggiungere. La log analysis è una delle tecniche a disposizione degli sviluppatori per misurare in maniera diretta la dependability di sistemi software complessi. 1.1 I logs I file di log sono dei file testuali in cui applicazioni, componenti o moduli di sistema memorizzano le informazioni delle operazioni compiute durante la fase operativa del sistema quando si rileva l attivazione di un software fault che ha portato l esecuzione ad uno stato di fallimento (es. se violata un asserzione di una variabile) o di avaria (es. se si riceve un servizio non corretto). Possono essere usati per molteplici scopi ma principalmente intesi per caratterizzare l affidabilità dei sistemi operazionali. Sono realizzati da manodopera umana, organizzati in record contenenti principalmente un timestamp, la descrizione sintetica dell evento, dello stato del sistema, una severity 2, l hostname, il pid del processo che ha generato l errore e possono mostrarsi come avvisi generici, notifiche di stati di errore, etc. Es. July 27 12:46 testlogs[1552] : Attenzione a questo evento! Il formato dell'entry di log è del tutto arbitrario, solitamente rivolto alla comprensione umana: il processo di logging è strettamente legato alla soggettività del singolo sviluppatore, per cui capita spesso che i formati dei logs differiscano sensibilmente anche tra varie sezioni dello stesso software. 1.2 Il meccanismo di logging Il meccanismo di logging è dunque una metodologia che si occupa della detection degli 2 Severity: grado di gravità scelto in un range predefinito 1
11 errori, dovuti all attivazione di Software Faults durante la fase operativa, e della collection delle informazioni relative all evento e allo stato del sistema al momento del rilevamento all interno dei logs. È necessario tener presente che una piattaforma dedicata al logging deve consentire allo sviluppatore di creare messaggi con invocazioni non complesse e permetterne la memorizzazione sul disco in un formato prestabilito, garantendo in tal modo la permanenza dei dati anche in caso di caduta del nodo o comunicazioni 3. Il meccanismo di logging richiede uno studio preliminare del sistema e del suo ambiente sia per identificare le tecniche adeguate al contesto sia per decidere se accompagnarle o meno con un componente ad hoc per il monitoraggio. La registrazione delle informazioni avviene per mezzo di chiamate proprie di una libreria di registrazione nel codice sorgente del programma in punti specifici. Di seguito è riportato un esempio della chiamata a log estrapolata dal file sorgente PublisherImpl.ccp del Middleware DDS 1.. È a cura del programmatore inserire correttamente le chiamate di registrazione all'interno del codice sorgente. I logs risultanti possono essere resi leggibili agli utenti o alle macchine a seconda della loro progettazione e alla loro finalità. if (enabled_ == false) { ACE_ERROR ((LM_ERROR, ACE_TEXT("(%P %t) ERROR: PublisherImpl::lookup_datawriter, ") ACE_TEXT(" Entity is not enabled. \n"))); return ::DDS::DataWriter::_nil (); } Chiamata dʼattivazione estratta dal file sorgente PublisherImpl.cpp di DDS 1. ( ) Sistemi noti basati sul meccanismo di logging sono Unix Syslong 4 e Microsoft. Syslong è un protocollo particolarmente diffuso in ambiente Unix/Linux, prevede che i messaggi di log non siano localmente memorizzati bensì instradati, attraverso la rete, verso applicazioni di monitoraggio. Definisce tre tipologie di entries : 3 I log possono essere memorizzati su database relazionali o su file 4 Con il termine Syslong (System Log) si indica un protocollo appartenente alla suite dei protocolli Internet 11
12 1) Originator che rappresenta il codice del messaggio ; 2) Relay usato per l instradamento ; 3) Collector che si occupa dell analisi e del monitoraggio. A differenza degli altri protocolli, esso non rappresenta uno standard rigidamente definito. Il suo semplice funzionamento può essere così schematizzato : - il client invia un certo messaggio di testo al server, comunemente definito come syslong daemon o syslong server ; - il server può gestire messaggi provenienti da una variegata tipologia di macchine (computer, stampanti, ecc.) e può limitarsi a registrare l'evento per avere un archivio centrale di avvenimenti oppure reagire a particolari livelli di severità chiamando programmi, inviando , etc. La Microsoft, invece, mette a disposizione una sofisticata piattaforma per fare logging distribuito realizzata con tools per l analisi di logs propietari, la Windows Event Log. Gli amministratori di sistemi Windows possono scegliere di inoltrare i logs ai vari sistemi nella rete di lavoro includendo un singolo log server con il compito di collezionare i logs proveninenti da tutte le macchine. Utilizza il Microsoft Event Log protocol : ogni host Windows esegue un Event Log provider, accessibile dal codice usando particolari chiamate di sistema. In presenza di una new entry, quindi quando un error è loggato, il provider automaticamente la scrive sul file log locale oppure la inoltra verso hosts remoti specifici a seconda della configurazione. 1.3 Formato dei logs Come anticipato nel paragrafo 1.1, la mancanza di uno standard per la struttura dei messaggi di log è causa di elevati livelli di eterogenità tra di loro. Ad esempio : I logging frameworks di Apache usano un formato di log personalizzato la cui sintassi è stata stabilita da un pugglable di componenti. È adatto per l adozione di un formato di linguaggio comune ; Syslong impone che i messaggi abbiano una struttura molto semplice : organizzati in record contenti una severity e una facility, seguiti da campi quali timestamp, hostname 12
13 dell originator, il nome dell applicazione. Tuttavia, alla semplicità della struttura si oppone una libertà di sintassi, che contribuisce al problema dell eterogeneità dei dati. Una severity rappresenta un grado d importanza del messaggio ai scopi di analisi, una facility è usata per gruppi di messaggi provenienti da un certo tipo di sorgenti, quali kernel, mail daemon. Se combinati tra loro, secondo la legge P=F*8+S, definiscono il valore di priorità del log. Mycrosoft impone per i Windows Event Log un formato code-oriented : i logs non sono scritti in file testuali ma memorizzati in un database nel loro formato originale e privi di ogni forma di serializzazione. Il formato è definito seguendo frammenti di codice C e prevede il salvataggio di due differenti timestamp : uno che indica il tempo in cui il messaggio è stato registrato e l altro il tempo in cui è stato scritto nel log. 1.4 Contributo e problematiche della Log Analysis La Log Analysis, schematizzata in Figura 2, permette attraverso una registrazione cronologica dei file log di: stabilire le correlazioni tra malfunzionamenti e determinate condizioni di carico di lavoro ; identificare le cause all origine di errori e comportamenti indesiderati ed imprevisti ; fornire analisi ed interpretazioni statistiche sui fallimenti e sulle conseguenti riparazioni dei guasti. Figura 2 Log Analysis Può essere utilizzata dagli sviluppatori per ricostruire la catena fault-error-failure, scoprire i faults (prima dormienti e in seguito attivati) e correggerli, dagli amministratori per 13
14 ottenere delle statistiche sull utilizzo del sistema. Tuttavia, nello scenario descritto non si è tenuto conto dei limiti del meccanismo di logging : la rilevazione di un fallimento è a carico di un operatore umano e dipende fortemente dal fatto che il modulo o l'applicazione tenga traccia o meno del particolare evento che ha generato il failure : il software può contenere dei faults che sfuggono anche al controllo di basso-livello e quindi restare totalmente inclassificati, in tal caso si parlerà di faults non loggati ; non esiste uno standard dedicato alla scrittura dei logs e ciò comporta problemi legati alla loro etereogenità che coinvolge sia il formato sia i contenuti ; i logs possono contenere informazioni fuorvianti, essere incompleti e ridondanti. L eterogeneità del formato è fortemente legata alla complessità del codice del sistema. I problemi legati a questo aspetto possono essere risolti convertendo tutte le entries in un formato comune mentre c'è poco da fare per quelli legati alla varietà dei contenuti. Un aspetto più critico dei limiti del logging riguarda la scarsa copertura dei logs rispetto a quei software faults che, una volta attivati, danno luogo ad errori che generano il bug del sistema rimanendo totalmente inclassificati. Questa difetto spesso è legato alla mancanta consapevolezza della presenza di fenomeni di propagazione degli errori, fonte di un numero elevato di eventi apparentementi non correlati nei logs. Una valutazione dell affidabilità della piattaforma di Windows NT la Log Analysis ha evidenziato che ben il 58% delle cause di failures non sono classificate, mentre uno studio sulla JVM mostra che, pur essendo dotata di un sosfisticato meccanismo di gestione delle eccezioni, non risultano segnalati nei logs il 45% dei casi di fallimento. Questi valori evidenziano una significativa percentuale di difetti strutturali non rilevatati dal meccanismo di logging. Sebbene siano stati realizzati numerosi studi per il perfezionamento delle tecniche per la detection e sulla ricerca di metodologie più innovative per garantire lo sviluppo e la diffusione di sistemi con un più alto livello di dependability, contribuendo alla realizzazione di tools automatici per la generazione e l'analisi (post e/o real time) degli 14
15 eventi di log da fornire poi agli ingegneri del software sia per le nuove applicazioni sia per le applicazioni legacy 5, quale la fault injection oppure la Field Failure Data Analysis (FFDA), risulta ancora poco consistente il contributo nelle ricerche per il superamento di queste limitazioni. 1.5 Obiettivo della tesi Lo scopo del presente elaborato è quello di fornire una valutazione quantativa della metodologia di logging, mediante un analisi sperimentale della modalità con cui è realizzata in un set di software open-source utilizzati in Critical Application. L indagine è compiuta con l ausilio di un tool per il parsing delle chiamate alle funzioni di log (vedi Capitolo 2). Sono sottoposti ad analisi differenti release di uno stesso software, più specificamente si fa riferimento a varie release del Server Apache e del Middleware DDS, e differenti sistemi software scelti in modo da coprire una serie di caratteristiche determinate sulla base di specifici criteri : stile di programmazione (object-oriented e procedure-oriented), dominio applicativo applicativo (mission e business critical), organizzazione a livello di sistema operativo (processo server, middleware, sistema operativo), architettura (centralizzato e distribuito). I sistemi open-source che meglio rispecchiano queste caratteristiche sono : Apache Web Server, MySQL, Corba TAO, Data Distribution Service, RTEMS, Minix e Cardamom Object Web, illustrati nel capitolo 3. Una valutazione empirica delle strutture utilizzate per la detection, suddivisa secondo le tipologie di cui prima, permette di studiare il trend di logging in vari contesti al fine di fornire informazioni utili alla comprensione della scarsa copertura dei logs. 5 Un Sistema legacy è un sistema informativo esistente da anni, di valore per il business da esso supportato, che è stato ereditato dall ambiente elaborativo attuale 15
16 Capitolo 2 Progettazione ed implementazione di un tool per il parsing delle chiamate alle funzioni di log In questo capitolo sarà illustrata la strumentazione adotta per la realizzazione dell analisi sperimentale della modalità di logging nei sistemi open-source: si realizza un tool di supporto, scritto in linguaggio Bash del Sistema Operativo Linux con l ausilio delle espressioni regolari, con lo scopo di filtrare i codici sorgenti dei sistemi da esaminare, di isolare le chiamate alle funzioni di log e di ʺ catturareʺ la struttura di controllo utilizzata per la detection degli errors. Poichè per ogni sistema il logging è realizzato mediante chiamate proprie di una particolare libreria di registrazione nel codice sorgente, per poterle individuare è stato necessario uno studio preliminare dei file sorgenti per ciascuno di essi. I risultati ottenuti dal tool sono stati poi elaborati per la valutazione del trend di logging tra le release di uno stesso software e tra le differenti classi considerate. 2.1 Il tool di parsing Scopo del tool Lo script per il parsing delle chiamate ai log, denominato file_log.sh, è stato scritto in modo da renderlo valido per questo studio e per eventuali studi futuri. In altre parole, è stato realizzato in modo da risultare indipendente dai particolari software esaminati in questo contesto. Ricevuti in ingresso, nel medesimo ordine, la cartella dei file sorgenti del software sottoposto ad esame, il file di testo contenente la lista delle corrispondenti funzioni di log e
17 il numero di righe che le precedono, lo scopo del tool è quello di fornire in output : o la stima della quantità di codice dei sorgenti : Loc ; o la porzione di codice esaminato : Loc ANALIZZATE ; o l aliquota di codice dedicato al logging, ovvero il numero di chiamate a log : LOG ; o la catalogazione e il conteggio di tutte le strutture di controllo individuate, utilizzate per la detection degli errors : IF, ELSE, SWITCH, IFDEFINE, CATCH e OTHER ; gli IF sono a loro volta classificati in IF con 1 condizione, IF con 2 e IF con un numero di condizioni maggiori di 2, suddivise in base alle condizioni logiche ; o la classificazione e l enumerazione di tutte le possibili operazioni coinvolte nelle clausole dei costrutti IF : =,, <, >, e ; o la schedatura e il calcolo di ciascuno dei possibili valori coinvolti nelle condizioni degli IF : notevoli «NULL,, 1, -1, TRUE, FALSE» e di default «VALUE». I risultati ottenuti in questo step sono oggetto di studio nelle fasi successive dell analisi, esposte nel Capitolo 4. In Figura 3 è riportato un esempio di analisi del sosftware Apache v
18 SORGENTI: http_main.c, http_config.c, http_log.c FUNZIONI: ap_log_error n=3 TOOL ===================== ====Report =========================== LS SORGENTI LS ANALIZZATE 632 LOG 132 ELSE(std) 1 SWITCH 4 IFD 17 CATCH OTHER 19 TOT IF 71 -> IF 1-Cond: 66 ** IF 2-Cond: 4 ** IF >= 3-Cond: 1 IF 2-Cond-> IF 1-Op/AND: 4 ** IF 1-Op/OR: IF 3-Cond-> IF 2-Op/AND: ** IF 2-Op/OR: 1 ** IF 2-Op/AND-OR: == -!= - < - > - <= - >= NULL 4 - (4) (8) () () VALUE (44) TRUE 13 - (13) FALSE 1 - (1) Figura 3 Esempio: Analisi del software Apache Modalità operative Il funzionamento dello strumento di parsing può essere schematizzato in tre fasi: 1) Isolamento delle chiamate alle funzioni di log ; 2) Stima della percentuale della quota di codice dedicata al logging rispetto a quella dei sorgenti ; 3) Identificazione delle strutture di controllo per la detection. La fase di isolamento è adempita mediante : a) Copia di tutti i sorgenti, ricevuti come primo parametro di input, in un unico file di 18
19 testo 6. È importante tener presente che essi non sono altro che dei file scritti in un certo linguaggio di programmazione e quindi contenenti commenti che possono inquinare l analisi. Per questo motivo, tale operazione è anticipata da una di decommentazione. Il file testuale così ottenuto è denominato file_error.txt ; b) Trascrizione : fissato un n, si copia per ciascuna funzione di log (memorizzata nella lista e fornita al tool come secondo parametro d ingresso) una quantità di codice che precede la chiamata di log di un numero n di righe nel file di testo file_log_error.txt. Tale file è utilizzato per individuare le strutture utilizzate per il rilevamento di errori. La fase di stima è realizzata attraverso il conteggio delle : righe filtrate dei sorgenti, memorizzate nel file file_error.txt ; righe estrapolate per l individuazione delle strutture di controllo e salvate nel file_log_errog.txt ; chiamate a funzioni di log presenti nel file_error.txt. 2.2 Problematiche e soluzioni proposte Le difficoltà incontrate nella progettazione dello script sono state: farsì che esso fosse indipendente dalla tipologia del sistema; la scelta del numero di righe da prelevare per la cattura delle strutture di detection. La soluzione proposta per il primo punto è stata quella di fornire i sorgenti da analizzare come parametri d ingresso. In particolare, per ogni sistema è necessario raccogliere tutti i sorgenti da esaminare in una directory e fornirla al tool come primo input. A questo punto nasce il problema legato all eterogeneità delle funzioni di log tra i vari sistemi. Un idea consiste nel memorizzare in una lista tutte le chiamate individuate e fornirla come secondo input. Per quanto riguarda la scelta del numero di righe da prelevare per l individuazione delle strutture di controllo si è pensato di rendere tale valore arbitrario e modificabile per altre esigenze di analisi e per questo sarà fornito in input, rappresentando quindi il terzo 6 Esempio alcuni dei sorgenti del software Apache sono : http_config.c, http_request.c, http_main.c 19
20 paramentro d ingresso. Tuttavia, nella nostra indagine la scelta di tale valore è il risultato di una serie di test : per ciascun sistema di elaborazione sono stati provati diversi valori fino a trovare quello che è risultato più idoneo. Sono state prelevate n righe antecedenti alle funzioni e memorizzate in un file testuale. Attraverso un ispezione di quest ultimo si è verificato qual era il valore che permettesse di catturare una quantità di strutture tale da ritenere l analisi attendibile. Le prove sono state realizzate con n=1, n=5, n=4, n=3 e n=2. Per n=1 è stata registrata un abbondanza di informazioni superflue che avrebbe reso lo studio inattendibile. Già scegliendo n=4, tale entità è risultata alquanto accettabile. Con n=3 si è verificato che in alcuni casi i costrutti venivano persi (ad esempio perchè le chiamate di logs sono anticipate da una serie di operazioni, quali il refresh di una variabile). La porzione di informazioni perse rispetto alla quota di chiamate analizzate è risultata tale da essere trascurabile. Analogamente per la razione di dati superflui. Con n=2, invece, il numero di costrutti persi è stato tale da rendere la nostra analisi incerta. In questo caso di studio i sistemi saranno analizzati con n=3. Sono riportati alcuni esempi dei pezzi di codici estrapolati con n=3: if (!reported && (active_threads == ap_threads_per_child)) { reported = 1; ap_log_error(aplog_mark, APLOG_NOERRNO APLOG_ERR, server_conf, "Server ran out of threads to serve requests. Consider " "raising the ThreadsPerChild setting"); Chiamata dʼattivazione estratta dai sorgenti di Apache (http main.c, ) if (hostname.c_str()[] == ) { ctx.reporterror("hostname required on nodeid %d since it will " "act as server.", id1); Chiamata dʼattivazione estratta dai sorgenti di MySQL ( ) if(path == strlen(path) == ){ ERROR_SET(fatal, NDBD_EXIT_INVALID_CONFIG, "Invalid configuration fetched. Configuration does not contain valid ", param_string); } Chiamata dʼattivazione estratta dai sorgenti di MySQL (Configuration.cpp ) 2
21 A questo punto ci si aspetta che il file_log_error.txt abbia un numero di righe pari a n log* n (nel nostro caso n log*3), mentre invece non risulta così : sebbene in un quantità molto ridotta alcuni costrutti attivano in maniera sequenziale due o più logs. Quest'osservazione può essere utile nel caso in cui si voglia studiare la complessità del corpo dei costrutti di controllo. 2.3 Considerazioni per la fase di progettazione Come già anticipato nel Cap , parte del compito del tool consiste nella catalogazione e nel conteggio di tutte le strutture utilizzate per il logging : IF, ELSE, CASE, IFDEFINE, CATCH e OTHER nel quale sono raccolti per default tutte quelle non elencate. La scelta di conteggiare anche i CATCH deriva dal fatto che i file sorgenti dei sistemi possono essere scritti in linguaggi che prevedono la gestione delle eccezioni per mezzo di blocchi try-catch (es. C++, Java). Per i costrutti IF, poichè essi sono i principali costrutti di controllo utilizzati nel meccanismo di logging, da come sarà anche illustrato nel capitolo successivo, viene effettuata un ulteriore catalogazione : IF composti da una condizione, IF composti da due condizioni e IF con un numero di condizioni maggiore di 2. Si è scelto di enumerare le condizioni limitatamente a n>2 (con n=n di condizioni) in quanto il numero di clausole così composte è molto ridotto, e quindi un ulteriore scomposizione non avrebbe fornito alcun contributo utile ai fini dell analisi. Per gli IF composti da 2 o più clausole sono stimate le possibili condizioni: IF con 1 AND, IF con 1 OR per quelli composti da 2 condizioni, IF con 2 AND, con 2 OR oppure con 1AND/ 1OR per gli IF con n>2. Un secondo passo della scomposizione degli IF consiste nell esaminare la struttura delle clausole : è eseguita la schedatura e il calcolo di ciascuna delle operazioni fattibili e dei i possibili valori coinvolti. Le operazioni possibili sono quelle di confronto : uguaglianza, disuguaglianza e monotonia lasca e stretta. Per quanto riguarda invece i possibili valori coinvolti, essendo questi una quantità infinita, è stato scelto di raggrupparli in tre categorie : quelli notevoli NULL,, 1 e -1 perchè usati normalmente non solo in operazioni di confronto ma anche in operazioni quali il set/reset di variabili, 21
Analisi empirica dei meccanismi di log in sistemi open-source!
tesi di laurea! Analisi empirica dei meccanismi di log in sistemi open-source! Anno Accademico 2010/2011! relatore! Ch.mo prof. Domenico Cotroneo! Correlatore! Ing. Antonio Pecchia! Candidato! Assunta
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliComunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione
I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1
Dettagli1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
DettagliDefinizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliCon 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
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliData Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario
Data Base Management System Strumenti: Software specifico Formato: Pro: Proprietario Massima semplicità di inserimento e gestione Tipizzazione Validazione dei dati Contro: Creazione del database Programmazione
DettagliReti di Telecomunicazione Lezione 6
Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliIndice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
DettagliSistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL
STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione
DettagliConcetti di base di ingegneria del software
Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza
DettagliIntroduzione alla Virtualizzazione
Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliGenerazione Automatica di Asserzioni da Modelli di Specifica
UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:
DettagliSoftware di gestione della stampante
Questo argomento include le seguenti sezioni: "Uso del software CentreWare" a pagina 3-11 "Uso delle funzioni di gestione della stampante" a pagina 3-13 Uso del software CentreWare CentreWare Internet
DettagliInstallazione di GFI WebMonitor
Installazione di GFI WebMonitor Requisiti di sistema di GFI WebMonitor Server Microsoft Windows 2000 (SP 3) o 2003. Microsoft ISA 2000 Server (non in modalità solo firewall) OPPURE Server Microsoft ISA
DettagliCoordinazione Distribuita
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi
ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliIntroduzione alla consultazione dei log tramite IceWarp Log Analyzer
Introduzione alla consultazione dei log tramite IceWarp Log Analyzer L Analizzatore di Log è uno strumento che consente un'analisi statistica e logica dei file di log generati dal server. Lo strumento
DettagliIl web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
DettagliIl software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi
Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi
DettagliSDD System design document
UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs
DettagliBase di dati e sistemi informativi
Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per
DettagliCorso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP
Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate
DettagliPronto 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
Dettagliuadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda
Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo
DettagliSistemi informativi secondo prospettive combinate
Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliRegistratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
DettagliORACOLO Gestione questionari.
ORACOLO Gestione questionari. Oracolo è un software di gestione questionari e test nato per raccolta dati ad uso scientifico. Oracolo è adatto a raccogliere dati su questionari personalizzabili di qualunque
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
DettagliCorso di Informatica
Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliLezione 1. Introduzione e Modellazione Concettuale
Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and
DettagliConsiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica
Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo
DettagliCorso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
DettagliAgenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.
Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri. Roma, 25 ottobre 2010 Ing. Antonio Salomè Ing. Luca Lezzerini
DettagliSistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo
Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al
DettagliTecnologia di un Database Server (centralizzato) Introduzione generale
Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliImplementazione di un servizio VoIP in ambienti SOA per mobile computing
tesi di laurea Implementazione di un servizio VoIP in ambienti SOA per mobile computing Anno Accademico 2006/2007 relatore Ch.mo prof. Domenico Cotroneo correlatore ing. Marcello Cinque candidato Vittorio
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)
DettagliIl Sistema Operativo
Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema
DettagliIl database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliCiclo di vita dimensionale
aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema
DettagliRealizzazione di un tool di instrumentazione automatica a supporto della failure analysis
tesi di laurea Realizzazione di un tool di instrumentazione automatica a supporto della failure analysis Anno Accademico 2011/2012 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Antonio Pecchia
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliLa Metodologia adottata nel Corso
La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema
DettagliINFORMATICA. Il Sistema Operativo. di Roberta Molinari
INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:
DettagliProgettazione ed implementazione di un tool per lo sviluppo di applicazioni in Esperanto
Università degli studi di Napoli Federico II Facoltà di Ingegneria Corso di laurea in Ingegneria Informatica Capri Feb. 2004 Progettazione ed implementazione di un tool per lo sviluppo di applicazioni
DettagliCorso di Amministrazione di Reti A.A. 2002/2003
Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm
DettagliIntroduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese
Introduzione al sistema operativo Laboratorio Software 2008-2009 C. Brandolese Che cos è un sistema operativo Alcuni anni fa un sistema operativo era definito come: Il software necessario a controllare
DettagliBASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015
BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare
DettagliIntroduzione al data base
Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
DettagliDBMS e Linguaggi di programmazione nell'era di Internet
DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web
DettagliPiano di gestione della qualità
Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.
DettagliAirone Gestione Rifiuti Funzioni di Esportazione e Importazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...
DettagliProdotto <ADAM DASHBOARD> Release <1.0> Gennaio 2015
Prodotto Release Gennaio 2015 Il presente documento e' stato redatto in coerenza con il Codice Etico e i Principi Generali del Controllo Interno Sommario Sommario... 2 Introduzione...
DettagliWorkFLow (Gestione del flusso pratiche)
WorkFLow (Gestione del flusso pratiche) Il workflow è l'automazione di una parte o dell'intero processo aziendale dove documenti, informazioni e compiti vengono passati da un partecipante ad un altro al
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliReal Time Control (RTC): modalità di invio dei dati
C EQAS - CNR External Quality Assessment Schemes CNR - Istituto di Fisiologia Clinica Real Time Control (RTC): modalità di invio dei dati R. Conte, A. Renieri v.1.1-15/11/2012 Introduzione Il programma
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliIntroduzione. 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,
DettagliE-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11
Gestione Filtri InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 INDICE Indice...2 1. GESTIONE DEI FILTRI...3 1.1. Filtri fissi...3 1.2. Filtro parametrico...5 1.3. Funzione di ricerca...6 2. CONTESTI IN CUI
DettagliIl sistema operativo TinyOS
tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio
DettagliStrumento per l iniezione di guasti software nel sistema operativo GNU/Linux
Tesi di laurea Strumento per l iniezione di guasti software nel sistema operativo GNU/Linux Anno Accademico 2009/2010 Relatore Ch.mo prof. Marcello Cinque Correlatore Ch.mo ing. Roberto Natella Candidato
DettagliUTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI
UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
DettagliIl glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.
Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Avviso di mancata consegna L avviso, emesso dal sistema, per indicare l anomalia
DettagliIl modello di ottimizzazione SAM
Il modello di ottimizzazione control, optimize, grow Il modello di ottimizzazione Il modello di ottimizzazione è allineato con il modello di ottimizzazione dell infrastruttura e fornisce un framework per
DettagliLA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
DettagliIl Sistema Operativo (1)
E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale
DettagliIntroduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
DettagliRealizzazione di un sistema di logging prototipale per la piattaforma
tesi di laurea Realizzazione di un sistema di logging prototipale per la piattaforma Android Anno Accademico 2011 / 2012 relatore Ch.mo prof. Marcello Cinque candidato Dario De Meis Matr. 528 / 741 Smartphone
DettagliI database relazionali (Access)
I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale
Dettagli4.5 CONTROLLO DEI DOCUMENTI E DEI DATI
Unione Industriale 35 di 94 4.5 CONTROLLO DEI DOCUMENTI E DEI DATI 4.5.1 Generalità La documentazione, per una filatura conto terzi che opera nell ambito di un Sistema qualità, rappresenta l evidenza oggettiva
DettagliUniversità Politecnica delle Marche. Progetto Didattico
Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Sede di Ancona Anno Accademico 2011-2012 Corso di Tecnologie WEB Docente prof. Alessandro
DettagliIl Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliLight CRM. Documento Tecnico. Descrizione delle funzionalità del servizio
Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato
DettagliSoftware relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi
Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi
DettagliSistemi centralizzati e distribuiti
Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:
DettagliIn questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano.
PRIVACY POLICY PERCHE QUESTO AVVISO In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano. Si tratta di un informativa
DettagliAVIPA 1. Presentazione generale dell'ambiente software
AVIPA 1. Presentazione generale dell'ambiente software Viterbo, 10 Dicembre 2008 Presentazione a cura di Slide n.1 AVIPA: l'ambiente software Queste slides rappresentano le prime indicazioni sul lavoro
DettagliArchivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
DettagliIstruzione Operativa Richiesta di Offerta on-line in busta chiusa digitale
Istruzione Operativa Richiesta di Offerta on-line in busta chiusa digitale ATAF avvierà la gara on-line secondo le modalità di seguito descritte, in particolare utilizzando lo strumento RDO on-line disponibile
DettagliReti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete
IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,
DettagliIl 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