Title: simpleGraph
1simpleGraph Analyzing Social Networks Made
Easy! Team 404Anupam Burra Tools GuruLifeng
Hu System IntegratorAly Azeem Khan
VerificationAnjali Koppal Program
ManagerAnanda Matthur Architect
404
2Motivation
- Social Network Research is Big.
- But, Social Network Analysiscan be hard/
annoying for non-programmers.
1
Collect Raw Data
3
Network Analysis Application
Formatted Data
Interfacing Code
2
Phew!
Output
3Our Answer
- simpleGraph A language to represent, analyze,
modify, and visualize social networks. - Selling Points
- Easy to Learn Minimal syntax
- Quick Results Visualization
4Sample Scenario
- A Sociologist has the following data about C.S
Masters Students at Columbia - Name, track, favorite sport
- List of facebook friend links
- How would s/he use simpleGraph to build,
visualize, and modify this social network?
5Sample simpleGraph Program
graph g nodefile n.dat, edgefile e.dat node
anjali,aly add anjali to g add aly to g update
g display g remove ananda from g remove anupam
from g display g
n.dat -------------------------- name,dept,sport
anupam,db,soccer ananda,ml,cricket lifeng,theory,b
aseketball
e.dat ---------------------- anupam,lifeng ananda,
anupam
6Program Structure
graph g nodefile n.dat, edgefile e.dat
Every program must begin with a graph
initialization. Node and Edge information is
imported from the files provided.
node anjali,aly
New nodes, edges, and attributes can be created.
add aly to g remove ananda from g update g
Modifications (Additions, Removals) can be made
to the network. These changes will also be
reflected in the original data files.
7Other Features
print is anjali alys friend? print anjali
connectedTo aly if (aly in g) print aly is
in the network end-if filter nodesOf g by (track
ml)
The network can be easily queried
print diameterof g
Useful Network properties can be extracted in a
jiffy!
display g
The Network can be visualized.
8System Architecture
Lexer/Parser/Walker in Antlr v3.0
Custom JAVA Classes
Visualization Library
C Visualization Engine
Antlr
JAVAC Compiler
SimpleGraph Code
SimpleGraph Code
Output
Interpreter
9DEMO!
10Final Thoughts
Diverse technologies
Hands On Tools
Team work
Compiler Design
End User Perspective
11Test Plan
- Grammar was tested using ANTLR debugger
- Each person unit-tested his/her code
- Every week, we had a team-testing session where
we ran bigger programs that utilized all the
constructs written during the week