Feature Oriented GUIs for Java Swing


This is a class project for Feature Oriented Programming with Don Batory. You will need Apache Ant and Java 1.5.0 to use this.

FOG is a framework for developing feature oriented product lines for graphical programs with a consistent interface across all products. In support of this framework, FOG includes a declarative specification language for constructing Java Swing interfaces, an interpreter and preview tool for dynamically loading these interfaces, and a static compiler for translating these interfaces into real Java files.

For more background on the project, you can read this short paper (439 KB, PS File) which explains what the project is all about.


Download Version 0.01 (928 KB, .tar.bz2 archive)
Includes Xerces XML parser, FOG core library, simple demos, and notepad demo.
Installation Instructions
Includes a brief guide to the various programs.
View Distribution Files
Perhaps useful if you are thinking about downloading it.
Presentation Slides (12 KB, OpenOffice .sxi format)

Legal Information

This product includes software developed by the Apache Software Foundation (http://www.apache.org). In particular, the file lib/xercesImpl.jar is a copy of the Xerces XML parser. The notepad example program is (very loosely) based on Java Notepad by Salah Al-Thubaiti. Everything in the core is original work and released under the GNU General Public License, and you are free to use it and distribute it with your programs under those conditions.