Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Ako urobiť spustiteľnú aplikáciu v jednom .jar súbore?
Ako je možné zastaviť alebo pozastaviť simuláciu z vnútra modelu?
Agenti zobrazujú príliš veľa informácií, keď sú sondované. Ako ich môžem limitovať?
Ako je možné pridať do lišty nástrojov v RePast-e svoje vlastné tlačidlo?
Chcem, aby môj model vykonal akciu X keď stlačím klávesu. Ako to urobiť?
Chcem, aby môj model vykonal akciu X pri kliknutí na tlačidlo na nástrojovej lište. Ako to urobiť?
Chcem vytvoriť vlastný Display. Aký je najlepší spôsob?
Ako má vyzerať metóda main v spustiteľnej triede modelu?



Ostatné kapitoly
Swarm
RePast
LEM
SDML
Eos
DDLab


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Ako má vyzerať metóda main v spustiteľnej triede modelu?

Spustiteľná trieda v Jave musí implementovať metódu main() s nasledujúcou signatúrou: public static void main(String[] args). V prípade programu vytvoreného pomocou programového vybavenia RePast by mala mať tvar podobný tomuto:

public static void main(String[] args) { SimInit init = new SimInit(); HeatBugsModel model = new HeatBugsModel(); init.loadModel(model, null, false); }

Tento kód vytvorí inštanciu triedy SimInit a inštanciu modelu samotného, v tomto prípade inštanciu triedy HeatBugsModel. Objekt samotného modelu sa predá ako prvý parameter metóde loadModel(); druhý a tretí parameter tejto metódy určujú súbor s parametrami a príznak, či je model spustený v dávkovom (angl. batch) režime. Do týchto parametrov môžete buď odovzdať hodnoty z príkazového riadku, alebo ak viete že model bude spustený v dávkovom režime, môžete parametre zadať priamo. Tu je príklad posledne menovanej možnosti:

public static void main(String[] args) { SimInit init = new SimInit(); EnnBatchModel model = new EnnBatchModel(); init.loadModel(model, "./EnnParams.txt", true); }

Tento výňatok kódu je z triedy EnnBatchModel z jedného z demo-programov dodaných priamo v inštalácii RePast-u. Vytvorí sa tu objekt triedy SimInit rovnako ako v predchádzajúcom príklade. Potom sa ako druhý parameter metódy loadModel zadá súbor s parametrami a ako tretí parameter hodnota true, signalizujúca dávkový režim.

Je možné zadať parametre pomocou argumentu príkazového riadku metóde main pomocou poľa args a potom ich odovzdať metóde loadModel(). Pri nasledujúcom volaní z príkazového riadku budú hodnoty args[0] == "parameter.file" a args[1] == true.

$$ java MyModel parameter.file true

Manuály k Java Runtime Enviroment (program java), kompilátoru jazyka Java (program javac) a java debuggeru (program jdb) si môžete stiahnuť tu:

java.pdf (33kB)
java.pdf.gz (15kB)

javac.pdf (41kB)
javac.pdf.gz (19kB)

jdb.pdf (22kB)
jdb.pdf.gz (11kB)

Hore
Kontakt: Marek Bundzel