A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Aspect-oriented multi-view modeling
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Directives for composing aspect-oriented design class models
Transactions on Aspect-Oriented Software Development I
Incremental software design modelling
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Hi-index | 0.00 |
Inheritance and composition are two different techniques that allow a modeller to extend the properties of a class. In this paper we highlight the differences of these two closely-related concepts when used in aspect-oriented designs. In particular, we explain that when an aspect wants to extend a base class of a source model, the designer should choose to use composition if she intends the extension to replace the base class. If she intends to define an alternative to the base class with extended functionality, inheritance should be used. We demonstrate the power of the combined use of both techniques by showing an aspect-oriented design of parts of a workflow middleware product line.