Agent UML

Post on 13-Jun-2015

515 views 3 download

transcript

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)