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

Slides:



Advertisements
Similar presentations
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Advertisements

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
PAGIS: An Architecture for Programming on the Grid Andrew Wendelborn Distributed & High Performance Computing Group Department of Computer Science, University.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
The road to reliable, autonomous distributed systems
1 Assessing Contemporary Modularization Techniques for Middleware Specialization Akshay Dabholkar & Aniruddha Gokhale OOPSLA ACoM.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
19/02/2004 Slide 1 Internal Presentation by : Sergio Maffioletti Pervasive and Artificial Intelligenge research group On : « The.
Distributed Systems Architectures
A Reflective Middleware Framework for Communication in Dynamic Environments Sebastian Gutierrez-Nolasco and Nalini Venkatasubramanian University of California,
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Distributed Service Architectures Yitao Duan 03/19/2002.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Grids and Grid Technologies for Wide-Area Distributed Computing Mark Baker, Rajkumar Buyya and Domenico Laforenza.
Ch 12 Distributed Systems Architectures
Software Engineering and Middleware A Roadmap Author: Wolfgang Emmerich Presented by: Sam Malek.
Communication in Distributed Systems –Part 2
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
PhD Qualifier Oral Exam. on Thursday, July 24, 2003 A Survey of Adaptive Middleware SeyedMasoud Sadjadi Software Engineering.
Marco Blumendorf I July 21th, 2009 Towards a Model-Based Framework for the Development of Adaptive Multimodal User Interfaces.
1 Assessing Contemporary Modularization Techniques for Middleware Specialization Akshay Dabholkar & Aniruddha Gokhale OOPSLA ACoM.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
Secure Systems Research Group - FAU Aspects and mobile applications Sergio Soares Paulo Borba, “PaDA: A Pattern for Distribution Aspects” In Second Latin.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Mobile Agent Technology for the Management of Distributed Systems - a Case Study Claudia Raibulet& Claudio Demartini Politecnico di Torino, Dipartimento.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
International Symposium on Distributed Objects and Applications (DOA 2002) MetaSockets MetaSockets Run-Time Support for Adaptive Communication Services.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB Fabio Kon, Manuel Roman, Ping Liu, Jina Mao, Tomonori Yamane, Luiz C.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Shuman Guo CSc 8320 Advanced Operating Systems
CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi Software Engineering and Networking Systems Laboratory Department of.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
ENABLING ADAPTABILITY IN COMPOSITE SERVICES USING TRANSPARENT SHAPING TECHNIQUES Onyeka Ezenwoye Autonomic Computing Research Laboratory School of Computing.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Jim Dowling, DSG. Introduction to Reflection1 Reflection and the Metaobject Protocol paradigm by Jim Dowling.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
CEN-4015, Software Project, Spring 2006 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi Autonomic.
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
The Role of Reflection in Next Generation Middleware
Reflective- Adaptive Middleware
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Inventory of Distributed Computing Concepts
Quality Assurance for Component-Based Software Development
Presentation transcript:

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

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

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 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 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 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 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

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

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 Outline Taxonomy Background Motivation Key Paradigms Examples TaxonomyOverview: Conclusion Motivation Background Key Paradigms Examples Big Picture Conclusion

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 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 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.

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

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

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)

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

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

References [1] Wolfgang Emmerich. Software engineering and middleware: a roadmap. In Proceedings of the Conference on The future of Software engineering, pages , [2] [3] Pattie Maes. Concepts and experiments in computational reflection. In Proceedings of the ACM Conference on Object-Oriented Languages (OOPSLA), December [4] G. Kiczales, J. d. Rivieres, and D. G. Bobrow. The Art of Metaobject Protocols. MIT Press, [5] Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, [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, [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 [8] Douglas C. Schmidt. Middleware for real-time and embedded systems. Communications of the ACM, 45(6), June [9] D. C. Schmidt, D. L. Levine, and S. Mungee. The design of the TAO real-time object request broker. Computer Communications, 21(4): , April [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 [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 [12] R. Koster. A Middleware Platform for Information Flows. PhD thesis, Department of Computer Science, University of Kaiserslautern, Germany, July [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), [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 Overview: Motivation Background Key Paradigms Taxonomy Examples Conclusion

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