Presentation is loading. Please wait.

Presentation is loading. Please wait.

PhD Qualifier Oral Exam. on Thursday, July 24, 2003 A Survey of Adaptive Middleware SeyedMasoud Sadjadi www.cse.msu.edu/~sadjadis Software Engineering.

Similar presentations


Presentation on theme: "PhD Qualifier Oral Exam. on Thursday, July 24, 2003 A Survey of Adaptive Middleware SeyedMasoud Sadjadi www.cse.msu.edu/~sadjadis Software Engineering."— Presentation transcript:

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


Download ppt "PhD Qualifier Oral Exam. on Thursday, July 24, 2003 A Survey of Adaptive Middleware SeyedMasoud Sadjadi www.cse.msu.edu/~sadjadis Software Engineering."

Similar presentations


Ads by Google