Cuttlefish: Dynamic Network Visualization
Download Cuttlefish here
At the Chair of Systems Design, networks from very different domains are analyzed: economic networks, social networks, biological networks, networks of software dependencies, and networks in technological systems. This variety poses a challenge, as the classical network analysis tools do not account for the idiosyncrasy of each network type. A second challenge results from the fact that most of these networks exhibit a highly heterogeneous degree distribution. Classical force directed layout algorithms, such as the spring-layout, do not cope very well with such a topology as the figure shows. Highly connected clusters are compressed to undifferentiated lumps and nodes with low degrees spread out disproportionally.
We have addressed these challenges by developing our own tools, for instance a new variation of force-directed layout: ARF uses a different set of force equations than the spring-layout algorithm. The new equations balance attraction and repulsion and thus distribute also highly heterogeneous networks well in the layout space, as the comparison of Figure 8.1 shows.
Another new tool developed at the Chair of Systems Design is the network analysis tool Cuttlefish. It offers a versatile plug-in mechanism which allows users to extend its functionality. This way Cuttlefish adapts to the problem domain like the animal from which it borrowed the name. Furthermore, Cuttlefish is a a platform independent open source project in SourceForge, released under GNU General Public License. Its code and documentation are available for the whole community and the participation of external users and developers is encouraged.
Its high extensibility and multi-purpose features make Cuttlefish a useful tool also for researchers outside of the Chair of Systems Design. GraphML and pajek files can be loaded, as well as file formats for special visualization, or file formats for changes taking place in the network. Cuttlefish creates figures from snapshots and tex files using PSTricks or Tikz for scalable graphics. Eventually, Cuttlefish allows browsing a large network stored in a database by applying filters to the nodes and edges displayed. In addition to ARF, other well-known layout algorithms are implemented, such as Kamada-Kawai, Fruchterman-Reingold, Spring and ISOM.