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
Bridging Java and AspectJ through explicit join points
Kevin Hoffman,Patrick Eugster +1 more
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
Andreas Stefik,Stefan Hanenberg +1 more
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
Kevin Sullivan,William G. Griswold,Hridesh Rajan,Yuanyuan Song,Yuanfang Cai,Macneil Shonle,Nishit Tewari +6 more
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
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.