Documentazione assistita di ABMs
(Agent-Based Models)
Relatore
Candidato
Prof. Vittorio Scarano
Dott. Carmine Spagnuolo
Simone Romano
Struttura della presentazione
• Panoramica modelli di simulazione basati sugli agenti - MASON
• ODD Protocol e MASON
• Doxygen
• Può aiutarci?
• Soluzione proposta: Plugin per Eclipse
• Caratteristiche
• Conclusioni
Automatic ABMs documentation - Simone Romano
Sistemi multi-agente
Branca relativamente nuova dell’informatica:
• Primi studi: anni ‘80
• Diffusione: circa metà anni ‘90
STRUTTURA
• Agenti (entità autonoma)
• Ambiente
Automatic ABMs documentation - Simone Romano
MASON
“MASON is a fast discrete-event multiagent simulation library core in Java”
STRUTTURA
• Agenti - Steppable
• Ambiente – SimState
OBIETTIVO:
Generazione assistita di documentazione di programmi MASON
Automatic ABMs documentation - Simone Romano
Idea
• Procedura guidata mirata alla generazione
documentazione
Come si documenta un ABMs?
ODD Protocol
1. Purpose
2. Entities, State variables and scales
3. Process overview and
scheduling
4. Design concepts
5. Initialization
6. Input
7. Submodels
MASON
1. Definito dall’utente
2. Ambiente, Agenti, variabili
3. Lista azioni eseguite in
• start() SimState
• step() Steppable
4.
5.
6.
7.
Definito dall’utente
Valore iniziale delle variabili
Definito dall’utente
Pseudo-codice delle azioni
elencate in 3
• Doxygen is the de facto standard tool for generating documentation from annotated C++ sources,
but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java,
Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some
extent D.
Automatic ABMs documentation - Simone Romano
Ricreiamo ODD
• Parsing del codice
• Generazione automatica di informazioni
• Informazioni inserite dall’utente
• Generazione commenti al codice
Automatic ABMs documentation - Simone Romano
Plug-in – caratteristiche 1
• Generazione pseudocodice
• Fasi Process overview and scheduling, Submodels di ODD
• Selezione colore output
• Separazione tra commenti autogenerati e commenti inseriti
dall’utente
Definito dall’utente
Generato dal plugin
Generato da Doxygen
Plug-in – caratteristiche 2
• Pulizia del codice
Plug-in – caratteristiche 3
• Iterabilità
• ODD object
• Output type
• Doxygen
• Pdf-Rtf (iText library)
• Txt
Flusso degli eventi
INTRO
OUTPUT
Choice
ODD
serialized
object
• Purpose
• Entities, state
variables and scales
• Process overview
and scheduling
• Design concepts
• Initialization
• Input
• Submodels
Doxygen
New ODD
object
• Pdf
• Rtf
• txt
…
Screenshots - 1
Screenshots - 2
Screenshots - 3
Conclusioni
• OBIETTIVO INIZIALE
• Documentare programmi di simulazione multi-agente scritti in Java con
libreria MASON
• PRODOTTO REALIZZATO
• Supporta l’utente durante la fase di documentazione
• Struttura la documentazione secondo uno standard noto (ODD)
Scarica

Presentazione laurea