Appunti su
Starlogo & Netlogo
Michele Sonnessa
([email protected])
Torino, 7 febbraio 2004
Note storiche
Dylan
LISP
By John McCarthy
1958
Smalltalk
Logo
By Seymour Papert
1983
Starlogo
by Mitchell Resnick
http://education.mit.edu/starlogo
Netlogo
by The Center for Connected Learning and
Computer-Based Modeling
http://ccl.sesp.northwestern.edu/netlogo
Gli strumenti…


Observer: insieme di funzioni che hanno accesso a tutti gli oggetti
Screen: classica matrice toroidale che può essere disegata e può speciali oggetti
detti turtles


Patch: casella della griglia spaziale che può contenere n turtles e variabli di stato
Turtle: agente, che è capace di movimento e può contenere variabili e funzioni



Breed:
variabile di stato delle turtle che consente la differenziazione tra tipologia
di ruoli per ciascun agente
Plot: strumento grafico capace di disegnare serie storiche
Output window: terminale su cui gli oggetti possono scrivere
Aspetti tecnici
Starlogo
 Implementazione Java
 Multithreading ibrido
 Codice (logo), interfaccia
grafica e stato della
simulazione salvati in un
unico file
 Codice interpretato
 Ambiente chiuso: non è
possibile richiamare funzioni
dall’esterno, nonché
importare o esportare dati
 Sorgente non distribuito
Netlogo
 Implementazione Java
 Multithreading ibrido
 Codice (logo), interfaccia
grafica e stato della
simulazione salvati in un
unico file
 Codice interpretato**
 Ambiente e sorgenti chiusi
 File I/O minimale (supporta
il formato testo)
** Più veloce di Starlogo (?)
L’ambiente

Alcuni comandi
 crt
 ask-turtles
 ask-patches
 globals
 patches-own
Esempio di codice:
globals [cnt]
to setupModel
ca
crt 10
ask turtles [setxy random 10 0]
set cnt 0
end
Le turtles

Alcuni comandi
 fd
 heading
 setxy
 setcolor
 turtles-own
Esempio di codice:
turtles-own [status]
to go
if (status = 0)
[
set heading random 360
fd 1
]
if (xcor > 10)
[
set status 1
set color blue
]
end
Netlogo = Starlogo++;

Shapes

BehaviuorSpace <<>> Multi-run

Net>>logo
Principi di scrittura dei modelli
Interazione orientata allo spazio
 Comunicazione mediata dall’ambiente (patch)
 Ridotto utilizzo delle strutture dati
 Uso di poche tipologie di comportamenti e di
agenti
 Utilizzo del parallelismo

Esempi
Ants
 Ant optimisation
 Turing machine
 Cooperation

Scarica

Starlogo & Netlogo