Hi Don: you have made a lot of progress with JTS! Your paper 1 explains your layered design approach well in OO terms. There seems to be a connection between your mixin layers and our visitors which exist in inlined form already in propagation patterns (described in my book). You are concerned about composing those mixin layers and we are concerned about composing our visitors. Mira Mezini, who you reference, is visiting us and we integrate her Rondo ideas with strategies. One fundamental difference between your mixin layers and our visitors seems to be that visitors need to talk only about the "interesting" classes while the mixin layers have to talk about all classes which get some code from the mixin layer. Topic switch to your message below. Doug Orleans also used inner classes for a while but I think he got rid of them. He probably has some insights into your story below. Below you seem to suggest that we should integrate at the JTS level and not at the P3 level which is only one application of JTS. Is my reading correct? Best regards, -- Karl >From dsb@cs.utexas.edu Thu Jan 8 00:43:11 1998 >From: "Don Batory" >To: Karl Lieberherr >Subject: Re: adaptive software >Cc: dsb@cs.utexas.edu > >Karl: > >Good to hear from you. The Web paper that you refer to is >paper #4 that on my publications page >http://www.cs.utexas.edu/users/schwartz/pub.htm > >Although you didn't ask, JTS will be ready for distribution >in February (including documentation). It has explicit >support for Demeter set/get methods and monitors. There >will probably be other things that we'll discover once >you begin using it. > >We're having some problems with performance which may >be with us for a few months. >Paper number #1 and #3 on the publication web page >gives the prescription that I can implement layers >using inner classes. Java provides inner classes, >so we used them. We discovered that there are serious >performance penalties when compiling source code with >inner classes. (Prior to using inner classes, a simple >.jak file would be translated to a .java file in 1 second; >the most complicated in 8 seconds. The compilation of >the .java files into .class files took 4 seconds and >40 seconds respectively. Using java nested classes, >the .jak->.java translation times are the same. However, >the javac compilation times are 40 and 150 seconds, >respectively! I'm trying to contact people at Sun >to find out what the problem is. We may have to >rewrite part of JTS to avoid using inner classes... > >don. >