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
An Approach for Extracting Workflows from E-Commerce Applications
Ying Zou,Maokeng Hung +1 more
TL;DR: This paper proposes an automatic approach that recovers business processes from source code and refines them using control structure information in as-specified workflows (a workflow is a computerized representation of a business process).
Proceedings ArticleDOI
DeltaJ 1.5: delta-oriented programming for Java 1.5
Jonathan Koscielny,Sönke Holthusen,Ina Schaefer,Sandro Schulze,Lorenzo Bettini,Ferruccio Damiani +5 more
TL;DR: DOP for Java 1.5 is presented, extending previous proof-of-concept realizations of DOP for simple core Java-like languages and improving the specification of the product line declaration by providing a separate language.
Proceedings Article
Product-line architectures
TL;DR: A set of products can be managed as a group, planning the whole set consistently, allocating funding and developers to several of the products at the same time and advertising the products as a set, highlighting their common and varying features.
Proceedings ArticleDOI
Testing aspect-oriented programming Pointcut Descriptors
TL;DR: This paper describes the types of faults that can occur in PCDs -- in terms of selected join points -- and presents a two-step strategy to help the tester identifying extra join points selected by PCDs; and provides motivating examples and directions for both.
Proceedings ArticleDOI
Using background colors to support program comprehension in software product lines
Janet Feigenspan,Michael Schulze,Maria Papendieck,Christian Kästner,Raimund Dachselt,Veit Köppen,Mathias Frisch +6 more
TL;DR: A controlled experiment with a large real-world SPL with over 160,000 lines of code and 340 features shows that background colors can improve program comprehension in large SPLs.
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.