![Page 1: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/1.jpg)
eSL - A language for Social Networks
Team : Fantastic Four Ashwath Narsimhan – Project Manager
Jyotsna Sebe – System ArchitectShailesh Saroha – System Integrator
Yi Wang – Tools Guru & System Tester
![Page 2: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/2.jpg)
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
![Page 3: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/3.jpg)
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.
![Page 4: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/4.jpg)
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?
![Page 5: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/5.jpg)
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.
![Page 6: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/6.jpg)
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);}
Sample1.esl Create a Social Network
![Page 7: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/7.jpg)
![Page 8: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/8.jpg)
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);}
Sample2.esl Establish Friendship
![Page 9: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/9.jpg)
![Page 10: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/10.jpg)
![Page 11: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/11.jpg)
Sample3.esl Query
main()
{
Graph g = “MyGraph.xml”;
Query q = <“location”,”ny”> &&(<“favbooks”,”Shakesphere”> ||<“major”,”literature”> );
Member [] members = search(g,q);
display(members);
}
![Page 12: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/12.jpg)
eSL Architecture
ANTLR
LEXER/PARSER/WALKERLEXER/PARSER/WALKER
INTERPRETERINTERPRETER
CUSTOM JAVA CLASSESCUSTOM JAVA CLASSES
OUTPUTOUTPUT
Esl Source Program File (*.esl)
![Page 13: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/13.jpg)
Test Plan
White box Testing – Each developer responsible.
Integration Testing – System Integrator. System Testing – System Architect. Testing Tool - TestNG
![Page 14: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/14.jpg)
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 resultsLibraries Jgraph – Visualization of the graphs. TestNG – Writing test cases Java Swings - Display
![Page 15: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/15.jpg)
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!!
![Page 16: ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System](https://reader035.vdocuments.us/reader035/viewer/2022062313/56649d595503460f94a39ffd/html5/thumbnails/16.jpg)
Conclusion
User friendly Good visualization Free of cost
Future Work– Parallelism– Communities