A Survey of Adaptive Middleware - PowerPoint PPT Presentation

About This Presentation
Title:

A Survey of Adaptive Middleware

Description:

Mutable Middleware. Enables administrators to dynamically adapt applications at run time. ... Mutable. Compile Time. Startup Time. Run Time. Dynamic Middleware ... – PowerPoint PPT presentation

Number of Views:351
Avg rating:3.0/5.0
Slides: 33
Provided by: sadj5
Learn more at: http://users.cs.fiu.edu
Category:

less

Transcript and Presenter's Notes

Title: A Survey of Adaptive Middleware


1
A Survey of Adaptive Middleware
  • SeyedMasoud Sadjadi
  • www.cse.msu.edu/sadjadis
  • Software Engineering and Networking Systems
    Laboratory
  • Department of Computer Science and Engineering
  • Michigan State University
  • www.cse.msu.edu/sens

2
Agenda
Motivation
Overview
Motivation
Background
Background
Key Paradigms
Taxonomy
Examples
Key Paradigms
Big Picture
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
3
Motivation
Overview
  • Problem
  • complexity of interprocess communication
  • heterogeneity of platforms
  • changing conditions
  • Functional
  • Environmental
  • Traditional Middleware
  • addresses the first two problems to some extent
  • is limited in supporting adaptation
  • Adaptive Middleware
  • addresses all three problems
  • still ongoing research

Motivation
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
4
Background
Overview
  • Traditional Middleware
  • connectivity software
  • below application and above operation system
    layer
  • provides high-level programming abstractions
  • Middleware Classification by Emmerich 1

Motivation
Background
Taxonomy
OO MW
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
5
CORBA
Overview
  • CORBA
  • Common Object Request Broker Architecture.
  • A distributed object framework by OMG.
  • Supports distributed object-oriented computing
    across heterogeneous hardware devices, operating
    systems, network protocols, and programming
    languages.

Motivation
Background
Taxonomy
OO MW
Key Paradigms
Taxonomy
Examples
  • Components
  • Object
  • Servant
  • Client
  • IDL Compiler
  • Stub
  • Skeleton
  • ORB Core
  • GIOP/IIOP

Big Picture
Conclusion
CORBA architecture 2.
6
Java RMI DCOM
Overview
  • Java RMI
  • Java Remote Method Invocation.
  • A Java distributed object framework by JavaSoft.
  • Supports distributed computing across
    heterogeneous hardware devices and operating
    systems using the Java Virtual Machine (JVM).
  • Serialization.
  • DCOM
  • Distributed Component Object Model.
  • A Windows distributed object framework by
    Microsoft.
  • An extension to the COM that supports
    heterogeneous programming languages and network
    protocols.
  • Provides a binary standard like C vtable.
  • Object proxies and object stubs in DCOM are
    referred as IDL stubs and IDL skeleton in
    CORBA, respectively!

Motivation
Background
Taxonomy
OO MW
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
7
Agenda
Motivation
Overview
Motivation
Background
Background
Key Paradigms
Taxonomy
Examples
Key Paradigms
Big Picture
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
8
Computational Reflection
Overview
  • The ability of a program to reason about, and
    possibly alter, its own behavior 3.
  • Enables a system to open up its implementation
    details for such analysis without revealing the
    unnecessary parts or compromising portability
    4.
  • Terminology

Motivation
Background
Key Paradigms
Reflection
CBD
AOP
Patterns
  • Base-level
  • Meta-level
  • MOP
  • Casually connected
  • Per-ORB, per-class, per-object, and per-interface
    reflection

Taxonomy
Examples
Big Picture
Conclusion
Relationship between meta-level and base-level
objects.
9
Component-Based Design
Overview
  • Software components
  • Software units that can be independently
    produced, deployed, and composed by third parties
    5.
  • Self-contained
  • Commodity-of-the-shelf (COTS)
  • Component-based design (CBD)
  • large scale reuse of software
  • Composition
  • late binding
  • Component-Based Middleware
  • DCOM
  • EJB
  • CCM

Motivation
Background
Key Paradigms
Reflection
CBD
AOP
Patterns
Taxonomy
Examples
Big Picture
Conclusion
Independent Components
10
Aspect-Oriented Programming
Overview
  • Complex programs are composed of different
    intervened cross-cutting concerns 6.
  • Cross-cutting concerns
  • Properties or areas of interest such as QoS,
    energy consumption, fault tolerance, and
    security.
  • Terminology

Motivation
Background
Key Paradigms
Reflection
CBD
AOP
Basic Functionality
Cross-Cutting Aspects
Patterns
  • Aspect
  • Basic Functionality
  • Aspect Language
  • Aspect Weaver
  • Static
  • Dynamic
  • Woven Code

Taxonomy
Examples
Big Picture
Conclusion
Aspect Weaver
Woven Code
AOP in action.
11
Software Design Patterns
Overview
  • Enables reuse of best software design practices
    7.
  • Benefits
  • common vocabulary for communicating insight and
    experience about recurring problems
  • Patterns commonly used in adaptive middleware

Motivation
Background
Key Paradigms
Reflection
CBD
AOP
  • Façade
  • Wrapper
  • Interceptor
  • Strategy
  • Service Configurator
  • Virtual Component

Patterns
Taxonomy
Examples
Big Picture
Conclusion
Class diagram.
12
Agenda
Motivation
Overview
Motivation
Background
Background
Key Paradigms
Taxonomy
Examples
Key Paradigms
Big Picture
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
13
Middleware Layers
Overview
  • Schmidt 8 decomposed middleware into four
    layers

Motivation
Background
  • Domain-Services
  • Tailored to a specific class of distributed
    applications
  • Common-Services
  • Functionality such as fault tolerance, security,
    load balancing and transactions
  • Distribution
  • Programming-language abstraction
  • Host-Infrastructure
  • Platform-abstraction

Key Paradigms
Taxonomy
MW Layers
Adaptation Type
App. Domain
Examples
Middleware Layers
Big Picture
Conclusion
Note an adaptive middleware project may fall in
more than one layer.
Middleware layers 8
14
Adaptation Type
Overview
Motivation
Background
Key Paradigms
Taxonomy
MW Layers
  • Static Middleware
  • Customizable Middleware
  • Enables developers to compile (and link)
    customized versions of applications.
  • Configurable Middleware
  • Enables administrators to configure the
    middleware after compile time.
  • Dynamic Middleware
  • Tunable Middleware
  • Enables administrators to fine-tune applications
    during run time.
  • Mutable Middleware
  • Enables administrators to dynamically adapt
    applications at run time.

Adaptation Type
App. Domain
Examples
Big Picture
Conclusion
  • Note an adaptive middleware project may provide
    more that one adaptation.

15
Application Domain
Overview
Motivation
Background
Key Paradigms
  • QoS-Oriented Middleware
  • supports real-time and multimedia applications
  • Example
  • avionics systems, video conferencing and Internet
    telephony
  • Dependable Middleware
  • supports critical distributed applications that
    are required to be correctly operational
  • Example
  • military command and control and medical
    applications
  • Embedded Middleware
  • supports small footprints
  • Examples
  • smart phones, hand-held devices, and industrial
    controllers

Taxonomy
MW Layers
Adaptation Type
App. domain
Examples
Big Picture
Conclusion
  • Note there is a lot of overlap among these
    groups.

16
Agenda
Motivation
Overview
Motivation
Background
Background
Key Paradigms
Taxonomy
Examples
Key Paradigms
Big Picture
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
17
QoS-Oriented Middleware
Overview
Motivation
Background
Key Paradigms
Taxonomy
  • Real-Time Middleware
  • Required to meet the deadlines defined by
    real-time applications
  • Hard and soft real-time middleware
  • Stream-Oriented Middleware
  • Provides a continuous data streaming abstraction
  • Reflection-Oriented Middleware
  • Computational reflection is the primary focus
  • Aspect-Oriented Middleware
  • AOP is the primary focus

Examples
QoS-Oriented
Dependable
Embedded
Big Picture
Conclusion
18
Real-Time Middleware
Overview
  • TAO
  • Schmidt et al.
  • CORBA compliant ORB
  • Classification
  • Distribution layer
  • Configurable and Tunable MW
  • Real-time MW

Motivation
Background
Key Paradigms
Taxonomy
Examples
QoS-Oriented
Dependable
Embedded
TAO Architecture 9.
Big Picture
  • DynamicTAO
  • UIUC
  • A reflective TAO
  • Classification
  • Distribution layer
  • Tunable MW
  • Real-time MW

Conclusion
Reified DynamicTAO 10.
19
Stream-Oriented Middleware
  • Open-ORB
  • Lancaster University
  • ORB-wide reflection
  • Classification
  • Distribution layer
  • Mutable MW

Overview
Motivation
Background
Key Paradigms
Taxonomy
Examples
QoS-Oriented
Dependable
Open-ORB explicit binding 11.
Embedded
Big Picture
  • Squirrel over Infopipes
  • University of Kaiserslautern
  • Classification
  • Distribution layer
  • Customizable and Tunable MW

Conclusion
Squirrel over Infopipes 12.
20
Aspect-Oriented Middleware
Overview
  • QuO
  • BBN Technologies
  • Classification
  • Common-services layer
  • Customizable MW
  • Aspect-oriented MW
  • Static AOP

Motivation
Background
Key Paradigms
Taxonomy
Examples
QoS-Oriented
Dependable
Embedded
QuO 13.
Big Picture
  • AspectIX
  • University of Erlangen-Nürnberg
  • Classification
  • Distribution layer
  • Tunable MW
  • Aspect-oriented MW
  • Dynamic AOP

Conclusion
Dynamic weaving of aspects in AspectIX 14.
21
Dependable Middleware
Dependable Middleware
Overview
Motivation
Background
Fault-Tolerant Middleware
Reliable-Communication Middleware
Load-Balancer Middleware
Key Paradigms
Taxonomy
  • Reliable Communication Middleware
  • provides reliable communication services
  • residing at the host-infrastructure layer
  • Fault-Tolerant Middleware
  • continue operating in the presence of faults
  • Load-Balancer Middleware
  • continue operation even in the presence of high
    load

Examples
QoS-Oriented
Dependable
Embedded
Big Picture
Conclusion
22
Reliable Middleware
  • Rocks
  • University of Wisconsin
  • Classification
  • Host-infra. layer
  • Configurable MW
  • Reliable-commu. MW
  • Racks
  • University of Wisconsin
  • Classification
  • Common-services layer
  • Configurable MW
  • Reliable-commu. MW

Overview
Motivation
Background
Key Paradigms
Taxonomy
Examples
QoS-Oriented
Dependable
Embedded
Big Picture
Conclusion
Racks architecture 15.
Rocks architecture 15.
23
Fault-Tolerance Middleware
Overview
  • IRL
  • Baldoni et al.
  • Classification
  • Common-services layer
  • Configurable MW
  • Fault-Tolerant MW

Motivation
Background
Key Paradigms
Taxonomy
Examples
IRL architecture 16.
QoS-Oriented
Dependable
Embedded
  • Eternal
  • UCSB and Eternal Systems
  • Classification
  • Host-infra. layer
  • Configurable MW
  • Fault-Tolerant MW

Big Picture
Conclusion
Eternal architecture 17.
24
Embedded Middleware
Overview
Motivation
Background
Key Paradigms
Taxonomy
  • Minimum Middleware
  • Enables minimum footprint applications
  • For a specific application-domain
  • Fixed minimum core
  • For one specific application
  • No fixed core
  • Swappable Middleware
  • Enables optional portions of middleware to swap
    in and out dynamically
  • Fixed minimum core

Examples
QoS-Oriented
Dependable
Embedded
Big Picture
Conclusion
25
Swappable Middleware
Overview
  • EmbeddedJava
  • Sun Microsystems
  • Classification
  • Host-infra. layer
  • Customizable MW
  • Minimum MW

Motivation
Background
Key Paradigms
Taxonomy
Examples
QoS-Oriented
Dependable
EmbeddedJava architecture 18.
Embedded
Big Picture
  • ZEN
  • Schmidt et al.
  • Classification
  • Distribution layer
  • Configurable and Tunable MW
  • Swappable MW

Conclusion
ZEN architecture 19.
26
Agenda
Motivation
Overview
Motivation
Background
Background
Key Paradigms
Taxonomy
Examples
Key Paradigms
Big Picture
Conclusion
Taxonomy
Examples
Big Picture
Conclusion
27
Application Domain MW Layers
Overview
  • Embedded Middleware
  • All-in-one vs. Layered
  • Common-Services
  • Domain-Services
  • Many standards may be proprietary?
  • Need more attention

Motivation
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
28
Adaptation Type MW Layers
Overview
  • Hybrid Adaptation
  • Common-Services Layer
  • Customizable, Tunable, Mutable
  • Mutable Middleware
  • Very powerful
  • Safe adaptation

Motivation
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
29
Key Paradigms and Standards
Overview
  • Computational Reflection
  • Component-Based Design
  • Aspect-Oriented Programming
  • Software-Design Patterns
  • Reliable- Communication Middleware
  • CORBA
  • Java RMI
  • DCOM

Motivation
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
30
Conclusion and Future Work
Overview
  • Conclusion
  • A classification for traditional middleware
  • Supporting paradigms for adaptation
  • A taxonomy of adaptive middleware
  • Classifying adaptive middleware projects
  • Future Work
  • Domain-services middleware
  • Common-services middleware
  • Embedded middleware
  • Feature interaction
  • Mutable middleware
  • Safe adaptation
  • Higher-level paradigms

Motivation
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
31
References
  • 1 Wolfgang Emmerich. Software engineering and
    middleware a roadmap. In Proceedings of the
    Conference on The future of Software engineering,
    pages 117-129, 2000.
  • 2 http//www.cs.wustl.edu/schmidt/corba-overvie
    w.html.
  • 3 Pattie Maes. Concepts and experiments in
    computational reflection. In Proceedings of the
    ACM Conference on Object-Oriented Languages
    (OOPSLA), December 1987.
  • 4 G. Kiczales, J. d. Rivieres, and D. G.
    Bobrow. The Art of Metaobject Protocols. MIT
    Press, 1991.
  • 5 Clemens Szyperski. Component Software Beyond
    Object-Oriented Programming. Addison-Wesley,
    1999.
  • 6 Erich Gamma, Richard Helm, Ralph Johnson, and
    John Vlissides. Design Patterns Elements od
    Reusable Object-Oriented Software. Addison-Wesley
    Professional Computing Series. Addison-Wesley
    Publishing Company, New York, NY, 1995.
  • 7 G. Kiczales, J. Lamping, A. Mendhekar, C.
    Maeda, C. Videira Lopes, J. M. Loingtier, and J.
    Irwin. Aspect-oriented programming. In
    Proceedings of the European Conference on
    Object-Oriented Programming (ECOOP).
    Springer-Verlag LNCS 1241, June 1997.
  • 8 Douglas C. Schmidt. Middleware for real-time
    and embedded systems. Communications of the ACM,
    45(6), June 2002.
  • 9 D. C. Schmidt, D. L. Levine, and S. Mungee.
    The design of the TAO real-time object request
    broker. Computer Communications, 21(4)294-324,
    April 1998.
  • 10 Fabio Kon, Manuel Román, Ping Liu, Jina Mao,
    Tomonori Yamane, Luiz Claudio Magalhaes, and Roy
    H. Campbell. Monitoring, security, and dynamic
    configuration with the dynamicTAO reflective ORB.
    In Proceedings of the IFIP/ACM International
    Conference on Distributed Systems Platforms
    (Middleware 2000), New York, April 2000.
  • 11 T. Fitzpatrick, G. Blair, G. Coulson, N.
    Davies, and P. Robin. Supporting adaptive
    multimedia applications through open bindings. In
    Proceedings of International Conference on
    Congurable Distributed Systems (ICCDS'98), May
    1998.
  • 12 R. Koster. A Middleware Platform for
    Information Flows. PhD thesis, Department of
    Computer Science, University of Kaiserslautern,
    Germany, July 2002.
  • 13 John A. Zinky, David E. Bakken, and Richard
    E. Schantz. Architectural support for quality of
    service for CORBA objects. Theory and Practice of
    Object Systems, 3(1), 1997.
  • 14 Martin Geier, Martin Steckermeier, Ulrich
    Becker, Franz J. Hauck, Erich Meier, and Uwe
    Rastofer. Support for mobility and replication in
    the AspectIX architecture. Technical Report
    TR-I4-98-05, Univ. of Erlangen-Nuernberg, IMMD
    IV, 1998.
  • 15 Victor C. Zandy and Barton P. Miller.
    Reliable network connections. In ACM MobiCom
    2002, Atlanta, September 2002.
  • 16 C. Marchetti, L. Verde, and R. Baldoni.
    CORBA request portable interceptors A
    performance analysis. In the 3nd International
    Symposium on Distributed Objects and Applications
    (DOA 2001), Rome, Italy, Sept. 2001.
  • 17 L. Moser, P. Melliar-Smith, P. Narasimhan,
    L. Tewksbury, and V. Kalogeraki. The eternal
    system an architecture for enterprise
    applications. In the 3rd International Enterprise
    Distributed Object Computing Conference
    (EDOC'99), July 1999.
  • 18 Sun Microsystems. EmbeddedJava Application
    Environment. http//java.sun.com/products/embedded
    java/.
  • 19 Raymond Klefstad, Douglas C. Schmidt, and
    Carlos O'Ryan. Towards highly configurable
    real-time object request brokers. In Fifth IEEE
    International Symposium on Object-Oriented
    Real-Time Distributed Computing, April - May 2002.

Overview
Motivation
Background
Key Paradigms
Taxonomy
Examples
Big Picture
Conclusion
32
Overview
Motivation
Background
Key Paradigms
  • Questions?

Taxonomy
Examples
Big Picture
Conclusion
Thank you!
Write a Comment
User Comments (0)
About PowerShow.com