Giter VIP home page Giter VIP logo

girtel / net2plan Goto Github PK

View Code? Open in Web Editor NEW
85.0 85.0 37.0 36.38 MB

Net2Plan is a free and open-source Java tool devoted to the planning, optimization and evaluation of communication networks. It has been originally thought as a tool to assist the teaching of communication networks courses. Eventually it has converted into a powerful network optimization and planning tool for the academia and industry, together with a growing repository of network planning resources.

License: BSD 2-Clause "Simplified" License

Java 99.32% XSLT 0.63% HTML 0.03% Shell 0.02%

net2plan's People

Contributors

antoniogins avatar cfsnm avatar elenamseo avatar fjmmuro avatar jayesem avatar jjpedreno avatar joselromero avatar lopezjavier avatar manuelhernandezbastida avatar njannasch avatar ppavon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

net2plan's Issues

Can't read native SNDLib .txt file

When importing sndlib txt file in net2plan version 0.5.1 sndlib file option doesn't apeear. And if n2p file is created from a sndlib imported file in net2plan 0.4.2 and try again to import this new file in net2plan 0.5.1, it gives me an error loading network design.

Simulation Report: missing Resource("/com/net2plan/internal/sim/SimStats.xsl")

GIT: Latest version (master)

commit 8cd0fdfc96022d23af16e7feb5d5503412ad065f (HEAD -> master, origin/master, origin/HEAD)
Merge: 355f4b09 878b79be

Start net2plan:

java -jar Net2Plan.jar

Running a simple WDM-scenario:

  • grid 4 node ( n1 <-> n2 <-> n3 <-> n4 )
    • bidirectional links
    • demand from n1 -> n3 ( 2 disjoint routes)
    • running simulator
      • Event generator: Online_evGen_wdm
      • Provisioning: Online_evProc_wdm

After I stop the simulation and request a report I get the following error:

Thu Jan 25 08:24:16 BRST 2018
java.lang.NullPointerException
com.net2plan.internal.sim.SimStats.getResults(SimStats.java:1058)
com.net2plan.internal.sim.SimKernel.getSimulationReport(SimKernel.java:368)

The line SimStats.java:1058 is trying to load the following resource:

return HTMLUtils.getHTMLFromXML(xml, SimStats.class.getResource("/com/net2plan/internal/sim/SimStats.xsl").toURI().toURL());

The SimStats.xsl file does not seem to get packaged by mvn in the Net2Plan.jar file.

Bug when removing a link

When removing a link, if a route was traversing the lnk in the past, but not now, the route is not removed. However, the route keeps the link in ¡side the sequence of links traversed when the route was removed. Solution: the route original sequence of links should be set to e.g. the current route

Solved! Date: 20160905

Problem with Exercise 3.7 of the book

I am trying to work with examples (such as 7 node network) and to start with I would like to examine some basic algorithms (as implemented in the tool) on existing examples. To start with I only want to focus on WDM layer algorithms such as different RWA flavors.
Can you please detail the steps for using a example network?
I assume for online simulations, once the network is selected, traffic is generated and the corresponding algorithm will perform optimization for the corresponding traffic module generation.

Thanks
Quote ·
Comments
raj
September 15
To clarify the issue, I have tried net2plan for the exercise 3.7 of the book to run the 7 node network (example provided by the resources)
I performed the following steps

  1. load the "7-node network" for both topology and traffic
  2. from online simulation tab, selected the "Online_evGen_generalGenerator"
  3. ................ selected the "Online_evProc_generalProcessor"
  4. run the simulation (with all default values)

Observation: simulation starts and refreshed successfully. After a while I stop and "update" the "simulation report". IT fails and failed operation message pops up recommending checking the "console".
When I check the "console" I see the following


Fri Sep 15 11:02:17 EDT 2017

java.lang.NullPointerException
com.net2plan.internal.sim.SimStats.getResults(SimStats.java:1058)
com.net2plan.internal.sim.SimKernel.getSimulationReport(SimKernel.java:368)


Would you please be able to help?
Thanks

NVIDIA Geforce Experience overwrites N2P's shortcuts

For NVidia users:
Having activated the "Share" function on the NVidia Geforce Experience environment disables some of the shortcuts that Net2Plan uses. As it overwrites those keys with its own functions. Some of the known lost shortcuts are:

Alt+F12: For console showing.

[v0.5.3/gitcompile] Attributes for Layer entity cause problems

If you add attributes to the Layer-tab, the resulting n2p file cannot be loaded after saving it.
Other entities such as network,node or link do not exhibit this problem.
It does not seem that the xml is invalid, it seems to have to do with the meta-model for layer-entities.

Kind regards,

Fabian

PS: I also tried this with the 0.5.2 zip version.

Exception in algorithms when using Parallel Colt

When developing algorithms, a line of code such as:

IntMatrix1D v = IntFactory1D.dense.make(6,1);

Gives the following exception when executed:


Exception in thread "main" java.lang.NoSuchMethodError: edu.emory.mathcs.utils.ConcurrencyUtils.getThreadsBeginN_1D()I
 at cern.colt.matrix.tint.IntMatrix1D.assign(IntMatrix1D.java:488)
 at cern.colt.matrix.tint.impl.DenseIntMatrix1D.assign(DenseIntMatrix1D.java:440)

This is a known error (among others) of ParallelColt-0.10.1. The fix is to upgrade to version 0.11.4 (available at https://github.com/rwl/ParallelColt/)

Packaging into distributions

Software in Linux based operating systems is expected to come from the distribution's software repositories. (or a distribution endorsed package sharing method) A random zip on a website is alien to this ecosystem, as it does not integrate into the operating system or receive updates with the rest of the software.

A proper package would integrate net2plan within the distribution, allowing it to be called from anywhere, providing a launcher icon... it should also pull ipopt and glpk as dependencies automatically, making the installation faster.

I created an Arch Linux package and uploaded it to the user repositories that provides all of that. It's already being already used by some Arch-using fellows at university.

An Ubuntu ppa would be the simplest way to provide a package for the greatest range of users. Anyone can set them up, and it only requires packaging the software into a .deb file. Users of the ppa would get automatic updates and the user experience that is expected from a well integrated application.

Uploading packages to other distributions such as Debian or Fedora, so that anyone can install them without adding repositories requires a more lengthy process. It can also take years for those packages to reach end users (as most use LTS versions of Ubuntu), so that's not really the aim of this issue piece.

Thank you for your time and effort in this project.

Cannot save an empty topology

On start-up, a topology that has received no changes throws an error "Design is empty" when tried to save it. This behavior can be unexpected, as what many people do first thing when they run the program is to save to a file.

Canvas: Selected link size can hide other elements

When selecting a link composed of multiple links between two nodes, the one that is selected is highlighted by making it bigger than the others. The problem with this is that this size can hide the links below, making it seem that there is nothing there.

Removing and adding nodes crashes the nodes' table

  • Adding and removing nodes from the right-click menu of the node's table ends up with an exception that breaks the correct functioning of the table.
  • This problem is yet to be checked on the other tables.

Table tips are lost when expanding attributes

  • Expanding attributes into multiple columns at any table makes the tips of the column headers to disappear.
  • Collapsing the attributes into a single column does not make this tips come back.

Bug in class GraphUtils (getKMinimumCostMulticastTrees)

The function getKMinimumCostMulticastTrees contains a bug concerning the input parameter DoubleMatrix1D linkCost. When said parameter is null, in line 1644 the following check is made:

op.setInputParameter("c_e", linkCost == null ? DoubleFactory1D.dense.make(E, 1) : linkCost, "row");
As the new created DoubleMatrix1D is not saved and referenced to "linkCost", it produces a NullPointerException in line 1622:
treeCost += linkCost.get(e);

A possible solution could be to check if linkCost is null at the beginning of the function, and initialize it if necessary.

Node IDs hidden in snapshots

In the resulting image of the snapshot function, the nodes Ids are highlighted with a white square. Making it impossible to distinguish one from the other.
snapshot_example

Default solverLibraryName and solverName passed to algorithms is blank

Net2Plan should replace a blank in the textfields "solveRName" and "solverLibraryName", and replace it b ythe default solver and library. However, it is not making it.

Change to make it more elegant: the algorithms are the ones using the solver or the default if receive "", and trhe same for library. Have a static Net2Plan method for supporting this

CPU time not shown well in Online simulation

It shows CPU time as the time between simulation start and simulation end when it pops up "Simulation Finished", but when you click OK it 'updates' to show the time between simulation start and click time.

Easy to reproduce: run ~100 events, it will finish in <1 sec, but wait a bit to click OK and it will then show ~10 sec.

The Simulation Information table in the Simulation Report tab shows the correct CPU time.

Layers tab always shows the same layer (Linux)

I'm using the 0.5.0 release. Starting from a blank network, I've created a second layer, by going to the View/Edit network state -> Network tab and right-clicking on the Layer information panel.

I am now trying to change the new layer's name and routing type. However, when I go to the View/Edit network state -> Layers tab, the information shown is always about the first layer.

I tried selecting the second layer in the Layer information panel on the View/Edit network state -> Network tab, and then going to the Layers tab, but still the information shown is about the first layer.

Am I missing something? How can I configure the other layers?

License description is not aligned

The License description on the main page reads "As a consequence of this, you may use parts of Net2Plan or the complete package inside your own programs for free, can make money from them and do not have to disclose your code. Although, you are obliged to mention that you are using Net2Plan in your program."

This does not fit with the LPGL v3 license under which this program is distributed. LGPLv3 (and newer) is a license that is usually used for libraries that allows non-free programs to dynamically link with said library. The description above is more in line with an Apache 2.0, BSD (2 or 3 clause) or MIT license. Either the text or the license should be updated to avoid future conflicts.

Nodes: Should names be unique?

Right now, two nodes are able to share the same name. These two nodes are uniquely identified by their ID or Index. However, there are multiple dialogs that show a list of the nodes, and having two selectable items with the same name can become confusing.

Jom problem

Hi!

I got a problem in Jom _Operator_POW.

in command <DoubleMatrixND TT = Opt.parseExpression("200^2").evaluateConstant()>

The method _Operator_POW stopped at line 72.

Canvas: Link style dialog is misleading

The icon for the link coloring dialog is called "Change link style". This can confuse the user, as it makes him believe that this function allows him to the change the way the links are drawn on the canvas.

In addition, the link coloring dialog is unnecessarily narrow. Making it more of a square instead of a rectangle could help its visualization.

Link Show/Hide checkbox is inverted

The Show/Hide column at the link table is inverted, meaning that when the checkbox is off it shows the link and when its on it hides the link. All links are shown when the topology is first loaded though.

Also, hiding all the links of a layer does not reflect this fact on the Show/Hide column.

Naming a Layer does not work properly

On "View/Edit Network state > Layers > Name"

As soon as you type one character it jumps out to the box and you have to click again to keep Typing.

This is you have to name the layer character to character

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.