DiscoDNC

Working of DNC : Disco DNC is a tool for deterministic network calculus. DiscoDNC implements three Network Calculus methods: TFA, SFA, and PMOO, which are used to calculate the backlog and delay of the network. The tool automates most of the steps of the analyses.

This documentation provides insight on how to properly install DiscoDNC and how to configure it properly.

Download Eclipse IDE

  • Download latest Eclipse IDE from the given link.
  • Link: Eclipse Downloads

    Install the Eclipse into the desired directory

  • Launch the Eclipse Installer
  • Select Eclipse IDE for Java Developers.
  • Select the directory where you want to install Eclipse.
  • Click the INSTALL option
  • After Installation is complete, Click on LAUNCH option.
  • After Installation, Launch the eclipse and select a directory as a workspace
  • Click on Launch Button.
  • It will launch Eclipse Workspace.
  • Since Disco DNC requires Java 8, we should download and install Java 8 in our system.
  • Download Java 8

  • Download the Java 8 from the given link below
  • Link: Java 8 Download

  • You will be redirected to the oracle login page. Login using an oracle account or create a new account
  • After logging to oracle, the download of java 8 will start
  • After download is complete, run the setup file and start the installation of Java 8.

  • Download DiscoDNC Tool

  • Download DiscoDNC from the given link below
  • Link: DiscoDNC Tool

  • Move the Disco DNC to the working directory of your project
  • Import DiscoDNC

  • Inside Eclipse Workspace. Go to File, then select Import
  • Then go to General folder under Select an import Wizard and select Projects from Folder or Archive option.
  • Then choose the directory where DiscoDNC folder is located and import it
  • Import Jar and Java 8

    We need Java 8 and some external libraries(jar) file for DiscoDNC to work. We start by importing them into our project workspace.

  • Download Common-maths3-3.6.1.jar and rtc.jar from the portal and move inside project folder.
  • Link: External jar link

  • Right click on the project folder, Select Build Path and then Configure Build Path.
  • You will be redirected into a new window. Go to Libraries section from the options in the navbar.
  • Select Add External Jars option from the right side of the window.
  • Select the Common-maths3-3.6.1.jar and rtc.jar from the folder where it was downloaded and add it.

  • Now to add Java 8

  • Select Add Library option from the right side of window
  • Then select JRE System Library from the next window.
  • After clicking Next, select Javaand then select Installed JREs from the next window.
  • Then select Execution Environments option.
  • Then select JavaSE-1.8 and click Apply and Close button.
  • Click on Finish and Apply and Close Button
  • Run the Program

  • Inside DNC-2.5.0, go to src/main/java
  • Then inside src/main/java, go to implementation folder.
  • Then inside implementation, go to Analysis4to20.java
  • Inside Analysis4to20.java use System.out.printIn(ressfa) and System.out.printIn(respmoo) to get values of delay for SFA FIFO and PMOO respectively.

  • RTC TOOLBOX

    RTC stands for Real-Time Calculus. It is an extension of Network Calculus for system-level performance analysis of the distributed real-time and embedded systems. RTC Toolbox is based on Java and Matlab.

    This documentation provides insight into installation of RTC Toolbox and its configuration:

    Download MATLAB

  • - Download the latest version of MATLAB from the given link.
  • Link: Matlab Download

  • You will be required to create a MathWorks account before downloading.
  • After creating an account, download an installer.
  • Install the MATLAB

  • Launch the Matlab Installer
  • Login using your MathWorks email
  • After installation is complete, launch the MATLAB

  • Download and Install RTC Toolbox

  • Download the latest release of the toolbox
  • Link: RTC Toolbox

  • After download, extract the downloaded zip package.
  • Copy the folder rtc to its installation destination.
  • Open the Matlab and change to the rtc directory.
  • Now run the following code to install RTC Toolbox
  • Now the RTC toolbox is completely installed
  • Run the Code

  • Download the code from the portal for network analysis.
  • Link: Code

  • Import the code into the Matlab.
  • Run the code to get the delay estimate.
  • After the code is run, we will have the result on the left bottom panel of the Matlab as shown in image below:
  • Open the delay variables. It displays all the values of the delays in a new window.
  • - Plot the delays to get a graph using any visualization technique.
  • NC Tandem Tight

    Nc-tandem-tight is a program written in Ocaml which computes delay bounds under arbitrary multiplexing. It uses linear programming to find the worst-case delay bound. Note: It only works for tandem networks.

    This documentation provides insight into installation of Nc-tandem-tight and its configuration:

    Note: nc-tandem-tight only works on the Linux environment

    Download nc-tandem-tight

  • Download nc-tandem-tight file from following link:
  • Link: nc-tandem-tight.ml

  • We need to compile this file. For that we need Ocaml. We can install it by running the following command in the Linux terminal.
  •    apt install ocaml

  • Now go into the directory where nc-tandem-tight.ml was downloaded. Open the terminal and run the following command.
  •    ocamlopt -pp camlp4o nc-tandem-tight.ml

  • This will create a.out file in the directory. It is an executable file which converts the network topography from text format to lp format.
  • Generate Linear Program files

    Nc-tandem-tight generates linear programs to compute tight bounds in tandem networks under blind multiplexing and Network Calculus constraints.

  • Suppose we want to find delay for our following tandem network in our tandem1.txt file.

  • To convert this text file into lp file we need to execute the following command:
  •    ./a.out tandem1.txt tandem1.lp

    Note: Here tandem1.txt is input file and tandem1.lp is output file

  • Go inside the directory where nc-tandem-tight was downloaded and copy the text file to the same directory.
  • Then execute the above command to generate the linear program file.
  • - After this nc-tandem-tight program will generate tandem1.lp file

  • Now we need a linear programming solver to solve this lp format file and generate the results for delay.

    Download LPSolve IDE

  • Download LP Solve from the following link.
  • Link: LpSolve

    Install LPSolve IDE

  • Open the executable file and install it as shown in the images below.

  • Open LPSolve IDE


  • Open LPSolve IDE.
  • Download LP Files

  • Download the lp files generated from nc-tandom-tight from the given link
  • Link: Lp Files

    Executive LP Files

  • Go to files and click on open.
  • Select the directory where the lp files from nc-tandom-tight were downloaded.
  • Select the files you want to execute
  • Click on play button to execute the file and display the results.
  • As we can see that, for the particular tandem network, delay is 0.2 second.
  • Take note of all delays from the lp files you want to visualize and Plot the delays to get a graph using any visualization technique.