Closed pbayer closed 4 years ago
I think that the word "simulate" is more important to the package's identity than "discrete" since "discrete" is already implied by "event". Personally, I would go for something like "EventSim".
In the long term we need a domain-specific ecosystem in Julia for simulation like BioJulia
, JuliaOpt
, EcoJulia
, JuliaStats
. Currently we have three packages for discrete event simulation 😒, each with Sim
in the name. At the moment it makes sense to keep them separate from an evolutionary perspective.
There is no JuliaSim
yet and SimJulia.jl
is another package. This commends for the time being to keep the Sim
in the package name as you suggest.
EventSim.jl
is a name perhaps too close to EventSimulation.jl
, one of the other two packages. SimEvent.jl
would be another option but sounds a bit like MathWorks SimEvents
. 😕
seems like SimulateEvents.jl
is a natural option :-)
I also like DiscreteSim.jl as a clear and unencumbered option.
Here's a word play:
DESim.jl
is short and uses the acronym DES for discrete event systems,EvtSim.jl
: this I don't like so much, DevSim.jl
is my favourite, I like also the development idea in it, sounds like something practical, useful (interferes with DEVS, though not too much due to camel case), DiscreteEvSim.jl
is not so bad either, albeit not so short,
…I'm just reading up. -- I like DESim.jl
because it fits well into the wikipedia articles (sorry german) DES and Discrete Simulation. I also like the first proposition DiscreteEvent.jl
; within a Simulation ecosystem domain it specifies what the package is about.
From the first wikipedia link I'm not sure about DiscreteSim.jl
, it seemed to me that this term is more generic than discrete event simulation.
DESimulate.jl
would maintain the connection with the current package name. I still also like DiscreteEvent.jl
, but can we bet that a Julia simulation ecosystem will emerge? It should!
This is becoming a pretty bad "bikeshed", so this will probably be my last response.
I'd strongly recommend avoiding abbreviations and acronyms that are not well-known to the general population ("Sim" is well-known to be shorthand for "Simulation", but "Ev" isn't for "Event" nor "DES" for "Discrete Event Simulation" outside of a tiny segment of the population). In fact the manual for Pkg.jl has a section recommending against this. I'm not super invested in which specific package name is picked, but I would strongly prefer it not have an inscrutable abbreviation in it.
Of the suggestions shared so far, I've come to like DiscreteEvent
(I think DiscreteEvents
is slightly less awkward, but that's a whole 'nother bikeshed) or SimulateEvents
best the more I think about it. They are relatively long, but they're clear on the package's purpose, and you only have to type using SimulateEvents
once.
EDIT: after reviewing the naming guidelines again, this definitely falls under point 5. So you could consider something more creative here and less descriptive:
Skipping.jl
is kinda fun and references how DES works under the hood.Pogo.jl
because you jump through time steps.ProgRock.jl
referencing/emphasizing the important distinction between next-event time progression and fixed-increment time progression.TickTock.jl
since the clock is so important to what's going on here.Colosseum.jl
or Circus.jl
playing on the name of the most popular software in the DES genre (Arena).Thank you for pointing out the guidelines regarding abbreviations and also for the funny suggestions 😆. Yes, DiscreteEvents.jl
and SimulateEvents.jl
are both fine.
Simulate.jl
has been renamed to DiscreteEvents.jl
and successfully built on CI. GitHub maintains the old links and redirects them to the renamed package.
@pbayer what is the actual package simulate or discreteEvents? What will be supported? The Simulate.jl documentation does not work...
As @John_Gibson pointed out it would be appropriate to rename the package. I like his suggestion to name it
DiscreteEvent.jl
.