A Review of Open Source Discrete Event Simulation Software For Operations Research
A Review of Open Source Discrete Event Simulation Software For Operations Research
net/publication/281391626
CITATIONS READS
87 8,511
2 authors:
All content following this page was uploaded by Georgios Dagkakis on 15 October 2015.
1. Introduction (2001) makes several arguments for the new properties that OS
Commercial-Off-The-Shelf (COTS) Discrete Event Simulation
(DES) software has been around for several decades and has
PY
can give to DES modelling. The author takes several of the points
that Raymond (1999) made in his seminal article ‘The Cathedral
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
O
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.
C
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
expertise in industrial engineering is essential.
Our domain of focus is the use of OS simulation for decision
support in OR. With OR we mean manufacturing, services,
PY
claim to be open, in terms that the user can see the code (eg
ExtendSim http://www.extendsim.com/), but they are not
distributed under on OS license, so they are out of the scope
of this review.
O
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
academic literature. The keyword we used has been a Boolean
C
and gaps and potentialities for future work. Given this, we set our
research questions accordingly: similar searches like above in Google, which revealed more
projects. In addition to Google, we also searched in popular
TH
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?
U
3. What are the categories of users that OS DES is targeted 3.2. Definition of evaluation criteria
towards?
Software selection and evaluation is a topic that has been widely
A
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
same way (Ueda, 2005). To make OS suitable for use in
commercial products GNU has also created the GNU Lesser
PY
based on them. The full results are presented in the Appendix. For
reasons of space the results were broken into two tables. Also, in
the first table the websites of the tools are shortened using
General Public License (LGPL) (Fitzgerald, 2004). LGPL
O
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
C
● 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).
U
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
4 Journal of Simulation
Number of projects 25 12
Number of projects
20 10
8
15
6
10
4
5 2
0 0
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
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
R
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
O
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
TH
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
U
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.
A
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 5
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
R
● 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
O
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.
TH
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
U
● 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
A
● 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.
6 Journal of Simulation
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
SimPy3 was released. One negative factor is that SimPy3
has different syntax from SimPy2, meaning that the project
PY
Bourouis, 2014). It is developed and maintained by research
institutes in Algeria. JAPROSIM is implemented in Java and
offers also a GUI that is based on the Java Swing library. This
O
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
C
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.
The disadvantages of JAPROSIM have been that we could find
R
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.
TH
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
U
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
A
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 7
PY
O
C
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.
TH
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
U
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
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
8 Journal of Simulation
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 + +)
that have wide applicability and use, providing a platform for
specific simulation based applications (eg SIMCAN simulation of
PY
maintained by a consultancy company. Maybe this is something
that all OS DES projects, even if they are commenced by
academia, should consider: how they could potentially be
O
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
C
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
R
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-
O
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
TH
(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
A
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 9
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
software knowledge may significantly narrow the potential pool
of developers to an OS DES in the OR domain.
options.
PY
are GPL-compatible (Ueda, 2005), so they pose as attractive
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.
O
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
TH
● 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
tools, provide efforts to address users with different needs and
requirements and provide a means to establish an active OS DES
PY
ence 35(6): 539–576.
Bause F, Buchholz P, Kriege J and Vastag S (2010). A simulation
environment for hierarchical process chains based on OMNeT + + .
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
O
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-
C
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
R
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
O
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
TH
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 &
U
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 11
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
survey of academic and industrial users. In: Proceedings of the 32nd
Conference on Winter Simulation. Society for Computer Simulation
International: San Diego, CA, USA, pp 1676–1683.
1–14.
PY
Nikoukaran J and Paul RJ (1999). Software selection for simulation
in manufacturing: A review. Simulation Practice and Theory 7(1):
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.
R
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
O
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
U
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.
A
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.
Valentin EC and Verbraeck A (2005). Requirements for domain specific
discrete event simulation environments. In: Proceedings of the 2005
Winter Simulation Conference, Orlando, FL, pp 654–663.
PY
Yücesan E, Chen CH, Snowdon JL and Charnes JM (2002). An
evaluation and selection methodology for discrete-event simulation
software. In: Proceedings of the 2002 Winter Simulation Conference,
San Diego, CA, pp 67–75.
O
C
R
O
TH
U
A
G Dagkakis and C Heavey—A review of open source discrete event simulation software 13
Appendix
OS DES tools classification