Simulation Tools for Linux Systems

Software Libraries FOSS
C++SIM C++ libraries for simulation of discrete event systems. X
JavaSIM The Java version of C++SIM. X
DSOL DSOL is an open source, Java based, suite for continuous and discrete event simulation, developed at TU Delft, in the Netherlands. Among its general features: distributed 2D and 3D animation supported, various random number generators, GIS/CAD files supported, statistics, charts included. Continuous simulation is facilitated thanks to: numerical integration of n-th order ordinary differential equations with various numerical integrators supported; realtime clock simulator for Emulation. In discrete event simulation event scheduling is specified through scheduled method invocation and the Single threaded Process Interaction formalism is specified. It implements a flow "formalism" (Arena-like). X
DESMO-J DESMO-J is a Framework for Discrete-Event Modelling and Simulation targeted at programmers developing simulation models in Java. Free, licensed under the Apache License, Version 2.0
Simkit Simkit is a a package for creating Discrete Event Simulation (DES) models written in Java. Simkit is used as a platform to teach DES to Masters' students in Operations Research and MOVES at the Naval Postgraduate School and it is free software (LGPL). X
The Numerical Algorithms Group Ltd (NAG) Library of numerical algorithms X
Netlib Library of numerical algorithms X
Simulations in Java Sim Java library X
DEx DEx, the Dynamic Experimentation toolkit, aims to provide a fast, flexible, and easy-to-use platform for developing, analyzing, and visualizing dynamic multi-body simulations. The kernel and utility classes constitute a framework that can be used alone in C++ or in combination with the DEx language, a domain-specific language based on C++ designed for rapid prototyping. It compiles under Linux and it is available for download. X
Mathtools A "portal" providing free access to a set of valuable resources for MATLAB, Excel, C, C++, Fortran and Java. X
Visual Simulation Tools
JMadonna Java version of a numerical simulation program for Macintosh and Windows computers. Designed to be a general solver of systems of ordinary differential equations. Developed at the University of California at Berkeley for teaching and research, it has been used for six years in classrooms and laboratories. It is Shareware. X
Simprocess Simprocess is an object-oriented, process modeling and analysis tool. It combines the simplicity of flowcharting with the power of simulation, statistical analysis, Activity-Based Costing (ABC), and animation.
Bond graphs
MTT MTT, the Model Transformation Tools, comprises a set of tools for modelling dynamic physical systems using the bond graph methodology and transforming these models into representations suitable for analysis, control and simulation. These tools use, and generate m files for, GNU Octave. MTT is free software licensed under the GNU General Public License. X
Integrated environments
Octave Free software which can compete with Matlab and MatrixX. Scilab is a scientific software package for numerical computations in a user-friendly environment X
Scilab Free software which can compete with Matlab and MatrixX. Scilab is a scientific software package for numerical computations in a user-friendly environment X
SimLab This is the initial release of the SimLab software. Includes mathematical functionality for algebraic and topological computations and code for creating triangulations of planar areas. Developed by Cornell University. X
FreeMat It is similar to commercial systems such as MATLAB from Mathworks, and IDL from Research Systems, but is Open Source. FreeMat includes several novel features such as a codeless interface to external C/C++/FORTRAN code, parallel/distributed algorithm development (via MPI), and plotting and visualization capabilities. X
DESIRE DESIRE (Direct Executing SImulation in REal Time) is a very fast interactive modeling and simulation of dynamic systems, used in industry and education since 1986. Runtime compilation lets your programs execute without translation delays. This permits truly interactive modeling and immediate comparisons of live models. An academic version that allows one to handle a six state system can be downloaded for free. DESIRE/2000 for Windows includes an experiment-protocol language for controlling multirun simulation studies, and an industrial-strength differential-equation solver. DESIRE/2000 handles up to 20,000 first-order differential equations entered in readable scalar or matrix notation, with a choice of 14 integration rules. Multiple models can include user-designed neural networks and fuzzy logic. X
Simulation languages
SimPy SimPy (= Simulation in Python) is an object-oriented, process-based discrete-event simulation language based on standard Python and released under the GNU GPL. It provides the modeler with components of a simulation model including processes, for active components like customers, messages, and vehicles, and resources, for passive components that form limited capacity congestion points like servers, checkout counters, and tunnels. It also provides monitor variables to aid in gathering statistics. Random variates are provided by the standard Python random module. SimPy comes with data collection capabilities, GUI and plotting packages. It can be easily interfaced to other packages, such as plotting, statistics, GUI, spreadsheets, and data bases. SimPy is under active development by an international development team. It can be downloaded free of charge from http://simpy.sourceforge.net. X
GPSS/H The Wolverine General Purpose Simulation System. A language for discrete event simulation. X
JiST JiST is a high-performance discrete event simulation engine that runs over a standard Java virtual machine. It is a prototype of a new general-purpose approach to building discrete event simulators, called virtual machine-based simulation, that unifies the traditional systems and language-based simulator designs. JiST is developed by Cornell Research Foundation, Inc. and it is free for non commercial use. F
XMLlab XMLlab is an XML-based simulation authoring environment. The proposed description language allows to describe mathematical objects such as systems of ordinary differential equations, systems of non-linear equations, partial differential equations in two dimensions, or simple curves and surfaces. It also allows to describe the parameters on which these objects depend. This language is independent of the software and allows to enable several authors to work, as well as collaborative work and content reuse. The simulation is written in XML, according to the DTD file, then transformed into a Scilab-executable file. X
Agent-based simulation
SeSAm SeSAm (Shell for Simulated Agent Systems) provides a generic environment for modelling and experimenting with agent-based simulation. SeSAm agents consist of a body, that contains a set of state variables and a behavior that is implemented in form of UML-like diagram. Based on an extensive number of primitive components, a user is able to design a simulation graphically without knowing the syntax of a traditional programming language. It is written in Java and it is freely downloadable. X
Brahms Brahms is a multi-agent language with a virtual machine on top of the Java VM. The Brahms VM can run in simulation mode or in real-time mode, which allows us to use Brahms also as a MAS development environment. It can be used freely for research purposes. X
Simulation based on the World Dynamics stock-flow approach
Simile Simile is a software environment for building and running simulation models in ecology, biology, environmental science and related disciplines. It features a powerful and expressive diagram-based language for designing models, including both System Dynamics and object-based concepts. System Dynamics is an intuitive and widely-used notation for describing dynamics in terms of storages and flows, while objects provide a natural way for describing system composition and relationships. Simile also supports modular model construction, and modules can be nested to any depth. The resulting models can be run very efficiently as compiled C programs, and delivered to others as stand-alone models. Simile provides a range of tools for displaying model behaviour, but also allows you to add your own, customized to your own needs. F
Hybrid Simulation Hybrid simulation deals with mixing discrete events and continuous simulations.
Shift Shift is a programming language for describing dynamic networks of hybrid automata, consisting of continuous-time phases separated by discrete-event transitions. A project developed at Berkeley, by California Path. X
Web based and distributed simulation
SLX SLX builds on the strengths of Wolverine's GPSS/H. SLX is structured as a multiplicity of layers, ranging from its C-like SLX kernel, at the bottom, through traditional simulation languages, e.g., GPSS/H, in the middle, to application-specific language dialects and extensions at the top. SLX contains powerful extensibility mechanisms for building new layers atop old ones. SLX has been coupled with other software, including DoD's High Level Architecture (HLA). X
JSIM JSIM is a Java-based simulation and animation environment supporting Web-Based Simulation. In JSIM, simulation models may be built using either the event package (Event-Scheduling Paradigm) or the process package (Process-Interaction Paradigm). In addition, a graphical designer (jmodel package) allows process models to be be rapidly built graphically. The qds package (Query Driven Simulation) under development controls the storage, retrieval and execution of simulation models as Java Beans and utilizes JDBC to access databases. It also stores model inputs and outputs. Finally, JSIM has three foundation packages: queue, statistic and variate. X