Proceedings ArticleDOI
Aspect-oriented programming
Gregor Kiczales,Erik Hilsdale +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
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.