Hi Don: Doug Orleans is the lead designer/implementor behind Demeter/Java. He gives below the interface for collection classes which we would like to have. It is a little larger than what we had before but it has itself proven in practice. How does this interface look to you? Can you provide it with the collection classes generated with Jakarta/P3? Your question about synchronized methods is not yet answered. We write programs in an aspect-oriented form P(Behavior, Coordination, Communication, Structure) and we have to do some thinking about how the coordination aspect can best weave the collection classes which you provide. I think the best thing is that you keep your current solution and provide us with some sample collection classes so that we can study the coordination weaving issue in the context of some applications. We will have to do the same for communication weaving. -- Karl PS. dem@ccs.neu.edu reaches all the designers/implementors of Demeter/Java. --------------------------------------------- From dougo@ccs.neu.edu Tue Aug 5 01:03:33 1997 From: Doug Orleans To: Karl Lieberherr Cc: jayantha@ccs.neu.edu, batory@cs.utexas.edu, dem@ccs.neu.edu Subject: Re: collection class specs. Karl Lieberherr writes: > How do you want the Jakarta Team of Don Batory at the > University of Texas generate > the collection classes so that they integrate > smoothly with the rest of Demeter/Java? Here are the public methods we currently add to repetition classes (collections) in Demeter/Java: public void addElement(Elt e); // add to end public void push(Elt e); // add to beginning public java.util.Enumeration elements(); public int size(); public boolean isEmpty(); These have served us well so far. Also, I've occasionally found myself wanting to search a collection for a particular element (and return its index), remove an element from a collection, concatenate two collections, and reverse a list, but none of these are hard to write in terms of the above methods. Higher order functions like map and filter would be kind of nice too. > We will get fancy collection classes, such as red-black trees > and the like. Are there some collection classes of immediate use > to speed up Demeter/Java? Which ones would you like to get? > (Remember, Demeter/Java willoffer a library of about 20 collection classes > and the capability to generate more through Jakarta/P3.) I can't think of anything we need besides Hashtables, Vectors, and Stacks-- maybe Sets? It would be nice to have a BitSet class that can be initialized from an array of longs, rather than having to do set(i) for each ith bit, but that's a fairly trivial extension... Umm, maybe TAO has more complex needs-- Johan? --Doug