From lieber@ccs.neu.edu Thu Jan 14 16:23:29 1999 Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.9.1a/8.9.1) with ESMTP id QAA21895; Thu, 14 Jan 1999 16:23:28 -0500 (EST) Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.9.1a/8.9.1) id QAA20375; Thu, 14 Jan 1999 16:23:27 -0500 (EST) Date: Thu, 14 Jan 1999 16:23:27 -0500 (EST) From: Karl Lieberherr Message-Id: <199901142123.QAA20375@stockberg.ccs.neu.edu> To: johan@ccs.neu.edu, lieber@ccs.neu.edu Subject: Re: TAO etc. Status: R Hi Johan: >From johan@ccs.neu.edu Thu Jan 14 15:06:18 1999 >To: Karl Lieberherr >Subject: Re: TAO etc. >From: Johan Ovlinger > > It works, however, only for the most common cases and is not general > because it does not construct the traversal graph. > >Could you expand, please? I acknowledge that it has a more restricted Your algorithm does not do an NFA intersection. It breaks with zigzags. Read the paper with Boaz: http://www.ccs.neu.edu/research/demeter/biblio/strategies.html >input language than dem does, but I think that you exaggerate the >differences. If it has to be 100 % the same as demjava, that could be >arranged too, as could using doug's AP library. However, what TAO does >(did) do, it does correctly! This makes it better than demjava, (or at >least made it better than demjava for a long time; those bugs may have >been fixed now), so it is unfair to imply that TAO is not >general. Maybe not complete, but fully general. > >In general, we have two avenues to interpreting traversals; we can >either be fully dynamic and use reflection, or be less dynamic and >force the user to have his code analysed before he/she can use runtime >traversals. > >In neither case does the user's code NEED to be recompiled (it is just >an artifact of an early design decision that TAO needs this). > >However, if speed is of any concern, I suspect that the reflective >approach will be unsatisfactory. > >Also, it is not so much of a burden to have the program analysed >before it can be traversed- it needs to be compiled anyway, so this >will not be too burdensome. RMI needs this too, so it is an accepted >burden by the user. > >I propose that instead of using reflection, modify TAO to generate all >its methods into one class (which is added to the user's package to >allow access to private classes). > >I'm not certain that TAO is a better solution than reflection, but I >do think that it deserves a more in depth analysis than I think it has >recieved. I once again volunteer to describe the changes I think need >to be made to it. > >Johan > That is useful. How does that work: generate all its methods into one class? I would like to use TAO ideas as we move from the first version of Demeter/J to improved versions. -- Karl -- Karl