This is a friendly reminder that brocures for the Seattle conference are due to RL and John Salasin ASAP. Recall that the brocures or product sheets should be a one page fact sheet which provides a brief description of what the product does, why it is useful, what it runs on and how to get it. RL's fax (315) 330-7989 John's fax (703) 696-0564 Demeter/Java and AP/Studio Fact Sheet What does the product do? Demeter/Java is a tool which allows you to write Java programs which are easy to evolve and reuse. The product is the result of 10 years of research/development in structure-shy programming which started with the Law of Demeter. The techniques to achieve structure-shy programming are to add strategic information about traversals and objects to Java programs and to follow style rules, such as the Law of Demeter. http://www.ccs.neu.edu/research/demeter/demeter-method/LawOfDemeter The program takes as input Java programs extended with additional aspect descriptions and translates the extended Java programs to ordinary Java programs. Currently, an extended Java program consists of a single layer of traversals and visitors. Future extended Java programs are planned to have a layered architecture where each layer is expressed adaptively in terms of the layer below. This leads to a loose coupling between the layers and each layer is very flexible regarding the structure of the objects which need to be processed. Why is the product useful? The product has the following benefits compared to unextended Java: Programs become more flexible. Programs are more readable since traversal strategies are a part of the program, i.e., the programmer's high-level intentions are encoded directly into the program code (as traversal strategies), rather than having to be written as comments or external documentation. This means that a part of the rationale capture for the program is an integral part of the program itself. Without the explicit traversal strategies, the programs are harder to read since often a large number of function calls would need to be studied to get the equivalent information in the strategies. Programs become shorter. The current version of the product supports adaptive object-oriented programming with the following aspects using widely used notations: The basic behavior is expressed in a small language which has Java embedded in it. The small language supports a traversal/visitor style of programming following the Visitor design pattern. The object structure aspect is expressed in UML (Unified Modeling Language of Rational et al.) and the domain-specific language aspect is expressed in an extension to UML using an EBNF style syntax. Future versions of the product will include other aspects, including the synchronization aspect and the remote invocation aspect. AP Studio is a graphical user interface for Demeter/Java. It supports visualization of and visual development of Demeter/Java programms, especially traversal strategies embedded in UML class diagrams. Platforms Demeter/Java is implemented in Demeter/Java and available in 100% pure Java source form. It is running on all platform where Java is running and is currently used under Solaris, SUNOS, DEC Alpha with OSF, Windows, Windows NT and Linux. Demeter/Java uses several libraries supplied by Java and also the Java Compiler Compiler from SunTest. How to get it. We distribute the Demeter/Java tool for early experimentation. It contains some bugs and lacks documentation. A beta release will be announced at the end of August 1997. The latest source code is in the youngest subdirectory of: http://www.ccs.neu.edu/research/demeter/sources/DemeterJava/inJava/ (currently 0.4.6-JDK1.1). For general information on Demeter/Java, see: http://www.ccs.neu.edu/home/lieber/Demeter-and-Java.html For AP Studio: A beta release will be available at the end of August 1997. For theoretical foundations: See the book: http://www.ccs.neu.edu/research/demeter/biblio/dem-book.html ------