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 PhD Qualifier Oral Exam. on Thursday, July 24, 2003 Agenda Overview: Motivation Background Key Paradigms Motivation Background Taxonomy Examples Big Picture Key Paradigms Conclusion Taxonomy Examples Big Picture Conclusion A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 2 Motivation Overview: Motivation Problem – complexity of interprocess communication – heterogeneity of platforms – changing conditions Background Key Paradigms Taxonomy Examples Big Picture Conclusion 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 A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 3 Background Overview: Motivation – connectivity software – below application and above operation system layer – provides high-level programming abstractions Background Taxonomy OO MW Key Paradigms Taxonomy Traditional Middleware Middleware Classification by Emmerich [1] Examples Traditional Middleware Big Picture Conclusion Transactional Middleware Message-Oriented Middleware Procedural Middleware Object-Oriented Middleware Object-Oriented Middleware CORBA Java RMI A Survey of Adaptive Middleware by S. M. Sadjadi DCOM PhD Qualifier Exam. on July 24, 2003 4 CORBA Overview: Motivation – 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 Taxonomy OO MW Key Paradigms Taxonomy Examples Big Picture Conclusion CORBA Components Object Servant Client IDL Compiler Stub Skeleton ORB Core GIOP/IIOP CORBA architecture [2]. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 5 Java RMI & DCOM Overview: Motivation – 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. Background Taxonomy OO MW Key Paradigms Taxonomy Examples Big Picture Conclusion Java RMI 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! A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 6 Agenda Overview: Motivation Background Key Paradigms Motivation Background Taxonomy Examples Big Picture Key Paradigms Conclusion Taxonomy Examples Big Picture Conclusion A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 7 Computational Reflection Overview: Motivation Background Key Paradigms Reflection CBD AOP Patterns Taxonomy Examples Big Picture Conclusion 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 Base-level Meta-level MOP Casually connected Per-ORB, per-class, per-object, and perinterface reflection Meta Level Meta Object Protocols Base Level Relationship between meta-level and base-level objects. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 8 Component-Based Design Overview: Motivation – Software units that can be independently produced, deployed, and composed by third parties [5]. – Self-contained – Commodity-of-the-shelf (COTS) Background Key Paradigms Reflection CBD AOP Patterns Software components Component-based design (CBD) – large scale reuse of software – Composition Taxonomy Examples Big Picture Conclusion late binding Component-Based Middleware – DCOM – EJB – CCM Independent Components A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 9 Aspect-Oriented Programming Overview: Motivation Background Key Paradigms 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. Reflection CBD AOP Patterns Taxonomy Examples Big Picture Conclusion Terminology Aspect Basic Functionality Aspect Language Aspect Weaver Static Dynamic Woven Code Basic Functionality Cross-Cutting Aspects Aspect Weaver Woven Code AOP in action. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 10 Software Design Patterns Overview: Motivation Background – common vocabulary for communicating insight and experience about recurring problems Key Paradigms Reflection CBD AOP Patterns Taxonomy Examples Big Picture Conclusion Enables reuse of best software design practices [7]. Benefits Patterns commonly used in adaptive middleware Façade Wrapper Interceptor Strategy Service Configurator Virtual Component Class diagram. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 11 Agenda Overview: Motivation Background Key Paradigms Motivation Background Taxonomy Examples Big Picture Key Paradigms Conclusion Taxonomy Examples Big Picture Conclusion A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 12 Middleware Layers Overview: Background Key Paradigms Taxonomy Schmidt [8] decomposed middleware into four layers: – Domain-Services MW Layers Adaptation Type App. Domain Examples Tailored to a specific class of distributed applications – Common-Services Big Picture Conclusion Functionality such as fault tolerance, security, load balancing and transactions – Distribution Programming-language abstraction – Host-Infrastructure Application Platform-abstraction Note: an adaptive middleware project may fall in more than one layer. A Survey of Adaptive Middleware by S. M. Sadjadi Domain-Services Middleware Layers Motivation Common-Services Distribution Host-Infrastructure Kernel kernel boundary process boundary layer boundary Middleware layers [8] PhD Qualifier Exam. on July 24, 2003 13 Adaptation Type Overview: Adaptive Middleware Motivation Static Middleware Background Key Paradigms Taxonomy Development Time Customizable Configurable Compile Time Startup Time Dynamic Middleware Tunable Mutable Run Time Adaptation Type Application Lifetime MW Layers Adaptation Type Static Middleware – Customizable Middleware App. Domain Examples Big Picture Enables developers to compile (and link) customized versions of applications. – Configurable Middleware Conclusion 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. Note: an adaptive middleware project may provide more that one adaptation. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 14 Application Domain Overview: Adaptive Middleware Motivation Background QoS-Oriented Middleware Dependable Middleware Embedded Middleware Key Paradigms Taxonomy MW Layers – supports real-time and multimedia applications – Example: Adaptation Type App. domain Examples QoS-Oriented Middleware Big Picture avionics systems, video conferencing and Internet telephony Dependable Middleware – supports critical distributed applications that are required to be correctly operational – Example: Conclusion military command and control and medical applications Embedded Middleware – supports small footprints – Examples: smart phones, hand-held devices, and industrial controllers Note: there is a lot of overlap among these groups. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 15 Agenda Overview: Motivation Background Key Paradigms Motivation Background Taxonomy Examples Big Picture Key Paradigms Conclusion Taxonomy Examples Big Picture Conclusion A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 16 QoS-Oriented Middleware Overview: QoS-Oriented Middleware Motivation Background Key Paradigms Real-Time Middleware Stream-Oriented Middleware Reflection-Oriented Middleware Aspect-Oriented Middleware Taxonomy Examples QoS-Oriented – Required to meet the deadlines defined by real-time applications – Hard and soft real-time middleware Dependable Embedded Big Picture Conclusion 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 A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 17 Real-Time Middleware Overview: Motivation – Schmidt et al. – CORBA compliant ORB Background Key Paradigms Taxonomy TAO Classification – Distribution layer – Configurable and Tunable MW – Real-time MW Examples QoS-Oriented Dependable Embedded TAO Architecture [9]. Big Picture Conclusion DynamicTAO – UIUC – A reflective TAO Servant1Configurator Classification – Distribution layer – Tunable MW – Real-time MW Servant2Configurator ConcurrencyStrategy SchedulingStrategy TAOConfigurator SecurityStrategy MonitoringStrategy DomainConfigurator Reified DynamicTAO [10]. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 18 Stream-Oriented Middleware Overview: Open-ORB Classification – Distribution layer – Mutable MW – Lancaster University – ORB-wide reflection Motivation Background Key Paradigms Taxonomy Video Source MPEG encoder RTP sender UDP/IP Binding RTP receiver MPEG decoder Video Render Examples Data QoS-Oriented H.263 encoder Dependable Embedded RTP: Real-time transport protocol. Delay buffer Open-ORB explicit binding [11]. Big Picture Conclusion Squirrel over Infopipes – University of Kaiserslautern Classification – Distribution layer – Customizable and Tunable MW Squirrel over Infopipes [12]. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 19 Aspect-Oriented Middleware Overview: Motivation Background Key Paradigms QuO – BBN Technologies Taxonomy Examples QoS-Oriented Dependable Classification – Common-services layer – Customizable MW – Aspect-oriented MW Embedded Static AOP QuO [13]. Big Picture Conclusion AspectIX – University of ErlangenNürnberg get_aspects() set of aspects Classification – Distribution layer – Tunable MW – Aspect-oriented MW Dynamic AOP specific configuration object set_aspects() Dynamic weaving of aspects in AspectIX [14]. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 20 Dependable Middleware Overview: Dependable Middleware Motivation Background Key Paradigms Reliable-Communication Middleware Fault-Tolerant Middleware Load-Balancer Middleware Taxonomy Examples – provides reliable communication services – residing at the host-infrastructure layer QoS-Oriented Dependable Embedded Big Picture Reliable Communication Middleware Fault-Tolerant Middleware – continue operating in the presence of faults Conclusion Load-Balancer Middleware – continue operation even in the presence of high load Fault-Tolerant Approaches in Middleware Integration Service OS-Interception ORB-Interception A Survey of Adaptive Middleware by S. M. Sadjadi Reflection PhD Qualifier Exam. on July 24, 2003 21 Reliable Middleware Overview: Key Paradigms Taxonomy Examples – University of Wisconsin Motivation Background Rocks Classification Racks – University of Wisconsin – Host-infra. layer – Configurable MW – Reliable-commu. MW Classification – Common-services layer – Configurable MW – Reliable-commu. MW QoS-Oriented Dependable Embedded Big Picture Conclusion Rocks architecture [15]. A Survey of Adaptive Middleware by S. M. Sadjadi Racks architecture [15]. PhD Qualifier Exam. on July 24, 2003 22 Fault-Tolerance Middleware Overview: Motivation Classification – Common-services layer – Configurable MW – Fault-Tolerant MW Taxonomy Examples QoS-Oriented Dependable Proxy Client Request PI Client and Proxy ORB IRL architecture [16]. Application Object Embedded Big Picture Client – Baldoni et al. Background Key Paradigms IRL Eternal – UCSB and Eternal Systems Conclusion Classification – Host-infra. layer – Configurable MW – Fault-Tolerant MW Unmodified CORBA ORB or Java Virtual Machine I IOP Interface Eternal Eternal Replication Interceptor Mechanisms TCP/IP Totem Platform A Survey of Adaptive Middleware by S. M. Sadjadi Eternal architecture [17]. PhD Qualifier Exam. on July 24, 2003 23 Embedded Middleware Overview: Embedded Middleware Motivation Background Minimum Middleware Key Paradigms Swappable Middleware Taxonomy Examples Minimum Middleware – Enables minimum footprint applications – For a specific application-domain QoS-Oriented Dependable Embedded Big Picture Fixed minimum core – For one specific application Conclusion No fixed core Swappable Middleware – Enables optional portions of middleware to swap in and out dynamically – Fixed minimum core A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 24 Swappable Middleware Overview: Motivation – Sun Microsystems Background Key Paradigms EmbeddedJava Classification – Host-infra. layer – Customizable MW – Minimum MW Taxonomy Examples QoS-Oriented Dependable Embedded EmbeddedJava architecture [18]. Big Picture Conclusion ZEN – Schmidt et al. Classification – Distribution layer – Configurable and Tunable MW – Swappable MW ZEN architecture [19]. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 25 Agenda Overview: Motivation Background Key Paradigms Motivation Background Taxonomy Examples Big Picture Key Paradigms Conclusion Taxonomy Examples Big Picture Conclusion A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 26 Application Domain & MW Layers Overview: Motivation – All-in-one vs. Layered – Common-Services Background Key Paradigms Taxonomy Examples Big Picture Conclusion Embedded Middleware Domain-Services – Many standards may be proprietary? – Need more attention A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 27 Adaptation Type & MW Layers Overview: Motivation Background Key Paradigms – Customizable, Tunable, Mutable Taxonomy Examples Big Picture Conclusion Hybrid Adaptation Common-Services Layer Mutable Middleware – Very powerful – Safe adaptation A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 28 Key Paradigms and Standards Overview: Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion Computational Reflection ComponentBased Design AspectOriented Programming SoftwareDesign Patterns ReliableCommunication Middleware CORBA Java RMI DCOM A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 29 Conclusion and Future Work Overview: Motivation – – – – Background Key Paradigms Taxonomy Examples Big Picture Conclusion 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 A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 30 References Overview: Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion [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 ObjectOriented 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). SpringerVerlag 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. A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 31 Overview: Motivation Background Key Paradigms Taxonomy Examples Big Picture Questions? Conclusion Thank you! A Survey of Adaptive Middleware by S. M. Sadjadi PhD Qualifier Exam. on July 24, 2003 32