Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Network Workbench Alyssa Adams, Christy Contreras, Sanjeev Ramchandra, Harrison Smith APM 598 Fall 2014 n this paper, we introduce the free network analysis tool Network Workbench. We explore the tools strengths according to the versatility and ease of use for current users, along with customizability and ability to expand the current package. Each participant contributed equally to this paper and the corrensponding presentation. I Introduction: Network Workbench Functions A very advantageous tool in the field of complex systems and network analysis are visualization graphs and simulations. Simulation provides abstraction from irrelevant problems in the physical world; this can be an attractive tool for understanding networks in an educational environment. Network Workbench is a widely known tool used to simulate networks in many areas of research, including the social sciences, physical sciences and biomedical research. Another convenient aspect about this tool is its accessibility to academic institutions under a no-cost license. This program is not as powerful as some other tools used for intensive investigation of larger and more complex networks, but it is powerful enough for students to quickly learn and understand the fundamentals of network analysis in a broad range of topics. Some of the functionalities of the NWB tool are its ability to access and share datasets and algorithms online across different scientific groups. The NWB Toll provides access to over 80 algorithms and 30 sample datasets as of September 2008. The NWB community Wiki is aimed to provide a nice learning and sharing community as where NWB users can upload and advertise, access and request datasets and algorithms by posting want-ads asking for their specific needs. The community wiki is a great place to interact as a scientific community to use the most up-to-date and effective algorithms out there. Saving, loading and processing of files accepts seven different types of formats and supports automatic conversion among these formats, which makes it flexible and very useful for interchanging algorithms and datasets between different scientific groups. One can generate, run and validate network models and perform network analysis by running the algorithms and algorithm parameters that are logged in the Console window and in the log files. The Console window displays the original authors of the algorithm, the developers, the integrators, a reference paper URL, and a link to the description of the algorithm in the NWB community wiki. The interface has a Scheduler to keep track of the progress of all the running algorithms where you can pause, resume or cancel an algorithm while its still running. Different plug-ins are used for different tasks within the NWB Tool; the Cyber-infrastructure Shell (CIShell) and Open Services Gateway Initiative (OSGi) run the core architecture, others convert loaded data to in memory objects, and algorithm plug-ins are divided into algorithms for preprocessing, analysis, modeling and visualization. For the analysis of networks, the tool provides Network Analysis Toolkit (NAT) to get the basic properties, such as number of nodes and edges, node and edge attributes, whether a network is directed or undirected, if it has self-loops or parallel edges, average degree, etc. The tool uses different visualizations to explore and interpret particular networks for both introductory networking courses and advanced student research projects. It offers a GUI, a menu driven interface that can be used directly or can be customized by application writers though the Interpreter by programming their own and thus allows them to understand the protocol algorithms. The workbench is structured around a stack of five layers abstracted from the Internet Protocols (TCP/IP family) which includes a set of protocol programming exercises suitable for Page 1 of 4 introductory networking courses as well as for more In order for plugins, algorithms, and different data advanced student research projects. formats to be implemented seamlessly into NWB, the core components of NWB are OSGi-based and CIShell overlaying OSGi. This allows NWB to share Adjusting Network Workbench and implement multiple algorithms and hopefully add Cytoscapes visualization capabilities. This arAt first glance, Network Workbench is a very versa- chitecture makes it possible to integrate code from tile tool for analyzing networks, not only because it multiple libraries and versions of the same library, is supported on all three major computer platforms, which allows for almost countless additional plugins. but because it also supports a wide variety of input Some additional features include data conversion, formats for data. It can also export data in mul- although some data conversion can be lossy and users tiple formats, and allows access to large data sets should read documentation for more details before through the source website. There are multiple plug- using this feature. ins that can be added or deleted, as well as a flexible menu within the GUI that can be customized by the user. There are domain-specific plugin sets, and Extending Network Workbench algorithms that are not applicable to the currently loaded and selected dataset are greyed out. NWB The Network Workbench program can be extended can be used for almost any discipline that uses and with code, primarily using the GUESS graph exploration tool. GUESS is an integrated package used analyzes networks. Upon closer examination, it is easy to see that to carry out visualization and network analysis with Network Workbench was specifically designed to pro- an existing network in Network Workbench. Once vide researchers with a large variety of tools that will the network of interest is imported into the program accommodate their specific needs when analyzing (using the .nwb file format), or generated within the networks. NWB created a Community Wiki page as program, it can be visualized by accessing GUESS a supplement to the NWB tool, where users can add from the visualization menu. The graphic user intercontent and provide feedback. Here, algorithms that face within GUESS lets the user change the layout you create or find can be uploaded, downloaded, or of the network, as well as node/edge shape, size, even requested if there already isnt an algorithm in color, and positionshowever, much of the advanced network editing and visual manipulation must be your NWB. The Wiki page is especially important to the NWB entered into GUESSs interpreterthe equivalent of a user base because it offers a fallback for what NWB command line. The GUESS interpreter is based on the Python doesnt have pre-installed. Although it is a powerful tool, it has fewer algorithms than Pajek and language, and relies on the python modules Jython UCINET, and is also less flexible than Cytoscape for and Gython, which interpret python in Java and the visualization. If there is an algorithm or feature that Go languages respectively. Because the interpreter is provided by Pajek, but not by NWB, a user can relies on Python, syntax is concise and generally very simply visit the Wiki page and put in a request. The human readable. online community extends its influence by inviting any CIShell based program users such that the larger Example scientific community can benefit from the ongoing Shown is an example network (Fig 1a) from the development of the program. Currently there is a major problem with the Com- sample file florentine.nwb (included in the Network munity Wiki entity, however. After attempting to Workbench program download) running in GUESS, visit the website, users quickly discover the link to using the GEM layout. While the network data the Community Wiki and all links to the supple- file (.nwb) may tell us about many of the network mental algorithms incorrectly redirect to the main attributes (e.g. the attribute wealth in this network homepage. As of now, there is no way to access of families, or the betweenness centrality of each the community features or to download additional node), none of these attributes are clearly visualized. algorithms, and the website has not been updated This is where writing extended code for the program since 2009. This is troubling for current users, as can be useful. The command, they are limited to the bare features provided in the initial installation and other sources. >>> colorize(wealth,red,blue) Page 2 of 4 (a) GEM layout of the default florentine.nwb network. work based on existing network attributes, GUESS can be used to do additional network analysis, and visualization based on that new analysis. For example, GUESS contains commands for listing a nodes indegree, outdegree, and betweenness (if not already existing as a node attribute, unlike the aforementioned example). Functions, loops, and other operators can also be used to change visualization of the network. Barabsi-Albert Algorithm The Barabsi-Albert (BA) model is the simplest known algorithm to generate a scale-free network. It can be applied to model undirected networks such as the collaboration network among scientists, the movie actor network, and other social networks where the connections between the nodes are undirected. (b) The florentine.nwb network from Fig1a, However, it cannot be used to generate a directed where each node is colored on a scale from red to blue based on the value of the nodes network. wealth attribute (an arbitrary positive inteThe BA model algorithm generates a scale-free ger value). network by incorporating growth and preferential attachment. Starting with an initial network of a few nodes, a new node is added at each time step. Older nodes with a higher degree have a higher probability of attracting edges from new nodes. The initial number of nodes in the network must be greater than two and each of these nodes must have at least one connection. The final structure of the network does not depend on the initial number of nodes in the network. The degree distribution of the generated (c) The florentine.nwb network from Fig1b, where each node is now resized on a scale network is a power law with a scaling coefficient of from 5 to 30, where a larger size nodes −3. (Barabsi & Albert, 1999; Barabsi & Albert, indicates a larger betweenness-centrality. 2002). The figure below shows the probability distribuFigure 1: GUESS visualization of the florentine.nwb nettion of the nodes on a log-log scale and the network work. representation as a graph. The probability pi that the new node will be connected to node i is given as yields the network shown in Fig 1b, where the ki attribute wealth is now visualized on a scale from (1) pi = P red (lowest wealth value) to blue (highest wealth j kj P value). where kj is the degree of node i and j kj sums over Now on top of that, if we wish to visualize all pre-existing nodes. betweenness-centrality of each node, we can resize The inputs for the algorithm are the number of the nodes where larger nodes indicate a higher time steps, the number of initial nodes, and the numbetweenness-centrality. ber initial edges for a new node. The algorithm starts >>> resizeLinear(sitebetweenness,5,30) with the initial number of nodes that are fully conThis command resizes nodes based on the attribute nected. At each time step, a new node is generated sitebetweenness (which represents betweenness- with the initial number of edges. The probability centrality in this example dataset) on a scale from 5 of attaching to an existing node is calculated by dito 30 (Fig 1c). viding the degree of an existing node by the total Besides these trivial examples of visualizing a net- number of edges. If this probability is greater than Page 3 of 4 core tool is still very powerful and fast, even if it does not offer as many algorithms as Pajek. References [1] Herr, B. and Huang, W. (2007). An Introduction to the Network Workbench and Cyberinfrastructure Shell Introductory Paper. CIShell.org, ¡http://cishell.org/wiki/uploads/Main/¿. [2] Pullen, J. M. (2000). The Network Workbench: Network Simulation software for Academic Investigation of Internet Concepts. Computer Networks, Vol 32 No 3 pp 365-378. [3] Barabasi, A. and Albert, R. (1999). Emergence of Scaling in Random Networks. Science, Vol. 286 no. 5439 pp. 509-512. [4] Barabasi, A. and Albert, R. (2002). Statistical mechanics of complex networks. Reviews of Modern Physics, Vol. 74 no. 1 pp. 47-97. Figure 2: Node degree distribution (top) and scale free graph (bottom). [4] NWB Team. (2006). Network Workbench Tool. Indiana University, Northeastern University, and University of Michigan, ¡http://nwb.slis.indiana.edu¿. zero and greater than the random number obtained from a random number generator then an edge is [4] NWB Team. (2008). NWB Basic Tutorial: Getattached between the two nodes. This is repeated in ting Started. Indiana University, Northeasteach time step. ern University, and University of Michigan, How to execute the BA Algorithm: ¡http://nwb.slis.indiana.edu¿. • Run with ‘Modeling − > Barabsi-Albert Scale Free Model’ and a time step of around 1000, initial number of nodes 2, and number of edges 1 in the input. • Layout and determine the number and degree of highly connected nodes via ‘Analysis − > Unweighted and Undirected − > Degree Distribution’ using the default value. • Plot node degree distribution using Gnuplot. Conclusion Network Workbench is an excellent tool for analyzing aquired network data, generating new graphs, and visualizing networks. However, because of the current state of the supplement website, much of the originally intended versatility of the program is suffocated. Users will have to seek other sources to access the intrinsic versatility of the program. The Page 4 of 4