Projet ANR JCJC PERSO Pervasive Service Composition

Documents pareils
Production statistique: passage d une démarche axée sur les domaines à une démarche axée sur les processus

Forme juridique Noms et adresses des filiales à assurer. Date de création ou début de l activité Description PRÉCISE de vos activités

Exemples de solutions acoustiques

Diagnostic Immobilier by Hiscox Questionnaire préalable d assurance

Métiers de la sécurité Questionnaire préalable d assurance

Revue des Sciences et de la Technologie - RST- Volume 5 N 1 / janvier 2014

Forme juridique Noms et adresses des filiales à assurer. Date de création ou début de l activité Description PRÉCISE de vos activités

Personnel Pour chaque diagnostiqueur, veuillez fournir les informations suivantes : Date de la formation. Formation (durée)

Étape II. Compétences à développer de 8 à 12 ans. Grilles des compétences

Projet INF242. Stéphane Devismes & Benjamin Wack. Pour ce projet les étudiants doivent former des groupes de 3 ou 4 étudiants.

3. Veuillez indiquer votre effectif total :

NCCI : Calcul d'assemblages de pieds de poteaux encastrés

Équations différentielles et systèmes dynamiques. M. Jean-Christophe Yoccoz, membre de l'institut (Académie des Sciences), professeur

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

Chapitre IV- Induction électromagnétique

Guide pratique. L emploi des personnes handicapées

La protection différentielle dans les installations électriques basse tension

Registration Login Ship Track/History Address Book Reports Quick Help Contact Details. FedEx Ship Manager. Vos expéditions import at sur fedex.

Nouveautés CRM 2015 & Migration. By Tanguy Touzard MVP CRM

Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne Yosr Jarraya. Chamseddine Talhi.

CRIP Retour d expérience projet NSO (New Sourcing Operation) 2014_04_09

LE PENETROMETRE STATIQUE Essais CPT & CPTU

Gestion des prestations Volontaire

BAILLY-GRANDVAUX Mathieu ZANIOLO Guillaume Professeur : Mrs Portehault

KN Login Order. Guide utilisateur

Our recommendation engine has come up with some personalized suggestions for you.

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

ETUDE COMPARATIVE RELATIVE AU SERTISSAGE DES CANALISATIONS EN CUIVRE DANS LE SECTEUR DE LA RENOVATION

Restaurant Application Quick Reference Guide

Une méthode d apprentissage pour la composition de services web

sshgate Patrick Guiran Chef de projet support

ONTARIO Court File Number. Form 17E: Trial Management Conference Brief. Date of trial management conference. Name of party filing this brief

Mise à jour des logiciels de vidéo de Polycom

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

Déploiement de SAS Foundation

Le calendrier des inscripti

Sommaire. Couverture de zone de surveillance dans les réseaux de capteurs. De quoi parle-t-on ici (1/2)? Objectif. De quoi parle-t-on ici (2/2)?

Le compte satellite des institutions sans but lucratif

Comment évaluer la qualité d un résultat? Plan

Votre dossier d adhésion

Practice Direction. Class Proceedings

Instructions Mozilla Thunderbird Page 1

ITC Corporate Connect

Information utiles. webpage : Google+ : digiusto/

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Formation continue BNF // Programme des cours 2015

Installer Enterprise Miner 5.1 en SAS environnement Windows

France SMS+ MT Premium Description

Module pour la solution e-commerce Magento

Élasticité des applications à base de services dans le Cloud

#DSAA. Marseille. u Lycée Denis Diderot {Lycée Marie Curie é Lycée Jean Perrin. Lycée Saint Exupéry

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

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

)NTERCONNEXION DE R SEAUX -0/! -ULTI0ROTOCOL /VER!4- !CC L RER LE D VELOPPEMENT DES PROTOCOLES EN MODE NATIF SANS PERTURBER LEXISTANT

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Guide de mise en service - THOMSON ST2030

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

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002

Urbanisation de système d'information. PLM 6 (Product Lifecycle Management) Collaboration et partage d'informations

(1) Network Camera

Serena Software. Damien Terrien Solution Architect

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Application Form/ Formulaire de demande

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

MEMORANDUM POUR UNE DEMANDE DE BOURSE DE RECHERCHE DOCTORALE DE LA FONDATION MARTINE AUBLET

Configurer la supervision pour une base MS SQL Server Viadéis Services

Paxton. ins Net2 desktop reader USB

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Bill 69 Projet de loi 69

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

UML : Unified Modeling Language

Table des matières. 1. Données personnelles 8

Ingénierie et gestion des connaissances

Bill 12 Projet de loi 12

Programme de certification Axis Comment m inscrire auprès de Prometric à l examen de certification Axis?

Paris Airports - Web API Airports Path finding

OFFICE DE LA PROPRIÉTÉ INTELLECTUELLE DE LA MONGOLIE

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

has brought a motion to change the order of Justice, dated. the agreement between you and (name of party bringing this motion), dated.

Imprimantes et partage réseau sous Samba avec authentification Active Directory

NCCI : Modèle de calcul pour les pieds de poteaux articulés Poteaux en I en compression axiale

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

Research/activity time (hours/month) / Temps consacré à la recherche/l'activité (heures/mois)

INTRODUCTION. Bienvenue dans la TCN FRENCH TEAM, nous allons ensemble démarrer une belle aventure qui peut devenir lucrative pour tous.

Tutoriel de formation SurveyMonkey

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

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

Java à Murex: un retour d'expérience. Jean-Pierre DACHER & Craig MORRISON

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Cette année, notre traditionnel

26th of March 2014, Paris

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

MANAGEMENT SOFTWARE FOR STEEL CONSTRUCTION

Transcription:

Projet ANR JCJC PERSO Pervasive Servie Composition Appel «Jeunes Cherheurs» Projet JC07_186508 Déision ANR-07-JCJC-0155-01 2007-2010 http://anr-perso.ibis.fr/ Pasal Poizat niversité d Evry Val d Essonne; LRI - CNRS et niversité Paris Sud Grand olloque STIC, Lyon, 6 janvier 2012

Contexte Internet & informatique diffuse aès aru aux données et aux moyens de alul ingénierie logiielle à base de servies évolution modules lasses servies enapsulation (données/aluls), faible ouplage logiiel pour (et par) l utilisateur final «end-user programming» néessité d automatisation et de transparene omposition automatique de servies réutilisation + réation de servies à valeur ajoutée adéquation aux besoins utilisateurs + transparene «software-as-a-servie» 01

peer models (interfae) orhestration model orhestration implementation servie models (interfae) servie implementations orhestration speifiation implement uses test orhestration implementations horeography speifiation ompose 1 2 3 implement 3 hek realizability A1 generate peers A2 hek onformane B test 4 Proessus de développement 02 peer models (interfae) orhestration model orhestration implementation servie models (interfae) servie implementations orhestration speifiation implement uses test orhestration implementations horeography speifiation ompose 1 2 3 implement 3 hek realizability A1 generate peers A2 hek onformane B test 4 «bottom-up» entralisé «top-down» distribué

Proessus de développement orhestration speifiation 1 ompose orhestration model A1 hek realizability horeography speifiation 3 test Adaptation servie models (interfae) 2 implement A2 generate peers B hek onformane 4 test servie implementations uses orhestration implementation Composition peer models (interfae) 3 implement? orhestration implementations Evaluation 3 grandes ativités : - adaptation - omposition - évaluation 02

ANR PERSO orhestration speifiation 1 ompose orhestration model A1 hek realizability horeography speifiation 3 test Adaptation servie models (interfae) 2 implement A2 generate peers B hek onformane 4 test servie implementations uses orhestration implementation Composition peer models (interfae) 3 implement? orhestration implementations Evaluation problématiques : - support de différents types d interfaes respet de ontraintes et satisfation de besoins omportementaux, non fontionnels et sémantiques - omposition adaptative (résolution des inompatibilités) - omposition distribuée 03

ANR PERSO orhestration speifiation 1 ompose orhestration model A1 hek realizability horeography speifiation 3 test Adaptation servie models (interfae) 2 implement A2 generate peers B hek onformane 4 test servie implementations uses orhestration implementation Composition peer models (interfae) 3 implement? orhestration implementations partiularités : - ombinaison MDE + méthodes formelles Evaluation génériité rigueur et outillage des solutions proposées - utilisation de tehniques «exotiques» en génie logiiel (optimisation ombinatoire et analyse de performane) 04

Adaptation

Problème fait : les omposants sont développés séparément limitation de la réutilisation par différents tiers onséquene : inompatibilités limitation de la omposition entre interfaes requises/fournies limitation de la réparation 06

Inompatibilités print imprimer 1-1 0-1/1-0 login ; request* ; logout (login ; request ; logout)* n-m res := query(x,y) id := q1(x); res := q2(id,y) ordre set(file); res := do(ation) set(ation); res := do(file) 07

Adaptation réation d adaptateurs non intrusif évolution dynamique paramétrage modèles + ode intergiiels adaptatifs données + buffering synthèse de ontrôleur approhes ad-ho non générales / manuelles [Shmidt and Reussner, 2002], [Benatallah et al, 2005], [Dumas et al, 2006] approhes restritives suppression d interations n-aires, pratiques (outils) [Inverardi and Tivoli, 2003] approhes génératives renommage, réordonnanement binaires, théoriques [Yellin and Strom, 1997], [Braiali et al, 2005], [Brogi et al, 2006] 08

Adaptation omportementale Adaptor [reordering] restritif + génératif n-aire gestion de propriétés appliation à WWF adaptation ontrat omponent interfaes (LTS) mismath detetion yes no No adaptor required Petri net enoding Petri net enoding [no reordering] ontrat enoding (PN) omponent enodings (PN) vetor produt Petri net fusion global enoding (PN) TINA (external) marking graph semantis raw adaptor model (LTS) path deadlok pruning pruned adaptor model (LTS) CADP (external) behavioural redution interfaes omportementales des servies (LTS) adaptor model (LTS) ontrat d adaptation (LTS étiqueté par veteurs) <si:[mi *]> ex: <s1:m,s2:*>, <s1:m1; s2:m2> étape générative : enodage réseaux de Petri + fusion des réseaux étape restritive : alul graphe des marquages + suppression hemins bloquants 09

emuseum 10

emuseum 10

Adaptation omportementale restritif + génératif n-aire gestion de propriétés appliation à WWF extension symbolique des interfaes (LTS STS) et des veteurs enodage impliite (réseau de STS) approhe à la volée (+ effiae) support diret des données vérifiation de systèmes adaptés appliation aux WS «de base» absene de bloage enodée en BES restrition ave Caesar.Solve extration de modèle (BPEL STS) implantation automatique (STS BPEL) extension sémantique des interfaes (LTS SIOLTS) alul de lients «parfaits» approhe distribuée totalement automatique (pas de ontrat) appliation aux WS sémantiques produit sémantique et projetion/pairs extension des lients parfaits par ajout de messages 11

Composition séletion - omposition - réparation

Séletion sur ritères non-fontionnels déouverte : base de la omposition - reherhe de tous les servies présentant une aratéristique fontionnelle souhaitée séletion : omplète la déouverte - hoix du(des) meilleur(s) servie - selon des ritères non-fontionnels ii, aspets transationnels et qualité de servie aspets transationnels mais non QoS [Zeng et al, 2005], [Jaeger et al, 2004], [Zhang et al, 2007] aspets QoS mais non transationnels [Bhiri et al, 2005], [Montagut et al, 2006], [Li et al, 2007] 13

servies apaité + propriété transationnelle [pa]r? + valeurs de QoS Séletion sur ritères non-fontionnels besoin workflow abstrait (apaités) + propriété transationnelle [a] + poids sur ritères de QoS instaniation du workflow - propriété transationnelle par agrégation struturelle de elles des sous-servies - max. de la satisfation utilisateur (loal puis global) par utilisation de tehniques d optimisation ombinatoire 14

servies apaité + propriété transationnelle [pa]r? tilisateur qos prie :: 0.8 + valeurs de QoS besoin Séletion sur ritères non-fontionnels workflow abstrait (apaités) WS 13 ) ar WS 31 ) r + propriété transationnelle [a] WS 21 4 ) r WS 41 ) p WS 32 ) ar WS 11 ) pr WS 33 ) pr WS 42 ) r WS 22 ) p + poids sur ritères WS 23 de ) QoS a WS 12 ) p WS 43 ) ar Préférenes transationnel :: atomique qos duration :: 0.2 instaniation du workflow Registre de WS - propriété transationnelle T1: WS 11 ) pr WS 12 ) p WS 13 ) ar T2: WS 21 ) r WS 22 ) p WS 23 ) a T3: WS 31 ) r WS 32 ) ar WS 33 ) pr T4: WS 41 ) p WS 42 3 ) r WS 43 ) ar par agrégation struturelle de elles des sous-servies - max. de la satisfation utilisateur (loal puis global) par utilisation de tehniques d optimisation ombinatoire 14 WF Phase de déouverte Moteur de séletion Phase de séletion SWC transationnel à exéuter

Composition aller au-delà de la résolution de bloages omposer automatiquement des servies à partir de besoins les deux ayant des onversations << servie >> pear_store order(...) anel(...) ship(...) bill(...) harge(...) gift(...) ak(...) << servie >> ebay order(...) ship(...) harge_(...) harge_pp(...) bill(...) finalize(...) << servie >> paypal login(...) logout(...) get_redit(...) ask_bill(...) I want to buy something I agree to give the produt and personal info Find me servie(s) so that I an all selet, purhase, ship,... I need a traking number 15

Composition aller au-delà de la résolution de bloages omposer automatiquement des servies à partir de besoins les deux ayant des onversations << servie >> pear_store order(...) anel(...) ship(...) bill(...) harge(...) gift(...) ak(...) inomp. horizontale << servie >> ebay order(...) ship(...) harge_(...) harge_pp(...) bill(...) finalize(...) << servie >> paypal login(...) logout(...) get_redit(...) ask_bill(...) I want to buy something I agree to give the produt and personal info Find me servie(s) so that I an all selet, purhase, ship,... I need a traking number 15

Composition aller au-delà de la résolution de bloages omposer automatiquement des servies à partir de besoins les deux ayant des onversations inomp. vertiale << servie >> pear_store order(...) anel(...) ship(...) bill(...) harge(...) gift(...) ak(...) inomp. horizontale << servie >> ebay order(...) ship(...) harge_(...) harge_pp(...) bill(...) finalize(...) << servie >> paypal login(...) logout(...) get_redit(...) ask_bill(...) workflow I want to buy de something apaités données d entrée I agree to give the produt and personal info opérations Find me servie(s) so that I an all selet, purhase, ship,... données de sortie I need a traking number 15

Composition aller au-delà de la résolution de bloages omposer automatiquement des servies à partir de besoins les deux ayant des onversations inomp. vertiale << servie >> pear_store order(...) anel(...) ship(...) bill(...) harge(...) gift(...) ak(...) inomp. horizontale << servie >> ebay order(...) ship(...) harge_(...) harge_pp(...) bill(...) finalize(...) << servie >> paypal login(...) logout(...) get_redit(...) ask_bill(...) nombreuses approhes [Maroni and Pistore, 2009] workflow I want to buy de something apaités données d entrée I agree to give the produt and personal info opérations Find me servie(s) so that I an all selet, purhase, ship,... onversations : servies et besoins + support données entrée/sortie + support apaités [Ben Mokhtar et al, 2007], [Bertoli et al, 2010] données de sortie I need a traking number inompatibilités partiellement supportées et hypothèse d intégration de servies simple [Ben Mokhtar et al, 2007] 15

Composition Pyompose typage sémantique des opérations (entrées/sorties/apaité) enodage en ations propositionnelles (graphe de planifiation) omposition requirement (apability WF) servie interfaes (operation WF) data semanti struture model extration model extration model extration planning problem omposition requirement model (apability WF) servie models (operation WF) data semanti struture model onstrution enoding enoding enoding graphplan (external) omposition requirement planning problem servie planning problems (operation WF) data semanti struture planning problem PDDLGraphPlan (external) planning graph (GP) Blakbox (external) extration planner interfae problem fusion plan global planning problem graph planning plan model enoding omposition model (operation WF) model implement. deployment omposition implementation (BPEL) - de l adaptation de données asting / omposition / déomposition - des onversations adaptation d une transformation workflow Petri net [Kiepuszewski, 2003] - des opérations apaité autorisée + entrées apaité faite + sorties 16

eshopping 17

semanti data desription eshopping shipping addr billing addr address CC holder user addr CC info user info user name CC number paypal pwd paypal info paypal login order amount PIM wallet amazon info amazon login produt prie pear produt info produt amazon pwd produt spes pear produt ephone epad 17

semanti data desription eshopping shipping addr billing addr address servie operations CC holder order amount produt prie produt spes user addr user info pear produt info order pear produt pear produt info, sid PS PS produt seletion CC info anel user name PIM wallet CC number sid PS paypal info amazon info paypal pwd ship shipping addr, sid PS SS shipping setup paypal login bill billing addr, sid PS BS billing setup harge CC info, sid PS $ payment amazon login gift wrapper giftode, sid PS $ payment akprodut sid PS amazon pwd traking number OF order finalization pear produt ephone epad 17

semanti data desription eshopping shipping addr billing addr address servie operations CC holder user addr order pear produt pear produt info, sid PS PS produt seletion CC info order amount pear_store user info user name pear produt CC number amazon info order PS produt prie ship SS BS bill harge $ produt spes ebay pear produt info anel anel PIM wallet sid PS paypal pwd ship shipping addr, sid PS SS shipping setup paypal info servie paypal onversations login bill billing addr, sid PS BS billing setup harge CC info, sid PS $ payment amazon login gift wrapper giftode, sid PS OF $ payment akprodut sid PS amazon pwd traking number OF order finalization gift_wrapper PS ephone epad SS $ BS OF order ship harge_ $ bill ak finalize paypal harge_pp login get_redit $ ask_bill BS logout logout 17

semanti data desription eshopping shipping addr billing addr address servie operations CC holder user addr order pear produt pear produt info, sid PS PS produt seletion CC info order amount pear_store user info user name pear produt CC number amazon info order PS produt prie ship SS BS bill harge $ produt spes ebay paypal pear produt info anel anel PIM wallet sid PS paypal pwd ship shipping addr, sid PS SS shipping setup paypal info servie paypal onversations login bill billing addr, sid PS BS billing setup harge CC info, sid PS $ payment amazon login gift wrapper giftode, sid PS OF $ payment akprodut sid PS amazon pwd traking number OF order finalization gift_wrapper PS ephone epad SS $ BS OF order login ship harge_ harge_pp get_redit $ ask_bill BS $ bill logout ak I want to buy something finalize I agree to give the produt and personal info BT FOR CC I need a traking number requirements produt_seletion shipping_setup billing_setup payment logout order_finalization 17

semanti data desription eshopping shipping addr order amount pear_store billing addr user addr user info address CC info user name pear produt CC holder CC number amazon info order PS produt prie ship SS BS bill harge $ produt spes ebay paypal pear produt info anel ast w2.order order pear produt pear produt info, sid PS PS produt seletion ast anel PIM wallet sid PS paypal pwd ship shipping addr, sid PS SS de de shipping setup paypal info paypal login bill billing servie addr, sid onversations PS payment w3.get_redit BS billing setup harge CC info, sid PS $ payment amazon login gift wrapper w2.finalize giftode, sid PS w3.logout OF w3.ask_bill w2.harge_pp $ payment akprodutorder_finalization sid PS amazon pwd traking number billing_setup OF order finalization gift_wrapper PS ephone epad SS $ BS OF order login ast de ship harge_ harge_pp get_redit $ ask_bill BS $ bill logout produt_seletion ak I want to buy something finalize I agree to give the produt and personal info BT FOR CC I need a traking number w3.login shipping_setup servie operations requirements produt_seletion shipping_setup billing_setup payment w2.ship logout order_finalization 17

semanti data desription eshopping shipping addr order amount pear_store billing addr address CC holder ast reeive(user,op,{epad,user_info}) addr CC info ; CC number [pear_produt := anel ast(epad)], sid PS paypal pwd info name [user_name := user_info.user_name; user_address := user_info.user_address; SS de de pim_wallet := user_info.pim_wallet] paypal info servie paypal onversations login payment BS amazon info order PS produt prie ship SS BS bill harge $ produt spes ebay paypal w2.order order pear produt pear produt info, sid PS PS produt seletion ship shipping addr, sid PS shipping setup bill billing addr, sid PS w3.get_redit billing setup PIM wallet harge CC info, sid PS $ payment gift wrapper w2.finalize giftode, sid PS w3.logout OF w3.ask_bill w2.harge_pp $ payment akprodutorder_finalization sid PS amazon pwd traking number billing_setup OF order finalization anel [{e_sessionid} := invoke(w2,order,{produt})], pear PS ephone epad SS $ BS OF order login ast de flow { } ; flow { ast I agree to give the produt and } ; personal info I want to buy BT FOR CC {p_sessionid} ship := invoke(w3,login,{paypal_login,paypal_pwd}) harge_ bill something finalize ; {paypal_trans_id} := invoke(w3,get_redit,{order_amount,p_sessionid}) harge_pp ; invoke(w2,harge_pp,{paypal_trans_id,e_sessionid}) ; I need a invoke(w3,ask_bill,{user_address,p_sessionid}) ; traking number {traking_num} get_redit $ := invoke(w2,finalize,{e_sessionid}) ask_bill BS logout ; logout produt_seletion w3.login shipping_setup servie operations produt_seletion shipping_setup billing_setup payment w2.ship [produt := ast(pear_produt)], amazon login [shipping_addr := ast(user_address)], ak pear [paypal_info produt := pim_wallet.paypal_info; amazon_info := PIM_wallet.amazon_info] info } ; gift_wrapper $ flow { requirements [paypal_login := paypal_info.paypal_login; paypal_pwd := paypal_info.paypal_pwd] {order_amount} := invoke(w2,ship,{shipping_addr,e_sessionid}) ; invoke(w3,logout,{p_sessionid}) ; reply(user,op,{traking_num}); order_finalization 17

Réparation les ompositions de servies sont soumises à un monde hangeant : - servies indisponibles (pannes, fautes, mobilité) - nouveaux servies (mobilité) - besoins de l utilisateur modifiés remplaement limité (1-1 uniquement), problème des nouveaux besoins re-omposition / adaptation potentiellement oûteux, perte de la solution initiale alternative : réparation? 18

Réparation a Z: pre={a}, effet - ={a}, a proposition a effet + ={b,d} ation : pre={a}, effet - ={a}, X invalid ation a Z b effet + ={b,} preondition Y: pre={b}, Z b Y d effet - ={}, effet + ={e} negative effet S: pre={,d}, positive effet d S X e effet - ={}, effet + ={e} baktrak to solution P 0 A 1 P 1 A 2 P 2 layers 19

Réparation a Z: pre={a}, effet - ={a}, a proposition a effet + ={b,d} solution: ation ; Y : pre={a}, effet - ={a}, X invalid ation a Z b effet + ={b,} preondition Y: pre={b}, Z b Y d effet - ={}, effet + ={e} negative effet S: pre={,d}, positive effet d S X e effet - ={}, effet + ={e} baktrak to solution P 0 A 1 P 1 A 2 P 2 layers 19

Réparation a Z: pre={a}, effet - ={a}, a proposition a effet + ={b,d} solution: ation ; Y a Z b : pre={a}, effet - ={a}, effet + ={b,} Y: pre={b}, X invalid ation et si est indisponible? autre solution: preondition Z; Y Z b Y d effet - ={}, effet + ={e} negative effet S: pre={,d}, positive effet d S X e effet - ={}, effet + ={e} baktrak to solution P 0 A 1 P 1 A 2 P 2 layers 19

Réparation a Z: pre={a}, effet - ={a}, a proposition a effet + ={b,d} solution: ation ; Y a Z b : pre={a}, effet - ={a}, effet + ={b,} Y: pre={b}, et si est indisponible? autre solution: X invalid ation preondition Z; Y Z b d Y S X d e effet - ={}, negative effet effet + et si Y est indisponible? ={e} plus de solution mais une partie S: pre={,d}, effet - ={}, effet + ={e} positive effet du graphe est toujours valide baktrak to solution P 0 A 1 P 1 A 2 P 2 layers 19

Réparation alul des pré-onditions insatisfaites (Broken Preonditions) insertion (heuristique) de nouveaux servies dans le graphe de planifiation - éventuel ajout de niveaux - éventuelle suppression de servies P m =P m out(a) P m-1 - BP m-1 P m - BP m P m-1 - BP m-1 P m - BP m A m A m+1 A m BP m A m+1 BP m-1 BP m if m<n else BP m D out BP m-1 A + BP' m BP m = (a) (b) added layers P m+1 =P m out(a) P m-1 - BP m-1 P m - BP m P m - BP m BP m-1 A m BP' m BP m = in(a)\(p m \BP m ) () A + BP m BP m+1 BP m+1 = A m+2 A m+2 =A m+1 20

Réparation alul des pré-onditions insatisfaites (Broken Preonditions) insertion (heuristique) 100 de nouveaux reomposition standard servies dans le graphe de planifiation 80 - éventuel ajout de niveaux - éventuelle suppression de 60 servies P m-1 - BP m-1 P m - BP m A m Time(ms) 40 A m+1 P m-1 - BP m-1 réparation P m =P m out(a) P m - BP m A m BP m A m+1 BP m-1 (a) BP m if m<n 20 else BP m D out BP m-1 A + (b) BP' m BP m = P m-1 - BP m-1 added P m+1 =P m out(a) 0 10 layers 15 20 25 30 P m - BP P m m - BP %Removed m BP m-1 A m BP' m BP m = in(a)\(p m \BP m ) () A + BP m BP m+1 BP m+1 = A m+2 A m+2 =A m+1 20

Résultats tehniques d adaptation omportementale - semi-automatique (ontrats) - automatique et distribuée tehniques de omposition - séletion sur ritères non font. - omposition omportementale et adaptative - réparation automatique implémentation - transformations de modèle - langage d orhestration léger évaluation de performane prototypes publiations - 2 HdR - 1 hapitre de livre - 6 artiles de revues internat. IEEE Trans. Software Engineering (2), IEEE Trans. Servie Computing, Int. J. of Web Servie Researh, Int. J. of Web and Grid Servies, J. of Conur. and Comp.: Prat. and Exp. - 18 artiles de onf. internat. dont 3 @ ICSOC et 3 @ ICWS («A») 21

ANR PERSO - appel JCJC 2007-2010 http://anr-perso.ibis.fr/ Colloque STIC 2010 ANR PIMI - appel VERSO 2010-2013