230 likes | 351 Views
Can We Talk Now? Technology Selection for an Intelligent Status Tracking System. 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor: Dr Rolf Schwitter. Agenda. Project Introduction Related Work Requirements and System Analysis Rule Engine Evaluation
E N D
Can We Talk Now?Technology Selection for an Intelligent Status Tracking System 5th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor: Dr Rolf Schwitter
Agenda • Project Introduction • Related Work • Requirements and System Analysis • Rule Engine Evaluation • Technologies for client and server parts • Future Work • Conclusion
The Problem • Where is ‘John’ and how should I contact him? • What happens if I call during a meeting with the CEO?
Project Aims • To develop a low-cost prototype intelligent status tracking system (Can We Talk Now?) • Based on Social Networking principles • Populate user’s status information based on calendar, location, etc. • Use logic to determine ‘best’ means of communication between two users • To integrate with mobile devices (Apple iPhone)
Project Phases • Project split into two phases: • Feasibility study and technology selection: • Rule engine • Client-server communications • Server platform • Prototype system development
Agenda • Project Introduction • Related Work • Requirements and System Analysis • Rule Engine Evaluation • Technologies for client and server parts • Future Work • Conclusion
Related Work • Many public and private Social Networking Services (SNS) store status information • Not automatically populated • No logic rules applied to extract information • Dinoff et al. 2007 reports a similar system to CWTN for service providers or carriers (Intuitive Network Applications) • CWTN is low-cost ‘add-on’ system for individual enterprises
Learnings from other SNSs • Need for flexibility in data and functionality • Need to integrate with SNS as mini-application rather than reinventing wheel • Need to address enterprise deployment issues: • Security • Cultural hindrance • Privacy • Scale and critical mass
Agenda • Project Introduction • Related Work • Requirements and System Analysis • Rule Engine Evaluation • Technologies for client and server parts • Future Work • Conclusion
Application Logic • Populating Activity facts based on: • GPS, calendar information, etc. • Determining available means of communication based on: • Matching location • ‘Free to talk’ status: • Current activity (e.g. meeting versus idle) • Relative importance of people • Relative urgency of question • Prioritising means of communication
Agenda • Project Introduction • Related Work • Requirements and System Analysis • Rule Engine Evaluation • Technologies for client and server parts • Future Work • Conclusion
Rule Engine Evaluation • Evaluated rule engines: SWI-Prolog, Prova, Drools, JESS • Criteria included: • Support for application logic • Integration with Java (for server platform) • Enterprise based criteria (robustness, development environment, support, licence fees) • Future proofing (RuleML, Semantic Web support)
Rule Engine Evaluation Results • No rule engine ideally suited • Backward chaining like Prolog or Prova good for problem, but lacked in other areas • Drools has good support, but is forward chaining • Use Drools for now, with architecture to support simple replacement
Agenda • Project Introduction • Related Work • Requirements and System Analysis • Rule Engine Evaluation • Technologies for client and server parts • Future Work • Conclusion
Client-Server communications • Mobile device restrictions: • Limited battery • Limited CPU • Limited libraries • Use REST (RESTlet framework) • Fits into SOA • Easier to process than Web Services • Use JSON instead of XML • Lightweight and less bandwidth
Server platform • Mobile devices need Internet-facing server • Difficult to get for a prototype system! • Deploy prototype to Google App Engine • Internet accessible and free JEE server • Consider integration with enterprise later • Enterprise hosted server • Trusted connection to Google App Engine cloud
Agenda • Project Introduction • Related Work • Requirements and System Analysis • Rule Engine Evaluation • Technologies for client and server parts • Future Work • Conclusion
Future Work – Post-Prototype • Enterprise deployment: • Implement integration with SNSs • Research testbed: • Use of Semantic Web technology for data storage and reasoning
Conclusion • Aim of project is to develop a low-cost intelligent status tracking system • Initial feasibility study and technology selection completed • Rule engine, server platform, client-server communications • Development iterations scoped • Next steps – Design and develop prototype
Thank you • Questions?