Download presentation
Presentation is loading. Please wait.
Published byFrederica Marsh Modified over 9 years ago
1
PhD Qualifier Oral Exam. on Thursday, July 24, 2003 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
2
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 2 Agenda Motivation Background Key Paradigms Taxonomy Examples Big Picture Key Paradigms Background Motivation Taxonomy ExamplesOverview: Big Picture Conclusion
3
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 3 Motivation 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 Overview: Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
4
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 4 Background Traditional Middleware –connectivity software –below application and above operation system layer –provides high-level programming abstractions Middleware Classification by Emmerich [1] Motivation BackgroundOverview: Taxonomy OO MW Traditional Middleware Message-Oriented Middleware Transactional Middleware Procedural Middleware Object-Oriented Middleware Object-Oriented Middleware Java RMI CORBA DCOM Key Paradigms Taxonomy Examples Big Picture Conclusion
5
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 5 CORBA 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. BackgroundOverview: 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
6
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 6 Java 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! BackgroundOverview: OO MW Taxonomy Motivation Key Paradigms Taxonomy Examples Big Picture Conclusion
7
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 7 Agenda Key Paradigms Background Motivation Taxonomy Examples Big Picture Key ParadigmsOverview: Conclusion Motivation Background Taxonomy Examples Big Picture Conclusion
8
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 8 Computational 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 ParadigmsOverview: 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
9
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 9 Component-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 Overview: CBD Reflection AOP Patterns Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion Independent Components
10
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 10 Aspect-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 Overview: AOP CBD Reflection Patterns AOP in action. Aspect Basic Functionality Aspect Language Aspect Weaver Static Dynamic Woven Code Basic Functionality Cross-Cutting Aspects Aspect Weaver Woven Code Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
11
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 11 Software 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 Overview: Patterns CBD AOP Reflection Class diagram. Façade Wrapper Interceptor Strategy Service Configurator Virtual Component Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
12
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 12 Agenda Taxonomy Background Motivation Key Paradigms Examples Big Picture TaxonomyOverview: Conclusion Motivation Background Key Paradigms Examples Big Picture Conclusion
13
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 13 Kernel Application Distribution Common-Services Host-Infrastructure Domain-Services Middleware Layers kernel boundary process boundary layer boundary Middleware 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 TaxonomyOverview: 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.
14
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 14 Adaptation 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. TaxonomyOverview: Adaptation Type MW Layers App. Domain Development Time Adaptive Middleware Static Middleware CustomizableConfigurableTunableMutable Compile TimeStartup TimeRun 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.
15
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 15 Application 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 TaxonomyOverview: 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.
16
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 16 Agenda Examples Background Motivation Key Paradigms Taxonomy Big Picture ExamplesOverview: Conclusion Motivation Background Key Paradigms Taxonomy Big Picture Conclusion
17
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 17 QoS-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 Overview: QoS-Oriented Dependable Embedded Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
18
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 18 Real-Time Middleware Overview: QoS-Oriented Dependable Embedded TAO –Schmidt et al. –CORBA compliant ORB Classification –Distribution layer –Configurable and Tunable MW –Real-time MW TAO Architecture [9]. Servant1ConfiguratorServant2Configurator 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
19
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 19 Stream-Oriented Middleware Open-ORB –Lancaster University –ORB-wide reflection Overview: QoS-Oriented Dependable Embedded Open-ORB explicit binding [11]. 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
20
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 20 Aspect-Oriented Middleware Overview: QoS-Oriented Dependable Embedded QuO [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
21
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 21 Dependable 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 Overview: Dependable QoS-Oriented Embedded Dependable Middleware Fault-Tolerant Middleware Reliable-Communication Middleware Load-Balancer Middleware Fault-Tolerant Approaches in Middleware ServiceORB-Interception IntegrationReflectionOS-Interception Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
22
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 22 Reliable Middleware Overview: 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
23
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 23 Fault-Tolerance Middleware Overview: Dependable QoS-Oriented Embedded TCP/IP Unmodified CORBA ORB or Java Virtual Machine Eternal Interceptor Eternal Replication Mechanisms Totem Platform I IOP Interface Application Object Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion Client Proxy 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
24
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 24 Embedded 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 Overview: Embedded QoS-Oriented Dependable Embedded Middleware Minimum MiddlewareSwappable Middleware Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
25
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 25 Swappable Middleware Overview: 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
26
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 26 Agenda Big Picture Background Motivation Key Paradigms Taxonomy Examples Big PictureOverview: Conclusion Motivation Background Key Paradigms Taxonomy Examples Conclusion
27
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 27 Application Domain & MW Layers Embedded Middleware –All-in-one vs. Layered –Common-Services Domain-Services –Many standards may be proprietary? –Need more attention Overview: Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
28
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 28 Adaptation Type & MW Layers Hybrid Adaptation Common-Services Layer –Customizable, Tunable, Mutable Mutable Middleware –Very powerful –Safe adaptation Overview: Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
29
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 29 Key Paradigms and Standards Computational Reflection Component- Based Design Aspect- Oriented Programming Software- Design Patterns Reliable- Communication Middleware CORBA Java RMI DCOM Overview: Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
30
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 30 Conclusion 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 ConclusionOverview: Motivation Background Key Paradigms Taxonomy Examples Big Picture
31
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 31 References [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. Overview: Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
32
PhD Qualifier Exam. on July 24, 2003A Survey of Adaptive Middleware by S. M. Sadjadi 32 Questions? Overview: Thank you! Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.