Difference between revisions of "Programming and Modeling Tools"

From Self-Organization Wiki
Jump to: navigation, search
(Java)
 
(5 intermediate revisions by the same user not shown)
Line 29: Line 29:
 
* [http://www.eclipse.org Eclipse IDE]
 
* [http://www.eclipse.org Eclipse IDE]
 
* [http://www.frevotool.tk/ Frevo - Framework for evolutionary design of complex systems]
 
* [http://www.frevotool.tk/ Frevo - Framework for evolutionary design of complex systems]
 +
* [http://graphstream.sourceforge.net/ A dynamic Graph Library for Java]
  
 
However, quick visualization in Java is a pain without appropriate tools.
 
However, quick visualization in Java is a pain without appropriate tools.
 
There is a nice discussion on Java Scientific Packages similar to SciPy at
 
There is a nice discussion on Java Scientific Packages similar to SciPy at
[http://stackoverflow.com/questions/482305/java-scientific-packages-similar-to-scipy&usg=AFQjCNEDd2KVqF2vY8ovdsztnluDr31UwQ]
+
[http://stackoverflow.com/questions/482305/java-scientific-packages-similar-to-scipy]
  
 
In summary, the proposed packages for Java which could be interesting
 
In summary, the proposed packages for Java which could be interesting
Line 44: Line 45:
 
* JScience
 
* JScience
 
* jHepWork
 
* jHepWork
 +
 +
See also our [[Data Visualization with Java|detailed report on data visualization in Java]].
 +
 +
== HTML5 ==
 +
 +
HTML5 is offering a full frame buffer, audio stack, and embedded video. It thus makes it possible to implement powerful browser-based applications that run independently on all operating systems and various different browsers like Chrome, Firefox, etc.
 +
 +
Tools:
 +
* [http://code.google.com/webtoolkit/ Google Web Toolkit (GWT)]: a development toolkit for building and optimizing complex browser-based applications
 +
 +
== Graph and Network Analysis Tools ==
 +
 +
===JGraphT===
 +
 +
[http://jgrapht.sourceforge.net/ JGraphT] is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including:
 +
 +
* directed and undirected graphs.
 +
* graphs with weighted / unweighted / labeled or any user-defined edges.
 +
* various edge multiplicity options, including: simple-graphs, multigraphs, pseudographs.
 +
* unmodifiable graphs - allow modules to provide "read-only" access to internal graphs.
 +
* listenable graphs - allow external listeners to track modification events.
 +
* subgraphs graphs that are auto-updating subgraph views on other graphs.
 +
* all compositions of above graphs.
 +
 +
Although powerful, JGraphT is designed to be simple and type-safe (via Java generics). For example, graph vertices can be of any objects. You can create graphs based on: Strings, URLs, XML documents, etc; you can even create graphs of graphs! This code example shows how.

Latest revision as of 09:34, 14 September 2011

Python

Tools:


Guides:

Java

Tools:

However, quick visualization in Java is a pain without appropriate tools. There is a nice discussion on Java Scientific Packages similar to SciPy at [1]

In summary, the proposed packages for Java which could be interesting are:

  • Apache Commons Math
  • Java Numerics
  • Colt
  • Matlib
  • Java Scientific Library
  • JFreeChart
  • JScience
  • jHepWork

See also our detailed report on data visualization in Java.

HTML5

HTML5 is offering a full frame buffer, audio stack, and embedded video. It thus makes it possible to implement powerful browser-based applications that run independently on all operating systems and various different browsers like Chrome, Firefox, etc.

Tools:

Graph and Network Analysis Tools

JGraphT

JGraphT is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including:

  • directed and undirected graphs.
  • graphs with weighted / unweighted / labeled or any user-defined edges.
  • various edge multiplicity options, including: simple-graphs, multigraphs, pseudographs.
  • unmodifiable graphs - allow modules to provide "read-only" access to internal graphs.
  • listenable graphs - allow external listeners to track modification events.
  • subgraphs graphs that are auto-updating subgraph views on other graphs.
  • all compositions of above graphs.

Although powerful, JGraphT is designed to be simple and type-safe (via Java generics). For example, graph vertices can be of any objects. You can create graphs based on: Strings, URLs, XML documents, etc; you can even create graphs of graphs! This code example shows how.