P' CointeT' LedouxJ'M Menaud - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

P' CointeT' LedouxJ'M Menaud

Description:

R flexion et Jonathan. Evaluation partielle et Java (th se de M. Braux/J. Noy ) ... R flexion et programmation. Langages objets. Protocoles de m ta-objets ... – PowerPoint PPT presentation

Number of Views:16
Avg rating:3.0/5.0
Slides: 17
Provided by: gatewayl5
Category:

less

Transcript and Presenter's Notes

Title: P' CointeT' LedouxJ'M Menaud


1
ESLO/OCM Infrastructure réflexive à composants
répartis
  • P. Cointe/T. Ledoux/J.M Menaud
  • ._at_emn.fr

2
Classtalk un MOP pour Smalltalk
Classtalk
Smalltalk-80 Goldberg Robson 83
  • tout objet
  • métaclasses explicites
  • réification de lenvoi de messages

ClassTalk Briot Cointe 89
CodA McAffer 1995
Sina Composition filters Aksit al. 1992
NeoClasstalk Rivard 97
  • contrôle de lémission et de la réception des
    messages
  • contrôle des accès à la structure
  • contrôle de lémission et de la réception des
    messages
  • encapsulateurs des méthodes
  • changement dynamique de classe

MetaClassTalk Bouraqadi 99
  • compatibilité de métaclasses
  • composition des métaclasses/aspects

OpenCorba Ledoux 98
3
Java
  • Compilateur Java pour IBM/VisualAge (OTI, P.
    Mulet)
  • MOPs Java
  • Expérimentations avec java.lang.reflect (JDK
    1.1/1.3)
  • Reflex migration (E. Tanter)
  • RAMeur mobilité/sécurité (N. Bouraqadi/M.
    Sudholt)
  • ORBs adaptables
  • Réflexion et Jonathan
  • Evaluation partielle et Java (thèse de M.
    Braux/J. Noyé)
  • Applications à la serialization et à
    l invocation des méthodes distantes
  • Idiomes et Patterns Java (H. Albin/Amiot, Y.G.
    Gueheneuc)
  • Comment les réifier au niveau du langage

4
Objectifs dans ARCAD
  • MOP Java incluant migration et sécurité
  • middlewares réflexifs
  • Compilation par assemblage/tissage basé sur
  • AOP pour la méthodologie
  • refléxivité et évaluation partielle pour
    l implémentation
  • Réalisation d une application adaptable mettant
    en uvre les PDA
  • Réalisation d une plate-forme de composition
    (projet IST EASYCOMP)

5
Three kinds of MOPs for Java
  • Compile time
  • reflect language constructs and based on source
    to source transformations
  • in general per class basis
  • OpenC/OpenJava, Reflective Java
  • Load time
  • reflect on the byte code and based on
    ClassLoaderA specialization
  • in general per class basis
  • wrappers and the Self problem
  • does not go against the late binding semantics of
    Java
  • Dalang/Kava, JavaAssist
  • Run time
  • modification of the VM (with a dynamic library)
    to intercept message sends
  • can be per object basis
  • MetaJava/MetXa, Guaraná(Kaffe), Iguana, RJava,
    ProActive

6
Architectures ouvertes pourquoi et comment ?
  • Adaptabilité/Extensibilité/Flexibilité
  • Late binding/Choix tardifs
  • Forme vs Ouverture
  • Ouverture vs Efficacité
  • Efficacité vs Généricité
  • Interopérabilité

7
Luvre ouverte/Opera Aperta(Umberto Eco62)
  • L uvre d art est un message fondamentalement
    ambigu, une pluralité de signifiés qui coexistent
    en un seul signifiant.
  • Pour réaliser l ambiguïté comme valeur, les
    artistes contemporains ont souvent recours à  l
    informel, au désordre, à l indétermination des
    résultats. On est ainsi tenté d établir une
    dialectique entre forme et ouverture, qui
    déterminerait dans quelles limites une uvre
    dart peut accentuer son ambiguïté et dépendre de
    l intervention active du spectateur sans perdre
    pour autant sa qualité duvre. Il faut entendre
    par uvre un objet doté de propriétés
    structurales qui permettent, mais aussi
    coordonnent, la succession des interprétations,
    l évolution des perspectives.

8
Architectures ouvertes pourquoi et comment ?
  • Réflexion et programmation
  • Langages à objets
  • Protocoles de méta-objets
  • Base vs Meta
  • Programmation par aspects
  • Architectures à méta-niveaux
  • Crosscutting concerns 
  • Intelligence collective
  • Granularité des composants

9
B.C. Smith canonical definition of reflection
  • A processs integral ability to represent,
    operate on, otherwise deal with itself in the
    same way that it represents, operates and deals
    with its primary subject matter.
  • La capacité illimitée dun processus à se
    représenter et se manipuler lui-même de la même
    façon quil représente et manipule les entités de
    son domaine dapplication premier.

10
Definitions à la P. Maes (PhD thesis 87)
  • A Computational System is something that reasons
    ans acts upon some part of the world, called the
    domain of the system. The CS is implemented in
    the language defining its program.
  • A CS is causally connected to its domain if the
    system and its domain are linked in such a way
    that if one of the two changes, this leads to an
    effect upon the other.
  • A Meta System is a CS that has as its domain
    another CS, called its object-system.
  • Reflection is the process of reasoning about
    and/or acting upon oneself.
  • A Reflective System is a causally connected
    meta-system that has as object-system itself.

11
A causally connected computational system
Causally connected representation
SOME PART OF THE WORLD
Reasons about
and acts upon
12
A meta system
SOME PART OF THE WORLD
13
A reflective system
SOME PART OF THE WORLD
14
Recurrent questions when building a reflective
system (Ferber OOPSLA89)
  • What entities should be reified, transformed into
    something which can be manipulated at the
    meta-level ?
  • How is the causal link implemented ?
  • When does the system shift up to the meta-level?
  • How to deal with potential infinite regression
    (infinite tower of meta-levels) ?

15
Reflection and Object Oriented Languages
  • Encapsulating every pair (data, program) as an
    object,
  • Reifying program elements and state as first
    class objects,
  • Associating a metaobject (an executer or
    interpreter) to every object.

16
Questions ?
  • MVV et interopérabilité?
  • Encapsulateur/wrapper vs metaobject
  • Programmation par aspects
  • Comment trouver les aspects
  • Comment tisser les aspects
Write a Comment
User Comments (0)
About PowerShow.com