Dear Wiki user, You have subscribed to a wiki page or wiki category on "Commons Wiki" for change notification.
The "guixl" page has been changed by guixl. The comment on this change is: This GSoC project need a mentor,any one interested,please let me know,thank you. . http://wiki.apache.org/commons/guixl?action=diff&rev1=1&rev2=2 -------------------------------------------------- ##language:en - == Xunlong Gui == + == An Eclipse-based Visual State Chart XML editor/debuger that generates SCXML documents == + Student Name: Xunlong Gui + - Email: <<MailTo(ustbcoder AT gmail DOT com)>> + Student Email: <<MailTo(ustbcoder AT gmail DOT com)>> + + Organization/Project:Apache/Commons SCXML + + Assigned Mentor:not yet ... + '''Proposal Abstract:''' + State Chart XML (SCXML) provides a generic state-machine based execution environment based on Harel State Tables.It is very useful to handler complex status transfer logic,but if a SCXML file is really so huge and complex,it will become too difficult to maintain and refactor or to test its logic validity.This project aims to provide a Eclipse and GMF based Visual Editor and Debugger for SCXML,and we can also use it to generate SCXML document and specific codes according to a State Chart XML. + '''Detailed Description:''' + + [[http://www.w3.org/TR/scxml/|State Chart XML]] is very useful to handler complex status transfer logic. [[http://commons.apache.org/scxml/|Commons SCXML]] is an implementation aimed at creating and maintaining a Java SCXML engine capable of executing a state machine defined using a SCXML document, while abstracting out the environment interfaces. Now,more and more developers use it to help handler complex program logic,but edit a State Chart XML is so boring and mistakable.If a SCXML file is really so huge and complex,it will become too difficult to maintain and refactor or to test its logic validity.For example,if a SCXML flow has more than 20 States,it is possible to form an dead loop due to developer's glitch. In fact, the archives of the Apache Commons SCXML user mailing list will show many queries asking for it over the years.Obviously, [[http://www.eclipse.org/|Eclipse]] is the most power and popular Integration Develop Environment for developers, if it supplies an editor or even debuger for State Chart XML, isn't it cool ? + + This project aims to develop an [[http://www.eclipse.org/modeling/gmf/|GMF]] based Eclipse plunge-in visual editor which is capable of showing a graphical representation of the process model and allows for adding breakpoints to activities, variable modifications and managing the debugging process for SCXML.I have already done some work on both SCXML and Eclipse GMF,even i tried to implement a SCXML editor using GMF and got a little achievement,so i want to develop this editor with GMF and have enough confidence to finish it. + + Usually,State Chart XML file will be running on a SCXML engine,such as our Commons SCXML,if some one only want to achieve the SCXML file's business logic,but do not want to or can not use some SCXML engine due to some reasons(for example,some guy want to run scxml on web page,but he can not find JavaScript SCXML engine, or some guys want to use SCXML to express his logic in Java,but he does not want to import so many jars),this tool can export SCXML file's logic to executeable Java,C++,JavaScript and python code which has the same state logic translation with the SCXML file. + + So,I want to mainly complete the following funcitons: + + 1. Create a Eclipse plunge-in and GMF based Visual editor for SCXML. This editor can be used to add or edit State Chart Diagram by drap and drop operations, and user can modify State properties of SCXML in Eclipes property view. + 1. Implement debug function for the editor. This SCXML editor will integrate Apache Commons SCXML engine to run State Chart XML file, show context attributes and variables at the breakpoints.Implement step by step,state by state debug function. + 1. State Chart XML export function. State Chart Diagram can be saved as a SCXML file. + 1. Code generation function. This is a tentative job. In the future,this tool will can generate Java,C++,JavaScript and Python codes according to State Chart Diagram. But as we know,i have only more than two months to finish a GSoC project,so, i will hold this as a long term open source project under Apache,during this summer,if i have enough time,i will finish Java code generation job.In the short run, i will implement JavaScript,C++ and Python code generation jobs. + + '''Additional Information:''' + + '''Things i have done already:''' + + I have been studying W3C's recommendation specification about SCXML, read some code generation relative documents,subscribe Eclipse plunge-in develop,GMF and Apache Commons SCXML mail list,discuss technology details in the mail lists. As GSoC suggested it, mail list is really a good place to discuss project ideas and some other details. I use the mail lists whenever possible to clarify the doubts by asking questions from the expertsFeedback that i received from mail lists helps me so much, thanks for self-giving open source developers and open source spirit. + + If i want to start my project, background information about Eclipse plunge-in and GMF is prerequisite. Fortunately, i have more than three years Eclipse plunge-in development experience and be familar with GMF. In fact, i have developed a GMF based SCXML editor rudiment already. + + In order to implement code generation for Java, i must know well about Java code generation relative theory. In fact, i have several years Java development experience,and so familiar with It. So, in the future, i have confidence to do it well. + + '''Time Schedule:''' + + * March 29 - April 9: Submitting the project proposal + * April 26 - May 24:Community Bonding Period (April 26 - May 24): Get to know mentors, read documentation, and prepare development environment. + * May 25 - Jun 8: Implement GMF based basic visual editor for State Chart XML + * Jun 9 - Jun 16: Implement properties edit operations in Eclipse property view, finish SCXML file export function + * Jun 17 - Jun 21: SCXML debuger design and validate + * Jun 22 - Jun 30: Intergate with Apache Commons SCXML engine, implement debugor function coding job + * Jul 1 - Jul 7: Finish SCXML document export design job,including generation guidance UI design and generate system design + * Jul 8 - Jul 12:Finish SCXML document generation coding job + * Jul 13 -Jul 31: Design Java code generation module, do my best to do more coding job for Java generation module + * Aug 1 - Aug 9: Write test cases to test generator,fix bugs do some improvement jobs + * Aug 10 -Aug 16: Scrub code, write tests, improve documentation, etc + * Aug 17 - Aug 20: Submit all my work + + '''Something about me''' + - My name is Xunlong Gui.My major is computer scienece and technology,and i am a postgraduate student of University of Science and Technology Beijing.I am familar with Eclipse,Java,GMF,SCXML,XML,XSL and some other open source projects,such as struts,spring,jstl,dojo and so on and have several years of Java development experience.I am familiar with many project in Apache Foundation,Eclipse Foundation as well as Dojo Foundation . + My name is Xunlong Gui.My major is computer scienece and technology,and i am a postgraduate student of University of Science and Technology Beijing.I am familar with Eclipse,Java,GMF,SCXML,XML,XSL and some other open source projects,such as struts,spring,jstl,dojo and so on and have several years of Java development experience.I am familiar with many project in Apache Foundation,Eclipse Foundation as well as Dojo Foundation. + + '''My open source development experience:''' + + * Built a tool for struts2 to generate XML config file + * Develop a Eclipse plugin for Apache SCXML engine which was a visualizing tool for navigating and editing complex SCXML state description XML. + + '''What i did in my student period''' + + * 2005: Won China Computer World Scholarship (relative info:http://www.etiri.com.cn/publish/article_show.php?id=~26536529455) + * 2007.1 - 2009.7 : Work in IBM China Research Laborary,my team focus on telecom J2EE solution,get lots of XML relative knowledge + * 2009.8 - 2010.3 : Work in IBM China Development Laborary as a intern ---- CategoryHomepage --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org