Adaptive Software - PowerPoint PPT Presentation

About This Presentation
Title:

Adaptive Software

Description:

Adaptive Software Kevin Cella Graduate Seminar 02/04/2005 – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 30
Provided by: KevinC193
Learn more at: https://cs.union.edu
Category:

less

Transcript and Presenter's Notes

Title: Adaptive Software


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 gt
Propagation Pattern gt
Wrapper Definition gt
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
  • Inventors 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
Write a Comment
User Comments (0)
About PowerShow.com