1 / 16

eSL - A language for Social Networks

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. Introduction. e asy to use S ocial Network L anguage (eSL)

barney
Download Presentation

eSL - A language for Social Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Sample1.esl Create a Social Network main() { /* Create new Graph, storing it in XML file */ Graph g = "socialnetwork.xml"; /* Declare four members */ Member m1<"Yi",“Wang"> , m2<"Jyotsna",“Sebe"> , m3<"Ashwath",“Narsimhan"> , m4 <"Shailesh",“Saroha">; /* add information for the members */ m1.info add <"location","NY">,<"Major","cs">,<"country","China">,<"hobby","music">; m2.info add <"location","NY">,<"Major","cs">,<"country","India">,<"hobby","reading">; m3.info add <"location","NY">,<"Major","cs">,<"country","India">,<"hobby","painting">; m4.info add <"location","NY">,<"Major","cs">,<"country","India">,<"hobby","game">; /* Add memebers to graph */ g add m1 , m2 , m3 , m4; /* Visualize the graph */ display(g); }

  7. Sample2.esl Establish Friendship main() { /* Read from the existing graph stored in XML file */ Graph g = "socialnetwork.xml"; Member m1<"Yi","Wang"> , m2<"Jyotsna","Sebe"> , m3<"Ashwath","Narsimhan"> , m4 <"Shailesh","Saroha">; /* 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); }

  8. Sample3.esl Query main() { Graph g = “MyGraph.xml”; Query q = <“location”,”ny”> &&(<“favbooks”,”Shakesphere”> ||<“major”,”literature”> ); Member [] members = search(g,q); display(members); }

  9. eSL Architecture ANTLR LEXER/PARSER/WALKER CUSTOM JAVA CLASSES INTERPRETER Esl Source Program File (*.esl) OUTPUT

  10. Test Plan White box Testing – Each developer responsible. Integration Testing – System Integrator. System Testing – System Architect. Testing Tool - TestNG

  11. 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

  12. 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!!

  13. Conclusion • User friendly • Good visualization • Free of cost  Future Work • Parallelism • Communities

More Related