Top Banner
Reflective- Adaptive Middleware Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008
20

Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

Jan 12, 2016

Download

Documents

Erica Perry
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

Reflective- Adaptive MiddlewareReflective- Adaptive Middleware

Leila Jalali

Distributed Systems Middleware – ICS 237

Prof. Venkatasubramanian

Fall 2008

Page 2: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

2

OutlineOutline

Motivation

Background

Key Paradigms

Taxonomy

Examples

Key Paradigms

Background

Motivation

Taxonomy

Examples

OvervieOverview:w:

Conclusion

Conclusion

Page 3: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

3

MotivationMotivation

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

Reflective and Adaptive Middleware– addresses all three problems– still ongoing research

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Conclusion

Page 4: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

4

BackgroundBackground

Traditional Middleware Middleware Classification by Emmerich [1]

Motivation

Background

OvervieOverview:w:

Traditional Middleware

Message-Oriented Middleware

Transactional Middleware

ProceduralMiddleware

Object-Oriented Middleware

Object-Oriented Middleware

Java RMICORBA DCOM

Key Paradigms

Taxonomy

Examples

Conclusion

Page 5: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

5

Computational ReflectionComputational Reflection

The ability of a program to reason about, and possibly alter, its own behavior

Enables a system to “open up” its implementation details for such analysis without revealing the unnecessary parts or compromising portability.

Terminology

Key Paradigms

OvervieOverview:w:

Reflection

Relationship between meta-level and base-level objects

Base-level Meta-level Reification MOP

Motivation

Background

Taxonomy

Examples

Conclusion

Base Level

Meta Level Meta Object Protocols

Page 6: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

6

Why Reflective Middleware?Why Reflective Middleware?

Wireless communication, mobile computing and real-time applications demand– High adaptability

dynamic customization of systems, services and communication protocols

– Safe flexibility constrain composition of services and protocols in order to prevent functional

interference that could lead to an inconsistent state of the system required to protect the system from security threats and failure

– Cost-effective QoS guarantees

Key Paradigms

OvervieOverview:w:

Reflection

Motivation

Background

Taxonomy

Examples

Conclusion

Page 7: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

7

ReflectionReflection

Provides a plug-and-play environment for enabling run-time modification of policies

An efficient technique to build composable middleware Features

– Separation of concerns– Flexibility, Adaptability– Composition

Implies concurrent execution of multiple resource management policies

Key Paradigms

OvervieOverview:w:

Reflection

Motivation

Background

Taxonomy

Examples

Conclusion

Page 8: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

Reflection & ReificationReflection & Reification

Reflection– Behavioral reflection– Structural reflection

Metaobject protocol – reflection + object-oriented programming

Meta-level

Base-level

Reification Reflection

Key Paradigms

OvervieOverview:w:

Reflection

Motivation

Background

Taxonomy

Examples

Conclusion

Page 9: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

ReificationReification

What can you reify?– Structural reflection: the models of your program

(MDA), the structure of structured files (e.g. XML DTDs), the classes of a program, the code of a program (AST), the object structures (rarely), the bytecode of a class. at design-time, compile-time, at load-time, or at

runtime.

– Behavioral reflection: the object behavior (e.g. when they change states), the interaction between the objects (e.g. when a client invokes a remote object, when an invocation arrives on an object). at runtime, (design-time, compile time – partial

reification).

Key Paradigms

OvervieOverview:w:

Reflection

Motivation

Background

Taxonomy

Examples

Conclusion

Page 10: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

10

OutlineOutline

Taxonomy

Background

Motivation

Key Paradigms

Examples

Taxonomy

OvervieOverview:w:

Conclusion

Motivation

Background

Key Paradigms

Examples

Big Picture

Conclusion

Page 11: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

11

Kernel

Application

Distribution

Common-Services

Host-Infrastructure

Domain-Services

Mid

dlew

are

Lay

ers

kernel boundary process boundarylayer boundary

Middleware LayersMiddleware 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

Taxonomy

OvervieOverview:w:

MW Layers

Adaptation Type

App. Domain

Schmidt decomposed middleware into four layers:

Motivation

Background

Key Paradigms

Examples

Conclusion

Middleware layers [8]

Note: an adaptive middleware project may fall in more than one layer.

Note: an adaptive middleware project may fall in more than one layer.

Page 12: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

12

Adaptation TypeAdaptation Type

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.

Taxonomy

OvervieOverview:w:

Adaptation Type

MW Layers

App. Domain

Development Time

Adaptive Middleware

Static Middleware

Customizable Configurable Tunable Mutable

Compile Time Startup Time Run Time

Dynamic Middleware

Adaptation Type

Application Lifetime

Motivation

Background

Key Paradigms

Examples

Conclusion

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

Page 13: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

13

Application DomainApplication Domain

QoS-Oriented Middleware– supports real-time and multimedia applications– Example:

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

OvervieOverview:w:

App. domain

MW Layers

Adaptation Type

Adaptive Middleware

Dependable MiddlewareQoS-Oriented Middleware Embedded Middleware

Motivation

Background

Key Paradigms

Examples

Conclusion

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

Page 14: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

OutlineOutline

Examples

Background

Motivation

Key Paradigms

Taxonomy

Examples

OvervieOverview:w:

Conclusion

Motivation

Background

Key Paradigms

Taxonomy

Conclusion

Page 15: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

QoS-Oriented MiddlewareQoS-Oriented Middleware

Reflection-Oriented Middleware– Computational reflection is the primary focus

QoS-Oriented Middleware

Stream-Oriented Middleware

Real-Time Middleware

Reflection-Oriented Middleware

Aspect-Oriented Middleware

OvervieOverview:w:

QoS-Oriented

TLAM

Motivation

Background

Key Paradigms

Taxonomy

Examples

Conclusion

Page 16: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

TLAMTLAMOvervieOverview:w:

TLAM

QoS-Oriented

Motivation

Background

Key Paradigms

Taxonomy

Examples

Conclusion

Core services allow to isolate complex interactions -- useful for managing composition of services

DistributedSnapshot

Remote Creation

Directory Services

Replication

Migration

DGC

Check-pointing

AccessControl

System (Meta) Level

Application (Base) Level

Two Level Meta Architecture (TLAM)

Page 17: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

Reflective middleware framework – Reflective middleware framework – CompOSE|QCompOSE|Q

RemoteCreation

RemoteCreation

DistributedSnapshotDistributedSnapshot

DirectoryServicesDirectoryServices

QoSBroker

QoSBroker

MigrationMigrationReplicationReplication

RequestMgmt

DataMgmt

MessageScheduling

RequestScheduling

Data Placement De-replication

Clock SyncClock Sync

Interactionwith

Core Services

CoreServices

ApplicationObjects

TLAM

QoS-Oriented

Motivation

Background

Key Paradigms

Taxonomy

Examples

Conclusion

Page 18: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

Conclusion and Future WorkConclusion and Future Work

Conclusion– A classification for traditional middleware– Supporting paradigms for reflection– A taxonomy of adaptive middleware

Future Work– Domain-services middleware– Common-services middleware– Embedded middleware– Mutable middleware

Safe adaptation

– Higher-level paradigms

Conclusion

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Page 19: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

ReferencesReferences[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] Nalini Venkatasubramanian, CompOSE|Q – A QoS enabaled Customizable Middleware Framework for Distributed Computing., Distributed Middleware Workshop, Proceedings of the IEEE Intl. Conference on Distributed Computing Systems (ICDCS '99), June 1999.

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Conclusion

Page 20: Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

OvervieOverview:w:

Thank you!

Motivation

Background

Key Paradigms

Taxonomy

Examples

Conclusion