Modified:
wiki/DevelopersNotes.wiki
Log:
Edited wiki page through web user interface.
Modified: wiki/DevelopersNotes.wiki
==============================================================================
--- wiki/DevelopersNotes.wiki (original)
+++ wiki/DevelopersNotes.wiki Tue Jul 10 06:48:08 2007
@@ -17,12 +17,12 @@
written by Lua language authors. The C functions sit in a dynamically
linked library (.dll), and get called by Java classes using the JNI
interface API (a standard Java library).
-Below only the Java part is described.
+Below only the Java part is described. The JNI/C part is encapsulated in the
+idmclib library.
The Java part of iDMC is organized into numerous packages. The packages
form a tree like structure, just as the usual tree of directories.
-The main five packages (four of which are subpackages of the firs
-t package) are:
+The main five packages (four of which are subpackages of the first package) are:
# org.tsho.dmc2:
this is the "root" package. In it sits the class DmcDue, whose
@@ -34,26 +34,29 @@
we omit the classes fully qualified names, i.e. instead of writing
org.tsho.dmc2.ui.MainFrame, we write just MainFrame) are the
classes MainFrame, MainFrameSM, AbstractPlotComponent,
-AbstractControlForm and others. It contains the subpackages:
-org.tsho.dmc2.ui.lyapunov org.tsho.dmc2.ui.trajectory
-org.tsho.dmc2.ui.manifolds org.tsho.dmc2.ui.basin and
-others. For the most part, these packages contain the subclasses
+AbstractControlForm and others.
+It contains the subpackages:
+ * org.tsho.dmc2.ui.lyapunov
+ * org.tsho.dmc2.ui.trajectory
+ * org.tsho.dmc2.ui.manifolds
+ * org.tsho.dmc2.ui.basin
+and others. For the most part, these packages contain the subclasses
of AbstractControlForm, StateMachine (see below) and
AbstractPltComponent which are adapted to the corresponding task
at hand.
-# org.tsho.dmc2.sm:
+=== org.tsho.dmc2.sm ===
contains the state machine classes and other auxiliary classes.
Main classes here are:
StateMachine and its subclass ComponentStateMachine.
-# org.tsho.dmc2.managers:
+=== org.tsho.dmc2.managers ===
contains the AbstractManager class and its
various subclasses adapted to the task at hand (e.g.
TrajectoryManager, BasinManager etc.) These classes manage the
data input and the generation of corresponding plots.
-# org.tsho.dmc2.core:
+=== org.tsho.dmc2.core ===
this package is responsible for all the
remaining duties, such as actually performing the computations
(the classes of the org.tsho.dmc2.core.dlua subpackage), and
@@ -62,7 +65,7 @@
for ODE Lyapunov exponents algorithm, some utility classes
etc.
-*Important Note*
+=== Important Note ===
Another key class is org.tsho.dmc2.core.chart.jfree.DmcChartPanel.
Its role is to modify the functionality of an analogous class
@@ -76,7 +79,7 @@
recomputation appears to require tens of seconds. DmcChartPanel
fixes this problem.
-=How the program functions, a very rough sketch=
+= How the program functions, a very rough sketch =
The main() method of DmcDue constructs a MainFrame Instance with
which the state machine MainFrameSM instance, constructed at the
@@ -107,7 +110,7 @@
the actual trajectory plot and the drawing is done on the
DmcChartPanel.
-=How to run, compile and modify iDMC on the Windows
+= How to run, compile and modify iDMC on the Windows
operating system =
Download the iDMC _source_ package and unpack it.
@@ -117,33 +120,31 @@
doc, misc, models, src/java. The src/java folder contains the Java source code.
Suppose we wish to build the executable .jar file of iDMC
(either because we wish to build the program from scratch,
-or because we have modified the Java source code
-and wish to build a new executable .jar file).
+or because we have modified the Java source code and wish
+to build a new executable .jar file).
-Open the DOS shell (as indicated above), and go to the directory
-iDMC-1.9.2 (which is a subdirectory of iDMC-1.9.2-src).
+Open the DOS shell and go to the directory iDmc-2.0.5.
Now type in "ant" in the DOS shell. If Ant was installed
correctly (i.e. the necessary environment variables are set to the
required values), this would create a new executable .jar file
-in the iDMC-1.9.2 subfolder of iDMC-1.9.2-src
+in the dist-win subfolder of iDmc-2.0.5
(assuming there have not been any compilation time errors).
If you have downloaded already the binary code folder of iDMC,
you may test the new .jar file by replacing the .jar file in the
-
iDMC-1.9.2-bin directory with the one which was
just created and double clicking it as usual
(or typing in java -jar <filename.jar> from the DOS shell
command line).
-REMARK Ant compiles only the source (.java) files whose time stamp
+*REMARK* Ant compiles only the source (.java) files whose time stamp
is more recent than the time stamp of the corresponding object (.class)
files (this is done to reduce the compilation time). Thus, if you replace
a source code file with a one which carries the same name, but an earlier
-time stamp (e.g. a previous backup version), the source code will compile properly, only if you first delete the corresponding
-.class file. To ensure that all the source code is compiled anew, first
+time stamp (e.g. a previous backup version), the source code will compile properly, only if you first delete the corresponding .class file.
+To ensure that all the source code is compiled anew, first
type in (in the DOS shell) "ant all-clean", and then type in "ant".
-=Modifying and compiling the native C part=
+= Modifying and compiling the native C part =
The native code used by iDMC is all contained in the idmclib library.
-See its boundled docs for up-to-date informations.
+See its boundled docs for up-to-date informations.
\ No newline at end of file