This volume comprises the proceedings of the second Conference on Aspect-Oriented Software Development, AOSD 2003, held in Boston, Massachusetts, USA, March 17 - 21, 2003. The first AOSD conference was held in Enschede, The Netherlands, on April 22-26, 2002.Since the first successful AOSD conference, we have been observing an ever-growing interest in aspect-oriented technology. More and more researchers working in different disciplines of computer science discover the possible contributions of aspect technology in their domain of interest. There is increasing awareness by software practitioners that an important category of software problems is the result of crosscutting concerns, which are inherent in the design of many practical systems. New vendors are showing up in the market with their products supporting or using aspect-oriented technology. We are experiencing very exciting developments in the field of aspect-aspect-oriented computing.The AOSD 2003 technical program consists of 20 papers (selected from 70 submissions) and two invited keynote speakers. The program committee, consisting of 27 distinguished researchers, met at the University of Twente in The Netherlands during November 21 - 22, 2002 for the paper selection. All papers were reviewed by at least four members of the program committee, except program committee member papers, which were read by at least five reviewers. The accepted papers cover various topics such as software analysis and design, programming languages, program analysis, dynamic weaving techniques, systems, and tools.As for the invited speakers, we were very honored to be able to present the talks by Gregor Kiczales, a pioneer of aspect-oriented programming languages with his work on AspectJ; and Satoshi Matsuoka, who pioneered the work on separation of synchronization aspects about a decade ago. The conference also offers eight demonstrations and a session on practitioner reports. In addition, prior to the start of the main conference, there wasan exciting program of six workshops and nine tutorials.
Architectural views of aspects
Support for the incremental design of aspects themselves has been neglected, even as the use of aspects in conjunction with underlying systems is gaining acceptance. The ways in which aspects can cooperate or interfere with each other need to be made ...
Modularisation and composition of aspectual requirements
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 ...
JAsCo: an aspect-oriented approach tailored for component based software development
In this paper we introduce a novel aspect oriented implementation language, called JAsCo. JAsCo is tailored for component based development and the Java Beans component model in particular. The JAsCo language introduces two concepts: aspect beans and ...
Static analysis of aspects
Aspects are a novel programming language feature, to express concerns in program design that crosscut traditional abstraction boundaries. The focus of this paper are dynamic aspects. Such aspects are specified as pointcut designators (patterns in the ...
A case for statically executable advice: checking the law of demeter with AspectJ
We define a generic join point model for checking the Law of Demeter (LoD). Join points are trees, pointcuts are predicates over join points, and advice is checked statically similar to how declare warning is checked in AspectJ. We illustrate how the ...
Back to the future: a retroactive study of aspect evolution in operating system code
The FreeBSD operating system more than doubled in size between version 2 and version 4. Many changes to primary modularity are easy to spot at a high-leveL For example, new device drivers account for 38% of the growth. Not surprisingly, changes to ...
Arranging language features for more robust pattern-based crosscuts
A crosscut language is used to describe at which points an aspect crosscuts a program. An important issue is how these points can be captured using the crosscut language without introducing tight coupling between the aspect and the program. Such tight ...
Aspect-oriented programming with Jiazzi
We present aspect-oriented programming in Jiazzi. Jiazzi enhances Java with separately compiled, externally linked code modules called units. Units can act as effective "aspect" constructs with the ability to separate crosscutting concern code in a non-...
Parametric introductions
Aspect-oriented software development allows the programmer to identify and treat separately concerns that, subsequently, can be woven to different target applications. For this, aspect-oriented languages like AspectJ and Hyper/J provide mechanisms for ...
Conquering aspects with Caesar
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 ...
Just-in-time aspects: efficient dynamic weaving for Java
Recent developments in service architectures suggest that run-time adaptations could be implemented with dynamic AOP. In this paper we discuss application requirements on run-time AOP support and present a system that addresses these requirements. We ...
Web cache prefetching as an aspect: towards a dynamic-weaving based solution
Given the high proportion of HTTP traffic in the Internet, Web caches are crucial to reduce user access time, network latency, and bandwidth consumption. Prefetching in a Web cache can further enhance these benefits. For the best performance, however, ...
Persistence as an aspect
Persistence - the storage and retrieval of application data from secondary storage media - is often used as a classical example of a crosscutting concern. It is widely assumed that an application can be developed without taking persistence requirements ...
Quantifying aspects in middleware platforms
Middleware technologies such as Web Services, CORBA and DCOM have been very successful in solving distributed computing problems for a large family of application domains. As middleware systems are getting widely adopted and more functionally mature, it ...
Model-view-controller and object teams: a perfect match of paradigms
From the early days of object-oriented programming, the model-view-controller paradigm has been pursued for a clear design which separates different responsibilities within an interactive application. In contrast to its untyped implementation in ...
Aspects and polymorphism in AspectJ
There are two important points of view on inclusion or subtype polymorphism in object-oriented programs, namely polymorphic access and dynamic dispatch. These features are essential for object-oriented programming, and it is worthwhile to consider ...
Pointcuts and advice in higher-order languages
Aspect-oriented software design will need to support languages with first-class and higher-order procedures, such as Python, Perl, ML and Scheme. These language features present both challenges and benefits for aspects. On the one hand, they force the ...
Strategic programming meets adaptive programming
Strategic programming is a generic programming idiom for processing compound data such as terms or object structures. At the heart of the approach is the separation of two concerns: basic dataprocessing computations vs. traversal schemes. Actual ...
Navigating and querying code without getting lost
A development task related to a crosscutting concern is challenging because a developer can easily get lost when exploring scattered elements of code and the complex tangle of relationships between them. In this paper we present a source browsing tool ...
Visual separation of concerns through multidimensional program storage
Aspect-oriented software development (AOSD) has primarily focused on linguistic and meta-linguistic mechanisms for separating concerns in program source. However, the kinds of concern separation and complexity management that AOSD endeavors to achieve ...
Cited By
-
Fu Y, Dong Z and He X Architecture-Centered Integrated Verification Modern Software Engineering Concepts and Practices, 10.4018/978-1-60960-215-4.ch005, (104-124)
- Su Y, Zhou X and Zhang M Approach on Aspect-Oriented Software Reverse Engineering at Requirements Level Proceedings of the 2008 International Conference on Computer Science and Software Engineering - Volume 02, (321-324)
- Tešanović A, Nyström D, Hansson J and Norström C (2005). Aspects and components in real-time system development: Towards reconfigurable and reusable software, Journal of Embedded Computing, 1:1, (17-37), Online publication date: 1-Jan-2005.
Index Terms
- Proceedings of the 2nd international conference on Aspect-oriented software development
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
MODULARITY '14 | 60 | 21 | 35% |
AOSD '12 | 79 | 20 | 25% |
Overall | 139 | 41 | 29% |