Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 36 million developers.Sign up
- The NetCal Num Backend is now in the Maven Central Repository, not bundled anymore.
- The Analysis interface lists all methods found in AbstractAnalysis.
- Server backlog cap for output burstiness implementation only works for affine curves and PBOO.
It now verbosely states this in case of an incompatible analysis configuration.
- Other small cleanups in various places, updated submodules.
Submodules Version Requirements
- Functional tests >= 2.5.1
- MPA RTC >= 2.5.2
- Experiments >= 2.5.1
- Removing the last bundled dependency also removed the
libfolder from the repository. Getting the
rtc.jarusing Maven will fail in its attempt to put it there. Please create this folder manually. Thanks to Sidharth Sharma for reporting. This problem was fixed in commit 551eaa1.
- Maven cannot download the MPA RTC dependency on Windows. See issue #78 for details.
- Removal of duplicate arrival bounds was replaced with their convolution.
- Maven can now run the functional tests properly.
- Simplifications of the affine curve code to make use of the shape assumptions.
- Move configuration flag for checks to where they belong (specific algebra, bounds, or curves implementation).
- The Readme was updated. It provides the minimal steps to set up Eclipse for development.
- Various small typo fixes, dependency updates, infrastructure updates.
Submodules Version Requirements
- Functional tests >= 2.5.1
- MPA RTC >= 2.5.1
- Experiments >= 2.5.0
- The pom file still states version number 2.5.1-SNAPSHOT. Was fixed in commit 1bf6ccc.
Rebranding to NetworkCalculus.org DNC
- Packages are prefixed org.networkcalculus.dnc.
- Repository names/prefixes were reduced to DNC.
- There is now a highest-level Calculator class instead of CalculatorConfig for configurations that cannot be changed at runtime.
- It also hold a member variable for the algebraic DNC backend and we included presets for using either affine or piecewise affine curves.
- We moved and renamed many classes to better reflect the current state of DNC.
- "dnc", when not used in "discodnc", was renamed to "disco" to better reflect the code's origin.
- The package "minplus" was renamed to the more general "algebra" and disco's implementations for affine an piecewise affine curves were split up.
- The packages of in network were moved to network.server_graph and renamed to clarify that we work wit the turn model, not the big switch model
- Network was renamed to ServerGraph, NetworkFactory to ServerGraphFactory, Link to Turn.
- Package "nc" was split up and renamed to feedforward, tandem and sinktree, respectively. Class naming was improved to catch up with DNC theory.
- PbooArrivalBound_Concatenation -> AggregatePboo_Concatenation, PbooArrivalBound_PerHop -> AggregatePboo_PerServer
- PmooArrivalBound -> AggregatePmoo
- TandemMatchingArrivalBound -> AggregateTandemMatching
- PmooArrivalBound_SinkTreeTbRl -> SinkTree_AffineCurves
- Gamma -- the Maximum Service Curve
- Renamed to (variations of) MaxSC and MaxScRate.
- Global use of either is now called enforcement as it overrides the server-local setting correctly.
- Multiplexing: Clarified naming of the multiplexing discipline and globally enforced behavior.
- Code paths for affine and piecewise affine curves were better separated.
- Functional tests, experiments and MPA RTC curve backend moved into git submodules.
Other changes and additions:
- Major overhaul of our pom.xml Maven build configuration.
- The mpa rtc jar will be automatically downloaded and unpacked.
- ArrivalCurve createUnboundedArrivals() is now ArrivalCurve createInfiniteArrivals().
- Left-over Service: the indeterminate form resulting from subtracting infinite arrivals from infinite service will return zero service.
- Improvements, fixes and documentation improvements.
- Num interface and its implementations:
- Major code refactoring and cleanup.
- Epsilons (for rounding purposes) are no longer included.
- Code trying to consider the machine epsilon in every operation was removed after a thorough review revealed bugs.
- Functional tests:
- Test results now also hold the required epsilons for individual test cases.
- PwAffine Curves and implementations:
- Refactored code handling discontinuities (used with token bucket arrival curves).
- No usage of a machine epsilon required anymore.
- Convolution: Replace cast from ServiceCurve to Curve by creating a proper ArrivalCurve for unbounded arrivals.
- Performance improvement for getSourceFlowArrivalCurve in case there is only a single such flow.
- Remove unnecessary cast from Num to Num when bounding backlogs.
- Code cleanups.
Update 2018/10/24: We also backported the experiments' server graphs. See attached DiscoDNC-224_exp.jar file that includes the sources as well.
- Fixed Bug #31: Computation of infinite output bound due to stability constraint violation.
- Improved shifting of curves (horizontal and vertical).
- SFA tandem analysis: Shortcut in case there is no interference by other flows.
- Comment cleanups and improvements.
- Tandem Matching Analysis and Arrival Bound added
- SFA and PbooArrivalBounds:
- Improved structure, reliability and performance.
- Single, static SFA tandem analysis for SFA and PBOO ABs.
- Rational Num implementations gained a getValue function returning a new instance of the Math3 object in their backend.
- Minor Javadocs and comment improvements.
- They now correctly consider the configures Curve and Num implementation (GitHub Issue #1).
- Each test only works with a single instance of its respective network instead of creating one per test config.
- We use external method sources to not forcibly change configs to comply with PMOO's restriction to arbitrary multiplexing.
- Expected test results are were moved to separate classes.
- Added a class with presets with most common flow of interest analysis and arrival bounding configurations
for algebraic compositional feed-forward analysis (compFFA): de.uni_kl.cs.discodnc.nc.CompFFApresets.
- Demo4 uses the presets instead of analyses instances implicitly using the defailt configuration.
- Our current TFA AB burst reduction implementation is only applicable to TB arrivals.
- We now skip reducing the reduction for arrival curves with >2 segments.
- Network: You can now get a flow by its ID.
- SeparateFlowAnalysis: Do not rely on an exception to identify path's source server.
- Improved pom.xml.
- Code and comment cleanups.
- Rename location of interference, loi, to server of interference, soi, to prevent confusion with potential link of interference.