|Proposed by Mathieu Dehouck (profile, biography)
How will I do that project
I'll spend at least 25 hours a week on the project and see with my mentor if the work I'm doing is what was expected and is useful.
I will send mail on moose dev each time I have something interesting to show.
What methodologies will I use
I'll start by looking at what can be done with existing stuff, then I will try to have a basic but well working way to display AST in Roassal, and then I'll add new useful things such as different shapes for nodes, colors and other useful things.
I'll do as much interesting commits as possible so that my mentor and the comunity could have a look at the work.
Suggested timeline and milestones
1. See exactly what are the needs to use Famix models in Roassal.
2. Make a good tree implementation. (almost already done)
3. Add new shapes, and presets of colors for representing SmallTalk syntax trees.
4. Add new interactions, to hide/show subtrees for example.
5. If have time do other nice things to be done for Roassal.
Where I see the risks
I'll have to focus on utility, not add color just because it's pretty, but to have a powerful and useful tool. Then I'll have to make something abstract enough so that it could be used with Java AST, and then any other AST without much work.
How the results will look like
It could be nice to have a way of drawing AST in Roassal without calling explicitly to Famix, but just with simple script in the easel, such as :
view ASTreeFor: aMethod.
view ASTStyle: smalltalk.