Aspect-oriented Software Development (AOSD) is receiving considerable
attention in the software engineering and programming language communities.
Since 1997, there have been several successful workshops on AOSD at the
leading software engineering conferences. Many have felt that AOSD may have
been ahead of its time, but the practicality and promise of this paradigm is
catching up with the theory. This new book offers the definitve look at AOSD
from the movers and shakers behind this concept. Just as object-oriented
programming was a radical departure from structured programming, AOSD is
a departure from the OO concept. AOSD offers increased flexibility and a
better way to develop complex systems without sacrificing scalability, security,
and other important concerns. In this book, readers will learn the state-of-theart
best practices in AOSD, and will be able to help their organizations save
time and money by developing complex software systems more efficiently.
The definitive reference on the emerging and dynamic field of Aspect-Oriented Software Development (AOSD).
° A proven methodology that offers workable, practical solutions to common problems in all areas of software development
° Readers will learn why so many believe that AOSD is an enhanced version of the object-oriented paradigm
° Product launch at OOPSLA in Vancouver, BC (October 2004)
Table of Contents
I. LANGUAGES AND FOUNDATIONS.
2. Aspect-Oriented Programming Is Quantification and Obliviousness.
3. N Degrees of Separation: Multi-Dimensional Separation of Concerns.
4. Principles and Design Rationale of Composition Filters.
5. AOP: A Historical Perspective (What's in a Name?).
7. Coupling Aspect-Oriented and Adaptive Programming.
8. Untangling Crosscutting Models with Caesar.
9. Trace-Based Aspects.
10. Using Mixin Technology to Improve Modularity.
11. Separating Concerns with First-Class Namespaces.
12. Supporting AOP Using Reflection.
13. Inserting Ilities by Controlling Communications.
14. Using Bytecode Transformation to Integrate New Features.
15. JMangler-A Powerful Back-End for Aspect-Oriented Programming.
16. Aspect-Oriented Software Development with Java Aspect Components.
II. SOFTWARE ENGINEERING.
17. Engineering Aspect-Oriented Systems.
18. Aspect-Orientation in the Software Lifecycle: Fact and Fiction.
19. Generic Aspect-Oriented Design with Theme/UML.
20. Expressing Aspects Using UML Behavioral and Structural Diagrams.
21. Concern Modeling for Aspect-Oriented Software Development.
22. Design Recommendations for Concern Elaboration Tools.
23. An Initial Assessment of Aspect-Oriented Programming.
24. Aspect-Oriented Dependency Management.
25. Developing Software Components with Aspects: Some Issues and Experiences.
26. Smartweaver: A Knowledge-Driven Approach for Aspect Composition.
27. Developing Secure Applications Through Aspect-Oriented Programming.
28. Structuring Operating System Aspects.
29. Aspect-Oriented Programming for Database Systems.
30. Two-Level Aspect Weaving to Support Evolution in Model-Driven Synthesis.
31. Dynamic Aspect-Oriented Infrastructure.
Pearson offers special pricing when you package your text with other student resources.
If you're interested in creating a cost-saving package for your students, contact your
About the Author(s)
Aspect-Oriented Software DevelopmentAbout the Editors
Robert E. Filman is a senior scientist at the Research Institute for Advanced Computer Science at NASA Ames Research Center, working on frameworks for distributed applications. He has worked and published in the areas of software engineering, distributed computing, network security, programming languages, artificial intelligence, algorithms, and human-machine interface. He received his Ph.D. in Computer Science in 1979 from Stanford University.
Tzilla Elrad is a research professor in the Department of Computer Science at Illinois Institute of Technology, where she heads the Concurrent Software Systems research group. She received her B.S. in mathematics and physics from the Hebrew University and her M.S. and Ph.D. in Computer Science from Syracuse University, NY and the Technion, Israel, respectively. Her research interests include concurrent programming languages design, adaptive software systems development, and formal reasoning.
Siobhán Clarke is a lecturer in the Department of Computer Science at Trinity College, Dublin. Her research interests include aspect-oriented software development, context-aware computing and programming models for mobile, sentient, context-aware systems. She received her B.S. and Ph.D. degrees from Dublin City University. Prior to her career in research, she worked as a software engineer with IBM for 11 years.
Mehmet Aks¸it holds an M.S. from the Eindhoven University of Technology and a Ph.D. from the University of Twente. He is a professor in the Department of Computer Science, University of Twente, and he is also affiliated with the Centre for Telematics and Information Technology. He (and his group) have developed the composition filters aspect-oriented programming technique, synthesis-based architecture/software design, and techniques to synthesize architectures from solution domains for creating stable software systems, have applied fuzzy-logic to software design, and have created design formalisms such as Design Algebra for balancing various quality factors at different stages of software development.