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