Contents - Index - Previous - Next


ProtoGenie Home Page

Why Is ProtoGenie Necessary?

There is a fundamental disconnect between the process by which research is designed and the process by which software is "programmed." Developing software for research is fundamentally an iterative process.  The typical instruction to a software engineer is "Please do X, Y, and Z." Weeks later, researchers receive the program only to discover that Z was not correctly understood or is not right for what they want to do. So, the researchers say, "Please change Z to W." Weeks later, they try it again and it crashes or does something bizarre because the engineers did not anticipate the effect of the change on other parts of the code. Back to the engineers it goes and so on and so forth until deadlines and budgets have been trashed and the researchers are angry with the programmers and programmers are angry with the researchers.  

The dreamer's solution is for software engineers to be researchers or for researchers to be software engineers. Obviously, neither is realistic. But, what if researchers could create their own software without becoming software engineers? This is exactly what ProtoGenie makes possible by re-using existing protocols, by making protocols configurable, and by making all composing operations menu-based and easy to do.