Tortuga is an archived software framework for discrete event simulation for the Java programming language last maintained in 2008. A Tortuga simulation can be written either as interacting processes or as scheduled events. A Tortuga simulation can have thousands of entities, and can be part of a larger Java system.
Contents
License
Tortuga is an open source project under the Lesser General Public License, version 2.1 (LGPLv2.1). The source code and binary executable are publicly available for download.
Run-time and development environment
Tortuga simulations supported Windows XP, Windows Vista, Linux, macOS, BSD and Unix systems of the time. They could also be used in an applet environment, although this typically required a signed applet. As part of its support for simulation, Tortuga employed tools from aspect-oriented programming, or AOP. Users did not need to be familiar with AOP to use Tortuga: its simulation classes were written in standard Java. However, the use of AOP in Tortuga required more elaborate compilation than the standard Java compiler command. Build was wrapped up in an Ant task included in Tortuga Java archive. This task was the reason it was assumed Tortuga-based simulations are using Ant to build.
Tortuga programming paradigm
Tortuga utilizes a programming paradigm that greatly reduces the burden on the simulation on developer. Tortuga treats each simulation entity as a separate thread and allows the user to specify a run method. This allows the developer to focus on simulation specifics without littering event handler code all over the place. This means that a Tortuga simulation is inherently limited by the number of threads the JVM is able to support. This limit becomes an upper bound on the number of actors, and with the 1.5 Sun-based JRE the limit was about 6,000.
Author and maintainer
Tortuga was developed by Fred Kuhl and Richard Weatherly of the Mitre Corporation in 2004–2006.



