libcppsim
libcppsim is a process-oriented, discrete-event simulation library in C++
Science Score: 31.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.3%) to scientific vocabulary
Repository
libcppsim is a process-oriented, discrete-event simulation library in C++
Basic Info
- Host: GitHub
- Owner: mmarzolla
- License: gpl-3.0
- Language: C
- Default Branch: main
- Size: 730 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
libcppsim
Description
libcppsim is a process-oriented, discrete-event simulation library
for the C++ programming language. libcppsim provides the user with a
set of basic primitives which are roughly equivalent to those provided
by the SIMULATION class of the Simula language. libcppsim defines
a process class which represents a simulation process. Moreover,
facilities for process scheduling and statistics collection are also
provided. The user may build more sophisticated simulation entities or
synchronization mechanisms on top of those provided.
libcppsim was originally developed by Moreno Marzolla during his PhD
in Computer Science at Ca' Foscari University of Venice. This
library has not been updated since a long time; however, it is written
in standard C++ without any "modern" feature (which might even be
considered a good thing), and therefore still compiles on modern Linux
distributions (tested with Ubuntu 20.04). Since there are people
around the world still using it, I made the source code available on
this repository.
Requirements
This program has been tested on Linux, but should work on other
Unix-like systems. The only system-dependent file is the
implementation of
coroutines that requires
either setjmp/longjmp or makecontext/swapcontext system calls.
The coroutine implementation used in the libcppsim library is based
on
K. Helsgaun, A portable C++ library for coroutine sequencing, DATALOGISKE SKRIFTER (Writings on Computer Science), 1999, Roskilde University.
Details and source code are available here.
Compilation
The compilation is currently based on make/autoconf:
./configure
make
Citation
The libcppsim library has been described in the following
publication (see CITATION for a BibTeX format):
Moreno Marzolla, libcppsim: a Simula-like, Portable Process-Oriented Simulation Library in C++, Proceedings of ESM'04, the 18th European Simulation Multiconference (Graham Horton, editor), Magdeburg, DE, jun 13–16 2004, ISBN 3-936150-35-4, pp. 222–227 PDF
Owner
- Name: Moreno Marzolla
- Login: mmarzolla
- Kind: user
- Location: Italy
- Company: University of Bologna
- Website: https://www.moreno.marzolla.name/
- Repositories: 1
- Profile: https://github.com/mmarzolla
Associate professor of computer science
Citation (CITATION)
If you use this library, please cite as:
Moreno Marzolla, libcppsim: a Simula-like, Portable Process-Oriented
Simulation Library in C++, Proceedings of
ESM'04, the 18th European Simulation Multiconference (Graham Horton, editor), Magdeburg, DE, jun 13–16 2004, ISBN 3-936150-35-4, pp. 222–227
BibTex citation block:
@inproceedings{libcppsim,
author = "Moreno Marzolla",
title = "\texttt{libcppsim}: a {Simula}-like, Portable Process-Oriented Simulation Library in {C++}",
booktitle = "Proc. of ESM'04, the 18th European Simulation Multiconference",
editor = "Graham Horton",
publisher = "SCS--European Publishing House",
month = jun # " 13--16",
year = 2004,
address = "Magdeburg, DE",
isbn = "3-936150-35-4",
pages = "222--227"
}