slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Définition et contrôle des politiques d’évolution dans les projets logiciels PowerPoint Presentation
Download Presentation
Définition et contrôle des politiques d’évolution dans les projets logiciels

Loading in 2 Seconds...

play fullscreen
1 / 78

Définition et contrôle des politiques d’évolution dans les projets logiciels - PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on

Définition et contrôle des politiques d’évolution dans les projets logiciels. Soutenance de Thèse Thomas Leveque. 18 Juin 2010. Jury : Jöelle Coutaz , Professeur à l’Université de Grenoble (Président e du jury)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Définition et contrôle des politiques d’évolution dans les projets logiciels' - bedros


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Définition et contrôle des politiques d’évolution

dans les projets logiciels

Soutenance de ThèseThomas Leveque

18 Juin 2010

Jury :

JöelleCoutaz, Professeur à l’Université de Grenoble (Président e du jury)

Andreas Zeller, Professeur à l’Université Saarland, Allemagne (Rapporteur)

Michel Riveill, Professeur à Polytech’Nice (Rapporteur)

Pascal Molli, Maître de conférences à l’Université Henri Poincaré (Examinateur)

Christophe Bourely, STMicroelectronics (Examinateur)

Jacky Estublier, Directeur de recherche au CNRS, Grenoble (Directeur de thèse)

slide2
Plan

Contexte & Problématique

Etat de l’art

Proposition

Expérimentations & Evaluation

Conclusion & Perspectives

contexte grandes applications
Contexte : Grandes applications
  • Points durs :
  • Complexité de l’application
  • Grandes équipes
  • Longue durée de vie
  • Evolution permanente
un d but de solution

L’ingénierie dirigée par les modèles

Un début de solution…
  • Raisonnement à haut niveau d’abstraction
  • Séparation des préoccupations
  • Indépendant de la plate-forme

Modèle

A model is a simplification of a system built with an intended goal in mind. The model should be able to answer questions in place of the actual system. (BEZIVIN J., GERBÉ O.)

contexte grandes applications1

Tomcat

TempComp

Kitchen

LivingRoom

Contexte : Grandes applications

CoolingSystem

  • Points durs :
  • Complexité de l’application
  • Grandes équipes
  • Longue durée de vie
  • Evolution permanente
probl matique
Problématique

Comment maîtriser l’évolution ?

  • Points durs :
  • Contrôler l’évolution
  • Comprendre l’évolution
  • Comprendre la structure du logiciel
slide7
Plan

Contexte & Problématique

Etat de l’art

Proposition

Expérimentations & Evaluation

Conclusion & Perspectives

gestion de l volution
Gestion de l’évolution
  • Solution actuelle
    • Garder des copies immuables des fichiersdans un dépôt partagé pour gérer les versions du logiciel

Objectif

  • Garder la maîtrise de l’évolution
d finition

B

A

Définition

Version

  • Deux objets sont version l’un de l’autre s’ils
  • partagent des propriétés
  • diffèrent

name = TempComp

name = TempComp

Partie commune

price = 90€

price = 90€

author= ‘thomas’

author= ‘thomas’

Partie versionnée

pollPeriod= 1s

pollPeriod= 2s

gestion de versions
Gestion de versions

Versionnement

  • historique
  • logique
  • coopératif
versions historiques r visions

V1

V2

V5

V4

V3

Versions historiques (Révisions)

name = TempComp

price = 90€

  • Propriétés
    • Ordonnées
    • La plus récente est a priori la meilleure

author= ‘thomas’

pollPeriod= 2s

temps

name = TempComp

name = TempC

name = TempComp

name = TempComp

price = 90€

price = 90€

price = 15 €

price = 15 €

author= ‘thomas’

author= ‘thomas’

author= ‘thomas’

author= ‘thomas’

pollPeriod= 10s

pollPeriod= 1s

pollPeriod= 10s

pollPeriod= 10s

versions logiques variants

Version Windows

Version Linux

Version Mac

Versions logiques (Variants)
  • Propriétés
    • Non ordonnées
    • Aucune version n’est meilleure qu’une autre

name = TempComp

price = 90€

author= ‘thomas’

pollPeriod= 2s

name = TempComp

name = TempComp

price = 90€

price = 90€

author= ‘marcel’

author= ‘gerard’

pollPeriod= 1s

pollPeriod= 1s

versions coop ratives

Dépôt local

Dépôt local

Versions coopératives

2) Modifie

2) Modifie

Espace de travail

Espace de travail

Fusion

1) Récupèreunecopie

1) Récupèreunecopie

Politique optimiste

Conflits

Dépôt global

versions coop ratives1
Versions coopératives

1) vérouille

2) modifie

3) libère

Politique optimiste

Politique pessimiste

Dépôt global

outils de gestion de versions
Outils de gestion de versions
  • Gestionnaire de versions
    • Subversion, SCCS, RCS, CVS, FineVMS, Mercurial
  • Gestionnaires de configurations logicielles
    • Clearcase, Synergy, Mae, ADAMS, Mohaldo, Adele
  • Outils de travail collaboratif asynchrones
    • Wikipedia, Celine, Google Docs
synth se des outils
Synthèse des outils
  • Outils de comparaison et/ou de fusion de modèles
  • - EMFCompare, SiDiff, UML Diff, Delta Process…
conclusion
Conclusion
  • Modèles mal gérés
  • Gestion des compatibilités limitée ou inexistante
  • Impact d’une modification non connue
  • Pas de concept d’évolution

Les outils gèrent des sauvegardes de fichiers

Il faut gérer l’évolution du logiciel

2004

2010

1990

2000

Ingénierie dirigée par les modèles

CADSE

Gestion de l ’évolution

Gestion des versions

slide18
Plan

Contexte & Problématique

Etat de l’art

Proposition

Expérimentations & Evaluation

Conclusion & Perspectives

cadre de ma th se
Cadre de ma thèse

Objectif

  • Gérer l’évolution des logiciels
  • Evolution des modèles
  • Modélisation de l’évolution
    • Identifier les stratégies d’évolution
  • Evolution du logiciel
    • Identifier les concepts d’évolution
slide20
Plan
  • Contexte & Problématique
  • Etat de l’art
  • Proposition
    • Evolution des modèles
    • Modélisation de l’évolution
    • Evolution des logiciels
evolution des mod les
Evolution des modèles

Dépôt

Modèle de

l’application

Modèles

Code Source

Développeur

CADSE

@Override

publicvoid create() {

super.create();

}

Code de

l’application

utilise

Espace de travail

synchronisation

cadse computer aided domain specific environment
CADSE : Computer Aided Domain SpecificEnvironment

Développeur

Projets logiciels = modèles + fichiers

cadse
CADSE
  • Méta-modèle de l’application
  • Interaction
  • Modèle pour gérer l’évolution
  • Modèle fonctionnel

définit

définit

Modèle de l’application

Modèle du

CADSE A

Développeurlogiciel

Expert du domaine

utilise

utilise

Application

CADSEg

CADSE A

domaine m tier gestion de capteurs
Domaine métier : gestion de capteurs

Tomcat

Kitchen

TempComp

LivingRoom

Niveaumétamodèle

Niveaumodèle

uses

CoolingSystem

monitors

name = TempComp

monitors

pollPeriod= 2s

price = 90€

gestion des mod les
Gestion des modèles

TempComp

CADSEGestion de capteurs

utilise

Stéphane

gère

Espace de travail

Dépôt de

modèles

content

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

Dépôt

de fichiers

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

gestion des mod les1
Gestion des modèles

Stéphanie

TempComp

TempComp

CADSEGestion de capteurs

utilise

gère

Espace de travail

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

gestion des mod les2
Gestion des modèles

Stéphanie

TempComp

CADSEGestion de capteurs

utilise

gère

Espace de travail

Dépôt de

modèles

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

super.create();

}

@Override

publicvoid create() {

print(“toto”);

}

Dépôt

de fichiers

@Override

publicvoid create() {

super.create();

}

synth se evolution des mod les
Synthèse : Evolution des modèles
  • Evolution par élément de modèle
    • Réutilise des éléments de modèle
      • Ensemble de fichiers
  • Synchronisation entre modèle et code
    • Assure la cohérence entre modèle et code
slide29
Plan
  • Contexte & Problématique
  • Etat de l’art
  • Proposition
    • Evolution des modèles
    • Modélisation de l’évolution
    • Evolution des logiciels
mod lisation de l volution
Modélisation de l’évolution

Objectif

  • Identifier et exprimer les stratégies d’évolution
cadse1
CADSE
  • Méta modèle de l’application
  • Politiques d’évolution
  • Interaction
  • Modèle pour gérer l’évolution
  • Modèle fonctionnel

définit

définit

Modèle de l’application

Modèle du

CADSE A

Développeurlogiciel

Expert de l’évolution

Expert du domaine

utilise

utilise

Application

CADSEg

CADSE A

politiques d volution
Politiques d’évolution

Méta modèle

des applications

Politiquesd’évolutionModèle <-> code

Dépôt

Modèle de

l’application

Modèles

Politiquesd’évolution

des versions

Code Source

@Override

publicvoid create() {

super.create();

}

Code de

l’application

Espace de travail

impact d une modification
Impact d’une modification

content

content

content

content

Expert de l’évolution

Expert du domaine

aucun impact
Aucun impact

TempComp

Commit

Métamodèle

Aucun

Expert de l’évolution

<<shared>>

<<shared>>

<<shared>>

<<shared>>

<<shared>>

content

Id = 3fe45a

name = TempComp

Numéro de version = 3fe45a.1

price = 90 €

author = ‘thomas’

name = TempComp

price = 90€

Rev = 1

PC

author= ‘Thomas’

author= ‘thomas’

platform= Windows

pollPeriod = 2s

pollPeriod= 2s

PV

content= c1

content= c1

Modèle

Espace de travail

Dépôt

cr ation d une r vision
Création d’une révision

TempComp

Commit

Métamodèle

Aucun

Nouvelle révision

Expert de l’évolution

<<immutable>>

content

Id = 3fe45a

<<immutable>>

name = TempComp

Numéro de version = 3fe45a.2

Numéro de version = 3fe45a.1

price = 90 €

author = ‘thomas’

name = TempComp

price = 90€

Rev = 1

Rev = 2

author= ‘thomas’

platform= Windows

pollPeriod = 2s

pollPeriod= 1s

pollPeriod= 1s

pollPeriod= 2s

content= c1

content= c2

content= c1

content= c2

Modèle

Espace de travail

Dépôt

mise jour
Mise à jour

TempComp

Commit

Métamodèle

Aucun

Nouvelle révision

Expert de l’évolution

Mise à jour

<<mutable>>

<<immutable>>

content

Id = 3fe45a

<<immutable>>

name = TempComp

Numéro de version = 3fe45a.1

price = 90 €

price = 50€

author = ‘thomas’

name = TempComp

price = 90€

price = 50€

Rev = 1

author= ‘thomas’

platform= Windows

pollPeriod = 2s

pollPeriod= 2s

content= c1

content= c1

Modèle

Espace de travail

Dépôt

cr ation d un variant
Création d’un variant

TempComp

Commit

Métamodèle

Aucun

Nouvelle révision

Expert de l’évolution

<<immutable>>

Mise à jour

Nouveau variant

variante

<<mutable>>

<<immutable>>

Id = 3fe45a

Id = 57ff32

content

<<immutable>>

name = TempComp

name = TempComp

price = 90 €

price = 90 €

Numéro de version = 57ff32.1

Numéro de version = 3fe45a.1

author = ‘thomas’

author = ‘thomas’

platform= Windows

platform= Linux

name = TempComp

price = 90€

Rev = 1

Rev = 1

Rev = 2

author= ‘thomas’

platform= Windows

platform= Linux

pollPeriod = 2s

pollPeriod = 2s

pollPeriod = 1s

pollPeriod= 2s

content= c1

content= c1

content= c2

content= c1

Modèle

Espace de travail

Dépôt

cr ation d un objet
Création d’un objet

Commit

Métamodèle

Aucun

Nouvelle révision

Expert de l’évolution

<<immutable>>

Mise à jour

Nouveau variant

<<final>>

Nouvel objet

<<mutable>>

<<immutable>>

Id = 3fe45a

Id = 57ff32

content

<<immutable>>

name = TempComp

name = RainComp

Numéro de version = 3fe45a.1

Numéro de version = 57ff32.1

price = 90 €

price = 90 €

author = ‘thomas’

author = ‘thomas’

platform= Windows

platform= Windows

TempComp

RainComp

name = TempComp

name = RainComp

price = 90€

Rev = 1

Rev = 1

Rev = 2

author= ‘thomas’

platform= Windows

pollPeriod = 2s

pollPeriod = 2s

pollPeriod = 1s

pollPeriod= 2s

content= c1

content= c1

content= c2

content= c1

Modèle

Espace de travail

Dépôt

impact d une modification1
Impact d’une modification

<<imm.>>

content

<<immutable>>

content

<<final>>

<<immutable>>

<<mutable>>

<<immutable>>

content

<<mutable>>

content

Expert de l’évolution

Expert du domaine

impact de changement des relations
Impact de changement des relations

Tomcat (Id = 3fe45a)

Jetty (Id = 57ff32)

TempComp

Aucun

Nouvelle révision

Nouvel objet

Mise à jour

Nouveau variant

uses

uses= {3fe45a}

uses= {57ff32}

  • Modification =
    • Ajout
    • Suppression

Modèle

impact d une modification2
Impact d’une modificationPropagation

<<mutable>>

content

<<imm.>>

<<immutable>>

content

<<immutable>>

<<final>>

<<mutable>>

<<immutable>>

<<mutable>>

<<immutable>>

content

content

<<mutable>>

Expert de l’évolution

Expert du domaine

<<immutable>>

cr ation d une r vision1
Création d’une révision

Tomcat

TempComp

Commit

Rev = 2

Rev = 3

port = 9090

port = 9085

TempComp

Tomcat

Nouvelle révision

price = 90 €

api= I1

pollPeriod: seconds

Dépôt

Espace de travail

Rev = 1

<<immutableD>>

Rev = 2

pollPeriod = 2s

pollPeriod = 2s

port = 9085

uses

content= c1

content= c2

42

aucun
Aucun

Tomcat

TempComp

Commit

Rev = 2

Rev = 3

port = 9090

port = 9085

TempComp

Tomcat

Nouvelle révision

uses

Aucun

price = 90 €

api= I1

pollPeriod: seconds

Dépôt

Espace de travail

Rev = 1

<<branchD>>

pollPeriod = 2s

port = 9085

uses

content= c1

mise jour1
Mise à jour

Tomcat

TempComp

Commit

Rev = 2

Rev = 3

port = 9090

port = 9085

TempComp

Tomcat

Nouvelle révision

Aucun

price = 90 €

api= I1

pollPeriod: seconds

Mise à jour

Dépôt

Espace de travail

Rev = 1

<<mutableD>>

pollPeriod = 2s

port = 9085

uses

content= c1

etendre les compatibilit s
Etendre les compatibilités

Tomcat

TempComp

Commit

Rev = 2

Rev = 3

port = 9090

port = 9085

TempComp

Tomcat

Nouvelle révision

Aucun

price = 90 €

api= I1

pollPeriod: seconds

Mise à jour

Compatibilités étendues

Dépôt

Espace de travail

Rev = 1

<<effectiveD>>

pollPeriod = 2s

port = 9085

uses

content= c1

interdiction
Interdiction

Tomcat

TempComp

Commit

Rev = 2

port = 9090

TempComp

Tomcat

Nouvelle révision

Aucun

price = 90 €

api= I1

pollPeriod: seconds

Mise à jour

Compatibilités étendues

Interdiction

Dépôt

Espace de travail

Rev = 1

<<finalD>>

pollPeriod = 2s

port = 9085

uses

content= c1

propagation
Propagation

<<mutable>>

<<immutableD>>

content

<<imm.>>

<<effectiveD>>

<<immutable>>

content

<<immutable>>

<<final>>

<<mutable>>

<<immutable>>

<<mutable>>

<<immutableD>>

content

<<immutable>>

content

<<mutable>>

Expert de l’évolution

Expert du domaine

<<immutable>>

sc nario propagation
Scénario : propagation

Alice

Commit

Commit

{ nouvelle révision }

Tomcat3

<<branchD>>

TempComp 3

TempComp 4

TempComp5

uses

{ nouvelle révision}

<<immutableD>>

pollPeriod = 2s

contains

CoolingSystem4

CoolingSystem3

monitors

price = 90 €

TempSensor 7

{ Modifiée }

Espace de travail

<<immutable>>

Dépôt

TempComp 4

pollPeriod = 2s

CoolingSystem 3

price = 90 €

Tomcat3

TempComp 5

pollPeriod = 2s

CoolingSystem 4

TempSensor 7

price = 90 €

synth se
Synthèse
  • Calcul automatique de la propagation
    • Réduit le nombre de versions
    • Rapatriement d’un ensemble suffisant d’éléments compatibles
  • Compatibilités automatisés
    • Information de compatibilité fiable
synth se1
Synthèse
  • Politiques flexibles et fines
    • Exprimer les stratégies désirées (DataMonitor : 912 combinaisons)
  • Politique définie pour chaque domaine
    • Force l’application de la politique
  • Annotations sur le méta-modèle
    • Séparation des préocupations
slide51
Plan
  • Contexte & Problématique
  • Etat de l’art
  • Proposition
    • Evolution des modèles
    • Modélisation de l’évolution
    • Evolution des logiciels
evolution du logiciel
Evolution du logiciel

Objectif

  • Passer des mécanismes à des concepts de plus haut niveau

52

g n ralisation du versionnement
Généralisation du versionnement
  • Groupe de révisions
    • Partie commune
    • Partieversionnée
    • Mécanisme de sélection
  • Groupe de DataMonitor
    • Spécification
    • Implémentation
    • Mécanisme de sélection
  • Partie commune = Abstraction
  • Membres : révisions ≠ variants

DataMonitor

TempComp

api: Interface

unit = celsius

openSource = true

pollPeriod: seconds

RainComp

TempComp

Rev = 1

Rev = 2

api= I2

api= I1

openSource = true

openSource = true

platform = Windows

platform = Linux

pollPeriod = 2s

pollPeriod = 1s

accuracy = 0.1

pollPeriod = 1s

53

slide54

Implementation

Instance

Specification

TECHNO

implementedBy

name : String

instances

name : String

name : String

<<groupe>>

platform : String

host : IP

<<groupe>>

bugs : List

Instance de

TempComp 1

WebServer

unit= celcius

instances

stats= false

price= 50 €

TempComp

platform = Linux

bugs = { b2, b15 }

implementedBy

unit= celcius

host = 192.168.0.1

stats: Boolean

price= 50 €

RainComp 1

DataMonitor

platform = Linux

METIER

bugs = { b2, b15 }

unit= kelvin

pollPeriod : int

voltage= 5V

implementedBy

price= 90 €

price : int

instances

platform = Windows

bugs = { b35 }

RainComp

host = 10.0.1.23

pollPeriod : int

RainComp 2

instances

price= 90 €

System

voltage: int

unit= fahrenheit

platform = Windows

voltage= 12V

price= 90 €

bugs = { b35 }

platform = Windows

TomCat

CoolingSystem

bugs = { b35 }

slide55

Implementation

Instance

Specification

TECHNO

implementedBy

name : String

instances

name : String

name : String

<<groupe>>

platform : String

host : IP

<<groupe>>

bugs : List

HSQLDB 1

Instance de

transaction = false

openSource = true

HSQLDB

instances

in_mem = false

platform = Linux

transaction = false

bugs = { b12, b3 }

host = 192.168.0.1

openSource = true

implementedBy

in_mem : Boolean

instances

DB

HSQLDB 2

platform = Linux

METIER

bugs = { b12, b3 }

transaction = false

transaction : Boolean

openSource = true

implementedBy

openSource = true

in_mem = true

platform = Linux

bugs = { b12, b3 }

MySQL

host = 10.0.1.23

transaction = true

SpeedComp

MySQL 1

openSource = true

instances

transaction = true

secured : Boolean

unit: Unit

openSource = true

platform = Windows

secured = true

platform = Windows

bugs = { b1 }

bugs = { b1 }

host = 10.0.2.34

slide56

r0

r0

r0

r0

r0

r0

r1

r1

r1

r1

r1

r1

r2

r2

r2

r2

r2

r2

Instance

Specification

Implementation

Espacetechnologique

WebServer

Tomcat

TempComp 1

TempComp

DataMonitor

RainComp 1

Espacedomaine métier

RainComp

RainComp 2

System

CoolingSystem

Espacetemporel

temps

slide57

Groupe

Politiques d’évolution

Par instanciation

Espacetechnologique

Espacedomaine métier

Espacetemporel

temps

conforme à

r solution intemporelle

r0

r0

r0

r0

r0

r0

r1

r1

r1

r1

r1

r1

r2

r2

r2

r2

r2

r2

Résolution intemporelle

TempComp 1

TempComp

DataMonitor

RainComp 1

Espacedomaine métier

RainComp

RainComp 2

Espacetemporel

temps

politiques d volution des groupes
Politiques d’évolution des groupes

Implementation

Specification

<<shared, mutable, branchD>>

  • Exemple de patron de politiques

<<groupe>>

implementedBy

name : String

name : String

/memberOf

platform : String

<<shared, immutable, branchD>>

bugs : List

TempComp

DataMonitor

implementedBy

unit= celcius

<<shared>>

stats: Boolean

<<shared>>

unit: Unit

<<shared>>

platform = Linux

/memberOf

bugs = { b2, b15 }

synth se evolution du logiciel
Synthèse : Evolution du logiciel
  • Concept de groupe
    • Ne plus réfléchir aux versions
    • Réunifie les 3 types d’espace
  • Résolution intemporelle
    • L’évolution en révision ne peut pas invalider les résolutions du domaine métier
slide61
Plan

Contexte & Problématique

Etat de l’art

Proposition

Expérimentations & Evaluation

Conclusion & Perspectives

exemple
Exemple

<<mutable>>

<<immutableD>>

content

<<imm.>>

<<effectiveD>>

<<immutable>>

content

<<mutable>>

<<final>>

<<immutable>>

<<immutable>>

<<mutable>>

<<immutableD>>

content

<<immutable>>

content

<<mutable>>

Expert de l’évolution

Expert du domaine

d finition des politiques
Définition des politiques

Expert de l’évolution

shared

immutable

d finition des politiques1
Définition des politiques

Expert de l’évolution

effectiveD

sc nario

Alice

Scénario

Temp1 3

TempAverage?

TempComp 3

monitors

pollPeriod = 2s

contains

price = 90 €

Temp2 7

HomeMonitorApp3

platform = Linux

RainAverage 8

TempComp 3

pollPeriod = 120s

monitors

Sensor1 5

price = 30 €

Espace de travail

etat d un item

Alice

Etat d’un item

HomeMonitorApp1

contains

platform = Linux

content

HomeMonitorApp

sauvegarde

Alice

Sauvegarde

Temp1 3

TempAverage?

TempComp 3

monitors

contains

HomeMonitorApp1

pollPeriod = 2s

platform = Linux

price = 90 €

Temp2 7

Espace de travail

Dépôt

HomeMonitorApp3

Temp1 3

platform = Mac

TempAverage1

TempComp 3

HomeMonitorApp4

pollPeriod = 2s

Temp2 7

price = 90 €

platform = Linux

r sultats
Résultats
  • Bilan :
  • Faisabilité
  • Performance
  • Modélisation de plusieurs domaines
  • Points difficiles :
  • Partitionnement des modèles
  • Evolution du méta-modèle
  • Cohérence : validité des valeurs
slide71
Plan

Contexte & Problématique

Etat de l’art

Proposition

Expérimentation & Evaluation

Conclusion & Perspectives

conclusion1
Conclusion
  • Evolution des modèles
  • Modéliser l’évolution
    • Politiques d’évolution
  • Concept d’évolution
    • Passer des mécanismes à des concepts
perspectives court terme
Perspectives à court terme
  • Impacts sur les pratiques
  • Analyse de l’évolution
  • Aide à la définition des politiques d’évolution
perspectives long terme
Perspectives à long terme

Espacetechnologique

Espacedomaine métier

Espacetemporel

temps

merci des questions
Merci, des questions ?

CADSE project

http://cadse.imag.fr

Equipe ADELE

http://www-adele.imag.fr

concept de groupe
Concept de groupe

Partie commune

  • Groupe
    • Partie commune
    • Membres
    • Mécanisme de sélection

specification = …

pollPeriod: seconds

Membre 1

Membre 2

specification = …

specification = …

pollPeriod = 2s

pollPeriod = 1s

  • Typage fort
  • Algorithms génériques
    • Sélection
  • Transparent pour l’utilisateurdansl’espace de travail
versionnement des items
Versionnement des items

TempComp

  • Un état
  • Pas de version
  • Partie commune (PC)
  • Partie versionnée (PV)

Id = 3fe45a

Numéro de version = 3fe45a.1

name = TempComp

PC

price = 90 €

author = ‘thomas’

name = TempComp

<<shared>>

PC

price = 90€

<<shared>>

author= ‘thomas’

<<shared>>

Rev = 1

pollPeriod= 2s

Rev = 2

PV

content= c1

PV

pollPeriod = 2s

pollPeriod = 1s

content= c1

content= c2

Dépôt

Espace de travail

m ta mod le de versionnement
Méta modèle de versionnement

TempComp

Métamodèle

Métamétamodèle

AttributeDefinition

ItemType

name

<<shared>>

type

<<shared>>

id

shared

<<shared>>

Expert du domaine

Item

id

name = TempComp

AttributeValue

price = 90€

PC

author= ‘thomas’

Revision

pollPeriod= 2s

PV

Développeur

content= c1

Value

revision : Integer

Niveaumodèle

Modèle de versions