Une Approche pour l’Evolution des Systèmes Logiciels Manuel Oriol Présentation de doctorat 20 Avril 2004.

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Licence pro MPCQ : Cours
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Les numéros 70 –
Les numéros
Les identités remarquables
Le, la, les words Possessive Adjectives MINE!!. 2 My in french is mon, ma,mes... Le word/ begins with a vowel: Mon La word: Ma Les word: Mes.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Initiation et perfectionnement à lutilisation de la micro-informatique Publier des films sur DailyMotion (sur Mac et sur PC) ©Yves Roger Cornil
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
2 1. Vos droits en tant quusagers 3 1. Vos droits en tant quusagers (suite) 4.
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
COTE DIVOIRE IMAGES DES ATROCITES COMMISES PAR ALASSANE DRAMANE OUATARA, SORO GUILAUMES ET LEURS HOMMES 1.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Exploitation A5000. Chapitre 1 : Description de LIPBX Chapitre 2 : Connexion à la RHM Chapitre 3 : Création dabonnés Chapitre 4 : Annuaire Chapitre 5.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Jack Jedwab Association détudes canadiennes Le 27 septembre 2008 Sondage post-Olympique.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE
1 Choisir une catégorie. Vous recevrez la réponse, vous devez donner la question. Cliquez pour commencer.
Présentation générale
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Session 7 1 IST/VIH/SIDA.
Le Concours de Conaissance Francais I novembre 2012.
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Titre : Implémentation des éléments finis sous Matlab
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Logiciel gratuit à télécharger à cette adresse :
2 TP avec l ’aide d ’un modeleur 3D :
1 INETOP
RACINES CARREES Définition Développer avec la distributivité Produit 1
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Titre : Implémentation des éléments finis en Matlab
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Projet de Master première année 2007 / 2008
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Nom:____________ Prénom: ___________
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
1. Présentation générale du système
Outil de gestion des cartes grises
Direction de santé publique de la Montérégie PORTFOLIO THÉMATIQUE EXPÉRIENCE DE SOINS DES ANGLOPHONES DE LA MONTÉRÉGIE Direction de santé publique Surveillance.
Discussion autour du référentiel
Exercice de vérification 1 p
Annexe Résultats provinciaux comparés à la moyenne canadienne
Commission paritaire de suivi des opérations de reclassement repositionnement dans le cadre du droit d’option Statistiques novembre 2010.
Les Chiffres Prêts?
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Projet Implémentation du protocole MMT sous Linux
Introduction à SolidWorks
Transcription de la présentation:

Une Approche pour l’Evolution des Systèmes Logiciels Manuel Oriol Présentation de doctorat 20 Avril 2004

Une Approche pour l’Evolution des Systèmes Logiciels 2 Evolution d’Applications Une application est souvent modifiée entre sa première mise en service et sa dernière. Une application devient mature après plusieurs années de maintenance. –Un serveur web peut continuer à être développé pendant des années (Apache est développé depuis 1995).

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 3 Applications Considérées Besoin en haute disponibilité: –P. Ex. : Les serveurs, PDA, téléphones mobiles, les systèmes automobiles, les systèmes de contrôle de satellite, de centrales nucléaires... Modifications arbitraires pour répondre à des changements de besoins ou corriger les bugs. –P. Ex. : patches de sécurités

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 4 Exemple : Le Serveur WWW Envoyer à travers le réseau des pages web aux clients (Netscape, Explorer). Les fichiers envoyés : –simple fichiers issus du système de fichier –résultat de computation (server-side scripting). Serveur WWW Fichiers Script

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 5 Problématique Traiter l’évolution d’applications programmées dans un langage orienté-objet. Les évolutions non-anticipées, non-contraintes et dynamiques. Notre but est d’offrir aux programmeurs et concepteurs d’applications un modèle et une plateforme permettant de telles évolutions.

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 6 Evolution Contrainte/ non-Contrainte Une évolution contrainte est une évolution qui obéit à priori à un certain nombre d’invariants. –Exemple de la Vie Réelle (VR) : On ne casse pas un bâtiment à moitié, on ne fait que des extensions. –Exemple de Programmation Orientée Objet (POO) : Les contraintes de sous typage pour profiter du polymorphisme. Les évolution non-contraintes n’ont pas ces limitations. –VR : on peut tout modifier sur les plans. –POO : Modifier une application.

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 7 Evolution Dynamique/Statique Une évolution statique nécessite d’arrêter l’application. –VR : Les plans d’un immeuble sont changés, on refait l’ immeuble. –POO : Arrêter l’application, modifier son code, la relancer. Une évolution dynamique est réalisée pendant que l’application tourne. –VR: modifier des bureaux tout en utilisant le bâtiment. –POO : le processus de chargement et de liaison dynamique (dll, loading en java…).

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 8 Evolution Anticipée/ non-Anticipée Une évolution anticipée est une évolution qui a été prévue à la conception. –VR: un ‘‘open space’’. –POO : Les mécanismes de servlets/Beans/Plug-Ins. Une évolution non-anticipée est une évolution qui n’a pas été initialement prévue. –VR : rajouter un parking souterrain. –POO : Un bug de sécurité, un changement profond.

Plan Démarche Infrastructure Générale Descriptions de Services Rapports d’Expérience Conclusion

Démarche

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 11 La Tradition des Applications Orientées-Objet ? Références Threads

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 12 Un Exemple de Structure de Serveur WWW Clients Servlet Fichiers Monitoring

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 13 Problème? Les Connections Références Threads

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 14 Que faire? Enlevons les connexions! ? ! ! ? !

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 15 Le Serveur WWW sans Connexion Clients Servlet Fichiers Monitoring ! ?

Infrastructure Générale

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 17 Entité et Services Données Services La notion d’entité peut donc être mappée sur : Un objet. Un composant (servlet, bean…) Un nœud de réseau.

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 18 Enjeux On doit pouvoir faire évoluer une entité : –Ajouter une entité. –Enlever une entité. –Remplacer une entité. Une entités peut : –Annoncer des services. –Invoquer des services. –Répondre.

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 19 Entités et Service Manager Service Manager Entités

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 20 Annoncer des Services Service Manager ! !

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 21 Invoquer un Service Service Manager ? ? T T

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 22 Renvoyer une Réponse Service Manager ! T T ?

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 23 Invoquer un Service Pas de Service Disponible? Service Manager ? ? Null

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 24 Le Serveur WWW Service Manager Clients Fichiers ServletsMonitoring ! ! ! ? ? ? ? ? ? ? ?

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 25 Un Correspondant Disparaît? Service Manager Clients Fichiers ServletsMonitoring ?? ?

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 26 Un Correspondant Evolue? Service Manager Clients Fichiers ServletsMonitoring ? ?

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 27 Fondements du Modèle : Asynchronisme Service Manager ? ? T T

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 28 Fondements du Modèle : Anonymat Service Manager ? ? T T

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 29 Liaison Tardive : Comment Designer/Localiser un Service? Service Manager ? ? T T En objet traditionnel, références: FileSaver fs = new FileSaver(); fs.write(ficName,content); Comment faire sans références?

Descriptions de Services

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 31 Comment le Programmeur Décrit-il les Services? Fonctionalité (F) : Qu’est-ce que ça fait? (comparable à un nom de méthode write ) Comportement (B) : Comment cela le fait-il? (comparable à une signature de méthode) Qualité de Service (QoS): A quel point le fait-il? (comparable à une description de méthode dans les API)

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 32 Descriptions de Service

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 33 Problème Faire correspondre service recherché/services annoncés. ?

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 34 Arbres Root Node1 Node21Node22 Précision Relation ET Relation OU

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 35 d 3 =1 d 2 =2 d 1 =3 Le Service de Sauvegarde de Fichier F ‘‘FileSystem’’ ‘‘Write’’ B Stringchar[]String Q “local”

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 36 Comparer Les Arbres? Root Node1 Node21Node22 Root Node1 Node2 Node3 ? ? Le même nombre ? Nombre de Nœuds Communs Successifs?

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels Exemple de Comparaison B Stringchar[]String B B ’’MaVie.txt’’

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels Exemple de Comparaison (suite) B Stringchar[]String BB ’’Tout commença par un matin neigeux.’’ ‘‘Test’’2 ’’MaVie.txt’’

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 39 Comparer les Descriptions de Service On compare chacun des arbres l’un après l’autre. On impose d’avoir des comparaisons minimales pour avoir une adéquation minimale entre ce qui est demandé et ce qui est proposé. On choisit le service qui se compare le mieux. On préfèrera d’abord la fonctionnalité, ensuite le comportement et enfin la qualité de service.

Rapports d’Expérience

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 41 Implantation de l’infrastructure: LuckyJ Permets de faire des changements arbitraires dans la structure des applications qui l’utilisent. Le composant est l’unité d’évolution élémentaire. Utilise le modèle précédemment décrit.

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 42 LuckyJ Schémas Général

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 43 Caractéristiques de LuckyJ Programmé en Java 2 standard. Chaque entité a son propre ClassLoader. Découplage entre ServiceManager et Description Passer. Plateforme légère (5000 lignes de code).

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 44 Autres Implantations 2 implantations distribuées: –Implantation centralisée Permet de distribuer à la volée des applications LuckyJ –Implantation semi- centralisée Pairs Clients Pairs Serveur

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 45 Le Serveur WWW : WeeselJ Service Manager Clients Fichiers FileSystemEntity, 28 HTTPDEntity, 161 MonitoringEntity, 7 MonitoringServletEntity, 9 ForumServletEntity, 10 ServletEntity, 18 …

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 46 Applications Test Serveur Web WeeselJ: – –Implémentation en marche depuis 18 mois. –Plus de 160 versions différentes de certaines parties du code. –99.99% de disponibilité (4 redémarrages de l’application). Morpion –Implantation pour les portes ouvertes du CUI –Programmé principalement par des étudiants. –Des versions on été recodées pour les participants.

Conclusion

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 48 Conclusion Un modèle pour les évolutions non-anticipées, non-contraintes et dynamiques. Modèle basé sur une infrastructure basée sur le nommage associatif, la liaison tardive de code et à l’asynchronisme. Une technique de comparaison d’arbres de manière valuée. Diverses implantations.

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 49 Travaux Futurs Validité des changements. Des descriptions de services sémantiques. L’évolution au niveau de l’objet. Les applications auto-organisées.

Questions

Annexes

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 52 Evolution: Un Correspondant Potentiel disparaît Service Manager ? ? T T

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 53 Evolution: Un Correspondant Potentiel Evolue Service Manager ? ? T T

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 54 Evolution:Le Code Appelant Evolue Service Manager ? ? T T ! T T ?

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 55 Profondeur de Matching (1) F « Sort » « BubbleSort »« SlowSort » F « Sort » « SlowSort » F « Sort » F F 2 F « SlowSort » F « Sort » « SlowSort » 3

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 56 Profondeur de Matching (2) B argument int []char [] return int []char [] B argument [1,2,3] return char [] B argument [1,2,3] B argument char [] B argument B char [] B argument [1,2,3] 3 B argument char [] B argument char [] return char [] B argument [1,2,3] return char [] 5

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 57 Profondeur de Matching (3) QoS Slow Fast QoS Fast Very Fast QoS Fast QoS Fast 2

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 58 Matcher les Descriptions de Service F « Sort » « BubbleSort » « SlowSort » B argument int []char [] return int []char [] B argument char [] QoS Slow Fast,,, 2, 5, 2 )(

20 Avril 2004Une Approche pour l’Evolution des Systèmes Logiciels 59 Matcher les Descriptions de Service