SDK development

For many seasons, my father and I have thrown around the idea of creating an sdk.

Currently we have developed a mechanism based code.
This way mechanisms within the robot can work independent from each other.

Where we were using C in the past this was very difficult to do efficiently but where the controller next year will be able to handle objects this becomes much simpler and much easier for a learning programmer to understand.

The code currently deals with two levels of abstraction:
the mechanism and the robot.

The other nice thing about the new controller is that it is wifi, which means robot to robot communication. This means that coordinated autonomous movements will be much more sophisticated.

It is also nice because this would only be one more level of abstraction. So now you would have the team->your robot->parts of your robot. Currently the code is set up in a state and goal fashion which would work well in team coordination. For example if i am currently trying to complete a goal, I can relay this information to the team, and my teammates would be able to evaluate their own goal, and determine if they should be working together or if they should change their state to achieve another goal.

I am hoping to continue this project as my senior thesis at WPI, and am looking for ideas and comments from the FIRST community.

Thanks,
Mike