Google Summer of Code 2007 Project Proposal

Subject

Axis2/C-JSON

Author

Nimesh Saveendra

Email

nimesh@cse.mrt.ac.lk

IM

nimeshCSE

Project title

Implementing JSON Support for Axis2/C

Project details

JSON (Java Script Object Notation) http://www.json.org/ is data exchanging text format which similar to XML. As name implies it based on java scripting language. Axis2/Java implementation is already has JSON support http://jettison.codehaus.org/. The aim of this project is to provide JSON support for Axis2/C. It will improve the utilization of Axis/C as same as the Axis/Java does. http://wso2.org/library/768,

Project plan

I have planned the project with several phases. I also want to get the feedbacks from mentors at each phase. Testing will be done continuously during the project whenever possible. I hope to present in the Axis2/C development mailing list and other Axis2/C related communities during the project period.

Phase 1: Initial planning & design

During this phase I hope to study more about Axis2/C in some depth and specially identify the usage and integration of JSON to XML mapping module in axis2/C context.

Phase 2: Prototype of JSON Lexicon analyzer and Syntax parser

Implementation of lexicon analyzer for tokenizes JSON text. Implementation of parser for syntactic analyze and implement syntax tree. These phases will firmly follow the specifications given at http://www.json.org/ and RFC 4627 In case of syntax error in JSON text, this module will return syntax error description which would be useful write logs and diagnostic purposes. Testing will be done against carefully selected sample sets

Phase 3: XML mapping for “Badgerfish” convention

Further modifications will be done for JSON Lexicon analyzer and Syntax parser, based on feedbacks from mentors. During this phase, I hope to study “Badgerfish” XML convention and implement the mapping mechanism. Testing will be done against carefully selected sample sets

Phase 4: XML mapping for “Mapped” convention

Further modifications for above mentioned module will be done. I also plan to study “Mapped” XML convention and implement the mapping mechanism for that. Testing will be done against carefully selected sample sets

Phase 5: Final touchups, further testing and completion of documentation

During this phase, codes will be refactored, a complete testing will be done against a large set of samples set, fix any memory leaks and optimizes the module. Documentation will also be done for evaluations.

About me

Currently I am final year undergraduate student in Department of Computer Science & Engineering of University of Moratuwa , Sri Lanka (UoM) - the leading Engineering university in Sri Lanka.

“Language processing” is one of my key interest area in computing domain. Therefore I have studied more about different language processing techniques includes NLP (Natural language processing). I have also being as part-time lecturer in “Intelligence systems” where I was able to share my knowledge about language processing among students. I have experience on implementing language parsers with lex, yacc and I have written Prolog programs for simple English language parsers (using DCG). I have also implemented a JSON text parser for my academic assignment recently.