0% found this document useful (0 votes)
98 views

A Review of Open-Source Discrete Event Simulation Software For Operations Research

A review of open-source discrete event simulation software for operations research

Uploaded by

khaled
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views

A Review of Open-Source Discrete Event Simulation Software For Operations Research

A review of open-source discrete event simulation software for operations research

Uploaded by

khaled
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Journal of Simulation

ISSN: 1747-7778 (Print) 1747-7786 (Online) Journal homepage: https://www.tandfonline.com/loi/tjsm20

A review of open source discrete event simulation


software for operations research

G Dagkakis & C Heavey

To cite this article: G Dagkakis & C Heavey (2016) A review of open source discrete event
simulation software for operations research, Journal of Simulation, 10:3, 193-206, DOI: 10.1057/
jos.2015.9

To link to this article: https://doi.org/10.1057/jos.2015.9

Published online: 19 Dec 2017.

Submit your article to this journal

Article views: 619

View related articles

View Crossmark data

Citing articles: 5 View citing articles

Full Terms & Conditions of access and use can be found at


https://www.tandfonline.com/action/journalInformation?journalCode=tjsm20
Journal of Simulation (2016)
(2015),10,
1–14
193–206 © 2015
2016 Operational Research Society Ltd. All rights reserved. 1747-7778/15

www.palgrave.com/journals
www.palgrave-journals.com/jos/

A review of open source discrete event simulation


software for operations research
G Dagkakis* and C Heavey
University of Limerick, Limerick, Ireland
This article reviews the state of the art in Open Source (OS) Discrete Event Simulation (DES) software used for decision support in
Operations Research (OR) focusing on the modelling of manufacturing, services, supply chain management and logistics. DES is
arguably one of the most popular OR techniques. Commercial-Off-The-Shelf (COTS) DES software has been around for decades
and it has considerably helped in the wider adoption and use of DES, providing the user with tools for modelling, debugging and
experimentation. However, such tools often have limitations regarding their aspects such as cost, flexibility and reusability and OS
DES seems to be a strong alternative in order to fill those gaps. The scope of our review is to present the state of the art in OS DES
and identify future areas of research. The paper concludes with the desired features that an OS DES project should have in order to
become a notable competitor against COTS equivalents in the OR domain.
Journal of Simulation (2016) 10(3), 193–206. doi: 10.1057/jos.2015.9; published online 19 June 2015

Keywords: discrete event simulation; open source; operations research

1. Introduction (2001) makes several arguments for the new properties that OS
can give to DES modelling. The author takes several of the points
Commercial-Off-The-Shelf (COTS) Discrete Event Simulation
that Raymond (1999) made in his seminal article ‘The Cathedral
(DES) software has been around for several decades and has
and the Bazaar’ and projects them to the simulation domain.
contributed considerably to the diffusion of DES in the academic
Wiedemann (2005) stresses the need of ‘powerful standards for
and industrial community. The strength of such packages lies in
modelling and simulation’ and identifies the application of OS
the fact that they provide the user with graphical tools for
ideas as a first step.
modelling, debugging and experimentation, with advanced visual
Indeed, judging by the high cost of COTS DES software, OS
facilities that do enhance model development (Hlupic, 2000; Pidd
equivalents would immediately look attractive to the industry.
and Carvalho, 2006). On the other hand, the lack of access to the
Nevertheless, as we stated before, DES is costly in many different
source code and knowledge of how these tools work internally,
levels and the fact that OS does not impose licencing fees does
make them more difficult to customize (King and Harrison,
not imply that other costs also decreased.
2010). Another factor that hinders flexibility is the fact that
In Schriber et al (2012) there is presentation of several
COTS software often lacks modularity (Langlois, 2002), as it
examples where different simulation tools process events in a
often comes as one monolithic product. Reusability (Paul and
different sequence, resulting sometimes in different outcomes.
Taylor, 2002) may also be impeded by the use of COTS DES
OS code is open for an advanced user to review and edit. Of
tools. The fact that different organizations use different tools, in a
course, for the above argument to be valid, the code should be
market that has no clear leader (Wiedemann, 2002), makes it
easy to read and understand. OS code can also become an asset
much more difficult for models and components to be exchanged.
for modularization, as in such projects there are no reasons why
The high licence cost of COTS software packages is often the
different modules have to be tightly connected. There is the
most important factor for organizations’, especially Small and
possibility of creating a repository of open DES components
Medium Enterprises (SMEs), reluctance to adopt DES. The cost
that a third party user can take and adopt for his/her needs.
of ownership may vary from several hundred up to many
The absence of proprietary licencing issues could potentially
thousands of Euros (Wiedemann, 2002). But even for large
make such a repository universal and extendable if there
multinationals DES packages induce additional expenses related
is an active OS DES community. However, in order to achieve
to factors such as training, addition of plug-ins (ie optimization)
this, a standard for documentation would be essential. Lastly,
and maintenance upgrades (McLean and Leong, 2001).
as simulation is a computationally complex technique (Fujimoto,
During the last decades the academic DES community has
1990; Can et al, 2008) and an OS simulation engine does
actively driven its interest towards Open Source (OS). Kilgore
not impose any licencing complexities in being deployed
into a cluster of computers, the availability of OS simulation
*Correspondence: G Dagkakis, Design and Manufacturing Technology, should promote cloud computing (Liu et al, 2012; Taylor et al,
University of Limerick, Enterprise Research Centre, Limerick, Ireland. 2014).
1944 Journal of Simulation Vol. 10, No. 3

The rest of the paper is outlined as follows: In the following literature and the internet, so we could identify OS DES projects
section we define our research questions. Then, in Section 3 we that are active. Then, we define criteria against which the projects
describe the methodology followed for information gathering and have been compared.
software evaluation. In Section 4 the identified OS DES software
is evaluated and examined in two phases. First, we broadly
review OS DES projects and then, after justification, filter these 3.1. Material collection
into a narrower set of tools, which we examine more thoroughly In order to gain insight for the questions that have been defined in
discussing their strong and weak points. Section 5 is a discussion the previous section, we had to delimitate the research using
which is derived from the findings of the previous section. This appropriate boundaries. Several decisions were made, which are
has the scope of reflecting the results to the research questions summarized below:
and suggests means of progressing OS DES in the domain of our
interest. We conclude the paper summing up our work and 1. Only DES is considered in this paper. OS work that is focused
findings and giving suggestions for future work. in other simulation techniques, such as System Dynamics is
disregarded. Nonetheless, we do include projects that claim to
2. Research questions combine DES with other approaches.
2. Even though we defined OR, namely, manufacturing, ser-
The remarks made in the Introduction imply that even though OS vices, supply chain management and logistics as our domains
DES does offer many opportunities, none of them (except maybe of interest, in our initial material collection we did not discard
the annihilation of the licencing fee) is a given just because a OS DES projects that are targeted at other domains. The
project is OS. Code has to be well-written and communicated in reason for this is that we wanted to get the broadest view about
order to be useful for a broad community of different user levels. the state of the art in OS DES possible.
If we, even partially, accept Raymond’s (1999) claim that OS 3. We examine only software that is OS and gets distributed with
projects are motivated ‘by scratching a developer’s personal itch’ some OS license. There may be tools or applications that
then we have to think if that is applicable in OR and DES, where claim to be open, in terms that the user can see the code (eg
expertise in industrial engineering is essential. ExtendSim http://www.extendsim.com/), but they are not
Our domain of focus is the use of OS simulation for decision distributed under on OS license, so they are out of the scope
support in OR. With OR we mean manufacturing, services, of this review.
supply chain management and logistics. Reviewing the literature,
the only papers we could find comparing OS DES tools was in Our starting point for collecting the projects has been the
the domain of telecommunications and computer networks academic literature. The keyword we used has been a Boolean
(Weingartner et al, 2009; Sarkar et al, 2011). This may be combination of (‘Open Source’ OR ‘Open-Source’) AND (‘Dis-
indicative of the limited growth of OS DES for OR. The scope crete Event’ OR ‘Discrete-Event’) AND ‘Simulation’. Major
of the current review is to provide researchers, who want to use databases were used to search for related articles. Nevertheless,
OS DES, with information about the state of the art in this domain our review is not a survey of academic literature, thus we aimed
and gaps and potentialities for future work. Given this, we set our for a broader view than the one academia offers. So we used
research questions accordingly: similar searches like above in Google, which revealed more
projects. In addition to Google, we also searched in popular
1. What are the problem domains that OS DES is most repositories that offer hosting for OS projects, such as Source-
commonly targeted towards? Forge (http://sourceforge.net/).
2. Is OS DES applied in real world case studies?
3. What are the categories of users that OS DES is targeted 3.2. Definition of evaluation criteria
towards?
4. What software tools are most commonly used in OS DES Software selection and evaluation is a topic that has been widely
projects? This includes generic purpose computer languages discussed in academic literature (Jadhav and Sonar, 2009).
(eg C + + ) that the projects use and also specific DES Studies that are focused in the selection of simulation software
extensions (eg OMNeT + + ) that are utilized. also exist (Nikoukaran and Paul, 1999; Nikoukaran et al, 1999;
5. What methodologies do OS DES projects use to support their Yücesan et al, 2002; Azadeh et al, 2009). While this work has
development and community maintenance? been valuable for us in order to establish a solid theoretical
6. What type of OS licences is used in OS DES tool? background, we could not obtain any papers that are focused in
the selection of OS simulation software. OS has its own specific
attributes that make some of the criteria defined in such work not
applicable (eg cost), while there are others that are important and
3. Methodology
not directly visible in the COTS domain. For example, one will
In this section we describe the methodology we used in our not question how developers of a proprietary software project
review. First, we explain how we examined the academic communicate, while this is one important attribute of an OS
G Dagkakis and C Heavey—A review of open source discrete event simulation software 3195

project. In the academic literature there are several publications ● Next, we define a dimension for the Documentation material
describing important factors for the evaluation of OS projects that the project uses. Documentation of OS software may have
(Lakhani and Von Hippel, 2003; Weber, 2004; Fogel, 2005; many different forms. Some of them include text documents
Engelfriet, 2010; Bajracharya et al, 2014). Even though these (most probably pdf format), online documentation or tutorials,
publications are not relevant to DES, they provided knowledge Application Program Interface (API) reference, video tutorials
about sound OS software development, so we used them as and more.
inspiration in order to define the evaluation dimensions that best
● One very important aspect of OS development, which is by its
fit our needs. In the remaining of this sub-section we present the
dimensions we set, justify their use and mention the implications nature distributed development, is the existence of a commu-
that different values may have. nity of users (Ye and Kishida, 2003; Di Bella et al, 2013).
Mailing lists, online fora, irc channels and wikis are some of
● Language refers to the general purpose programming language the infrastructures commonly used to facilitate the collabora-
that the OS DES tool is written in, which provides insight for tion of these users. We used the Communication dimension to
some general characteristics of the tool. For example, C + + is record the means each project uses.
static, while scripting languages are dynamic. This generally ● Version control systems are considered essential for managing
leads to a better speed performance of C + + , while scripting the work in a software project (de Alwis and Sillito, 2009). In
languages provide an ease of development that let the user the Version Control dimension we note the tool that the OS
code faster (Dawson, 2002). DES project uses, if any.
● Next, we classify the projects according to the OS License that
the DES tool is distributed with. Different OS licenses may
have different implications of how they work and used by a 4. Evaluation
third party. GNU General Public License (GPL) is the most
In this section we present the results for the dimensions described
restrictive one, as it imposes that any work derived by a project
in the previous section and we provide an analysis of the projects
which is licensed under GPL should also be licenced in the
based on them. The full results are presented in the Appendix. For
same way (Ueda, 2005). To make OS suitable for use in
reasons of space the results were broken into two tables. Also, in
commercial products GNU has also created the GNU Lesser
the first table the websites of the tools are shortened using
General Public License (LGPL) (Fitzgerald, 2004). LGPL
TinyURLs.
defines that, when a work does not directly use the library in
In sub-section 4.1 we give some general considerations about
its development, but has to be linked with it when the
the statistical features of the results. This has the objective of
programme is executed, then it falls outside the scope of this
getting a first generic view about the state of the art in OS DES.
Licence (McGowan, 2005). GPL, LGPL and also Mozilla
Then, our evaluation progressed in two phases: First, based on
Public License, impose that modifications in the code of an OS
the dimension criteria we filter the projects and we select a sub-
project should also be OS (Engelfriet, 2010). Several other
set that we want to examine further. Many of the projects can be
licences such as Berkeley Software Distribution (BSD), Mas-
disregarded for several reasons, for example, they are outdated,
sachusetts Institute of Technology (MIT), Academic Free
provide no support and so on. In addition, it was necessary to pay
License (AFL) and Apache are more flexible.
more attention to the tools that look promising, as there are some
● In Latest Release we define the date that the last version of the important measures that are not directly quantifiable. For exam-
software was released. This includes only new versions that are ple, tools may provide one or more mailing lists, but the message
characterized as stable and are offered for download to the traffic may differ significantly.
users (eg SharpSim v.1.3. got released at 20 August 2013).
● Latest Update involves whatever change was made in the
4.1. Overview of tools
project, for example some bug fix, update in the documentation
and so on. This information was gathered on 25 June 2014. The aggregated results of software evaluation are presented in the
Both this and the previous criteria are used in order to check tables of the Appendix, where brief information about all the
how much a project is still active or not. tools and dimensions defined are given. From these results we

can draw some general considerations about the state of the art in
Domain is used for the problem domain that the project is
OS DES.
targeted in. As we wrote, this review wants to gather informa-
As we see in Figure 1, Java and C + + seem to be the most
tion about OS tools that can be used in OR environments,
popular computer languages in OS DES projects, with the former
namely manufacturing, services, supply chain management
being used in 20 tools and the latter in 19. Note that some tools
and logistics.
may use more than one language, for example, SimKit (Buss,
● Simulation Technique refers to the technique the tool uses. 2002) that provides implementations both in C + + and Java.
Simulation is a term that is used very widely with different We assume that it is the speed performance of those two
meanings. languages that urged the authors to make use of them in their
1964 Journal of Simulation Vol. 10, No. 3

Number of projects 25 12

Number of projects
20 10
8
15
6
10
4
5 2

0 0

Computer language License Type


Figure 1 Number of OS DES projects per computer language. Figure 2 Number of OS DES projects per OS license.

DES frameworks. Python is used in three tools, C# in two, 40

Number of projects
JavaScript and Scala in one each. Also, Root-sim is written in C.
30
Generally, C may look like a strange decision for DES, since it
does not support object orientation (Rentsch, 1982; Smith, 2015) 20
and DES is a traditional paradigm where object orientation is
10
intuitively adopted (Bischak and Roberts, 1991). It is indicative
that the ALGOL based simulation language Simula was histori- 0
cally the first that introduced the class concept (Rentsch, 1982). Mailing List Forum IRC Wiki None

Nevertheless, Root-sim is focused on parallel where the C Means of communication


language is used. Figure 3 Means of communication used in OS DES projects.
Results regarding OS licenses are depicted in Figure 2.
Different versions of GPL (in 11) and LGPL (in 10) are most
commonly applied. There is a concern with GPL, as the and Verbraeck, 2005) and maybe it is an opportunity for OS DES
restrictions it imposes may discourage companies to adopt OS to provide such solutions. Projects that are focused in the domains
solutions based on this licence. Indeed, such tools would not be of our interest are scarce, namely two in manufacturing and one
able to be modified and re-distributed in a proprietary form. BSD in supply chain management. Computer and communication
style licences are used by three tools while MIT is used by two. networks on the other hand seem to be quite active with five
APL stands for ‘Academic Public License’, used in OMNeT + + projects dedicated to this domain.
and ‘CCA’ for ‘Creative Commons Attribution’ used in Over- Evaluating how much the projects make use of common OS
Sim. A couple of tools, PARSEC and SIMCAN, use multiple mechanisms, we found that 14 projects supply no documentation
licence types, based on the OS tools they utilize. Also, seven of of any form. In the issue of communication between project
the tools reviewed use custom licences, specific to the tools, members the situation is worse as 31 of the projects provide no
which are described in a licence file. The trouble here would be to dedicated means for this (Figure 3). Mailing lists is the most
identify if those are GPL-compatible. It is of importance that a common means of communication utilized. Also, in more than
licence is GPL-compatible in order to provide the opportunity to half of the projects (23) we could find no version control system
be freely mixed with GPL software, which is a very common for the management of different versions (Figure 4). The above
requirement (Fogel, 2005). Generally, it is easier to realize the give the overall picture that many projects neglect to make use of
implications of a licence that is commonly used than of a custom popular OS practices, which makes it more difficult to attract
one and for this reason OS developers may prefer to deal with attention to these projects.
terms they are familiar with. Finally, in five of the tools we could
not find any information about the licence. We suppose that there
4.2. First phase: Filtering
is some licence that the tool is distributed with, but this was not
directly accessible. This is not considered positive for an OS The objective of this first evaluation phase has been to discard
project, because it is regarded important that an interested projects that do not indicate that the OS project is being actively
developer can find such information for an OS project promptly. supported or are clearly not suitable for the domains of our
More than half of the 44 OS DES projects we found claim to interest, namely OR. Out of this analysis we discarded 34 of the
be of generic nature. Generally, it is good to have generic tools 44 reviewed tools for various reasons. Most commonly, several
that can be potentially extended for specific domains. We should of the tools seem to be inactive, not getting updates in the last
note though that from our results this progression does not seem years. For example, Jist (Barr et al, 2005) has not released any
to commonly take place. It is argued that domain specific DES new version since 2005. Wherever available, we checked the log
environments can facilitate easier model development (Valentin of the commit history in order to see how actively the code is
G Dagkakis and C Heavey—A review of open source discrete event simulation software 3197

Number of projects 25 ● SharpSim: a tool that is written in C#.


20
● PowerDEVS: a competent tool that is focused in the DEVS
15
formalism.
10
● URURAU: has been used in supply chain management and
5
specifically the reduction of CO emissions.
0
Subversion Git Mercurial CVS None

Version control system


4.3. Second phase: Analysis of most competent OS DES tools
In this sub-section, we will examine the tools that passed through
Figure 4 Version control systems used in OS DES projects. the first evaluation stage closer. As we explained before, not all
criteria are directly quantifiable and in many cases a closer
examination is required to get a better understanding.
updated. Other projects failed to pass this initial filtering process,
OMNeT + + (Varga and Hornig, 2008) is a popular OS DES
because they are specific for domains other than the ones of our
tool whose primary focus is the building of communication
interest. Nevertheless, there have been a couple of projects
network simulations. The project has become available to the
targeted in other domains that we did consider further as they
public since September 1997 and maintains a quite active user
show potential to be used in the OR domain: NS-3 (Amoretti
community that consists both of anonymous users and numerous
et al, 2013) and OMNeT + + (Varga, 2001). Furthermore, some
registered universities. A dedicated OMNeT + + developer work-
projects were disregarded because the simulation technique they
shop takes place every year since 2008 (see http://tinyurl.com/
primarily implement is not DES. For example, Repast (North
p9bft67) OMNeT + + is widely used, most commonly for the
et al, 2013) seems to be a very well designed tool, but for the
simulation of communication protocols (Liu and Yang, 2011;
construction of ABS models.
Rosário et al, 2013). Education in simulation is another field that
Another reason to disregard projects has been because of
the project has given focus and there have also been applications
licence issues. One such case has been OOSimL (Garrido, 2009)
in many educational institutions (Varga, 1999). Another indicator
that ‘is freely available for education and research purposes only’
of the success of OMNeT + + , is the existence of other OS project
(http://science.kennesaw.edu/ ~ jgarrido/oosiml.html). It would
that are built on top of it, such as OverSim (Munoz-Gea et al,
be cumbersome to adopt such a tool in applications that are to
2009) or SIMCAN (Núñez et al, 2012).
be used in industry. Many of the under review tools have been
OMNeT + + offers advanced facilities both for developers and
disregarded for more than one of the above reasons. This process
users. For the first category it provides an Integrated Develop-
left us with the ten tools listed below, along with the main reasons
ment Environment that is based on the OS Eclipse (Murphy et al,
of their selection:
2006). For the latter, it offers a GUI runtime, where the user can
drag and drop OMNeT + + modules and connect them into a
● OMNeT + + : the most popular OS DES project that has also model (Figure 5). The project offers many tutorials and support
been used in numerous publications. Although, it is targeted in documents, while communications are facilitated through a wiki
computer networks, its authors claim that its architecture is and a mailing list, both actively used by the community.
generic. Its success led us to condone both licence issues and We can find two drawbacks of OMNeT + + for our purposes.
the fact that is targeted in a different domain. First of all, it is targeted at a different domain. It is generic and
● NS-3: also very popular, though it seems to be more clearly well-implemented, but whereas there have been numerous models
focused to computer networks. and extensions regarding specific issues and protocols of computer
and telecommunication networks, we could find few applications
● SimPy: an actively developed tool, receiving often updates and in the domains of OR (Bause et al, 2008; Kriege and Vastag,
providing support to the users through a mailing list. 2008). Bause et al (2010) also report that they could not find much
● JaamSim: a relatively recent tool, which has a very impressive research available about analysis of business processes using the
user interface. It is also one of the few OS DES tools that were OMNeT + + platform. Moreover, they claim that the mapping of
not initiated by academic research but by a consultancy
(Ausenco, http://www.ausenco.com/).
● JAPROSIM: a tool that has yielded journal publications and
combines DES with Continuous Simulation (CS).
● DESMO-J: a tool that seems to be actively updated and
provides 2-D and 3-D user interfaces.
● Facsimile: a tool that is clearly targeted on the OR domain (ie,
manufacturing and industrial systems). In addition, it is the
only one that uses the SCALA language as its basis. Figure 5 The OMNeT + + runtime GUI.
1984 Journal of Simulation Vol. 10, No. 3

their Hierarchical Process Chains models onto OMNeT + + has process commenced more than a decade ago (King and Harrison,
been feasible, yet far from being trivial, since complex hierarchies 2010). Out of all the OS DES projects we reviewed, JaamSim is
had to be transferred from one view into the other. the one with the most impressive 3d user interface (Figure 6) that
The second, and maybe most important, disadvantage would can compete against COTS DES software. The project gets daily
be the non-permissive OMNeT + + license. As it is stated in the updates and maintains a forum with several topics. In addition, it
OMNeT + + website the free APL covers the use of the tool only distinguishes between ‘User’ and ‘Programming’ manuals, pro-
in academic and educational environments, while a commercial viding different documents for each case, indicating thus a
licence is required for commercial users. consideration of different levels of potential users. Another asset
NS-3 (Henderson et al, 2008) is also a highly active OS tool is that JaamSim as software can be downloaded as a standalone
with a very impressive project structure. The code is worked on executable (of about 6–7 MB for different distributions regarding
several repositories that use the Mercurial version control system Windows, OS X and Linux). The fact that a non-expert user can
and the code gets frequent updates (http://code.nsnam.org/). just download and test the software in a few minutes is something
Communication is offered through wikis and irc channels, while that is a scarce attribute in OS projects and especially in the DES
documentation is provided in several forms. NS-3 is also focused domain.
on the domain of computer networks and we could not find any The tool has a generic architecture, allowing developers to add
applications that extend it to other domains. It offers also plug-ins new objects (‘palettes’ in the JaamSim terminology), whereas the
for a graphical interface (eg http://www.nsnam.org/wiki/Topolo- company offers demonstration videos of its use for simulation of
gy_Generator) but they do not seem to be as aligned with the supply chains. It is the only tool we found that is clearly industry
project’s development status as the GUI of OMNeT + + is. The driven (ie developed and exploited by a commercial consultancy
licence of the software is GPL. Both NS-3 and OMNeT + + can firm) and this may have led to more consistent motivation and
give insight of how an OS DES project can become successful funding. JaamSim is licensed as GPL, so a project based on this is
and attract developers. obliged to use the same licence.
SimPy (Matloff, 2008) is a tool that implements the process JAPROSIM is also a recent project that has yielded Journal
interaction world view, using the Python generator functions. publications (Abdelhabib and Brahim, 2008; Belattar and
SimPy is actively updated in the last years and in October 2013 Bourouis, 2014). It is developed and maintained by research
SimPy3 was released. One negative factor is that SimPy3 institutes in Algeria. JAPROSIM is implemented in Java and
has different syntax from SimPy2, meaning that the project offers also a GUI that is based on the Java Swing library. This
did not keep backwards compatibility. Nevertheless, SimPy3 interface consists of an experimentation frame where the user can
seems to make cleaner use of Python generators and gets daily parameterize the model he programmed and the simulation run
updates. The SimPy mailing list is also populated on a daily basis and windows where the results are displayed in graphs. The trace
with questions and answers about the project. The tool has no of the simulation is also accessible. The tool can also be used to
GUI and it seems to be mostly directed to developers. Docu- combine DES and CS. The licence of JAPROSIM is LGPLv3.
mentation of SimPy3 is adequate, offering knowledge of the The disadvantages of JAPROSIM have been that we could find
modules and several examples. The new version uses a permis- no thorough documentation and also no channels of communica-
sive licence (MIT). tion between developers or users. In addition, from the commit
The fact that SimPy is based in Python has both advantages history we could see that there have been no editions in the code
and disadvantages. Python gives the merit of being more since the February of 2014.
attractive for researchers that are not necessarily software experts DESMO-J (Göbel et al, 2013) is an OS tool that supports both
(Fangohr, 2004). It also provides means for code development the process-oriented and the event-oriented modelling styles. It is
that follows intuitive and clean syntax (Grandell et al, 2006). The being developed by the department of computer science of the
above attributes may make it ideal for forming the basis of an OS University of Hamburg. It offers ready-to-use classes for com-
DES project in industrial environments that will actually succeed mon model components and a user interface that comes in both 2-
in forming a community of developers, modellers and users. D and 3-D versions. Regarding documentation, an online tutorial
In addition, there are many popular scientific packages written in and also API documentation are provided. DESMO-J is licenced
Python (Millman and Aivazis, 2011), like SciPy (Oliver, 2013) or under the permissive Apache License version 2.0. From the
scikit-learn (Pedregosa et al, 2011), so a Python based library has project history log we can see that there are updates with almost a
the potentiality of being integrated with them. However, Python, monthly frequency, indicating an existent but not highly active
as a scripting language, is by default slower than static languages progress. The project has been used by researchers also in the
such as C + + or Java (Dawson, 2002), though there have been manufacturing domain (Papakostas et al, 2009). One disadvan-
attempts to improve the performance of Python in general tage is that the project seems to have no active community, as the
(Tabba, 2010; Lavrijsen, 2012) or even SimPy specifically DESMO-J forum in SourceFourge contains only two topics and
(Bahouth et al, 2007). no new entries since 2011. The same applies for the mailing list
JaamSim (King and Harrison, 2013), developed by the that is existent yet empty.
Canadian company Ausenco (http://www.ausenco.com/), was According to its website, the goal of the Facsimile project is ‘to
recently (in 2013) released as OS, nevertheless its development develop and maintain a high-quality, 3-D, discrete-event
G Dagkakis and C Heavey—A review of open source discrete event simulation software 3199

Figure 6 JaamSim GUI.

simulation library that can be used for industrial simulation even though there is a forum, it holds only 2 topics and it has not
projects in an engineering and/or manufacturing environment’; been updated since 2013.
hence it focuses on the domain of interest. Facsimile uses Scala URURAU has been used by researchers, which are also
(Odersky et al, 2004) as its basis that is a Java-like scripting authors of the tool, to evaluate the CO emissions that are
programming language. It is released under LGPLv3. From our produced by a logistics system (de Assis Rangel et al, 2013).
interaction with the tool we found that it is mostly the work of The researchers also compare their results with that of a model of
one developer. Also, there is a documentation section in the the same system that was built in a COTS DES package (Arena).
website, but it lacks examples to illustrate the use of the tool. The It is seldom to find developers of an OS DES tool presenting a
project website does offer a forum, but it is empty of messages. comparison of the results of their models against an equivalent
Finally, we could not find any scientific publications making use built in COTS software. We believe this should be common
of the project. practice since COTS packages have been around for quite long,
SharpSim is the only tool we found written in C# language. C# actively used, and thus their code is stronger and verified more
was developed by Microsoft within its .NET initiative and that is than most OS alternatives. URURAU provides a GUI where the
a reason why sometimes OS developers are predisposed against user can construct a model graphically. We found that the
it. Nevertheless, it can be used in OS projects. SharpSim projects gets commits in a monthly frequency and there are five
implements the event-scheduling world view and is licensed videos, one to help the user install the software, two providing an
under GPLv2. It has been mainly used by researchers, who are overview of URURAU modules and two presenting example
also the authors of the tool, to simulate unit-load warehouses models.
(Ceylan et al, 2012). An issue from examining the project website Finally, PowerDEVS (Bergero and Kofman, 2011) is a tool
is that there have been no reported developments since 2012 and implementing the DEVS formalism. It is distributed under two
2004 Journal of Simulation Vol. 10, No. 3

licences, namely AFL and GPLv2. The project is active; getting essential for the success of OS development. Fogel (2005)
commits in a monthly frequency, but on the PowerDEVS website provides many valuable guidelines towards this direction.
there was no documentation for third party users. In our attempt to assess research question 2 (‘Is OS DES
applied in real world case studies?’) we found that academic
literature provides a variety of papers describing tools and
methodologies, but only few presenting the use of OS DES
5. Discussion
software in a real case problem. This is opposite to articles where
In the previous section, we conducted a review of OS DES a COTS simulation tool is used, where it is most common to
projects, in which we followed a structured methodology justify- describe the application made in the tool and not the software
ing all of our decisions. This section is a discussion based on the itself. It is indicative that Smith (2003) in his survey, which was
results of our review. Our findings address the research questions not dedicated to OS simulation, reported on the scarcity of
we defined in Section 2. scientific work that is focused in the simulation language/package
Answering to research question 1 (‘What are the problem development (10% of the papers he surveyed). At a certain
domains that OS DES is most commonly targeted towards?’), we degree the specificity of the OS domain is rational, since most OS
find that many OS DES tools are generic, which provides the DES projects commence from research institutes and their
potential for their development into specific domains. This is not authors want to disseminate them to the academic community.
negative, as it is worthwhile having a generic infrastructure that It has also its positive aspect, rendering a variety of ideas and
could potentially be expanded in specific domains that would methodologies available for researchers.
facilitate easier model development (Valentin and Verbraeck, However, in order for OS DES to be really validated it should
2005). Flexibility and modularity of OS software development also present more success stories, with the tool used in real world
should enhance such a process. Of course, it should be identified case studies. In this way OS DES tools will acquire additional
if a tool that claims to be generic is really so and does allow such users, gaining more insight about realistic requirements for these
extensions. tools. From the tools we examined, JaamSim did present its use
In contrast to the OR domain, the computer networks and com- of real supply chain systems, as the tool was initiated and is
munications domain has OS DES tools (NS-3 and OMNeT + +) maintained by a consultancy company. Maybe this is something
that have wide applicability and use, providing a platform for that all OS DES projects, even if they are commenced by
specific simulation based applications (eg SIMCAN simulation of academia, should consider: how they could potentially be
large complex storage networks). This has attracted also wider exploited by a consultant.
scientific interest, emphasized by the existence of papers that About research question 3 (‘What are the categories of users
compare tools in this domain (Weingartner et al, 2009; Sarkar that OS DES is targeted towards?’) we find that OS DES is
et al, 2011). We assume that one reason is the fact that the mainly still in the level of being utilized by software experts. This
domain of computer networks is by default inside the range of is opposite to COTS simulation that is more focused in attracting
interest and knowledge of a software scientist, so it can much industrial engineers either from commercial organizations or the
more easily stimulate the ‘itch in the developer’s head’ that academic society. Only few OS projects pay attention in provid-
Raymond (1999) mentions. ing functional user interfaces and as Sadowski and Sturrock
In other domains the success is much more limited and most (2006) report, if a simulation model incorporates impressive
tools seem to be solely used by their authors, failing thus to attract animation this makes it far easier to gain the engagement of the
contributors or users. There should not be expectancy that there stakeholders.
are one or two tools that can act as absolute leaders in OS DES Furthermore, many OS projects do not produce prefabricated
for OR; this does not happen in the COTS arena either components that a user can incorporate into a model with
(Wiedemann, 2002). However, for OS DES for OR to be minimal programming effort. One of the main problems in
successful, there is need to attract external developers and form adopting DES in general is that different types of systems vary
a community. Having a community of developers is essential in significantly in their logic. With OS DES a web based repository
OS, at least if we trust in the so-called ‘Linus Torvald’s’ law: would be possible to support the exchange of modelling objects.
‘Given enough eyeballs, all bugs are shallow’ (Raymond, 1999). However, there is a need to standardize modelling and software
However, domains such as manufacturing, services and logistics development, that would provide underlying code that is cleanly
are complex and require an industrial engineering background as extensible, well-defined and a semantically abstract architecture
users of an OS DES tool. So a variety of expertise is required, as a prerequisite. An even more difficult technical challenge (see
developer and user, in order to be able to produce an OS DES Schonherr and Rose (2009), McGinnis and Ustun (2009) and Lee
project that is focused on the OR domain, providing quality code et al (2011)) is to give a means for a modeller to efficiently
that can really attract developers into a community. Therefore, it document an object, in a way that another user can retrieve,
is important for the authors of OS DES projects to pay attention understand and use it in his model. This would provide a means
not only to the results they produce, but also to code readability, for OS DES to outperform commercial organizations.
dissemination and management of their projects. Indeed, we Finally, deployment of OS DES software is often cumber-
found that many projects fail in utilizing mechanisms that are some, requiring the user to set a programming environment and
G Dagkakis and C Heavey—A review of open source discrete event simulation software 3201

manually download the dependencies of the code. Therefore, the the different types of users. Interactive means of documentation,
distribution of versions that a user can easily install and test is like prototype examples that the user can try changes, are rarely
essential. In addition with the current advancements of web based utilized. Means of communication are also scarce utilizing
technologies (Byrne et al, 2010), another possibility would be to most of the times fora and mailing lists. It is indicative, that all
provide instances of the software on the web, adopting a the tools we evaluated as most competent in the previous
‘Software as a Service’ (Allen et al, 2012), also referred for paragraph do provide means for all the above categories. It is
DES as Simulation as a Service (Liu et al, 2012), approach. We essential that developers give more attention in the OS nature of
have not identified any project using such prototypes and we the projects so that they can be adopted by third party users.
consider it would be a helpful means of dissemination. DES code is complex and it is easy for a developer to be
It is of our opinion that OS simulation now commences to discouraged from using an OS project if he finds it difficult to
reach the maturity of handling such issues in order to address the obtain support.
needs of different levels of users. Tools like JaamSim or Finally, attention needs to be given in the OS licenses DES
OMNeT + + (in the telecommunications domain) have made tools use (addressing research question 6 ‘What type of OS
progress in becoming usable by non-software experts. It is of licenses is used in OS DES tool?’). In OR systems, where
interest to establish if this shift will indeed take place in the commercial organizations are involved, there is a requirement
following years. for licences that would allow modelling and extensions to be
In answer to research question 4 (‘What software tools are developed that would facilitate closed solutions. This would
most commonly used in OS DES projects?’), we found that restrict the use of GPL but facilitate more permissive licences
traditional languages like C + + and Java are the ones most OS like LGPL to allow extensions to be proprietary. Generally, for
DES tools use. Especially C + + provides high performance that somebody who wants to adopt a tool where he is not the author,
may be essential in large simulations or when simulation is the more permissive the licence the better. It is also of importance
combined with optimization and scenario analysis. On the other though, that a licence is GPL-compatible in order to provide the
hand, coding in Python may be an asset, because it provides opportunity to be freely mixed with GPL software, which is a
convenience for developers (Grandell et al, 2006). This should be very common need (Fogel, 2005). LGPL, BSD and MIT licences
considered, since, as previously argued, requirement of deep are GPL-compatible (Ueda, 2005), so they pose as attractive
software knowledge may significantly narrow the potential pool options.
of developers to an OS DES in the OR domain. From the analysis above, we conclude that the following
Regarding simulation specific DES libraries, we did obtain 44 critical success factors for an OS DES project for OR are:
OS DES projects. However, we could not identify any that has
had success in OR at least not to the degree to be considered a ● Focus on industry: Projects should have a clear objective to be
competent competitor of COTS software yet. One possible used in real industrial cases. In this way their development
exception is JaamSIM which has just recently being made OS. shall be driven from real-life requirements. Moreover, projects
As a result, it is too early to state if JaamSim will attract outside may gain financial resources through this type of activity, in a
developers and as JaamSim is licensed using GPL any extension similar manner to the developers of the JaamSim OS DES tool.
to this tool will also be licenced as GPL, that is, development of a From the number of inactive projects we found, we suspect that
new palette. OMNeT + + and NS-3 were identified as the most many of them have been outcomes of research funding that
successful tools in attracting users and maintaining an OS lasted for a limited timeframe and then they got abandoned. OS
simulation community. Nevertheless, both of these tools focus DES needs to become able to demonstrate success stories that
primarily in computer networks and telecommunications. About will help in gaining broader attention.
OMNeT + + there is also a licencing issue, as it demands a ● Addressing the needs of different users: Many of the projects
commercial licence for commercial applications. Also, SimPy
we found are directed only towards software developers.
has managed to acquire users that are different from the original
However, as well as developers there are also users of
authors of the tool and the use of Python may be proven an
the tool, such as industrial engineers. Both the developer
additional asset in attracting industrial engineers.
and user should contribute in different ways to an OS DES
Trying to assess research question 5 (‘What methodologies
project.
do OS DES projects use to support their development and
community maintenance?’), our generic finding is that many OS ● Expandable web based repositories of simulation components:
DES projects fail in successfully incorporating such material to OS tools should provide prefabricated components that a user
support their users. We believe this is the most important reasons can incorporate into a model with minimal programming
for the limited, so far, growth of OS DES in OR environments. effort. The nature of OS development can enhance the
Exactly half of the projects we reviewed make use of no version extensibility of such a repository and the effective exchange
control software. Even from those that do, many just make only and reuse of the components. Prototyping standards for the
minimal use, having a repository of only one or two initial description of DES elements is a complex matter that is being
commits. Documentation material is most of the times provided actively researched (Schonherr and Rose, 2009; Bloomfield
in only one type (often .pdf documents) and it is the same for all et al, 2012).
2024 Journal of Simulation Vol. 10, No. 3

● Attention to the OS nature of the project: OS development is a Allen B et al (2012). Software as a service for data scientists. Commu-
nications of the ACM 55(2): 81–88.
complex issue, but there are many rigorous tools and meth- De Alwis B and Sillito J (2009). Why are software projects moving from
odologies to support it. Researchers that commence a project centralized to decentralized version control systems? In: Proceedings
should consider these and strive to utilize them in the optimal of the ICSE Workshop on Cooperative and Human Aspects on
way. For example, any OS project that does not use a means Software Engineering, Vancouver, BC, 17 May.
Amoretti M, Picone M, Zanichelli F and Ferrari G (2013). Simulating
for distributed version control, is doomed to fail (Fogel, 2005).
mobile and distributed systems with DEUS and ns-3. In: Proceedings
Our review shows that authors of OS DES projects often of the 2013 International Conference on High Performance Comput-
neglect these aspects of a project development. Utilization of ing and Simulation (HPCS), Helsinki, Finland, pp 107–114.
best OS practices and consideration of issues like dissemina- de Assis Rangel JJ, Peixoto TA, de Oliveira Matias I, Shimoda E, de
tion or licensing are crucial for the success of OS simulation. Oliveira GL and das Dores Cardoso L (2013). Simulation model in a
free and open-source software for carbon monoxide emissions analy-
We consider the above points as essential, in order for OS DES to sis. In: Proceedings of Winter Simulation Conference, Washington,
become more popular and compete rigorously against the COTS DC, 1905–1916.
in the OR domain. Azadeh A, Shirkouhi SN and Rezaie K (2009). A robust decision-
making methodology for evaluation and selection of simulation
software package. The International Journal of Advanced Manufac-
6. Conclusions and future work turing Technology 47(1–4): 381–393.
Bahouth A, Crites S, Matloff N and Williamson T (2007). Revisiting the
As we stated in the Introduction, to our knowledge there is no issue of performance enhancement of discrete event simulation
prior review of OS DES software for OR. This review aspires to software. In: Proceedings of the 40th Annual Simulation Symposium
be a starting point towards fulfilling this gap. DES Practitioners 26(28): 114–122.
may find our work useful in order to evaluate the potentials of OS Bajracharya S, Ossher J and Lopes C (2014). Sourcerer: An infrastruc-
ture for large-scale collection and analysis of open-source code.
DES software, identify software tools that best met their model- Science of Computer Programming 79(SI): 241–259.
ling needs. Moreover, our discussion draws four critical factors Barr R, Haas ZJ and van Renesse R (2005). JiST: An efficient approach
that OS DES software should turn its attention towards. These to simulation using virtual machines. Software: Practice and Experi-
include: focus towards industrial cases to validate DES software ence 35(6): 539–576.
tools, provide efforts to address users with different needs and Bause F, Buchholz P, Kriege J and Vastag S (2010). A simulation
environment for hierarchical process chains based on OMNeT + + .
requirements and provide a means to establish an active OS DES Simulation 86(5–6): 291–309.
community by utilization of best practices in OS. These points Bause F, Buchholz P, Kriege J and Vastag S (2008). Simulating process
should be useful for researchers that wish to be actively involved chain models with OMNeT + + . In: Proceedings of the 1st Interna-
in the design and development of an OS DES project. tional Conference on Simulation Tools and Techniques for Commu-
Our work has limitations that may also draw implications nications, Networks and Systems & Workshops 19:1–10.
Belattar B and Bourouis A (2014). Yet another java based discrete-event
regarding future work. We have evaluated the software tools we simulation library. Journal of Software 9(1): 82–88.
found based on well-defined criteria. Nevertheless, we did not Di Bella E, Sillitti A and Succi G (2013). A multivariate classification of
proceed in developing a software selection method using weight- open source developers. Information Sciences 221: 72–83.
ing factors. This could be a matter of future study. However, Bergero F and Kofman E (2011). PowerDEVS: A tool for hybrid system
careful research should be conducted, since as we explained in modeling and real-time simulation. Simulation 87(1–2): 113–132.
Bischak D and Roberts S (1991). Object-oriented simulation. In:
Section 3, some important evaluation factors of OS projects are Proceedings of the 23rd Conference on Winter Simulation. IEEE
not always easily quantifiable. Another way to obtain more Computer Society: Phoenix, AZ, pp 194–203.
information on OS DES software may be in the form of a survey. Bloomfield R, Mazhari E, Hawkins J and Son Y (2012). Interoperability
Regarding COTS tools, something similar is fulfilled by the of manufacturing applications using the core manufacturing simula-
biennial survey of simulation software (Swain, 2014), which is tion data (CMSD) standard information model. Computers &
Industrial Engineering 62(4): 1065–1079.
based on questionnaires. Finally, it would be of interest to
Buss A (2002). Simkit: Component based simulation modeling with
compare OS tools implementing actual models which would Simkit. In: Proceedings of the 34th Conference on Winter simulation:
allow comparison of aspects like modelling flexibility, easiness in exploring new frontiers. Winter Simulation Conference ©2002: San
coding and performance. Diego, CA, pp 243–249.
Byrne J, Heavey C and Byrne PJ (2010). A review of web-based
Acknowledgements —The research leading to the results presented in this simulation and supporting tools. Simulation Modelling Practice and
paper has received funding from the European Union Seventh Framework Theory 18(3): 253–276.
Programme (FP7-2012-NMP-ICT-FoF) under grant agreement n° 314364. Can B, Beham A and Heavey C (2008). A comparative study of genetic
algorithm components in simulation-based optimisation. In: Proceed-
ings of the 40th Conference on Winter Simulation. Winter Simulation
Conference ©2008: Miami, FL, pp 1829–1837.
Ceylan A, Günal MM and Bruzzone AG (2012). A new approach to
References
simulation modeling of unit-load warehouses. In: Proceedings of
Abdelhabib B and Brahim B (2008). JAPROSIM: A java framework for the 2012 Symposium on Emerging Applications of M&S in Industry
process interaction discrete event simulation. Journal of Object and Academia Symposium. Society for Computer Simulation Inter-
Technology 7(1): 103–119. national: San Diego, CA, USA.
G Dagkakis and C Heavey—A review of open source discrete event simulation software 3203

Dawson B (2002). Game scripting in Python. In: Proceedings of the Electrical and Control Engineering (ICECE), IEEE: Yichang, China,
Game Developers Conference (GDC). pp 4602–4605.
Engelfriet A (2010). Choosing an open source license. Software, IEEE Matloff N (2008). Introduction to discrete-event simulation and the
27(1): 48–49. simpy language. Dept of Computer Science. University of California
Fangohr H (2004). A comparison of c, matlab, and python as teaching at Davis, Davis, CA.
languages in engineering. In: Bubak M, Albada GD van, Sloot PMA McGinnis L and Ustun V (2009). A simple example of SysML-driven
and Dongarra JJ (eds). Computational Science – ICCS 2004. Springer simulation. In: Proceedings of the 2009 Winter Simulation Con-
Berlin Heidelberg: Kraków, Poland, pp 1210–1217. ference (WSC), Austin, TX, pp 1703–1710.
Fitzgerald B (2004). A critical look at open source. Computer 37(7): 92–94. McGowan D (2005). Legal aspects of free and open source software. In:
Fogel K (2005). Producing Open Source Software: How to Run a Feller JJ, Fitzgerald B, Hissam SA, Karim R and Lakhani KR (eds).
Successful Free Software Project. O'Reilly Media, Inc: Sebastopol, Perspectives on Free and Open Source Software. MIT Press: Cam-
CA, USA. bridge, MA, chapter 24, pp 361–392.
Fujimoto R (1990). Parallel discrete event simulation. Communications McLean C and Leong S (2001). The expanding role of simulation in
of the ACM 33(10): 30–53. future manufacturing. In: Proceedings of the 33rd Conference on
Garrido JM (2009). Object oriented program correctness with OOSimL. Winter Simulation, IEEE Computer Society: Washington, DC, USA,
Journal of Computing Sciences in Colleges 25(2): 85–91. pp 1478–1486.
Göbel J, Joschko P, Koors A and Page B (2013). The discrete event Millman KJ and Aivazis M (2011). Python for scientists and engineers.
simulation framework DESMO-J: Review, comparison to other Computing in Science & Engineering 13(2): 9–12.
frameworks and latest development. In: Rekdalsbakken W, Bye RT Munoz-Gea JP, Malgosa-Sanahuja J, Manzanares-Lopez P, Manzanares-
and Zhang H (eds). ECMS. European Council Modelling & Simula- Lopez P, Sanchez-Aarnoutse JC and Martinez-Rojo AM (2009).
tion: Alesund, Norway, pp 100–109. Simulation of a P2P Application Using OverSim. First International
Grandell L, Peltomäki M, Back RJ and Salakoski T (2006). Why Conference on Advances in Future Internet, IEEE: Athens/Vouliagmeni,
complicate things?: introducing programming in high school using Greece, pp 53–60.
Python. In: Proceedings of the 8th Australasian Conference on Murphy G, Kersten M and Findlater L (2006). How are Java software
Computing Education, Darlinghurst, Australia, Chapter 52: 71–80. developers using the Elipse IDE? Software, IEEE 23(4): 76–83.
Henderson TR, Lacage M, Riley GF, Dowell C and Kopena JB (2008). Nikoukaran J, Hlupic V and Paul RJ (1999). A hierarchical framework
Network simulations with the ns-3 simulator. SIGCOMM Demon- for evaluating simulation software. Simulation Practice and Theory
stration 15: 1–3. 7(3): 219–231.
Hlupic V (2000). Simulation software: An operational research society Nikoukaran J and Paul RJ (1999). Software selection for simulation
survey of academic and industrial users. In: Proceedings of the 32nd in manufacturing: A review. Simulation Practice and Theory 7(1):
Conference on Winter Simulation. Society for Computer Simulation 1–14.
International: San Diego, CA, USA, pp 1676–1683. North M et al (2013). Complex adaptive systems modeling with repast
Jadhav AS and Sonar RM (2009). Evaluating and selecting software simphony. Complex Adaptive Systems Modeling 1(1): 1–26.
packages: A review. Journal of Information and Software Technol- Núñez A, Fernández J, Filgueira R, García F and Carretero J (2012).
ogy 51(3): 555–563. SIMCAN: A flexible, scalable and expandable simulation plat-
Kilgore RA (2001). Web 1: Open source simulation modeling language form for modelling and simulating distributed architectures and
(SML). In: Proceedings of the 33rd conference on Winter simulation. applications. Simulation Modelling Practice and Theory 20(1):
IEEE Computer Society Washington, DC, USA, pp 607–613. 12–32.
King D and Harrison H (2010). Discrete-event simulation in Java: A Odersky M et al (2004). An overview of the Scala programming language.
practitioner’s experience. In: Proceedings of the 2010 Conference on Technical Report IC/2004/64. EPFL: Lausanne, Switzerland.
Grand Challenges in Modeling & Simulation, Society for Modeling Oliver M (2013). Introduction to the Scipy Stack—Scientific Computing
& Simulation: International Vista, CA, pp 436–441. Tools for Python.
King D and Harrison H (2013). JaamSim open-source simulation Papakostas N, Efthymiou K, Mourtzis D and Chryssolouris G (2009).
software. In: Proceedings of the 2013 Grand Challenges on Model- Modelling the complexity of manufacturing systems using nonlinear
ing and Simulation Conference: 1–6. dynamics approaches. CIRP Annals—Manufacturing Technology
Kriege J and Vastag S (2008). ProC/B goes OMNeT + + : Efficient 58(1): 437–440.
simulation of process chains. In: Proceedings of the 14th I/ITG Paul RJ and Taylor SJE (2002). What use is model reuse: Is there a crook
Conference on Measuring, Modelling and Evaluation of Computer at the end of the rainbow? In: Proceedings of the Winter Simulation
and Communication Systems (MMB), Dortmund, Germany, pp 1–3. Conference, San Diego, Chapter 1: 648–652.
Lakhani KR and Von Hippel E (2003). How open source software Pedregosa F et al (2011). Scikit-learn: Machine learning in python.
works : ‘Free’ user-to-user assistance. Research Policy 32(6): 923–943. The Journal of Machine Learning Research 12: 2825–2830.
Langlois RN (2002). Modularity in technology and organization. Journal Pidd M and Carvalho A (2006). Simulation software: Not the same
of Economic Behavior & Organization 49(1): 19–37. yesterday, today or forever. Journal of Simulation 1(1): 7–20.
Lavrijsen WT (2012). Optimizing python-based ROOT I/O with PyPy’s Raymond E (1999). The cathedral and the bazaar. Knowledge, Technol-
tracing just-in-time compiler. Journal of Physics: Conference Series ogy & Policy 12(3): 23–49.
396(5): 052046. Rentsch T (1982). Object oriented programming. ACM SIGPLAN Not
Lee YTT, Riddick FH and Johansson BJI (2011). Core manufacturing 17(9): 51–57.
simulation data—A manufacturing simulation integration standard: Rosário D, Zhao Z, Silva C, Cerqueira E and Braun T (2013). An
overview and case studies. International Journal of Computer OMNeT + + Framework to evaluate video transmission in mobile
Integrated Manufacturing 24(8): 689–709. wireless multimedia sensor networks. In: Proceedings of the 6th
Liu X, He Q, Qiu X, Chen B and Huang K (2012). Cloud-based computer International ICST Conference on Simulation Tools and Techniques,
simulation: Towards planting existing simulation software into Cannes, France, pp 277–284.
the cloud. Simulation Modelling Practice and Theory 26: 135–150. Sadowski DA and Sturrock DT (2006). Tips for successful practice of
Liu Y and Yang C (2011). OMNeT + + based modeling and simulation simulation. In: Proceedings of 1999 Winter Simulation Conference,
of the IEEE 1588 PTP clock. In: 2011 International Conference on Phoenix, AZ, Chapter 1: 60–66.
2044 Journal of Simulation Vol. 10, No. 3

Sarkar NI, Member S and Halim SA (2011). A review of simulation of Varga A (1999). Using the OMNeT + + discrete event simulation system
telecommunication networks : Simulators , classification , compar- in education. IEEE Transactions on Education 42(4): 1–11.
ison , methodologies , and recommendations. Cyber Journals: Multi- Varga A (2001). The OMNeT + + discrete event simulation system.
disciplinary Journals in Science and Technology-Journal of Selected In: Proceedings of the European Simulation Multiconference (ESM
Areas in Telecommunications (JSAT) 2(3): 10–17. 2001), Prague - Czech Republic, pp 9.
Schonherr O and Rose O (2009). First steps towards a general SysML Varga A and Hornig R (2008). An overview of the OMNeT + +
model for discrete processes in production systems. In: Proceedings simulation environment. In: Proceedings of the 1st International
of the 2009 Winter Simulation Conference (WSC), Austin, TX, Conference on Simulation Tools and Techniques for Communica-
pp 1711–1718. tions, Networks and Systems & Workshops, ICST (Institute for
Schriber T, Brunner D and Smith J (2012). How discrete-event simula- Computer Sciences, Social-Informatics and Telecommunications
tion software works and why it matters. In: Proceedings of the Winter Engineering: Brussels, Belgium.
Simulation Conference, Berlin, Germany, pp 1–15. Weber S (2004). The Success of Open Source. Vol. 368. Harvard
Smith B (2015). Object-Oriented Programming. In: AdvancED Action- University Press: Cambridge, MA.
Script 3.0: Design Patterns, Apress: New York City, USA. pp. 1–23. Weingartner E, Lehn VH and Wehrle K (2009). A performance com-
Smith JS (2003). Survey on the use of simulation for manufacturing parison of recent network simulators. In: IEEE International Con-
system design and operation. Journal of Manufacturing Systems ference on Communications. ICC '09, Dresden, Germany, pp 1–5.
22(2): 157–171. Wiedemann T (2002). Next generation simulation environments founded
Swain J (2014). Simulation software survey. OR/MS Today 40(5). on open source software and XML-based standard interfaces. In:
Tabba F (2010). Adding concurrency in python using a commercial Proceedings of the Winter Simulation Conference, San Diego, CA,
processor’s hardware transactional memory support. ACM SIGARCH Chapter 1: 623–628.
Computer Architecture News 38(5): 12. Wiedemann T (2005). SIMSOLUTION: An open simulation environ-
Taylor SJE, Kiss T, Terstyanszky G, Kacsuk P and Fantini N (2014). Cloud ment founded on extreme multitasking. In: Proceedings of the 37th
computing for simulation in manufacturing and engineering: Introdu- Conference on Winter Simulation, Winter Simulation Conference
cing the CloudSME simulation platform. In: Proceedings of the 2014 ©2005: Orlando, FL, pp 631–636.
Annual Simulation Symposium, Society for Computer Simulation Ye Y and Kishida K (2003). Toward an understanding of the
International: San Diego, CA, USA. motivation of open source software developers. In: Proceedings of
Ueda M (2005). Licenses of open source software and their economic the 25th International Conference on Software Engineering, IEEE
values. In: The 2005 Symposium on Applications and the Internet Computer Society: Washington, DC, USA, pp 419–429.
Workshops, 2005. Saint Workshops, Trento, Italy, pp 381–383. Yücesan E, Chen CH, Snowdon JL and Charnes JM (2002). An
Valentin EC and Verbraeck A (2005). Requirements for domain specific evaluation and selection methodology for discrete-event simulation
discrete event simulation environments. In: Proceedings of the 2005 software. In: Proceedings of the 2002 Winter Simulation Conference,
Winter Simulation Conference, Orlando, FL, pp 654–663. San Diego, CA, pp 67–75.
G Dagkakis and C Heavey—A review of open source discrete event simulation software 3205

Appendix
OS DES tools classification

Table A1 Classification of OS DES tools (part 1)

Tool Website Language Licence Latest Release Latest Update

SimPy http://tiny.cc/lfkpjx Python MIT 14 May 2014 16 June 2014


OMNeT + + http://tiny.cc/kgkpjx C++ APL 10 March 2014 X
JaamSim http://tiny.cc/6gkpjx Java GPLv3 20 March 2014 20 June 2014
NS-3 http://tiny.cc/ohkpjx C++ GPLv2 20 December 2013 23 June 2014
JiST http://tiny.cc/0hkpjx Java Custom 01 March 2005 X
JAPROSIM http://tiny.cc/gikpjx Java LGPLv3 10 March 2014 21 February 2014
DESMO-J http://tiny.cc/sikpjx Java Apache V2.0 26 March 2014 04 June 2014
Facsimile http://tiny.cc/5ikpjx Scala LGPLv3 29 May 2014 29 May 2014
SharpSim http://tiny.cc/hjkpjx C# GPLv2 20 August 2013 1 October 2012
PowerDEVS http://tiny.cc/5jkpjx C++ GPLv3 X 2 May 2014
DEV-C + + http://tiny.cc/kkkpjx C++ X 21 February 2005 X
Spades/JAVA http://tinyurl.com/m3rr2j6 Java X X X
JavaSim http://tiny.cc/iqkpjx Java X 20 February 2004 5 July 2006
J-Sim http://tiny.cc/cskpjx Java BSD 14 May 2014 X
Hase http://tiny.cc/7skpjx C + + /Java Custom 6 May 2014 X
SimJava http://tiny.cc/xtkpjx Java Custom X X
JavaSim http://tiny.cc/fukpjx Java LGPLv2.1 X 4 June 2013
C + + Sim http://tiny.cc/fukpjx C++ LGPLv2.1 X 14 March 2013
CD + + http://tiny.cc/vukpjx C++ X X X
SystemC http://tiny.cc/gvkpjx C/C + + Custom 23 April 2014 X
PARSEC http://tiny.cc/yvkpjx C++ Multiple X X
Turtuga http://tiny.cc/9vkpjx Java LGPL X 28 August 2008
SIM.JS http://tiny.cc/nwkpjx JavaScript LGPL X 16 January 2012
GeneSim http://tiny.cc/7wkpjx C++ GPLv2 13 February 2009 17 April 2013
OOSimL http://tiny.cc/sxkpjx C + + /Java Custom X 10 February 2012
Root-Sim http://tiny.cc/izkpjx C GPLv3 X 16 January 2014
libFAUDES http://tiny.cc/a0kpjx C++ LGPL 3 April 2014 X
SimKit http://tiny.cc/k3npjx C + + /Java Custom X X
TerraME http://tiny.cc/x3npjx C++ LGPL 3 February 2014 X
RePast http://tiny.cc/mxnpjx C++ New BSD 12 August 2013 20 August 2013
MGSim http://tiny.cc/4xnpjx C++ X 27 July 2013 11 October 2013
OSSim http://tiny.cc/lynpjx Java BSD 20 July 2011 20 July 2011
URURAU http://tiny.cc/xynpjx Java GPL X 9 May 2014
SimGrid http://tiny.cc/aznpjx Java/C/Ruby GPL 2 December 2013 4 April 2014
SIMCAN http://tiny.cc/a0npjx C + + /OMNeT + + Multiple 5 September 2011 X
OverSim http://tiny.cc/p0npjx C + + /OMNeT + + CCA V3 X X
JGPSS http://tiny.cc/80npjx Java Custom 14 October 2010 3 April 2014
JSL http://tiny.cc/k1npjx Java GPL X 9 January 2013
YetiSim http://tiny.cc/w1npjx C++ GPLv2 X X
FreeSML http://tinyurl.com/lo5jqfs Java LGPL X X
Jades http://tiny.cc/v2npjx Java Apache V2.0 X 4 December 2013
XGDESK http://tiny.cc/52npjx C# MIT 31 December 2012 28 March 2013
ScipySim http://tinyurl.com/m3vhvdl Python GPLv3 September 2010 September 2011
PySimulator http://tiny.cc/1fdfkx Python LGPL 11 March 2014 5 June 2014
2064 Journal of Simulation Vol. 10, No. 3

Table A2 Classification of OS DES tools (part 2)

Tool Domain Documentation Communications Version Control Simulation Technique

SimPy Generic Online Mailing list Mercurial DES


OMNeT + + Computer & Communication Networks PFD, Online Mailing list X DES
JaamSim Generic Manuals Forum Git DES
NS-3 Computer & Communication Networks Several Formats Wiki, IRC Mercurial DES
JiST Computer & Communication Networks User Guide X CVS DES
JAPROSIM Generic HTML API X Subversion DES & CS
DESMO-J Generic PDF X Subversion DES
Facsimile Manufacturing Online X Git DES
SharpSim Generic PDF tutorial Forum X DES
PowerDEVS Generic X X Subversion DEVS
DEV-C + + Generic X X X DEVS
Spades/JAVA Generic Manual (DOC) X X PDES
JavaSim Generic DOC, Online, API Mailing list X DES
J-Sim Biomedicine Online and videos X X Multiple
Hase Computer Architecture Online manual X X DES
SimJava Generic Online manual Χ X DES
JavaSim Generic PDF Mailing lists X DES
C + + Sim Generic PDF Χ X DES
CD + + Generic DOC, videos X X DEVS
SystemC Systems on Chip Video, Technical Courses Forum Χ DES
PARSEC Parallel simulation X X X PDES
Turtuga Generic Χ Χ X DES
SIM.JS Generic Online Mailing list Subversion DES
GeneSim Code Gerator X X CVS DES
OOSimL Simulation Education Manual (pdf—2 parts) X X DES
Root-Sim Parallel simulation Online X Subversion PDES, DS
libFAUDES Manufacturing Online, API X X Not DES
SimKit Generic Online, Javadocs X X DES
TerraME Terrestrial Systems HTML API, DOC, PDF X Subversion Multiple
RePast Generic Online Mailing lists CVS ABS
MGSim Systems on Chip X X Git DES
OSSim Educational X X X DES
URURAU Supply chain Youtube videos X Mercurial DES
SimGrid Systems on Chip Online Mailing list, IRC Git DS
SIMCAN Computer & Communication Networks X X X DES
OverSim Computer & Communication Networks Online X X DES
JGPSS Simulation Education X X Subversion DES
JSL Simulation Education PDF X Mercurial DES
YetiSim Generic X Mailing lists X DES
FreeSML Generic X X X DES
Jades Generic X X Git DES
XGDESK Generic X X X DES
ScipySim Generic X Wiki Mercurial Multiple
PySimulator Generic X X Git Multiple

Received 17 September 2014;


accepted 01 April 2015 after one revision

You might also like