ns3-ext-process

Simple module to facilitate running external processes within ns-3 simulations

https://github.com/emanuelegiona/ns3-ext-process

Science Score: 57.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
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords

multiprocessing network-simulation ns-3
Last synced: 6 months ago · JSON representation ·

Repository

Simple module to facilitate running external processes within ns-3 simulations

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Topics
multiprocessing network-simulation ns-3
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License Citation

README.md

ExternalProcess: ns-3 module

Tested via ns3-compatibility-action on egiona/ns3-base Docker images

.github/workflows/ns-3.35.yml .github/workflows/ns-3.40.yml .github/workflows/ns-3.41.yml

This repository contains ExternalProcess, a simple module to facilitate communication with external processes within ns-3 simulations.

Aim & Features

  • Custom program execution as a process parallel to ns-3 simulations

  • Parallel process is started and kept alive until required

  • Support for remote-only processes, i.e. no launcher script needed

  • Bi-directional communication with processes based on TCP sockets

  • Support for server/client role selection for maximum compatibility with side process implementations

  • Multiple parallel processes supported (each with own ExternalProcess instance)

  • Non-interfering with Unix signals: watchdog thread for process supervision (Thanks @vincenzosu)

Note: This module is currently NOT intended for processes that have to carry out operations asynchronously to the ns-3 simulation. This means that all communications to an external process are blocking.

Installation guidelines and documentation

Installation guidelines and detailed documentation for the latest version is hosted on GitHub Pages.

Documentation for legacy versions is stored as PDF files named docs-<tag>.pdf in the docs directory within this repository.

Full changelog can be found at this page.

Citing this work

If you use the module in this repository, please cite this work using any of the following methods:

APA

Giona, E. ns3-ext-process [Computer software]. https://doi.org/10.5281/zenodo.8172121

BibTeX

@software{Giona_ns3-ext-process, author = {Giona, Emanuele}, doi = {10.5281/zenodo.8172121}, license = {GPL-2.0}, title = {{ns3-ext-process}}, url = {https://github.com/emanuelegiona/ns3-ext-process} }

Bibliography entries generated using Citation File Format described in the CITATION.cff file.

License

Copyright (c) 2023 Emanuele Giona (SENSES Lab, Sapienza University of Rome)

This repository is distributed under GPLv2 license.

ns-3 is distributed via its own license and shall not be considered part of this work.

Owner

  • Name: Emanuele Giona
  • Login: emanuelegiona
  • Kind: user
  • Location: Lazio, Italy
  • Company: Sapienza University of Rome

PhD student in Computer Science (IoT, RL, underwater drones)

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: ns3-ext-process
message: >-
  Simple module to facilitate running external processes
  within ns-3 simulations
type: software
authors:
  - given-names: Emanuele
    family-names: Giona
    email: giona@di.uniroma1.it
    affiliation: >-
      Department of Computer Science, Sapienza University of
      Rome
    orcid: 'https://orcid.org/0000-0003-0871-7156'
identifiers:
  - type: url
    value: 'https://github.com/emanuelegiona/ns3-ext-process'
    description: GitHub repository
repository-code: 'https://github.com/emanuelegiona/ns3-ext-process'
keywords:
  - multiprocessing
  - ns-3
  - network-simulation
license: GPL-2.0
doi: 10.5281/zenodo.8172121

GitHub Events

Total
Last Year