A System of Patterns for Reusable Aspect Libraries
نویسندگان
چکیده
A key direction for achieving mainstream adoption of aspectoriented (AO) programming is the availability of reusable aspect libraries that can be easily applied across a wide range of applications. This paper presents a pattern system for AO design that provides solutions for recurring problems in the design of such reusable aspect libraries. We have focused on libraries using AspectJ. The requirements for setting up reusable aspect libraries are first sketched. Subsequently, an architectural pattern and four design patterns addressing key design problems are identified: managing aspect-awareness, enabling join point abstraction and adaptation, decomposition and mediation. Each design pattern leads to a set of programming idioms to address the related design problem. The pattern system aggregates the four sets of idioms that include a specific section to guide selection of a specific idiom. The implementation of an aspect library for access control is discussed to illustrate how the system of patterns can be used and how the different patterns and idioms can be combined. The format of the pattern catalogs is based on pattern writing advice provided by the Hillside group.We have analyzed and integrated related work in design patterns for aspects. Furthermore, we present an initial validation of the patterns with respect to their stability, versatility and ease-of-use. To the best of our knowledge, this is the first comprehensive system of AOP patterns that supports the construction of aspect libraries.
منابع مشابه
A Sequence of Patterns for Reusable Aspect Libraries with Easy Configuration
Using well-known AspectJ idioms has been shown to increase the reusability of aspect libraries. Availability of such reusable libraries is an important motivating factor to drive the further adoption of AspectJ in industry and aspect-oriented-programming in general. Existing work, however, mostly presents the existing AspectJ idioms as relatively independent solutions. As experience grows in us...
متن کاملTowards Design Pattern Matching
Since the beginning of software development reusability is an important aspect. Applying reusable elements the software does not have to be developed from scratch, proven solutions can shorten the software development life cycle and make applications safer. There are several forms of reusability like function libraries, class libraries, design patterns, component technologies and enterprise tem...
متن کاملDesign Pattern Matching
Since the beginning of software development re-usability has been an important aspect. Applying reusable elements the software does not have to be developed from scratch, proved solutions can shorten the software development life cycle and make applications safer. There are several forms of re-usability like function libraries, class libraries, design patterns, component technologies and enterp...
متن کاملEvolvable Pattern Implementations Need Generic Aspects
Design patterns are a standard means to create large software systems. However, with standard object-oriented techniques, typical implementations of such patterns are not themselves reusable software entities. Evolution of a program into a ‘patterned’ form (also known as ‘refactoring to patterns’) and subsequent evolution of a ‘patterned’ design is largely left to the programmer. Due to their a...
متن کاملAspect Oriented Parallel Framework for Java
This paper introduces aspect libraries, a unit of modularity in parallel programs with compositional properties. Aspects address the complexity of parallel programs by enabling the composition of (multiple) parallelism modules with a given (sequential) base program. This paper illustrates the introduction of parallelism using reusable parallel libraries coded in AspectJ. These libraries provide...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Trans. Aspect-Oriented Software Development
دوره 8 شماره
صفحات -
تاریخ انتشار 2011