[aspectc-user] "Reverse Inheritance"
EXTERN Sacher Dominik (Diplomand; FV/SLD)
Dominik.Sacher at de.bosch.com
Wed Oct 9 12:13:38 CEST 2002
I try to give some classes a new Base-Class through ac++
(aka "Reverse Inheritance") as it can be seen in examples/IconCache.ah.
I like to let Objects fullfill "Roles" in a "Role-Model" (aka "Collaboration
as it is introduced by Osterby et al., specified and implemented in
in [SmarEtAl02]. To fullfill this, i have to weave "extrinsic behaviour"
([Kend99a], Chapter 1.3)
into the "business-classes". Many authors (e.g. [CzarEtAl00]) see in this a
major issue which
can be achieved easily through AOP. This is a key-issue for my work, too.
This can only be achieved through "public inheritance".
All my ac++ tests only generated "private inheritance",
which represents _not_ an "Is a"-relationship,
but a "Contains a"-relationship ([Stro98], P.798f).
So this is only a kind of "member-introduction" and not of "reverse
Is it possible to generate "real (public) reverse inheritance" -code with
(I haven´t found any comments on this in your publications!)
- for which reason you decided to generate only private inheritance?
None of the above mentioned concepts can be acomplished through this;
i (and Stroustrup in [Stro98], P.819 as well ;-) would prefer
aggregation over private inheritance.
- Are there plans to integrate "public inheritance" into the grammar?
advice classes("BusinessClass") : public baseclass(Role_X); ?
advice classes("BusinessClass") : baseclass(public Role_X); ?
E.A. Kendall: Role Model Designs and Implementations with Aspect-oriented
Position Paper OOPSLA 1999,
Departments of Computer Science and Computer Systems Engineering,
Royal Melbourne Institute of Technology
Smaragdakis, Y., and D. Batory: Mixin Layers: An Object-Oriented
Technique for Refinements and Collaboration-Based Designs.
ACM Transactions on Software Engineering and Methodology April 2002,
Georgia Institute of Technology,
The University of Texas at Austin
Czarnecki, K. and U.W. Eisenecker: Generative Programming: Methods, Tools
Addison Wesley, 2000.
B. Stroustrup: Die C++ Programmiersprache.
3 aktualisierte und erweiterte Auflage, Addison-Wesley 1998
ROBERT BOSCH GmbH
Corporate Research and Development Software Technology
Eschborner Landstr. 130-132
Fon +49 (69) 7909-557
Fax +49 (69) 7909-540
mailto:Dominik.Sacher at de.bosch.com
More information about the aspectc-user