Welcome to ScalaTion, the Scala-based system for Simulation, Optimization and Analytics.
This system, coded in Scala, supports multi-paradigm simulation modeling including 'dynamics', 'activity', 'event', 'process' and 'state' oriented models. Scala is a modern object-oriented, functional programming language that is well-suited for developing simulation engines. ScalaTion also supports optimization and analytics as they nowadays go hand-in-hand with simulation modeling.
Future directions include adding 'scala3d' and 'physics' packages as well as a release for Scala 2.10. To use Scala 2.10 now, in the scalation.math package uncomment "// import scala.language.implicitConversions" in DoubleWithExp.scala, IntWithExp.scala and LongWithExp.scala. The code currently contains deprecated features.
Please read the LICENSE file (an MIT style license).
$ cd scalation/bin
$ scala Build
$ scala Build [ -a apps_package[.file] | -s src_package[.file] | -h ]
$ scala Build -a optimizationSource packages are in the src directory, apps packages are in the apps directory, class files are in the classes directory, and documentation files are in the doc directory. Build itself is in the bin directory. Note, Build assumes all src packages are subpackages of scalation (e.g., scalation.analytics), so scalation is omitted from the command line.
$ scala Build -a optimization.ServiceNetwork
$ scala Build -s analytics
$ scala Build -s analytics.Regression
$ scala Build -h
If Bank.scala needs to be re-compiled,
$ cd ../../bin
$ scala Build -a process.Bank
Package Description scalation.util A package of utilities needed by the other packages. scalation.math A package of mathematical objects and operations needed for analytics, simulation and optimization. scalation.linalgebra A package of implementations for linear algebra (e.g., for vectors and matrices). Vectors and matrices of real (Double) and complex numbers are supported. scalation.linalgebra_gen A package of generic implementations for linear algebra (e.g., for vectors and matrices). Vectors and matrices of types implementing Numeric can be instantiated. scalation.calculus A package for computing derivatives, gradients and Jacobians. scalation.random A package for random numbers and random variates (Normal distribution, etc.) scalation.stat A package of statistical objects and operations needed for simulation, including implementations for summary statitistics and ANOVA. scalation.scala2d A scala version of Java 2D. scalation.plot A package for displaying basic plots and histograms. scalation.animation A general purpose 2D animation engine. scalation.minima A package supporting simulation optimization (minimization). scalation.maxima A package supporting simulation optimization (maximization). scalation.analytics A package supporting analytics, including regression, time series analysis and clustering. scalation.graphalytics A package supporting graph analytics, including shortest path, etc. scalation.metamodel A package supporting simulation metamodeling, espcially for optimization. scalation.queueingnet A package supporting queueing network models. scalation.dynamics A simulation engine for systems dynamics (continuous simulation), which includes general-purpose Ordinary Differential Equation (ODE) solvers. scalation.dynamics_pde A simulation engine for systems dynamics (continuous simulation), which includes category-specific Partial Differential Equation (PDE) solvers. scalation.activity A simulation engine for activity oriented models such as Petri Nets. scalation.event A simulation engine for event oriented models such as Event Graphs. scalation.process A simulation engine for process oriented models such as Process-Interaction Models. scalation.state A simulation engine for state oriented models such as Markov Chains.
Package Description activity Example models for activity oriented models such as Petri Nets. analytics Example analytics problems. dynamics Example models for systems dynamics (continuous simulation). event Example models for event oriented models such as Event Graphs. game Example simulation-oriented games. montecarlo Example Monte Carlo simulation. optimization Example optimization problems. process Example models for process oriented models such as Process-Interaction Models. simopt Example simulation optimization problems. state Example models for state oriented models such as Markov Chains.
Package Description scalation.util A package of utilities needed by other packages. scalation.math A package of mathematical objects and operations needed for analytics, simulation and optimization, scalation.linalgebra A package of implementations for linear algebra (e.g., for vectors and matrices). Vectors and matrices of real (Double) and complex numbers are supported. scalation.linalgebra_gen A package of generic implementations for linear algebra (e.g., for vectors and matrices). Vectors and matrices of types implementing Numeric can be instantiated. scalation.calculus A package for computing derivatives, gradients and Jacobians. scalation.random A package for random numbers and random variates (Normal distribution, etc.) scalation.stat A package of statistical objects and operations needed for simulation, including implementations for summary statitistics and ANOVA. scalation.scala2d A scala version of Java 2D. scalation.plot A package for displaying basic plots and histograms. scalation.animation A general purpose 2D animation engine. scalation.minima A package supporting simulation optimization (minimization). scalation.maxima A package supporting simulation optimization (maximization). scalation.analytics A package supporting analytics, including regression, time series analysis and clustering. scalation.graphalytics A package supporting graph analytics, including shotest path, etc. scalation.metamodel A package supporting simulation metamodeling, especially for optimization. scalation.queueingnet A package supporting queueing network models. scalation.dynamics A simulation engine for systems dynamics (continuous simulation), which includes general-purpose Ordinary Differential Equation (ODE) solvers. scalation.dynamics_pde A simulation engine for systems dynamics (continuous simulation), which includes category-specific Partial Differential Equation (PDE) solvers. scalation.activity A simulation engine for activity oriented models such as Petri Nets. scalation.event A simulation engine for event oriented models such as Event Graphs. scalation.process A simulation engine for process oriented models such as Process-Interaction Models. scalation.state A simulation engine for state oriented models such as Markov Chains.
Package Description gen_scalation.dynamics A package containing DeMO to scalation.dynamics generators.