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 urobiť spustiteľnú aplikáciu v jednom .jar súbore?

Nato je potrebné vytvoriť si vlastný manifest súbor a tento použiť pri vytváraní .jar súboru. Manifest je jednoduchý textový súbor s určitými špecifickými príkazmi pre virtuálny stroj Javy (JVM). Pomocou týchto príkazov odovzdáte JVM informácie o tom, ktorá trieda obsahuje \texttt{main} metódu, ktorá sa má spustiť. Rovnako pomocou \textit{manifest} súboru odovzdáte informáciu o premennej CLASSPATH. Nasledujúci príklad je manifest súbor z bugs.jar (viď demo-program HeatBugs).

Main-Class: uchicago.src.sim.heatBugs.HeatBugsModel Class-Path: ../../lib/repast.jar ../../lib/trove.jar
../../lib/colt.jar ../../lib/jgl3.1.0.jar
../../lib/excelaccessor_Runtime.jar ../../lib/jmf.jar
../../lib/jcchart.jar ../../lib/junit.jar ../../lib/plot.jar
../../lib/xerces.jar

Cesty uvedené sa príkazom Class-Path: by mali byť na jednom riadku. Hlavná trieda obsahujúca metódu main, ktorá sa má spustiť je v tomto prípade uchicago.src.sim.heatBugs.HeatBugsModel a vyžaduje špecifikovať classpath k použitým triedam, aby sa mohla korektne spustiť. Premenná classpath je obmedzená na túto jedinú aplikáciu a uvedené cesty sú relatívne k umiestneniu súboru bugs.jar.

Keď už máte hotový súbor manifestu, je potrebné ho zahrnúť do .jar súboru. Ak ste ešte nevytvárali .jar súbor, môžete tak urobiť v jedinom kroku pomocou nástroja jar, ktorý je súčasťou JDK, nasledovne:

$$ jar cfvm my_model.jar my_manifest my_model_dir

kde my_model.jar je meno súboru, ktorý vytvárame, my_manifest je meno manifest súboru, ktorý sme si pripravili a my_model_dir je adresár s aktuálnym modelom. Preto pre vyššie spomínanú aplikáciu HeatBugs by príkaz vyzeral nasledovne:

$$ jar cfvm bugs.jar bugs_manifest uchicago/src/sim/heatBugs

Ak je váš model balíkom (ako by správne mal byť), je dôležité spustiť uvedený príkaz z adresára nadradeného prvému adresáru balíka. V prípade aplikácie HeatBugs to bude ten adresár, v ktorom je umiestnený adresár uchicago/.

V prípade, že už máte .jar súbor hotový a chcete iba pridať súbor manifestu, vo vyššie uvedenom príkaze nahraďte prepínač c prepínačom u. Obsah .jar súboru je možné overiť príkazom

$$ jar -tf name_of_jar_file

Manuál nástroja jar si môžete stiahnuť tu:

jar.pdf (24kB)
jar.pdf.gz (10kB)

Hore
Kontakt: Marek Bundzel