1 / 32

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. Agenda. Overview:. Motivation. Motivation. Background.

cree
Download Presentation

A Survey of Adaptive Middleware

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. Agenda Overview: Motivation Motivation Background Background Key Paradigms Taxonomy Examples Key Paradigms Big Picture Conclusion Taxonomy Examples Big Picture Conclusion

  3. Motivation Overview: • 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 Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion

  4. Traditional Middleware Object-Oriented Middleware Message-Oriented Middleware Java RMI Procedural Middleware Object-Oriented Middleware DCOM Transactional Middleware CORBA Background Overview: • Traditional Middleware • connectivity software • below application and above operation system layer • provides high-level programming abstractions • Middleware Classification by Emmerich [1] Motivation Background Taxonomy OO MW Key Paradigms Taxonomy Examples Big Picture Conclusion

  5. CORBA Overview: • 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. Motivation Background Taxonomy OO MW Key Paradigms Taxonomy Examples • Components • Object • Servant • Client • IDL Compiler • Stub • Skeleton • ORB Core • GIOP/IIOP Big Picture Conclusion CORBA architecture [2].

  6. Java RMI & DCOM Overview: • 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! Motivation Background Taxonomy OO MW Key Paradigms Taxonomy Examples Big Picture Conclusion

  7. Agenda Overview: Motivation Motivation Background Background Key Paradigms Taxonomy Examples Key Paradigms Big Picture Conclusion Taxonomy Examples Big Picture Conclusion

  8. Meta Level Meta Object Protocols Base Level Computational Reflection Overview: • 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 Motivation Background Key Paradigms Reflection CBD AOP Patterns • Base-level • Meta-level • MOP • Casually connected • Per-ORB, per-class, per-object, and per-interface reflection Taxonomy Examples Big Picture Conclusion Relationship between meta-level and base-level objects.

  9. Component-Based Design Overview: • 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 Motivation Background Key Paradigms Reflection CBD AOP Patterns Taxonomy Examples Big Picture Conclusion Independent Components

  10. Aspect-Oriented Programming Overview: • 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 Motivation Background Key Paradigms Reflection CBD AOP Basic Functionality Cross-Cutting Aspects Patterns • Aspect • Basic Functionality • Aspect Language • Aspect Weaver • Static • Dynamic • Woven Code Taxonomy Examples Big Picture Conclusion Aspect Weaver Woven Code AOP in action.

  11. Software Design Patterns Overview: • 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 Motivation Background Key Paradigms Reflection CBD AOP • Façade • Wrapper • Interceptor • Strategy • Service Configurator • Virtual Component Patterns Taxonomy Examples Big Picture Conclusion Class diagram.

  12. Agenda Overview: Motivation Motivation Background Background Key Paradigms Taxonomy Examples Key Paradigms Big Picture Conclusion Taxonomy Examples Big Picture Conclusion

  13. kernel boundary process boundary layer boundary Application Domain-Services Common-Services Distribution Host-Infrastructure Kernel Middleware Layers Overview: • Schmidt [8] decomposed middleware into four 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 Motivation Background Key Paradigms Taxonomy MW Layers Adaptation Type App. Domain Examples Middleware Layers Big Picture Conclusion Note: an adaptive middleware project may fall in more than one layer. Middleware layers [8]

  14. Adaptive Middleware Static Middleware Dynamic Middleware Adaptation Type Customizable Configurable Tunable Mutable Application Lifetime Development Time Compile Time Startup Time Run Time Adaptation Type Overview: • 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. Motivation Background Key Paradigms Taxonomy MW Layers Adaptation Type App. Domain Examples Big Picture Conclusion Note: an adaptive middleware project may provide more that one adaptation.

  15. Adaptive Middleware Embedded Middleware QoS-Oriented Middleware Dependable Middleware Application Domain Overview: • 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 Motivation Background Key Paradigms Taxonomy MW Layers Adaptation Type App. domain Examples Big Picture Conclusion Note: there is a lot of overlap among these groups.

  16. Agenda Overview: Motivation Motivation Background Background Key Paradigms Taxonomy Examples Key Paradigms Big Picture Conclusion Taxonomy Examples Big Picture Conclusion

  17. QoS-Oriented Middleware Stream-Oriented Middleware Reflection-Oriented Middleware Aspect-Oriented Middleware Real-Time Middleware QoS-Oriented Middleware Overview: • 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 Motivation Background Key Paradigms Taxonomy Examples QoS-Oriented Dependable Embedded Big Picture Conclusion

  18. Servant1Configurator Servant2Configurator ConcurrencyStrategy SchedulingStrategy TAOConfigurator SecurityStrategy MonitoringStrategy DomainConfigurator Real-Time Middleware Overview: • TAO • Schmidt et al. • CORBA compliant ORB • Classification • Distribution layer • Configurable and Tunable MW • Real-time MW Motivation Background Key Paradigms Taxonomy Examples QoS-Oriented Dependable Embedded TAO Architecture [9]. Big Picture • DynamicTAO • UIUC • A reflective TAO • Classification • Distribution layer • Tunable MW • Real-time MW Conclusion Reified DynamicTAO [10].

  19. Video MPEG RTP RTP MPEG Video UDP/IP Binding Source encoder sender receiver decoder Render Data RTP: Real-time transport protocol. Delay H.263 buffer encoder Stream-Oriented Middleware • Classification • Distribution layer • Mutable MW Overview: • Open-ORB • Lancaster University • ORB-wide reflection Motivation Background Key Paradigms Taxonomy Examples QoS-Oriented Dependable Open-ORB explicit binding [11]. Embedded Big Picture • Squirrel over Infopipes • University of Kaiserslautern • Classification • Distribution layer • Customizable and Tunable MW Conclusion Squirrel over Infopipes [12].

  20. get_aspect() get_aspects() set of aspects specific configuration object set_aspect() set_aspects() Aspect-Oriented Middleware Overview: • QuO • BBN Technologies • Classification • Common-services layer • Customizable MW • Aspect-oriented MW • Static AOP Motivation Background Key Paradigms Taxonomy Examples QoS-Oriented Dependable Embedded QuO [13]. Big Picture • AspectIX • University of Erlangen-Nürnberg • Classification • Distribution layer • Tunable MW • Aspect-oriented MW • Dynamic AOP Conclusion Dynamic weaving of aspects in AspectIX [14].

  21. Fault-Tolerant Approaches in Middleware Integration OS-Interception Reflection Service ORB-Interception Dependable Middleware Dependable Middleware Overview: • 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 Motivation Background Fault-Tolerant Middleware Load-Balancer Middleware Reliable-Communication Middleware Key Paradigms Taxonomy Examples QoS-Oriented Dependable Embedded Big Picture Conclusion

  22. Reliable Middleware • Racks • University of Wisconsin • Classification • Common-services layer • Configurable MW • Reliable-commu. MW Overview: • Rocks • University of Wisconsin • Classification • Host-infra. layer • Configurable MW • Reliable-commu. MW Motivation Background Key Paradigms Taxonomy Examples QoS-Oriented Dependable Embedded Big Picture Conclusion Racks architecture [15]. Rocks architecture [15].

  23. Client Proxy Client Request PI Client and Proxy ORB Application Object Unmodified CORBA ORB or Java Virtual Machine I IOP Interface Eternal Replication Mechanisms Eternal Interceptor Totem TCP/IP Platform Fault-Tolerance Middleware Overview: • IRL • Baldoni et al. • Classification • Common-services layer • Configurable MW • Fault-Tolerant MW Motivation Background Key Paradigms Taxonomy Examples IRL architecture [16]. QoS-Oriented Dependable Embedded • Eternal • UCSB and Eternal Systems • Classification • Host-infra. layer • Configurable MW • Fault-Tolerant MW Big Picture Conclusion Eternal architecture [17].

  24. Embedded Middleware Minimum Middleware Swappable Middleware Embedded Middleware Overview: • 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 Motivation Background Key Paradigms Taxonomy Examples QoS-Oriented Dependable Embedded Big Picture Conclusion

  25. Swappable Middleware Overview: • EmbeddedJava • Sun Microsystems • Classification • Host-infra. layer • Customizable MW • Minimum MW Motivation Background Key Paradigms Taxonomy Examples QoS-Oriented Dependable EmbeddedJava architecture [18]. Embedded Big Picture • ZEN • Schmidt et al. • Classification • Distribution layer • Configurable and Tunable MW • Swappable MW Conclusion ZEN architecture [19].

  26. Agenda Overview: Motivation Motivation Background Background Key Paradigms Taxonomy Examples Key Paradigms Big Picture Conclusion Taxonomy Examples Big Picture Conclusion

  27. Application Domain & MW Layers Overview: • Embedded Middleware • All-in-one vs. Layered • Common-Services • Domain-Services • Many standards may be proprietary? • Need more attention Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion

  28. Adaptation Type & MW Layers Overview: • Hybrid Adaptation • Common-Services Layer • Customizable, Tunable, Mutable • Mutable Middleware • Very powerful • Safe adaptation Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion

  29. Key Paradigms and Standards Overview: • Computational Reflection • Component-Based Design • Aspect-Oriented Programming • Software-Design Patterns • Reliable- Communication Middleware • CORBA • Java RMI • DCOM Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion

  30. Conclusion and Future Work Overview: • 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 Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion

  31. References Overview: [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. Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion

  32. Overview: Questions? Motivation Background Key Paradigms Taxonomy Examples Big Picture Conclusion Thank you!

More Related