27
ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs Jacques Malenfant et Simon Denier Université de Bretagne sud 3 février 2003

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

Embed Size (px)

Citation preview

Page 1: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

ARM : un modèle réflexif asynchronepour les objets répartis et réactifs

Jacques Malenfant et Simon DenierUniversité de Bretagne sud

3 février 2003

Page 2: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Introduction : contexte

➢ Révolutions en marche :- informatique centralisée,+ informatique répartie,+ mobilité (réseaux hertziens),+ systèmes embarqués.

➢ Défis à relever :1. qualité de service,2. propriétés « non-fonctionnelles »,3. adaptabilité dynamique.

Page 3: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Projet MAAM

➢ Robotique modulaire➢ Atome : six pattes➢ Pattes :

1. bougent dans cône,

2. se connectent➢ Molécule = agrégat

d’atomes

Page 4: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Nécessaire reconfigurabilité

➢ Besoin :

Reconfigurabilité morphologique

implique

Reconfigurabilité logicielle

➢ Réponse : réflexion

Page 5: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Principes fondateurs de la réflexion

➢ Séparation entre :1. fonctionnalités de l'application (base)2. auto-adaptation de l'application (méta)

➢ « Génie logiciel » induit par cette séparation➢ Niveaux : pas de recouvrement introspectif➢ Le niveau de base peut initier des calculs au

méta-niveau :métaprogrammation programmation réflexive

Page 6: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Mais…

➢ Principale forme de réflexion à ce jour :réflexion procédurale.

➢ Thèse : insuffisance de celle-ci !

➢ Proposition :• nouvelle forme de réflexion asynchrone• un modèle : Asynchronous Reflective Model, ARM

• une implantation en J2EE/JMS

Page 7: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Plan du reste de la présentation

➢ Motivations➢ Fondements de la réflexion asynchrone➢ Le modèle ARM➢ Implantation en Java, sous J2EE et JMS➢ Travaux connexes➢ Conclusions et perspectives

Page 8: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Réflexion selon B. Smith

Méta-niveauRéification du

programme

Réificationde l’état

d’exécution

Niveau de baseprogrammeÉtat

d’exécution

Relation« méta »

réification(connexion

causale)

réification(connexion

causale)

Page 9: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Vers la réflexion procédurale

➢ Notions fondamentales : méta-modèle, réification, introspection, intercession.

➢ Quelle est la nature de la relation méta ?➢ 3-Lisp a introduit une relation d'implantation➢ Méta-niveau = interprète métacirculaire➢ Suivi par la vaste majorité des travaux

Page 10: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Illustration de la réflexion procédurale

Interprètemétacirculaire

source duprogramme

étatd’exécution de

l’interprète

Niveau de baseprogrammeétat

d’exécution

Relation« implante »

réification réification

Page 11: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Limites de la réflexion procédurale

➢ Principal avantage : connexion causale immédiate

➢ Inconvénients :✔ Couplage fort et strict entre niveaux✔ Méta-niveau exécute, donc est le niveau

de base✔ Représentation complète, fidèle et à jour✔ Intercession supposée synchrone avec le

niveau de base

Page 12: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Limites … (bis)

➢ Plus généralement :✔ Ne peut prendre en compte la répartition

faute d'état global procéduralement réifiable

✔ Ne peut prendre en compte les systèmes réactifs car nombreux aspects hors du système (environnement)

✔ Réflexion limitée aux aspects de l'exécution des programmes (d'où un manque d'exemples probants)

Page 13: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Principes de la réflexion asynchrone

➢ Abandon du rôle unique de processeur de langage pour le méta-niveau

➢ Rétablissement de la généralité de la relation « méta »

➢ Ouverture à la multiplicité et au polymorphisme de cette relation « méta »

➢ Réification = modélisation (au sens large)➢ Méta-niveau = processeur de modèles

(+ manipulateur du niveau de base)

Page 14: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Technologies soutenant l'approche

➢ Messagerie asynchrone pour communiquer entre niveaux permet :• l'exécution parallèle des niveaux• la notification non-intrusive (2 sens)

➢ Publication/souscription permet :• diffusion d'une même notification via

plusieurs relations « méta »• Vision du canal de communication comme

un milieu où s'exerce une forme de « perception »

Page 15: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Avantages de la réflexion asynchrone

➢ Facilité à réifier en plusieurs modèles➢ Choix du niveau d'abstraction approprié➢ Possibilité de modèles partiels, pas

strictement à jour, probabilistes ou flous, tolérants aux pannes, ...

➢ Objectif : « juste combinaison de connexion et de détachement entre niveaux » (Smith)

➢ « Juste » ? => nécessaire et suffisant pour supporter la décision lors de l'intercession

Page 16: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Avantages … (bis)

➢ Construction de modèles par « perception »• modèles non-implantatoires• modèles des autres entités, de

l'environnement, etc.➢ Multiples utilisation des modèles

• introspection et intercession• simulation, planification, apprentissage, ...• mais pas exécution

Page 17: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Nouvelles problématiques

➢ Construction et manipulation de modèles non-implantatoires à l'exécution ?

➢ Quelle API réflexive sur le niveau de base ?➢ Utilisation conjointe de plusieurs modèles en

introspection et intercession ?➢ Utilisation de modèles partiels, probabilistes

ou flous ?➢ Introduction de notions de commande et

contrôle dans l'intercession ?Intercession => programmation dynamique

Page 18: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Le noyau d'ARM : les « classes »

➢ Généralisation d'ObjVlisp avec méta-objets➢ Généricité des notions de méta

Entity

StructuralMeta BehavioralMeta

basicBehavioralMeta

Page 19: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Événements de communication

➢ Communication par messages asynchrones

Méta-objetstructurel

Méta-objetcomportemental

Objet de baseModificationsde structure

Modifications dedescription structurelle

Modificationsde l’état

Notifications dechangements d’état

Requêtes decalculs réflexifs

Page 20: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Modes de notification objet/méta-objet

➢ Deux modes :1. notification de transitions (ActionEvent)2. notification d'états courants (StateEvent)

➢ Notification de transition :• moins d'information transférée• pas robuste aux pertes d'événements

➢ Notification d'état courant :• plus d'information transférée• robuste aux pertes d'événements

Page 21: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Représentation réifiée généralisée

➢ Objectif : généralisation de la réification

réification = modélisation

➢ ARM() = noyau générique ou abstrait• paramétré par le type de représentation

réifiée• définit les éléments génériques de toute

représentation réifiée• doit être complété par une déclinaison

Page 22: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Concepts génériques de représentation

➢ State : état➢ StateSpace : ensemble des états

possibles➢ Behavior : un comportement➢ Behaviors : ensemble des comportements➢ Activation : état d'activation

Page 23: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Déclinaisons actuelles et futures

➢ ARM(DFA) : automates d'état finis➢ ARM(SC) : représentation par « statechart »➢ ARM(P) : représentation procédurale

« classique »➢ D'autres seront développées, dont :

• chaînes de Markov et autres modèles stochastiques

• Réseaux de Pétri• Modèle UML

Page 24: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

ARM en Java

➢ Modèle objets actifs : Hybrid (Nierstrasz, 87)➢ Communication par JMS➢ Auto-amorçage en trois phases➢ Technologies associées :

• J2SE 1.4.1 et J2EE 1.3.1 (JMS)• À intégrer : XML, AspectJ, BCEL

➢ Calendrier :• Démonstrateur 02/2003• Première plate-forme utilisable : 07/2003

Page 25: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Travaux connexes

➢ Notification et publication/souscription• acquisition d'une stature industrielle• introduction dans les intersticiels réflexifs• travaux en IHM (MVC, Observateur, ...)

➢ LEAD++➢ Dynascope, MetaXa, JPDA : événements

pour profilage, réflexion, déverminage➢ Réflexion pour objets répartis

Page 26: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Travaux connexes (suite)

➢ Réflexion et contrôle : Pii Lunau 1997➢ Agents :

• ARM comme intersticiel pour agents (approche MAAM)

• Illustre par une approche du bas vers le haut (bottom-up) du besoin de techniques agents pour l'adaptation dynamique

Page 27: ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003) ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs

ARM : un modèle réflexif asynchrone - J. Malenfant et S. Denier (LMO 2003, 3/02/2003)

Conclusions et perspectives

➢ Nouveau modèle de réflexion asynchrone➢ Implantation prototype sous J2EE et JMS

➔ Étude plus approfondie des possibilités concrètes

➔ Passage à J2ME + Bluetooth➔ Modèle d'objets réactifs (temps-réel)➔ Utilisation dans MAAM➔ Fondements théoriques