commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rahul Akolkar <>
Subject Re: [SCXML] Development plan about SCXML Visual editor
Date Sun, 02 May 2010 06:05:45 GMT
Hi Long,

You can simply send emails to the Commons dev mailing list (rather
than to me and CC'ing the list). I read mostly all emails on the list,
and especially those related to SCXML or GSoC.

2010/4/29 Xun Long Gui <>:
> Hi Rahul,
> Althrough Google told us that students should start coding job at May 25,
> but i think, for me and this project, it is time to move now.

OK, that date is just a guideline really, its upto you.

> I think this
> tool is not a simple tool, two months long time is not enough actually. I
> started coding experience job weeks ago and got a demo about this project,
> but it is just a demo, if we want to make it well developed and practical,
> it is a simple thing. Now, here is my develop plan, we should finish it step
> by step, there are mainly four steps in all.
> Step 1. Finish basic data model design, create a visual state
> add/edit/delete tool
> We can use GMF to generate many codes for this tool, but the  premise is
> that we must have a correct EMF data model about this tool. For example,
> only if we have a ASSIGN STATE in this data model,  then we can find a
> ASSIGN STATE component in toolbar of final editor. As we know, a SCXML
> document has only one START state, if we make wrong in the EMF data model,
> may be in the final editor, we can add several START states for a SCXML
> document, obviously, it is wrong.
> So,EMF data model is very important for a GMF visual editor, and SCXML
> specification is not a simple specification, i should read it carefully and
> even get a proper data model for this project. Fortunately, i have cleaned
> all the technology difficulites in this period. I need just time to finish
> this period. I think it will cost me 5-6 weeks.

Yes, getting the EMF model correct is ofcourse important. If you think
its a good idea, it may be better to make some editor function
available much sooner than 5 weeks (perhaps with a smaller feature
set) and then improve it or complete the coverage for the SCXML
specification. So, we may simply start with what you have in your
demo, get it in SVN now or within a few days (by submitting a patch in
JIRA) and have others try it out while you make improvements.

In general, I think its better to get in the habit of making
incremental changes and SVN commits. Not only does this allow other
developers here to follow what you are doing, but will also be useful
during your mid-summer and end of summer progress reports and
deliverables for GSoC.

> Step 2. SCXML document export and import function
> After we finish a SCXML document edit job in this tool, we should export it
> to a XML format document, this is a data model to xml document job, not very
> hard.
> Also, we should supplies SCXML document import function, users use this tool
> to import existing SCXML document, then edit, and export it again. I think
> this is also a regular job process.

If we can get a usable level of round-tripping between the SCXML
serialization and the editor (editor -> XML -> editor as well as XML
-> editor -> XML style scenarios), that'd be nice indeed.

> In this period, we should finish some Eclipse extension point implemention
> job as well as data model to XML transfer job, it will cost me 2-3 weeks.
> Step 3. Degug function
> It is hard to finish a fantastic debug tool, especially in such a short
> time. But at least, i will finsih state logic check part for this tool. For
> example, if there is a dead loop in the state transition diagram, this tool
> will give user some tips and warnings.
> Step 4. Code generation function
> If we have time left, i want to finish JAVA code generation job for this
> tool. It will generate JAVA classes with the same function with editing
> SCXML document.

OK, would you like to start documenting (perhaps on the wiki) the
plans for Steps 3 and 4 in more detail over the next couple of weeks?
We can always revise the estimates later based on progress in Steps 1
and 2 and the time those take. Will also help to start brainstorming
suitable approaches towards implementing these.

> Rahul, as you pointed before, Step 1 and 2 are the core components for this
> tool, so i will pay much attention to this two parts, if we can finish these
> two parts well, many people will benefit from this tool. I want to
> contribute this tool to Apache Commons SCXML project as a beta publish
> version once i finish these two steps. Then,more user and developers can
> find it in Apache web site, may be they can also give us some good advises
> to improve it.
> Step 3 and 4 is extend functions for this tool, it will make this tool
> better, but these two parts exist in my brain only, i have not done any
> experiments to get right ways to impelent them. I will try my best to finish
> them well, may be in Google Summer Code time, i can not finish them, but i
> will still work for them.
> This is my plan, your opinion ? Thank you !

See comments above. Thanks for getting started :-)


> --
> Best Regards
> Gui Xun Long (桂训龙)

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message