19/02/2004 Slide 1 Internal Presentation by : Sergio Maffioletti Pervasive and Artificial Intelligenge research group On : « The.

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Remote Procedure Call Design issues Implementation RPC programming
PAGIS: An Architecture for Programming on the Grid Andrew Wendelborn Distributed & High Performance Computing Group Department of Computer Science, University.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Classes & Objects Computer Science I Last updated 9/30/10.
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Dynamic adaptation of parallel codes Toward self-adaptable components for the Grid Françoise André, Jérémy Buisson & Jean-Louis Pazat IRISA / INSA de Rennes.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Object-Oriented Databases
Software Requirements
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
An Environmental Multiagent Architecture for Health Management Francesco Amigoni Nicola Gatti.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Multi-Agent System for Online Auctions Jose Manuel Valladares Pernas CIS Master Project - Fall 2004 Advisor: Dr. Haiping Xu.
26th May, Middleware or Simulator for Autonomic Communications Yang Qiu Networking Laboratory Helsinki University of Technology
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
C++ fundamentals.
The chapter will address the following questions:
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
THE NEW ERA OF LIFE. Introduction: Artificial Intelligence (AI) is the area of computer science focusing on creating machines that can engage on behaviors.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Introduction to Data Structures. Definition Data structure is representation of the logical relationship existing between individual elements of data.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 10, 10/30/2003 Prof. Roy Levow.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Andrew S. Budarevsky Adaptive Application Data Management Overview.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
TAL7011 – Lecture 4 UML for Architecture Modeling.
UAB Dynamic Tuning of Master/Worker Applications Anna Morajko, Paola Caymes Scutari, Tomàs Margalef, Eduardo Cesar, Joan Sorribes and Emilio Luque Universitat.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
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.
What is Java? Object Oriented Programming Language Sun Microsystems “Write Once, Run Everywhere” Bytecode and Virtual Machine Java Platform (Java VM and.
Jim Dowling, DSG. Introduction to Reflection1 Reflection and the Metaobject Protocol paradigm by Jim Dowling.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Concurrent Object-Oriented Programming Languages Chris Tomlinson Mark Scheevel.
Systems Analyst (Module V) Ashima Wadhwa. The Systems Analyst - A Key Resource Many organizations consider information systems and computer applications.
Intuitive Rigging Exploring and refining the process of 3D character rigging by building an advanced 3D character animation rig is the essential element.
1 Kyung Hee University Interaction Diagrams Spring 2001.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. SOA-RM Overview and relation with SEE Adrian Mocan
ECE 750 Topic 8 Meta-programming languages, systems, and applications Automatic Program Specialization for J ava – U. P. Schultz, J. L. Lawall, C. Consel.
Of 24 lecture 11: ontology – mediation, merging & aligning.
Software, IEE Proceedings, Vol.152, Num.3, June 2005,Page(s): Prasanthi.S March, Java-based component framework for dynamic reconfiguration.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
A Meta-Object Protocol for Environmental Adaptation in a Grid
The Role of Reflection in Next Generation Middleware
Object-Oriented Analysis and Design
Java Beans Sagun Dhakhwa.
Distribution and components
UML dynamic Modeling (Behavior Diagram)
Chapter 10: Process Implementation with Executable Models
Interactions.
Chapter 20 Object-Oriented Analysis and Design
Introduction to Data Structures
Chapter 7 Software Testing.
Toward an Ontology-Driven Architectural Framework for B2B E. Kajan, L
Designing Scalable Architectures
Presentation transcript:

19/02/2004 Slide 1 Internal Presentation by : Sergio Maffioletti Pervasive and Artificial Intelligenge research group On : « The Case for Reflective Middleware » Building Middleware that is Flexible, Reconfigurable, and yet Simple to Use. Fabio Kon, Fabio Costa, Gordon Blair, Roy H. Campbell Communications of the ACM SPECIAL ISSUE: Adaptive middleware Volume 45, Issue 6 June 2002 Pages:

19/02/2004 Slide 2 Table of content Introduction: What is a Middleware Reflection and Reflective middleware OpenORB Dynamic TAO UbiDev vs. Reflective Middleware

19/02/2004 Slide 3 Middleware is a term that refers to a set of services that reside between the application and the operating system and aim to facilitate the development of distributed applications The main function of middleware is to mask the inherent heterogeneity of distributed systems and provide a standard set of interfaces and services which distributed applications can assume present in any participating language, operating system or machine environment. What is a Middleware

19/02/2004 Slide 4 "Reflective techniques make it possible to open up a language's implementation without revealing unnecessary implementation details or compromising portability". Reflection

19/02/2004 Slide 5 The Puppet Master Metaphor When preparing a story, the puppet designer will conceive a number of puppets playing different characters. To distinguish these characters the puppets will be dressed with different costumes and their faces will be painted. However, for certain kinds of stories, some puppets require special abilities that demand for extra strings to manipulate the special behaviour. A puppet designer that attaches new strings to puppets is a designer that operates on the base level. Finally, the way the strings work together is implemented in the wooden cross manipulated by the puppet player. A puppet designer creating a knight on a horse fighting with a spear will adapt the branches of the wooden cross to operate the puppet and works on the meta level.

19/02/2004 Slide 6 Reflection refers to the capability of a system to reason about and act upon itself. Reflective system is one that provides a representation of its own behaviour which is amenable to inspection and adaptation, and is causally connected to the underlying behaviour it describes. Reflective middleware is simply a middleware system that provides inspection and adaptation of its behaviour through an appropriate CCSR (Causally Connected Self Representation). Reflection, Reflective System and Reflective Middleware

19/02/2004 Slide 7 i) Inspection Reflection can be used to inspect the internal behaviour of a language or system. By exposing the underlying implementation, it becomes straightforward to insert additional behaviour to monitor the implementation. i) Adaptation Reflection can also be used to adapt the internal behaviour of a language or system. This can either be achieved by changing the interpretation of an existing feature (by modification or replacement) or by adding new features. Inspection and Adaptation

19/02/2004 Slide 8 Reflection makes the middleware more adaptable to its environment and better able to cope with change Why Should a Middleware be Reflective?

19/02/2004 Slide 9 Meta-level and Reification

19/02/2004 Slide 10 Meta-level Interaction

19/02/2004 Slide 11 i) The compositional meta-model provides access to the object in terms of its constituent (base-level) objects, represented as an object graph, in which the constituent objects are connected together by efficient primitive bindings referred to as local bindings. ii) The encapsulation meta-model provides access to the representation of a particular interface in terms of its set of methods and associated attributes, together with key properties of the interface including its inheritance structure. iii) The environment meta-model represents the execution environment for each interface as traditionally provided by the middleware platform. In a distributed environment, this corresponds to functions such as message arrival, enqueing, selection, dispatching, unmarshalling, thread creation and scheduling (plus the equivalent on the sending side) In each case, a meta-object protocol (MOP) is defined to inspect and adapt the respective meta-models. OpenORB

19/02/2004 Slide 12 Dynamic TAO

19/02/2004 Slide 13 UbiDev vs Reflective Middleware UbiDev approach: - Adaptation is reactive according to changes in environment. - Application cognitive model invariant. Reflective Middleware approach: - Application can manipulate the middleware to adapt changes. - Application is aware of the structure of the middleware. - According to the model of the meta-level, application can inspect and change the middleware behavior. Same level of translucency. In UbiDev the fine-grained control is expressed by the ontology (leafs).