Giter Site home page Giter Site logo

hoangt / nossim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from slam-lab/nossim

0.0 2.0 0.0 12.23 MB

Network-of-Systems Simulator

License: BSD 3-Clause "New" or "Revised" License

CMake 0.03% C++ 30.45% Makefile 0.63% Python 2.25% C 66.56% PHP 0.08%

nossim's Introduction

NoSSim

Network-of-Systems Simulator

This folder contains the prototype for a network/system co-simulation approach that combines a host-compiled SystemC simulation of device-internal SoC platforms with a simulation of network interactions using the OMNeT++ network simulation framework [1].

The approach is demonstrated on two IoT application scenarios with different set of network/system configurations.

IoT scenarios:

  NoS_Vgraph       -- Vision graph discovery, where the relative position and 
		      orientation among a network of smart cameras are estimated
		      
  NoS_ECG          -- ECG monitoring, where raw ECG signals are used to 
		      detect heart arrhythmia

Directories:

  config_json/      -- JSON lib and configuration file template
  helper/	    -- Shared library for profiling and back-annotation
  InstrumentLLVM/   -- LLVM function-level instrumentation pass.
  lwip/             -- lwIP stacks integrated with SystemC OS model
  NoS_Vgraph/       -- The vision graph discovery example
     src/             - source code
     out/             - compiled code
     input/           - client device input data set
     output/             - intermediate data and results

  NoS_ECG/          -- The ECG monitoring example
     ecg/     	      - ECG diagnosis C library
     src/             - source code
     out/             - compiled code
     input/           - client device input data set
     output/             - intermediate data and results

Building and installing:

Build requirements:

Configuration of the package is done by manually editing the Makefile. The following macros need to be adjusted to point to the locations of the pre-installed packages listed above:

  • HCSIM_DIR -- Host-compiled SystemC simulator
  • OMNET_DIR -- OMNEST/OMNeT++ including SystemC integration (default is the $omnetpp_root environment variable)
  • INET_DIR -- INET framework

Running:

Before running the simulation, perform a function-level profiling and back-annotation by compiling the lwIP, ECG and OpenCV library with the provided LLVM pass and helper functions in InstrumentLLVM and helper directory, and properly set the all the library pathes variables in the application Makefile

To build each example locally, change into the corresponding example directory and run:

  • % cd
  • % make

Then to run an example locally:

  • % cd
  • % make test

In all cases, can be one of:

  • NoS_ECG
  • NoS_Vgraph

References:

  • [1] Z. Zhao, V. Tsoutsouras, D. Soudris and A. Gerstlauer, "Network/System Co-Simulation for Design Space Exploration of IoT Applications," SAMOS, July 2017.
  • [2] P. Razaghi, A. Gerstlauer, "Host-Compiled Multi-Core System Simulation for Early Real-Time Performance Evaluation," ACM Transactions on Embedded Computer Systems, 2014.

Contact:

 Zhuoran Zhao <[email protected]>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.