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

Bridging Java and AspectJ through explicit join points

TL;DR: This work explores new possibilities in the language design space that open up when the base code is aware of cross-cutting aspects and concretizes these new possibilities by extending AspectJ with concise yet powerful constructs, while maintaining full backwards compatibility.
Journal ArticleDOI

Engineering of Framework-Specific Modeling Languages

TL;DR: This work presents four exemplar FSMLs and a method for engineering newFSMLs, a concrete example of software language engineering and its benefits, and provides strategies for making engineering decisions.
Book ChapterDOI

Agile Modeling with the UML

TL;DR: It is argued that an approach using models as central development artifact needs to be added to the portfolio of software engineering techniques, to further increase efficiency and flexibility of the development as well as quality and reusability of the results.
Proceedings ArticleDOI

The Programming Language Wars: Questions and Responsibilities for the Programming Language Community

TL;DR: It is suggested that the programming language wars, a term which describes the broad divergence and impact of language designs, including often pseudo-scientific claims made that they are good or bad, may be negatively impacting the world.
Journal ArticleDOI

Modular aspect-oriented design with XPIs

TL;DR: A qualitative and quantitative analysis of existing AO design methods and XPI-based design method shows that this approach produces improvements in program comprehensibility, in opportunities for parallel development, and in the ease when code can be developed and changed.
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)