Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Instant streaming of thousands of movies and TV episodes with Prime Video
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$64.99$64.99
FREE delivery:
Friday, Jan 19
Ships from: Amazon.com Sold by: Amazon.com
Buy used: $4.95
Other Sellers on Amazon
+ $3.99 shipping
94% positive over last 12 months
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Aspect-Oriented Software Development 1st Edition
Purchase options and add-ons
From the Back Cover
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 paradigmand 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.
About the Author
Aspect-Oriented Software Development About 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.
Excerpt. © Reprinted by permission. All rights reserved.
Aspect-Oriented Software Development
Preface
Software development is changing. The opportunities of the Internet, computerized businesses, and computer-savvy consumers, the exponential decline in the cost of computation and communication, and the increasingly dynamic environment for longer-living systems are pressing software developers to come up with better ways to create and evolve systems. There is fomenting in software development process, system structure, programming, quality assurance, and maintenance.
Software is about building computational models of some part of the elements or information flow of the world. For all but the most trivial software systems, conquering the engineering of the system requires (perhaps recursively) dividing the system into chunks that can be (by and large) separately created and managed. The last decade of the twentieth century saw the rise (and perhaps dominance) of the object-oriented perspective on system modularization. Object-orientation focuses on selecting objects as the primary unit of modularity and associating with these objects all the system's behavior. Objects are typically elements of the domain or of the computational process.
Object-orientation is reaching its limits. Many things one cares about in creating a software system (concerns) are not neatly localized to the behavior of specific "things." Building diverse systems requires simultaneously manipulating many concerns. Examples of concerns range from non-functional notions such as security, reliability, and manageability to precise implementation techniques such as concurrency control, caching, and error recovery. Since conventional programming technologies are centered on producing a direct sequence of instructions, they require the programmer to remain cognizant of all such concerns throughout the programming process. The programmer must explicitly intermix the commands to achieve these concerns with the code for the primary application functionality. This produces tangled code and erroneous and difficult-to-maintain systems.
New technologies are emerging to allow richer specifications of programs and better modularization of these specifications. Along with these new technologies, we are also seeing novel software engineering methodologies for using them. One of the most exciting of these new technologies is aspect-oriented software development (AOSD). AOSD programming technologies (aspect-oriented programming, or AOP) provide linguistic mechanisms for separate expression of concerns, along with implementation technologies for weaving these separate concerns into working systems. Aspect-oriented software engineering (AOSE) technologies are emerging for managing the process of developing systems within this new paradigm.
About This Book
This book grew out of our experience with the special issue on aspect-orientation in the October, 2001 Communications of the ACM. Seven times as many papers were submitted to that issue as we could print; those that appeared proved among the most popular in the ACM digital library. Simultaneously, we saw a growing number of increasingly popular workshops on aspect-oriented topics. There was clearly great interest in the computer science community for learning more about aspects. This led to two ideasestablishing an international conference on aspect-oriented software development and creating a book to illustrate to the advanced software development community the diversity of ideas in this space. The conference, organized by the Aspect-Oriented Software Association and co-sponsored by ACM, has recently had its third annual meeting; the proceedings are in the ACM digital library.
We intend this book as a volume for advanced software engineers interested in learning about this new direction in software development. To populate the book, we sent out invitations to selected researchers in the field either to submit a new paper presenting an overview of their work or to nominate an appropriate existing paper for reprinting. This book is the result of selecting from and editing those submissions.
How to Read This Book
We recommend the first chapter, which is an introduction to the ideas of aspect-oriented software development, to all readers. Beyond that, system development rests on a basis of programming languages and models, though actual system development demands all the processes of an engineering activity. The ultimate test of a software technology is the systems whose construction it has supported, though aspects are not sufficiently mature to have an impressive portfolio. Correspondingly, after the introduction, the book is structured in three parts: Part 1, "Languages and Foundations," is primarily descriptions of languages for implementing aspects, with some attention to the place of aspects in the programming language universe. Part 2, "Software Engineering," describes technologies for the aspect-oriented software development process. Finally, Part 3, "Applications," details some of the first application experiences using aspect technology. Each part has an introductory section delimiting the space of aspect technology within the topic and outlining the place of each chapter in that space. Beyond that introduction, the chapters (as befits a contributed book on the state-of-the-art) are fundamentally independent. While the authors make the typical reference to other's works, almost every chapter is self-contained.
© Copyright Pearson Education. All rights reserved.
- ISBN-100321219767
- ISBN-13978-0321219763
- Edition1st
- Publication dateOctober 6, 2004
- LanguageEnglish
- Dimensions7.25 x 1.5 x 9.25 inches
- Print length798 pages
Product details
- Publisher : Addison-Wesley Professional; 1st edition (October 6, 2004)
- Language : English
- Paperback : 798 pages
- ISBN-10 : 0321219767
- ISBN-13 : 978-0321219763
- Item Weight : 2.55 pounds
- Dimensions : 7.25 x 1.5 x 9.25 inches
- Best Sellers Rank: #8,740,258 in Books (See Top 100 in Books)
- #957 in Object-Oriented Software Design
- #3,661 in Object-Oriented Design
- #31,179 in Computer Software (Books)
- Customer Reviews:
Important information
To report an issue with this product or seller, click here.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
