1 / 29

Adaptive Software

Adaptive Software. Kevin Cella Graduate Seminar 02/04/2005. Agenda. Adaptive Computing History Adaptive Software Formal Definition DemeterJ / AOP Alternate Designs Advantages/Disadvantages Applications Reactions Wrap it up!. Adaptive Computing. Hardware Fault Tolerant

donar
Download Presentation

Adaptive Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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-present Demeter • 1990 Traversal Strategy • 1995 Separation of Concerns • 1996 Xerox 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

More Related