Bobolink Home Page
Bobolink is a block-diagram simulator written in Java which runs as an applet. Bobolink puts active, fiddleable models of systems in web pages, so that the viewer can play with them. Java has a feature called the Reflection which lets it dynamically link in classes given only a name. Bobolink uses the Reflection to make it easy for users to create entirely new types of block without having to modify a single line of the existing code.
As you can see from the diagram above, Bobolink still isn't very polished.