19/02/2004 slide 1 internal presentation by : sergio maffioletti pervasive and artificial...

13
19/02/2004 Slide 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

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

19/02/2004Slide 1

Internal Presentation by: Sergio Maffioletti

Pervasive and Artificial Intelligenge research grouphttp://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 2002Pages: 33 - 38  

 

19/02/2004Slide 2

Table of content

• Introduction:• What is a Middleware• Reflection and Reflective middleware

• OpenORB

• Dynamic TAO

• UbiDev vs. Reflective Middleware

19/02/2004Slide 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/2004Slide 4

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

Reflection

19/02/2004Slide 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/2004Slide 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/2004Slide 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/2004Slide 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/2004Slide 9

Meta-level and Reification

19/02/2004Slide 10

Meta-level Interaction

19/02/2004Slide 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 astraditionally provided by the middleware platform. In a distributed environment, thiscorresponds 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/2004Slide 12

Dynamic TAO

19/02/2004Slide 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).