SQL File Manager un nuovo modo di gestire il filesystem….

Slides:



Advertisements
Presentazioni simili
Introduzione ad XML Mario Arrigoni Neri.
Advertisements

Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Basi di dati Università Degli Studi Parthenope di Napoli
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Daniel Stoilov Tesi di Laurea
IL CONCETTO DI PACKAGE Una applicazione è spesso composta di molte classi (eventualmente correlate) Un package è un gruppo di classi che costi- tuiscono.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Progetto per lesame di Linguaggi e Modelli Computazionali LS Chiara Chiara Gualtieri.
ANTLR V.3 Renzi Alberto.
MODULO 01 Unità didattica 04
Progetto desame di Gianluca Gallo Linguaggi e modelli computazionali LM Prof. Enrico Denti.
Linguaggi e Modelli Computazionali LS - Prof E.Denti
CineMan Linguaggio per la descrizione della programmazione di cinema
Facoltà di Ingegneria – Università di Bologna
Corso di Laurea Specialistica in Ingegneria Informatica Itinerari aerei Progetto per lesame di Linguaggi e Modelli Computazionali LS realizzato da Stefano.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria “Enzo Ferrari” – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica.
Linguaggio per la generazione di biglietti da visita
Linguaggi e Modelli Computazionali a.a. 2009/2010
Gianfranco Zampolini Progetto per il corso di: Linguaggi e Modelli Computazionali LS EM Linguaggio per la Descrizione di un Evento Musicale.
Corso di Laurea Specialistica in Ingegneria Informatica Model Drive Applicazione per il pilotaggio di veicoli Esame di Linguaggi e Modelli computazionali.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Linguaggi e modelli computazionali LS
Progetto di un linguaggio e interprete per giocare a MemoryPlus Progetto di:Docente: Vito La PortaEnrico Denti.
Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.
ECDL per TUTTI con I Simpson Azzurra & Silvia.
runhome Progetto di Linguaggi e Modelli Computazionali LS Luca Bueti
Corso di Laurea Specialistica in Ingegneria Informatica Previsione dei Consumi Elettrici = Progetto per lesame di Linguaggi e Modelli Computazionali LS.
Un linguaggio ed un interprete per il gioco Citadels
Progetto don’t you forget
Progetto Fireworks Simulatore di spettacoli pirotecnici
Tablabla Progetto di Valent Cristina
Università degli Studi di Bologna Facoltà di Ingegneria Anno Accademico 2007/2008 Laurea Specialistica in Ingegneria Informatica Linguaggi e Modelli Computazionali.
Chess Game Visualizer Un interprete per Short Algebraic Notation Progetto per lesame di Linguaggi e modelli computazionali LS prof. Denti – A.A. 2007/08.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Linguaggi e modelli computazionali LS Manni Tiziano
Ant Che cos’è Come si utilizza Funzionalità principali
 La tesi si inquadra nell’ambito del Sistema MOMIS, realizzato da DataRiver, rilasciato giovedì15 aprile in una prima versione Open Source, ed è stata.
Interrogare il database
ATTIVITÀ PROGETTUALE LINGUAGGI E MODELLI COMPUTAZIONALI L-M Un linguaggio per la descrizione di coreografie giocabili STUDENTE: BACCHILEGA SIMONE A.A 2013/2014.
SQL*PLUS Worksheet Permette di:
OpenProj: una valida alternativa a MS Project
MODULO 01 Unità didattica 04
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Basi di Unix: introduzione Kernel il fulcro del sistema. Comunica con l’hardware (processore, memoria, disco fisso) Shell interfaccia tra l’utente e il.
DRAUGHTS Linguaggi e Modelli Computazionali LS Linguaggio e interprete per effettuare una partita di dama inglese contro un’intelligenza artificiale Progetto.
Giannicola Spezzigu Accordo: sovrapposizione di 3 o più suoni Ogni sigla denota un accordo, ossia i suoni da cui esso è formato Accordi e.
Trading EToro Un linguaggio per descrivere e gestire operazioni di borsa Progetto di Linguaggi e Modelli Computazionali LS Prof. Enrico Denti Mancini Laura.
Calendar Generator Progetto Linguaggi e Modelli Computazionali LS Docente: Enrico Dentidi: Alberto Renzi.
Progetto di Linguaggi e modelli computazionali M Prof. Enrico Denti Progetto di: Francesco Paci.
DerIntCalculator La calcolatrice per integrali e derivate Progetto di Linguaggi e Modelli Computazionali M Prof. Enrico Denti Realizzato da: Gabriella.
Linguaggi e Modelli Computazionali LS Anno Accademico 2007/2008 Alessio Della Motta Un linguaggio per descrivere partite di Maraffone: il gioco più popolare.
CAKE Ambiente per la scrittura e la riproduzione audio di ricette per torte Linguaggi e Modelli Computazionali LSElisabetta Visciotti.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Progettazione di basi di dati: metodologie e modelli
Eye Computer Sistema per l'interazione con un computer dotato di controllo oculare Linguaggi e modelli computazionali LS Realizzato da: Ciavarella Primiano.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Transcript della presentazione:

SQL File Manager un nuovo modo di gestire il filesystem…. Corso di Linguaggi e Modelli Computazionali LS Prof. Enrico Denti Presentazione di Luca Nardelli

Scopo del progetto Definizione di un linguaggio “sql like” per descrivere query sul filesystem. Sviluppo di un interprete che consenta di eseguire le operazioni specificate per mezzo del linguaggio. Sviluppo di un filemanager multipiattaforma che sfrutti l’interprete per la gestione dei file.

Stato dell’arte Miriadi di tool di ricerca che permettono, in modo efficiente (anche sfruttando l’indicizzazione), di cercare file in base a criteri personalizzati.  Copiare, spostare, cancellare i file rimane un operazione manuale. Linguaggi di script come bash/bat che permettono di effettuare una qualunque elaborazione su file e direttori in modo veloce.  Spesso di difficile apprendimento per l’utente.

SQL File Manager Permette di eseguire ricerche sul filesystem in base a diversi criteri di ricerca: select * from /home where name like ‘%.tmp’ or (date < ’01/01/2005’ and size < 3k); Permette di eseguire diverse operazioni sui file mediante script: copy files from /opt to /home where … delete * from /tmp … Sfrutta un linguaggio simile all’sql, standard per le query su base dati.

Grammatica EBNF S ::= Query | <EOF> Query ::= ( Select | Copy | Delete ) (<RECURSIVE> )? <SEMICOLON> Select ::= <SELECT> FileType From ( Where )? Copy ::= <COPY> FileType From To ( Where )? ( <OVERRIDE> )? Delete ::= <DELETE> FileType From (Where )? From ::= <FROM> FileName ( <COMMA> FileName )* To ::= <TO> FileName FileName ::= ( <FILE> | <EXTFILE> ) FileType ::= ( <FOLDERS> | <FILES> | <STAR> ) Where ::= <WHERE> OrExpression OrExpression ::= AndExpression ( <OR> AndExpression )* AndExpression ::= SearchRule (<AND> SearchRule )* SearchRule ::= FileNameSearchRule | FileDateSearchRule | FileSizeSearchRule | <LPAR> OrExpression <RPAR> FileNameSearchRule ::= <FILENAME> ( Operator | <LIKE> ) <STRING> FileDateSearchRule ::= <DATEID> Operator <STRING> FileSizeSearchRule ::= <SIZEID> Operator <SIZE> Operator ::= ( <EQUAL> | <NE> | <LT> | <LE> | <GT> | <GE> )

Considerazioni Grammatica di tipo 2 “context free” con self-embedding. La grammatica è LL(1), l’analizzatore guardando avanti di uno sa sempre quale regola applicare (starter symbol disgiunti). Riconoscitore PDA deterministico

Implementazione Linguaggio utilizzato: Java 1.6 Utilizzate le nuove funzioni soprattutto per le JTable (ordinamento, filtri,…) Strumenti automatici utilizzati: JavaCC Di semplice utilizzo e molto diffuso Analisi top-down discendente Ambiente di sviluppo: Eclipse

Packages sqlfilemanager package principale gui models renderer parser classi per interfaccia grafica models modelli dei componenti grafici renderer renderer dei componenti grafici parser classi dello scanner e del parser struct classi della struttura dati popolata dal parser task classi per la gestione multi-thread delle operazioni utils strumenti di supporto

Il Parser Implementato in SFMParser Utilizzato come singleton Utilizza lo scanner generato da javacc Restituisce una struttura di tipo query per ogni istruzione, null in caso di EOF

Struttura query

Conclusioni e sviluppi futuri SQL File Manager è un esempio di come un linguaggio possa essere utile e talvolta necessario per automatizzare le funzionalità di un software. Sviluppi futuri possono comprendere: Ricerca sul filesystem ad indice. Estensione delle funzionalità. Implementazione di un servizio di logging.