Always Learning

Advanced Search

Aspect-Oriented Software Development

Aspect-Oriented Software Development

Robert Filman, Tzilla Elrad, Siobhán Clarke, Mehmet Aksit

Oct 2004, Paperback, 800 pages
ISBN13: 9780321219763
ISBN10: 0321219767
This title is ordered on demand which may result in extended delivery times.
  • Print pagePrint page
  • Email this pageEmail page
  • Share

Aspect-oriented Software Development (AOSD) is receiving considerableattention in the software engineering and programming language communities.Since 1997, there have been several successful workshops on AOSD at theleading software engineering conferences. Many have felt that AOSD may havebeen ahead of its time, but the practicality and promise of this paradigm iscatching up with the theory. This new book offers the definitve look at AOSDfrom the movers and shakers behind this concept. Just as object-orientedprogramming was a radical departure from structured programming, AOSD isa departure from the OO concept. AOSD offers increased flexibility and abetter way to develop complex systems without sacrificing scalability, security,and other important concerns. In this book, readers will learn the state-of-theartbest practices in AOSD, and will be able to help their organizations savetime and money by developing complex software systems more efficiently.

Aspect-Oriented Software DevelopementBack 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.

© Copyright Pearson Education. All rights reserved.

1. Introduction.


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?).

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.


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.




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)

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.

© Copyright Pearson Education. All rights reserved.