Pour une programmation par aspects expressive, bien définie et correcte



Documents pareils
Description de la formation

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Patrons de Conception (Design Patterns)

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

Instrumentation de code Java

WEA Un Gérant d'objets Persistants pour des environnements distribués

Liste de conférences et revues Thème Com A

NFP111 Systèmes et Applications Réparties

Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

OpenPaaS Le réseau social d'entreprise

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi

Conception des systèmes répartis

Prise en compte des ressources dans les composants logiciels parallèles

Software Engineering and Middleware A Roadmap

Projet gestion d'objets dupliqués

Content Switch ou routage de niveau HTTP

CORBA. (Common Request Broker Architecture)

2011 Hakim Benameurlaine 1

Business Process Execution Language

Le moteur de workflow JBPM

La carte à puce. Jean-Philippe Babau

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Introduction aux Machines Virtuelles avec VMKit

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Solutions de gestion de la sécurité Livre blanc

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée

2 Chapitre 1 Introduction

Le passage à l échelle de serveur J2EE : le cas des EJB

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Remote Method Invocation en Java (RMI)

Automatisation de l administration système

Analyse de sécurité de logiciels système par typage statique

Sécurisation des architectures traditionnelles et des SOA

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Java Aspect Components (JAC)

Le cadre des Web Services Partie 1 : Introduction

Vers une adaptabilité dynamique des architectures orientées services

Derrière toi Une machine virtuelle!

DESCRIPTION DU COMPOSANT

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Mise en œuvre des serveurs d application

Client SFTP Filezilla. Version anglaise du client 1/14

Système de Virtualisation pour une application de gestion commerciale d entreprise

Cours Bases de données 2ème année IUT

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Chapitre VI- La validation de la composition.

Analyse,, Conception des Systèmes Informatiques

Java Licence Professionnelle CISII,

Evidian IAM Suite 8.0 Identity Management

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Architectures n-tiers Intergiciels à objets et services web

Introduction aux systèmes temps réel. Iulian Ober IRIT

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Urbanisme du Système d Information et EAI

Tests de montée en charge & Haute disponibilité

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Information utiles. webpage : Google+ : digiusto/

Architecture Orientée Service, JSON et API REST

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Introduction du test dans la modélisation par aspects

Session S12 Les bases de l optimisation SQL avec DB2 for i

Cours Bases de données

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

as Architecture des Systèmes d Information

Service d'authentification LDAP et SSO avec CAS

CAHIER DES CHARGES D IMPLANTATION

Module pour la solution e-commerce Magento

Programmation Web Avancée Introduction aux services Web

Composants Logiciels. Le modèle de composant de CORBA. Plan

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

I4 : Bases de Données

Diagrammes de Package, de déploiement et de composants UML

Lancez le setup, après une phase de décompression, la fenêtre d installation des prérequis apparaît, il faut les installer :

F. Barthélemy. 17 mai 2005

VLAN Trunking Protocol. F. Nolot

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Tutoriel XBNE Connexion à un environnement XBMC distant

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Introduction à la conception de systèmes d information

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Gestion distribuée (par sockets) de banque en Java

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Tutoriel QSOS. Version /02/2013

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Groupe de travail Low Cost. Frédéric DIDIER Jacques WITKOWSKI

Transcription:

Pour une programmation par aspects expressive, bien définie et correcte Mario Südholt Projet OBASCO Habilitation à diriger des recherches 11 juillet 2007 ECOLE DES MINES DE NANTES Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 1 / 35

Plan 1 Contexte et fil rouge 2 Fondements pour la PPA 3 Composants logiciels, composants et aspects 4 Aspects distribués et concurrents 5 Bilan et perspectives Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 2 / 35

1. Contexte et fil rouge Contexte et fil rouge Parcours Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 3 / 35

Contexte et fil rouge Problématiques principales abordées Structuration et évolution des logiciels de grande taille modularisation des fonctionnalités transverses évolution de logiciels corrects à base de composants intégration composants et aspects Fondements des aspects et conception de langages d aspects cadre général pour la définition formelle de langages d aspects raisonnement sur leur propriétés Exploration de l espace de conception et réalisation de langages d aspects Applications à des infrastructures et applications réelles, en particulier patrimoniales Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 4 / 35

Contexte et fil rouge Fonctionnalités transverses [AOSD 06] revisité JBoss Cache : réplication de données sous contrôle de transactions Structure de donnée principale (TreeCache) et paquetage d interception approx. 20 KLOC (of 50 KLOC for JBoss Cache) entrelacement : > 250 LOC pour chaque fonctionnalité TreeCache, paquetage d interception relations complexes liant les deux fonctionnalités : p.ex., séq. de 4 événements : Trans.begin, Buddy.search, Trans.commit, Cache.replicate Problème : compréhension, correction, restructuration, extension Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 5 / 35

Contexte et fil rouge Programmation par aspects 2 objectifs : modularisation des fonctionnalités transverses évolution des systèmes logiciel de grande taille Moyen : langages d aspects 3 abstractions principales coupes (pointcut) : à quels événements réagir? actions (advice) : quelles modifications appliquer? aspects : groupent coupes, actions et (souvent) état interne tissage (weaving) : traduction d un ensemble de programme de base et d aspects en un programme exécutable Problème principal abordé par l HDR : abstractions bas niveau du modèle «atomique» prédominant (p.ex., AspectJ) relations implicites entre événements relevant pour une fonctionnalité expression complexe de fonctionnalités complexes propriétés non analysables moyens limités pour composition d aspects, résolution d interactions Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 6 / 35

Contexte et fil rouge Fil rouge : aspects expressifs et modèle EAOP Aspects expressifs but : élever le niveau d abstraction des langages d aspects aspects : expliciter des relations entre événements utlisation d abstractions dédiées aux domaines Modèle EAOP support langage et systèmes d exécution pour aspects expressifs moniteur : motifs complexes composition flexible d aspects instances (au lieu d une réalisation du modèle général) expressivité des motifs, actions sur base tissage statique vs. dynamique synchronisation entre aspects et base base séquentielle vs. distribuée Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 7 / 35

Plan Fondements pour la PPA 1 Contexte et fil rouge 2 Fondements pour la PPA Aspects réguliers Instances et généralisations 3 Composants logiciels, composants et aspects Composants avec protocoles explicites 4 Aspects distribués et concurrents Aspects with Explicit Distribution (AWED) 5 Bilan et perspectives Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 8 / 35

Fondements pour la PPA 2. Fondements pour la PPA Cadre général définir rigoreusement la sémantique des langages d aspects expressifs AspectJ (premières versions) : sémantique de la coupe cflow(call(m)) au lieu de cflow(call(m)) && call(n)? raisonner sur des propriétés d aspects interactions entre plusieurs aspects applicabilité/effets des aspects sur le système de base notion générale de composition d aspects Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 9 / 35

Aspects réguliers Fondements pour la PPA Aspects réguliers [GPCE 02, AOSD 04, Addison-Wesley 04] Coupes régulières d événements d exécutions Aspects réguliers sur termes C A join A = 0 1 2 quit query reply error abort aborted Sémantique opérationnelle petit pas Tissage d aspects dans une exécution du programme de base reconnaissance de coupes exécution d actions 2 notions de tissage : aspects sujet au tissage ou non sélection non déterministe d aspects marquage d interactions entre aspects p.ex. : A interagit avec B = join; µa.error repair; a à error après join Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 10 / 35

Fondements pour la PPA Aspects réguliers Propriétés Analyse statique d interactions Interaction: 2 aspects exécutent des actions au même événement 3 analyses de précisions différentes entre aspects indépendamment du programme de base modulo contexte (propriété du programme de base) par rapport du programme de base Conditions d applicabilité d aspects 2 objectifs permettre la «dé/activation» d aspects en fonction de contextes précis limiter les effets des aspects sur un programme de base formulées en terme d aspects réguliers définies à l aide des analyses d interactions Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 11 / 35

Fondements pour la PPA Composition d aspects Aspects réguliers Langage de composition général et déclaratif composition flexible d aspects complexes p.ex. : A f µa.join; ;a B ( : interaction context) composition de granularité fine d actions Résolution d interactions à l aide d opérateurs de composition d actions : ordonnancement, suppression d une action, exécution conditionnelle... p.ex., A f µa.join; ;a B where f(abort, correct) = correct Processus de développement itératif : définition d aspects analyse d interactions composition pour la résolution d interaction Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 12 / 35

Fondements pour la PPA Instances et généralisations Multiples instances et généralisations Exploration de l espace de conception de languages d aspects : langages, tisseurs et systèmes d exécution très variés Systèmes séquentiels Aspects dynamiques en Java (système JAsCo développé à la VU Brussel) [Vanderperren et al. SC 05] Aspects dynamiques en C (système Arachne) [IEEE Software 06, TAOSD 06, AOSD 05, ETFA 05] Aspects statiques et systèmes d exploitation [ACM SIGOPS 04, ASE 03] Distribution et concurrence Aspects distribués (système AWED) [AOSD 06,DOA 06] Aspects concurrents (approche CEAOP) [GPCE 06] Coupes et aspects plus expressifs, composants et aspects Manipulation de composants logiciels avec protocoles explicites (système CwEP) [DOA 02] Aspects VPA [SEFM 06] Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 13 / 35

Aspects VPA Fondements pour la PPA Instances et généralisations [SEFM 06], thèse Ha Nguyen (en cours) Automates à pile visible (VPA) expressivité entre langages réguliers et algébriques opérations de base (p.ex., l intersection) sont fermées propriétés de base (p.ex., vide?) décidables Extension du langage des aspects réguliers join 0 1 2 3 quit query q query fst error abort reply fst aborted reply q coupes : définition de contextes d imbrications p.ex. : Dquery n : plus que n requêtes ouvertes actions : manipulations de tels contextes p.ex. : closecall(q) envoyer le retour correspondant à la requête q Extension du cadre sémantique définitions de coupes (régulières ou non) à l aide de VPA techniques d analyse et de composition étendues Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 14 / 35

Plan Composants logiciels, composants et aspects 1 Contexte et fil rouge 2 Fondements pour la PPA Aspects réguliers Instances et généralisations 3 Composants logiciels, composants et aspects Composants avec protocoles explicites 4 Aspects distribués et concurrents Aspects with Explicit Distribution (AWED) 5 Bilan et perspectives Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 15 / 35

Composants logiciels, composants et aspects 3. Composants logiciels Moyen principal pour la fabrication systématique et automatique de logiciel [McIlroy 68] Caractéristiques principales [Szyperski 98] : encapsulation forte (boîte noire vs. boîte blanche) contractualisation des interactions (notion d interfaces) composition par des tiers («composants à l étagère») Problématiques principales correction des compositions : besoin de contrats expressifs et formels, analyse de propriétés d interactions fonctionnalités transverses : modèles flexibles et puissants même sous contrainte d encapsulation forte évolution des systèmes à base de composants : modification des interfaces, reconfiguration/adaptation dynamique... Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 16 / 35

Approche Composants logiciels, composants et aspects Interfaces avec protocoles d interactions information sur le comportement des composants spécifiés par l utilisateur ou extraits de l implémentation services web, architectures orientées services... Opérateurs de construction de protocoles et de composants correction par construction permettre la vérification des manipulations de composants propriétés : compatibilité, substituabilité Aspects pour la manipulation de protocoles et composants évolution correcte de logiciels modèles plus puissants de fonctionnalités transverses intégration de composants et d aspects Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 17 / 35

Composants logiciels, composants et aspects Composants avec protocoles explicites Composants et protocoles réguliers [DOA 02], thèse Andrés Farías Opérateurs pour la construction et modification de protocoles et composants p.ex., manipulation d ensembles de collaborateurs : introduction de communication multi-partis... Techniques de preuve de propriétés compositionnelles exploitant propriétés des opérateurs Ex.: forum modéré et authentification ModeratedPosting init Users!: PostMessage(Message) Stable Moderators : removelistenermoderator(listenermoderator) Moderators+: addlistenermoderator(listenermoderator) Moderators*: +vetoablechange(message) Veto Moderators!: veto() Users*: +propertychange(message) Vetoing NewsGroup = ModeratedPosting SearchMessage AuthNews = Login X Users NewsGroup Propriété : utilisateur doit être authentifié newmessage(message) Posting Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 18 / 35

Composants logiciels, composants et aspects Composants et aspects Composants avec protocoles explicites Évolution de composants par application d aspects Utilisation des aspects réguliers ou aspects VPA coupes, actions : opérateurs de manipulation de protocoles et de composants Preuve de correction d évolutions en terme d aspects d évolution (sans tissage) p.ex. : heuristiques «cut off» préservent compatibilité avec recherche récursive avec opérateur D n Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 19 / 35

Plan Aspects distribués et concurrents 1 Contexte et fil rouge 2 Fondements pour la PPA Aspects réguliers Instances et généralisations 3 Composants logiciels, composants et aspects Composants avec protocoles explicites 4 Aspects distribués et concurrents Aspects with Explicit Distribution (AWED) 5 Bilan et perspectives Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 20 / 35

Aspects distribués et concurrents 4. Aspects distribués et concurrents Applications et infrastructures distribuées ou concurrentes souvent (très) larges nombreuses fonctionnalités transverses réplication, transactions, distribution, sécurité, persistance... Problème : utilisation de systèmes d aspects séquentiels p.ex., AspectJ et distribution sur Java RMI : aucune relation entre modifications sur client et serveur [Soares et al., OOPSLA 02] absence d abstractions dédiées à la distribution et concurrence au niveau des aspects manque de moyens pour la «coordination» des aspects avec le programme de base et entre eux Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 21 / 35

Aspects distribués et concurrents Aspects with Explicit Distribution (AWED) Aspects with Explicit Distribution (AWED) [AOSD 06, DOA 06], thèse Daniel Benavides (en cours) Langage avec mécanismes dédiés à la distribution Coupes répartis événements localisés sur des (groupes de) machines séquences réparties Actions distantes a/synchrones forme de mobilité de code Aspects distribués support pour déploiement, instances d aspects et état partagé Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 22 / 35

Aspects distribués et concurrents Aspects with Explicit Distribution (AWED) Réalisation, outil Infrastructure pour tissage dynamique d aspects distribués en Java extension de JAsCO (VU Brussel), un système pour aspects séquentiels systèmes événementiels pour communication entre aspects support pour la composition d aspects distribués préservation du tissage optimisé dans une JVM Infrastructure distribuée sous-jacente : Java RMI; JGroups pour communication multi-partis Distribué sous licence libre utilisation par différentes universités (principalement dans le cadre de cours) développement partiellement financé par Siemens AG (contrat ATOLL) Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 23 / 35

Aspects distribués et concurrents Application : JBoss Cache Aspects with Explicit Distribution (AWED) Stratégies de réplications plus flexibles : réplication coopérative à l aide de résumés provide data Internet Summary based access Cache group request data, request summary update all aspect CollaborativeCachePolicy { group(cachegroup, summaryhosts) SummaryT summaries;... pointcut getcache(cache c, String key): call(* Cache.get(String)) && host(cachegroup) && target(c) && args(key);... pointcut replpolicy(cache c): rep: seq(s0: initcache(c) -> s1 s1: getcache(c, k1) -> s2, s2: putcache(c, k2, val) && eq(k1, k2) -> s1);... around(cache c,string k): step(rep,s1) &&args(c,k) { Object obj = c.get(k); if (obj == null) { obj = proceed(); if(obj!= null) { c.put(k, obj); misses++; } } return obj; }... } Restruct., extension substantielle de l infrastructure (20 sur 50 KLOC) Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 24 / 35

Applications (2) Aspects distribués et concurrents Aspects with Explicit Distribution (AWED) Composition de services web infrastructure WSML (VU Brussel) : composition centralisée de services web (à la BPEL) permettre la composition distribuée de service web Répartition de calcul d un système à péage automatique introduire la distribution et répartir les calculs entre véhicules (clients) et serveur central de facturation. Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 25 / 35

Plan Bilan et perspectives 1 Contexte et fil rouge 2 Fondements pour la PPA Aspects réguliers Instances et généralisations 3 Composants logiciels, composants et aspects Composants avec protocoles explicites 4 Aspects distribués et concurrents Aspects with Explicit Distribution (AWED) 5 Bilan et perspectives Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 26 / 35

Bilan et perspectives Bilan : principales contributions Premier cadre général pour la définition formelle des aspects analyse de propriétés d interaction entre aspects notion formelle de composition d aspects contrôle fin sur l applicabilité d aspects Exploration de l espace de conception des langages d aspects Aspects expressifs pour systèmes non séquentiels coupes distribués généralisées premiers moyens pour la distributions d actions et d aspects Composants logiciels avec protocoles explicites opérateurs pour la construction et manipulation de protocoles et de composants aspects expressifs pour l évolution de composants techniques pour la preuve de correction de systèmes à composants, en particulier, en présence d aspects Nombreuses et diverses applications réelles Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 27 / 35

Bilan et perspectives Thématiques principales abordées Conception de langages de programmation langages d aspects, langage pour la composition de composants langages dédiés Génie logiciel évolution de composants intergiciels, applications système et systèmes d exploitation architectures orientées services nombreux domaines d applications : services web, systèmes d information d entreprises, contrôle d équipement médical, lignes de produits logiciel, grilles de calcul, P2P Distribution et concurrence nouvelles abstractions pour aspects techniques d implémentation Méthodes formelles sémantiques variées pour la définition formelle de langages analyse statique de propriétés Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 28 / 35

Bilan et perspectives Perspectives Fondements de la PPA notion d interaction généralisée outillage pour analyse et vérification systèmes de types pour aspects modules/composants et aspects Systèmes distribués et concurrents fondements d aspects non séquentiels motifs pour la programmation distribuée Développement dirigé par les modèles Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 29 / 35

Bilan et perspectives Fondements de la PPA Généralisation des interactions : interactions par état intermédiaire Outillage pour analyse et vérification de programmes avec aspects utiliser des techniques de la vérification des modèles Systèmes de types pour aspects très peu étudiés, problèmes importants p.ex. pour AspectJ typage d aspects génériques, correction par rapport à la sémantique opérationnelle Modules/composants vs. aspects but : réconcilier fonctionnalités transverses et encapsulation problèmes : encapsulation vs. accès invasif, utilisation «inconsciente» (oblivious) des aspects besoin d interface entre aspects et modules de base : très peu d approches Piste : interfaces définis en terme de conditions d applicabilité sur aspects expressifs Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 30 / 35

Bilan et perspectives Systèmes distribués et concurrents Intégration des modèles AWED et CEAOP ensemble d opérateurs pour la synchronisation d aspects distribués implémentation efficace Fondements des aspects distribués sémantique des aspects distribués propriétés : garantie sur séquencement d événements (horloges logiques), absence d interblocages... Motifs pour la programmation distribuée motifs architecturaux et d implémentation peu utilisés dans des applications distribuées hétérogènes proposition : notion de motifs invasifs marriant motif de calcul/communication et aspects distribués Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 31 / 35

Bilan et perspectives Développement dirigé par les modèles Processus de développement par transformations successives de modèles d artefacts logiciels représentation des artefacts à chaque niveau besoin de techniques de transformations entre modèles fonctionnalités transverses Proposition : aspects expressifs au niveau architectural et d implémentation meilleure représentation des fonctionnalités transverses support pour la transformation de ces modèles en exploitant leur propriétés formelles et techniques correspondantes Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 32 / 35

Contrats Bilan et perspectives Contrats européens REX AOSD-Europe 2004 2008 aspects distribués cadre formel pour aspects aspects réguliers et VPA FET Open EasyComp 2000 2003 composants avec protocoles explicites modèle EAOP aspects et composants Contrats industriels ATOLL, Siemens AG, 2006 2007 aspects distribués RAM, France Télécom R&D, 1999 2001 modèle EAOP réflexion, langages à objets Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 33 / 35

Coopérations Bilan et perspectives Uwe Aßmann, TU Drèsde Composants, composants et aspects Rémi Douence, EMN Modèle EAOP, fondements, CEAOP Pascal Fradet, INRIA fondements Julia Lawall, Diku Aspects statiques et système d exploitation Didier Le Botlan, INSA Toulouse CEAOP Jean-Marc Menaud, EMN Aspects dynamiques pour applications système en C Gilles Muller, EMN Aspects statiques et système d exploitation Jacques Noyé, EMN Composants et aspects, CEAOP Christa Schwanninger, Regine Meunier, Siemens Aspects distribués et applications Wim Vanderperren, groupe SSEL, VUB Aspects distribués, AWED, typage d aspects Egon Wuchner, Siemens Application médicale d aspects dynamiques pour C Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 34 / 35

Bilan et perspectives Publications et animation de communauté Publications 2 ouvrages d édition 2 chapitres de livres dont [AOSD, Addison-Wesley] 4 journaux internationaux, 1 journal national dont 2 IEEE Software, 2 TAOSD 13 conférences internationales dont 3 AOSD, 2 GPCE, 2 DOA, 1 ASE 11 ateliers internationaux avec sélection Animation de communauté (Co-)organisation de conférences : WS AOSD 08, WS ECOOP 06, SC 06, JFDLPA 04 Comités de sélection de conférences : 2 ECOOP, 4 AOSD, 4 SC Mario Südholt (OBASCO) PPA expressive et correcte HDR, 11/7/07 35 / 35