Ji Won Chung's CPT Project

From CSclasswiki
Jump to: navigation, search

DYNAMO Software Development

During the Summer of 2017, I worked as a Software Engineer/Developer Intern at Seattle, WA in the Visual Analytics group of the Pacific Northwest National Laboratory for the National Security Internship Program. The following is a brief description about the web-based user interface I worked on. The content was presented during the 2017 National Security Internship Program Research Symposium. For more details on the project, please visit: [1]


The Dynamic Network Analysis via Motifs (DYNAMO) project is a part of the PNNL’s Analysis in Motion initiative, a large scale effort geared to develop new analysis algorithms of streaming data and human computer interaction. DYNAMO is a web interface developed in React.js [2] and D3.js [3] that aims to help the user interactively investigate and detect important graph patterns. The project utilizes the CERT Insider Threat dataset, a synthetic dataset that simulates insider threat and graph networks. DYNAMO’s focus is to integrate streaming data provided by the Living Lab to demonstrate generalizability of the graph algorithms. DYNAMO has developed a graph theory algorithm that finds network motifs, or subgraphs with patterns, of a larger graph. Highlighting motifs provides insight into network activity and helps identify insider threat.



  • Editable queries for the user to find matching subgraphs in full graph
  • Multiple coordinated views summarizing information on full graph
  • Tooltips demonstrating information on node and edge attributes
  • Coordinated highlights between full graph and node count summary views
  • Side tabs to optimize full graph view
  • Legend box labeling node types
  • Highlighting of node and edge selection
  • Histograms demonstrating node information


Full Graph

Demonstrates the entire network the query is searching for. The thickness of the edges represents the number of unique edges between two nodes from the query graph.

Node Count Summary

Lists the top ten nodes based on node counts and displays associated node name, node count, and histogram. The histogram demonstrates five bins, each of which represents the node count of a designated time range. Hovering over a row highlights it in light blue and upon selection turns into a darker shade. Selecting a row highlights the corresponding node in the full graph. Highlighting over an individual bar demonstrates the time range of the node count.

Summary Graph

Summarizes the node and edge information of the full graph. Hovering over a node demonstrates the type of the node via a tool tip. The size of the nodes represents the number of unique nodes in the full graph that corresponds to those mapped in the query graph. The significance of the edge thickness is equivalent to that of the full graph.

Editable Query Graph


Allows the users to designate and create their own motif, or query graph. The user can select nodes and edges to see additional information. Pan, zooming, and dragging of the graph is allowed. The user can also add and delete edges and nodes and modify their respective attributes. Upon changing of the motif, the full graph, summary graph, and node count summary also changes.


  • George Chin, Erin Fitzhenry, Patrick Mackey, Katherine Porterfield, Chenyu Zhang