Description:
Aspect-Oriented Software Developement
Back Cover Copy
Coverage includes
Using AOSD to streamline complex systems development without sacrificing flexibility or scalability
How AOSD builds on the object-oriented paradigm—and how it's different
State-of-the-art best practices for the AOSD development process
Languages and foundations: separating concerns, filter technologies, improving modularity, integrating new features, and more
Using key AOSD tools, including AspectJ, Hyper/J, JMangler, and Java Aspect Components
Engineering aspect-oriented systems: UML, concern modeling and elaboration, dependency management, and aspect composition
Developing more secure applications with AOSD techniques
Applying aspect-oriented programming to database systems
Building dynamic aspect-oriented infrastructure
The definitive aspect-oriented software development reference:
Practical solutions for the challenge of software complexity
Today, software engineers must build systems that address an increasingly wide range of technical, business, and performance concerns. Doing so using conventional object-oriented techniques, they often find themselves producing tangled, incorrect, difficult-to-maintain code. Aspect-oriented software development (AOSD) overcomes this problem by enabling them to express concerns separately, and then compose modularized expressions into reliable, effective systems.
In this book, four leaders in AOSD development bring together today's most significant advances. Drawing on contributions from the field's leading researchers, they introduce fundamental AOSD concepts, present new technologies for AOSD engineering and programming, and detail early application experiences with AOSD methods.
Aspect-oriented development has come of age. If you're an experienced software engineer or architect, this foundation reference is all you need to start applying it in real-world systems.
Table of Contents:
Bios.
Preface.
1. Introduction.I. LANGUAGES AND FOUNDATIONS.
2. Aspect-Oriented Programming is Quantification and Obliviousness3. N Degress of Separation: Multi-Dimensional Separation of Concerns.4. Principles and Design Rationale of Composition Filters.5. Aspect-Oriented Programming: A Historic Perspective (What's in a Name?).6. AspectJ.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 Life Cycle: 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.