Software Practices Lab Homepage
People
Publications
Papers
Theses
Projects
Information Fragments
Mylyn
Registration-Based Abstraction
Summarizing Software Artifacts
past projects...
Reading Group
SPL Wiki [local access]

Atlas: A Case Study in Building a Web-based Learning Environment using Aspect-oriented Programming
Mik A. Kersten and Gail C. Murphy

In Proceedings of the ACM Conference on Object-oriented Programming, Systems, Languages, and Applications, (OOPSLA '99; Denver, CO, USA; 1--5 November 1999), ACM Press, pp. 340--352, 1999.

PDF   gzipped
PostScript    Slides from talk

Abstract

The Advanced Teaching and Learning Academic Server (Atlas) is a software system that supports web-based learning. Students can register for courses, and can navigate through personalized views of course material. Atlas has been built according to Sun Microsystem's Java (TM) Servlet specification using Xerox PARC's aspect-oriented programming support called AspectJ (TM). Since aspect-oriented programming is still in its infancy, little experience with employing this paradigm is currently available. In this paper, we start filling this gap by describing the aspects we used in Atlas, and by discussing the effect of aspects on our object-oriented development practices. We describe some rules and policies that we employed to achieve our goals of maintainability and modifiability, and introduce a straightforward notation to express the design of aspects. Although we faced some small hurdles along the way, this combination of technology helped us build a fast, well-structured system in a reasonable amount of time.

Superceded Versions

Mik Kersten and Gail C. Murphy. "Atlas: A Case Study in Building a Web-based Learning Environment using Aspect-oriented Programming" Technical Report TR-99-04.
[PDF], [gzipped PostScript]


Copyright 1999 by the Association for Computing Machinery. Permission to make digital or hard copies of part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page or intial screen of the document. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept., ACM Inc., fax +1 (212) 869-0481, or permissions@acm.org.