110 likes | 219 Views
simpleGraph Analyzing Social Networks Made Easy! Team 404: Anupam Burra – Tools Guru Lifeng Hu – System Integrator Aly Azeem Khan – Verification Anjali Koppal – Program Manager Ananda Matthur – Architect. 404. Motivation. Social Network Research is Big .
E N D
simpleGraph Analyzing Social Networks Made Easy! Team 404:Anupam Burra – Tools GuruLifeng Hu – System IntegratorAly Azeem Khan – VerificationAnjali Koppal – Program ManagerAnanda Matthur – Architect 404
Motivation 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
Our Answer simpleGraph: A language to represent, analyze, modify, and visualize social networks. Selling Points: + Easy to Learn + Minimal syntax + Quick Results + Visualization
Sample 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?
Sample 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,baseketball e.dat ---------------------- anupam,lifeng ananda,anupam
Program 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.
Other Features print “is anjali aly’s friend?” print anjali connectedTo aly if (aly in g) print “aly is in the network” end-if filternodesOf 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.
System Architecture Lexer/Parser/Walker in Antlr v3.0 Custom JAVA Classes Visualization Library C# Visualization Engine Antlr SimpleGraph Code SimpleGraph Code JAVAC Compiler Output Interpreter
Final Thoughts Diverse technologies Hands On Tools Team work Compiler Design End User Perspective
Test 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