Using Aspect Oriented Programming for Trustworthy Software Development
John Wiley & Sons Inc (Hersteller)
978-0-470-28311-0 (ISBN)
- Keine Verlagsinformationen verfügbar
- Artikel merken
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.
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.
Preface. 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. References. Index.
Verlagsort | New York |
---|---|
Sprache | englisch |
Themenwelt | Mathematik / Informatik ► Informatik ► Software Entwicklung |
Informatik ► Weitere Themen ► Hardware | |
Technik ► Elektrotechnik / Energietechnik | |
ISBN-10 | 0-470-28311-4 / 0470283114 |
ISBN-13 | 978-0-470-28311-0 / 9780470283110 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |