johnson@n.cs.uiuc.edu (Ralph Johnson) (03/16/91)
Foible is a framework for visual programming environments that is written in Smalltalk-80. Source and documentation is now available by ftp or by a mail archiver. The source includes several sample visual languages. FlowKit is based on dataflow and looks sort of like LabView. Sh++ is a visual shell for Unix. SDS supports system dynamics simulation. ObjectLink is an attempt to make a visual Smalltalk. The rest of this message says a little about Foible and what it is good for, and the end describes how to get it. Foible is an object-oriented framework, i.e. it is the skeleton of an application that is design to be extended and reused. It is a framework for visual programming environments. I noticed that lots of visual programming languages looked an aweful lot like graph editors. Foible is basically a customizable graph editor. If I had to do it over again I would build it upon a more general purpose base like HotDraw, but nothing like HotDraw was available when I started the project four or five years ago. Foible is the result of half a dozen MS theses. Each generation rewrote it and improved it. The last few people have concentrated more on using it and not on improving it, so I guess that means that it is not good enough to use. SDS was a class project, so that means that it is not hard to learn. Foible is written in Smalltalk-80. It runs on both ParcPlace Smalltalk 2.5 and on Tektronix Smalltalk. It will probably be a while before it runs on 4.0. If you don't know Smalltalk then you probably should find someone who does to help you build an image. The only paper that has been published relating to Foible is the one on multiparadigm visual programming by Jose Borges and myself in the 1990 visual programming workshop. However, the masters thesis by Bill Jindrich is the closest thing we have to a user manual. The guys who did SDS didn't ask me any questions about Foible, they learned it all from the thesis, so you probably can too. (Though questions are welcome). ObjectLink and Sh++ also have documentation. You can find the source and documentation for Foible by anonymous ftp to st.cs.uiuc.edu in /pub/st80_pre4/Foible. Note that the subdirectories are already 'tarred' and compressed, so ftp is easy. Be sure to select 'binary' mode. If you do not have ftp access to the internet, there is a mail archiver. Mail to 'archive-server@st.cs.uiuc.edu'. Include the one line 'help' and that will get you started. Note that you DO NOT want to have the entire Foible directory mailed to you at once, because you will get both the 'tarred' and the regular version of each file. send st80_pre4 Foible foible foible-paper.PS will get you Bill Jindrich's thesis. send st80_pre4 Foible foible will get you the entire Foible framework. It is 732K, including the icon library and the documentation. The 'help' will tell you how to control how files are encoded when they are sent back to you, or you can just hope for the best and ask for the paper. Each subdirectory is supposed to have an index so that mail users can retrieve just what they want. However, the last time I looked, not all subdirectories had them. Someone will have to fix that. We hope to make this site a major Smalltalk archive, but we are starting small. Some of you are sure to have problems. If you have problems about accessing the archive, send mail to archive@st.cs.uiuc.edu. If you have questions about Foible, send mail to me. Ralph Johnson -- University of Illinois at Urbana-Champaign johnson@cs.uiuc.edu