A survey of adaptive middleware
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

A Survey of Adaptive Middleware PowerPoint PPT Presentation


  • 41 Views
  • Uploaded on
  • Presentation posted in: General

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. Agenda. Overview:. Motivation. Motivation. Background.

Download Presentation

A Survey of Adaptive Middleware

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


A survey of adaptive middleware

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


Agenda

Agenda

Overview:

Motivation

Motivation

Background

Background

Key Paradigms

Taxonomy

Examples

Key Paradigms

Big Picture

Conclusion

Taxonomy

Examples

Big Picture

Conclusion


Motivation

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


Background

Traditional Middleware

Object-Oriented Middleware

Message-Oriented

Middleware

Java RMI

Procedural

Middleware

Object-Oriented

Middleware

DCOM

Transactional

Middleware

CORBA

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


Corba

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].


Java rmi dcom

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


Agenda1

Agenda

Overview:

Motivation

Motivation

Background

Background

Key Paradigms

Taxonomy

Examples

Key Paradigms

Big Picture

Conclusion

Taxonomy

Examples

Big Picture

Conclusion


Computational reflection

Meta Level

Meta Object Protocols

Base Level

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.


Component based design

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


Aspect oriented programming

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.


Software design patterns

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.


Agenda2

Agenda

Overview:

Motivation

Motivation

Background

Background

Key Paradigms

Taxonomy

Examples

Key Paradigms

Big Picture

Conclusion

Taxonomy

Examples

Big Picture

Conclusion


Middleware layers

kernel boundary

process boundary

layer boundary

Application

Domain-Services

Common-Services

Distribution

Host-Infrastructure

Kernel

Middleware Layers

Overview:

  • Schmidt [8] decomposed middleware into four layers:

  • 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

Motivation

Background

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]


Adaptation type

Adaptive Middleware

Static Middleware

Dynamic Middleware

Adaptation Type

Customizable

Configurable

Tunable

Mutable

Application Lifetime

Development Time

Compile Time

Startup Time

Run Time

Adaptation Type

Overview:

  • 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.

Motivation

Background

Key Paradigms

Taxonomy

MW Layers

Adaptation Type

App. Domain

Examples

Big Picture

Conclusion

Note: an adaptive middleware project may provide more that one adaptation.


Application domain

Adaptive Middleware

Embedded Middleware

QoS-Oriented Middleware

Dependable Middleware

Application Domain

Overview:

  • 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

Motivation

Background

Key Paradigms

Taxonomy

MW Layers

Adaptation Type

App. domain

Examples

Big Picture

Conclusion

Note: there is a lot of overlap among these groups.


Agenda3

Agenda

Overview:

Motivation

Motivation

Background

Background

Key Paradigms

Taxonomy

Examples

Key Paradigms

Big Picture

Conclusion

Taxonomy

Examples

Big Picture

Conclusion


Qos oriented middleware

QoS-Oriented Middleware

Stream-Oriented

Middleware

Reflection-Oriented

Middleware

Aspect-Oriented

Middleware

Real-Time

Middleware

QoS-Oriented Middleware

Overview:

  • 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

Motivation

Background

Key Paradigms

Taxonomy

Examples

QoS-Oriented

Dependable

Embedded

Big Picture

Conclusion


Real time middleware

Servant1Configurator

Servant2Configurator

ConcurrencyStrategy

SchedulingStrategy

TAOConfigurator

SecurityStrategy

MonitoringStrategy

DomainConfigurator

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].


Stream oriented middleware

Video

MPEG

RTP

RTP

MPEG

Video

UDP/IP Binding

Source

encoder

sender

receiver

decoder

Render

Data

RTP: Real-time

transport protocol.

Delay

H.263

buffer

encoder

Stream-Oriented Middleware

  • Classification

    • Distribution layer

    • Mutable MW

Overview:

  • Open-ORB

    • Lancaster University

    • ORB-wide reflection

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].


Aspect oriented middleware

get_aspect()

get_aspects()

set of aspects

specific configuration object

set_aspect()

set_aspects()

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].


Dependable middleware

Fault-Tolerant Approaches in Middleware

Integration

OS-Interception

Reflection

Service

ORB-Interception

Dependable Middleware

Dependable Middleware

Overview:

  • 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

Motivation

Background

Fault-Tolerant

Middleware

Load-Balancer

Middleware

Reliable-Communication

Middleware

Key Paradigms

Taxonomy

Examples

QoS-Oriented

Dependable

Embedded

Big Picture

Conclusion


Reliable middleware

Reliable Middleware

  • Racks

    • University of Wisconsin

  • Classification

    • Common-services layer

    • Configurable MW

    • Reliable-commu. MW

Overview:

  • Rocks

    • University of Wisconsin

  • Classification

    • Host-infra. layer

    • Configurable MW

    • Reliable-commu. MW

Motivation

Background

Key Paradigms

Taxonomy

Examples

QoS-Oriented

Dependable

Embedded

Big Picture

Conclusion

Racks architecture [15].

Rocks architecture [15].


Fault tolerance middleware

Client

Proxy

Client Request PI

Client and Proxy ORB

Application Object

Unmodified CORBA ORB or

Java Virtual Machine

I IOP Interface

Eternal

Replication

Mechanisms

Eternal

Interceptor

Totem

TCP/IP

Platform

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].


Embedded middleware

Embedded Middleware

Minimum Middleware

Swappable Middleware

Embedded Middleware

Overview:

  • 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

Motivation

Background

Key Paradigms

Taxonomy

Examples

QoS-Oriented

Dependable

Embedded

Big Picture

Conclusion


Swappable middleware

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].


Agenda4

Agenda

Overview:

Motivation

Motivation

Background

Background

Key Paradigms

Taxonomy

Examples

Key Paradigms

Big Picture

Conclusion

Taxonomy

Examples

Big Picture

Conclusion


Application domain mw layers

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


Adaptation type mw layers

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


Key paradigms and standards

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


Conclusion and future work

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


References

References

Overview:

[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-overview.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/embeddedjava/.

[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.

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion


A survey of adaptive middleware

Overview:

Questions?

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Thank you!


  • Login