1 / 13

Internal Presentation by : Sergio Maffioletti Pervasive and Artificial Intelligenge research group

Internal Presentation by : Sergio Maffioletti Pervasive and Artificial Intelligenge research group http://diuf.unifr.ch/pai On : «  The Case for Reflective Middleware  » Building Middleware that is Flexible, Reconfigurable, and yet Simple to Use.

rene
Download Presentation

Internal Presentation by : Sergio Maffioletti Pervasive and Artificial Intelligenge research group

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. Internal Presentation by: Sergio Maffioletti Pervasive and Artificial Intelligenge research group http://diuf.unifr.ch/pai 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: 33 - 38  

  2. Table of content • Introduction: • What is a Middleware • Reflection and Reflective middleware • OpenORB • Dynamic TAO • UbiDev vs. Reflective Middleware

  3. What is a Middleware • 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 providea standard set of interfaces and services which distributed applications can assume present in any participating language, operating system or machine environment.

  4. Reflection "Reflective techniques make it possible to open up a language'simplementation without revealing unnecessary implementation details or compromising portability".

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

  6. Reflection, Reflective System and Reflective Middleware • 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).

  7. Inspection and Adaptation i) Inspection Reflection can be used to inspect the internal behaviour of a language or system. Byexposing the underlying implementation, it becomes straightforward to insert additionalbehaviour 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 (bymodification or replacement) or by adding new features.

  8. Why Should a Middleware be Reflective? Reflection makes the middleware more adaptable to its environment and better able to cope with change

  9. Meta-level and Reification

  10. Meta-level Interaction

  11. OpenORB 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 areconnected together by efficient primitive bindings referred to as local bindings. ii) The encapsulation meta-model providesaccess to the representation of a particularinterface in terms of its set of methods and associated attributes, together with keyproperties 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 therespectivemeta-models.

  12. Dynamic TAO

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

More Related