Course Syllabus
Obiettivi
I sistemi multiagenti sono un paradigma architetturale per modellare sistemi complessi dove entità autonome e collaborative interagiscono per risolvere problemi o svolgere attività.
Questo corso di dottorato presenta questo paradigma sia dal punto di vista del design di un sistema che da quello della successiva implementazione: il target del corso è uno studente di dottorato interessato ad imparare un nuovo paradigma (e relativa possibile implementazione) per la gestione di un qualsivoglia sistema complesso in cui entità distribuite (logicamente ed eventualmente anche fisicamente) debbano collaborare per affrontare un problema complesso. Infatti questo tipo di approccio non è legato al problema stesso, ma è trasversale a moltissimi ambiti e si focalizza sulla creazione delle entità e della loro interazione, a prescindere dal task specifico che esse andranno poi a svolgere.
Il corso quindi è adatto a studenti che dovranno affrontare nei loro studi, o in generale nella loro vita lavorativa, sistemi complessi di vario genere (non necessariamente legati all'ambito dell'intellienza artificiale).
Nel corso verranno presentate le principali caratteristiche di un sistema distribuito e complesso che potrebbe beneficiare di una soluzione ad agenti: il principale scopo del corso è infatti quello di insegnare agli studenti non solo il paradigma ad agenti di per sè, ma proprio di aiutare a sviluppare la "forma mentis" necessaria a modellare sistemi complessi con una soluzione ad agenti. Gli studenti a fine corso saranno quindi portati, di fronte alla necessità di sviluppare un sistema complesso per risolvere un certo problema, a valutare una possibile soluzione ad agenti, valutandone i pro e i contro, avendo le competenze sia per modellare il sistema che per implementarlo.
Il secondo scopo del corso è infatti fornire anche le conoscenze e competenze tecniche per implementare la soluzione scelta, presentando le due principali piattaforme di sviluppo per MAS (JADE e Jason, con la piattafroma JaCaMo). Esempi di mas reali, e sessioni di programmazione con gli insegnati, forniranno esempi e competenze tecniche.
Docenti: dott. Briola Daniela (University of Milan Bicocca) (10 ore), Prof. Rafael Bordini (Pontificia Universidade
Catolica do
Rio Grande do Sul, Porto Alegre/RS
- Brazil) (5 ore) and prof. Viviana Mascardi (University of Genoa, Italy) (5 ore).
Contenuti sintetici
Obiettivi formativi:
• Modella un sistema complesso come un MAS: principali approcci, problemi e soluzioni (anche con il supporto di esempi reali) --> acquisizione della capacità di “pensare e modellare un sistema come MAS”
• Principali aspetti di modellazione di ontologie OWL, e implementazione con Protegè
• BDI paradigm (principali aspetti)
•
JASON, aspetti principali (con esercitazioni pratiche)
• A&A paradigm
• La piattaforma JaCaMo
•
JADE aspetti principali e features avanzate (con esercitazioni pratiche)
• Estensioni di JADE:
- OntologyBeanGenerator
- Trasformazione di Jade in una piattaforma p2p
- Interfacciare JADE con i WebServices
Sia Jade che Jason/JaCaMo saranno presentati anche attraverso esercitazioni pratiche, che gli studenti dovranno seguire e riprodurre sui loro pc.
Programma esteso
Introduzione ai sistemi ad agenti (4 ore):
- Cos'è un sistema multiagente (MAS)?
- Aspetti caratteristici di un MAS
- Quando una soluzione ad agenti può essere ottimale?
- Sistemi multiagenti e simulazioni di sistemi complessi con MAS
- Overview delle principali piattaforme di sviluppo
- Cos'è un'ontologia?
- Come vengono usate nei MAS?
- Design e sviluppo di una ontologia OWL (utilizzando Protegè)
- Alcune esempio di MAS reali (sviluppati in JADE)
Jason (5 ore):
- Introduzione al paradigma BDI e alla "speech act theory" (1h)
- Introduzione a Jason (1h)
- Laboratorio sulle caratteristiche principali di un agente: la "belief base" e il meccanismo di ragionamento logico di un agente Jason
- Laboratorio sulle caratteristiche sociali di un agente: comunicazione in Jason (1h)
- Laboratorio sulla "situatedness": l'ambiente in Jason (1h)
- Introduzione a CArtAgO (1/2 hour)
- Introduzione a Moise (1/2 hour)
- Panoramica della piattafroma JaCaMo (1 hour)
- Esempi di sistemi JaCaMo (1 hour)
- Sessione pratica con esercizi sullo svilupo di MAS con JaCaMo:
- Sistema di voto (1 hour)
- Ontologie (1 hour)
JADE (6 ore):
- La piattaforma JADE:
- Piattaforme e containers
- Agent life cycle
- Behaviours
- Scheduling
- DF e AMS
- Scambio di messaggi
- WebServices e agenti
- Integrazione di ontologie in JADE: OntologyBeanGenerator 5
- Trasfromare Jade in una piattaforma p2p
Prerequisiti
- Conoscenze di base di uno studente di CS
- Sia Jason che Jade sono sviluppati in Java, quindi una conoscenza del linguaggio facilita il seguire e svolgere le parti pratiche. Eventualmente in mancanza, si può comunque seguire il corso, e poi accordarsi col docente per un esame mirato più sulla parte di design
- Se tutti gli studenti conoscessero le ontologie, si può saltare quella parte di corso ed integrarla con altri aspetti, passando subito alla parte implementativa (da valutare con gli studenti)
Modalità didattica
Lezioni teoriche e sessioni pratiche (svolte in aula con gli studenti che utilizzano i loro pc, oppure in laboratorio in caso di necessità degli studenti), seguendo quanto svolto dal docente
Materiale didattico
- Jade Book (Developing Multi-agent Systems with JADE)
- Protegè 3.5
- OntoloyBeanGenerator
- JADE
http://jacamo.sourceforge.net/eclipseplugin/tutorial/
There are other ways to use JaCaMo that does not require Eclipse:
http://jacamo.sourceforge.net/doc/install.html
Periodo di erogazione dell'insegnamento
- 23/1: 14:00 - 16:00, Sala Seminari, Daniela Briola
- 28/1: 14:00 - 17:00, Sala Riunioni primo piano, Viviana Mascardi
- 29/1: 9:30 - 11:30 U14, T023, Viviana Mascardi
- 4/2: 14:00 - 17:00, Sala Riunioni primo piano, Rafael Bordini
- 5/2: 9:30 - 11:30, Sala Riunioni primo piano, Rafael Bordini
-11/02: 13:30 - 15:30, Sala Riunioni primo piano, Daniela Briola
-12/02: 10:00 - 12:00, Sala Riunioni primo piano, Daniela Briola
-13/02: 10:00 - 12:00, Sala Riunioni primo piano, Daniela Briola
Modalità di verifica del profitto e valutazione
Valutando con ogni studente, sono possibili due versioni di esame:
- design dettagliato e formale, dove possibile, di un MAS partendo dalla descrizione ad alto livello in linguaggio naturale di un sistema complesso
- implementazione di un MAS, in JADE o JASON, partendo da un design già fornito
Orario di ricevimento
Su appuntamento: daniela.briola@unimib.it
Aims
Multiagent systems are a general purpose paradigm to design distributed systems, where autonomous entities collaborate to solve complex problems.
This phd course aims at presenting the MAS paradigm from both a design and implementation point of view: the foreseen audience is a student interested in learning a paradigm for modelling a complex system, where distributed (physically but above all logically) entities/components need to cooperate to solve a problem. These kind of systems may be adopted to solve very different types of problems, so the course may help in facing complex systems in very different research areas, and is not tailored for AI students only.
The main aspects that characterize the
distributed systems that may benefit of a MAS architectural solution will be
presented: the first aim of the course is to let the students begin thinking
“how a MAS solution could help in this situation? How could I model it? Which
platform could I use?”. This skill may help in any situation where a complex system need to be modeled.
Second, we will focus on the two main MAS platforms, JADE and JASON (with the JaCaMo platform), with real MASs example and practical teaching sessions.
Teachers: dott. Briola Daniela (University of Milan Bicocca) (5hrs), Prof. Rafael Bordini (Pontificia Universidade
Catolica do
Rio Grande do Sul, Porto Alegre/RS
- Brazil)(5 hrs) and prof. Viviana Mascardi (University of Genoa, Italy)(5 hrs)
Contents
Educational goals:
• Modeling a complex system as a MAS: main approaches, problems and solutions (with real examples presented) --> “designing a MAS” skill
• Main aspects of designing an OWL
ontology, and implementation with Protegè
• BDI paradigm (main features)
• JASON modelling and programming skills, basic features
• A&A paradigm
•
The JaCaMo platform (including Moise and Cartago)
• JADE modelling and programming skills, basic and advances aspects
• JADE extensions:
• OntologyBeanGenerator (to integrate OWL ontologies)
• JADE as a P2P platform (LEARN platform)
• Interfaces with WebServices and other languages
Both JADE and JaCaMo will be presented with practical lesson, where students will reproduce on their laptop, programming, the "tutorial" done by the teachers.
Detailed program
Introduction to MultiAgent systems (4hrs):
- What is a Multiagent system (MAS)?
- Specific aspects of MAS
- When a MAS can be a good solution?
- MAS and Simulation with MASs
- Platforms overview
- What is an ontology?
- How they are used in MASs
- Developping an ontology (Protegè)
- Some example of real MASs, developped in JADE.
Jason (5hrs):
- Introduction to BDI agents and to the speech act theory (1h)
- Introduction to Jason (1h)
- Lab on "strong" agenthood: the agent's belief base and the logic-based reasoning mechanism it supports (1h)
- Lab on social ability: communication in Jason (1h)
- Lab on situatedness: environment in Jason (1h)
- An introduction to CArtAgO (1/2 hour)
- An introduction to Moise (1/2 hour)
- An overview of the JaCaMo platform (1 hour)
- Examples of JaCaMo systems (1 hour)
- Practical session with exercises on JaCaMo development:
- Voting system (1 hour)
- Ontologies (1 hour)
JADE (6hrs):
- The JADE platform:
- Platforms and containers
- Agent life cycle
- Behaviours
- Scheduling
- DF and AMS
- Message Exchange
- WebServices and Agents
- Exploiting ontologies in JADE: OntologyBeanGenerator 5
- Turning Jade into a p2p platform
Prerequisites
- A basic background common to computer scientists
- JAVA is the language of both the platforms, so a basic knowledge of it (or of a similar OO language) is required to let the students fully exploit the practical sessions: nevertheless, it is not a strict requisite
- Knowledge of ontologies would avoid the part of the course regarding them, and we could move directly to the JADE integration and some more examples. To be defined with the students with the students
Teaching form
Teoric lessons and practical sessions (done by the students on their
laptop, or in a lab if needed) following in real time the demo presented
by the teachers)
Textbook and teaching resource
- Jade Book (Developing Multi-agent Systems with JADE)
- Protegè 3.5
- OntoloyBeanGenerator
- JADE
http://jacamo.sourceforge.net/eclipseplugin/tutorial/
There are other ways to use JaCaMo that does not require Eclipse:
http://jacamo.sourceforge.net/doc/install.html
Semester
- 23/1: 14:00 - 16:00, Sala Seminari, Daniela Briola
- 28/1: 14:00 - 17:00, Sala Riunioni primo piano, Viviana Mascardi
- 29/1: 9:30 - 11:30 U14, T023, Viviana Mascardi
- 4/2: 14:00 - 17:00, Sala Riunioni primo piano, Rafael Bordini
- 5/2: 9:30 - 11:30, Sala Riunioni primo piano, Rafael Bordini
-11/02: 13:30 - 15:30, Sala Riunioni primo piano, Daniela Briola
-12/02: 10:00 - 12:00, Sala Riunioni primo piano, Daniela Briola
-13/02: 10:00 - 12:00, Sala Riunioni primo piano, Daniela Briola
Assessment method
Students will be asked to perform one of two different assessment (to be decided with each students):
- producing a detailed (and formal, where possible) design of a MAS, starting from a natural language description of a complex problem
- producing a running MAS (in JADE or JaCaMo) starting from an already prepared design of a MAS
Office hours
On appointment: daniela.briola@unimib.it