Download presentation
Presentation is loading. Please wait.
Published byConstance Cannon Modified over 9 years ago
1
Adaptive Software Kevin Cella Graduate Seminar 02/04/2005
2
Agenda Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!
3
Adaptive Computing Hardware Fault Tolerant CPU Architectures EDGE Digital Filter Robot Controller Software Engineering Agents Adaptive Programming Networking
4
Agenda Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!
5
History 1982 Hades 1982-1985 Zeus 1985-presentDemeter 1990 Traversal Strategy 1995Separation of Concerns 1996Xerox PARC - AOP
6
Agenda Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!
7
A Closer Look What is Adaptive Programming? An extension of OOP using graph theory and formal languages to further abstract collaborating classes and generate a family of programs from a common architectural graph.
8
Class Graph
9
Procedure Traversal Strategy => Propagation Pattern => Wrapper Definition => Generated Code
10
Result
11
Agenda Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!
12
Formal Definition Class Graph Context-Free Grammar Traversal Strategies Regular Expressions NDFA Intersections Graph Theory Construction edge Subclass edges
13
Agenda Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!
14
Law of Demeter "Only talk to your immediate friends" The methods of a class should not depend in any way on the structure of any class, except the immediate top-level structure of their own class
15
Demeter Method Class Dictionary Propagation Pattern Traversal Strategy Demeter Grammar Delayed Binding Wrapper Code Generation
16
AOP Join Points Pointcuts Advice Aspects Compiler - AspectJ Weaving Byte Code Manipulation Observer Pattern Java Language Extension
17
Alternate Designs Object-Oriented Databases XML/Java Data Binding Adaptable Plug and Play Components Aspectual Collaborations Aspectual Components DJ Java Library
18
Standardization – Design Patterns AP Patterns Inventor’s Paradox Structure-Shy Traversal Structure-Shy Object Context Class Graph
19
Agenda Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!
20
Advantages Maintenance Simplified Implementation Understandability Readability Reusability Code Reduction
21
Disadvantages Security Weaving Language Extension Grammar Integrate into Current OO-Languages
22
Agenda Adaptive Computing History Adaptive Software Examples Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!
23
Applications Hewlett-Packard Planetary Computing SmartFrog IBM eLiza Testing EJB.NET
24
Agenda Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!
25
Reactions Lack of Standards Code Weaving Education Security Cost Analysis
26
Agenda Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Coding Examples Thesis Wrap it up!
27
Looking Ahead AI Naturalistic Programming Tools packaged with SDK
28
Questions?
29
Discussion Topics Practicality Large vs. Small Scale Applications New Tools Standards Education
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.