[erlang-questions] discrete event simulation

Olivier BOUDEVILLE olivier.boudeville@REDACTED
Fri Nov 18 16:33:09 CET 2011


First of all, sorry for the shameless plug(s)! 

I believe we are doing something along the lines of what you described: we 
developed a large-scale concurrent (parallel and distributed) generic 
discrete synchronous (time-stepped) simulation engine in Erlang, named 
Sim-Diasca. We used it then on high-performance clusters, notably for the 
CLEVER project (http://www.cleveronline.org/).

Since 2010 we have been releasing it as free software (LGPL), see 

Compared to other approaches (ex: C++ augmented of a middleware), I would 
say that using Erlang looks a lot more like a non-issue. Regarding the OO 
issue you mentioned, we relied on WOOPER 
(http://ceylan.sourceforge.net/main/documentation/wooper/) to fully cover 
our needs. We may have in the future a chance of comparing this 
Erlang-based approach with a high-end C++ one, and I am fully confident 
that, at least cost-wise, Erlang will easily win that match.

I think one can also find at least some PhD theses mentioning other works 
in that field, notably an asynchronous (optimistic) simulator that was 
developed, still in Erlang, some time ago.

So, yes, even if it is probably not expected to become a mainstream use of 
Erlang, I believe this language happens to be very suitable to such 
simulation needs. 

Not wanting to hijack more this list, so maybe for any further exchanges 
on that topic we could move off-list? As for me, I would be glad to share 
experiences and thoughts about the use of Erlang for such simulations.

Best regards,

Olivier Boudeville

EDF R&D : 1, avenue du Général de Gaulle, 92140 Clamart, France
Département SINETICS, groupe ASICS (I2A), bureau B-226
Office : +33 1 47 65 59 58 / Mobile : +33 6 16 83 37 22 / Fax : +33 1 47 
65 27 13

Envoyé par : erlang-questions-bounces@REDACTED
18/11/2011 15:52

Re: [erlang-questions] discrete event simulation

Sorry for the late response, I flagged this e-mail for responding to, 
but accidentally also archived it.

I am doing research in discrete distributed simulation and have read the 
paper that you are referring to. I have not found any other references to 
using Erlang for simulation work. I think this is because not one really 
ran with the research and produced more papers. There may be industrial 
applications that have been built, but since those tend to be internal 
projects and not outward facing products there isn't much press on them 
:-) The mainline languages that are used for simulation tend to be OO 
based, so you see a lot of discussion of using Java and C++, but almost 
nothing for other languages.

I don't feel that there is a significant advantage in using something like 
C++, because Erlang/OTP allows for the encapsulation that OO is being used 
for. Also to be quite honest when it comes to large distributed 
simulations I suspect that modern Erlang would beat the pants off more 
traditional languages wrt to engineering costs and performance, since 
doing large scale threading and concurrency in most OO languages is a 
pain. I am looking at doing a comparison of implementing in C++ and Erlang 
for distributed simulation, but I don't have a lot of spare time to work 
on it.
-Ryan Harrison 

On 13 October 2011 09:36, Floris van Manen <vm@REDACTED> wrote:
While googling around for (simple) erlang implementations of discrete 
event simulations,
i come across a single paper about the subject.
"Discrete Event Simulation in Erlang" by A. Ermedahl (1995)
Does it mean that is a non issue, or an ultimate example of write once use 
for ever ?

Is there more information available ?

erlang-questions mailing list
erlang-questions mailing list

Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme à sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse.

Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de votre système, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions également d'en avertir immédiatement l'expéditeur par retour du message.

Il est impossible de garantir que les communications par messagerie électronique arrivent en temps utile, sont sécurisées ou dénuées de toute erreur ou virus.

This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval.

If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message.

E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111118/19bb2eba/attachment.htm>

More information about the erlang-questions mailing list