I have not heard from you yet about hw 1. Therefore I have prepared very simple, hopefully well-defined tasks: Implement the following components and their uses in Java: Toby: DataStructure/Counter/Lock example Predrag: Publisher/Subscriber example Parkash: ShowRWAccess example Younian: InstanceLogging example All use the following simplification: A participant is mapped to exactly one application class. A participant method is mapped to exactly one application class. The simplifications allow you to use a simple approach as shown by Johan in his presentation and in /home/lieber/.www/com3362/sp99/hw/1/johan-ex2. Discuss in your paper that you turn in whether your solution would also work if the simplifications don't hold. Due date: Friday, April 16, 5pm. Send email with a pointer to your hw directory. -- Karl ================== earlier message: Modification to hw 1: As I said last night, the paper http://www.ccs.neu.edu/research/demeter/biblio/aspectual-comps.html contains an implementation description for aspectual components. Instead of doing the Pricing example, you have the option (and this is preferred) to do the feature-oriented programming example where you start with a stack, then you add the counter feature and then the locking feature. Your solution will use inner classes and Java reflection. Please note that the Stack-Counter-Lock example is a little more difficult (see Mira's message below) than the Pricing example but the solution idea is in the paper. Start with this homework soon and send questions about the implementation of aspectual components to mira@informatik.uni-siegen.de lorenz@ccs.neu.edu lieber@ccs.neu.edu We have four students and three faculty: a pretty good student faculty ratio! -- Karl PS. You could also use any of the other examples in the Aspectual Component paper, if you like. From mira@informatik.uni-siegen.de Tue Apr 6 11:18:04 1999 From: "Mira Mezini" Cc: lieber@ccs.neu.edu, mira@informatik.uni-siegen.de, lorenz@ccs.neu.edu Hi Karl: I would say that working on examples that use the description on the implementation section would be the better alternative. Would be good, if they work with examples from the peper rather than the pricing example. The pricing example is kind of "easier" because it does not imvolve changing the implementation of the application classes (the replacement clauses in aspectual components). In this way, we would have some worked examples by the time we get the notification about the paper. They don't really need to use BCA. As stated in the implementation section, there is a way, even if not very elegant, to adapt application objects so that they fire events before/after interesting events. What do you (you = David and Karl) think? They can feel free to contact me, if they have questions. - Mira