September 5, 2008

erlSim Beta Released

Posted in erlang development tagged , , , , , at 3:55 pm by tetontech

erlSim, a discrete event simulator written in erlang, has been released and is available at
This simulation engine takes advantage of erlang’s high concurrency and speed of execution. It also includes several random distributions that are typically used in simulations such as the triangular and normal distributions.

Included in the downloadable package are test harnesses for the simulation engine as well as some of the distributions. These distributions are a work in progress. Many of them have not even been run let alone tested. Those that have test harnesses should be working.

The intriguing idea behind using erlang as a discrete simulation environment is that each tool, object, person, etc. in the simulation could be an individual process. Or, if you wanted, each process that acts on simulation entities could be an erlang process. The engine doesn’t care how you chose to create your simulation.



  1. brian said,

    When I try to debug using the simulator I get this error:
    “terminating due to uncaught exception”
    Any ideas?

  2. tetontech said,

    Could you give me a little more information?

    Were there any other messages?

    Did it fail right off the bat?


  3. brian said,

    Figured it out! Turned out I was loading the template wrong.

  4. Joseph Kim said,

    It looks very interesting and I do highly appreciate your shaing the work with all. I’ve been thinking of parallel & distributed simulation for years, especially in the emerging context of multi- and many-core processors, so nowadays I’m checking erlang together with clojure/java for this type of applications.

    By the way I couldn’t find any documents for basic usages & included examples within the erlSim package and found that the recent RC1 lacks test data for the said examples (in this regard I have to admit that I just started learning erlang). Copying them from beta release still not work and gives me the error messages attached below (under Ubuntu 8.10).

    Any help or advice would be greatly appreciated!

    1> sim_engine_test:start().
    “doing 1”
    “doing 2”
    “doing 3”
    “doing 4”
    “doing 5”
    “doing 6”
    Reading file “test_data/p1c1.tdata”.
    generating 10 events.
    Starting test “test_data/p1c1.tdata”.
    =ERROR REPORT==== 25-Jan-2009::16:10:46 ===
    Error in process with exit value: {undef,[{sim_engine,start,[[{event,0,’active_01′,{“Some set of data”,” is put in here.”}},{event,10,’active_01′,{“Some set of data”,” is put in here.”}},{event,20,’active_01′,{“Some set of data”,” is put in here.”}},{event,30,’active_01’…

    • tetontech said,


      I have not generated usage documents at this point. I’m afraid documentation creation has to wait until I finish a book I am under contract for about iPhone hybrid application development.
      The tests are the only examples at this time as well. I will look at the reason for the error and remedy it. What type of example simulations do you think would be of help?

      After the book is done, hopefully within a month, I plan on getting back into developing the simulator again. I will be creating a business process simulation engine for an upcoming class I am teaching. Maybe that could be one of the examples. Another could be a simple shop floor planning/scheduling simulation. That was my area of expertise prior to coming to the university four years ago.

      There is at least one company using the simulation engine but I can not talk about how they are using it without permission. What is your area of interest?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: