Date post: | 13-Jun-2015 |
Category: |
Documents |
Upload: | guestb70ba |
View: | 515 times |
Download: | 3 times |
Tesina di Ingegneria del Software 2
Agent AUML e sua modellizzazione di Sistemi
Multi Agente
di Elisa BenettiAA 2007/2008
Avvento del paradigma ad Agenti
Approccio top-down: Sistemi software analizzati e progettati attraverso il paradigma ad agenti
Approccio bottom-up: Partendo da linguaggi di programmazione esistenti, li si estende utilizzando il paradigma ad agenti
Agente: Caratteristiche
Autonomia: dinamica (proattività: capacità di dire 'go'), deterministica (capacità di dire 'no')
Abilità a comunicareCapacità di cooperazioneCapacità di ragionamentoCapacità di adattamentoSinceritàAgire sempre per il bene del suo proprietario
Agente: Tipologie
Collaborative Agents (no apprendimento)Interface Agents (no comunicazione altri agenti)Mobile AgentsInformation/Internet AgentsReactive Agents (no proattività)Hybryd AgentsSmart Agents (agenti intelligenti dotati di
autonomia, collaborazione ed apprendimento)
Agenti: Ambienti
Proprietà degli ambienti in cui lavorano:
accessibilità/non accessibilitàdeterminismo/non determinismoepisodicità/non episodicitàstaticità/dinamicitàdiscreto/continuo
Sistemi Multi Agente (MAS)
Organizzazione di un MAS
Organizzazione verticale:Tra due agenti, uno è sempre identificabile come master e l' altro come slave.In questa configurazione il master assegna i compiti allo slave ed utilizza i risultati di quest' ultimo.
Organizzazione orizzontale:Ogni agente può essere sia master che slave.
MAS: Modelli Fisici
BlackboardContract-NetCentralized Multiagent PlanningDeductive Belief ModelBody-Head-MouthChoirMolecolare
Strategie di coordinamento e negoziazione (1/6)
Pianificazione Multi-agente:
Strategie di coordinamento e negoziazione (2/6)
Contrattazione:
Strategie di coordinamento e negoziazione (3/6)
Strategie di coordinamento e negoziazione (4/6)
Strategie di coordinamento e negoziazione (5/6)
Strategie di coordinamento e negoziazione (6/6)
Risoluzione distribuita dei problemi:
FIPA (Foundation for Intelligent Phisical Agents)
Le specifiche sono sviluppate con la partecipazione diretta dell' insieme dei membri FIPA.
Stati delle specifiche:PreliminareSperimentaleStandardDisapprovatoObsoleto
Categorie delle Specifiche FIPA
Agente secondo FIPA
AID (Agent Identifier):
Collezione di coppie parametro/valore che oltre al nome comprende tutti gli indirizzi che indicano dove l' agente sia stato, i resolver (agenti presso cui l' agente è registrato) e altri parametri a discrezione del progettista.
“ Un processo computazionale che implementa le funzionalità di autonomia e di comunicazione di un' applicazione”
Agent Platform
AMS:Fornisce un servizio di “white pages” e controlla l'accesso alla piattaformaServizi: Register, Deregister, Search, Modify
DF:Servizio di “yellow pages”.Stessi servizi di AMS
MTS:Servizio di comunicazioneNelle comunicazioni interpiattaforma deve essere iplementato uno dei seguenti protocolli: HTTP,WAP, IIOP
Messaggi FIPA-ACL
unico elemento obbligatorio
Esempi: inform, accept, agree,
cancel, propose, refuse
elementi che comunque compaiono
nella maggior parte dei
messaggi
Differenze tra Agente ed Oggetto
UML: Modello della struttura statica
Diagrammi delle classi
Diagrammi degli oggetti
Diagrammi dei package
UML: Modello dinamico
Diagrammi di sequenza
Diagrammi di collaborazione
Diagrammi di attività
Diagrammi di stato
UML: Modello Use Case e Modello dell' implementazione
Diagrammi use case
Diagrammi dei componenti
Diagrammi di deployment
Limiti UML
Modellazione di messaggi: In un MAS la comunicazione non è sincrona
Modellazione dei protocolli di comunicazione: oltre che tra due o più istanze di classe dev'essere possibile farlo tra due o più ruoli
Modellazione dei ruoli: un agente è più dinamico, al mutare dei ruoli muta anche i servizi offerti
Assegnazione dei ruoli a una specifica classe di agente: non esiste un “diagramma dei ruoli”
Agent UML
Principali estensioni: Protocolli di interazione: diagrammi di
sequenza/attività Classi di agenti: diagrammi delle classi Elaborazione interna agli agenti: diagrammi
dinamici Modellamento dei ruoli
Diagrammi di protocollo (1/2)
parametri generici (unbound parameters).Per applicare il pattern occorre sostituirli ai loro valori effettivi:
Diagrammi di protocollo (2/2)
Relazioni fra atti comunicativi:
Rappresentazione di thread concorrenti:
Diagrammi di classe
Rappresentazione nuova: Rappresentazione classica:
Elaborazione interna degli agenti(1/2)
Diagrammi di attività:
Elaborazione interna degli agenti(2/2)
Diagrammi di stato:
Rappresentazione dei ruoli (1/2)
Notazione UML classica:
Rappresentazione dei ruoli (2/2)
Notazione AUML:
Stereotipi
Conclusioni
Allo stato attuale FIPA non sta emettendo nuove specifiche riguardo l' Agent UML, in seguito al
rilascio di UML 2.0 ed altri standard come il SysML rilasciato dall' OMG (Object Management
Group) che comprendono molti dei concetti necessari alla descrizione dei MAS.
Gestione eccezioni(Lynch e Rajerdan)
try (seq (par (animate (grasp red#4) :throw exit1) (speak (picking up red)) (textOut (grasp red)) ) (par (animate (drop on green#3) :throw exit2) (speak (dropping on green)) (textOut (drop on green)) ) (speak (ok, what now)) ) (catch exit1 (seq (speak (unable to grasp red)))) (catch exit2 (seq (speak (unable to drop on green)))))
Schedule diagram:
Tools(?)
I tools più completi e diffusi, come ad esempio Magicdraw, si basano su UML 2 e sullo standard SysML, ma non contemplano
specifiche FIPA sull' Agent UML.L' unico tool che gestisce perlomeno i diagrammi di protocollo è INGENIAS.
INGENIAS (1/2)
package
sub protocol
lifeline
column
agent port
alternative box
alternative row
text note
UML comment
INGENIAS (2/2)