
This chapter first discusses a number of software reuse and extension problems in current object-oriented languages. For this purpose, a change case for a simplified mail system is presented. Each evolution step in the change case consists of the addition or refinement of certain aspects to existing classes. These examples illustrate that both inheritance and aggregation mechanisms cannot adequately express certain aspects of evolving software. This deficiency manifests itself in the number of superfluous (method) definitions that are required to realize the change case. As a solution to these problems, the composition filters model is introduced. We evaluate the effectiveness of various language mechanisms in coping with evolving software as in the presented change case.
multiple views, view refinement, METIS-204255, Synchronization, history sensitiveness, IR-37203, EWI-10179, composition filters, view partitioning, view extension, aspects, Composition
multiple views, view refinement, METIS-204255, Synchronization, history sensitiveness, IR-37203, EWI-10179, composition filters, view partitioning, view extension, aspects, Composition
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 3 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
