Top Banner
PhD Qualifier Oral Exam. on Thursday, July 24, 2003 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
32

A Survey of Adaptive Middleware

Feb 25, 2016

Download

Documents

neylan

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. - PowerPoint PPT Presentation
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: A Survey of Adaptive Middleware

PhD Qualifier Oral Exam. on Thursday, July 24, 2003

A Survey of Adaptive MiddlewareA Survey of Adaptive Middleware

SeyedMasoud Sadjadiwww.cse.msu.edu/~sadjadis

Software Engineering and Networking Systems LaboratoryDepartment of Computer Science and Engineering

Michigan State University

www.cse.msu.edu/sens

Page 2: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 2A Survey of Adaptive Middleware by S. M. Sadjadi

AgendaAgendaMotivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Key Paradigms

Background

Motivation

Taxonomy

Examples

OvervieOverview:w:

Big Picture

Conclusion

Conclusion

Page 3: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 3A Survey of Adaptive Middleware by S. M. Sadjadi

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

Adaptive Middleware– addresses all three problems– still ongoing research

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 4: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 4A Survey of Adaptive Middleware by S. M. Sadjadi

BackgroundBackground Traditional Middleware

– connectivity software– below application and above operation system layer– provides high-level programming abstractions

Middleware Classification by Emmerich [1]

Motivation

Background

OvervieOverview:w:

Taxonomy

OO MW

Traditional Middleware

Message-Oriented Middleware

Transactional Middleware

ProceduralMiddleware

Object-Oriented Middleware

Object-Oriented Middleware

Java RMICORBA DCOM

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 5: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 5A Survey of Adaptive Middleware by S. M. Sadjadi

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

Background

OvervieOverview:w:

OO MW

Taxonomy

Components Object Servant Client IDL Compiler Stub Skeleton ORB Core GIOP/IIOP

CORBA architecture [2].

Motivation

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 6: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 6A Survey of Adaptive Middleware by S. M. Sadjadi

Java RMI & DCOMJava RMI & DCOM 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!

Background

OvervieOverview:w:

OO MW

Taxonomy

Motivation

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 7: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 7A Survey of Adaptive Middleware by S. M. Sadjadi

AgendaAgenda

Key Paradigms

Background

Motivation

Taxonomy

Examples

Big Picture

Key Paradigms

OvervieOverview:w:

Conclusion

Motivation

Background

Taxonomy

Examples

Big Picture

Conclusion

Page 8: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 8A Survey of Adaptive Middleware by S. M. Sadjadi

Computational ReflectionComputational Reflection 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

Key Paradigms

OvervieOverview:w:

Reflection

CBD

AOP

Patterns

Relationship between meta-level and base-level objects.

Base-level Meta-level MOP Casually

connected Per-ORB,

per-class, per-object, and per-interface reflection

Motivation

Background

Taxonomy

Examples

Big Picture

Conclusion

Base Level

Meta Level Meta Object Protocols

Page 9: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 9A Survey of Adaptive Middleware by S. M. Sadjadi

Component-Based DesignComponent-Based Design 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

OvervieOverview:w:

CBD

Reflection

AOP

Patterns

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Independent Components

Page 10: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 10A Survey of Adaptive Middleware by S. M. Sadjadi

Aspect-Oriented ProgrammingAspect-Oriented Programming 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

OvervieOverview:w:

AOP

CBD

Reflection

Patterns

AOP in action.

Aspect Basic Functionality Aspect Language Aspect Weaver

Static Dynamic

Woven Code

Basic Functionality

Cross-Cutting Aspects

Aspect WeaverWoven Code

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 11: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 11A Survey of Adaptive Middleware by S. M. Sadjadi

Software Design PatternsSoftware Design Patterns 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

OvervieOverview:w:

Patterns

CBD

AOP

Reflection

Class diagram.

Façade Wrapper Interceptor Strategy Service Configurator Virtual Component

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 12: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 12A Survey of Adaptive Middleware by S. M. Sadjadi

AgendaAgenda

Taxonomy

Background

Motivation

Key Paradigms

Examples

Big Picture

Taxonomy

OvervieOverview:w:

Conclusion

Motivation

Background

Key Paradigms

Examples

Big Picture

Conclusion

Page 13: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 13A Survey of Adaptive Middleware by S. M. Sadjadi

Kernel

Application

Distribution

Common-Services

Host-Infrastructure

Domain-Services

Mid

dlew

are

Laye

rskernel 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 [8] decomposed middleware into four layers:

Motivation

Background

Key Paradigms

Examples

Big Picture

Conclusion

Middleware layers [8]

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

Page 14: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 14A Survey of Adaptive Middleware by S. M. Sadjadi

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

Big Picture

Conclusion

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

Page 15: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 15A Survey of Adaptive Middleware by S. M. Sadjadi

Application DomainApplication Domain

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

OvervieOverview:w:

App. domain

MW Layers

Adaptation Type

Adaptive Middleware

Dependable MiddlewareQoS-Oriented Middleware Embedded Middleware

Motivation

Background

Key Paradigms

Examples

Big Picture

Conclusion

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

Page 16: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 16A Survey of Adaptive Middleware by S. M. Sadjadi

AgendaAgenda

Examples

Background

Motivation

Key Paradigms

Taxonomy

Big Picture

Examples

OvervieOverview:w:

Conclusion

Motivation

Background

Key Paradigms

Taxonomy

Big Picture

Conclusion

Page 17: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 17A Survey of Adaptive Middleware by S. M. Sadjadi

QoS-Oriented MiddlewareQoS-Oriented Middleware

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

QoS-Oriented Middleware

Stream-Oriented Middleware

Real-Time Middleware

Reflection-Oriented Middleware

Aspect-Oriented Middleware

OvervieOverview:w:

QoS-Oriented

Dependable

Embedded

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 18: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 18A Survey of Adaptive Middleware by S. M. Sadjadi

Real-Time MiddlewareReal-Time MiddlewareOvervieOverview:w:

QoS-Oriented

Dependable

Embedded

TAO– Schmidt et al.– CORBA compliant ORB

Classification– Distribution layer– Configurable and

Tunable MW– Real-time MW

TAO Architecture [9].

Servant1Configurator Servant2Configurator

TAOConfigurator

DomainConfigurator

ConcurrencyStrategy

SchedulingStrategy

SecurityStrategy

MonitoringStrategy

Reified DynamicTAO [10].

DynamicTAO– UIUC– A reflective TAO

Classification– Distribution layer – Tunable MW– Real-time MW

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 19: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 19A Survey of Adaptive Middleware by S. M. Sadjadi

Stream-Oriented MiddlewareStream-Oriented Middleware Open-ORB

– Lancaster University– ORB-wide reflection

OvervieOverview:w:

QoS-Oriented

Dependable

Embedded Open-ORB explicit binding [11].

VideoSource

MPEGencoder

RTPsender UDP/IP Binding MPEG

decoderRTP

receiver

DelaybufferH.263

encoder

Data

VideoRender

RTP: Real-time transport protocol.

Squirrel over Infopipes [12].

Squirrel over Infopipes– University of Kaiserslautern

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Classification– Distribution layer– Mutable MW

Classification– Distribution layer– Customizable and Tunable MW

Page 20: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 20A Survey of Adaptive Middleware by S. M. Sadjadi

Aspect-Oriented MiddlewareAspect-Oriented MiddlewareOvervieOverview:w:

QoS-Oriented

Dependable

EmbeddedQuO [13].

Dynamic weaving of aspects in AspectIX [14].

set of aspects

specific configuration object

get_aspects()

set_aspects()set_aspect()

get_aspect()

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

QuO– BBN Technologies

Classification– Common-services

layer– Customizable MW– Aspect-oriented MW

Static AOP

AspectIX– University of Erlangen-

Nürnberg Classification

– Distribution layer– Tunable MW– Aspect-oriented MW

Dynamic AOP

Page 21: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 21A Survey of Adaptive Middleware by S. M. Sadjadi

Dependable MiddlewareDependable Middleware

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

OvervieOverview:w:

Dependable

QoS-Oriented

Embedded

Dependable Middleware

Fault-Tolerant Middleware

Reliable-Communication Middleware

Load-Balancer Middleware

Fault-Tolerant Approaches in Middleware

Service ORB-InterceptionIntegration ReflectionOS-Interception

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 22: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 22A Survey of Adaptive Middleware by S. M. Sadjadi

Reliable MiddlewareReliable MiddlewareOvervieOverview:w:

Dependable

QoS-Oriented

Embedded

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Racks architecture [15].Rocks architecture [15].

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

Page 23: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 23A Survey of Adaptive Middleware by S. M. Sadjadi

Fault-Tolerance MiddlewareFault-Tolerance MiddlewareOvervieOverview:w:

Dependable

QoS-Oriented

Embedded

TCP/IP

Unmodified CORBA ORB orJava Virtual Machine

EternalInterceptor

EternalReplicationMechanisms

Totem

Platform

I IOP Interface

Application Object

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

ClientProxy

Client and Proxy ORB

Client Request PI

Eternal architecture [17].

IRL architecture [16].

IRL– Baldoni et al.

Classification– Common-services layer– Configurable MW– Fault-Tolerant MW

Eternal– UCSB and Eternal

Systems Classification

– Host-infra. layer– Configurable MW– Fault-Tolerant MW

Page 24: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 24A Survey of Adaptive Middleware by S. M. Sadjadi

Embedded MiddlewareEmbedded Middleware

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

OvervieOverview:w:

Embedded

QoS-Oriented

Dependable

Embedded Middleware

Minimum Middleware Swappable Middleware

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 25: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 25A Survey of Adaptive Middleware by S. M. Sadjadi

Swappable MiddlewareSwappable MiddlewareOvervieOverview:w:

Embedded

QoS-Oriented

Dependable

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

EmbeddedJava architecture [18].

ZEN architecture [19].

EmbeddedJava– Sun Microsystems

Classification– Host-infra. layer– Customizable MW– Minimum MW

ZEN– Schmidt et al.

Classification– Distribution layer– Configurable and

Tunable MW– Swappable MW

Page 26: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 26A Survey of Adaptive Middleware by S. M. Sadjadi

AgendaAgenda

Big Picture

Background

Motivation

Key Paradigms

Taxonomy

Examples

Big Picture

OvervieOverview:w:

Conclusion

Motivation

Background

Key Paradigms

Taxonomy

Examples

Conclusion

Page 27: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 27A Survey of Adaptive Middleware by S. M. Sadjadi

Application Domain & MW Application Domain & MW LayersLayers

Embedded Middleware– All-in-one vs. Layered– Common-Services

Domain-Services– Many standards may be proprietary?– Need more attention

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 28: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 28A Survey of Adaptive Middleware by S. M. Sadjadi

Adaptation Type & MW LayersAdaptation Type & MW Layers Hybrid Adaptation Common-Services Layer

– Customizable, Tunable, Mutable Mutable Middleware

– Very powerful– Safe adaptation

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 29: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 29A Survey of Adaptive Middleware by S. M. Sadjadi

Key Paradigms and StandardsKey Paradigms and Standards Computational

Reflection Component-

Based Design Aspect-

Oriented Programming

Software-Design Patterns

Reliable- Communication Middleware

CORBA Java RMI DCOM

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 30: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 30A Survey of Adaptive Middleware by S. M. Sadjadi

Conclusion and Future WorkConclusion and Future Work 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

Conclusion

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Page 31: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 31A Survey of Adaptive Middleware by S. M. Sadjadi

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

OvervieOverview:w:Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion

Page 32: A Survey of Adaptive Middleware

PhD Qualifier Exam. on July 24, 2003 32A Survey of Adaptive Middleware by S. M. Sadjadi

Questions?

OvervieOverview:w:

Thank you!

Motivation

Background

Key Paradigms

Taxonomy

Examples

Big Picture

Conclusion