U N D E R D E V E L O P M E N T
JAva SimuLATION - JalaTion
Papers | Javadoc | Source Code
Welcome to JalaTion, the Java-based system for Simulation, Optimization and Analytics.
This system, coded in Java, will support multi-paradigm simulation modeling including
'tableau', 'event', 'process', 'dynamics', 'dynamics_pde', 'activity' and 'state' oriented models.
It is a subproject of the ScalaTion project. Currently much of the funcationality of ScalaTion
is missing.
Java is a modern object-oriented language
that is well-suited for developing simulation engines.
JalaTion will also support optimization and analytics as they nowadays go hand-in-hand with simulation modeling.
Some of the algorithms come in both sequential and parallel versions.
The JalaTion 1.1 version works with Java 8 (some minor code changes may be required for Java 7).
Please read the LICENSE file (an MIT style license).
Installation Instructions
Requires:
Java 8
Recommended:
sbt (see INSTALL_SBT.html)
1. Download one of the following two files
scalation.tar_1.1.gz
OR
scalation_1.1.zip
2. Untar or unzip the file
$ tar xvfz scalation_1.1.tar.gz
OR
$ unzip scalation_1.1.zip
3. Export the SCALATION_CLASSES environment variable to point at class files
export SCALATION_CLASSES=$HOME/scalation_1.1/target/scala-2.11/classes
Ideally, put the export in one of your dot files (e.g., .profile or .bashrc).
4. To re-build the JalaTion system, type the first command
$ sbt compile
The Simple Build Tool sbt
is the easiest way to build JalaTion 1.1.
Source packages are in the src/main/java directory,
class files are in the target directory, and
documentation files are in the docj directory.
5. Run apps (e.g., for process oriented simulation in Bank.java)
$ jscar apps.process.Bank
OR
$ java -cp $SCALATION_CLASSES apps.process.Bank
The 'jscar' shell script works for Linux, Unix and Mac.
Use 'jscar.bat' for Windows.
6. Run src test code (e.g., for Regression in scalation.analytics)
$ jscar scalation.analytics.RegressionTest
OR
$ java -cp $SCALATION_CLASSES jalation.analytics.RegressionTest
To develop using an IDE use for example Eclipse or NetBeans.
Papers/Documentation
-
John A. Miller, Jun Han and Maria Hybinette,
"Using Domain Specific Languages for Modeling and Simulation: JalaTion as a Case Study,"
Proceedings of the 2010 ACM/IEEE Winter Simulation Conference (WSC'10),
Baltimore, Maryland (December 2010) pp. 741-752.
-
Michael E. Cotterell, John A. Miller, Tom Horton,
"Unicode in Domain-Specific Programming Languages for Modeling & Simulation:
JalaTion as a Case Study,"
Arxiv preprint arXiv:1112.175
(December 2011) pp. 1-10.
-
Michael E. Cotterell, John A. Miller, Jun Han and Tom Horton,
"Extending JalaTion, a Domain-Specific Language for Modeling & Simulation, for Simulation Optimization,"
Proceedings of the AlaSim International Modeling and Simulation Conference & Exhibition (AlaSim'12),
Huntsville, Alabama (May 2012) pp. 1-1.
-
Yung Long Li,
"Evaluation of Parallel Implementations of Dense and Sparse
Matrices for the JalaTion Library,"
Technical Report,
University of Georgia (December 2012) pp. 1-60.
-
John A. Miller, Michael E. Cotterell and Stephen J. Buckley,
"Supporting a Modeling Continuum in JalaTion: From Predictive Analytics to Simulation Modeling,"
Proceedings of the 2013 ACM/IEEE Winter Simulation Conference (WSC'13),
Washington, DC (December 2013) pp. 1191-1202.
-
Matthew Saltz, Ayushi Jain, Abhishek Kothari, Arash Fard, John A. Miller, and Lakshmish Ramaswamy,
"DualIso: An Algorithm for Subgraph Pattern Matching on Very Large Labeled Graphs,"
Proceedings of the 3rd IEEE International Congress on Big Data
(BigData'14),
Anchorage, Alaska (June-July 2014) pp. 498-505.
Online supplement
Source Packages (doc)
Overall javadoc generated API for JalaTion
Package
| Description
|
scalation.analytics
| A package supporting analytics, including regression, time series analysis and clustering.
|
scalation.graphalytics
| A package supporting graph analytics, including shortest path, etc.
|
Source Packages (src)
Package
| Description
|
scalation.analytics
| A package supporting analytics, including regression, time series analysis and clustering.
|
scalation.graphalytics
| A package supporting graph analytics, including shotest path, etc.
|