scispace - formally typeset
Proceedings ArticleDOI

Aspect-oriented programming

Gregor Kiczales, +1 more
- Vol. 26, Iss: 5, pp 313
Reads0
Chats0
TLDR
This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
Abstract
Aspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way. It works with AspectJ, a seamless aspect-oriented extension to the Java(tm) programming language, and with AspectC, an aspect-oriented extension to C in the style of AspectJ. It also includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.

read more

Citations
More filters
Proceedings ArticleDOI

Subject-oriented design: towards improved alignment of requirements, design, and code

TL;DR: A different approach to designing systems is presented, based on flexible decomposition and composition, that closely aligns designs with both requirements specifications and code, and illustrates how this approach permits the benefits of designs to be maintained throughout a system’s lifetime.
Journal Article

Expressive pointcuts for increased modularity

TL;DR: A pointcut language is presented that exploits information from different models of program semantics, such as the execution trace, the syntax tree, the heap, static type system, etc., and supports abstraction mechanisms analogous to functional abstraction.
Journal ArticleDOI

Types and modularity for implicit invocation with implicit announcement

TL;DR: A type-based modularization of implicit invocation with implicit announcement that is inspired by how interfaces and exceptions are realized in Java is presented, finding that the imposed declaration clutter tends to be moderate.
Proceedings ArticleDOI

From Object Composition to Model Transformation with the MDA

TL;DR: The Object Management Group (OMG) is rapidly moving from its previous Object Management Architecture vision (OMA) to the newest Model-Driven Architecture (MDA), some of the main characteristics of this new organization will be outlined in the presentation.
Proceedings ArticleDOI

Hyper/J#8482;: multi-dimensional separation of concerns for Java#8482;

TL;DR: This note presents an overview of this ICSE 2002 tutorial, which aims to provide students with an understanding of how to design and implement a curriculum for post-graduate study.
References
More filters
Book

Object-Oriented Modeling and Design

TL;DR: This book discusses Object Modeling as a Design Technique, Object Diagram Compiler, and the Future of Object-Oriented Technology.
Journal ArticleDOI

On the criteria to be used in decomposing systems into modules

TL;DR: In this paper, the authors discuss modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time, and the effectiveness of modularization is dependent upon the criteria used in dividing the system into modules.
Journal Article

An overview of AspectJ

TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
Book ChapterDOI

An Overview of AspectJ

TL;DR: AspectJ provides support for modular implementation of a range of crosscutting concerns, and simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes.
Book

Object oriented design with applications

Grady Booch
TL;DR: Booch gives practical guidance for the construction of complex object-oriented design methods and draws on his extensive experience in developing very large software systems to illuminate the complex challenges and potential problems developers often face.
Related Papers (5)