UNIVERSITA DEGLI STUDI DI BARI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITA DEGLI STUDI DI BARI"

Transcript

1 UNIVERSITA DEGLI STUDI DI BARI FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA TESI DI LAUREA IN ARCHITETTURA DEGLI ELABORATORI AGENTI AUTONOMI UBIQUI Relatore: Prof.ssa Berardina DE CAROLIS Laureando: Ignazio PALMISANO Anno Accademico

2 Dedicato ai miei genitori, perché lo hanno reso possibile, ai miei amici, perché senza di loro non sarebbe stata la stessa cosa, e a chi ci ha creduto.

3 Capitolo 1: Ubiquitous computing Introduzione La novità dell Ubiquitous computing L impatto nella vita quotidiana... 6 Capitolo 2: Autonomia e ragionamento Agenti ubiqui Agenti BDI Autonomia e delega Definizione di agente autonomo Il nostro approccio Categorizzazione dell autonomia Come l utente interagisce con gli agenti Modalità di comportamento del MainAgent Meccanismi di ragionamento autonomo Definizione di ragionamento automatico Regole per la descrizione del grafo di una FSM Influenza dell autonomia sul ragionamento Feedback: Incidenza del comportamento dell utente sull autonomia Meccanismi di feedback Modifica delle regole di inferenza Modifica del profilo utente Capitolo 3: Caratteristiche strutturali Piattaforma di implementazione JADE: descrizione generale

4 3.1.2 LEAP: descrizione generale D-Me: descrizione generale La ToDoList Capitolo 4: Architettura D-Me Thinking: ontologie e pensiero Le ontologie in JADE Le ontologie in D-Me Meccanismi di ragionamento basati su task Descrizione dei protocolli utilizzati Protocolli di registrazione Protocolli di ricerca di un agente: Protocollo di richiesta di uno UserConcept: Protocollo di esecuzione di un service di ricerca generico: Capitolo 5: Dettagli sul funzionamento Struttura della mente dell agente D-Me Accesso ai dati permanenti Scambio di messaggi: il MainReceiver Esecuzione dei Desires: agente BDI Esecuzione di un task e generazione di nuovi task Inferenza di nuovi task: trasformazione XSL Capitolo 6: Caso di studio Gestione della ToDoList Aggiunta di task impliciti Task ad alto livello di autonomia

5 6.2.2 Task a basso livello di autonomia Gestione del feedback Conclusioni Bibliografia

6 Capitolo 1: Ubiquitous computing - I need a PC here - You just turn around, and you ll get it in front of you - Yes, I know, but I need it here! 1.1 Introduzione Lo scopo di questa tesi è ampliare un progetto già esistente (il sistema D-Me [11], [17], [18]), per introdurre il trattamento esplicito del concetto di autonomia. Il sistema D-Me è un sistema multiagente (MAS - MultiAgent System) implementato interamente in Java, che sfrutta la piattaforma JADE (Java Agent DEvelopment Framework) per la definizione, creazione e gestione dei suoi agenti. In tale ambiente, ogni utente che interagisce con il sistema è rappresentato da un agente, chiamato MainAgent, che riceve dall utente la delega ad agire come tramite tra l utente stesso e gli altri agenti presenti nel sistema, allo scopo di realizzare i compiti che gli vengono affidati dall utente e gli obiettivi propri dell agente. Vedremo più avanti una descrizione precisa dei meccanismi di ragionamento che il MainAgent utilizza per perseguire i propri obiettivi. 4

7 1.2 La novità dell Ubiquitous computing Ubiquitous computing è il nome che è stato dato al fenomeno in cui si assiste in questi anni: l invasione (pacifica) dei computer. Fino a non molto tempo fa, il modo classico di immaginare i computer era: Sulla mia scrivania, c è una grossa macchina da scrivere capace di fare anche i conti. Quando ne ho bisogno, l accendo e la uso, poi mi alzo e torno al lavoro normale. Negli ultimi tempi, il numero dei computer è cresciuto in maniera impressionante, e di pari passo sono aumentate le funzionalità che la macchina da scrivere mette a disposizione, fino al punto da poter dire che i computer sono ovunque e fanno di tutto. Come dice Negroponte[1], Computing is not about computers anymore. It is about living. Negli ultimi tempi, troviamo computer, e più in generale processori, anche nei frigoriferi [2], nei televisori, nelle automobili. A questo punto diventa imperativo capire qual è il modo migliore per far comunicare i device intelligenti, sia tra loro che con l utente finale. La comunicazione tra device è ormai talmente necessaria che i colossi dei vari rami (elettrodomestici e in generale appliances per la casa) stringono veri e propri patti di collaborazione, come la già citata WhirlPool con la Nokia [3] per sviluppare in joint venture nuove soluzioni. L obiettivo finale, secondo Weiser [4], è quello di fornire all utente applicazioni flessibili, sensibili al contesto, all esperienza accumulata dall utente, addirittura al suo stato emotivo. 5

8 1.3 L impatto nella vita quotidiana Considerando l impatto di questa rivoluzione tecnologica sugli utenti, emergono alcuni problemi fondamentali: non tutti gli utenti hanno le stesse competenze, e solo pochi sono in grado di gestire la complessità dell interazione tra tutti i sistemi elettronici che è possibile trovare in un ambiente intelligente. La presenza di servizi ovunque e in qualunque situazione impone un diverso modo di pensare agli utenti, che sono quindi costretti a un cambio di paradigma nel porsi di fronte alle novità tecniche. Inoltre, la complessità derivante dalla quantità di tecnologia presente in ogni casa finisce per spaventare molti utenti, i quali, imparate le funzioni di base di un elettrodomestico, smettono di curiosare, e quindi non sfruttano appieno le potenzialità di ciò che hanno acquistato. E essenziale, perché le innovazioni tecnologiche siano utili alla società e non restino banali giocattoli, permettere all utente di sfruttare tutti i servizi disponibili in maniera semplice e naturale. Per far ciò, è necessario che l utente abbia la possibilità di delegare a qualcun altro la parte difficile dell utilizzo delle risorse di calcolo a sua disposizione, o meglio la parte noiosa : dal riconoscimento automatico delle periferiche disponibili, concetto che nell ambito dell Ubiquitous Computing si evolve diventando riconoscimento automatico dei dispositivi e delle funzionalità offerte, aggiornato momento per momento, alla configurazione di queste ultime. Il qualcun altro in questione, che Negroponte identificava, sempre in [1], con la cognata appassionata di cinema, è rappresentato da un programma il cui scopo principale è eseguire, facendo le veci dell utente, i compiti che l utente gli delega. 6

9 Si configurano quindi nuovi spunti di ricerca: In che misura l utente delega al programma i propri poteri per l esecuzione di questi compiti? Qual è il grado di autonomia con cui il programma può affrontare l esecuzione di questi compiti? Lo scopo di questa tesi è fornire un analisi di alcuni dei metodi possibili per la gestione esplicita di questo modello, e un prototipo funzionante che ne mostri l effettiva implementazione. 7

10 Capitolo 2: Autonomia e ragionamento 2.1 Agenti ubiqui Date le caratteristiche principali che il nostro programma deve avere, tra i vari paradigmi di progettazione per la realizzazione di un sistema reale bisogna trovarne uno che (possibilmente) risponda ai requisiti salienti del sistema: La capacità di rispondere in maniera flessibile agli stimoli, sia quelli derivanti dal contesto in cui il programma si trova ad operare che quelli provenienti dall utente Le sue caratteristiche di autonomia. Quest ultima in particolare ha orientato la scelta verso il paradigma di progettazione e realizzazione Agent-Oriented. Un agente è un sistema (incapsulato) situato in un ambiente, capace di azioni autonome e flessibili, in quell ambiente, per raggiungere i suoi obiettivi di progetto [6] La prima parte di questa definizione è calzante anche per il paradigma Object- Oriented, che infatti ha molti punti in comune con il paradigma ad agenti: dal punto di vista implementativo, infatti, esistono svariate implementazioni di agenti come oggetti particolari, che basano le loro caratteristiche di autonomia sull incapsulamento di dati e metodi, tipico degli oggetti. 8

11 Tuttavia, il paradigma Agent-Oriented si distingue per la seconda parte della definizione: un agente non è un oggetto passivo, ma è in grado di ragionare sui propri obiettivi e di compiere le azioni necessarie a raggiungerli; esso è quindi intelligente e proattivo. In questo contesto, intelligenza e proattività sono strettamente legate: se la proattività è la capacità di prendere decisioni dirette dalla volontà di raggiungere un set di obiettivi, o goal, allora l intelligenza è il meccanismo (il ragionamento automatico) che permette la realizzazione della decisione (analisi della situazione e scelta tra le varie alternative). Queste caratteristiche rendono questo paradigma idoneo alla progettazione di sistemi di ubiquitous computing. Esse consentono all utente di poter specificare i suoi desideri usando un linguaggio ad alto livello (idealmente il linguaggio naturale), e quindi in modo semplice. Sarà poi competenza dell agente decidere quale strategia adottare e quali servizi dell ambiente utilizzare per soddisfare i bisogni dell utente. In particolare, con riferimento a quanto riassunto da Flores-Mendez in [7], il tipo di agente che appare più adatto ad interagire con l utente per soddisfarne i bisogni è un agente che realizza la weak notion of agency, vale a dire che soddisfa la definizione di Jennings e Woolridge [8]: si tratta quindi di un agente: Autonomo: opera senza il diretto intervento dell utente, e ha controllo sulle proprie azioni e stati interni Sociale: interagisce con altri agenti (potenzialmente umani) attraverso un linguaggio per la comunicazione tra agenti Reattivo: percepisce l environment e reagisce ai cambiamenti 9

12 Proattivo: in grado di prendere l iniziativa per raggiungere i propri goal Lasciamo quindi da parte le caratteristiche che Woolridge e Jennings considerano specifiche della strong notion of agency, come stati emozionali e carattere dell agente (le caratteristiche che di solito associamo ad agenti umani). 2.2 Agenti BDI In precedenza, abbiamo descritto il sistema D-Me come un MAS, cioè un MultiAgent System, che è un sistema che rispetta le seguenti caratteristiche [9]: ogni agente ha delle capacità, ma esse sono insufficienti al completamento del task non c è un meccanismo globale di controllo i dati non sono centralizzati la computazione è asincrona Per far ciò, il MainAgent già esistente nel sistema (il rappresentante dell utente) è strutturato secondo l approccio BDI (Beliefs-Desires-Intentions), come descritto in [10]. In questo approccio, l agente basa il proprio comportamento su tre elementi: Beliefs: le credenze dell'agente Desires: i desideri dell agente Intentions: le intenzioni dell agente per soddisfare i suoi desideri 10

13 E possibile notare un parallelismo tra il modo in cui è strutturato un agente BDI e la mente umana; infatti, l uomo ragiona nello stesso modo, eseguendo delle Intentions, appropriate ai Beliefs, per raggiungere i suoi gola, cioè i suoi Desires. 2.3 Autonomia e delega Il problema di dare una definizione teorica valida per il concetto di autonomia e di delega è stato affrontato da Castelfranchi e Falcone in [5], che hanno basato il loro modello sull idea che è necessario esplicitare i concetti di autonomia e delega, estrapolandoli quindi dal codice ed astraendo dalla particolare implementazione, in modo che sia possibile per l utente mantenere il controllo dell interazione, pur non facendosi carico dei compiti più onerosi o che richiedono maggior attenzione o prontezza di riflessi (i compiti che tipicamente un computer sa eseguire meglio di un essere umano). In particolare, essi distinguono l autonomia in due tipologie: Metaautonomia sulla negoziazione del servizio : è l autonomia che viene conferita al programma al momento della negoziazione del servizio, cioè la sua libertà di contrattazione dell autonomia di realizzazione. Autonomia di realizzazione : essa si situa a un livello più basso, cioè al livello dell esecuzione del compito delegato, e si riferisce alla libertà di iniziativa dell agente nell esecuzione delle varie porzioni in cui può essere 11

14 diviso il compito assegnato, o task; essa riguarda quindi l interazione con altri agenti, con dispositivi fisici, la deduzione di dati non esplicitamente introdotti dall utente, l avvio di sottotask non indispensabili per l esecuzione del task principale ma ritenuti utili all utente, e l eventuale mancata esecuzione di alcune parti del task esplicitamente richieste. Su tale base si configurano delle variazioni nel tipo di aiuto fornito dal programma all utente, che si possono classificare considerando tre categorie: OverHelper : il programma può eseguire un task, rappresentato come un piano, che include il task iniziale e altri sottotask ritenuti utili SubHelper : il programma può limitarsi a eseguire solo una porzione del piano originale CriticalHelper : il programma può anche decidere di attuare un piano diverso da quello definito dall utente, spinto a ciò da limiti di tipo ambientale o da constraints imposte da un autorità superiore a quella dell utente, come potrebbe essere, ad esempio, la presenza di filtri per contenuti non adatti ai minori nell accesso a risorse su web. 12

15 2.4 Definizione di agente autonomo L autonomia è la caratteristica che distingue un programma da un agente: essa è la capacità di scegliere tra più alternative (flusso di controllo o valori da assegnare a una variabile), necessaria perché l agente non debba dipendere da un altra entità esterna ad esso. Come in [14], un agente autonomo è un agente che ha controllo sulle proprie azioni. In base alla definizione di agente, secondo cui un agente è un entità in grado di percepire l ambiente attraverso dei sensori, e agire su di esso con degli attuatori [14], si possono escludere dispositivi del mondo fisico che rientrano nella prima definizione, ma che è eccessivo considerare agenti (per esempio, un termostato). Castelfranchi e Falcone considerano, per la trattazione teorica della delega e dell autonomia nelle interazioni tra agenti i seguenti insiemi: un insieme di atti o azioni: gli atti che un agente può mettere in esecuzione un insieme di agenti: gli agenti che popolano l ambiente, e che possono comunicare tra loro una libreria di piani: i piani per l esecuzione degli obiettivi Con questi insiemi di primitive, si può considerare il piano (o il bisogno) che un agente (o l utente) A sta cercando di soddisfare come un piano MA 13

16 (MultiAgente), in cui parte del piano è affidata ad altri agenti (S) che il primo agente può contattare. In tal senso, questi ultimi agenti hanno un goal, nella loro azione, limitato al goal dell agente che ha richiesto aiuto, comportandosi quindi da serventi (questi agenti non prendono iniziative, all interno della loro porzione di piano; si limitano ad eseguire quanto richiesto, rispettando lo spirito cooperativo dell ambiente). Nel modo in cui l agente servente viene incluso nel piano, è possibile distinguere tre casi diversi: Weak delegation : l agente A sfrutta i servizi offerti da un agente S, senza influenzare la sua autonomia (S è completamente autonomo); Mild delegation : l agente A non esegue una richiesta, ma crea le condizioni per cui S si senta spinto ad eseguire l azione che A desidera Strong delegation : in tal caso, è esplicita sia la richiesta che l accettazione del task, cioè vi è una contrattazione esplicita tra A e S, con evevntuale negoziazione del livello di autonomia di S per l esecuzione del task. Si introducono quindi tre operatori, uno per ognuno dei tre casi: W-Delegates (A S P): A weak-delegates P (il piano o porzione di piano) to S M-Delegates (A S P): A mild-delegates P to S S-Delegates (A S P): A strong-delegates P to S D altra parte, è possibile considerare due modi in cui S può intraprendere l azione: 14

17 Weak-adoption : si verifica quando S crede che A abbia bisogno di una particolare azione da parte sua, e decide di eseguirla. Non è detto che ci sia comunicazione esplicita tra S e A, e neanche che A utilizzi i risultati prodotti da S. In questo caso, A potrebbe aver attuato una weak-delegation o una mild-delegation, o anche nessuna delegation. Strong-adoption : si verifica quando S esegue l azione dopo aver ricevuto una richiesta ed aver negoziato il task con A. In tal caso, è necessario che da parte di A ci sia stata una strong-delegation E possibile anche introdurre una distinzione sul livello di dettaglio a cui è specificato il piano di A che S deve eseguire: Close-delegation : il piano è completamente specificato. Open-delegation : il piano non è completamente specificato, per cui a S è lasciata più autonomia su come realizzare quelle parti del paino che non sono dettagliate. Control-based delegation : viene specificato il controllo che A esercita su S. A livello di negoziazione (delega/accettazione) è possibile che vi siano delle modifiche al piano o al goal sia da parte di S che di A: Da parte di S: SubHelp : S realizza solo una parte del piano originario OverHelp : S non cambia il piano, ma adotta come proprio goal un goal di livello più alto 15

18 CriticalHelp : S raggiunge lo stesso goal, ma cambia il piano, considerando una soluzione alternativa Dal punto di vista di A: SubHelp : analogamente al caso precedente, A riduce il piano che S deve eseguire OverHelp : A aumenta la dimensione del piano che S deve eseguire, considerando un piano che va oltre gli obiettivi precedenti CriticalHelp : A modifica il piano, delegando a S una soluzione alternativa al piano precedentemente negoziato, ma con lo stesso goal OpeningDelegation : A delega a S un piano più astratto del precedente ClosingDelegation : A delega ad S un piano meno astratto, specificato a un livello più basso In base a queste possibili situazioni di modifica della delega, l autonomia dell agente S viene variata: essa può essere variata a livello della negoziazione del piano, oppure a livello dell autonomia di realizzazione, del livello di controllo o del tipo di delega/accettazione. In tutti questi casi, si può dire: Se a variare la delega è S, la sua autonomia di negoziazione deve variare sempre: infatti, è S a prendere l iniziativa di variare la delega; invece, non è detto che vari la sua autonomia di realizzazione Se a variare la delega è A, l autonomia di negoziazione di S non cambia mai; infatti, le ragioni che spingono A a modificare la delega non influenzano S. E possibile invece che venga modificata l autonomia di realizzazione di S: ciò 16

19 avviene nel caso in cui A attua la ClosingDelegation, specificando un piano più a basso livello, e di fatto limitando l autonomia di S nell esecuzione 2.5 Il nostro approccio L idea alla base del sistema multiagente, che sarà presentato in dettaglio nel capitolo 3, è quella di rappresentare l utente attraverso un agente del sistema, che chiameremo MainAgent. In quanto rappresentante dell utente, il MainAgent gioca il ruolo di A nell intraprendere un piano ad alto livello; esso, tuttavia, può anche agire da servente per un altro agente MainAgent o per un ServiceAgent, in determinate condizioni; ad esempio, può accadere che uno degli utenti desideri conoscere un particolare concetto; può allora richiedere a un altro utente, e quindi al suo MainAgent, di fornire le informazioni richieste. Possiamo considerare l autonomia del MainAgent come una funzione in uno spazio multidimensionale. Tale funzione non è conosciuta con precisione, poiché è problematico stabilire quante siano le dimensioni e se sia possibile applicare a queste dimensioni metriche discrete o continue; per ovviare a questo problema, abbiamo effettuato delle scelte, in parte arbitrarie, su tipo e numero di dimensioni. Considereremo quindi una proiezione di tale funzione, scegliendo un numero di dimensioni e fissando una metrica discreta per tali dimensioni. Otterremo (in base a come si vuole che il sistema risponda all utente) un insieme di valori che 17

20 rappresentano una mappatura parziale della funzione. In particolare, cercheremo di mettere in evidenza quei punti in cui i valori della funzione determinano un comportamento interessante (per il nostro campo d indagine) dell agente: punti in cui il livello di autonomia permette al sistema di generare un nuovo task (prevedendo le necessità dell utente e cercando di anticiparle, comportandosi quindi in modo proattivo) punti in cui il livello di autonomia è insufficiente per l esecuzione del piano originario, e ciò costringe il sistema a cambiarlo e a introdurre una richiesta all utente per ottenere l autorizzazione all esecuzione di un particolare compito. In tali condizioni limite, infatti, verrà evidenziato il modo in cui il sistema modifica esplicitamente la sua autonomia, in relazione all ambiente e all utente che utilizza il sistema Categorizzazione dell autonomia Considerando l autonomia di un agente, abbiamo già visto che emerge la necessità di considerare diverse dimensioni [5] e diversi livelli di autonomia, con riferimento a una metrica ben definita. E possibile considerare un numero finito di livelli, dal punto di vista quantitativo, e un numero finito di dimensioni, dal punto di vista qualitativo. Dato che non è possibile definire un numero massimo di dimensioni, a causa della molteplicità di ambienti e di tipologie di agenti, né un numero massimo di livelli, 18

21 poiché la granularità appropriata potrebbe essere differente al variare sia dell ambiente che dell agente, è necessario scegliere un sottoinsieme di dimensioni e livelli di autonomia per il particolare sistema. Tale sottoinsieme va scelto in modo da mettere in evidenza le caratteristiche peculiari che si vogliono studiare, che saranno quindi il più possibile tra loro ortogonali, cioè indipendenti. In questa tesi, prenderemo in considerazione le seguenti dimensioni (variazione qualitativa): Autonomia di esecuzione : quanta autonomia ha un agente, quando deve eseguire una particolare azione (ad esempio, intraprendere un determinato compito senza richiedere conferma all utente sia per l esecuzione che per i parametri necessari se mancanti, dedotti dalla base di conoscenza - )? Autonomia di comunicazione : quanta autonomia ha un agente, quando vuole comunicare con l utente? L agente può prendere l iniziativa di comunicare con l utente in ogni momento o esistono delle constraints dettate dall ambiente o dall utente? Quanto deve essere invadente la comunicazione? Per questa particolare dimensione, sorge anche il problema di determinare quanto un certo messaggio sia invadente. Tale concetto è fondamentale per una trattazione organica, ma, mancando del background di analisi psicologica, per semplicità considereremo questa dimensione alla stregua delle altre. 19

22 Autonomia di diffusione di dati personali : l agente può svolgere di propria iniziativa compiti che richiedono la diffusione di dati personali? Se sì, quali, e in che misura? Autonomia di sfruttamento risorse : l agente può utilizzare, per eseguire i propri task, risorse dell utente (come il numero della carta di credito oppure il suo tempo fissare appuntamenti, per esempio - )? Per ognuna di queste dimensioni, scegliamo una suddivisione dei possibili valori in quattro categorie: null : nessuna autonomia; il sistema deve attenersi strettamente a quanto ordinato dall utente, e qualunque variazione al piano o dato mancante deve essere esplicitamente richiesto low : livello di autonomia bassa; il sistema può prendere iniziative che riducano il piano originario. Per esempio, in caso di fallimenti di sottopiani, ma deve evitare di prendere iniziative; le deduzioni devono essere tutte sottoposte all utente per approvazione middle : livello di autonomia media; le iniziative che il sistema può prendere sono più numerose che nel caso precedente, e non deve essere immediatamente notificato all utente che per i suoi dati sono state effettuate delle deduzioni dalla base di conoscenza high : livello di autonomia massima; il sistema ha la più ampia libertà di azione possibile, fermi restando gli eventuali vincoli imposte dall utente (ad esempio, limiti massimi di spesa) 20

23 2.5.2 Come l utente interagisce con gli agenti L interazione dell utente con l agente che lo rappresenta (e che quindi maschera la complessità del sistema, presentandosi come unica entità all utente) è basata sul concetto di task, vale a dire di azione che l utente desidera che l agente svolga. Uno dei Desire dell agente è appunto Eseguire i task dell utente nell ambiente opportuno. L utente vede un task come voglio che il sistema esegua questo compito, dove il compito può essere prenota un esame, prenota una vacanza, avvisami se ho dimenticato di comprare qualcosa al supermercato, e via dicendo, ovviamente fornendo al sistema le informazioni essenziali per l esecuzione di questi task. Da parte sua, il sistema opera una valutazione dei task per stabilire quali dati sono effettivamente necessari e quali possono essere dedotti (dalla storia delle interazioni passate oppure da specifici dati relativi a ciò che il sistema sa dell utente), basando quindi le sue richieste di dati sulla conoscenza dell utente. In tal modo, si semplificano notevolmente le procedure richieste all utente per l esecuzione di un task, fornendo l equivalente di un wizard che propone come valori di default quelli che più sono vicini alle caratteristiche dell utente. Inoltre, dato che la modellazione dell utente è un attività continua, perché per sua natura evolve col passare del tempo, il modello dell utente varia tenendo conto di ciò che l utente fa: sia il wizard per la generazione dei nuovi task che l interfaccia utente forniscono quindi un feedback al sistema, permettendo di rendere il modello 21

24 dell utente, e di conseguenza il ragionamento, più vicino a quello di cui l utente ha bisogno Modalità di comportamento del MainAgent Il livello predefinito di aiuto dell agente MainAgent nei confronti dell utente è, secondo la categorizzazione vista prima, quello di OverHelper : l agente quindi esegue tutto ciò che l utente ordina esplicitamente, e in più prende l iniziativa di eseguire nuovi task, generati automaticamente, se crede che l utente abbia necessità di tali servizi, cioè se le sue regole di ragionamento deducono dall input implicito (cioè dalle caratteristiche dello User Model[20] e del Context Model[19], che vedremo più avanti) che uno o più nuovi task devono essere intrapresi. Tale modalità di aiuto può essere modificata durante l utilizzo del sistema, sia automaticamente (l agente adatta l esecuzione dei propri task in rispetto ad alcune condizioni ambientali o dell utente), sia con ordini espliciti dell utente (ad esempio, l utente può disabilitare tutti i messaggi, per un certo periodo di tempo, se è impegnato in qualche attività per cui non può essere disturbato). 22

25 2.6 Meccanismi di ragionamento autonomo Definizione di ragionamento automatico Il ragionamento automatico che considereremo in questo contesto, come già evidente dalla scelta di un agente BDI, è basato sul modello di un sistema a produzioni: vi saranno quindi regole formalizzabili come ( (Condizione 1) AND (Condizione 2) AND (Condizione n) ) Azione. La strategia per il raggiungimento del goal che utilizzeremo è volutamente semplice. Questa scelta è motivata dalla complessità computazionale dell intero sistema D-Me e del framework JADE (che vedremo in dettaglio nel Capitolo 3), unita alla penalizzazione di prestazioni dovuta all utilizzo del linguaggio Java e quindi alla necessità dell utilizzo di una Virtual Machine. Tuttavia, il progetto del sistema non preclude l utilizzo di una strategia più complessa; è sufficiente modificare la classe che implementa la strategia di ragionamento (ThinkBehaviour) e le classi che rappresentano i Desires e le Intentions (Desire e Intention rispettivamente). 23

26 Abbiamo optato per una strategia a un solo passo. Le regole di ragionamento (le Intentions dell agente) prevedono la possibilità di realizzare il Desire (o goal) direttamente, utilizzando come unico operatore la sequenza, e senza consentire la nidificazione delle Intentions. Inoltre, non è previsto un meccanismo di backtracking a livello di Intentions. A livello di descrizione dei task, invece, è possibile rappresentare un task complesso come una FSM (Finite State Machine, macchina a stati finiti), per la quale ogni stato è rappresentato dall esecuzione di un sottotask, che a sua volta può essere un task complesso o un task elementare. A seconda dell esito, positivo o negativo, di un sottotask, il task principale può prevedere una strada alternativa per raggiungere il proprio scopo. Attualmente, il sistema non prevede la possibilità che la struttura dei task possa essere modificata dinamicamente (creando quindi una vera struttura di ragionamento, in sostituzione all uso di piani preordinati e statici), ma è possibile sviluppare il sistema in tal senso, adattando la classe CompositeTaskActuator. Vediamo la struttura gerarchica dei vari tipi di task: (Figura 2.1) 24

27 Figura 2.1 In particolare, la lista SubTaskList è una lista di Task, come è più evidente dalla rappresentazione XML di un task (Figura 2.2): 25

28 Figura 2.2 La rappresentazione XML di un task è un flattening (appiattimento) della gerarchia, vale a dire che il record XML possiede tutti i campi della classe padre Task, più gli attributi di tutte le classi figlie; tali attributi hanno valore solo se il tipo di task, identificato dall attributo action, è quello corrispondente alla sottoclasse in cui quel valore esiste. Ciò è stato fatto per semplificare sia la progettazione della struttura del file XML che la realizzazione delle classi Java e delle relative classi ontologiche. Sfruttando tale rappresentazione, è possibile esprimere il piano associato a un task come grafo, trasformato in una lista e memorizzato con questo formalismo XML. 26

29 2.6.2 Regole per la descrizione del grafo di una FSM Il grafo di un task è soggetto ai seguenti vincoli: L insieme degli stati componenti la FSM è contenuto in una lista memorizzata all interno del task (la subtasklist); Lo stato iniziale della FSM deve essere il primo elemento della lista, per identificare il punto di inizio in modo semplice; Ogni stato nella lista ha due attributi, nextok e nexterror ; entrambi contengono un valore long, che corrisponde all identificativo di un altro stato nella stessa lista. Essi rappresentano la transizione dallo stato precedente (l elemento Task di cui fanno parte) allo stato successivo. nextok contiene l identificativo del sottotask successivo da eseguie quando il task corrente viene eseguito con successo, nexterror l identificativo del sottotask alternativo, quando il task corrente fallisce l esecuzione. Di conseguenza, ci possono essere solo due transizioni in uscita da uno stato, una etichettata con Ok e memorizzata in nextok, e l altra etichettata con Error e memorizzata in nexterror; uno stato i cui due successori sono entrambi 0 (cioè non puntano a nessuno stato valido, poiché gli identificatori dei task sono tutti valori strettamente positivi) è uno stato finale, da cui si va solo nello stato di conclusione del behaviour; Lo stato iniziale e quello finale del behaviour FSM, come definito nel framework, non sono rappresentati nel task, in quanto identici per tutti i possibili grafi; 27

30 Questo consente di realizzare piani complessi, senza modifiche al codice, semplicemente scrivendo un file XML adatto. In particolare, è possibile tradurre un grafo di tipo AND-OR in questo formalismo (vedi figura 2.3). In questo esempio, è rappresentato il grafo, costruito rispettando il formalismo appena descritto, corrispondente al grafo AND-OR che si può esprimere come ((SottoTask A) and (SottoTask C) and (SottoTask D)) or (SottoTask B) Figura

31 2.6.3 Influenza dell autonomia sul ragionamento L introduzione dell autonomia nel ragionamento automatico inserisce un nuovo vincolo nel database globale: le Intentions di un agente, il cui grado di autonomia è variabile in più dimensioni indipendenti, devono tener conto esplicitamente di tale grado. Esse perciò saranno del tipo: IF ( (Autonomia(Categoria) = Livello) AND (Condizione 1) AND (Condizione 2) AND (Condizione N) ) THEN Azione Per semplificare il processo di matching, è possibile suddividere le Intentions in sottoinsiemi aventi il medesimo livello di autonomia. In tal modo, al momento di determinare il conflict set (l insieme delle Intentions applicabili a una data istanza dell insieme dei Beliefs), si prendono in considerazione solo quelle Intentions appartenenti agli insiemi la cui autonomia richiesta è minore o uguale a quella del task in quel momento in esecuzione. Per esempio, avendo due Intentions: <Intention name="get Contextualized User Model" slotname="intention"> <Precondition slotname="precondition" value="dme.onto.um.useridentify"/> <Precondition slotname="precondition" value="dme.onto.architecture.agentid"/> <Obtain slotname="obtain" value="dme.onto.um.user"/> 29

32 </Intention> <Intention name="find a list of suitable tasks for the available environment" slotname="intention"> <Precondition slotname="precondition" value="dme.onto.um.useridentify"/> <Precondition slotname="precondition" value="dme.onto.architecture.agentid"/> <Obtain slotname="obtain" value="dme.onto.architecture.listservicetask"/> </Intention> si nota che entrambe hanno le stesse precondizioni; se esse richiedono differenti livelli di autonomia per l esecuzione, il conflict set viene ridotto alla Intention il cui livello di autonomia è compatibile col livello di autonomia dell agente. In questo modo, se l agente possiede un livello di autonomia elevato, potrà scegliere di eseguire una qualunque Intention, mentre se il suo grado di autonomia è basso il conflict set sarà creato a partire da un set di Intentions più ristretto. Considerando il Desire caratteristico dell agente D-Me, che è quello di Eseguire i task dell utente nell ambiente adatto, risulta conveniente considerare una diversa autonomia per ogni task, data la natura eterogenea degli stessi. E infatti inconcepibile per l utente che per un task come stasera devi andare al cinema l agente abbia la stessa autonomia di azione che per il task prenota l esame di Programmazione. E evidente che il secondo task è di gran lunga più importante per l utente, perciò il sistema potrà prendere in considerazione molti più modi di portare a termine il task. Avrà quindi maggiore autonomia, in particolare maggiore autonomia di comunicazione e maggiore autonomia di azione. 30

33 Di conseguenza, nell implementazione del sistema ogni task (e, per ricorsività, ogni sottotask) possiede una classe Autonomia, che funge da contenitore per i valori dell autonomia di quel particolare task; possiamo considerarle come le coordinate di quel task nello spazio dell autonomia. Tale classe serve per consentire all agente di ragionare sul task, nel momento in cui il piano richiede che il task venga eseguito. Supponendo, ad esempio, che l utente abbia inserito un task che richiede al MainAgent di intraprendere una certa azione, che però richiede un livello di autonomia superiore a quella che l utente ha concesso per il task principale, allora l azione non può essere eseguita; a questo punto, le alternative possibili per il MainAgent sono le seguenti: Richiesta all utente di modificare il livello di autonomia dell agente per il task corrente : in questo caso, l agente sta sfruttando la sua metaautonomia [5], negoziando con l utente una modifica della propria autonomia; Modifica del livello di aiuto fornito all utente : in tal caso, il MainAgent interrompe l esecuzione di quella parte del piano e continua seguendo la strada alternativa, se esiste; altrimenti termina il compito. Si tratta quindi di un cambiamento da OverHelper (che è la strategia standard del sistema, come accennato in precedenza) a SubHelper, poiché l agente si limita ad eseguire una porzione del piano originale. Richiesta all utente di modificare il livello di autonomia del tipo di sottotask che sta eseguendo : si tratta, in questo caso, di modificare l interpretazione del mondo dell agente. Questo può essere utile quando 31

34 l utente si accorge che l azione di un particolare sottotask è stata valutata male; nel caso specifico, è stata definita un autonomia di esecuzione troppo alta, restringendo inutilmente la libertà d azione dell agente. La modifica dell autonomia richiesta dal sottotask permette all agente di intraprenderlo senza chiedere conferma all utente, rendendolo quindi meno intrusivo Feedback: Incidenza del comportamento dell utente sull autonomia Bisogna prendere in considerazione altri aspetti del ragionamento: Accettazione da parte dell utente delle iniziative dell agente Capacità dell agente di eseguire ciò che l utente desidera Conflitti tra Desires dell agente Questi tre punti vengono presi in esame e formalizzati sempre in [5]. A tale proposito vengono definiti vari livelli di aiuto dell agente in base alla personalità dell utente (e quindi al suo tipo di delega). Si distinguono gli utenti secondo le categorie: sempre delegante : l utente è pigro, delega i suoi task all agente anche quando potrebbe svolgerli da solo delegante per necessità : l utente delega un task all agente solo quando non è in grado di eseguirlo personalmente non delegante : l utente non delega mai task all agente 32

35 e gli agenti come: ipercooperativo : l agente esegue sempre i task che l utente gli affida, e interviene quando crede che l utente possa aver necessità di un certo task, o quando pensa che un certo task sia gradito all utente (anche quando l utente è in grado di svolgere da solo tale task) benevolente : l agente esegue un task sia quando l utente glielo ordina, sia quando pensa che l utente non sia in grado di eseguirlo da solo aiutante : l agente esegue sempre i task dell utente, ma non prende iniziative egoista : l agente non esegue mai i task dell utente Si distinguono diverse coppie possibili utente/agente; scartiamo le possibilità chiaramente prive di interesse (come utente non delegante o agente egoista ), che nel nostro sistema non hanno riscontro e sarebbero di poca rilevanza, in quanto un utente non delegante lascerebbe il sistema inattivo, e viceversa un agente egoista sarebbe un pessimo rappresentante dell utente. Esamineremo quindi le coppie: Utente sempre delegante delegante per necessità Agente ipercooperativo benevolente oppure aiutante In tutti i casi, il feedback dell utente (vale a dire il modo in cui l utente approva il comportamento del sistema) può far cambiare categoria all agente: per esempio, 33

36 un agente ipercooperativo può diventare un agente aiutante se il comportamento dell utente evidenzia che l utente è un delegante per necessità ; l autonomia di azione dell agente diminuisce in conseguenza di questo, impedendo all agente di prendere iniziative. 2.7 Meccanismi di feedback Prenderemo in esame due tipi possibili di feedback: Feedback positivo : tale tipo di feedback si realizza nel momento in cui l utente, avendo davanti a sé l interfaccia che mostra come l agente abbia preso un iniziativa, la visualizza e l approva. Feedback negativo : tale tipo di feedback avviene quando, sempre visualizzando le attività intraprese autonomamente dall agente, l utente ne trova una o più che non vuole vengano eseguite. In tal caso, è possibile sospendere l attività o annullarla. Nel primo caso, l agente ritiene che la generazione del task sia stata una scelta giusta, per cui le regole di decisione restano invariate. Nel secondo caso, invece, è necessario modificare i criteri di scelta delle regole. 34

37 2.7.1 Modifica delle regole di inferenza Considerando dal punto di vista dell agente il feedback dell utente, tale feedback si traduce in una modifica ai valori dell autonomia. Vi sono due possibili modi di variare l autonomia di un agente, relativamente all inferenza di nuovi task: Si può modificare l autonomia di esecuzione delle regole di inferenza per l agente; tale modifica ha l effetto di rendere l agente più o meno autonomo, riguardo alla generazione di nuovi task, ma non distingue tra una regola e l altra; Si può considerare l autonomia necessaria per l esecuzione di ogni singola regola di inferenza; per far ciò, bisogna definire l autonomia di ogni regola come livello minimo di autonomia dell agente perché la regola possa essere applicata. In tal modo, l agente può eseguire, in un particolare momento, solo quelle regole la cui autonomia minima è compatibile con l autonomia di cui dispone l agente in quell istante di tempo. A un feedback positivo o negativo corrisponde rispettivamente un abbassamento o un innalzamento dell autonomia minima della regola la cui attuazione ha causato il feedback. Quando il livello di autonomia necessario per l esecuzione di una regola è massimo, un ulteriore feedback negativo da parte dell utente ha come conseguenza la rimozione della regola dalle regole che l agente usa normalmente per l inferenza. Perché tale regola possa essere reintrodotta nel sistema, è necessario un intervento esplicito dell utente (che deve modificare manualmente l autonomia necessaria per l esecuzione di una regola). 35

38 Nell implementazione del sistema, abbiamo scelto la seconda alternativa, in quanto essa permette un controllo più fine sul comportamento dell agente, permettendo di agire separatamente su ogni regola Modifica del profilo utente L agente deve sempre permettere all utente di verificare i dati che vengono inferiti sulla personalità di delega, quindi sui livelli di autonomia; questo perché tale trasparenza è necessaria perché l utente mantenga il controllo dell interazione e quindi possa fidarsi dell agente e delegare un qualsiasi task. Navigando questi dati, l utente può confermare o negare le inferenze dell agente, o ancora modificare alcuni dei dati precedentemente asseriti; in tal modo, egli fornisce sia un feedback positivo che uno negativo: positivo sulle inferenze che sono giuste, negativo su quelle sbagliate. In tal modo, viene rivista l autonomia delle regole di decisione che hanno portato alle inferenze in questione. La tematica della modellazione dell utente è stata già descritta in [20]. 36

39 Capitolo 3: Caratteristiche strutturali 3.1 Piattaforma di implementazione JADE: descrizione generale JADE (Java Agent DEvelopment Framework) [12] è un framework che rende possibile la creazione e la comunicazione tra agenti software, fornendo sia una shell per l avvio e la gestione degli agenti, che protocolli per la comunicazione (conformi allo standard FIPA [13], Foundation for Intelligent Physical Agents). Inoltre, sono disponibili tool per l analisi degli agenti presenti e il debug. E sviluppato dal TILAB (Telecom Italia Lab, ex CSELT) [16] ed è distribuito sotto licenza LGPL (Lesser GNU Public License). L intero framework è realizzato in Java. Esso fornisce i componenti standard per la gestione della piattaforma: ACC (Agent Communication Channel): canale per la comunicazione interpiattaforma e intrapiattaforma AMS (Agent Management System): agente il cui compito è gestire gli altri agenti (servizio di naming) DF (Directory Facilitator): agente che si occupa di registrare i servizi offerti dagli altri agenti (servizio di yellow pages) 37

40 E anche possibile per un agente muoversi all interno della piattaforma (che è composta di diversi Container, non necessariamente residenti sullo stesso host). Lo scambio di informazioni tra agenti avviene attraverso l uso di messaggi, codificati secondo gli standard FIPA, definiti ACL messages. Figura 3.1 In figura 3.1 è possibile vedere un esempio dell interfaccia grafica del framework JADE. Da questa interfaccia è possibile attivare o eliminare un agente in un particolare container, visualizzare l elenco delle piattaforme, dei container e degli agenti presenti, oppure lanciare gli strumenti di debug. 38

41 Figura 3.2 In figura 3.2 si può osservare la schermata dell Introspector. Esso è un tool che consente di visualizzare tutti i behaviour di un agente e tutti i messaggi da esso ricevuti o inviati, compresi quelli ancora in attesa di essere letti dall agente. E utile per verificare se i behaviour vengono caricati ed eseguiti nel modo previsto. 39

42 Figura 3.3 In figura 3.3 si vede la schermata dello Sniffer. Tale tool è in grado di spiare tutti i messaggi che vengono scambiati dagli agenti sulla piattaforma. Scegliendo un sottoinsieme di agenti, è possibile verificare la corretta esecuzione dei protocolli di comunicazione tra agenti, nonché visualizzare il contenuto dei messaggi, per verificarne la correttezza. 40

43 Figura 3.4 In figura 3.4 si può osservare l interfaccia grafica del DF, che è uno degli agenti che obbligatoriamente devono essere presenti su una piattaforma. Tale agente fornisce il servizio di Yellow Pages, cioè fornisce un servizio di registrazione per tutti gli agenti che offrono servizi presenti sulla piattaforma LEAP: descrizione generale LEAP (Lightweight Extensible Agent Platform)[ è una piattaforma a footprint ridotto, quindi con richieste minime di risorse hardware, indipendente dal sistema operativo, e conforme a FIPA. Tale piattaforma consiste 41

44 in un adattamento della piattaforma JADE (da cui mutua parte del codice sorgente) alle specifiche delle macchine virtuali Pjava (PersonalJava) e MIDP (Mobile Information Device Profile), rilasciate da Sun Microsystems [ l utilizzo di tale framework alternativo consente di far funzionare gli agenti Java che lavorano con JADE anche su dispositivo palmare. In particolare, l utilizzo della versione di LEAP compilata per Personal Java (o Pjava) è pensata per essere utilizzata su dispositivi palmari del tipo Compaq Ipaq[ o equivalenti, con virtual machine come Jeode[ oppure con la virtual machine di riferimento della Sun. Inoltre, è possibile lavorare con i rispettivi emulatori e ambienti di simulazione (in particolare J2ME Wireless Toolkit per la versione MIDP e Personal Java Environment Emulation per la versione Pjava). 42

45 3.2 D-Me: descrizione generale Il sistema D-Me consiste di un insieme di agenti, organizzati per Environment. Un agente, il MainAgent, rappresenta l utente del sistema: le varie istanze del MainAgent possono essere residenti in vari container, anche su piattaforme remote, e registrano la loro presenza in un ben definito Environment. L approccio che abbiamo seguito prevede che l utente che desidera utilizzare i servizi di un Environment si sposti (fisicamente o logicamente) in questo ambiente, spostando quindi il suo MainAgent. L Environment corrisponde, nella metafora del sistema, a un luogo fisico oppure logico, come ad esempio la biblioteca, il supermercato, il pub, fisicamente realizzato come un ambiente 43

46 smart, cioè dotato di tecnologia Ubiquitous computing, con opportuni devices, come sensori, microfoni, schermi a parete; dato che simili ambienti esistono solo a livello sperimentale, gli Environment sono realizzati in questo sistema come entità software, composte quindi solo da agenti software. In particolare, un Environment è caratterizzato da: Key : il nome dell Environment EnvironmentKeeperAgent : un agente specifico per l Environment Insieme dei Service afferenti all Environment. Insieme dei MainAgent registrati presso un EnvironmentKeeperAgent; tale insieme varia nel tempo, quando i MainAgent migrano da un ambiente all altro. I Service sono essi stessi agenti, che forniscono particolari servizi ad altri agenti che li richiedano. Essi si registrano, al momento della loro creazione, col Keeper di ambiente al quale afferiscono. In dipendenza dalla natura dei servizi offerti, i ServiceAgent possono essere accessibili solo agli agenti presenti nell Environment, oppure essere disponibili per qualunque agente che sappia come contattarli. A tal fine, i vari Environment sono registrati presso un MainKeeper, il cui scopo è tener traccia dei Keeper di ambiente presenti e fornirne l indirizzo ai richiedenti. Il MainKeeper è l unico agente il cui indirizzo deve essere noto a priori per il generico agente MainAgent, nel momento in cui questo viene attivato. Successivamente, esso ricerca l Environment in cui è situato e si collega al relativo Keeper, in modo da poter svolgere le sue funzioni. 44

47 E possibile richiedere informazioni e servizi non solo ai Service di un ambiente, ma anche agli altri MainAgent presenti nel sistema: essi sono infatti registrati presso il Keeper in modo simile a quanto avviene per i Service, e possono essere interrogati alla stessa maniera. Data la natura potenzialmente eterogenea degli agenti MainAgent (essi sono specializzazioni dell agente standard di JADE, ma non ci sono limiti alla loro differenziazione), e al particolare utente di cui sono rappresentanti, i MainAgent possono decidere se rispondere a una particolare richiesta degli altri agenti o no, a differenza dei Service; questo perché, per fare un esempio, un utente può non aver delegato al suo agente la diffusione dei suoi dati personali. Pertanto, alla richiesta di un altro agente, del tipo chi sei?, il MainAgent non è autorizzato a rispondere. Il MainAgent ha bisogno, per eseguire le sue funzioni e prendere le decisioni necessarie, di due tipi di informazioni: informazioni sull utente che esso rappresenta (User Modeling Components, vedi [20]) e informazioni sul contesto fisico in cui è immerso (Context Modeling Components, vedi [19]). Le informazioni sull utente sono gestite da un ulteriore agente specializzato, l UMKeeper. Tale agente ha come compito quello di conservare in modo permanente i dati statici dell utente (nome, indirizzo) e quelli riguardanti la personalità, le capacità, le conoscenze dell utente. Tali dati vengono immessi direttamente dall utente, tramite un interfaccia grafica, o dedotti dal MainAgent, analizzando l interazione con l utente e traendo le conclusioni sulla base di un set di regole specializzate. E responsabilità dell UMKeeper aggiornare i dati memorizzati e fornirli su richiesta del MainAgent. Esso può risiedere sul dispositivo portatile dell utente, oppure essere localizzato fisicamente su un server 45

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

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

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

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

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

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

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

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

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

La Leadership efficace

La Leadership efficace La Leadership efficace 1 La Leadership: definizione e principi 3 2 Le pre-condizioni della Leadership 3 3 Le qualità del Leader 4 3.1 Comunicazione... 4 3.1.1 Visione... 4 3.1.2 Relazione... 4 pagina 2

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

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri. Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri. Roma, 25 ottobre 2010 Ing. Antonio Salomè Ing. Luca Lezzerini

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

ISTRUZIONI PER LA GESTIONE BUDGET

ISTRUZIONI PER LA GESTIONE BUDGET ISTRUZIONI PER LA GESTIONE BUDGET 1) OPERAZIONI PRELIMINARI PER LA GESTIONE BUDGET...1 2) INSERIMENTO E GESTIONE BUDGET PER LA PREVISIONE...4 3) STAMPA DIFFERENZE CAPITOLI/BUDGET.10 4) ANNULLAMENTO BUDGET

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

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

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

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

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

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

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

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo

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

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

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

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

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

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

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

La specifica del problema

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

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

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

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1.

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1. Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane e per le Informazioni bibliografiche Manuali utente per SBN WEB Versione 1.0 Produzione editoriale Vers. 1.0 27/09/2013 Pagina 1 Sommario

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

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

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

Appendice III. Competenza e definizione della competenza

Appendice III. Competenza e definizione della competenza Appendice III. Competenza e definizione della competenza Competenze degli psicologi Lo scopo complessivo dell esercizio della professione di psicologo è di sviluppare e applicare i principi, le conoscenze,

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti La manutenzione come elemento di garanzia della sicurezza di macchine e impianti Alessandro Mazzeranghi, Rossano Rossetti MECQ S.r.l. Quanto è importante la manutenzione negli ambienti di lavoro? E cosa

Dettagli

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

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

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

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

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Installazione di GFI WebMonitor

Installazione di GFI WebMonitor Installazione di GFI WebMonitor Requisiti di sistema di GFI WebMonitor Server Microsoft Windows 2000 (SP 3) o 2003. Microsoft ISA 2000 Server (non in modalità solo firewall) OPPURE Server Microsoft ISA

Dettagli

E-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11

E-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 Gestione Filtri InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 INDICE Indice...2 1. GESTIONE DEI FILTRI...3 1.1. Filtri fissi...3 1.2. Filtro parametrico...5 1.3. Funzione di ricerca...6 2. CONTESTI IN CUI

Dettagli

Word processor funzione Stampa Unione

Word processor funzione Stampa Unione Word processor funzione Stampa Unione La funzione Stampa unione permette di collegare un documento che deve essere inviato ad una serie di indirizzi ad un file che contenga i nominativi dei destinatari.

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Riconoscibilità dei siti pubblici: i domini della Pa e le regole di.gov.it

Riconoscibilità dei siti pubblici: i domini della Pa e le regole di.gov.it Riconoscibilità dei siti pubblici: i domini della Pa e le regole di.gov.it Gabriella Calderisi - DigitPA 2 dicembre 2010 Dicembre 2010 Dominio.gov.it Cos è un dominio? Se Internet è una grande città, i

Dettagli

Indice. 1 Il monitoraggio del progetto formativo --------------------------------------------------------------- 3. 2 di 6

Indice. 1 Il monitoraggio del progetto formativo --------------------------------------------------------------- 3. 2 di 6 LEZIONE MONITORARE UN PROGETTO FORMATIVO. UNA TABELLA PROF. NICOLA PAPARELLA Indice 1 Il monitoraggio del progetto formativo --------------------------------------------------------------- 3 2 di 6 1 Il

Dettagli

CONTENT MANAGEMENT SY STEM

CONTENT MANAGEMENT SY STEM CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES

Dettagli

GUIDA UTENTE PRIMA NOTA SEMPLICE

GUIDA UTENTE PRIMA NOTA SEMPLICE GUIDA UTENTE PRIMA NOTA SEMPLICE (Vers. 2.0.0) Installazione... 2 Prima esecuzione... 5 Login... 6 Funzionalità... 7 Prima Nota... 8 Registrazione nuovo movimento... 10 Associazione di file all operazione...

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

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

Progetto PI.20060128, passo A.1 versione del 14 febbraio 2007

Progetto PI.20060128, passo A.1 versione del 14 febbraio 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PI.20060128,

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

Articolo 1. Articolo 2. (Definizione e finalità)

Articolo 1. Articolo 2. (Definizione e finalità) UNIVERSITÀ DEGLI STUDI DI TRENTO DIPARTIMENTO DI ECONOMIA E MANAGEMENT REGOLAMENTO DEL TIROCINIO FORMATIVO E DI ORIENTAMENTO (approvato nel Consiglio di Dipartimento del 19 febbraio 2014) Articolo 1 (Definizione

Dettagli

Integrazione del progetto CART regione Toscana nel software di CCE K2

Integrazione del progetto CART regione Toscana nel software di CCE K2 Integrazione del progetto CART regione Toscana nel software di CCE K2 Data Creazione 04/12/2012 Versione 1.0 Autore Alberto Bruno Stato documento Revisioni 1 Sommario 1 - Introduzione... 3 2 - Attivazione

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0 Settore delle carte di pagamento (PCI) Standard di protezione dei dati per le applicazioni di pagamento () Riepilogo delle modifiche di dalla versione 2.0 alla 3.0 Novembre 2013 Introduzione Il presente

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Configuration Management

Configuration Management Configuration Management Obiettivi Obiettivo del Configuration Management è di fornire un modello logico dell infrastruttura informatica identificando, controllando, mantenendo e verificando le versioni

Dettagli

Rapporto dal Questionari Insegnanti

Rapporto dal Questionari Insegnanti Rapporto dal Questionari Insegnanti SCUOLA CHIC81400N N. Docenti che hanno compilato il questionario: 60 Anno Scolastico 2014/15 Le Aree Indagate Il Questionario Insegnanti ha l obiettivo di rilevare la

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

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

Prova di Laboratorio di Programmazione

Prova di Laboratorio di Programmazione Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

OpenPsy: OpenSource nella Psicologia. Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova)

OpenPsy: OpenSource nella Psicologia. Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova) OpenPsy: OpenSource nella Psicologia Pag. 1 di 9 OpenPsy: OpenSource nella Psicologia Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova) PREMESSA Per prima cosa, appare ovvio

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo 01595 Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo INDICE DESCRIZIONE DEL SOFTWARE DI INTERFACCIAMENTO CON I SISTEMI GESTIONALI (ART. 01595) 2 Le

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

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

GRUPPI DI INCONTRO per GENITORI

GRUPPI DI INCONTRO per GENITORI Nell ambito delle attività previste dal servizio di Counseling Filosofico e di sostegno alla genitorialità organizzate dal nostro Istituto, si propone l avvio di un nuovo progetto per l organizzazione

Dettagli

Tesi di Laurea di Mauro Brazzo

Tesi di Laurea di Mauro Brazzo Tesi di Laurea di Mauro Brazzo Inserimento facilitato di testi in un sistema mobile: progetto e implementazione Relatore: Prof. Fabio Vitali Bologna, 20 ottobre 2004 Sommario Introduzione Il problema Thesaurus

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

ELENCO CLIENTI FORNITORI Patch1

ELENCO CLIENTI FORNITORI Patch1 ELENCO CLIENTI FORNITORI Patch1 Il pacchetto P15_200ElencoCF_Patch1.exe contiene una serie di aggiornamenti alla procedura di generazione del file contenente l. Download: 1) Assicurarsi di avere una versione

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

Dettagli

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

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