Composition patterns an approach to designing reusable aspects

Requirements such as distribution or tracing have an impact on multiple classes in a system. They are cross-cutting requirements, or aspects. Their support is, by necessity, scattered across those multiple classes. A look at an individual class may also show support for cross-cutting requirements ta...

Full description

Saved in:
Bibliographic Details
Published in:International Conference on Software Engineering: Proceedings of the 23rd International Conference on Software Engineering : Toronto, Ontario, Canada; 12-19 May 2001 pp. 5 - 14
Main Authors: Clarke, Siobhán, Walker, Robert J.
Format: Conference Proceeding Journal Article
Language:English
Published: Washington, DC, USA IEEE Computer Society 01.07.2001
Series:ACM Conferences
Subjects:
ISBN:0769510507, 9780769510507
ISSN:0270-5257
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Requirements such as distribution or tracing have an impact on multiple classes in a system. They are cross-cutting requirements, or aspects. Their support is, by necessity, scattered across those multiple classes. A look at an individual class may also show support for cross-cutting requirements tangled up with the core responsibilities of that class. Scattering and tangling make object-oriented software difficult to understand, extend and reuse. Though design is an important activity within the software lifecycle with well-documented benefits, those benefits are reduced when cross-cutting requirements are present. This paper presents a means to mitigate these problems by separating the design of cross-cutting requirements into composition patterns. Composition patterns require extensions to the UML, and are based on a combination of the subject-oriented model for composing separate, overlapping designs, and UML templates. This paper also demonstrates how composition patterns map to one programming model that provides a solution for separation of cross-cutting requirements in code-aspect-oriented programming. This mapping serves to illustrate that separation of aspects may be maintained throughout the software lifecycle.
Bibliography:SourceType-Scholarly Journals-2
ObjectType-Feature-2
ObjectType-Conference Paper-1
content type line 23
SourceType-Conference Papers & Proceedings-1
ObjectType-Article-3
content type line 25
ISBN:0769510507
9780769510507
ISSN:0270-5257
DOI:10.5555/381473.381474