LuCe (Logic Tuple Centres)



Documenti analoghi
Luce+TuCSon. Andrea Vallorani Oliviero Riganelli

Architetture software

Ambient-Aware LIfeStyle tutor, Aiming at a BETter Health

Introduzione alle applicazioni di rete

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

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

Sistema multiagente replicato per la gestione di feed RSS

ARP e instradamento IP

Reti di Telecomunicazione Lezione 6

Sistemi informativi secondo prospettive combinate

Approccio stratificato

ITIL. Introduzione. Mariosa Pietro

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Protezione. Protezione. Protezione. Obiettivi della protezione

Reti di Telecomunicazione Lezione 8

Architetture e applicazioni web

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Architettura di un sistema operativo

Progettare un Firewall

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE

La Metodologia adottata nel Corso

TeamPortal. Servizi integrati con ambienti Gestionali

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Contesto: Peer to Peer

Laboratorio di reti Relazione N 5 Gruppo 9. Vettorato Mattia Mesin Alberto

Database e reti. Piero Gallo Pasquale Sirsi

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Introduzione all Information Retrieval

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Protocolli di Comunicazione

Programmazione dei socket con TCP #2

Cenni di programmazione distribuita in C++ Mauro Piccolo

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Il Modello Relazionale

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

Distributed Object Computing

GammaApp. & Euro09 Evolution

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Una metodologia per la specifica di software basato su componenti

Training sulle soluzioni SAP BusinessObjects BI4

POLITICA DI COESIONE

Architetture software

SDD System design document

Modelli e Sistemi di Elaborazione Peer-to-Peer

Corso di recupero di sistemi Lezione 8

DATABASE. A cura di Massimiliano Buschi

Organizzazione degli archivi

Fasi di creazione di un programma

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Crowdfunding per le Aziende: il segreto è sapersi raccontare

Inizializzazione degli Host. BOOTP e DHCP

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

DATABASE RELAZIONALI

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Strumenti di modellazione. Gabriella Trucco

Addition X DataNet S.r.l.

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

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

Agent, porte, connettività e reti L agent di Kaseya utilizza la porta 5721 per comunicare con il server, ma che tipo di porta è?...

Dematerializzare per Semplificare

Scenario di Progettazione

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

MANUALE DELLA QUALITÀ Pag. 1 di 6

Il Modello Relazionale

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

VMware. Gestione dello shutdown con UPS MetaSystem

SISTEMI OPERATIVI DISTRIBUITI

Componenti Web: client-side e server-side

Ata_NiAg02. Modulo Gestione Agenti

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

I database relazionali (Access)

T42 Tunnel For Two Secure SSL InterApplication Relay Clizio Merli - 4u Srl S.r.l.

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Progetto di Applicazioni Software

POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1

ARP (Address Resolution Protocol)

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Coordinazione Distribuita

Syllabus C310 - Insegnamenti disciplinari

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

La Gestione delle risorse Renato Agati

Il Sistema Operativo

Il web server Apache Lezione n. 3. Introduzione

I modelli normativi. I modelli per l eccellenza. I modelli di gestione per la qualità. ! I modelli normativi. ! I modelli per l eccellenza

Seminario di Sistemi Distribuiti RPC su SOAP

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Schema di analisi del contesto per i case study. Dicembre 2007 TEST-BED

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

C Cloud computing Cloud storage. Prof. Maurizio Naldi

Coordination as a Service (CaaS) in the Cloud

Transcript:

LuCe (Logic Tuple Centres) Oliviero Riganelli Andrea Vallorani

LuCe è un modello per la coordinazione degli agenti Internet. sfrutta la nozione di logic tuple-based based, spazio di interazione per gli agenti internet(tuple Centre). LuCe coordination model fornisce una network-trasparency : gli agenti percepiscono lo spazio di interazione in LuCe come un spazio globale composto da un mezzo di coordinazione identificato da un global name.

Coordination La coordinazione è più di una semplice comunicazione o interoperabilità tra componenti. I sistemi classici di comunicazione e sincronizzazione (es. client-server server) ) sono considerati deboli non riescono a separare la dimensione dell interazione da quella della computazione.

Coordination LuCe system consiste in una collezione di entità di coordinazione (agenti) con capacità computazionali indipendenti. Le loro interazioni determinano il comportamento dell'intero sistema. Logic Tuple Centres supporta la divisione tra computazione e coordinazione.

LP & MAS (1) LuCe adotta il logic tuple centre,, il quale permette di poter sfruttare LP. LP fornisce - un linguaggio per lo sviluppo di un singolo agente (linguaggio di computazione) - un linguaggio per la comunicazione tra agenti (linguaggio di comunicazione)

LP & MAS (2) Inoltre LP consente di - costruire comportamenti sociali, dichiarando le leggi per la coordinazione delle società degli agenti - abilitare gli agenti a ragionare sullo stato dello spazio di interazione, con la possibilità di ridefinire le leggi di coordinazione in base alle social tasks

Prolog & Java Adotta Prolog per la coordinazione tra agenti: - tuple -> Prolog ground fact - tuple-template template -> Prolog clause - tuple matching è l unificazione delle precedenti. - Tuple-Centre -> Prolog ground term Integrazione tra Prolog e Java.

Logic Tuple Space Il vantaggio nell'utilizzo di un tuple space è quello di avere una coordinazione basata sulle informazioni: gli agenti cooperano e si sincronizzano tramite le informazioni condivise nel dataspace. Gli agenti percepiscono il Tuple-Centre come un logic tuple space, al quale si può accedere tramite le tipiche operazioni di Linda: out, in, rd, inp, rdp.

Dal Tuple Space al Tuple Centre Con il tuple space non si possono implementare direttamente politiche di coordinazione gli agenti non si possono astrarre dai dettagli della coordinazione in quanto devono avere coscienza delle policy di coordinazione. non si ottiene più separazione tra computazione e coordinazione in quanto i due aspetti si fondono insieme a partire dalla progettazione dell'agente.

Dal Tuple Space al Tuple Centre Il Tuple Centre oltrepassa questi ostacoli scindendo la rappresentazione delle informazioni dalla loro percezione da parte degli agenti. In questo modo è possibile astrarre le entità al livello desiderato.

Tuple Centre(1) Si comporta come un canale di comunicazione che può essere definito a seconda dei bisogni dell applicazione. Reagisce con specifiche azioni agli accessi eseguiti dagli agenti Ogni LuCe Tuple Centre è identificato da un global name La chiara distinzione tra coordinatori (tuple( tuple- centres) ) e coordinati (agenti) permette al MAS di essere configurato dinamicamente.

Tuple Centre(2) Sia gli sviluppatori che gli agenti intelligenti possono cambiare i social behaviour di un MAS. un tuple-centre è un mezzo di coordinazione che tiene traccia sia dello stato di comunicazione degli agenti sia delle regole di coordinazione degli agenti espresse in termini di linguaggio ReSpect.

(a) Tuple space rd(philo(me,c1,c2)); while (true) { /* main cycle */ think (); /* acquisition */ in(chop(c1)); in(chop(c2)); eat(); /* release */ out(chop(c1)); out(chop(c2)); } (b) Tuple space (deadlock-free) rd(philo(me,c1,c2)); while (true) { /* main cycle */ think (); /* acquisition */ icaneat=false; while (!icaneat) { in(token); if (inp(chop(c1))) if (!inp(chop(c2))) out(chop(c1)); else icaneat=true; out(token); } eat(); /* release */ in(token); out(chop(c1)); out(chop(c2)); out(token); } (c) Tuple centre rd(philo(me,c1,c2)); while (true) { /* main cycle */ think (); /* acquisition */ in(chops(c1,c2)); eat(); /* release */ out(chops(c1,c2)); }

Performance

Reactions(1) Un tuple centre ha esattamente la stessa interfaccia di un tuple space standard ma agisce in maniera diversa in quanto le interazioni sono governate dalle regole di coordinazione contenute al suo interno. Ogni evento di comunicazione può essere costituito da una molteplicità o collezione di attività specifiche che prendono il nome di reactions.

Reactions (2) Una reaction o reazione è definita come un insieme di operazioni non sospensive con una semantica transazionale di tipo success/failure failure. Una success reaction può andare a modificare lo stato delle tuple,, una failed reaction non produce invece effetti. Ogni reazione può liberamente accedere alle informazioni del tuple-centre e modificarle. La programmazione delle reaction richiede la definizione di un appropriato linguaggio di specifica. Il linguaggio usato è il Respect.

LuCe System (1) Fornisce due livelli di astrazione: NTL (network trasparency layer) ) : abilita l astrazione dei nodi di rete, nascondendo la locazione fisica dei tuple centres nella network si occupa del routing dei messaggi tra i nodi CTL (coordination( trasparency layer): Opera in un singolo nodo della rete permette l astrazione delle comunicazioni locali in particolare comunica con il local tuple centre

LuCe System (2) L architettura si distingue per due tipi di comunicazione: Intra-node node(udp): tra demoni e agenti locali(anche tra main demon e TCH) Inter-node node(tcp): solo interazione tra demoni

Architettura di rete NODO A NODO B P1 P2 Pn P1 P2 Pn UDP UDP Main Demon TCP Demon UDP Tuple Centre Handle

TCH architettura(1) Il Tuple Centre Handler,, gestisce le risorse del Tuple Centre,, supportando il reaction model È realizzata tenendo conto delle seguenti specifiche di progettazione(query query/answer): Insertion constraint,, ad un operazione out(t) la tupla t deve sempre essere aggiunta al tuple space Query constraint,, le richieste in(t), rd(t), inp(t), rdp(t) devono essere sempre accodate. Reaction constraint,, il TCH deve prima servire ogni evento di comunicazione ed immediatamente eseguire tutte le reazione ad esso associate

TCH architettura(2) Il TCH è costruito intorno al main loop get_request/serve_request serve_request While (true) { get_request(r), serve_request(r), serve_reactions() } R: incoming operation request

Daemon È un proxy ad-hoc presente in ogni nodo I daemon si occupano dei problemi relativi al tuple centre naming Essi devono conoscere in quale host si trova un determinato tuple-centre ( tc?out(p) ) I demoni devono mantenere una tuple centre allocation table,, specificando per ogni nodo i tuple centres presenti

Conclusioni LuCe mostra un architettura flessibile, adatta per il supporto di sistemi multi-agent eterogenei. LuCe run-time Kernel concepisce tutti gli eventi di comunicazione visibili,

FINE