Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.

Similar presentations


Presentation on theme: "Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008."— Presentation transcript:

1 Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008

2 2 Outline Motivation Background Key Paradigms Taxonomy Examples Key Paradigms Background Motivation Taxonomy ExamplesOverview: Conclusion

3 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  Reflective and Adaptive Middleware –addresses all three problems –still ongoing research Overview: Motivation Background Key Paradigms Taxonomy Examples Conclusion

4 4 Background  Traditional Middleware  Middleware Classification by Emmerich [1] Motivation BackgroundOverview: Traditional Middleware Message-Oriented Middleware Transactional Middleware Procedural Middleware Object-Oriented Middleware Object-Oriented Middleware Java RMI CORBA DCOM Key Paradigms Taxonomy Examples Conclusion

5 5 Computational Reflection  The ability of a program to reason about, and possibly alter, its own behavior  Enables a system to “open up” its implementation details for such analysis without revealing the unnecessary parts or compromising portability.  Terminology Key ParadigmsOverview: Reflection Relationship between meta-level and base-level objects  Base-level  Meta-level  Reification  MOP Motivation Background Taxonomy Examples Conclusion Base Level Meta Level Meta Object Protocols

6 6 Why Reflective Middleware?  Wireless communication, mobile computing and real-time applications demand –High adaptability  dynamic customization of systems, services and communication protocols –Safe flexibility  constrain composition of services and protocols in order to prevent functional interference that could lead to an inconsistent state of the system  required to protect the system from security threats and failure –Cost-effective QoS guarantees Key ParadigmsOverview: Reflection Motivation Background Taxonomy Examples Conclusion

7 7 Reflection  Provides a plug-and-play environment for enabling run-time modification of policies  An efficient technique to build composable middleware  Features –Separation of concerns –Flexibility, Adaptability –Composition  Implies concurrent execution of multiple resource management policies Key ParadigmsOverview: Reflection Motivation Background Taxonomy Examples Conclusion

8 Reflection & Reification  Reflection –Behavioral reflection –Structural reflection  Metaobject protocol –reflection + object-oriented programming Meta-level Base-level Reification Reflection Key ParadigmsOverview: Reflection Motivation Background Taxonomy Examples Conclusion

9 Reification  What can you reify? –Structural reflection: the models of your program (MDA), the structure of structured files (e.g. XML DTDs), the classes of a program, the code of a program (AST), the object structures (rarely), the bytecode of a class.  at design-time, compile-time, at load-time, or at runtime. –Behavioral reflection: the object behavior (e.g. when they change states), the interaction between the objects (e.g. when a client invokes a remote object, when an invocation arrives on an object).  at runtime, (design-time, compile time – partial reification). Key ParadigmsOverview: Reflection Motivation Background Taxonomy Examples Conclusion

10 10 Outline Taxonomy Background Motivation Key Paradigms Examples TaxonomyOverview: Conclusion Motivation Background Key Paradigms Examples Big Picture Conclusion

11 11 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 decomposed middleware into four layers: Motivation Background Key Paradigms Examples Conclusion Middleware layers [8] Note: an adaptive middleware project may fall in more than one layer.

12 12 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 Conclusion Note: an adaptive middleware project may provide more that one adaptation.

13 13 Application Domain  QoS-Oriented Middleware –supports real-time and multimedia applications –Example:  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 Conclusion Note: there is a lot of overlap among these groups.

14 Outline Examples Background Motivation Key Paradigms Taxonomy ExamplesOverview: Conclusion Motivation Background Key Paradigms Taxonomy Conclusion

15 QoS-Oriented Middleware  Reflection-Oriented Middleware –Computational reflection is the primary focus QoS-Oriented Middleware Stream-Oriented Middleware Real-Time Middleware Reflection-Oriented Middleware Aspect-Oriented Middleware Overview: QoS-Oriented TLAM Motivation Background Key Paradigms Taxonomy Examples Conclusion

16 TLAM Overview: TLAM QoS-Oriented Motivation Background Key Paradigms Taxonomy Examples Conclusion  Core services allow to isolate complex interactions -- useful for managing composition of services Distributed Snapshot Remote Creation Directory Services Replication Migration DGC Check- pointing Access Control System (Meta) Level Application (Base) Level  Two Level Meta Architecture (TLAM)

17 Reflective middleware framework – CompOSE|Q Remote Creation Remote Creation Distributed Snapshot Distributed Snapshot Directory Services Directory Services QoS Broker QoS Broker Migration Replication Request Mgmt Data Mgmt Message Scheduling Request Scheduling Data Placement De-replication Clock Sync Interaction with Core Services Core Services Application Objects TLAM QoS-Oriented Motivation Background Key Paradigms Taxonomy Examples Conclusion

18 Conclusion and Future Work  Conclusion –A classification for traditional middleware –Supporting paradigms for reflection –A taxonomy of adaptive middleware  Future Work –Domain-services middleware –Common-services middleware –Embedded middleware –Mutable middleware  Safe adaptation –Higher-level paradigms ConclusionOverview: Motivation Background Key Paradigms Taxonomy Examples

19 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] Nalini Venkatasubramanian, CompOSE|Q – A QoS enabaled Customizable Middleware Framework for Distributed Computing., Distributed Middleware Workshop, Proceedings of the IEEE Intl. Conference on Distributed Computing Systems (ICDCS '99), June 1999. Overview: Motivation Background Key Paradigms Taxonomy Examples Conclusion

20 Overview: Thank you! Motivation Background Key Paradigms Taxonomy Examples Conclusion


Download ppt "Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008."

Similar presentations


Ads by Google