JAMES II helps you to develop modeling and simulation applications.
It provides a solid foundation of abstractions, algorithms, workflows, and tools.
Here are some highlights:
JAMES II requires Java 1.7. Some models are translated to Java code (and then compiled), so install the JDK (not just the JRE).
Make sure Java's binary directory is in your PATH
environment variable.
You can test this by executing javac -version
in the command line, which should return a version number ≥ 1.7.0.
Simply download the current release, unzip it, and start JAMES II by double-clicking on the org.jamesii-core-0.9.7.jar
file.
Once the GUI is running, go to Workflow > Start simple M&S
and play with a formalism that is supported out-of-the-box.
Example:
Select Cellular Automata (Rule-Based)
.
Select the Model Text Editor
.
Choose [JAMES II]/samples/gameOfLife.car
.
The Game Of Life model needs a start state to run. For example, click the Fill randomly
button, and then Finish
.
There is only a default instrumenter (to initialize the observation components) and it has no parameters: just click OK
to continue.
Press the Play icon in the simulation run control window.
JAMES II is built with Maven (version ≥ 3.0).
To access our source repository (instead of downloading a release), you will also need Mercurial.
Execute this on the command line to create a custom project based on our Maven archetype:
mvn archetype:generate -DarchetypeRepository=http://jamesii.informatik.uni-rostock.de/jamesIIreleases/maven -DarchetypeGroupId=org.jamesii.archetypes -DarchetypeArtifactId=custom-extension-archetype -DarchetypeVersion=0.9.7
If you already have a Maven-based simulation project, just add the JAMES II repository and dependencies to your project's pom.xml
file:
<repositories> <repository> <id>james-ii-repo</id> <name>james-ii-repo</name> <url>http://jamesii.informatik.uni-rostock.de/jamesIIreleases/maven</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.jamesii</groupId> <artifactId>core</artifactId> <version>0.9.7</version> </dependency> <!-- ... --> </dependencies>
If you are an Eclipse user, here is the most convenient way to set up a JAMES II-based software project:
In Eclipse, go to New > Other
and select Maven > Maven Project
(if this is not available, install the Maven support for Eclipse first):
Choose Configure...
, and Add Remote Catalog...
in the appearing dialog:
Enter http://jamesii.informatik.uni-rostock.de/jamesIIreleases/maven
(this is the current URL to our public Maven repository) as a 'Catalog File', and close the dialog:
Back in the wizard, select the new catalog and choose the newest version of custom-extension-archetype
from the list of archetypes appearing below (currently, this should be version 0.9.7):
Enter some groupId
and artifactId
for your project, then finish the wizard:
After downloading all dependencies (this may take a while, you can see the progress in the Maven view of the Eclipse console), your new project based on JAMES II is ready.
Now you can run the sample experiments in MyExtensionTest
to see how simple simulation experiments are executed with JAMES II.
Use the general JAMES II GUI by starting MyGraphicalUserInterface
. To start an experiment with the sample model, go to File > New > Experiment
(or press CTRL+E), then enter java://[YOUR_PACKAGE_NAME].model.MyModel
as URI. Press OK and in the following dialog, go to Instrumentation
and select My Processor Instrumenter
. If you now hit the 'Play' button to start the experiment, select the Visualization Data Plotter
, and start the simulation by pressing play in the experiment control window. You should now see the output of the sample model:
More details can be found in the documentation.
In 2003, Jan Himmelspach started working on JAMES II as part of the DFG-funded research project CoSA.
Since then, dozens have contributed to JAMES II, mostly by doing research at the University of Rostock's Modeling and Simulation Research Group.
Jan left the research group in April 2013. Since then, JAMES II development is coordinated by a group of long-term contributors.
You can get in touch with us here.
The JAMES II license is, for legal reasons, in German only.
Basically, it is a BSD-style license adapted for German law (regarding our liability and warranty), but which is also compatible with GPL (dual license).
All kinds of contributions (feedback, documentation, bug reports, code) are welcome.
See our development guidelines for details.
There are many research papers on JAMES II, so this depends on the components you use and what you are doing with them.
If you want to cite JAMES II in general, this paper describes its foundation:
J. Himmelspach and A. M. Uhrmacher, "Plug'n simulate," Proceedings of the 40th Annual Simulation Symposium. IEEE Computer Society, 2007, pp. 137-143.
Not from this guy.
JAMES II is the successor of the simulation system JAMES (surprise!), but rebuilt from scratch.
The name once stood for Java-based Agent Modeling Environment for Simulation.
Since then, JAMES II has evolved to a general-purpose framework. We now call it JAva-based Multipurpose Environment for Simulation.