|
Atlas: A Case Study in Building
a Web-based Learning Environment using Aspect-oriented Programming
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. AbstractThe 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 VersionsMik 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. 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.
|