The C++ programming language
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The Java Language Specification
The Java Language Specification
ECOOP '98 Workshop ion on Object-Oriented Technology
Analyzing exception flow in Java programs
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
PIROL: a case study for multidimensional separation of concerns in software engineering environments
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object database evolution using separation of concerns
ACM SIGMOD Record
Separating features in source code: an exploratory study
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Comparing frameworks and layered refinement
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Does aspect-oriented programming work?
Communications of the ACM
Case study: a distributed concurrent system with AspectJ
ACM SIGAPP Applied Computing Review
Weaving aspects in a persistent environment
ACM SIGPLAN Notices
OPM/Web – Object-Process Methodology for Developing Web Applications
Annals of Software Engineering
Arranging language features for more robust pattern-based crosscuts
Proceedings of the 2nd international conference on Aspect-oriented software development
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Aspect Composition Applying the Design by Contract Principle
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
A Flexible Approach for Instance Adaptation During Class Versioning
Proceedings of the International Symposium on Objects and Databases
Caching Web Services: Aspect Orientation To The Rescue
Revised Papers from the NETWORKING 2002 Workshops on Web Engineering and Peer-to-Peer Computing
From Object-Oriented to Aspect-Oriented Databases
DEXA '00 Proceedings of the 11th International Conference on Database and Expert Systems Applications
Implementing Collaboration-Based Designs Using Aspect-Oriented Programming
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Proceedings of the 3rd international conference on Aspect-oriented software development
Cona: aspects for contracts and contracts for aspects
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Resolving feature convolution in middleware systems
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A classification system and analysis for aspect-oriented programs
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
AOSD for internet service clusters: the case of availability
AOMD '05 Proceedings of the 1st workshop on Aspect oriented middleware development
A regression tests selection technique for aspect-oriented programs
Proceedings of the 2nd workshop on Testing aspect-oriented programs
Crosscutting score: an indicator metric for aspect orientation
Proceedings of the 44th annual Southeast regional conference
Supporting reconfigurable object distribution for customized web applications
Proceedings of the 2007 ACM symposium on Applied computing
Assessment of Contemporary Modularization Techniques - ACoM'07: workshop report
ACM SIGSOFT Software Engineering Notes
Caching dynamic web content: designing and analysing an aspect-oriented solution
Proceedings of the ACM/IFIP/USENIX 2006 International Conference on Middleware
Design pattern implementations in Eos
Proceedings of the 14th Conference on Pattern Languages of Programs
Towards context-aware web applications
DAIS'07 Proceedings of the 7th IFIP WG 6.1 international conference on Distributed applications and interoperable systems
ParaAJ: toward reusable and maintainable aspect oriented programs
ACSC '09 Proceedings of the Thirty-Second Australasian Conference on Computer Science - Volume 91
Caching dynamic web content: designing and analysing an aspect-oriented solution
Middleware'06 Proceedings of the 7th ACM/IFIP/USENIX international conference on Middleware
Domain models are NOT aspect free
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Sustainable system infrastructure and big bang evolution: can aspects keep pace?
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Modularizing design patterns with aspects: a quantitative study
Transactions on Aspect-Oriented Software Development I
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.02 |
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™ Servlet specification using Xerox PARC's aspect-oriented programming support called Aspect™. 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 obstacles along the way, this combination of technology helped us build a fast, well-structured system in a reasonable amount of time.