Skip to content

Commit

Permalink
Move to NetworkCalculus.org SNC
Browse files Browse the repository at this point in the history
  • Loading branch information
sbondorf committed Feb 1, 2019
1 parent 57e9352 commit 6578f2d
Show file tree
Hide file tree
Showing 89 changed files with 429 additions and 415 deletions.
37 changes: 25 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,41 @@
# The Disco Stochastic Network Calculator (DiscoSNC)
# NetworkCalculus.org SNC

The Disco Stochastic Network Calculator is a Java tool for the stochastic worst case performance analysis of networks, see [its webpage](http://disco.informatik.uni-kl.de/index.php/projects/disco-snc) for a detailed description and previous versions.
The latest release is version 2.0. It can be [downloaded on github](https://github.com/NetCal/DiscoSNC/releases/tag/2.0)
The Stochastic Network Calculator is a Java tool for the stochastic worst case performance analysis of networks.
It was derived from the [DiscoSNC](http://disco.informatik.uni-kl.de/index.php/projects/disco-snc).
More detailed descriptions can be found on the project's [previous webpage at DISCO](http://disco.informatik.uni-kl.de/index.php/projects/disco-snc)
and in the technical report on [ArXiv](https://arxiv.org/abs/1707.07739).

Note that this software is still under development.
We appreciate any contribution, feel free to fork the project, post bugs and of course post pull requests, too.


# Getting Started with Development

We provide the DiscoSNC as a Maven project.
We provide the SNC as a Maven project.
All dependencies (JUNG Java Graph Framework and Apache Commons Math Library) and their transitive dependencies are resolved by Maven, i.e., they are pulled from the Maven Central Repository.

The DiscoSNC can be built with a Java 10 JDK. It was tested with Oracle's Java HotSpot(TM) 64-Bit Server VM.
The SNC can be built with a Java 10 JDK. It was tested with Oracle's Java HotSpot(TM) 64-Bit Server VM.


# Running the DiscoSNC
# Running the SNC

The DiscoSNC comes with a graphical user interface.
The SNC comes with a graphical user interface.
Therefore, Maven is configured to build executable `jar` files of the project:
* `DiscoSNC-${version}-jar-with-dependencies.jar` that bundles all dependencies, and
* `DiscoSNC-${version}.jar` that assumes dependencies are in a `lib/` folder next to it.
* `SNC-${version}-jar-with-dependencies.jar` that bundles all dependencies, and
* `SNC-${version}.jar` that assumes dependencies are in a `lib/` folder next to it.

The current `${version}` can be found in Maven's configuration file.

In order to execute the `jar`-file, locate it in your output folder, open a command line window and enter

```bash
java -jar DiscoSNC-${version}-jar-with-dependencies.jar
java -jar SNC-${version}-jar-with-dependencies.jar
```
(Don't forget to replace `${version}` with the one you located in pom.xml).
(Don't forget to replace `${version}` with the one you located in `pom.xml`).

### Academic Attribution

If you use the Disco Stochastic Network Calculator for research, please include the following reference in any resulting publication:
If you use the Stochastic Network Calculator for research, please include at least one of the following reference in any resulting publication:

```plain
@inproceedings{DiscoSNCv1,
Expand All @@ -47,3 +49,14 @@ If you use the Disco Stochastic Network Calculator for research, please include
url = {https://dl.acm.org/citation.cfm?id=2631878}
}
```

```plain
@inproceedings{SNCv2,
author = {Michael A. Beck and Sebastian A. Henningsen},
title = {Technical Report The Stochastic Network Calculator},
journal = {CoRR},
volume = {abs/1707.07739},
year = {2017},
url = {http://arxiv.org/abs/1707.07739},
}
```
18 changes: 9 additions & 9 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<name>DiscoSNC - The Disco Stochastic Network Calculator</name>
<description>The Disco Stochastic Network Calculator is a Java tool for the stochastic worst case performance analysis of networks.</description>
<url>disco.cs.uni-kl.de/index.php/projects/disco-snc</url>
<name>SNC - The Stochastic Network Calculator</name>
<description>The Stochastic Network Calculator is a Java tool for the stochastic worst case performance analysis of networks.</description>
<url>snc.networkcalculus.org</url>

<groupId>de.uni_kl.cs.disco</groupId>
<artifactId>DiscoSNC</artifactId>
<groupId>org.networkcalculus.snc</groupId>
<artifactId>SNC</artifactId>
<version>2.1.0-SNAPSHOT</version>

<licenses>
Expand All @@ -29,9 +29,9 @@
</developers>

<scm>
<connection>scm:git:git://github.com/NetCal/DiscoSNC.git</connection>
<developerConnection>scm:git:ssh://github.com/NetCal/DiscoSNC.git</developerConnection>
<url>https://github.com/NetCal/DiscoSNC/tree/v2.5</url>
<connection>scm:git:git://github.com/NetCal/SNC.git</connection>
<developerConnection>scm:git:ssh://github.com/NetCal/SNC.git</developerConnection>
<url>https://github.com/NetCal/SNC</url>
</scm>

<properties>
Expand Down Expand Up @@ -81,7 +81,7 @@
</descriptorRefs>
<archive>
<manifest>
<mainClass>de.uni_kl.cs.disco.snc.calculator.SNC</mainClass>
<mainClass>org.networkcalculus.snc.calculator.SNC</mainClass>
</manifest>
</archive>
</configuration>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc;
package org.networkcalculus.snc;

import java.awt.EventQueue;

Expand All @@ -29,31 +29,31 @@
import java.util.ArrayList;
import java.util.List;

import de.uni_kl.cs.disco.snc.analysis.AbstractAnalysis;
import de.uni_kl.cs.disco.snc.analysis.AnalysisException;
import de.uni_kl.cs.disco.snc.analysis.AnalysisFactory;
import de.uni_kl.cs.disco.snc.analysis.AnalysisType;
import de.uni_kl.cs.disco.snc.analysis.Analyzer;
import de.uni_kl.cs.disco.snc.analysis.BoundType;
import de.uni_kl.cs.disco.snc.analysis.DeadlockException;
import de.uni_kl.cs.disco.snc.commands.Command;
import de.uni_kl.cs.disco.snc.exceptions.FileOperationException;
import de.uni_kl.cs.disco.snc.gui.MainWindow;
import de.uni_kl.cs.disco.snc.network.ArrivalNotAvailableException;
import de.uni_kl.cs.disco.snc.network.Flow;
import de.uni_kl.cs.disco.snc.network.Network;
import de.uni_kl.cs.disco.snc.network.NetworkListener;
import de.uni_kl.cs.disco.snc.network.Vertex;
import de.uni_kl.cs.disco.snc.optimization.BoundFactory;
import de.uni_kl.cs.disco.snc.optimization.Optimizable;
import de.uni_kl.cs.disco.snc.optimization.OptimizationFactory;
import de.uni_kl.cs.disco.snc.optimization.OptimizationType;
import de.uni_kl.cs.disco.snc.optimization.Optimizer;
import de.uni_kl.cs.disco.snc.symbolic_math.Arrival;
import de.uni_kl.cs.disco.snc.symbolic_math.BadInitializationException;
import de.uni_kl.cs.disco.snc.symbolic_math.ParameterMismatchException;
import de.uni_kl.cs.disco.snc.symbolic_math.ServerOverloadException;
import de.uni_kl.cs.disco.snc.symbolic_math.ThetaOutOfBoundException;
import org.networkcalculus.snc.analysis.AbstractAnalysis;
import org.networkcalculus.snc.analysis.AnalysisException;
import org.networkcalculus.snc.analysis.AnalysisFactory;
import org.networkcalculus.snc.analysis.AnalysisType;
import org.networkcalculus.snc.analysis.Analyzer;
import org.networkcalculus.snc.analysis.BoundType;
import org.networkcalculus.snc.analysis.DeadlockException;
import org.networkcalculus.snc.commands.Command;
import org.networkcalculus.snc.exceptions.FileOperationException;
import org.networkcalculus.snc.gui.MainWindow;
import org.networkcalculus.snc.network.ArrivalNotAvailableException;
import org.networkcalculus.snc.network.Flow;
import org.networkcalculus.snc.network.Network;
import org.networkcalculus.snc.network.NetworkListener;
import org.networkcalculus.snc.network.Vertex;
import org.networkcalculus.snc.optimization.BoundFactory;
import org.networkcalculus.snc.optimization.Optimizable;
import org.networkcalculus.snc.optimization.OptimizationFactory;
import org.networkcalculus.snc.optimization.OptimizationType;
import org.networkcalculus.snc.optimization.Optimizer;
import org.networkcalculus.snc.symbolic_math.Arrival;
import org.networkcalculus.snc.symbolic_math.BadInitializationException;
import org.networkcalculus.snc.symbolic_math.ParameterMismatchException;
import org.networkcalculus.snc.symbolic_math.ServerOverloadException;
import org.networkcalculus.snc.symbolic_math.ThetaOutOfBoundException;

/**
* This class contains the main method, which starts and prepares the GUI. It
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc;
package org.networkcalculus.snc;

import java.util.Stack;

import de.uni_kl.cs.disco.snc.commands.Command;
import org.networkcalculus.snc.commands.Command;

/**
* This class keeps track of all operations performed (e.g. addNode, deleteFlow, ...) and provides
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

import java.util.Map;

import de.uni_kl.cs.disco.snc.network.ArrivalNotAvailableException;
import de.uni_kl.cs.disco.snc.network.Flow;
import de.uni_kl.cs.disco.snc.network.Network;
import de.uni_kl.cs.disco.snc.network.Vertex;
import de.uni_kl.cs.disco.snc.symbolic_math.Arrival;
import de.uni_kl.cs.disco.snc.symbolic_math.BadInitializationException;
import org.networkcalculus.snc.network.ArrivalNotAvailableException;
import org.networkcalculus.snc.network.Flow;
import org.networkcalculus.snc.network.Network;
import org.networkcalculus.snc.network.Vertex;
import org.networkcalculus.snc.symbolic_math.Arrival;
import org.networkcalculus.snc.symbolic_math.BadInitializationException;

/**
* This performs the analytical part of determining the sigma- and
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

/**
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

import java.util.Map;

import de.uni_kl.cs.disco.snc.network.Flow;
import de.uni_kl.cs.disco.snc.network.Network;
import de.uni_kl.cs.disco.snc.network.Vertex;
import org.networkcalculus.snc.network.Flow;
import org.networkcalculus.snc.network.Network;
import org.networkcalculus.snc.network.Vertex;

/**
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

/**
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

import de.uni_kl.cs.disco.snc.network.ArrivalNotAvailableException;
import de.uni_kl.cs.disco.snc.symbolic_math.Arrival;
import de.uni_kl.cs.disco.snc.symbolic_math.BadInitializationException;
import org.networkcalculus.snc.network.ArrivalNotAvailableException;
import org.networkcalculus.snc.symbolic_math.Arrival;
import org.networkcalculus.snc.symbolic_math.BadInitializationException;

/**
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

/**
* A list of available bounds.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

import de.uni_kl.cs.disco.snc.symbolic_math.Arrival;
import org.networkcalculus.snc.symbolic_math.Arrival;

/**
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

/**
* This exception is thrown by the {@link Analysis} class if the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,28 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;

import de.uni_kl.cs.disco.snc.network.ArrivalNotAvailableException;
import de.uni_kl.cs.disco.snc.network.Flow;
import de.uni_kl.cs.disco.snc.network.Network;
import de.uni_kl.cs.disco.snc.network.Vertex;
import de.uni_kl.cs.disco.snc.symbolic_math.AdditiveComposition;
import de.uni_kl.cs.disco.snc.symbolic_math.Arrival;
import de.uni_kl.cs.disco.snc.symbolic_math.BadInitializationException;
import de.uni_kl.cs.disco.snc.symbolic_math.Hoelder;
import de.uni_kl.cs.disco.snc.symbolic_math.Service;
import de.uni_kl.cs.disco.snc.symbolic_math.SymbolicFunction;
import de.uni_kl.cs.disco.snc.symbolic_math.UnitaryMinus;
import de.uni_kl.cs.disco.snc.symbolic_math.functions.BFunction;
import de.uni_kl.cs.disco.snc.symbolic_math.functions.ScaledFunction;
import de.uni_kl.cs.disco.utils.SetUtils;
import org.networkcalculus.snc.network.ArrivalNotAvailableException;
import org.networkcalculus.snc.network.Flow;
import org.networkcalculus.snc.network.Network;
import org.networkcalculus.snc.network.Vertex;
import org.networkcalculus.snc.symbolic_math.AdditiveComposition;
import org.networkcalculus.snc.symbolic_math.Arrival;
import org.networkcalculus.snc.symbolic_math.BadInitializationException;
import org.networkcalculus.snc.symbolic_math.Hoelder;
import org.networkcalculus.snc.symbolic_math.Service;
import org.networkcalculus.snc.symbolic_math.SymbolicFunction;
import org.networkcalculus.snc.symbolic_math.UnitaryMinus;
import org.networkcalculus.snc.symbolic_math.functions.BFunction;
import org.networkcalculus.snc.symbolic_math.functions.ScaledFunction;
import org.networkcalculus.snc.utils.SetUtils;

/**
* This analysis gives an end-to-end performance bound for ladder networks. A
Expand Down Expand Up @@ -161,7 +161,7 @@ public boolean isAggregateFlow(Flow flow) {
*
* @return The bound in the {@link Arrival}-representation.
*
* @throws de.uni_kl.cs.disco.snc.network.ArrivalNotAvailableException
* @throws org.networkcalculus.snc.network.ArrivalNotAvailableException
*/
@Override
public Arrival analyze() throws ArrivalNotAvailableException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,26 @@
* our work otherwise. We would also like to hear of any fixes or useful
*/

package de.uni_kl.cs.disco.snc.analysis;
package org.networkcalculus.snc.analysis;

import java.util.Map;
import java.util.Stack;

import de.uni_kl.cs.disco.snc.network.ArrivalNotAvailableException;
import de.uni_kl.cs.disco.snc.network.Flow;
import de.uni_kl.cs.disco.snc.network.Network;
import de.uni_kl.cs.disco.snc.network.Vertex;
import de.uni_kl.cs.disco.snc.symbolic_math.AdditiveComposition;
import de.uni_kl.cs.disco.snc.symbolic_math.Arrival;
import de.uni_kl.cs.disco.snc.symbolic_math.BadInitializationException;
import de.uni_kl.cs.disco.snc.symbolic_math.Hoelder;
import de.uni_kl.cs.disco.snc.symbolic_math.NewParameter;
import de.uni_kl.cs.disco.snc.symbolic_math.Service;
import de.uni_kl.cs.disco.snc.symbolic_math.SymbolicFunction;
import de.uni_kl.cs.disco.snc.symbolic_math.functions.BFunction;
import de.uni_kl.cs.disco.snc.symbolic_math.functions.ConstantFunction;
import de.uni_kl.cs.disco.snc.symbolic_math.functions.ScaledFunction;
import de.uni_kl.cs.disco.utils.SetUtils;
import org.networkcalculus.snc.network.ArrivalNotAvailableException;
import org.networkcalculus.snc.network.Flow;
import org.networkcalculus.snc.network.Network;
import org.networkcalculus.snc.network.Vertex;
import org.networkcalculus.snc.symbolic_math.AdditiveComposition;
import org.networkcalculus.snc.symbolic_math.Arrival;
import org.networkcalculus.snc.symbolic_math.BadInitializationException;
import org.networkcalculus.snc.symbolic_math.Hoelder;
import org.networkcalculus.snc.symbolic_math.NewParameter;
import org.networkcalculus.snc.symbolic_math.Service;
import org.networkcalculus.snc.symbolic_math.SymbolicFunction;
import org.networkcalculus.snc.symbolic_math.functions.BFunction;
import org.networkcalculus.snc.symbolic_math.functions.ConstantFunction;
import org.networkcalculus.snc.symbolic_math.functions.ScaledFunction;
import org.networkcalculus.snc.utils.SetUtils;

/**
* This kind of analysis computes successively the next output-
Expand Down
Loading

0 comments on commit 6578f2d

Please sign in to comment.