Using Aspect-Oriented Programming for Trustworthy Software Development / Edition 1

Hardcover (Print)
Buy New
Buy New from
Used and New from Other Sellers
Used and New from Other Sellers
from $40.89
Usually ships in 1-2 business days
(Save 67%)
Other sellers (Hardcover)
  • All (12) from $40.89   
  • New (10) from $51.03   
  • Used (2) from $40.89   


Learn how to successfully implement trustworthy computing tasks using aspect-oriented programming

This landmark publication fills a gap in the literature by not only describing the basic concepts of trustworthy computing (TWC) and aspect-oriented programming (AOP), but also exploring their critical interrelationships. The author clearly demonstrates how typical TWC tasks such as security checks, in-and-out conditions, and multi-threaded safety can be implemented using AOP.

Following an introduction, the book covers:

  • Trustworthy computing, software engineering, and computer science
  • Aspect-oriented programming and Aspect.NET
  • Principles and case studies that apply AOP to TWC

Coverage includes Aspect.NET, the AOP framework developed by the author for the Microsoft.NET platform, currently used in seventeen countries. The author discusses the basics of Aspect.NET architecture, its advantages compared to other AOP tools, and its functionality. The book has extensive practical examples and case studies of trustworthy software design and code using the Aspect.NET framework. In addition, the book explores other software technologies and tools for using AOP for trustworthy software development, including Java and AspectJ.

This book also includes a valuable chapter dedicated to ERATO, the author's teaching method employed in this book, which has enabled thousands of students to quickly grasp and apply complex concepts in computing and software engineering, while the final chapter presents an overall perspective on the current state of AOP and TWC with a view toward the future.

Software engineers, architects, developers, programmers, and students should all turn to this book to learn this tested and proven method to create more secure, private, and reliable computing.

Read More Show Less

Product Details

  • ISBN-13: 9780470138175
  • Publisher: Wiley
  • Publication date: 5/27/2008
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 338
  • Product dimensions: 6.30 (w) x 9.30 (h) x 0.90 (d)

Meet the Author

Vladimir O. Safonov, PhD, is Professor of the Computer Science Department at St. Petersburg University and the head of the university's Java Technology Laboratory. With some thirty years of experience leading major software projects, developing software, and teaching software technologies, Professor Safonov is one of the leading innovators in computer science and software engineering in Russia. He holds four U.S. software patents and four Russian software patents and has published five books and over eighty papers. He is also a Microsoft Research 2005/2006 RFP winner for TWC and Secure Software Development.

Read More Show Less

Table of Contents


1. Introduction.

1.1 The Role of Aspect-Oriented Programming in Trustworthiness.

1.2 Historical Background and Personal Experience.

1.3 Organization of the Book.

2. Trustworthy Computing, Software Engineering, and Computer Science.

2.1 History of and Growing Need for TWC.

2.2 Microsoft’s TWC Initiative.

2.3 The Four Pillars of TWC.

2.3.1 Security.

2.3.2 Privacy.

2.3.3 Reliability.

2.3.4 Business Integrity.

2.4 Software Engineering Technologies and Tools for TWC.

2.5 TWC and .NET.

2.5.1 .NET Overview.

2.5.2 .NET Security.

2.5.3 .NET and Reliability.

2.5.4 .NET TWC Tools FxCop and Spec#.

2.6 TWC and Java.

2.6.1 Java Overview.

2.6.2 Java Security.

2.6.3 Java and Reliability.

2.6.4 Java TWC Tools.

2.7 Summary.

3. Aspect-Oriented Programming and Aspect.NET.

3.1 History of AOP.

3.2 AOP Basics.

3.3 AOP and Related Technologies and Tools.

3.3.1 AspectJ and AspectWerkz.

3.3.2 Other AOP Tools and Approaches to Separation of Concerns.

3.4. Pitfalls of AOP.

3.5 AOP for Java.

3.6 AOP for .NET.

3.7 Aspect.NET Principles and Architecture.

3.7.1 Motivation and Key Ideas.

3.7.2 Basic Concepts of AOP.

3.7.3 Example.

3.7.4 Representing Aspects by Custom Attributes.

3.7.5 Example in Terms of Custom Attributes.

3.7.6 Summary of Our Approach to AOP.

3.7.7 Aspect.NET Architectural Principles.

3.7.8 Syntax of AOP Metalanguage (Version 1.0).

3.7.9 Another Example.

3.8 Features and Use of Aspect.NET.

3.8.1 Prerequisites for Using Aspect.NET 2.1.

3.8.2 Previous Releases of Aspect.NET and the Compatibility Mode.

3.8.3 Aspect.NET Architecture.

3.8.4 Case Study: Using the Aspect.NET Framework.

3.8.5 Aspect.NET Framework Options.

3.8.6 Aspect.NET.ML Metalanguage.

3.8.7 Samples Included in the Aspect.NET 2.1 Release.

3.8.8 Experience of Aspect.NET Use and User Feedback.

3.9 Summary.

3.9.1 AOP.

3.9.2 Aspect.NET.

4. Principles and Application of AOP in TWC.

4.1 AOP and TWC: Cooperation Rather Than Violation.

4.2 AOP for Security.

4.3 AOP for Error Handling.

4.4 AOP for Synchronization.

4.5 AOP for Trustworthy Multithreading- and Multicore-Based Applications.

4.6 AOP for Privacy.

4.7 AOP for Reliability.

4.7.1 Using AOP to Make Implementation Reliable.

4.7.2 Using AOP for Software Testing.

4.7.3 Using AOP to Support Formal Specification and Verification Methods.

4.8 AOP for Business Integrity.

4.9 AOP for Design by Contract.

4.10 Using AOP via Aspect.NET to Improve Productivity and Reliability.

4.10.1 Effort Estimation Using the COCOMO Model.

4.10.2 Assessment of Aspect.NET Using the ICED-T Model.

4.10.3 Assessment of Requirements of Aspect.NET Using the SQFD Model.

4.11 Application Effi ciency and Performance Using AOP.

4.11.1 Performance Measurement.

4.11.2 Implementation Details and the Woven IL Code.

4.11.3 Another Performance Measurement Example.

4.12 AOP and Agile Programming Approaches.

4.13 Summary.

5. Teaching TWC and AOP.

5.1 The ERATO Teaching Paradigm and the SPBU.NET Project.

5.1.1 The ERATO Teaching Paradigm.

5.1.2 The SPBU.NET Project.

5.2 The T-ERATO Teaching Paradigm and the TrustSPBU.NET Project.

5.2.1 The T-ERATO Teaching Paradigm.

5.2.2 The TrustSPBU.NET Project.

5.3 Teaching Trustworthy Software Engineering, Including AOP.

5.3.1 Structure of the Secure Software Engineering Course.

5.4 Teaching Trustworthy .NET and C# Programming.

5.4.1 Structure of the Trustworthy .NET and C# Programming Course.

5.4.2 Structure of the .NET and C# Programming Seminar.

5.5 Teaching Trustworthy Java Technology.

5.5.1 Structure of the Java Course.

5.5.2 Structure of the Java Seminar.

5.6 Teaching Trustworthy Operating Systems and Networking.

5.6.1 Structure of the Trustworthy Operating Systems and Networking Course.

5.7 Teaching Trustworthy Compiler Development.

5.7.1 Structure of the Trustworthy Compiler Development Course.

5.7.2 Structure of the Compiler Development Seminar.

5.8 Summary.

6. Conclusion.

6.1 Summary of the Book.

6.2 Perspectives: Integration of TWC, AOP, Formal Methods, and Knowledge Management.

6.2.1 Application of Formal Methods to Trustworthy AOP.

6.2.2 Smart Knowledge-Based AOP.

6.2.3 AOP Specification and Design Support Tools.

6.2.4 Trustworthy Reverse Engineering and Refactoring Tools for AOP.

6.2.5 Aspect-Oriented Modeling on the Basis of Extended UML.

Appendix: Examples of Aspect.NET Aspects.

A.1 TestArgs Example.

A.2 RetTest Example.

A.3 RetTest2 Example.

A.4 QuickSort Example.

A.5 Matrix Example.



Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)