scispace - formally typeset
Search or ask a question
Conference

Aspect-Oriented Software Development 

About: Aspect-Oriented Software Development is an academic conference. The conference publishes majorly in the area(s): Aspect-oriented programming & AspectJ. Over the lifetime, 432 publications have been published by the conference receiving 16716 citations.


Papers
More filters
Proceedings ArticleDOI
17 Mar 2003
TL;DR: It is argued that such modularisation makes it possible to establish early trade-offs between aspectual requirements hence providing support for negotiation and subsequent decision-making among stakeholders.
Abstract: An effective requirements engineering (RE) approach must harmonise the need to achieve separation of concerns with the need to satisfy broadly scoped requirements and constraints. Techniques such as use cases and viewpoints help achieve separation of stakeholders' concerns but ensuring their consistency with global requirements and constraints is largely unsupported. In this paper we propose an approach to modularise and compose such crosscutting, aspectual requirements. The approach is based on separating the specification of aspectual requirements, non-aspectual requirements and composition rules in modules representing coherent abstractions and following welldefined templates. The composition rules employ informal, and often concern-specific, actions and operators to specify how an aspectual requirement influences or constrains the behaviour of a set of non-aspectual requirements. We argue that such modularisation makes it possible to establish early trade-offs between aspectual requirements hence providing support for negotiation and subsequent decision-making among stakeholders. At the same time early separation of crosscutting requirements facilitates determination of their mapping and influence on artefacts at later development stages. A realisation of the proposed approach, based on viewpoints and the eXtensible Markup Language (XML), supported by a tool called ARCaDe and a case study of a toll collection system is presented.

443 citations

Proceedings ArticleDOI
22 Mar 2004
TL;DR: The 1.1 implementation which is based on transforming bytecode is described, which describes how AspectJ's join points are mapped to regions of bytecode, how these regions are efficiently matched by Aspect J's pointcuts, and how pieces of advice are efficiently implemented at these regions.
Abstract: This paper describes the implementation of advice weaving in AspectJ. The AspectJ language picks out dynamic join points in a program's execution with pointcuts and uses advice to change the behavior at those join points. The core task of AspectJ's advice weaver is to statically transform a program so that at runtime it will behave according to the AspeetJ language semantics. This paper describes the 1.1 implementation which is based on transforming bytecode. We describe how AspectJ's join points are mapped to regions of bytecode, how these regions are efficiently matched by AspectJ's pointcuts, and how pieces of advice are efficiently implemented at these regions. We also discuss both run-time and compile-time performance of this implementation.

363 citations

Proceedings ArticleDOI
14 Mar 2005
TL;DR: The use of a degree-of-interest (DOI) model to capture the task context of program elements scattered across a code base and the results of a preliminary diary study in which professional programmers used Mylar for their daily work on enterprise-scale Java systems are presented.
Abstract: Even when working on a well-modularized software system, programmers tend to spend more time navigating the code than working with it. This phenomenon arises because it is impossible to modularize the code for all tasks that occur over the lifetime of a system. We describe the use of a degree-of-interest (DOI) model to capture the task context of program elements scattered across a code base. The Mylar tool that we built encodes the DOI of program elements by monitoring the programmer's activity, and displays the encoded DOI model in views of Java and AspectJ programs. We also present the results of a preliminary diary study in which professional programmers used Mylar for their daily work on enterprise-scale Java systems.

330 citations

Proceedings ArticleDOI
17 Mar 2003
TL;DR: CAESAR is proposed, a model for aspect-oriented programming with a higher-level module concept on top of JPI, which enables reuse and componentization of aspects, allows us to use aspects polymorphically, and introduces a novel concept for dynamic aspect deployment.
Abstract: Join point interception (JPI), is considered an important cornerstone of aspect-oriented languages. However, we claim that JPI alone does not suffice for a modular structuring of aspects. We propose CAESAR, a model for aspect-oriented programming with a higher-level module concept on top of JPI, which enables reuse and componentization of aspects, allows us to use aspects polymorphically, and introduces a novel concept for dynamic aspect deployment.

324 citations

Proceedings ArticleDOI
14 Mar 2005
TL;DR: This paper outlines the design of abc, focusing mostly on how the design supports extensibility, and provides a general overview of how to use abc to implement an extension.
Abstract: Research in the design of aspect-oriented programming languages requires a workbench that facilitates easy experimentation with new language features and implementation techniques In particular, new features for AspectJ have been proposed that require extensions in many dimensions: syntax, type checking and code generation, as well as data flow and control flow analysesThe AspectBench Compiler (abc) is an implementation of such a workbench The base version of abc implements the full AspectJ language Its frontend is built, using the Polyglot framework, as a modular extension of the Java language The use of Polyglot gives flexibility of syntax and type checking The backend is built using the Soot framework, to give modular code generation and analysesIn this paper, we outline the design of abc, focusing mostly on how the design supports extensibility We then provide a general overview of how to use abc to implement an extension Finally, we illustrate the extension mechanisms of abc through a number of small, but non-trivial, examples abc is freely available under the GNU LGPL

323 citations

Performance
Metrics
No. of papers from the Conference in previous years
YearPapers
20155
20145
201337
201244
201163
201030