Come Programmare un Sistema Multiagente con JADE
|
|
- Ambrogio Di Matteo
- 6 anni fa
- Visualizzazioni
Transcript
1 Nicola Gatti (JADE HOW-TO) p. 1/33 Come Programmare un Sistema Multiagente con JADE Una introduzione a JADE Nicola Gatti DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE, POLITECNICO DI MILANO
2 Nicola Gatti (JADE HOW-TO) p. 2/33 Outline Introduzione: Cos è un sistema multiagente? Cos è JADE?
3 Nicola Gatti (JADE HOW-TO) p. 2/33 Outline Introduzione: Cos è un sistema multiagente? Cos è JADE? Uno sguardo su JADE
4 Nicola Gatti (JADE HOW-TO) p. 2/33 Outline Introduzione: Cos è un sistema multiagente? Cos è JADE? Uno sguardo su JADE Programmazione di un sistema multiagente Paradigma dell agente Paradigma di interazione Protocollo di comunicazione Protocollo di interazione
5 Cos è un sistema multiagente? Nicola Gatti (JADE HOW-TO) p. 3/33
6 Nicola Gatti (JADE HOW-TO) p. 4/33 Sistema multiagente (teoria) Collezione di entità chiamate agenti:
7 Nicola Gatti (JADE HOW-TO) p. 4/33 Sistema multiagente (teoria) Collezione di entità chiamate agenti: Autonomi
8 Nicola Gatti (JADE HOW-TO) p. 4/33 Sistema multiagente (teoria) Collezione di entità chiamate agenti: Autonomi Perseguono obiettivi
9 Nicola Gatti (JADE HOW-TO) p. 4/33 Sistema multiagente (teoria) Collezione di entità chiamate agenti: Autonomi Perseguono obiettivi Interagenti
10 Nicola Gatti (JADE HOW-TO) p. 4/33 Sistema multiagente (teoria) Collezione di entità chiamate agenti: Autonomi Perseguono obiettivi Interagenti Mobili
11 Nicola Gatti (JADE HOW-TO) p. 4/33 Sistema multiagente (teoria) Collezione di entità chiamate agenti: Autonomi Perseguono obiettivi Interagenti Mobili La collezione degli agenti può variare nel tempo
12 Nicola Gatti (JADE HOW-TO) p. 5/33 Sistema multiagente (pratica) Agente :: Sistema software dotato di intelligenza
13 Nicola Gatti (JADE HOW-TO) p. 5/33 Sistema multiagente (pratica) Agente :: Sistema software dotato di intelligenza Ragionamento Comportamenti
14 Nicola Gatti (JADE HOW-TO) p. 5/33 Sistema multiagente (pratica) Agente :: Sistema software dotato di intelligenza Ragionamento Comportamenti Multiagente :: Sistema software distribuito
15 Nicola Gatti (JADE HOW-TO) p. 5/33 Sistema multiagente (pratica) Agente :: Sistema software dotato di intelligenza Ragionamento Comportamenti Multiagente :: Sistema software distribuito Agenti su vari hosts
16 Nicola Gatti (JADE HOW-TO) p. 5/33 Sistema multiagente (pratica) Agente :: Sistema software dotato di intelligenza Ragionamento Comportamenti Multiagente :: Sistema software distribuito Agenti su vari hosts Agenti mobili
17 Nicola Gatti (JADE HOW-TO) p. 5/33 Sistema multiagente (pratica) Agente :: Sistema software dotato di intelligenza Ragionamento Comportamenti Multiagente :: Sistema software distribuito Agenti su vari hosts Agenti mobili Agenti interagenti
18 Nicola Gatti (JADE HOW-TO) p. 5/33 Sistema multiagente (pratica) Agente :: Sistema software dotato di intelligenza Ragionamento Comportamenti Multiagente :: Sistema software distribuito Agenti su vari hosts Agenti mobili Agenti interagenti Interazione in piccolo Chiamate a metodi remoti (RPC - Remote Procedure Calling) Scambio di messaggi (Message Dispatching)
19 Nicola Gatti (JADE HOW-TO) p. 5/33 Sistema multiagente (pratica) Agente :: Sistema software dotato di intelligenza Ragionamento Comportamenti Multiagente :: Sistema software distribuito Agenti su vari hosts Agenti mobili Agenti interagenti Interazione in piccolo Chiamate a metodi remoti (RPC - Remote Procedure Calling) Scambio di messaggi (Message Dispatching) Interazione in grande Protocollo di comunicazione Protocollo di interazione
20 Cos è JADE? Nicola Gatti (JADE HOW-TO) p. 6/33
21 Nicola Gatti (JADE HOW-TO) p. 7/33 JADE (1) Java Agent Development Environment (un ambiente di sviluppo Java per agenti)
22 Nicola Gatti (JADE HOW-TO) p. 7/33 JADE (1) Java Agent Development Environment (un ambiente di sviluppo Java per agenti) Middleware per sistemi multiagente Fornisce una infrastruttura software Lo sviluppatore deve sviluppare solo alcuni aspetti dell applicazione
23 Nicola Gatti (JADE HOW-TO) p. 7/33 JADE (1) Java Agent Development Environment (un ambiente di sviluppo Java per agenti) Middleware per sistemi multiagente Fornisce una infrastruttura software Lo sviluppatore deve sviluppare solo alcuni aspetti dell applicazione Cosa implementa autonomamente JADE:
24 Nicola Gatti (JADE HOW-TO) p. 7/33 JADE (1) Java Agent Development Environment (un ambiente di sviluppo Java per agenti) Middleware per sistemi multiagente Fornisce una infrastruttura software Lo sviluppatore deve sviluppare solo alcuni aspetti dell applicazione Cosa implementa autonomamente JADE: Gestione agente come unità remota Gestione di più hosts Mobilità tra hosts
25 Nicola Gatti (JADE HOW-TO) p. 7/33 JADE (1) Java Agent Development Environment (un ambiente di sviluppo Java per agenti) Middleware per sistemi multiagente Fornisce una infrastruttura software Lo sviluppatore deve sviluppare solo alcuni aspetti dell applicazione Cosa implementa autonomamente JADE: Gestione agente come unità remota Gestione di più hosts Mobilità tra hosts Dispatching di messaggi
26 Nicola Gatti (JADE HOW-TO) p. 7/33 JADE (1) Java Agent Development Environment (un ambiente di sviluppo Java per agenti) Middleware per sistemi multiagente Fornisce una infrastruttura software Lo sviluppatore deve sviluppare solo alcuni aspetti dell applicazione Cosa implementa autonomamente JADE: Gestione agente come unità remota Gestione di più hosts Mobilità tra hosts Dispatching di messaggi Libreria di comportamenti Libreria di protocolli di comunicazione Libreria di protocolli di interazione
27 Nicola Gatti (JADE HOW-TO) p. 8/33 JADE (2) Cosa non implementa autonomamente JADE:
28 Nicola Gatti (JADE HOW-TO) p. 8/33 JADE (2) Cosa non implementa autonomamente JADE: Motore inferenziale per l agente (JESS) Supporta ma non implementa le ontologie (RDF)
29 Nicola Gatti (JADE HOW-TO) p. 8/33 JADE (2) Cosa non implementa autonomamente JADE: Motore inferenziale per l agente (JESS) Supporta ma non implementa le ontologie (RDF) Scheduling real-time dei threads
30 Nicola Gatti (JADE HOW-TO) p. 8/33 JADE (2) Cosa non implementa autonomamente JADE: Motore inferenziale per l agente (JESS) Supporta ma non implementa le ontologie (RDF) Scheduling real-time dei threads Certezza di consegna del messaggio Dispatching real-time dei messaggi
31 Uno sguardo su JADE Nicola Gatti (JADE HOW-TO) p. 9/33
32 Nicola Gatti (JADE HOW-TO) p. 10/33 Due agenti su JADE java -classpath "./lib/ jade.jar :./lib/ jadetools.jar :./lib/ base64.jar :./lib/ iiop.jar :./" jade.boot -gui r1:nicola.robot1 r2:nicola.robot2
33 Nicola Gatti (JADE HOW-TO) p. 10/33 Due agenti su JADE java -classpath "./lib/ jade.jar :./lib/ jadetools.jar :./lib/ base64.jar :./lib/ iiop.jar :./" jade.boot -gui r1:nicola.robot1 r2:nicola.robot2 Librerie di JADE
34 Nicola Gatti (JADE HOW-TO) p. 10/33 Due agenti su JADE java -classpath "./lib/ jade.jar :./lib/ jadetools.jar :./lib/ base64.jar :./lib/ iiop.jar :./" jade.boot -gui r1:nicola.robot1 r2:nicola.robot2 Librerie di JADE Classe principale: jade.boot
35 Nicola Gatti (JADE HOW-TO) p. 10/33 Due agenti su JADE java -classpath "./lib/ jade.jar :./lib/ jadetools.jar :./lib/ base64.jar :./lib/ iiop.jar :./" jade.boot -gui r1:nicola.robot1 r2:nicola.robot2 Librerie di JADE Classe principale: jade.boot Interfaccia grafica -gui
36 Nicola Gatti (JADE HOW-TO) p. 10/33 Due agenti su JADE java -classpath "./lib/ jade.jar :./lib/ jadetools.jar :./lib/ base64.jar :./lib/ iiop.jar :./" jade.boot -gui r1:nicola.robot1 r2:nicola.robot2 Librerie di JADE Classe principale: jade.boot Interfaccia grafica -gui Agenti: r1 e r2
37 Nicola Gatti (JADE HOW-TO) p. 11/33 Componenti Principali RMA (Remote Management Agent) Interfaccia grafica DF (Directory Facilitator) Pagine gialle AMS (Agent Management System) Pagine bianche
38 Nicola Gatti (JADE HOW-TO) p. 11/33 Componenti Principali RMA (Remote Management Agent) Interfaccia grafica DF (Directory Facilitator) Pagine gialle AMS (Agent Management System) Pagine bianche SA (Sniffer Agent) Sniffer di messaggi IA (Introspector Agent) Monitoraggio delle attività dell agente
39 Nicola Gatti (JADE HOW-TO) p. 12/33 Infrastruttura di Rete (1) Host pricipale Main Container RMI Registry Directory Facilitator AMS Introspector Agent Sniffer Agent Agenti dello sviluppatore
40 Nicola Gatti (JADE HOW-TO) p. 12/33 Infrastruttura di Rete (1) Host pricipale Main Container RMI Registry Directory Facilitator AMS Introspector Agent Sniffer Agent Agenti dello sviluppatore Altri hosts Container Introspector Agent Sniffer Agent Agenti dello sviluppatore
41 Infrastruttura di Rete (2) Nicola Gatti (JADE HOW-TO) p. 13/33
42 Nicola Gatti (JADE HOW-TO) p. 14/33 Due Agenti su Più Hosts Host principale (ngatti.elet.polimi.it): java -classpath "./lib/jade.jar:./lib/jadetools.jar:./lib/base64.jar:./lib/iiop.jar:./" jade.boot -gui -host ngatti.elet.polimi.it r1:nicola.robot1
43 Nicola Gatti (JADE HOW-TO) p. 14/33 Due Agenti su Più Hosts Host principale (ngatti.elet.polimi.it): java -classpath "./lib/jade.jar:./lib/jadetools.jar:./lib/base64.jar:./lib/iiop.jar:./" jade.boot -gui -host ngatti.elet.polimi.it r1:nicola.robot1 Altro host (restelli.elet.polimi.it): java -classpath "./lib/jade.jar:./lib/jadetools.jar:./lib/base64.jar:./lib/iiop.jar:./" jade.boot -host ngatti.elet.polimi.it r2:nicola.robot2 -container
44 Paradigma dell agente Nicola Gatti (JADE HOW-TO) p. 15/33
45 Nicola Gatti (JADE HOW-TO) p. 16/33 La Classe dell Agente (1) Ogni agente estende AGENT.CLASS dal package JADE.CORE public class robot1 extends Agent {... }
46 Nicola Gatti (JADE HOW-TO) p. 16/33 La Classe dell Agente (1) Ogni agente estende AGENT.CLASS dal package JADE.CORE public class robot1 extends Agent {... } Un agente è un thread
47 Nicola Gatti (JADE HOW-TO) p. 16/33 La Classe dell Agente (1) Ogni agente estende AGENT.CLASS dal package JADE.CORE public class robot1 extends Agent {... } Un agente è un thread Registrazione automatica nell AMS
48 Nicola Gatti (JADE HOW-TO) p. 16/33 La Classe dell Agente (1) Ogni agente estende AGENT.CLASS dal package JADE.CORE public class robot1 extends Agent {... } Un agente è un thread Registrazione automatica nell AMS Metodo setup() inizializza l agente
49 Nicola Gatti (JADE HOW-TO) p. 17/33 La Classe dell Agente (2) Registrazione in DF (in setup()) protected void setup() { DFAgentDescription dfd = new DFAgentDescription(); dfd.setname(getaid()); ServiceDescription sd1 = new ServiceDescription(); sd1.settype("pickup"); sd1.setname("r1"); dfd.addservices(sd1);... try { DFService.register(this, dfd); } catch (FIPAException fe) { fe.printstacktrace(); }
50 Nicola Gatti (JADE HOW-TO) p. 18/33 La Classe dell Agente (3) dodelete: ammazza l agente dosuspend: sospende l agente dowait: mette in attesa l agente
51 Nicola Gatti (JADE HOW-TO) p. 19/33 Behaviours Le azioni degli agenti sono definite tramite comportamenti (behaviours) L agente ha una collezione di behaviours che vengono gestiti tramite round-robin dall agente: continua a ruotare il behaviour attivo sospendendo gli altri I behaviours non sono threads (ThreadedBehaviours, sono delle versioni threaderizzate dei behaviors)
52 Nicola Gatti (JADE HOW-TO) p. 19/33 Behaviours Le azioni degli agenti sono definite tramite comportamenti (behaviours) L agente ha una collezione di behaviours che vengono gestiti tramite round-robin dall agente: continua a ruotare il behaviour attivo sospendendo gli altri I behaviours non sono threads (ThreadedBehaviours, sono delle versioni threaderizzate dei behaviors) I behaviours sono implementati come classi che estondono BEHAVIOUR.CLASS Metodo action(): blocco di istruzioni Un agente non può essere sospeso all interno di un blocco action Variabile finished: indica lo stato del behaviour Metodo done(): ritorna lo stato del behaviour
53 Nicola Gatti (JADE HOW-TO) p. 20/33 Tipi di Behaviours Behaviour
54 Nicola Gatti (JADE HOW-TO) p. 20/33 Tipi di Behaviours Behaviour SimpleBehaviour OneShotBehaviour CyclicBehaviour
55 Nicola Gatti (JADE HOW-TO) p. 20/33 Tipi di Behaviours Behaviour SimpleBehaviour OneShotBehaviour CyclicBehaviour CompositeBehaviour FSMBehaviour ParallelBehaviour SequentialBehaviour
56 Nicola Gatti (JADE HOW-TO) p. 21/33 Creazione di un Behaviour Definizione di un behaviour class putdown extends CyclicBehaviour { public putdown(agent a) { super(a); } public void action() {... Aggiunta di un behaviour protected void setup() {... addbehaviour(new putdown(this));...
57 Protocollo di Comunicazione Nicola Gatti (JADE HOW-TO) p. 22/33
58 Nicola Gatti (JADE HOW-TO) p. 23/33 Invio di Messaggi (1) Messaggi FIPA ACL Costruzione del messaggio Atto performativo (INFORM, QUERY-REF, QUERY-IF, etc.) Mittente Ricevente Concenuto Linguaggio Ontologia
59 Nicola Gatti (JADE HOW-TO) p. 23/33 Invio di Messaggi (1) Messaggi FIPA ACL Costruzione del messaggio Atto performativo (INFORM, QUERY-REF, QUERY-IF, etc.) Mittente Ricevente Concenuto Linguaggio Ontologia (inform :sender agent1 :receiver agent2 :content (price good2 150) :language fipa-sl :ontology hpl-auction )
60 Nicola Gatti (JADE HOW-TO) p. 24/33 Invio di Messaggi (2) // lista di agenti AID r = agents[i]; // costruzione del messaggio ACLMessage msg = new ACLMessage(ACLMessage.REQUEST); msg.setsender(getaid()); msg.addreceiver(r); msg.setcontent("putdown BlockB"); // invio del messaggio send(msg);
61 Nicola Gatti (JADE HOW-TO) p. 25/33 Ricezione di Messaggi (1) Ogni agente ha una coda di messaggi
62 Nicola Gatti (JADE HOW-TO) p. 25/33 Ricezione di Messaggi (1) Ogni agente ha una coda di messaggi Generazione di un template di messaggio Atto performativo Mittente ID del messaggio etc.
63 Nicola Gatti (JADE HOW-TO) p. 25/33 Ricezione di Messaggi (1) Ogni agente ha una coda di messaggi Generazione di un template di messaggio Atto performativo Mittente ID del messaggio etc. Comando receive Estrae il primo messaggio dalla coda che corrisponde al template generato
64 Nicola Gatti (JADE HOW-TO) p. 25/33 Ricezione di Messaggi (1) Ogni agente ha una coda di messaggi Generazione di un template di messaggio Atto performativo Mittente ID del messaggio etc. Comando receive Estrae il primo messaggio dalla coda che corrisponde al template generato MessageTemplate m1 = MessageTemplate.MatchPerformative(ACLMessage.INFORM); ACLMessage received = receive(m1);
65 Nicola Gatti (JADE HOW-TO) p. 26/33 Ricezione di Messaggi (2) Problemi L unico modo per accedere alla coda è tramite il receive Una volta che un messaggio è stato estratto viene scartato Se più di un behaviour fa il receive di un certo template, un solo behaviour lo riceve Se nella coda di un agente arriva un messaggio a cui non è interessato, il messaggio rimane nella coda
66 Nicola Gatti (JADE HOW-TO) p. 26/33 Ricezione di Messaggi (2) Problemi L unico modo per accedere alla coda è tramite il receive Una volta che un messaggio è stato estratto viene scartato Se più di un behaviour fa il receive di un certo template, un solo behaviour lo riceve Se nella coda di un agente arriva un messaggio a cui non è interessato, il messaggio rimane nella coda Alcuni problemi vengono risulti tramite l utilizzo dei protocolli di interazione
67 Protocollo di Interazione Nicola Gatti (JADE HOW-TO) p. 27/33
68 Nicola Gatti (JADE HOW-TO) p. 28/33 FIPA Interaction Protocols Protocolli prestabiliti dalla FIPA Query Contract Net Etc.
69 Nicola Gatti (JADE HOW-TO) p. 28/33 FIPA Interaction Protocols Protocolli prestabiliti dalla FIPA Query Contract Net Etc. I protocolli stabiliscono: Ruolo degli agenti Initiator Participant Il tipo di messaggi da scambiare e la fase del protocollo in cui scambiarli
70 Nicola Gatti (JADE HOW-TO) p. 28/33 FIPA Interaction Protocols Protocolli prestabiliti dalla FIPA Query Contract Net Etc. I protocolli stabiliscono: Ruolo degli agenti Initiator Participant Il tipo di messaggi da scambiare e la fase del protocollo in cui scambiarli I protocolli non stabiliscono: La logica con cui attivare il protocollo La logica con cui rispondere ai messaggi
71 Esempi (Sequence Diagrams) Nicola Gatti (JADE HOW-TO) p. 29/33
72 Esempi (Sequence Diagrams) Nicola Gatti (JADE HOW-TO) p. 29/33
73 Nicola Gatti (JADE HOW-TO) p. 30/33 Protocolli in JADE Sono particolari behaviour JADE predispone la struttura di alcuni protocolli extends ContractNetInitiator
74 Nicola Gatti (JADE HOW-TO) p. 30/33 Protocolli in JADE Sono particolari behaviour JADE predispone la struttura di alcuni protocolli extends ContractNetInitiator E necessario operare l overriding di alcuni metodi protected void handlepropose(aclmessage propose, Vector acceptances); protected void handlerefuse(aclmessage refuse); protected void handlenotunderstood(aclmessage notunderstood); protected void handleinform(aclmessage inform); protected void handlefailure(aclmessage failure); protected void handleoutofsequence(aclmessage msg);
75 Nicola Gatti (JADE HOW-TO) p. 30/33 Protocolli in JADE Sono particolari behaviour JADE predispone la struttura di alcuni protocolli extends ContractNetInitiator E necessario operare l overriding di alcuni metodi protected void handlepropose(aclmessage propose, Vector acceptances); protected void handlerefuse(aclmessage refuse); protected void handlenotunderstood(aclmessage notunderstood); protected void handleinform(aclmessage inform); protected void handlefailure(aclmessage failure); protected void handleoutofsequence(aclmessage msg); Il protocollo deve essere aggiunto come un comune behaviour
76 Nicola Gatti (JADE HOW-TO) p. 31/33 Considerazioni sui Protocolli L Initiator è one-shot Il Participant può essere ciclico (macchina a stati finiti)
77 Nicola Gatti (JADE HOW-TO) p. 31/33 Considerazioni sui Protocolli L Initiator è one-shot Il Participant può essere ciclico (macchina a stati finiti) Più protocolli simili possono essere attivi Ogni protocollo ha un ID
78 Nicola Gatti (JADE HOW-TO) p. 31/33 Considerazioni sui Protocolli L Initiator è one-shot Il Participant può essere ciclico (macchina a stati finiti) Più protocolli simili possono essere attivi Ogni protocollo ha un ID L utilizzo dei protocolli rende efficace e sicura l interazione tra agenti concorrenti
79 Considerazioni su JADE Nicola Gatti (JADE HOW-TO) p. 32/33
80 Nicola Gatti (JADE HOW-TO) p. 33/33 Considerazioni Punti a favore JADE è la piattaorma per sistemi multiagente più supportata e sviluppata correntemente JADE è abbastanza stabile La corrente linea di sviluppo è diretta a un maggiore supporto per l intelligenza dell agente
81 Nicola Gatti (JADE HOW-TO) p. 33/33 Considerazioni Punti a favore JADE è la piattaorma per sistemi multiagente più supportata e sviluppata correntemente JADE è abbastanza stabile La corrente linea di sviluppo è diretta a un maggiore supporto per l intelligenza dell agente Punti a sfavore Non tutti i protocolli FIPA sono correntemente implementanti (ad esempio Iterated Contract Net) Non dà certezza di recapito del messaggio In applicazioni data-intensive JADE non è completamente affidabile Non ha alcun supporto di real-time
Introduzione a JADE. Francesco Di Giunta
Introduzione a JADE Francesco Di Giunta SOMMARIO Introduzione Architettura generale di un sistema multiagente (MAS) in JADE Architettura e implementazione di un agente JADE Comunicazione e interazione
DettagliJava Agent DEvelopment Framework. Jade è una piattaforma per la realizzazione di sistemi distribuiti multi-agente
JADE Java Agent DEvelopment Framework Cos è JADE Jade è una piattaforma per la realizzazione di sistemi distribuiti multi-agente E interamente realizzato in Java da Telecom Italia Lab. Può essere scaricato
DettagliModello a scambio di messaggi
Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente
DettagliProcessi, Threads e Agenti
Processi, Threads e Agenti Processi in Sistemi Distribuiti Un sistema software distribuito ècompostodaun insieme di processi in esecuzione su più nodi del sistema. Un algoritmo distribuito può essere definito
DettagliJava Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java
programmi sorgente: files.java compilatore Indipendenza di java dalla macchina ospite Programmi java Programmi java Programmi java files.class bytecode linker/loader bytecode bytecode Java API files.class
DettagliLPR 2005/2006 Lezione 7. paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio
LPR 2005/2006 Lezione 7 paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio PARADIGMA DI INTERAZIONE A DOMANDA/RISPOSTA Paradigma di interazione
DettagliEccezioni e Thread (cenni)
Eccezioni e Thread (cenni) Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni) Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 13 Alberto Ceselli ceselli@dti.unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 7 Maggio 2007 Outline Java e C# 1 Java
DettagliTECN.PROG.SIST.INF. I Socket Roberta Gerboni
2015 - Roberta Gerboni Socket e porte I sistemi operativi multitasking possono fare girare contemporaneamente più processi dove ogni processo può rendere disponibili anche più servizi. Questi devono essere
DettagliProgrammazione a Oggetti Lezione 11. Eccezioni e Packages
Programmazione a Oggetti Lezione 11 Eccezioni e Packages Sommario Eccezioni Sollevamento Cattura Trattamento Packages e visibilità Eccezioni I programmi spesso si trovano ad operare in condizioni anomale:
DettagliInizializzare oggetti
Inizializzare oggetti Uso della Classe Software per TLC - AA 2008/2009 1 Costruttori e polimorfismo Uso della Classe Un codice migliore Software per TLC - AA 2008/2009 2 Costruttori ed Ereditarietà Output:
DettagliProcessi, Threads e Agenti
Processi, Threads e Agenti Processi in Sistemi Distribuiti Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema. Un algoritmo distribuito può essere
DettagliIl Modello a scambio di messaggi
Il Modello a scambio di messaggi 1 Interazione nel modello a scambio di messaggi Se la macchina concorrente e` organizzata secondo il modello a scambio di messaggi: PROCESSO=PROCESSO PESANTE non vi è memoria
DettagliSTUDIO ED IMPLEMENTAZIONE DI UN SISTEMA DI INTERFACCIAMENTO PLUG & PLAY DI DISPOSITIVI AD UNA RETE DI SENSORI
STUDIO ED IMPLEMENTAZIONE DI UN SISTEMA DI INTERFACCIAMENTO PLUG & PLAY DI DISPOSITIVI AD UNA RETE DI SENSORI Valerio PONTE matr. 700017 Relatore: Prof. Fabio A. Schreiber Correlatore: Ing. Romolo Camplani
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 6 (svolta) Java RMI Luca Foschini Anno accademico 2010/2011 Esercitazione 6 1 Specifica: il Client
DettagliChiamata di procedura remota
Con gli strumenti gia` visti, si puo` realizzare come segue: lato chiamante: send asincrona immediatamente seguita da una receive lato chiamato: una receive seguita, al termine dell azione richiesta, da
DettagliEsercizio Sincronizzazione Thread
Esercitazione di oratorio 17/10/2007 Esercizio Il laboratorio di Informatica del Polo Marzotto e utilizzato da tre tipi di utenti, studenti, tesisti e professori ed ogni utente deve fare una richiesta
Dettagli24 - Possibili approfondimenti
24 - Possibili approfondimenti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliLABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Architetture client-server 1 of 12 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server, Pearson Ed.,
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliDecima Esercitazione. Accesso a risorse condivise tramite Monitor Java
Decima Esercitazione Accesso a risorse condivise tramite Monitor Java 1 Agenda Esempio 1 La banca: gestione di una risorsa condivisa da più thread, con politica prioritaria Esercizio 2 da svolgere Accesso
DettagliINTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE
00-PRIME PAGINE 2-07-2003 10:04 Pagina V Indice Prefazione XI PARTE PRIMA INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 1 Capitolo 1 Le ragioni di tanto interesse 3 1.1 Enterprise in J2EE 3 Definizione
DettagliIntroduzione a Java Server Pages (JSP) (estratto) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi
Introduzione a Java Server Pages (JSP) (estratto) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi 1 JSP (Java Server Pages) È la tecnologia Java per lo sviluppo di applicazioni
DettagliIntroduzione Sistemi ad agenti 1
Introduzione Sistemi ad agenti 1 1 Introduzione 6 1.1 Sistemi ad agenti 6 1.2 Problemi di sicurezza 7 2 FIPA 9 2.1 Modello di riferimento 9 2.1.1 Agent 10 2.1.2 Directory Facilitator (DF) 12 2.1.3 Agent
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 7 (svolta) Java RMI e Riferimenti Remoti Un RMI Registry Remoto Luca Foschini Anno accademico 2018/2019
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per
DettagliModelli di interazione tra processi
Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema
DettagliDecima Esercitazione. Accesso a risorse condivise tramite Monitor Java
Decima Esercitazione Accesso a risorse condivise tramite Monitor Java 1 Agenda Esempio 1 La banca: gestione di una risorsa condivisa da più thread, con politica prioritaria Esercizio 2 da svolgere Accesso
DettagliEsercitazione 3 Programmazione Concorrente nel linguaggio go. 13 Novembre 2017
Esercitazione 3 Programmazione Concorrente nel linguaggio go 13 Novembre 2017 1 Concorrenza in go 2 creazione goroutine Sintassi : Esempio go func IsReady(what string, minutes int64)
DettagliI.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci
I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE Disciplina: Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione Cognome e Nome:
DettagliEsercizi su Java RMI. Progetto di Cliente / Servitore e supporto. Possibile tabella mantenuta dal server
Esercizi su Java RMI Progetto di Cliente / Servitore e supporto Un progetto RMI si deve basare sempre sulla interfaccia remota e sulle classi del cliente e del servitore più su alcune classi di supporto
DettagliArchitetture Applicative Altri Esempi
Architetture Applicative Altri Esempi Alessandro Martinelli alessandro.martinelli@unipv.it 15 Aprile 2014 Architetture Applicative Altri Esempi di Architetture Applicative Architetture con più Applicazioni
DettagliDomain Specific Language per l Ingegneria dei Sistemi Distribuiti
Artificial Intelligence Laboratory Domain Specific Language per l Ingegneria dei Sistemi Distribuiti Prof. Federico Bergenti federico.bergenti@unipr.it Domain-Specific Language I Domain Specific Language
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni
DettagliJava Remote Method Invocation
Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino
DettagliAgent#: un linguaggio di programmazione per lo sviluppo di agenti su piattaforma.net
Agent#: un linguaggio di agenti su piattaforma.net A. Boccalatte, C. Vecchiola, M. Coccoli (speaker: Alberto Grosso) l.i.d.o. - DIST- Università di Genova Sommario Tecnologia ad Agenti Un linguaggio orientato
DettagliProva d Esame Compito A
DOMANDA1 Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { protected int value; public static boolean flag = false; public General() { value = 1; public
DettagliLinguaggi Object Oriented: Principi e Introduzione a Java
Linguaggi Object Oriented: Principi e Introduzione a Java Sommario: 13 Aprile, 2015 Linguaggi OO: Rilevanza e Note Storiche Principi dei Linguaggi OO. Struttura dei programmi: Classi e Oggetti in Java
DettagliProgrammazione Concorrente e Distribuita
Programmazione Concorrente e Distribuita Esame scritto del 29 Giugno 2012 Versione I Esercizio 1 ( punti) 1 class Mammal { 2 S t r i n g name = f u r r y ; 3 S t r i n g makenoise ( ) { return g e n e
DettagliProgettazione del Software
Progettazione del Software Programmazione in Java (3) Le eccezioni Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di R o m a Anno
DettagliProgettazione e Realizzazione di una Library per Agenti Context-Aware
UNIVERSITÀ DEGLI STUDI DI PARMA Dipartimento di Matematica e Informatica Corso di Laurea in Informatica Progettazione e Realizzazione di una Library per Agenti Context-Aware Design and Implementation of
DettagliSistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi
Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione
DettagliCorso di Reti di Calcolatori LA
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori LA RMI: callback Silvia Vecchi Anno accademico 2003/2004 RMI: Callback 1 Callback (1) Molte applicazioni richiedono
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliUML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009
UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata
DettagliEsercizi su UDP. Esercitazione di Laboratorio di Programmazione di Rete A. Daniele Sgandurra 22/10/2008. Università di Pisa
Esercizi su UDP Esercitazione di Laboratorio di Programmazione di Rete A Daniele Sgandurra Università di Pisa 22/10/2008 Un Tipico Client UDP Un client UDP invia datagrammi ad un server in attesa di essere
Dettagli7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:
7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)
DettagliSMS Gateway - Specifiche WS. Specifica Tecnica
Specifica Tecnica Revisione Data Elaborato da Verificato da Note 1 21/02/13 Stefano Peruzzi Gianni Antini Mod. ST-rev002_2013-02-21 Pag. 1/11 Indice 1 Oggetto...3 2 Scopo del documento...3 3 Riferimenti...3
DettagliLivello di trasporto:
Livello di : Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material copyright 1996-2007 J.F Kurose and
DettagliCLASS DIAGRAM PARTE 1
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory CLASS DIAGRAM PARTE 1 UML The Unified Modeling Language Guglielmo De Angelis guglielmo.deangelis@isti.cnr.it
DettagliI container della STL: all interno di
I container della STL: all interno di std::vector Valentino Picotti 27 maggio 2015 1 Introduzione 2 Standard Template Library Template Container e algoritmi standard Iteratori 3 Case study: std::vector
DettagliAlcuni diagrammi. OCL (Object Constraint Language)
UML e Java UML Alcune discipline ingegneristiche dispongono di validi mezzi di rappresentazione (schemi, diagrammi di prestazioni e consumi,...) Il software non dispone ancora di tecniche efficaci per
DettagliSistemi Operativi. Processi e thread
Sistemi Operativi Processi e thread A.A. 2018-2019 Processi (e thread) Modello concettuale Creazione di processi 1. System initialization 2. Execution of a process-creation system call by a running process
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliUNIVERSITÀ POLITECNICA DELLE MARCHE
UNIVERSITÀ POLITECNICA DELLE MARCHE Facoltà di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Progetto di un sistema di videosorveglianza basato su tecnologie multi-agente Relatore: Prof.
DettagliOrganizzazione della lezione. Lezione 18 Remote Method Invocation - 6. (con callback) L accesso al registry per il rebind()
Organizzazione della lezione Lezione 18 Remote Method Invocation - 6 Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di Salerno
DettagliCorso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging
Corso di programmazione di sistemi mobile 1 Android Google Cloud Messaging Corso di programmazione di sistemi mobile 2 Cos è Il Google Cloud Messaging o GCM è un servizio di Google che permette di inviare
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e Polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
DettagliL infrastruttura STIL. Presentazione dei risultati finali del progetto Alessandro Ricci Università di Bologna DEIS Bologna / Cesena
L infrastruttura STIL Presentazione dei risultati finali del progetto Alessandro Ricci Università di Bologna DEIS Bologna / Cesena Ruolo Infrastruttura ICT Fornire modelli, architetture e tecnologie informatiche
DettagliReti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 3
Reti di Calcolatori Sommario Software di rete Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) Livello Trasporto (TCP) I protocolli di trasporto sono eseguiti
DettagliModelli di interazione tra processi
Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema
DettagliPrefazione. Capitolo 1 Sistemi di elaborazione 1
Prefazione XI Capitolo 1 Sistemi di elaborazione 1 1.1 Algoritmo 1 1.2 Esecuzione 3 1.3 Memoria 4 1.4 Calcolo meccanico 5 1.5 Capacità di calcolo 7 1.6 Computer 8 Domande di verifica 11 Esercizi 11 Capitolo
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 1 (proposta) Socket Java senza connessione Luca Foschini Anno accademico 2016/2017 Esercitazione 1 1
DettagliProgrammazione Concorrente e Distribuita
Programmazione Concorrente e Distribuita Esame scritto del 22 Marzo 2012 Versione K Esercizio 1 (5 punti) Si consideri il codice seguente. 1 public c l a s s Redwood extends Tree { 2 public s t a t i c
DettagliJAM: Java Agent Middleware
JAM: Java Agent Middleware Progetto di Laboratorio per il corso di Programmazione in Rete e Laboratorio Anno Accademico 2003/2004 Matteo Baldoni Attenzione! Questo documento non è definitivo ma sarà aggiornato
DettagliIntroduzione ai. Sistemi Distribuiti
Introduzione ai Sistemi Distribuiti Definizione di Sistema Distribuito (1) Un sistema distribuito è: Una collezione di computer indipendenti che appaiono agli utente come un sistema singolo coerente. 1
DettagliI SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
Dettagliinteroperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,
DettagliPython Start. Docente: M. Chiara Debernardi. Lingua del corso. Descrizione del corso e obiettivi. Destinatari. Italiano
Python Start Docente: M. Chiara Debernardi Lingua del corso Italiano Descrizione del corso e obiettivi Il corso mira a far conoscere i fondamenti di Python i cui ambiti di utilizzo sono molteplici: intelligenza
DettagliDocenti Prof.ssa Biagini Barbara Prof. Sollitto Carlo INDIRIZZO DI STUDI SISTEMI INFORMATIVI AZIENDALI
IIS ARGENTIA GORGONZOLA Programma svolto a.s.2016/17 Materia INFORMATICA Classe IV BSIA Docenti Prof.ssa Biagini Barbara Prof. Sollitto Carlo INDIRIZZO DI STUDI SISTEMI INFORMATIVI AZIENDALI Prerequisiti:
DettagliCorso Programmazione Java Standard
Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliFONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Prof. Zambonelli, Ing. Cabri, Ing. Denti, Ing. Andrea Aime Zambonelli,
DettagliCORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION
CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
DettagliRealizzazione di un sistema a supporto del testing automatico di Rich Internet Applications
tesi di laurea Realizzazione di un sistema a supporto del testing automatico di Rich Anno Accademico 2007/2008 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo ing. Domenico Amalfitano candidato
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliCosa è importante: pom.xml Goal Plug-in Repository
Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml
DettagliUniversità Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1
Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò
DettagliMicaela Caserza Magro Università degli Studi di Genova
Micaela Caserza Magro Università degli Studi di Genova La SAFETY è la protezione contro i malfunzionamenti di componenti e sistemi in un impianto E necessario considerare i rischi in modo globale in modo
DettagliIntroduzione al multithreading
Introduzione al multithreading Il Multithreading consiste nella possibilità di scomporre le attività di elaborazione di un programma applicativo in più parti, dette Thread, in modo che esse possano essere
DettagliMPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994
MPI e' acronimo di Message Passing Interface Rigorosamente MPI non è una libreria ma uno standard per gli sviluppatori e gli utenti, che dovrebbe essere seguito da una libreria per lo scambio di messaggi
DettagliIl Modello a scambio di messaggi
Il Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto typedef struct{ origine; destinazione; contenuto;
DettagliMultithreading in Java I parte. Lorenzo Gallucci
Multithreading in Java I parte Lorenzo Gallucci Java: un linguaggio ed un sistema predisposti per il multitasking È possibile creare e gestire Thread nativamente (senza dover ricorrere a librerie esterne)
DettagliLOAD BALANCING PER SERVIZI DI
LOAD BALANCING PER SERVIZI DI PRESENZA Carella Giuseppe Antonio Matricola 0000348431 Docente: Prof. Ing. Antonio Corradi Relatore: Ing. Luca Nardelli Attività progettuale di Reti di Calcolatori M Anno
DettagliComunicazione tra agenti. Sistemi distribuiti LS Prof. Andrea Omicini A.A
Comunicazione tra agenti Sistemi distribuiti LS Prof. Andrea Omicini A.A. 2003-2004 1 Intelligenza e comunicazione Gli agenti non sono onnipotenti nè onniscenti la loro conoscenza, intelligenza e capacità
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliSommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10
SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare
DettagliProgrammazione Concorrente e Distribuita
Programmazione Concorrente e Distribuita Esame scritto del 27 Agosto 2012 Versione AA Esercizio 1 (5 punti) 1 class A{ 2 S t r i n g s ; 3 4 A( S t r i n g s ){ 5 this. s = s ; 6 System. out. p r i n t
Dettagli