SISTEMA PER LA GESTIONE E CONDIVISIONE DI RISORSE MULTIMEDIALI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SISTEMA PER LA GESTIONE E CONDIVISIONE DI RISORSE MULTIMEDIALI"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI TRENTO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in Informatica Tesi di Laurea SISTEMA PER LA GESTIONE E CONDIVISIONE DI RISORSE MULTIMEDIALI Relatore: Prof. Paolo Giorgini Laureando: Loris Delpero Correlatore: Dr. Raffaele de Amicis ANNO ACCADEMICO

2

3 Indice Introduzione iii 1 Sistemi Multi-Agente e Cultura Implicita Il concetto di agente Caratteristiche ambientali Agenti Intelligenti Agenti ed oggetti Sistemi Multi-agente Architetture per agenti Information Overloading e Cultura Implicita Information Retrieval e Information Filtering Cultura Implicita Usi precedenti del SICS Tecnologie e Standard per Sistemi Multi-Agente Specifiche FIPA Jade Sistema per la gestione e condivisione di risorse multimediali ISO Standard MPEG Obbiettivi Concetti chiave dello standard Descrizione dello Standard Elementi dello standard in dettaglio Classification Schema Architettura del sistema Knowledge Engineer Creazione dell informazione Condivisione dell informazione Content Manager Content Storage System Host Server User Client

4 ii Indice 3 Verticalizzazione del Sistema nel Contesto del Design Automobilistico Obbiettivi Implementazione Knowledge Engineer (KE) Authoring Tool KE Client Dettagli implementativi Content Manager Content Storage System Protocollo di Comunicazione Dettagli Implementativi Host Server Java Packages sviluppati Dettagli Implementativi User Client Dettagli Implementativi Esempi di Utilizzo del Sistema e Risultati Sperimentali Authoring e recupero di modelli 3D Produzione contenuti Condivisione dell informazione Fase di recupero - lato server Fase di recupero - lato client Selezione risultati Gestione e modifica dei contenuti Ricerca contenuto Selezione e download Conclusioni e sviluppi futuri 87 A Definizione formale di Cultura Implicita 89 Bibliografia 95

5 Introduzione La crescente disponibilità di dati soprattutto di tipo multimediale associata ad una difficoltà di gestione dovuta ad una strutturazione spesso eterogenea e soggettiva degli stessi, hanno favorito lo sviluppo di strumenti sempre più efficienti per la descrizione, filtraggio e recupero delle informazioni. Il valore che viene ad assumere un informazione è tanto più grande quanto più facile è il suo reperimento, accesso e gestione. Gli attuali motori di ricerca basano la loro esplorazione esclusivamente sulla parte testuale di un documento, tralasciando ogni significato semantico associato alla risorsa multimediale (se non per il nome del file che contiene tale informazione). Viene a mancare, di conseguenza, quello che spesso è identificato come quality access to content, che per essere realizzato necessita di soluzioni innovative nell identificazione dei contenuti, e tecniche accurate e personalizzate di filtraggio, ricerca, reperimento e gestione. Si rende quindi evidente la necessità di implementare forme di rappresentazione dei dati che offrano non solo efficienza in fase di memorizzazione e compressione, ma anche funzionalità avanzate di descrizione dei contenuti. L utilizzo di tecniche per la descrizione semantica dell informazione assume significato solo se accompagnato da un architettura intelligente a supporto dell utente nella fase di creazione, accesso e gestione di tale informazione. La soluzione al problema, proposta in questo lavoro di tesi, è basata su un infrastruttura software che coinvolge l intero ciclo di vita dell informazione, dalla fase di produzione alla sua condivisione e recupero. Il sistema consente in sintesi di facilitare la gestione di risorse eterogenee e complesse in ambienti distribuiti ed è in grado di adattarsi dinamicamente al comportamento assunto dagli utenti. Le tecnologie alla base, rappresentate dal modello d interazione ad agenti e il framework di Cultura Implicita, sono state combinate con lo standard MPEG-7, un interfaccia per la descrizione strutturale e semantica dell informazione, così da ottenere uno strumento estremamente flessibile e facilmente adattabile ad ogni tipo di dato. Particolare attenzione è stata dedicata alla gestione di oggetti tridimensionali complessi per i quali è stato sviluppato un ambiente che permette al designer, in fase di progettazione, di arricchire il proprio lavoro con una descrizione strutturale e semantica che coinvolge non solo il modello stesso ma anche tutti i sotto-oggetti di cui è composto. La procedura è completamente automatizzata e produce una rappresentazione in formato virtuale del modello 3D, che rispecchia la struttura semantica della descrizione MPEG-7 associata. Il vantaggio che ne deriva

6 iv Introduzione si evidenzia nella fase di recupero dell informazione, ovvero nel momento in cui è effettuata una ricerca sul sistema utilizzando come chiave il nome di un sotto-oggetto: se esiste un modello contenente la parte in questione, il sistema estrae in tempo reale a partire dal modello originale la parte richiesta che viene quindi inviata all utente e memorizzata per ricerche successive. L utilizzo di MPEG-7 ha permesso non solo di arricchire i contenuti multimediali con una descrizione semantica, ma anche di definire un vocabolario specifico per la descrizione del particolare dominio in cui il sistema opera. Ciò consente ad una descrizione MPEG-7 di far riferimento ad un insieme di termini definiti in risorse esterne, offrendo così un maggior grado di flessibilità nella gestione dei contenuti. Questa caratteristica aumenta notevolmente la portabilità dell intero sistema che può essere facilmente adattato a domini diversi. Per la fase di recupero dell informazione si è deciso di far riferimento alla tecnologia ad agenti, entità software intelligenti capaci di esibire comportamenti autonomi, agire in ambienti diversi e percepire i cambiamenti che avvengono in esso. Per queste loro caratteristiche sono adatti ad assolvere per conto dell utente compiti quali la ricerca, il prelievo e l organizzazione di informazioni senza necessità di controllo da parte di quest ultimo. Ciascun utente dispone di un proprio agente in grado di conoscere i suoi interessi e collaborare con altri agenti che operano nel sistema allo scopo di risolvere obiettivi personali o di gruppo. Questa capacità è favorita dalla dotazione del sistema del paradigma di Cultura Implicita, che permette a ciascun agente di osservare l ambiente in cui agisce e sulla base di queste osservazioni supportare le proprie scelte e quelle degli altri agenti con opportuni suggerimenti. La condivisione di informazioni all interno del sistema avviene in una ambiente protetto da un processo di autenticazione e registrazione associato all utilizzo di un protocollo di comunicazione sicuro basato su SSL. La presente tesi è strutturata come segue. Il capitolo 1 introduce lo scenario fornendo un breve panoramica sullo stato dell arte per quanto riguarda la tecnologia ad agenti ed il framework di Cultura Implicita. Sono inoltre riportate parte delle specifiche FIPA e dell infrastruttura per agenti Jade che rappresenta uno strumento fondamentale nel lavoro svolto. Il capitolo 2 sintetizza alcune delle caratteristiche chiave dello standard MPEG-7 e fornisce una descrizione dell architettura logica del sistema implementato. Il capitolo 3 spiega come l infrastruttura proposta possa essere facilmente applicata ad un caso di studio reale, in particolare viene presentata una verticalizzazione del sistema nel contesto del design automobilistico. Il capitolo 4 presenta alcuni risultati ed esempi di funzionamento del sistema. Da ultimo vengono presentate le conclusioni e le prospettive di sviluppo futuro.

7 1 Sistemi Multi-Agente e Cultura Implicita Lo studio dei sistemi multi-agente ebbe inizio alla fine degli anni Settanta nell ambito dello studio sull Intelligenza Artificiale Distribuita (DAI), disciplina che si propone di sviluppare meccanismi di comunicazione e interazione tra agenti simili a quelli tra esseri umani [58]. In pochi anni l interesse verso la tecnologia ad agenti è cresciuto rapidamente in quanto da molti considerata piattaforma ideale per applicazioni distribuite e complesse quali Internet. I sistemi multi-agente sono costituiti da un certo numero di entità software distribuite o meno, meglio conosciute in letteratura come agenti. Essi sono contraddistinti da alcune caratteristiche chiave quali l autonomia e l intelligenza in grado di modificare il loro comportamento in funzione degli obiettivi e di percepire l ambiente che li circonda; spesso presentano delle qualità interattive che permettono l interazione con gli altri agenti e l utente sia indirettamente attraverso l ambiente in cui si trovano, che direttamente attraverso un linguaggio condiviso. In questo capitolo saranno presi in esame i concetti chiave alla base di questo lavoro di tesi. Inizialmente sarà introdotto il concetto di agente e le caratteristiche che lo contraddistinguono, quindi saranno passati in rassegna i sistemi multi-agente. Sarà poi affrontato il problema del filtraggio delle informazioni, il framework di Cultura Implicita e come un sistema di supporto alla Cultura Implicita realizzi un fenomeno di Cultura Implicita. Per concludere saranno analizzate le tecnologie e gli standard alla base dei sistemi multi-agente soffermandosi in particolare su FIPA (Foundation for Intelligent Physical Agents) e sull ambiente di sviluppo JADE (Java Agent Development Environment). 1.1 Il concetto di agente Le idee e le tecnologie alla base del concetto di agente sono state influenzate da una ampia varietà di discipline. L etimologia del termine va però ricercata

8 2 1. Sistemi Multi-Agente e Cultura Implicita nel contesto dell Intelligenza Artificiale (AI), in particolare dell Intelligenza Artificiale Distribuita (DAI), la quale già alla fine degli anni Settanta cominciò a far riferimento agli agenti in qualità di oggetti con la capacità di pensare (cioè agenti intelligenti). Ad oggi non esiste una definizione universalmente accettata di questo termine, così come non esiste una definizione di intelligenza riferita ad un agente. C è invece un consenso generale sul fatto che gli agenti devono avere una serie di caratteristiche particolari quali ad esempio l autonomia, l abilità sociale e la reattività; altre caratteristiche che spesso sono attribuite ad essi assumono diversa importanza a seconda del dominio applicativo. Per alcune applicazioni, ad esempio, la capacità per gli agenti di imparare dall esperienza potrebbe essere fondamentale, mentre per altre del tutto inutile. La definizione riportata di seguito è ripresa da Woolridge and Jennings [61]: Un agente è un entità software situata in un certo ambiente nel quale è in grado di compiere delle azioni in maniera autonoma finalizzate all adempimento dei suoi obbiettivi. Figura 1.1: Relazione tra l agente e l ambiente. L agente riceve alcuni input dall ambiente e produce come output delle azioni che hanno effetto su di esso. L azione di solito è continua nel tempo. La figura 1.1 mostra come il comportamento di un agente sia sensibile all ambiente che lo circonda: ciò significa che la stessa azione effettuata in ambienti diversi può avere effetti differenti. La peculiarità d essere intelligente per un agente si traduce nella capacità di scegliere e di eseguire opportune

9 1.1. Il concetto di agente 3 azioni in modo autonomo e flessibile allo scopo di raggiungere gli obiettivi prefissati. Il problema chiave che quindi si presenta ad un agente è quello della scelta dell azione migliore da intraprendere. La difficoltà nel prendere una decisione può essere dovuta alle diverse caratteristiche dell ambiente, quindi per capire meglio il concetto di agente è necessario prima capirne il suo dominio d azione: nel prossimo paragrafo verrà approfondito il concetto di ambiente in relazione all agente e una sua possibile classificazione Caratteristiche ambientali L ambiente rappresenta l infrastruttura computazionale all interno della quale gli agenti si muovono, operano ed interagiscono tra loro. Esso può essere classificato in base alle seguenti caratteristiche [50]: Accessibile vs. Non accessibile. Un ambiente accessibile permette all agente di svolgere qualsiasi tipo d operazione, di ottenere informazioni complete e aggiornate. La maggior parte degli ambienti (quali il mondo reale o Internet) non offre un tale livello d accessibilità. Deterministico vs. Non deterministico. Un azione in un ambiente deterministico ha un effetto noto a priori. In un ambiente non deterministico la stessa azione, eseguita in istanti diversi, può avere effetti differenti. Statico vs. Dinamico. Un ambiente statico rimane costantemente immutato durante l inattività dell agente. Di contro un ambiente dinamico è sottoposto all azione di molti processi e quindi non è sotto il controllo del singolo agente. Il mondo reale e Internet sono esempi di realtà estremamente mutevoli. Discreto vs. Continuo. Un ambiente è discreto se è possibile compiere su di esso un numero fisso di azioni. Un maggiore livello d accessibilità di un ambiente facilita la costruzione di agenti che operano su di esso. Infatti, considerando che un buon agente deve essere in grado di fare le scelte più giuste e che la qualità delle decisioni dipende dalla qualità delle informazioni a lui accessibili, una maggiore fonte di informazioni aumenta le probabilità di produrre risultati accurati. Un ambiente deterministico produce un risultato ben definito e univoco, mentre un ambiente non deterministico pone l agente di fronte alla possibilità di fallimento nel conseguire i propri obiettivi e ne limita la sfera d influenza. Il non-determinismo è strettamente correlato col dinamismo. Dal punto di

10 4 1. Sistemi Multi-Agente e Cultura Implicita vista di un agente un ambiente dinamico ha due importanti caratteristiche da tenere in considerazione: se più agenti operano sull ambiente nell intervallo tra il tempo t 1 e t 2 allora l ambiente al tempo t 2 non potrà essere lo stesso che al tempo t 1 ; quindi in un ambiente dinamico l agente deve portare a termine una raccolta d informazioni per determinarne lo stato attuale [40]. La seconda proprietà è che altri processi in esecuzione nell ambiente possono interferire con l azione che l agente sta cercando di eseguire [5]. Quindi se l ambiente si trova in un certo stato ϕ e l agente esegue su di esso una certa operazione α funzione di ϕ non è sicuro che l ambiente continui a trovarsi nello stato ϕ durante l esecuzione di α. Questa proprietà suggerisce quanto un ambiente statico sia molto più confortevole e facile da gestire per un agente rispetto ad una ambiente dinamico. L ultima distinzione, tra ambiente discreto e continuo, si può comprendere meglio facendo riferimento agli esempi di Russell e Norvig [50]. Un ambiente discreto ha un numero finito di stati: per esempio il gioco degli scacchi è un ambiente discreto, giacché il numero dei possibili stati in cui si può trovare il gioco, sebbene molto grande è in ogni caso finito, mentre un ambiente continuo può essere ad esempio un viaggio in taxi. In conclusione la classe d ambienti più complessa da gestire è costituita da ambienti inaccessibili, non deterministici, dinamici e continui. Gli ambienti con queste caratteristiche sono chiamati aperti [26]. Le proprietà dell ambiente hanno un importanza fondamentale nel determinare la complessità nel design di un sistema ad agenti, ma non sono gli unici fattori da tenere in considerazione. Nel prossimo paragrafo verrà approfondito il concetto di agente e le caratteristiche che lo contraddistinguono Agenti Intelligenti Un agente è stato definito in maniera generale, come un sistema computazionale che può vivere in ambienti complessi, dotato di sensori che gli permettono di percepire l ambiente e di interagire, soddisfando i propri obiettivi ed eseguendo i compiti per cui è stato progettato. Secondo Woolridge and Jennings [61] un sistema computazionale per essere considerato un agente intelligente deve essere almeno dotato delle seguenti caratteristiche fondamentali: Autonomia: rappresenta l assunzione che l agente abbia un qualche tipo di controllo diretto sulle proprie azioni e sul suo stato interno senza l intervanto diretto di persone esterne. Abilità sociale: indica la capacità di interagire con altri agenti e persone per coordinare il proprio comportamento e per negoziare risorse e attività al

11 1.1. Il concetto di agente 5 fine di conseguire i propri obiettivi. Grazie al coordinamento gli agenti sono in grado di risolvere eventuali conflitti che possono insorgere e realizzare compiti comuni. La comunicazione avviene per mezzo di un linguaggio di comunicazione per agenti [23]. Reattività: gli agenti intelligenti sono in grado di percepire l ambiente che li circonda, reagire in modo tempestivo ai cambiamenti che occorrono in esso e prendere l iniziativa. Pro-attività: gli agenti intelligenti hanno un comportamento che consente loro di generare eventi nell ambiente circostante e di coordinare le proprie attività per tempo. Mobilità: gli agenti sono in grado di migrare da un sistema all altro per accedere a risorse remote o per incontrare altri agenti e cooperare con loro. Questa caratteristica, chiamata anche remote programming, può essere considerata un alternativa al tradizionale Client/Server programming basato sul paradigma delle Remote Procedure Call (RPC) [37, 59]. Adattamento: rappresenta la qualità dell agente di modificare il proprio comportamento in seguito alle mutate condizioni dell ambiente circostante. Asincronismo: rappresenta la capacità di saper comunicare con gli altri agenti in ogni momento tramite l invio e la ricezione di atti comunicativi che possono essere interpretati o ignorati in base ai propri obiettivi. Ciò significa che un agente può essere attivato all occorrenza di un certo evento o timer. Gli agenti intelligenti si differenziano tra loro per il compito che svolgono all interno di un sistema e per questo spesso vengono identificati con terminologie più specifiche: in precedenza sono stati introdotti i cosiddetti mobile agents, agenti in grado di muoversi all interno di una rete. Agenti che interagiscono direttamente con l utente sono spesso chiamati personal assistants o interface agents mentre agenti che interagiscono uno con l altro per raggiungere un obiettivo comune sono identificati come cooperative agents [37]. I motori di ricerca rappresentano forse l esempio più conosciuto di Personal Assistant: essi non forniscono soltanto un interfaccia intelligente all utente, ma fanno anche uso su vasta scala, dei servizi disponibili in rete. Questo tipo di agenti veniva chiamato in passato Knowbot o Softbot [17]. Quando un agente colleziona informazioni, non soltanto nasconde la complessità dell infrastruttura di rete, ma rende anche invisibile l eterogeneità delle risorse disponibili, delle sorgenti e dei protocolli di accesso. Il Softbot colleziona le

12 6 1. Sistemi Multi-Agente e Cultura Implicita informazioni, le combina, le filtra e presenta i risultati all utente. A partire dal 1995 presero vita diverse implementazioni di Softbots basate sulla tecnologia ad agenti, conosciute come Web-Crawlers, Spiders e Robots [35]. Per alcuni ricercatori, in particolare quelli che lavorano in AI, il termine agente ha un significato più specifico. Essi indicano l agente come un sistema computazionale che, oltre ad avere le caratteristiche elencate sopra, viene progettato o implementato utilizzando dei concetti che sono comunemente associati agli esseri umani. E abbastanza comune in AI caratterizzare un agente utilizzando nozioni tipiche della mente umana come avviene ad esempio nell architettura BDI. Formalizzazioni di vari aspetti dell architettura sono state fatte da Benerecetti [6], Rao [47] e Giunchiglia [24]. Altri ricercatori in AI si sono persino spinti ad implementare agenti emozionali [3, 4]. Negli anni Novanta sono stati portati avanti tre progetti che possono essere considerati fondamentali per la nascita e lo sviluppo della cosiddetta tecnologia ad agenti [46]. Questi progetti sono: Agent() Knowledge Sharing Effort Telescript Agent() può essere considerato il primo linguaggio ad agenti. Sviluppato da Yoav Shoham nei primi anni Novanta, introduceva per la prima volta il concetto di programmazione orientata agli agenti ed era dotato di un linguaggio di comunicazione tra agenti [53]. Questo linguaggio fa riferimento a teorie del linguaggio parlato elaborate da Searle [51]. Knowledge Sharing Effort va ricordato in quanto ha portato allo sviluppo di KQML (Knowledge Query Manipulation Language), un protocollo completo per la comunicazione tra agenti ed applicazioni, e KIF (Knowledge Interchange Format), un formato per lo scambio di conoscenza tra sistemi eterogenei. Per una dettagliata descrizione di KQML si può far riferimento a Finin [18] e Labrou [36]. Telescript rappresenta il primo linguaggio di programmazione commerciale basato sugli agenti sviluppato dalla General Magic nel Questo per primo ha introdotto il concetto di mobilità del codice in alternativa alle remote procedure call e il problema della gestione della sicurezza in sistemi ad agenti distribuiti [59]. Esso supporta esplicitamente l idea di agente come processo con la capacità di spostarsi autonomamente all interno di una rete e di riprendere l esecuzione in aree remote. Questo linguaggio ha posto le basi per lo sviluppo di agenti mobili basati sul linguaggio di programmazione Java. Spesso gli agenti sembrano possedere caratteristiche molto simili a quelle normalmente associate agli oggetti. Nel prossimo paragrafo verrà discusso

13 1.1. Il concetto di agente 7 come il paradigma di sviluppo software orientato agli oggetti pone le basi per quello orientato agli agenti Agenti ed oggetti Il più importante passo avanti fatto nel campo del software engineering è rappresentato dall utilizzo, da parte dello sviluppatore, di astrazioni ad alto livello per comprendere ed amministrare la complessità delle grandi architetture software, sia a livello concettuale che implementativo [2, 62]. Astrazione procedurale, programmazione strutturata, tipi di dato astratto e oggetti riassumono l evoluzione del concetto di astrazione nel paradigma della programmazione degli ultimi trent anni. Questi concetti hanno permesso agli sviluppatori di affrontare e gestire problematiche sempre più complesse da un punto di vista più astratto, lontano da un ottica puramente implementativa. Gli agenti rappresentano l astrazione successiva, uno strumento potente per meglio concettualizzare, progettare ed implementare sistemi software complessi e distribuiti. Spesso si è portati a confondere gli agenti con gli oggetti o a non riuscire ad identificare nessuna nuova idea o novità che li caratterizzi. Effettivamente, considerando soltanto le qualità generali che contraddistinguono le due tecnologie, tale errore è giustificabile. Gli oggetti sono definiti come entità computazionali che possono trovarsi in un insieme di stati, sono in grado di svolgere determinate azioni o metodi su questi e comunicano tra loro con scambio di messaggi. E naturale che vi siano ovvie somiglianze tra le due tecnologie, ma ci sono anche rilevanti differenze [58]. La prima di queste consiste nel grado di autonomia degli agenti rispetto agli oggetti. Uno dei concetti più importanti della programmazione object-oriented è l incapsulamento, che indica la capacità di controllo, da parte degli oggetti, del loro stato interno. In linguaggi di programmazione come C++ o Java è possibile dichiarare variabili e metodi privati, accessibili solo all interno dello stesso oggetto, oppure pubblici e quindi accessibili dall esterno. In questo modo l oggetto, seppur in grado di esibire un certo livello d autonomia e controllo sul suo stato interno, non ha invece nessun tipo di controllo sul proprio comportamento. Vale a dire, se un oggetto ha dei metodi pubblici, accessibili da altri oggetti (e ciò è quasi sempre vero altrimenti risulterebbe isolato all interno del sistema), essi possono invocarlo ogniqualvolta lo desiderano, quindi l oggetto che fornisce il metodo non ha alcuna autorità sulla sua esecuzione. L idea alla base del concetto di agente differisce da quella degli oggetti in quanto generalmente non vengono forniti metodi accessibili ad altri agenti per facilitare l interazione. Più precisamente, non si deve pensare agli agenti quali entità che invocano i metodi di altri agenti, ma piuttosto come entità

14 8 1. Sistemi Multi-Agente e Cultura Implicita che richiedono determinate azioni. Inoltre la richiesta può essere accolta oppure rifiutata lasciando il controllo sulla decisione all agente che ha ricevuto la richiesta e non a colui che l ha inoltrata. La distinzione tra gli oggetti e gli agenti è spesso riassunta in uno slogan: Objects do it for free; agents do it for money 1. Un altra importante differenza tra i due modelli risiede nel fatto che l agente a differenza dell oggetto, possiede un proprio thread di controllo nel sistema. Naturalmente un grande sforzo è stato fatto negli ultimi anni nell implementare il concetto di concorrenza nella programmazione object-oriented, ma nel caso dell agente questo concetto combinato con un maggior grado d autonomia ha implicazioni differenti: l oggetto rappresenta un entità sincrona che agisce all interno di un sistema, mentre l agente è un entità asincrona dotata di maggior indipendenza decisionale. 1.2 Sistemi Multi-agente Gli agenti operano in un ambiente che tipicamente è sia computazionale che fisico e può contenere o no altri agenti. Sebbene vi siano delle situazioni in cui un agente può operare efficacemente da solo, il crescente livello d interconnessione tra i computer rende queste situazioni assai rare. Nei paragrafi precedenti sono state definite le caratteristiche e la struttura di un singolo agente, mentre questo paragrafo si focalizza invece sui sistemi con più agenti. Talvolta il numero degli agenti può essere molto numeroso, con evidenti difficoltà nel gestire ciascuno di essi singolarmente, quindi risulta più conveniente trattarli in modo collettivo come società di agenti, studiando le architetture che li caratterizzano. Nel corso del paragrafo sarà descritto come analizzare, descrivere e progettare ambienti in cui gli agenti possono operare efficacemente assieme e interagire in maniera produttiva. L ambiente fornisce l infrastruttura computazionale che rende possibili le interazioni, come i protocolli di comunicazione e interazione tra agenti 2 e le Strategie di Coordinamento e Negoziazione che hanno lo scopo di fondere gli agenti in un gruppo d individui operanti in modo coerente. Ciò permette la sincronizzazione delle attività l utilizzo ottimale delle diverse abilità del singolo ed evita il sorgere di situazioni di caos durante eventuali conflitti d interesse tra due o più agenti. 1 Lo slogan è un modo per sottolineare la maggiore indipendenza decisionale che caratterizza l agente. 2 I protocolli di comunicazione permettono agli agenti di scambiarsi i messaggi e comprenderli, mentre i protocolli di interazione consentono di avere conversazioni, cioè una serie strutturata di messaggi.

15 1.2. Sistemi Multi-agente Architetture per agenti Le architetture che caratterizzano i sistemi multi-agente possono essere classificate in tre categorie principali: architetture gerarchiche, architetture federate e architetture autonome [52]. Architetture gerarchiche Sono caratterizzate da una struttura a livelli dove ciascuno di questi esercita la funzione di controllo e coordinamento sulle risorse e informazioni del livello inferiore. In figura 1.2 è rappresentata questo tipo d architettura nel caso in cui gli agenti sono entità autonome e i livelli soltanto tre; è possibile, in generale, avere n livelli nella struttura. Figura 1.2: Architettura multi-agente di tipo gerarchico. Questo approccio nonostante possa essere criticato per la sua centralità, è ancora largamente adottato nell implementazione di sistemi multi-agente utilizzabili in realtà aziendali. Architetture federate Le architetture federate rappresentano la soluzione più utilizzata nello sviluppo di sistemi multi-agente. In letteratura se ne possono identificare principalmente di due tipi: l architettura federata basata su facilitator e basata su matchmaker.

16 10 1. Sistemi Multi-Agente e Cultura Implicita Approccio tramite facilitator Prevede che gli agenti siano organizzati in gruppi ciascuno dei quali è presieduto da un particolare tipo di agente detto facilitator, come rappresentato in figura 1.3 Questo agente si pone come mediatore nella comunicazione tra agenti del gruppo e del sistema instradando i messaggi verso i destinatari corretti e smistando quelli in arrivo. Effettua inoltre un monitoraggio costante dell attività del gruppo di agenti a cui è a capo coordinandone, se necessario, le attività. Figura 1.3: Modello di architettura federata basata su facilitator. Questo tipo d architettura non prevede comunicazione diretta tra agenti semplici, quindi eventuali comunicazioni vanno fatte esclusivamente al facilitator il quale si occupa di interpretarle ed attivare determinate attività nel gruppo (instradamento interpretativo) o di instradarle verso l agente opportuno (instradamento basato su destinatario). Approccio tramite broker Questa struttura prevede la presenza di un agente particolare detto broker col compito di ricevere i messaggi dagli altri agenti, comprendere la richiesta e quindi individuare e contattare gli agenti più adatti al soddisfacimento della

17 1.2. Sistemi Multi-agente 11 stessa. I broker possono svolgere azioni diverse secondo il tipo di sistema in cui sono inseriti. Figura 1.4: Modello d architettura federata basata su broker. La figura 1.4 mostra la struttura generale di un architettura federata basata su broker. Questo agente svolge la funzione di intermediario tra agenti che richiedono un determinato servizio (client agents) e agenti che lo offrono (server agents). A differenza dell approccio tramite facilitator in cui esiste un agente responsabile del proprio gruppo, in questo tipo di architettura ciascun agente può rivolgersi ad un broker qualsiasi presente nel sistema allo scopo di trovare il più adatto a svolgere un determinato compito. Rispetto alle architetture gerarchiche, le architetture federate offrono un maggior livello di scalabilità, risultando quindi più adatte alla gestione di problematiche complesse e distribuite. Architetture autonome Quando si è discusso il concetto di agente, si è visto che un agente per essere considerato intelligente dev essere dotato di caratteristiche come: Autonomia: assenza di controllo o gestione da parte di altri agenti software o umani. Abilità sociale: possibilità di comunicare e interagire direttamente con altri agenti nel sistema o all esterno Reattività: essere dotato di conoscenza di se stesso, degli altri agenti e dell ambiente in cui vive

18 12 1. Sistemi Multi-Agente e Cultura Implicita Pro-attività: avere propri obiettivi e un associato insieme di motivazioni. Figura 1.5: Modello di architettura autonoma. Nelle architetture autonome (vedi figura 1.5) nessuna comunicazione e nessuno stato di conoscenza è consolidato: ogni agente deve conoscere dove e quando i messaggi sono spediti, quali altri agenti sono disponibili e quali capacità hanno gli altri agenti. Di conseguenza gli agenti appartenenti a questo tipo di architettura per un corretto funzionamento, devono possedere tutte le caratteristiche elencate sopra. In generale non si può stabilire a priori quale architettura sia migliore delle altre, ma ciascuna si presta meglio a risolvere problematiche specifiche. Le architetture autonome si prestano bene allo sviluppo di sistemi multi-agente distribuiti, nel caso i singoli sistemi siano costituiti da un numero contenuto di agenti, mentre la architetture federate sono più appropriate per lo sviluppo di sistemi complessi, dinamici, composti da un gran numero di agenti di tipo diverso. La definizione di agente, quale entità autonoma in grado di prendere decisioni, sembrerebbe entrare in conflitto con la definizione di architettura federata in cui la capacità dell agente del gruppo dipende fortemente dalle capacità dell agente broker o facilitator. In realtà la delega di determinate funzionalità ad un capogruppo offre un maggior livello di flessibilità al sistema: l aggiunta, ad esempio, di un nuovo membro del gruppo non necessita dell aggiornamen-

19 1.3. Information Overloading e Cultura Implicita 13 to delle conoscenze di ciascun agente del gruppo, bensì del rappresentante soltanto. L organizzazione non lucrativa FIPA sta portando avanti un processo di standardizzazione dei sistemi multi-agente per mezzo della definizione di un insieme di norme che permettono ad una società di agenti di interagire, operare ed essere gestiti, e un architettura che ricalca in parte le caratteristiche enunciate poc anzi. Le funzionalità offerte da un sistema multi-agente aderente allo standard FIPA saranno ampiamente discusse nel corso del paragrafo Information Overloading e Cultura Implicita La crescente diffusione di Internet rende il patrimonio delle informazioni disponibili attraverso la rete molto vasto ed in continuo aumento, per questo la ricerca informatica si sta muovendo per cercare una soluzione al problema. A tal proposito si possono individuare fondamentalmente due approcci: il filtraggio d informazioni (Information Filtering) e il recupero d informazioni (Information Retrieval). Nel corso dei prossimi paragrafi saranno approfonditi questi due concetti e sarà introdotto il concetto di Cultura Implicita, che si prefigge lo scopo di risolvere il problema del trasferimento di conoscenza tra un gruppo di agenti Information Retrieval e Information Filtering L idea alla base di questi metodi è molto simile in quanto entrambi hanno come comune denominatore il render disponibile all utente informazioni rilevanti per le proprie esigenze, minimizzando le informazioni inutili. La principale differenza va cercata nel bisogno informativo. Alla categoria dell Information Retrieval appartengono le richieste d informazione specifiche del momento dove ciascuna richiesta rappresenta un entità discreta e indipendente che non influenza la successiva e le informazioni sono contenute solitamente in database di tipo statico. L Information Filtering ha invece il fine di soddisfare interessi a lungo termine dove ciascuna informazione ottenuta è in parte funzione delle precedenti (basandosi per esempio sul feedback di altri utenti) ed è spesso contenuta in database dinamici, vale a dire continuamente aggiornati. In letteratura sono emersi due paradigmi principali per i sistemi di filtraggio (detti anche Recommender Systems): quello basato sul contenuto che suggerisce ad un certo utente informazione simile a quella che ha dimostrato gradire in passato e quello collaborativo in cui l obiettivo è quello di

20 14 1. Sistemi Multi-Agente e Cultura Implicita trovare utenti con gusti simili che raccomandino all utente i prodotti che loro stessi hanno apprezzato. Content-based Information Filtering L Information Filtering basato sul contenuto può essere suddiviso in due categorie a seconda che il filtraggio avvenga tramite regole o profilo utente. Nel primo caso un filtro potrebbe essere applicato al mittente dei messaggi di posta elettronica in modo da bloccare messaggi sospetti. L approccio alternativo risulta più interessante in quanto il sistema possiede il profilo dell utente che riassume tutte le caratteristiche degli elementi graditi e non, in modo da poter discriminare su elementi non ancora valutati. Il profilo utente può essere creato e aggiornato manualmente oppure in modo automatico dal sistema osservando il comportamento dell utente. Purtroppo questi metodi hanno diversi inconvenienti tra cui: la necessità di estrarre le caratteristiche dall informazione: si tratta di un processo troppo laborioso ma abbastanza accurato se fatto manualmente, poco accurato se generato da una procedura automatica. L eventuale presenza di contenuti multimediali complica ulteriormente la procedura; per alcuni tipi di ricerca, la limitazione del sistema a raccomandare soltanto elementi simili a quelli che l utente ha già scelto in passato, potrebbe rappresentare una forte limitazione. Collaborative Information Filtering A differenza del Content-based Information Filtering che consiglia all utente elementi simili a quelli che ha dimostrato gradire in passato, questo metodo si basa su un meccanismo di suggerimento costruito sulle opinioni di altri utenti con gusti simili. Il Collaborative Filtering può essere suddiviso in due tipologie [39]: passivo e attivo. I voti espressi dall utente relativamente ad un determinato contenuto possono essere raccolti in un unico database e le raccomandazioni essere basate su opinioni di persone simili per gusti. In questo caso si parla di in-place Collaborative Filtering o passive Collaborative Filtering in quanto non c è relazione o connessione tra la persona che esprime il voto e coloro che usufruiscono di queste raccomandazioni. Un altra pratica consiste nel consigliare direttamente ad amici o colleghi di interessanti documenti. Tale approccio è denominato active Collaborative Filtering in quanto c è l intento da parte della persona che cerca e valuta l oggetto di condividerne la conoscenza con particolari persone.

21 1.3. Information Overloading e Cultura Implicita 15 Ciò che in generale nel Collaborative Filtering avviene è molto vicino a quanto avviene nella realtà quotidiana quando ad esempio prima di vedere un film al cinema o provare un nuovo ristorante si chiede consiglio ad amici che sappiamo condividere i nostri stessi gusti. Il sistema può essere facilmente automatizzato ed esteso in modo da considerare più utenti anche mai conosciuti direttamente ma che, secondo le informazioni raccolte dal sistema, presentano le stesse preferenze. Uno dei primi sistemi sviluppati in grado di raccogliere i gusti dell utente è GroupLens [48], utilizzato per filtrare gli articoli dei newsgroup. Altri sistemi più intelligenti sono in grado di raccogliere implicitamente dei voti osservando il comportamento dell utente [55]. Il Collaborative Filtering riesce a superare alcune delle limitazioni della soluzione content-based: l informazione trattata dal sistema può essere di qualsiasi natura, multimediale o testo, in quanto il sistema non necessita di analizzarla direttamente per estrarne le caratteristiche descrittive, ma soltanto tener traccia del tasso di gradimento di altri utenti. Inoltre gli elementi consigliati dal sistema sono abbastanza eterogenei e di qualità, per il semplice fatto che sono consigliati da altri utenti e non da una procedura automatica. Questo approccio presenta, nonostante tutto, diversi lati negativi: A meno che le preferenze dell utente non siano raccolte in maniera implicita, l utente deve sforzarsi di esprimere il maggior numero possibile di suggerimenti sugli oggetti. Gli oggetti inseriti da poco nel sistema che non hanno ancora ricevuto nessun punteggio di feedback da parte degli utenti, risultano invisibili. Utenti con gusti inusuali non beneficiano del sistema in quanto le loro opinioni non concordano né discordano con nessuno degli altri Cultura Implicita Il Collaborative Filtering può essere visto come un istanza di un concetto più generale che va sotto il nome di Cultura Implicita. Questo nuovo concetto è stato introdotto per la prima volta da Blanzieri e Giorgini nel 2001 [11, 12, 13]. Un fenomeno di Cultura Implicita è quello che s instaura quando un gruppo di agenti agisce in maniera conforme alla cultura di un altro gruppo senza il desiderio né la necessità di conoscere la cultura stessa e quindi senza interazione diretta. Nel momento in cui un agente comincia ad agire in un nuovo ambiente con conoscenze ed abilità limitate, il suo comportamento non può essere che inferiore a quello ottimale. I problemi che un nuovo agente deve fronteggiare

22 16 1. Sistemi Multi-Agente e Cultura Implicita sono ancora più complessi se nell ambiente sono presenti altri agenti con maggiori conoscenze e capacità. Inoltre essi potrebbero non volere condividere la loro conoscenza oppure non essere in grado di comunicarla al nuovo agente. Per risolvere questo problema si potrebbe migliorare la capacità dell agente in termini di comunicazione, conoscenza e apprendimento, soluzione che tuttavia si presenterebbe alquanto complessa. Il framework di Cultura Implicita adotta un approccio alternativo, applicabile in un ambiente almeno parzialmente sotto controllo: invece di agire sulle capacità del singolo agente è possibile modificare la visione che lo stesso ha dell ambiente e quindi, le sue azioni. Ciò porterebbe lo stesso agente a comportarsi in maniera conforme agli altri membri del gruppo e quindi condividere la stessa cultura. Questo si concretizza attraverso la proposta agli agenti di opportune scene conformi alle loro azioni passate, in relazione ai componenti del gruppo con cui manifestano maggiore vicinanza e riguardo alle azioni che devono essere favorite rispetto ad altre in accordo con la teoria del gruppo. L assunzione di base è che il mondo in cui gli agenti agiscono sia composto di oggetti e agenti. In questo mondo è possibile compiere delle azioni che hanno come argomento oggetti o altri agenti. Prima di eseguire un azione, un agente si trova davanti una scena costituita da una porzione di mondo in cui può eseguire delle azioni situate. L azione effettuata dall agente dipende dall ambiente e dai propri stati interni quindi in generale non predicabile in maniera deterministica ma tuttavia si assume che possa essere espressa in termini di probabilità e valori attesi. Le azioni situate si suppone siano predette da una teoria espressa in un linguaggio opportuno la quale cattura le abilità e le conoscenze che gli agenti hanno dell ambiente. Nuovi agenti che eseguono azioni conformi alla teoria culturale validata dal gruppo risolvono il problema del loro comportamento subottimale. Quindi il termine Cultura Implicita rappresenta il fatto di avere un gruppo di agenti tali che le loro azioni situate soddisfano la teoria culturale validata di un altro gruppo senza la necessità che gli agenti interagiscano tra di loro. Un fenomeno di Cultura Implicita per essere realizzato necessita di un Sistema di Supporto alla Cultura Implicita (SICS). In figura 1.6 è rappresentata l architettura generale del SICS. Il simbolo ɛ indica l ambiente ovvero un sottoinsieme dell unione dell insieme degli agenti e dell insieme degli oggetti. Con le lettere a, b, c vengono indicati gli agenti, con α, β, γ le azioni compiute da questi e con σ una scena che rappresenta un sottoinsieme dell ambiente e delle azioni possibili su di esso. Quando l agente esegue un azione in una scena, l ambiente reagisce proponendo all agente una nuova scena: facendo riferimento alla Figura 1.6, data

23 1.3. Information Overloading e Cultura Implicita 17 Figura 1.6: Architettura del SICS. l azione situata α t eseguita dall agente a nella scena σ t all istante t, viene determinata, all istante t + 1, la nuova scena σ t+1. In generale la relazione tra le azioni eseguite e la nuova scena dipende dalle caratteristiche dell ambiente e in particolare dalle leggi che ne descrivono la dinamica. Lo scopo principale del SICS è quello di stabilire un fenomeno di Cultura Implicita che viene raggiunto attraverso due fasi: 1. L elaborazione di una teoria culturale validata Σ da una data teoria a priori Σ 0 e dall insieme delle azioni situate eseguite dal gruppo G. 2. La presentazione ad un gruppo G di un insieme di scene tali che le azioni situate attese dei membri di tale gruppo soddisi Σ. L architettura (vedi figura 1.6) è composta di tre componenti di base: Observer che si occupa di immagazzinare in un database (DB Observ.) le azioni situate eseguite dagli agenti del gruppo. Inductive Module che usando i dati contenuti nel database e la teoria a priori Σ 0 induce una teoria culturale validata Σ.

24 18 1. Sistemi Multi-Agente e Cultura Implicita Composer che propone ad un gruppo G un insieme di scene σ t+1 σ t+1 = σ t+1 [i] = F ɛ (α t, σ t, t) tali che le loro azioni situate attese e t+1 soddisfino Σ. Nella situazione rappresentata in figura 1.6 il Composer propone agli agenti a, b, c le scene σ t+1, σ t+1, σ t+1 rispettivamente. Da notare che in questo caso gli agenti b e c appartengono sia al gruppo G che G ; ciò significa che anche le loro azioni situate sono immagazzinate nel DB Oserv. e sono quindi utilizzate per elaborare la teoria Σ e le nuove scene Usi precedenti del SICS In questa sezione vengono presentati nel dettaglio gli usi precedenti del SICS, i quali dimostrano come attraverso il fenomeno di Cultura Implicita, il SICS aiuti a risolvere il problema del trasferimento di conoscenza senza bisogno alcuno di rappresentarla esplicitamente e migliori l interazione tra agenti [12][13]. SICS collaborativo L obiettivo di un SICS è stabilire un fenomeno di Cultura Implicita. Ciò si verifica quando un gruppo di agenti si comporta in maniera consistente con la cultura di un altro gruppo senza interazione diretta o sforzo addizionale di alcuno. Questo è quanto avviene anche nei sistemi di Collaborative Filtering (vedi paragrafo 1.3.1) dove gli elementi sono raccomandati basandosi sui giudizi espressi da un gruppo di agenti del sistema. Il termine collaborative rappresenta il fatto che l unica cosa che conta nel processo di raccomandazione sono gli altri agenti e le loro preferenze espresse tramite azioni di voto e non il tipo di contenuto associato. In [11] è mostrato come sia possibile riprodurre in maniera abbastanza semplice le funzionalità del CF in un SICS. La figura 1.7 mostra l architettura del SICS nel caso particolare del CF. L architettura consiste solo dell Observer e del Composer e la teoria culturale Σ è direttamente inserita nel Composer. Tale teoria è un concetto fondamentale nel CF in quanto offre la possibilità di fare previsioni sui giudizi espressi da un agente sulla base delle preferenze espresse da agenti in qualche modo simili. Nel caso particolare del CF i suggerimenti vengono forniti ad un solo agente per volta ( G = 1). SICS per il supporto all interazione multi-agente In un sistema multiagente, un SICS può essere visto come una capacità associata all intero sistema [12]. In questo caso il SICS influenza le azioni sul sistema facendo in modo che tutti gli agenti si comportino in accordo con la

25 1.3. Information Overloading e Cultura Implicita 19 Figura 1.7: Un SICS per il collaborative Filtering. teoria culturale. In figura 1.8 è illustrata in dettaglio un architettura concreta per il SICS che offre supporto all interazione multiagente. In particolare il SICS interagisce con il sistema attraverso una serie di interfacce: interfacce d osservazione che catturano le azioni degli agenti appartenenti al gruppo G; interfacce d osservazione/attuazione che catturano le azioni degli agenti appartenenti al gruppo G proponendo a questi ultimi le scene prodotte dal SICS. In un sistema multiagente basato sul meccanismo di brokering (vedi paragrafo 1.2.1) il SICS può essere utilizzato dai vari broker per suggire il servizio più adatto a soddisfare l agente che l ha richiesto. In questo caso il SICS attraverso le interfacce d osservazione raccoglie le osservazioni sugli agenti client (gruppo G) quindi ad ogni richiesta i broker (gruppo G ) utilizzeranno le interfacce d osservazione/attuazione per ottenere, sulla base delle osservazioni raccolte, un opportuno suggerimento dal SICS. Come già osservato nel paragrafo precedente, questo meccanismo non è altro che una generalizzazione del CF, dove la similarità tra gli agenti è elaborata sulle azioni eseguite e non

26 20 1. Sistemi Multi-Agente e Cultura Implicita Figura 1.8: SICS per il supporto all interazione multi-agente. sui voti espressi. In questo caso la presenza del SICS contribuisce a far decrescere la quantità di richieste insoddisfatte aumentando complessivamente il numero di interazioni andate a buon fine. SICS come capacità di ogni agente Nella soluzione proposta in questo lavoro, il SICS è visto come capacità interna di ogni agente (vedi figura 1.9). Per mezzo del SICS, gli agenti possono inviare e ricevere consigli sulla base della loro esperienza. Ciò consente agli agenti di aiutarsi reciprocamente nella ricerca di servizi o informazioni. In altre parole l agente, attraverso il proprio SICS, supporta non solo le proprie richieste ma anche quelle degli altri agenti, favorendo quindi il processo di interazione all interno del gruppo. In questo caso i gruppi G e G coincidono quindi d ora in poi si farà riferimento solo al gruppo G(= G = G ); questo sarà costituito di volta in volta da tutti gli agenti osservati dall agente che ha attivato il proprio SICS. In un ottica di progetto e sviluppo di agenti software l architettura del SICS fornisce un insieme di capacità: capacità di osservare: avviene tramite l Observer e permette di immagazzinare le azioni situate degli agenti del gruppo G; capacità di indurre regole: consente attraverso l Inductive Module di usare le azioni immagazzinate dall Observer per estrarre una teoria validata Σ;

27 1.4. Tecnologie e Standard per Sistemi Multi-Agente 21 Figura 1.9: Gruppo di agenti dotati di SICS. capacità di suggerire: è data dal Composer il quale utilizza la teoria culturale Σ e le osservazioni immagazzinate dall Observer per proporre agli agenti del gruppo G un insieme di scene tali che le loro azioni situate attese soddisfino la teoria culturale. La tecnologia ad agenti rappresenta tutt oggi un settore di ricerca attivo, di conseguenza non esistono ancora degli standard riconosciuti su cui fare affidamento. Nonostante questo diverse organizzazioni, tra cui FIPA, si stanno muovendo per definire i concetti fondamentali di questa nuove tecnologia. A questo argomento sarà dedicato il prossimo pargrafo. 1.4 Tecnologie e Standard per Sistemi Multi- Agente Al momento attuale non esiste uno standard riconosciuto e definitivo per la tecnologia ad agenti. Nonostante ciò esiste un associazione internazionale no-profit di aziende, la Foundation for Intelligent Phisical Agents (FIPA) il cui fine è produrre le specifiche per una tecnologia ad agenti che possa, in futuro, diventare uno standard. FIPA definisce tutte le norme che permettono ad una società di agenti di interagire, operare ed essere facilmente gestita.

28 22 1. Sistemi Multi-Agente e Cultura Implicita Il lavoro di FIPA ha attivato delle iniziative di standardizzazione da parte di altre organizzazioni (Agent Society, Internet Engineering Task Force, Object Management Group, WWW Consortium). Le specifiche FIPA saranno approfondite nel paragrafo A livello implementativo esistono diverse piattaforme ad agenti che adottano lo specifiche FIPA tra cui: Agent Development Kit April Agent Platform Comtech Agent Platform FIPA-OS Grasshopper Jack Intelligent Agents Java Agent Development Environment (JADE) Lightweight Extesible Agent Platform (LEAP) ZEUS Il sistema sviluppato per questo lavoro di tesi è basato sulla piattaforma Jade, trattata nel paragrafo Specifiche FIPA La Foundation for Intelligent Physical Agents [19], è un organizzazione non lucrativa che si propone di definire delle regole standard per sistemi ad agenti. E stata fondata a Ginevra nel 1996 ed è attualmente composta da diverse società ed organizzazioni; all inizio, il suo obiettivo principale erano le applicazioni robotiche (da cui il termine physical nella sigla FIPA), poi gradualmente l interesse si è spostato nel campo degli agenti software. Sebbene si parli comunemente di standard FIPA, tale denominazione non è del tutto corretta, in quanto le specifiche prodotte da essa sono ancora ad un livello sperimentale; la realtà è che esse, tuttavia, sono adottate da buona parte della comunità degli sviluppatori di agenti, costituendo dunque uno standard de facto. Le specifiche FIPA sono classificate per argomenti; nei prossimi paragrafi saranno analizzate nel dettaglio alcune delle caratteristiche FIPA più significative per questo lavoro di tesi.

29 1.4. Tecnologie e Standard per Sistemi Multi-Agente 23 Piattaforma ad agenti FIPA Una piattaforma ad agenti (AP), secondo le specifiche FIPA, rappresenta la struttura all interno della quale gli agenti esistono ed operano. Il modello raffigurato in Figura 1.10 è il modello logico di riferimento per la creazione, registrazione, localizzazione, comunicazione e migrazione di agenti: le entità contenute nel modello sono insiemi di capacità logiche (cioè servizi) e non implicano nessun tipo di configurazione fisica. Figura 1.10: Modello di riferimento per la piattaforma ad agenti secondo le specifiche FIPA [20]. FIPA si concentra soprattutto sul modello d interazione tra gli agenti mentre i dettagli implementativi della piattaforma e degli agenti sono lasciati allo sviluppatore. Il modello di riferimento consiste dei seguenti componenti logici, ciascuno dei quali rappresenta un insieme di capacità: Agent: è un processo computazionale dotato di funzionalità autonome di comunicazione basate sull Agent Communication Language (ACL). L agente rappresenta il principale protagonista all interno della piattaforma ed è in grado di svolgere uno o più servizi secondo un modello di esecuzione unificato e integrato: ad esso dev essere associato un proprietario

30 24 1. Sistemi Multi-Agente e Cultura Implicita e una stringa di identificazione detta Agent Identifier (AID), che lo distingue univocamente nell universo degli agenti. Per poter comunicare con altri agenti deve registrarsi su dei transport address, degli indirizzi che gli permettono di essere localizzato. Directory Facilitator (DF): è un agente opzionale che, se presente, tiene traccia dei servizi offerti dagli agenti presenti nella piattaforma. Ciascun agente deve registrare i propri servizi nel DF sul quale può anche eseguire delle ricerche per verificare i servizi offerti da altri. Agent Management System (AMS): è un componente obbligatorio e unico per ciascuna piattaforma: esso esercita la funzione di supervisore controllando l accesso, l uso dell AP e la creazione, cancellazione e modifica degli agenti. L AMS contiene una lista di AID, ciascuno dei quali contenente il nome unico dell agente e una serie di trasport address per comunicare con altri agenti. Un agente deve sempre registrarsi ad un AMS per avere un AID valido. Message Trasport Service (MTS) o Agent Communication Channel (ACC): è il protocollo di comunicazione utilizzato sia dagli agenti all interno dello stessa piattaforma che tra agenti appartenenti a piattaforme diverse. Agent Platform (AP): La piattaforma può essere vista come un infrastruttura per agenti all interno della quale essi vivono ed interagiscono. Tale struttura è formata da computer, sistema operativo, software di supporto e i componenti FIPA elencati poc anzi (DF, AMS, MTS). L implementazione dell AP non è trattata nelle specifiche FIPA e pertanto è lasciata allo sviluppatore. E opportuno ricordare che gli agenti che appartengono allo stesso AP non devono necessariamente trovarsi nello stesso computer, ma possono essere distribuiti nella rete. Software: rappresenta l insieme delle risorse esterne a cui l agente può far riferimento. Gli agenti possono accedere a software esterni per aggiungere ad esempio nuovi servizi, acquisire nuovi protocolli di comunicazione, effettuare operazioni remote, ecc. Un particolare sforzo è stato svolto da parte di FIPA, per definire il protocollo ACL d interazione tra agenti. Nel prossimo paragrafo ne verrà chiarito il funzionamento.

31 1.4. Tecnologie e Standard per Sistemi Multi-Agente 25 Linguaggio di comunicazione FIPA-ACL I linguaggi di comunicazione per agenti sono recentemente diventati un punto focale nel campo d indagine dei sistemi multi-agente, soprattutto riguardo ai cosiddetti sistemi aperti, che richiedono un supporto di comunicazione uniforme e condiviso. Anche se non esiste ancora un linguaggio di comunicazione per agenti universalmente accettato, tutte le proposte più significative assumono che la comunicazione tra agenti vada trattata in termini di atti linguistici [1, 51], detti atti comunicativi. Dopo aver svolto un importante ruolo nei modelli della comunicazione uomo-macchina sviluppati nell ambito dell intelligenza artificiale, gli atti linguistici sono stati adottati come fondamento della comunicazione tra agenti dai ricercatori che hanno proposto il linguaggio KQML e da FIPA. L utilizzo di un linguaggio standard di comunicazione, facilita l interazione tra gli stessi agenti e tra agenti ed ambiente. Il linguaggio adottato da FIPA va sotto il nome di FIPA-ACL (FIPA-Agent Communication Language). Un messaggio FIPA-ACL contiene un insieme di parametri variabile secondo il tipo di comunicazione e la situazione. L unico parametro obbligatorio è quello che identifica il tipo d atto comunicativo (performative) sebbene sia auspicabile che la maggior parte dei messaggi contengano anche il mittente (sender), il ricevente (receiver) e l oggetto (content). Se l agente non è in grado di capire o processare uno o più parametri può rispondere con un messaggio indicante l impossibilità di comprensione (not-understood). L utente è libero di estendere il linguaggio specificando parametri più adatti ai propri fini sebbene sia consigliato utilizzare quelli definiti da FIPA, descritti in tabella 1.1 [21]. Per poter comunicare gli agenti hanno bisogno, oltre ad uno standard condiviso sulla forma dei messaggi, anche di un protocollo, ovvero un insieme di regole che definiscano quale sia la successione dei messaggi da attendersi in una conversazione tipica. Protocollo d interazione La comunicazione tra gli agenti spesso segue uno schema predeterminato, per questo FIPA definisce formalmente le modalità con cui deve avvenire lo scambio di messaggi nelle conversazioni: gli agenti, prima di iniziare la comunicazione, possono concordare un protocollo d interazione che determina il tipo di messaggi che è lecito aspettarsi nel corso della trasmissione. FIPA ha definito alcuni protocolli d interazione, come FIPA-Request, FIPA- Propose, FIPA-Request When, FIPA-Query, FIPA-Contract Net, FIPA-Iterated Contract Net. Mentre i primi protocolli identificano tipologie d interazione ele-

32 26 1. Sistemi Multi-Agente e Cultura Implicita Parametro Descrizione performative Indica il tipo di atto comunicativo Sender Denota l identità del mittente, vale a dire l AID dell agente. Receiver Denota l identità dei riceventi del messaggio. Content Specifica l oggetto del messaggio che deve essere interpretato dal ricevente. reply-to Specifica che i messaggi che seguiranno nella conversazione devono essere inviati all agente specificato da questo parametro invece che al mittente. Language Denota il tipo di linguaggio da utilizzare per comprendere il contenuto. Encoding Indica il tipo di codifica utilizzato per il parametro content. Ontology Denota l ontologia da utilizzare per comprendere i simboli contenuti nel parametro content. Protocol Denota il protocollo d interazione che l agente mittente utilizza nel messaggio ACL (questo argomento sarà approfondito nel prossimo paragrafo). conversation-id Introduce un identificatore di conversazione per riconoscere la sequenza d atti comunicativi in corso. reply-with Denota il formato da utilizzare nel messaggio di risposta. In-reply-to Denota un espressione che fa riferimento ad un azione precedente alla quale il presente messaggio è la risposta. reply-by Rappresenta un limite sul tempo di risposta. Tabella 1.1: Parametri standard in un messaggio di tipo FIPA-ACL.

33 1.4. Tecnologie e Standard per Sistemi Multi-Agente 27 mentari tra agenti, i protocolli FIPA-Contract Net e FIPA-Iterated Contract Net permettono di avere una comunicazione più articolata. In figura 1.11 è schematizzato il funzionamento del protocollo FIPA-Query. Figura 1.11: Protocollo di interazione FIPA-Query. Il protocollo è utilizzato per lo scambio d informazioni tra agenti. Un agente invia il messaggio query ad un altro agente il quale può rispondere in quattro modi diversi: not-understood se la richiesta non è stata compresa, failure in caso di errori di comunicazione, refuse se l agente non possiede le informazioni richieste e inform se l agente accetta la query e procede all invio delle informazioni Jade Jade [34] è un framework software open-source completamente implementato in Java e distribuito da TILAB sotto licenza LGPL grazie al quale viene semplificata l implementazione di sistemi multi-agente. Esso si propone come middle-ware compatibile con le specifiche FIPA e fornisce dei tool grafici di supporto alle fasi di debugging e sviluppo. Il sistema ad agenti può coinvolgere diverse macchine nella rete che non necessariamente devono condividere lo stesso sistema operativo e la configurazione può essere modificata a run-time tramite interfaccia grafica. Architettura della piattaforma Jade La piattaforma ad agenti JADE, essendo conforme alle specifiche FIPA, contiene tutti i componenti che caratterizzano le specifiche e la comunicazione tra gli agenti avviene tramite scambio di messaggi codificati in linguaggio ACL. Ciascun host su cui la piattaforma ad agenti è in esecuzione utilizza una singo-

34 28 1. Sistemi Multi-Agente e Cultura Implicita la Java Virtual Machine (JVM), la quale rappresenta l ambiente d esecuzione di più agenti anche in concorrenza. Ciascuna istanza di esecuzione dell ambiente Jade è chiamata Container e può contenere un numero arbitrario di agenti. La Piattaforma è rappresentata dall insieme di container attivi, tra i quali il Main Container rappresenta quello principale, sempre attivo, al quale tutti gli altri devono registrarsi. Se un altro Main Container viene eseguito da qualche parte nella rete esso costituisce una diversa piattaforma. Il compito del Container è quello di smistare i messaggi ACL in arrivo, instradandoli in base al destinatario e inserendoli nella coda privata dell agente interessato. A livello implementativo, ciascun Container rappresenta un oggetto server RMI (Remote Server Invocation). In Figura 1.12 è rappresentato un esempio di scenario in cui due piattaforme Jade sono in esecuzione. Gli agenti sono identificati da un nome unico e possono comunicare tra loro in maniera trasparente, indipendentemente da dove essi si trovino (anche su piattaforme diverse). Un Main Container si differenzia da un normale Container non solo per il fatto che rimane sempre attivo ma anche perchè contiene due particolari tipi di agente che vengono eseguiti in modo automatico e contemporaneamente ad esso: L Agent Management Service (AMS) che assume il ruolo di supervisione assicurandosi che ogni agente abbia un unico identificatore. Esso inoltre regola la creazione e soppressione degli agenti all interno della piattaforma. Il Directory Facilitator (DF) provvede al servizio detto di pagine gialle, mantenendo il registro di tutti i servizi offerti dagli agenti iscritti alla piattaforma. Architettura interna dell agente Jade Dal punto di vista puramente implementativo un agente è rappresentato tramite un istanza della classe Agent. Questo gli permette di godere di una serie di caratteristiche che facilitano i meccanismi di registrazione, configurazione e comunicazione. Il modello computazionale dell agente è multi-tasking, dove ciascun task (spesso riferito come comportamento), è eseguito in concorrenza. Ciascuna funzionalità o servizio svolto dall agente è implementato come uno o più comportamenti (behaviour), gestiti in maniera trasparente per lo sviluppatore grazie allo scheduler presente all interno di ogni agente. Conformemente alle specifiche FIPA, i comportamenti determinano una serie di stati in cui può trovarsi l agente Jade (vedi figura 1.13).

35 1.4. Tecnologie e Standard per Sistemi Multi-Agente 29 Figura 1.12: Un esempio di scenario con due piattaforme Jade in esecuzione. Questi stati sono: INITIATED: l agente è stato creato, ma non risulta ancora registrato all AMS, quindi non possiede un ID e non può comunicare. ACTIVE: l agente è stato registrato all AMS, ha un nome unico e un indirizzo e quindi può accedere a tutte le funzionalità della piattaforma Jade. SUSPENDED: l esecuzione dell agente è stata sospesa. Il suo thread interno è in attesa e nessuno comportamento è attualmente in esecuzione. WAITING: l agente è bloccato e in attesa di qualche evento. Il suo Thread interno si trova in modalità sleeping e viene risvegliato quando una certa condizione avviene, come ad esempio l arrivo di un messaggio.

36 30 1. Sistemi Multi-Agente e Cultura Implicita Figura 1.13: Ciclo di vita di un agente Jade [19]. DELETED: l agente è stato cancellato e quindi non è più accessibile. Il suo Thread interno ha terminato l esecuzione e l agente non risulta più registrato nell AMS. TRANSIT: un agente entra in questo stato nell istante prima di migrare verso una nuova piattaforma. COPY: questo stato interno è utilizzato da Jade per clonare gli agenti. GONE: questo stato interno è utilizzato da Jade nel momento in cui agenti mobili migrano verso una nuova locazione e si trovano in uno stato stabile. Un agente può attivare i propri comportamenti soltanto quando si trova nello stato attivo. Le tecnologie discusse nel seguente capitolo sono state combinate con lo standard ISO MPEG-7 (trattato nel paragrafo 2.1) allo scopo di costituire un infrastruttura di supporto all utente nella gestione e condivisione di risorse multimediali, la cui architettura logica sarà discusso nel prossimo capitolo.

37 2 Sistema per la gestione e condivisione di risorse multimediali Il recupero e filtraggio d informazioni rappresenta uno tra i settori di ricerca più attivi a causa della crescente disponibilità di dati soprattutto di tipo multimediale e la crescente difficoltà nel gestirli, spesso dovuta ad una strutturazione eterogenea e soggettiva degli stessi. Inoltre la forte espansione su larga scala di nuove pratiche applicazioni quali i motori di ricerca su Web, i sistemi per il broadcast d informazioni e i sistemi di knowledge management, hanno favorito lo sviluppo di strumenti sempre più efficienti per la descrizione, l identificazione e il recupero di informazioni multimediali. Il valore che viene ad assumere un informazione disponibile on-line è tanto più grande quanto più facile è il suo reperimento, accesso e gestione. Gli attuali motori di ricerca basano la loro esplorazione esclusivamente sulla parte testuale di un documento, tralasciando ogni significato semantico dell informazione multimediale (se non per il nome del file che contiene tale informazione). Attualmente, sistemi efficienti per la ricerca di informazione di tipo multimediale, basati sul contenuto semantico, non esistono oppure sono poco conosciuti perchè solo in fase sperimentale. I fatti dimostrano altresì che le ricerche-utente sono basate sul contenuto e sulla sua semantica più che sul media stesso; l utente è quindi costretto ad adattarsi al sistema e tradurre le sue richieste di alto livello in altre di più basso livello comprensibili dal sistema. Viene a mancare, in ultima analisi, quello che è chiamato quality access to content, che per essere realizzato necessita di soluzioni innovative nell identificazione dei contenuti, e tecniche accurate e personalizzate di filtraggio, ricerca, reperimento e gestione. Si rende quindi evidente la necessità di implementare forme di rappresentazione dei dati che permettano una maggiore descrizione dei contenuti e non soltanto la semplice memorizzazione e compressione. Inoltre l utilizzo di tecniche avanzate per la descrizione semantica dell informazione assume significato solo se accompagnato da un architettura intelligente a supporto dell utente in fase di

38 32 2. Sistema per la gestione e condivisione di risorse multimediali creazione, accesso e gestione di tale informazione. In questo lavoro di tesi, si è deciso di affrontare il problema sviluppando un sistema d aiuto all utente nella creazione, gestione e condivisione dell informazione, basato su uno standard flessibile per la descrizione strutturale e semantica dei contenuti ma anche su tecniche di supporto all utente per il recupero delle informazioni. Il sistema permette lo scambio di risorse multimediali rendendo invisibile all utente l eterogeneità e la complessità delle stesse e adattandosi alle preferenze e al comportamento dell utente. La capacità del sistema di apprendere dall esperienza è basata sul paradigma della Cultura Implicita, discussa nel paragrafo 1.3.2, la quale permette anche a nuovi utenti di assimilare velocemente una conoscenza ottimale dell ambiente in cui si muovono grazie a meccanismi di suggerimento forniti in modo trasparente da altri utenti. Il sistema fornisce una serie di strumenti che coinvolgono l intero tempo di vita dell informazione, dalla creazione, supportata da un authoring tool, alla pubblicazione su un server dedicato, alla diffusione verso l utente finale. La struttura del sistema è stata pensata in un ottica di utilizzo aziendale dove la produzione, l uso e la gestione dell informazione può assumere significati diversi a seconda del ruolo che l attore svolge nel sistema. Nonostante ciò il sistema può essere facilmente applicato anche in contesti più informali dove lo stesso attore può ad esempio produrre l informazione e allo stesso tempo condividerla con altri utenti. Il sistema propone delle soluzioni innovative sia per quanto riguarda la produzione dei contenuti che per quanto riguarda il problema dell accesso intelligente agli stessi. Le tecnologie alla base, già introdotte nel capitolo precedente, come il modello d interazione ad agenti e il framework di cultura implicita, sono state combinate con uno standard per la descrizione sia strutturale che semantica dell informazione così da ottenere uno strumento estremamente flessibile e adattabile a ogni tipo di dato. Questo standard, chiamato MPEG-7, o Multimedia Content Description Interface sarà trattato nella prima parte del capitolo, quindi sarà descritta l architettura logica del sistema soffermandosi sulle parti principali che la compongono. 2.1 ISO Standard MPEG-7 Il consorzio MPEG (Movie Picture Expert Group [43]), da sempre protagonista nello sviluppo di standard multimediali di riferimento per la rappresentazione dei contenuti, nel Luglio 1996 cominciò lo sviluppo di questo standard generalmente chiamato MPEG-7 ma spesso riferito anche come Multimedia Content Description Interface.

39 2.1. ISO Standard MPEG Obbiettivi L idea alla base di MPEG-7 consiste nell utilizzo di una serie di strumenti per la descrizione, gestione e interpretazione di dati di tipo multimediale, indipendentemente dalla particolare tecnologia di memorizzazione e trasmissione utilizzata. Questo concetto non rappresenta una novità in questo campo, ma prende spunto da sistemi proprietari già in uso, come: SMPTE Metadata Dictionary [54] The Dublin Core Metadata [15] EBU P/Meta [16] TV Anytime [56] and Material exchange Format (MXF) [38]. In tale variegato contesto, fatto di soluzioni eterogenee e incompatibili fra loro, MPEG-7 si pone come standard di riferimento compatibile con le soluzioni già esistenti, al fine di garantire una meno traumatica migrazione verso quello che potrebbe essere lo standard del futuro in tale ambito. Come da tradizione per ogni standard MPEG, MPEG-7 non si focalizza su un particolare dominio applicativo, ma rappresenta una soluzione portabile e applicabile ad ogni piattaforma e software, senza particolari predilezioni Concetti chiave dello standard Per comprendere meglio questa tecnologia, è opportuno chiarire i principi alla base dello standard: Dominio applicativo: MPEG-7 può essere associato a qualsiasi applicazione o sistema che sia real-time, on-line, off-line, streamed o di memorizzazione dati. Relazione col contenuto: MPEG-7 permette la creazione di descrittori che possono essere o in formato testuale come entità stand-alone, per fornire ad esempio solo un sommario del contenuto, o in formato binario compresi nel file multimediale associato per sistemi di broadcast, oppure collegati con una o più versioni dello stesso disponibili in rete. Tipi di dato: MPEG-7 considera una grande varietà di tipi di dato come voce, audio, video, immagini, grafica, modelli 3D, testo ecc. 1 Specifying the minimum for maximum usability.

40 34 2. Sistema per la gestione e condivisione di risorse multimediali Orientato agli oggetti: MPEG-7 permette una descrizione del contenuto ad albero, orientata agli oggetti; il contenuto può essere descritto cioè come composizione di oggetti multimediali ed è possibile accedere in modo indipendente ad uno specifico nodo. Indipendente dal formato: MPEG-7 può essere usato indipendentemente dal formato usato per rappresentare il contenuto, sia esso analogico, digitale, compresso, NTSC, PAL, MPEG-1, MPEG-2, MPEG-4 o quant altro. C è comunque una speciale relazione con MPEG-4, in particolare con XMT (Extensible MPEG-4 Textual Format), un framework per rappresentare la struttura di una scena MPEG-4 utilizzando una sintassi testuale basata su XML. Estensibilità: MPEG-7 può essere adattato a qualsiasi particolare dominio applicativo grazie alla presenza del Data Definition Language (DDL), un linguaggio basato su XML che ne permette l estensione. Fine ultimo di MPEG-7 è quindi, in uno scenario futuro che vedrà sempre più presente Internet e il web nella vita di tutti i giorni, far sì che i contenuti multimediali siano esplorabili così come lo sono oggi i documenti di tipo testuale Descrizione dello Standard Lo standard MPEG-7 è suddiviso in otto parti fondamentali che possono essere usate in modo indipendente l una dall altra e in combinazione con tecnologie proprietarie [41]: Parte 1 - System: specifica i tool da utilizzare per preparare le descrizioni MPEG-7, il formato, il trasporto, la memorizzazione, la sincronizzazione tra contenuto e descrizione e la protezione della proprietà intellettuale [28]. Parte 2 - Description Definition Language: contiene una specifica del linguaggio utilizzato per definire struttura e contenuto dei documenti MPEG-7. Si tratta di uno Schema Language (basato su XML) per rappresentare nuovi Descrittori (D) e Schemi di Descrizione (DS) sintatticamente e strutturalmente conformi allo standard. Un Descrittore, chiamato anche attributo, rappresenta in generale una caratteristica distintiva di un oggetto definendone la sintassi e la semantica. Un descrittore può essere costituito ad esempio da una sequenza di stringhe per rappresentare un titolo. Uno Schema di Descrizione specifica la struttura e la semantica delle relazioni tra Descrittori oppure tra altri Schemi

41 2.1. ISO Standard MPEG-7 35 di Descrizione. Un schema di Descrizione può caratterizzare ad esempio un film o un immagine. DDL fornisce inoltre le regole sintattiche necessarie per estendere e raffinare schemi di descrizione e descrittori già esistenti per adattarli ad una specifica applicazione [29]. Parte 3 - Visual: specifica dei descrittori e degli schemi di descrizione che si occupano esclusivamente d informazioni visuali [30] Parte 4 - Audio: specifica dei descrittori e degli schemi di descrizione che si occupano esclusivamente d informazioni audio [31] Parte 5 - Descrizione di Schemi Multimediali (MDS): Specifica dei descrittori e degli schemi di descrizione che si occupano di caratterizzare materiale multimediale generico [32]. Parte 6 - Software di Riferimento: Include il codice sorgente dei tool sviluppati dal gruppo MPEG conformi allo standard MPEG-7 (il software a corredo viene spesso riferito come XM - experimentation Model). Parte 7 - Conformance Testing: definisce le procedure per testare la conformità delle descrizioni allo standard MPEG-7 [42]. Parte 8 - Estrazioni e utilizzo delle descrizioni MPEG-7: fornisce informazioni sull uso d alcuni tool di descrizione appartenenti al Reference Software [33]. Questa parte viene talvolta riferita come Technical Report e non come standard. Il nucleo della tecnologia MPEG-7 è rappresentato dalle prime cinque parti dello standard, mentre le parti 6, 7 ed 8 sono considerate parti di supporto. Problema fondamentale nello scenario appena descritto, risulta essere la modalità di descrizione del contenuto. Una descrizione di tipo informativo è intuitivamente rappresentabile con diversi livelli di granularità, utilizzando diverse caratteristiche secondo il dominio applicativo. Per un contenuto di tipo visivo come un filmato o un immagine si può spaziare da caratteristiche di tipo strutturale, nelle quali si considereranno forme, dimensioni e colori ad altre di più alto livello, che riguardano aspetti semantici, come la definizione dei soggetti presenti e le loro interazioni (ad esempio: scena nella quale vi è una persona che sta parlando sulla sinistra, una pallina rossa che sta rimbalzando sulla destra, con il rumore di sottofondo di un treno). Bisogna inoltre tenere in considerazione che le caratteristiche strutturali di un contenuto possono essere ricavate in maniera automatizzata tramite per esempio dei software di image-processing mentre una descrizione a livello semantico è più difficili da ottenere senza l intervento umano.

42 36 2. Sistema per la gestione e condivisione di risorse multimediali Per quanto riguarda i sistemi per il reperimento d informazioni, lo standard prevede che la query utilizzata per la ricerca non debba essere necessariamente di tipo testuale: in altre parole è possibile cercare materiale visivo utilizzando non solo altro materiale visivo, ma anche musica, parlato ecc. E compito del motore di ricerca effettuare le necessarie conversioni e fornire solo dei contenuti compatibili con la query in ingresso Elementi dello standard in dettaglio Lo standard prevede che le descrizioni MPEG-7 possano assumere forma testuale (per mezzo del Data Definition Language), binaria (tramite BiM ) o un mix dei due. Esiste comunque un mapping bidirezionale per poter convertire un formato nell altro a seconda del tipo di applicazione di cui si fa uso. Come anticipato, il formato testuale si basa sullo standard W3C, XML e presenta la consueta struttura ad albero (Description Tree). Secondo il tipo di contenuto e dominio applicativo possono essere utilizzati uno o più schemi di descrizione, con la possibilità di utilizzare i descrittori forniti dallo standard oppure di definirne di nuovi: quindi, uno o più schemi MPEG-7 definiscono una classe di possibili documenti MPEG-7 (istanze). In figura 2.1 si nota come gli elementi dello standard siano in relazione fra loro. I Descrittori e gli Schemi di Descrizione appartenenti allo standard sono logicamente divisi in 5 grandi ambiti: Creation Information: prevede informazioni sulla creazione del contenuto ed eventualmente sul materiale correlato: titolo, annotazioni, informazioni su chi l ha creato, dove e quando. Il contenuto può anche essere classificato in categorie come soggetto, genere, linguaggio ecc. Media Information: riguarda informazioni sul formato del contenuto, compressione, dimensione e supporta più istanze dello stesso differenziate, per esempio, per risoluzione, codifica ecc. Usage Information: descrive le modalità d utilizzo delle informazioni correlate quali copyright e termini di pagamenti. Questo tipo d informazione è generalmente dinamico e può quindi cambiare durante il ciclo di vita del contenuto. Structural Aspects: descrive la struttura spazio-temporale del contenuto audio-visuale: elenca caratteristiche quali colore, texture, forme, movimento ecc.

43 2.1. ISO Standard MPEG-7 37 Figura 2.1: Relazione tra le entità coinvolte nello standard MPEG-7. Semantic Aspects: descrive il contenuto audio-visuale dal punto di vista di nozioni concettuali del mondo reale come oggetti presenti, eventi in corso e relazioni. Questi 5 differenti aspetti di una descrizione, qui presentati come entità separate, non sono in realtà da considerarsi disgiunti, ma sono correlati fra loro, e in alcune parti, anche inclusi l uno nell altro. Nelle applicazioni reali non è un obbligo includere tutti e cinque questi aspetti, ma si ha libertà di porre più enfasi su alcuni tralasciandone altri Classification Schema Lo standard MPEG-7 prevede l utilizzo di particolari tipi di documento chiamati Classification Schema, che permettono allo sviluppatore di definire un vocabolario specifico per la descrizione di un dominio come insieme di termini. Una descrizione MPEG-7 può far riferimento a dei termini definiti in un Classification Schema esterno offrendo così un maggior grado di flessibilità sui contenuti. Questo tipo di documento viene stilato quando si ha una

44 38 2. Sistema per la gestione e condivisione di risorse multimediali perfetta conoscenza del dominio applicativo in modo da poter utilizzare per la descrizione termini e sinonimi adeguati. I termini possono far riferimento a lingue diverse ed essere raggruppati in gerarchie e relazioni complesse che permettono ad esempio di definire se una determinata parola ha un significato più vicino ad un termine piuttosto che un altro. Un esempio di funzionamento del Classification Schema relativo al sistema implementato, sarà descritto nel paragrafo Architettura del sistema Da un punto di vista logico, il sistema implementato è costituita da tre componenti principali. Come mostrato in figura 2.2, questi sono il Knowledge Engineer, il Content Manager e lo User Client. Il Knowledge Engineer è formato da: Un Authoring Tool che permette di creare in modo automatizzato la descrizione in formato ISO MPEG-7, di oggetti tridimensionali complessi e di esportarli eventualmente in un formato tridimensionale portabile e flessibile. Il descrittore MPEG-7 creato tramite l Authoring Tool contiene non soltanto la descrizione dell oggetto ma anche di tutti i sotto-oggetti che lo compongono. Un applicazione Client (KE Client) che permette l upload, il download e la gestione delle informazioni presenti nel Content Storage System in modo remoto utilizzando una connessione sicura. Secondo il dominio di applicazione del sistema, l utilizzo di tale strumento può essere riservato all amministratore del sistema, al designer oppure essere usufruibile da tutti gli utenti appartenenti alla piattaforma. Il Content Manager è il componente principale dell intero sistema. Esso è composto da: Content Storage System costituito da un server di supporto al KE Client e da tre database utilizzati per la gestione dei dati. Il server di supporto, indicato con Content Manager Server, si occupa di mantenere una connessione protetta con il KE Client e di gestire l acceso ai database contenenti le informazioni per il login degli utenti, i file multimediali e i descrittori MPEG-7. Host Server fornisce il supporto agli utenti nelle attività di ricerca delle informazioni. Esso è costituito da un Server Web che assiste

45 2.2. Architettura del sistema 39 Figura 2.2: Architettura logica del sistema implementato.

46 40 2. Sistema per la gestione e condivisione di risorse multimediali l utente nella navigazione del portale, un Servlet Engine per l esecuzione di codice Java su lato Server e un sistema multi-agente con supporto alla Cultura Implicita per la ricerca d informazioni nel Content Storage System e tramite motore di ricerca. User Client rappresenta il componente che permette agli utenti di accedere ai servizi offerti dal sistema. Fornisce supporto nell attività di visualizzazione delle informazioni provenienti dal Web tramite browser dotato di plug-in specifici per la visualizzazione di informazioni in formato particolare (come gli oggetti 3D). 2.3 Knowledge Engineer Il Knowledge Engineer copre le due fasi iniziali nel ciclo di vita dell informazione: la fase di creazione dedicata alla descrizione dei contenuti tramite MPEG-7 e la fase di condivisione, basata su applicazione Client, che ha lo scopo di inviare l informazione ad un server remoto, così da renderla disponibile e accessibile da parte degli utenti iscritti al sistema Creazione dell informazione La difficoltà maggiore nell utilizzo di MPEG-7 per la descrizione strutturale e semantica di file multimediali, risiede nella mancanza di un software d aiuto all utente nella creazione di tale descrizione. Di conseguenza si ha la necessità di doverla creare manualmente tramite un editor di testo, seguendo gli schemi di riferimento dello standard MPEG-7, di cui un estratto è rappresentato in figura 2.3. Si è scelto di utilizzare questo schema in quanto si presta bene alla descrizione sia strutturale che semantica di immagini ed oggetti 3D generici. Per la descrizione di modelli tridimensionali complessi, costituiti da diversi sotto-oggetti, verrà utilizzato uno schema più avanzato, in grado di rispecchiare l intero struttura del modello (trattato nel paragrafo 3.3.1). Ciascun descrittore rappresentato con linea continua è obbligatorio, mentre i descrittori identificati con una linea tratteggiata sono facoltativi. Il simbolo ad interruttore posto a fianco del descrittore indica che può essere utilizzato solo uno tra i descrittori elencati alla sua destra, per esempio Definition può avere solo un figlio a scelta tra FreeTextAnnotation, StructuredAnnotation, DependencyStructure e KeywordAnnotation. Ciascun descrittore è accompagnato da un indicazione di quante possibili istanze possono coesistere dello stesso, per esempio Semantics può avere come figlio nessuno oppure infiniti oggetti di tipo MediaOccurence.

47 2.3. Knowledge Engineer 41 Figura 2.3: Parte dei descrittori che caratterizzano la struttura di un documento MPEG-7 utilizzato per la descrizione di immagini ed oggetti 3D generici. In figura 2.4 è rappresentata una parte di una descrizione MPEG-7 associata all immagine di un auto. Lo Schema XML incluso nell intestazione (Mpeg xsd) permette l utilizzo dei descrittori previsti dallo standard MPEG-7 e degli schemi di descrizione specifici per il particolare media trattato. Il significato dei vari descrittori è riassunto di seguito: Confidence: da un indicazione del livello di riservatezza delle informazioni fornite. FreeTextAnnotation: fornisce una breve descrizione semantica relativa all oggetto associato. Creator e Creation Location: forniscono una serie di informazioni relative al creatore del contenuto quali indirizzo, sito web, occupazione e luogo di creazione. Instrument: indica lo strumento utilizzato per creare il contenuto ed eventuali programmi per la manipolazione.

48 42 2. Sistema per la gestione e condivisione di risorse multimediali Figura 2.4: Parte di documento MPEG-7 associato ad un immagine.

49 2.3. Knowledge Engineer 43 KeywordAnnotation: rappresenta un insieme di parole chiave associate al contenuto, utili soprattutto in fase di ricerca. MediaProfile: provvede una serie d informazioni strutturali sul contenuto come la dimensione, il formato, la codifica utilizzata ecc. Dello stesso contenuto possono esserci riferimenti a più versioni con formato o risoluzioni differenti. MediaUri: fornisce l indirizzo locale oppure remoto del contenuto associato alla descrizione. SemanticBase: fornisce una serie di informazioni aggiuntive associate al contenuto: per esempio nel caso di un automobile, luogo di produzione, anno, designer, linea, categoria ecc. L aspetto più scomodo nell utilizzo di MPEG-7 risiede nella necessità di dover creare manualmente la descrizione dei contenuti, vista l impossibilità di creare una descrizione sensata a livello semantico tramite una procedura automatica. Per tipi di dato come le immagini si è scelto di utilizzare questo approccio nonostante si trattasse di un attività onerosa in termini di tempo, mentre per i modelli tridimensionali si e tentata un altra strada: al momento della loro creazione tramite modellatore 3D, il designer immette nel modello diverse informazioni che possono essere sfruttate per la creazione del relativo descrittore. Nella fase di design di un oggetto tridimensionale sono normalmente definiti dei gruppi d oggetti che costituiscono parti rilevanti del modello, cioè layer (per esempio nel caso di un automobile possono rappresentare una ruota, una portiera ecc.) associati ad una breve annotazione. Si è quindi deciso di costruire un Authoring Tool specifico per un determinato modellatore 3D che fosse in grado di sfruttare appieno queste informazioni per creare in maniera automatica a partire dal modello, un documento MPEG-7 contenente non solo i dati sul modello, ma anche i riferimenti a tutti i sotto-oggetti che lo costituiscono. In figura 2.5 è rappresentata la parte di un documento MPEG-7 creato tramite la procedura automatica descritta poc anzi. Il documento fa riferimento al modello tridimensionale di un automobile Condivisione dell informazione I documenti MPEG-7 prodotti tramite editor o Authoring Tool possono essere trasferiti assieme ai file di contenuto associati, verso il Content Manager Server. Il trasferimento avviene su connessione protetta ed è attivato tramite l interfaccia grafica fornita con il KE Client. L operazione ha lo scopo di

50 44 2. Sistema per la gestione e condivisione di risorse multimediali Figura 2.5: Parte di documento MPEG-7 associato al modello tridimensionale di un automobile. rendere le informazioni accessibili e disponibili a tutti gli utenti iscritti al sistema. Il KE Client supporta funzionalità di upload, download e visualizzazione remota dei contenuti in modalità multi-tasking 2 e multi-utente 3. Per garantire un alto livello di sicurezza, prima del trasferimento dei dati viene eseguito un processo di autenticazione che permette l attivazione di una connessione sicura tra Client e Server. La procedura è basata sull uso di certificati digitali per la creazione della connessione SSL e di login e password per verificare l identità dell utente. I dati forniti dall utente sono confrontati da parte server con quelli contenuti nel database degli account: se i dati forniti sono corretti può essere stabilita la connessione. Il Client è predisposto in modo da conoscere lo stato delle operazioni ed 2 Permette l esecuzione di più operazioni allo stesso tempo, per esempio upload multipli. 3 Permette a più utenti di accedere contemporaneamente al server senza interferenze.

51 2.4. Content Manager 45 eventuali malfunzionamenti da parte server: per esempio l utente dopo aver interagito col server è in grado di sapere, se quest ultimo ha ricevuto correttamente le informazioni, se ha incontrato problemi nell inserire i file nei database o se il file ricevuto era corrotto. I dettagli implementativi relativi al funzionamento del KE Client saranno forniti nel paragrafo Content Manager Il Content Manager rappresenta la parte più importante dell intera architettura in quanto comprende un insieme di tecnologie, responsabili di soddisfare le richieste provenienti dal KE Client e dallo User Client. Esso è costituito da due componenti principali, il Content Manager System e l Host Server che assolvono compiti diversi all interno del sistema. Il primo è costituito da un insieme di strumenti dedicati alla memorizzazione e indicizzazione dei contenuti su database e la gestione degli stessi da parte del Content Manager Server, mentre il secondo fornisce il supporto allo User Client nell attività di ricerca e restituzione delle informazioni Content Storage System Il Content Manager Server è costituito da un applicazione server in grado di gestire connessioni e operazioni multiple col client. Esso interpreta le richieste in arrivo e cerca di soddisfarle interrogando, se necessario, i database, che svolgono all interno del sistema, un compito specifico: Relational DB: Mantiene le informazioni di accesso di tutti gli utenti che possono accedere al sistema. I dati di login comprendono nome utente, password e gruppo di appartenenza. Content Storage: Conserva tutti i documenti multimediali o testuali messi a disposizione dagli utenti del sistema per la condivisione. Può essere costituito semplicemente da un file-system su server oppure da una struttura dati più avanzata. XML DB: Si tratta di una struttura dati pensata per la memorizzazione di documenti di tipo XML che ben si adatta anche allo standard MPEG-7. Essa contiene tutti i documenti MPEG-7 che fanno riferimento ai contenuti memorizzati nel Content Storage. Si è scelto questo tipo di struttura dati in quanto risulta particolarmente ottimizzata e performante nella fase di ricerca, in particolare nell esecuzione di query su intere

52 46 2. Sistema per la gestione e condivisione di risorse multimediali Collection 4 di documenti. L operazione di ricerca da parte dello User Client è eseguita per mezzo del Personal Agent direttamente su questa struttura dati senza coinvolgere in alcun modo i contenuti associati. Ciò permette di rendere la fase di ricerca particolarmente rapida. La struttura dati XML DB comprende anche altri tipi di documenti previsti dallo standard MPEG-7 chiamati Classification Schema (CS): essi servono per definire un vocabolario specifico per la descrizione di un dominio come insieme di termini (vedi paragrafo 2.1.5). Una descrizione MPEG-7 può quindi far riferimento a dei termini definiti in un Classification Schema esterno offrendo così un maggior grado di flessibilità sui contenuti. Per comprenderne l utilità nel sistema sviluppato si può far riferimento all esempio in figura 2.6 dove la descrizione MPEG-7 è relativa all immagine di un auto di categoria station-wagon. Figura 2.6: Esempio di riferimento ad un Classification Schema esterno. 4 Il termine Collection viene utilizzato per indicare un insieme di documenti XML.

53 2.4. Content Manager 47 La ricerca sul sistema è eseguita da parte dei Personal Agent associati a ciascun utente: essi sono stati istruiti ad effettuare inizialmente una ricerca nei CS per individuare dei riferimenti alla chiave di ricerca utilizzata. Nel caso rappresentato in figura 2.6, una ricerca da parte dell utente con parola chiave estate car, familiare oppure break sarebbe tradotta dal sistema come una ricerca nelle descrizioni MPEG-7, di riferimenti di tipo CarClassificationSchemaCS:stationWagon. Ciò rende il Personal Agent in grado di comprendere un maggior numero di termini e sinonimi, e di effettuare ricerche più accurate. La comunicazione client-server è preceduta da una fase di autenticazione nella quale è verificata l attendibilità dei certificati digitali in possesso e dei dati di login forniti da parte client. Dopo aver superato il processo di autenticazione, e stabilito una connessione protetta, il server rimane in attesa di richieste da parte client. Le operazioni che il server è in grado di soddisfare sono di tre tipi: upload, download e visualizzazione remota dei file di contenuto presenti nel Content Storage. Nel processo di upload il client invia al server un pacchetto compresso contenente un descrittore MPEG-7 accompagnato da uno o più file di contenuto correlati; il server controlla l integrità del pacchetto ricevuto, estrae il file MPEG-7 che viene inserito nel database XML e i file di contenuto che vengono invece collocati nel Content Storage. Il documento MPEG-7 prima di essere inserito nel database, deve essere sottoposto ad un aggiornamento dei tag che contengono i riferimenti ai documenti correlati: tali riferimenti devono rispecchiare la nuova locazione dei contenuti che sono stati spostati dal client al Content Storage sul server (vedi figura 2.7). Figura 2.7: Esempio di aggiornamento di un tag MediaURI nel file MPEG-7. Tale tag indica la locazione del file multimediale correlato che nel caso illustrato è un immagine. I file di contenuto ricevuti dal server vengono suddivisi per data e memorizzati in una directory (locale o remota) accessibile dal server web. In questo

54 48 2. Sistema per la gestione e condivisione di risorse multimediali modo il client può inviare una richiesta di visualizzazione dei file inviati in una data specifica: i file che soddisfano la query sono visualizzati sull interfaccia grafica del client, dalla quale possono essere selezionati quelli di proprio interesse e scaricati. E possibile gestire il funzionamento del server e intervenire su tutti i parametri di configurazione tramite interfaccia grafica. Ulteriori dettagli relativi al funzionamento del Content Storage System saranno forniti nel paragrafo Host Server L Host Server fornisce il supporto agli utenti nelle attività di ricerca delle informazioni. Esso è costituito da un Server Web che si occupa di assistere l utente nella navigazione del portale, da un Servlet Engine per l esecuzione di codice su lato server e da un sistema multi-agente per la ricerca delle informazioni. L idea di base è che l utente possa effettuare sul sistema delle ricerche tramite una o più parole chiave. Il sistema, a fronte della richiesta dell utente, sfrutta il modello d interazione ad agenti basato sul framework di Cultura Implicita (SICS) per fornire una risposta adeguata, basata sul comportamento assunto in passato dall utente. Per il sistema ad agenti si è deciso di continuare lo sviluppo di un sistema simile già realizzato per un precedente lavoro di tesi [64] e di espanderne le funzionalità per il supporto non solo di informazioni testuali bensì di ogni tipo di informazione, in particolare quella multimediale, grazie all utilizzo dello standard MPEG-7. L architettura generale del sistema multi-agente è riportata in figura 2.8. Ciascun agente che costituisce il sistema assume un ruolo ben preciso all interno della comunità: solo un lavoro cooperativo da parte dell intero gruppo permette un funzionamento ottimale del sistema. I ruoli che un agente all interno del gruppo può assumere sono: Personal Agent: rappresenta l agente personale dell utente che fornisce l adeguata assistenza nelle fasi di ricerca delle informazioni. Esso svolge la funzione di tramite tra l utente e il sistema, ma è anche in grado di interagire con altri agenti per favorire la condivisione d informazioni. Directory Facilitator: rappresenta l agente di riferimento per conoscere i servizi offerti da tutti gli agenti iscritti al sistema. Agent Management System: svolge la funzione di supervisore del sistema monitorando tutte le attività che avvengono in esso, in particolare la creazione, sospensione, riattivazione e terminazione degli agenti.

55 2.4. Content Manager 49 Figura 2.8: Architettura generale del sistema multi-agente. Directory Facilitator Nel sistema sviluppato è presente un Directory Facilitator (DF) in accordo con le specifiche FIPA. Ciascun agente deve registrare i servizi offerti nel DF così da renderli disponibili pubblicamente agli altri agenti. Questo servizio svolto dal DF e spesso riferito come servizio di pagine gialle è utile soprattutto nel caso in cui i membri della piattaforma hanno scarsa conoscenza dell ambiente che li circonda e non sono in grado di scegliere chi contattare per effettuare una determinata operazione: in questo caso è sufficiente rivolgersi al DF il quale suggerisce il nome di un possibile agente da contattare. Il DF consiglia un solo agente per volta quindi a lui spetta il compito di decidere chi proporre. Rendere visibile all intero sistema il servizio offerto non comporta nessun obbligo rispetto alle informazioni fornite. E per questo che il DF non può garantire sulla validità di tali dati nel momento in cui tra tutti gli agenti cha offrono un particolare servizio ne suggerisce uno anziché un altro.

56 50 2. Sistema per la gestione e condivisione di risorse multimediali Agent Management System L Agent Management System (AMS) esercita la funzione di supervisore controllando l accesso, l uso della piattaforma e la creazione, cancellazione e modifica degli agenti. Esso contiene la lista degli agenti appartenenti alla piattaforma, ciascuno dei quali ha un identificatore unico e degli indirizzi a cui può essere contattato. La piattaforma (AP) dal punto di vista software è vista come un sistema composto di uno o più contenitori di agenti, i quali devono appartenere, in ogni istante, ad una e una sola AP con la possibilità, se prevista, di spostarsi da una all altra in caso di necessità. In questo senso l AMS fornisce un servizio di pagine bianche mantenendo un elenco di tutti gli agenti iscritti alla piattaforma. Personal Agent Rappresenta l attore principale all interno del sistema. Ogni utente dispone di un proprio Personal Agent attraverso il quale può accedere ai servizi di gestione e ricerca di informazioni offerti dal sistema. In particolare il Personal Agent è in grado di interagire con gli altri agenti: la ricerca delle informazioni viene arricchita attraverso l uso del proprio SICS e delle osservazioni eseguite in passato sul comportamento non solo dello stesso utente ma anche su quello degli utenti con cui esso ha interagito. In figura 2.9 è rappresentata l architettura generale di un Personal Agent implementato con Jade. Come già ampiamente descritto nel paragrafo un agente Jade è rappresentato da un modello multi-task nel quale l agente è visto come un entità in grado di svolgere più attività contemporaneamente. Ciascuna attività è vista come un oggetto di tipo behaviour e viene innescata alla ricezione di un determinato evento interno od esterno. Le varie attività vengono gestite in maniera trasparente da uno scheduler interno all agente. 2.5 User Client Lo User Client rappresenta l interfaccia che permette all utente di interagire con il sistema multi-agente e ottenere le informazioni di proprio interesse. E costituito da un semplice browser che fornisce supporto nell attività di navigazione delle informazioni provenienti dal Web, dotato di plug-in specifici per la visualizzazione di modelli tridimensionali. L utente accede attraverso Internet al sito relativo al sistema proposto e dopo un identificazione personale accede alla pagina di ricerca. Da qui fornendo una o più parole chiave può avviare il processo di ricerca dei risultati e

57 2.5. User Client 51 Figura 2.9: Architettura interna del Personal Agent. selezionare i contenuti di proprio interesse. Il Personal Agent effettua per l utente l operazione di ricerca appoggiandosi ad Internet, un database MPEG-7 e il SICS. Selezionando i vari risultati proposti, l utente potrà o avviare un processo ftp nel caso il risultato sia un link ad un file o visualizzare l informazione nel caso di link a pagine web o scrivere una nel caso di indirizzo . Un trattamento particolare è riservato agli oggetti di tipo tridimensionale in quanto la ricerca è eseguita non solo sull oggetto stesso ma anche sui sotto-oggetti che lo costituiscono: se ad esempio l utente effettua una ricerca sul sistema utilizzando come parola chiave una parte di un automobile e nel database MPEG-7 esiste un oggetto che fa riferimento a tale parte, allora viene creato in tempo reale a partire dal modello originale, un oggetto 3D che rappresenta la parte in questione. Tale oggetto viene poi inviato all utente che ne ha fatto richiesta ed è visualizzabile su browser provvisto dello specifico plug-in. Questa operazione verrà spiegata più dettagliatamente nel paragrafo 3.5. Consultando i risultati proposti, l utente esprime in modo implicito il proprio grado di soddisfazione che viene elaborato, memorizzato e utilizzato in futuro dal sistema non solo per migliorare le ricerche dello stesso utente ma anche quelle di altri utenti appartenenti alla comunità.

58 52 2. Sistema per la gestione e condivisione di risorse multimediali Ciascuna parte del sistema trattata in questo capitolo solo da un punto di vista concettuale sarà invece ripresa nel capitolo successivo e arricchita di dettagli implementativi. Come caso di studio per testare le capacità del sistema si è scelto di inserirlo in un contesto di design automobilistico in cui i tipi di dato trattati saranno costituiti prevalentemente da immagini, blueprint, rendering, brochure e modelli tridimensionali di automobili.

59 3 Verticalizzazione del Sistema nel Contesto del Design Automobilistico La concorrenza internazionale e la rapida crescita dell economia globale, unita al miglioramento delle comunicazioni e dei trasporti, offrono al consumatore un abbondante scelta di beni e servizi. Se dal punto di vista del consumatore la forte competizione internazionale permette un abbassamento dei prezzi e un miglioramento del prodotto, in un ottica aziendale ciò comporta pressione sul prezzo, riduzione dei tempi di produzione e innovazione continua. Il risultato è che per vincere la crescente concorrenza, le aziende hanno bisogno di qualità ed efficienza nel processo di produzione. Nel settore ingegneristico, come in altri settori, investire nella ricerca di nuove tecnologie e prodotti è fondamentale per il successo e la competitività dell azienda. Questo nuovo scenario sta spingendo le imprese ad ottimizzare non solo il processo produttivo ma anche l acquisizione di nuove conoscenze e competenze cercando in particolare di ottenere il massimo da quelle già in possesso. Per ottenere questo è necessario: Ottimizzare l organizzazione delle informazioni e creare un vocabolario comune all azienda che assicuri la corretta comprensione e interpretazione delle conoscenze disponibili. Identificare un modello appropriato che consenta di strutturare l informazione e facilitarne la rappresentazione. Utilizzare un sistema facile e veloce che permetta la condivisione e il recupero dell informazione sia tra membri dello stesso team che tra team diversi o dipartimenti. Creare una cultura che favorisca la condivisione della conoscenza all interno dell azienda.

60 54 3. Verticalizzazione del Sistema nel Contesto del Design Automobilistico Figura 3.1: Fattori chiave per favorire la condivisione dell informazione. Purtroppo spesso le imprese non possiedono sistemi efficienti per favorire lo scambio d informazioni tra i dipendenti, che hanno bisogno di accedere a informazioni di tipo diverso, in momenti e formati diversi, e da più sorgenti. In un contesto aziendale, dove designer e ingegneri collaborano per lo sviluppo di nuovi prodotti, un sistema per favorire la collaborazione e la condivisione di conoscenze porterebbe sicuri benefici in termini di produzione. Al giorno d oggi le fonti di informazioni a cui le imprese fanno riferimento sono o proprietarie, costituite ad esempio da database locali e cataloghi off-line, oppure pubbliche, come il Web. Queste, nonostante rappresentino l approccio comune al problema del Knowledge Management, sono tutt ora risorse difficili da utilizzare efficacemente, in quanto male integrate tra loro. Una soluzione a questo problema è offerta dai sistemi moderni di Product Data Management (PDM) che rappresentano effettivamente una risposta efficace per favorire la condivisione dell informazione e quindi ridurre i tempi di produzione e sviluppo. I sistemi PDM sono in grado di gestire in maniera più strutturata la conoscenza all interno dell impresa in modo da facilitarne il filtraggio e il recupero, ma essi sono utilizzati soltanto nelle fasi di ingegnerizzazione e produzione del prodotto piuttosto che durante tutto il processo.

61 3.1. Obbiettivi Obbiettivi Questo lavoro di tesi vuole dimostrare come l utilizzo di un sistema intelligente per la condivisione di informazioni possa migliorare la collaborazione tra diversi settori aziendali e quindi la produttività. In particolare lo scopo della tesi è quello di verticalizzare il sistema introdotto nel capitolo precedente ad un caso reale. Gli obbiettivi del sistema possono essere così riassunti: Miglioramento della fase di design e studio di nuovi prodotti grazie all utilizzo di strumenti che favoriscono la condivisione e il riutilizzo dell informazione. Nuove metodologie di supporto al lavoro degli industrial designer e product engineer che permettono il recupero e il filtraggio intelligente dell informazione disponibile. Miglior flessibilità nel trasferimento di conoscenza tra settori diversi dell azienda grazie all utilizzo di un sistema capace di: Gestire dati anche complessi in modo intuitivo, veloce ed intelligente da sorgenti eterogenee (web, in-house repository system,... ). Favorire un processo di condivisione di informazioni e conoscenze. Il sistema propone quindi una possibile soluzione al problema di ottimizzazione delle risorse disponibili nel caso di un azienda che opera nel settore automobilistico. 3.2 Implementazione Il sistema gestisce l intero ciclo di vita dell informazione, dalla creazione supportata da tool specifici, alla pubblicazione e condivisione. I tipi di dato utilizzati per testare il funzionamento del sistema sono conformi al dominio applicativo scelto, quindi costituiti principalmente da immagini, brochure, rendering, blueprint e modelli tridimensionali di automobili come indicato in figura 3.2. Il funzionamento del sistema è riassunto di seguito: il designer (identificato nell architettura di riferimenti in figura 2.2 come Knowledge Engineer) si occupa di produrre i contenuti ed associare ad essi un descrittore MPEG-7 che nel caso delle immagini deve essere creato tramite editor di testo utilizzando un documento MPEG-7 come template, mentre nel caso degli oggetti 3D è creato con procedura automatizzata utilizzando un Authoring Tool. L informazione prodotta è inviata al server tramite l applicazione client; il server si

62 56 3. Verticalizzazione del Sistema nel Contesto del Design Automobilistico Figura 3.2: Tipi di dato trattati nel sistema. occupa di dividere il contenuto dalla descrizione MPEG-7 e di inserire entrambi in appositi database. Gli utenti iscritti al sistema possono effettuare delle ricerche accedendo alla relativa pagina web. Sono supportati in questa operazione da un Personal Agent che li assiste nelle operazioni di ricerca effettuate in Internet (tramite Google), su database MPEG-7 e su Sistema per il Supporto della Cultura Implicita. Il sistema fornisce quindi un insieme di tool specifici a supporto dell attività produttiva, che consentono di organizzare le informazioni in maniera strutturata e accessibile. Nei paragrafi successivi sarà ripercorsa l architettura logica del sistema introdotta nel capitolo precedente (vedi figura 2.2) e arricchita di dettagli implementativi legati al particolare dominio applicativo trattato. 3.3 Knowledge Engineer (KE) Il Knowledge Engineer è costituito da un Authoring Tool per creare automaticamente le descrizioni MPEG-7 di modelli tridimensionali sviluppati tramite modellatore 3D e da un applicazione client per trasferire in modo sicuro con-

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice 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)

Dettagli

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8 Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione 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:

Dettagli

25/11/14 ORGANIZZAZIONE AZIENDALE. Tecnologie dell informazione e controllo

25/11/14 ORGANIZZAZIONE AZIENDALE. Tecnologie dell informazione e controllo ORGANIZZAZIONE AZIENDALE 1 Tecnologie dell informazione e controllo 2 Evoluzione dell IT IT, processo decisionale e controllo Sistemi di supporto al processo decisionale IT e coordinamento esterno IT e

Dettagli

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo CAPITOLO 8 Tecnologie dell informazione e controllo Agenda Evoluzione dell IT IT, processo decisionale e controllo Sistemi di supporto al processo decisionale Sistemi di controllo a feedback IT e coordinamento

Dettagli

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE: IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:! definisce i bisogni e i desideri insoddisfatti! ne definisce l ampiezza! determina quali mercati obiettivo l impresa può meglio servire! definisce i prodotti

Dettagli

Organizzazione degli archivi

Organizzazione 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

Dettagli

La 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. 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

Dettagli

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) COMUNE DI RAVENNA Il sistema di valutazione delle posizioni del personale dirigente GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) Ravenna, Settembre 2004 SCHEMA DI SINTESI PER LA

Dettagli

Il modello veneto di Bilancio Sociale Avis

Il modello veneto di Bilancio Sociale Avis Il modello veneto di Bilancio Sociale Avis Le organizzazioni di volontariato ritengono essenziale la legalità e la trasparenza in tutta la loro attività e particolarmente nella raccolta e nell uso corretto

Dettagli

NUOVI APPROCCI PER UN MANAGER ALLENATORE : IL PROCESSO DI COACHING

NUOVI APPROCCI PER UN MANAGER ALLENATORE : IL PROCESSO DI COACHING gno Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. NUOVI APPROCCI PER UN MANAGER ALLENATORE : IL PROCESSO DI COACHING COSA

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 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

Dettagli

1. BASI DI DATI: GENERALITÀ

1. 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

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione 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

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

ALLEGATO H VALUTAZIONE DELLA PERFORMANCE INDIVIDUALE DEI DIPENDENTI COMUNE DI CINISI Prov. Palermo

ALLEGATO H VALUTAZIONE DELLA PERFORMANCE INDIVIDUALE DEI DIPENDENTI COMUNE DI CINISI Prov. Palermo SCHEDA di 3 II Fattore di Valutazione: Comportamenti professionali e organizzativi e competenze Anno Settore Servizio Dipendente Categoria Profilo professionale Responsabilità assegnate DECLARATORIA DELLA

Dettagli

Base di dati e sistemi informativi

Base 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

Dettagli

Diventa fondamentale che si verifichi una vera e propria rivoluzione copernicana, al fine di porre al centro il cliente e la sua piena soddisfazione.

Diventa fondamentale che si verifichi una vera e propria rivoluzione copernicana, al fine di porre al centro il cliente e la sua piena soddisfazione. ISO 9001 Con la sigla ISO 9001 si intende lo standard di riferimento internazionalmente riconosciuto per la Gestione della Qualità, che rappresenta quindi un precetto universale applicabile all interno

Dettagli

PROFILO RIASSUNTIVO DELLE AREE

PROFILO RIASSUNTIVO DELLE AREE PROFILO RIASSUNTIVO DELLE AREE CATEGORIA AREE DEFINIZIONE IMPLICAZIONI CHIAVE Relazioni e Comunicazione Interpersonale A - B - C Sviluppo delle conoscenze e Abilità Qualità e Prestazioni Soddisfazione

Dettagli

Che volontari cerchiamo? Daniela Caretto Lecce, 27-28 aprile

Che volontari cerchiamo? Daniela Caretto Lecce, 27-28 aprile Che volontari cerchiamo? Daniela Caretto Lecce, 27-28 aprile Premessa All arrivo di un nuovo volontario l intero sistema dell associazione viene in qualche modo toccato. Le relazioni si strutturano diversamente

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. 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)

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Sistemi di misurazione e valutazione delle performance

Sistemi di misurazione e valutazione delle performance Sistemi di misurazione e valutazione delle performance 1 SVILUPPO DELL'INTERVENTO Cos è la misurazione e valutazione delle performance e a cosa serve? Efficienza Efficacia Outcome Requisiti minimi Indicatori

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,

Dettagli

COMUNE DI SOLBIATE ARNO

COMUNE DI SOLBIATE ARNO SISTEMA DI MISURAZIONE E VALUTAZIONE DEL PERSONALE DIPENDENTE Approvato con deliberazione della Giunta Comunale n. 98 del 14.11.2013 1 GLI ELEMENTI DEL SISTEMA DI VALUTAZIONE Oggetto della valutazione:obiettivi

Dettagli

MANUALE DELLA QUALITÀ Pag. 1 di 6

MANUALE DELLA QUALITÀ Pag. 1 di 6 MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

Università Politecnica delle Marche. Progetto Didattico

Università 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

Dettagli

SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved. SCENARIO Personas SCENARIO È una delle tecniche che aiuta il designer a far emergere le esigente dell utente e il contesto d uso. Gli scenari hanno un ambientazione, attori (personas) con degli obiettivi,

Dettagli

L IT a supporto della condivisione della conoscenza

L IT a supporto della condivisione della conoscenza Evento Assintel Integrare i processi: come migliorare il ritorno dell investimento IT Milano, 28 ottobre 2008 L IT a supporto della condivisione della conoscenza Dott. Roberto Butinar AGENDA Introduzione

Dettagli

QUESTIONARIO 3: MATURITA ORGANIZZATIVA

QUESTIONARIO 3: MATURITA ORGANIZZATIVA QUESTIONARIO 3: MATURITA ORGANIZZATIVA Caratteristiche generali 0 I R M 1 Leadership e coerenza degli obiettivi 2. Orientamento ai risultati I manager elaborano e formulano una chiara mission. Es.: I manager

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Concetti di base di ingegneria del software

Concetti 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

Dettagli

Tecnologie dell informazione e della comunicazione per le aziende

Tecnologie dell informazione e della comunicazione per le aziende ! "#%&"'(&)*++,%#,"'"(&("##&-"! "!#!. /##&('"*#,0"1&,2)*',%3"2&11"1&,2& 4 "3'&"22&5 "3'&"22&6 "3'&"22&7 "0#8"22&9! "0#8"22&9 ",33& : '&&0+"##&)*''";,%,!,00"%&, Obiettivo del presente capitolo è presentare

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI 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

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Reti di Telecomunicazione Lezione 6

Reti 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

Dettagli

International School of Siena. Procedura di ammissione. Le procedure

International School of Siena. Procedura di ammissione. Le procedure International School of Siena Procedura di ammissione L International School of Siena accoglie culture e nazionalità diverse. Offriamo un educazione generale utilizzando l inglese come lingua veicolare,

Dettagli

PROGRAMMAZIONE COMPETENZE CHIAVE DI CITTADINANZA

PROGRAMMAZIONE COMPETENZE CHIAVE DI CITTADINANZA PROGRAMMAZIONE COMPETENZE CHIAVE DI CITTADINANZA COMPETENZA 1 IMPARARE AD IMPARARE Abilità/ Capacità Organizzare il proprio lavoro autonomamente - Rispettare le consegne - Mettere in atto strategie appropriate

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

Dettagli

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata. Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa

Dettagli

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda. Scheda Il CRM per la Gestione delle Vendite Le organizzazioni di vendita sono costantemente alla ricerca delle modalità migliori per aumentare i ricavi aziendali e ridurre i costi operativi. Oggi il personale

Dettagli

Il Problem-Based Learning dalla pratica alla teoria

Il Problem-Based Learning dalla pratica alla teoria Il Problem-Based Learning dalla pratica alla teoria Il Problem-based learning (apprendimento basato su un problema) è un metodo di insegnamento in cui un problema costituisce il punto di inizio del processo

Dettagli

Alfa Layer S.r.l. Via Caboto, 53 10129 Torino ALFA PORTAL

Alfa Layer S.r.l. Via Caboto, 53 10129 Torino ALFA PORTAL ALFA PORTAL La struttura e le potenzialità della piattaforma Alfa Portal permette di creare, gestire e personalizzare un Portale di informazione in modo completamente automatizzato e user friendly. Tramite

Dettagli

STORE MANAGER.. LE COMPETENZE CARATTERISTICHE E I BISOGNI DI FORMAZIONE

STORE MANAGER.. LE COMPETENZE CARATTERISTICHE E I BISOGNI DI FORMAZIONE STORE MANAGER.. LE COMPETENZE CARATTERISTICHE E I BISOGNI DI FORMAZIONE 1 Indice 1. Premessa 2. Obiettivo 3. Le competenze del profilo ideale Competenze 3.1. Età ed esperienza 3.2. Le reali competenze

Dettagli

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

L Integrazione dei Processi di Gestione delle Risorse Umane

L Integrazione dei Processi di Gestione delle Risorse Umane L Integrazione dei Processi di Gestione delle Risorse Umane 1 L integrazione dei processi della gestione delle Risorse Umane 3 2 Come i Modelli di Capacità consentono di integrare i processi? 5 pagina

Dettagli

Per informazioni rivolgersi allo Studio:

Per informazioni rivolgersi allo Studio: Lo Studio, notificando direttamente via e-mail o sms l avvenuta pubblicazione di news, circolari, prontuari, scadenzari, dà la possibilità all azienda di visualizzare immediatamente ed in qualsiasi luogo,

Dettagli

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali CL AS SE INFORMATICA 6(3) 6(4) - 6(4) SISTEMI E RETI 4(2) 4(2) 4(2) TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI COMPETENZE 3 Essere in grado di sviluppare semplici applicazioni

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi 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

Dettagli

IL SISTEMA INFORMATIVO

IL SISTEMA INFORMATIVO IL SISTEMA INFORMATIVO In un organizzazione l informazione è una risorsa importante al pari di altri tipi di risorse: umane, materiali, finanziarie, (con il termine organizzazione intendiamo un insieme

Dettagli

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB UNIVERSITÀ DEGLI STUDI DI PADOVA FACOLTÀ DI LETTERE E FILOSOFIA CORSO DI LAUREA MAGISTRALE IN STRATEGIE DI COMUNICAZIONE LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB LA PROPOSTA DI UN MODELLO MIRATO

Dettagli

Il 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. 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

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. 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

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi 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

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

NOVITÀ SITI COMMERCIALISTA

NOVITÀ SITI COMMERCIALISTA NOVITÀ E-COMMERCE Sono state introdotte, nella versione 2011B, una serie di implementazioni grazie alle quali sarà ora possibile disporre all interno del proprio sito E-commerce delle seguenti funzionalità:

Dettagli

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L. DATA WAREHOUSE Un Dataware House può essere definito come una base di dati di database. In molte aziende ad esempio ci potrebbero essere molti DB, per effettuare ricerche di diverso tipo, in funzione del

Dettagli

Il database management system Access

Il 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

Dettagli

Il CRM per la Gestione del Servizio Clienti

Il CRM per la Gestione del Servizio Clienti Scheda Il CRM per la Gestione del Servizio Clienti Le Soluzioni CRM aiutano le aziende a gestire i processi di Servizio e Supporto ai Clienti. Le aziende di Servizio stanno cercando nuove modalità che

Dettagli

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci UNIVERSITA MILANO BICOCCA Corso di laurea di primo livello in servizio sociale anno accademico 2009-2010 Progettare il sociale Prof. Dario A. Colombo IL CICLO DI VITA DEL PROGETTO Elementi essenziali di

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

I libri di testo. Carlo Tarsitani

I libri di testo. Carlo Tarsitani I libri di testo Carlo Tarsitani Premessa Per accedere ai contenuti del sapere scientifico, ai vari livelli di istruzione, si usa comunemente anche un libro di testo. A partire dalla scuola primaria, tutti

Dettagli

I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA UNIVERSITÀ DEGLI STUDI DI PALERMO. Palermo 9 novembre 2011

I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA UNIVERSITÀ DEGLI STUDI DI PALERMO. Palermo 9 novembre 2011 I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA Palermo 9 novembre 2011 UNIVERSITÀ DEGLI STUDI DI PALERMO Webquest Attività di indagine guidata sul Web, che richiede la partecipazione attiva degli studenti,

Dettagli

Dispensa di Informatica I.1

Dispensa 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.

Dettagli

Fondamenti e tecniche di comunicazione verbale

Fondamenti e tecniche di comunicazione verbale Fondamenti e di comunicazione non verbale Fondamenti e di comunicazione verbale Rivolto agli infermieri Professionali Comunicare meglio: aiutare gli infermieri a aiutare. Abstract Ogni cosa che impariamo

Dettagli

Informatica e Telecomunicazioni

Informatica e Telecomunicazioni Informatica e Telecomunicazioni IL PROFILO DEL DIPLOMATO Il Diplomato in Informatica e Telecomunicazioni : 1. Ha competenze specifiche nel campo dei sistemi informatici, dell elaborazione dell informazione,

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento 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

Dettagli

03. Il Modello Gestionale per Processi

03. Il Modello Gestionale per Processi 03. Il Modello Gestionale per Processi Gli aspetti strutturali (vale a dire l organigramma e la descrizione delle funzioni, ruoli e responsabilità) da soli non bastano per gestire la performance; l organigramma

Dettagli

Introduzione 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 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

Dettagli

Evidenziare le modalità con le quali l azienda agrituristica produce valore per i clienti attraverso la gestione dei propri processi.

Evidenziare le modalità con le quali l azienda agrituristica produce valore per i clienti attraverso la gestione dei propri processi. 5. Processi Evidenziare le modalità con le quali l azienda agrituristica produce valore per i clienti attraverso la gestione dei propri processi. Il criterio vuole approfondire come l azienda agrituristica

Dettagli

STRUTTURA UDA U.D.A. 4. Classe III A PRESENTAZIONE

STRUTTURA UDA U.D.A. 4. Classe III A PRESENTAZIONE STRUTTURA UDA UNITÀ DIDATTICA di APPRENDIMENTO di TECNOLOGIE ELETTRICO-ELETTRONICHE E APPLICAZIONI U.D.A. 4 Classe III A.S. 2015/2016 TITOLO: Componenti fondamentali di un impianto Strumenti di misura

Dettagli

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo.

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo. Pag. 1 di 5 6FRSR analizzare problemi complessi riguardanti la gestione di un sito interattivo proponendo soluzioni adeguate e facilmente utilizzabili da una utenza poco informatizzata. 2ELHWWLYL GD UDJJLXQJHUH

Dettagli

LE STRATEGIE DI COPING

LE STRATEGIE DI COPING Il concetto di coping, che può essere tradotto con fronteggiamento, gestione attiva, risposta efficace, capacità di risolvere i problemi, indica l insieme di strategie mentali e comportamentali che sono

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Project Cycle Management

Project Cycle Management Project Cycle Management Tre momenti centrali della fase di analisi: analisi dei problemi, analisi degli obiettivi e identificazione degli ambiti di intervento Il presente materiale didattico costituisce

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

I modelli di qualità come spinta allo sviluppo

I modelli di qualità come spinta allo sviluppo I modelli di qualità come spinta allo sviluppo Paolo Citti Ordinario Università degli studi di Firenze Presidente Accademia Italiana del Sei Sigma 2005 1 Si legge oggi sui giornali che l azienda Italia

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Il servizio di registrazione contabile che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Chi siamo Imprese giovani e dinamiche ITCluster nasce a Torino

Dettagli

SISTEMA DI MISURAZIONE E VALUTAZIONE DELLE PERFORMANCE. N. responsabili posizioni organizzative

SISTEMA DI MISURAZIONE E VALUTAZIONE DELLE PERFORMANCE. N. responsabili posizioni organizzative SISTEMA DI MISURAZIONE E VALUTAZIONE DELLE PERFORMANCE Area /Settore /Posizione Organizzativa N. responsabili posizioni organizzative N. dipendenti nell ambito della posizione organizzativa Area finanziaria/

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

Dettagli

L uso della Balanced Scorecard nel processo di Business Planning

L uso della Balanced Scorecard nel processo di Business Planning L uso della Balanced Scorecard nel processo di Business Planning di Marcello Sabatini www.msconsulting.it Introduzione Il business plan è uno strumento che permette ad un imprenditore di descrivere la

Dettagli

Automazione Industriale 4- Ingegneria del Software

Automazione Industriale 4- Ingegneria del Software Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 4- Ingegneria del Software Cesare Fantuzzi (cesare.fantuzzi@unimore.it) Ingegneria Meccatronica

Dettagli

Appunti di Sistemi Distribuiti

Appunti di Sistemi Distribuiti Appunti di Sistemi Distribuiti Matteo Gianello 27 settembre 2013 1 Indice 1 Introduzione 3 1.1 Definizione di sistema distribuito........................... 3 1.2 Obiettivi.........................................

Dettagli

Approccio stratificato

Approccio 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

Dettagli

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Il presente materiale didattico costituisce parte integrante del percorso formativo

Dettagli

Piano di gestione della qualità

Piano 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.

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE 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

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli