In this paper we describe the design and implementation of libcppsim, a general-purpose, process-oriented simulation library written in C++. libcppsim provides a set of classes for implementing simulation processes, scheduling primitives, random variate generation and output data analysis functions. The main simulation entity provided by the library is the simulation process; the basic process scheduling primitives are modeled upon those provided by S IMULA's simulation class. The modular object-oriented design of libcppsim allows users to extend its functionalities with minimal effort. In order to improve efficiency, simulation processes are not implemented as operating system threads; instead, we use coroutine objects which implements a cooperative quasi-parallel process environment. A portable implementation of coroutines is provided in order to allow libcppsim to be used on different platforms.

libcppsim: a Simula-like, Portable Process-Oriented simulation library in C++ / M. Marzolla. - STAMPA. - (2004), pp. 222-227. (Intervento presentato al convegno ESM'04, the 18th European Simulation Multiconference tenutosi a Magdeburg, Germany nel jun 13–16 2004).

libcppsim: a Simula-like, Portable Process-Oriented simulation library in C++

MARZOLLA, MORENO
2004

Abstract

In this paper we describe the design and implementation of libcppsim, a general-purpose, process-oriented simulation library written in C++. libcppsim provides a set of classes for implementing simulation processes, scheduling primitives, random variate generation and output data analysis functions. The main simulation entity provided by the library is the simulation process; the basic process scheduling primitives are modeled upon those provided by S IMULA's simulation class. The modular object-oriented design of libcppsim allows users to extend its functionalities with minimal effort. In order to improve efficiency, simulation processes are not implemented as operating system threads; instead, we use coroutine objects which implements a cooperative quasi-parallel process environment. A portable implementation of coroutines is provided in order to allow libcppsim to be used on different platforms.
2004
Proceedings of ESM'04, the 18th European Simulation Multiconference
222
227
libcppsim: a Simula-like, Portable Process-Oriented simulation library in C++ / M. Marzolla. - STAMPA. - (2004), pp. 222-227. (Intervento presentato al convegno ESM'04, the 18th European Simulation Multiconference tenutosi a Magdeburg, Germany nel jun 13–16 2004).
M. Marzolla
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/88561
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? 9
social impact