Download presentation
Presentation is loading. Please wait.
1
eSL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System Integrator Yi Wang – Tools Guru & System Tester
2
Introduction easy to use Social Network Language (eSL) It provides easy to understand data structures and iterations that help a user to construct and manipulate a graph built for social networks. Features:- – Imperative – Interpreted – Query Language
3
Basic Motivation Constructing and Managing social network graphs. Simple functionalities like querying for commonalities in users can be performed in a few lines of code. Easy to understand and use – small learning curve. Targeted at people with very little programming background and help them interface applications to analyze social networks. Easy to visualize social networks – GUI. Quick results.
4
Sample Scenario Question: librarian wants to find all users interested in a particular book world wide. – How do we represent this? – How can we speed things ? – How can eSL help librarian?
5
Implementation and Samples Graph - primitive data type, represents a particular social network. Member – primitive data type, represents a user (node) in that social network. peer1.friends represents friends of a member called peer1. Query - primitive data type, that helps in retrieving nodes that share commonalities. Input – input is an XML file containing the members in a network. Output – a window showing node attributes and connection. Also supports adding new attributes and members to the graph.
6
main() { /* Create new Graph, storing it in XML file */ Graph g = "socialnetwork.xml"; /* Declare four members */ Member m1, m2, m3, m4 ; /* add information for the members */ m1.info add,,, ; m2.info add,,, ; m3.info add,,, ; m4.info add,,, ; /* Add memebers to graph */ g add m1, m2, m3, m4; /* Visualize the graph */ display(g); } Sample1.esl Create a Social Network
8
main() { /* Read from the existing graph stored in XML file */ Graph g = "socialnetwork.xml"; Member m1, m2, m3, m4 ; /* Connect the nodes */ m1.friends add m2, m3, m4; m2.friends add m1, m3,m4; m3.friends add m1, m2, m4; m4.friends add m1, m2, m3; g update m1, m2, m3, m4; /* Visualize the graph */ display(g); display(m1); } Sample2.esl Establish Friendship
11
Sample3.esl Query main() { Graph g = “MyGraph.xml”; Query q = &&( || ); Member [] members = search(g,q); display(members); }
12
eSL Architecture ANTLR LEXER/PARSER/WAL KER INTERPRETER CUSTOM JAVA CLASSES OUTPUT Esl Source Program File (*.esl)
13
Test Plan White box Testing – Each developer responsible. Integration Testing – System Integrator. System Testing – System Architect. Testing Tool - TestNG
14
Tools & Environment Tools SVN – configuration management Eclipse – Eclipse version 3.4 (Java) - SDK ANTLR – 2.7.6 – Lexer, Parser, Tree-Walker Google docs – Documentation and recording results Libraries Jgraph – Visualization of the graphs. TestNG – Writing test cases Java Swings - Display
15
Lessons Learnt Database backend, difficult to interface. Improved Debugging skills Explored boost graph libraries- couldn’t use them for social networks. Compiler approach was time consuming- > backtracked and decided to use an interpreter instead. Incremental Approach – the best!!
16
Conclusion User friendly Good visualization Free of cost Future Work – Parallelism – Communities
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.