[Main Page]

AJCP

(Difference between revisions)

Main Page | Recent changes | View source | Page history | Log in / create account |

Printable version | Disclaimers | Privacy policy | Current revision

Current revision (17:05, 24 June 2010) (edit) (undo)
m (Reverted edits by Lorenzo6cardena (Talk); changed back to last version by Etanter)
 
Line 1: Line 1:
-
Looking for the perfect job? If you are, then you first need to consider the quality of your resume that you plan on submitting to your dream company. Whatever you submit as basis for your credentials will create the companys impression of who you are. Thus, there is a need to learn the proper way of writing resumes, curriculum vitae and cover letters. These three main documents reveal basically reveal your personal information and your desire to become a part of the company.
 
-
 
-
 
-
[http://www.careerwatcher.org Job Paper]
 
-
 
-
 
-
 
by [http://bodden.de/ Eric Bodden] and [http://pleiad.dcc.uchile.cl/people/etanter Éric Tanter]
by [http://bodden.de/ Eric Bodden] and [http://pleiad.dcc.uchile.cl/people/etanter Éric Tanter]

Current revision

by Eric Bodden and Éric Tanter

Table of contents

Current state of the art

The AspectJ programming language has evolved a lot in the past few years, and tool support has improved dramatically, thanks to the generous effort of a team of mostly industrial stakeholders. These contributions have lead to a wide-spread industry adoption of the AspectJ language and to the feeling that AspectJ is now the de-facto standard for aspect-oriented programming.

AspectJ could benefit from research results

Despite the maturity of the language and tool support, AspectJ's syntax and semantics still leave room for improvements. At several conferences and workshops on Aspect-oriented Software Development, researchers have proposed useful enhancements to the syntax and/or semantics of AspectJ, many of which could be easily integrated into the official AspectJ compiler ajc. These enhancements range from simple semantic "fixes" that require no or little syntactic changes, e.g. more sensible typing rules for around advice, to larger extensions like history-based pointcuts. We believe that many of these enhancements would benefit developers at large. Yet, until now there exists no structured process for discussing, developing and eventually contributing such enhancements.

AJCP: a JCP for AspectJ

A similar process exists today for Java: for many years now, various people from industry and research have contributed to the Java programming language using the Java Community Process (JCP), in the form of Java Specification Requests (JSRs). We believe it to be useful to establish a similar process for AspectJ. We therefore propose to establish an AspectJ Community Process (AJCP), similar to the JCP, in which AspectJ users and researchers can discuss and contribute these enhancements, with the goal of an eventual integration into ajc.

Goals of the AJCP

In our eyes, the process should fulfill the following goals:

  1. Allow people to propose enhancements and new features for the AspectJ language, in the form of AspectJ Specification Requests (AJSRs).
  2. Provide a platform for discussing AJSRs and providing reference implementations for them. We believe that discussion is particularly important because it can help to prevent features from being integrated into the language that try to address problems for which a better solution would have existed. (As an example, AspectJ currently supports per-clauses such as perthis, pertarget, percflow, etc. but researchers have proposed a more general "per-anything" instantiation model, which probably should have been integrated into the language instead.) Discussion of an AJSR may lead to:
    • maturing the AJSR so that it can become "production ready", or
    • rejecting an AJSR because, for example, it would break backwards compatibility, interact with other existing features in undesirable ways, etc.
  3. Provide a policy and a technical solution for voting on AJSRs. Voting can decide on an AJSRs eventual integration or rejection.

Support for the idea of establishing an AJCP

At AOSD 2010, we collected signatures from renowned researchers from around the world who support the idea of establishing such a structured process for contributing to the AspectJ language. The original wording of this "motion" was:

For many years now, various people from industry and research have contributed to the Java programming language using the Java Community Process (JCP), in the form of Java Specification Requests (JSRs). Several conferences and workshops on Aspect-oriented Software Development have proposed useful enhancements to the syntax and/or semantics of AspectJ, many of which could be easily integrated into the official AspectJ compiler ajc. We believe that many of these enhancements would benefit developers at large. Yet, until now there exists no structured process for contributing such enhancements. We therefore propose to establish an AspectJ Community Process (AJCP), similar to the JCP, in which AspectJ users and researchers can discuss and contribute these enhancements, with the goal of an eventual integration into ajc.

We have scanned in these signatures (54 in total). They are available here: page 1, page 2 and page 3

Plan for Action

At this point we would like to ask the main contributors to and stakeholders of AspectJ (SpringSource, UBC, BEA, IBM UK and others) to seriously consider establishing such a process. We propose to use the mailing list aosd-discuss and/or this Wiki page to further discuss the details of this process.


Wiki

Instant Feedback

Edited by the AOSD Steering Committee.  Maintained by the webmaster