Boost logo

Boost :

Subject: Re: [boost] Is there interest in a Simulation library?
From: sguazt (marco.guazzone_at_[hidden])
Date: 2013-09-27 03:59:42


On Thu, Sep 26, 2013 at 6:40 PM, Damian Vicino <damian.vicino_at_[hidden]>wrote:

>
> Dear All,
>
>
>
> Following the on-going efforts on development and standardization of C++,
> especially
> application-oriented libraries, we are soliciting expression of interest
> within the C++
> community for a new Boost library for building Discrete-Event simulators.
>
>
> We plan to build this new library on the latest features of the C++11
> standard, for possible inclusion in a future version of the C++ standard.
>
>
> This work is based on our experience in building C++-based simulators for
> over
> 20 years, exploring various optimization and algorithms, and leading to a
> significant
> number of reseach publications. Writing a new version of a simulation
> library based
> on the latest features of the C++ language has started as new joint
> research project
> of University of Nice Sophia Antipolis, UMR CNRS 7172 (FR), INRIA Sophia
> Antipolis (FR), and Carleton University (CAN). Of course, anyone
> interested in
> joined this effort is more than welcome!
>
>
>
Hello,

I'm very interested.

I and my research group used discrete-event simulation (DES) for years for
our research.

We also developed a generic C++ DES library. You can find it at:

https://github.com/sguazt/dcsxx-des

It provides different output analysis (currently, independent replications
and batch means methods) and different output statistics (mean, quantiles,
...).
One of the goal of the library, in addition to be generic, is to allow
flexibility in event registration for user applications. To do so we
provide a minimal set of events (e.g., begin/end simulation, ...) and other
event can be easily added to the engine by mean of event subscription.
We use Boost.Signals2 to handle event triggers and subscriptions.
The event queue can have different implementations (e.g., priority queue or
a simple list), which is useful in case you have particular needs of event
management (e.g., event rescheduling, event cancellation, ...)

Unfortunately I'm the only maintainer of that library, so progress and
improvements are very slow (currently, the development is idle since I'm
doing research on real testbeds).
The architecture of that library was not perfect and I think there are a
lot that can be improved

So I will be very happy to share the code with you and possibly to join the
efforts.

Can you provide more details?

Best,

--
Marco Guazzone, Ph.D.
 Department of Computer Science (University of Torino, Italy)
 Department of Science and Technological Innovation (University of Piemonte
Orientale, Italy)
 web: http://people.unipmn.it/sguazt

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk