Composition conceptuelle base sur la relation ToutPartie - PowerPoint PPT Presentation

1 / 89
About This Presentation
Title:

Composition conceptuelle base sur la relation ToutPartie

Description:

Composition conceptuelle bas e sur la relation Tout-Partie ... Cadre applicatif : approche semi formelle (UML) Lien entre les m canismes de composition ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 90
Provided by: nico1182
Category:

less

Transcript and Presenter's Notes

Title: Composition conceptuelle base sur la relation ToutPartie


1
Composition conceptuelle basée sur la relation
Tout-Partie
  • Soutenance de thèse de doctorat

Directeur Pr Franck Barbier Co-Directeur Dr
Jean-Michel Bruel
2
Contribution
  • Thèse une meilleure prise en compte de la
    composition au niveau conceptuel améliore la
    manière dont les composants sont assemblés au
    niveau logiciel
  • Définition dun modèle de composition conceptuel
    hiérarchique
  • Application de létude de la relation Tout-Partie
    à la composition de composants
  • Modification du métamodèle UML contraintes OCL
    (Object Constraint Language)
  • Identification dune méthode de composition
    comportementale
  • Définition dune plate-forme de composition
  • 3 outils
  • Traite les aspects conceptuels, assemblage et
    validation

3
Plan de lexposé
  • Introduction au développement à base de
    composant et à la composition
  • Définition dun modèle de composition
  • Outillage une plateforme de composition
  • Conclusion et perspectives

4
Composant, CBD et CBSE
  • Composant notre vision
  • Composant
  • Entité réutilisable pour la composition
  • Encapsule son implémentation
  • Déployable indépendamment des autres composants
  • Possède un état
  • Interfaces de services requis, fournis et
    configuration
  • Granularité tout composant
  • Sous-types de composants COTS et composants
    maison
  • Travaux sur lapproche composant
  • CBD développement à base de composants
  • CBSE ingénierie logicielle basée composants

Szyperski 02
Crnkovic 02
5
Composition horizontale versus verticale
(hiérarchique)
6
Composition logicielle
  • Langage de script (Perl, JavaScript) et de glue
  • Manques de support spécifique pour la composition
    (script)
  • Maintenance lourde (glue)
  • Modèles de composants technologiques (EJB, CCM,
    .Net, Fractal)
  • Problèmes dhétérogénéité entre composants
  • Support limité pour la composition hiérarchique
  • Langages de description darchitectures (Olan,
    ACME)
  • Conception détaillée
  • Sintéresse à tout type darchitecture et pas
    seulement composants
  • Langages de composition PICT, PICCOLA, CL
  • Approches formelles
  • Utilisateurs spécialistes

7
Composition conceptuelle
  • Utilisation de contrats
  • 4 niveaux de contrats Beugnard et al, 99
  • Syntaxiques
  • Sémantiques (contraintes)
  • Synchronisation
  • Qualité de service
  • Manque de support pour les niveaux
    synchronisation et qualité de service
  • Patron Composite Gamma et al, 95
  • Capitalisation de la connaissance
  • Manque de sémantique

8
Problématique
  • Cadre général composition conceptuelle
  • composition verticale
  • Objectif améliorer la sémantique de la relation
    de composition
  • Cadre applicatif approche semi formelle (UML)
  • Lien entre les mécanismes de composition
    conceptuelle et de composition logicielle

9
Stratégie
  • Définition dun modèle de composition
  • Application aux composants de la base sémantique
    de la relation Tout-Partie (WPR)
  • Résultats existants en ingénierie objet
  • Adéquation avec une approche verticale
  • Application à UML
  • Définition dune plate-forme de composition
  • Validation du modèle de composition par
    construction
  • Garantir la cohérence vis-à-vis du modèle
    conceptuel

10
Plan de lexposé
  • Introduction au développement à base de
    composants et à la composition
  • Définition dun modèle de composition
  • Etude de lapplication de la relation Tout-Partie
    pour la composition conceptuelle
  • Modèle de composition statique
  • Modèle de composition comportemental
  • Outillage une plateforme de composition
  • Conclusion et perspectives

11
Modélisation objet un point de départ
  • Etude de la relation Tout-Partie pour la
    modélisation objet Barbier et al, 2003
  • Objectif répondre à lincohérence entre
    agrégation et composition
  • Résultats
  • Classification des propriétés de la relation
  • Proposition de modification du métamodèle UML
  • Traduction des propriétés de la relation en OCL
  • Etudier lapplicabilité de ces résultats à la
    lingénierie composant
  • Identifier les propriétés utilisables
  • Appliquer le même procédé pour la composition de
    composants
  • Discuter les propriétés sur des cas
    informatiques
  • Principe un composant Tout est composé de
    sous-composants(composants Parties)

12
Propriétés de la relation Tout-PartieModélisation
objet
  • Propriétés primaires
  • Nature binaire
  • Propriété émergente et résultante
  • Asymétrie au niveau des instances de composant
  • Antisymétrie au niveau des composants
  • Propriétés secondaires
  • Encapsulation
  • Partageabilité locale et globale
  • Transitivité
  • Dépendances des cycles de vie (9 cas)
  • Séparabilité
  • Mutabilité
  • Configurationalité

13
Propriétés de composition pour les composants
  • Propriétés primaires
  • Asymétrie au niveau des instances de composant
  • Antisymétrie au niveau des composants
  • Propriétés secondaires
  • Encapsulation
  • Partageabilité locale et globale
  • Dépendances des cycles de vie (9 cas)
  • Séparabilité
  • Mutabilité

Aspectsarchitecturaux
Aspectsdynamiques
14
Exemples de sémantiques exprimables
  • Exemple de partageabilité
  • MACHINE A CAFE Module de préparation de boisson
  • CALCULATEUR Centrale de mesure
  • Exemple de dépendance existentielle
  • DICTIONNAIRE DE MOTS Gestionnaire de BD
  • MACHINE A CAFE Module de préparation de boisson
  • Exemple de séparabilité mutabilité
  • SERVEUR Session
  • MACHINE A CAFE Monnayeur

15
Différents sous-types relation de composition
pour les composants
  • Agrégation et composition non suffisants

16
Composition de composants exemples (1)
Etude de cas de la machine à café
Relation decompositionhiérarchique
SCOMP
17
Composition de composants exemples (2)
Etude de cas de la machine à café
LCOMP
18
Composition de composants exemples (3)
Etude de cas de la machine à café
SAGG
19
Composition de composants exemples (4)
Etude de cas de la machine à café
LAGG
20
Plan de lexposé
  • Introduction au développement à base de
    composants et à la composition
  • Définition dun modèle de composition
  • Etude de lapplication de la relation Tout-Partie
    pour la composition conceptuelle
  • Modèle de composition statique
  • Modèle de composition comportemental
  • Outillage une plateforme de composition
  • Conclusion et perspectives

21
Composition en UML
  • UML 1.x
  • Composant unité de déploiement
  • Relation de composition
  • agrégation et composition
  • UML 2.0
  • Composant unité de conception et de déploiement
  • Relation de composition
  • Agrégation et composition
  • Structures composites (inclusion topologique)
  • Mécanismes de délégation

22
Sémantique dUML
  • Existence de points de variation sémantique
  • Sémantique UML
  • Contraindre la syntaxe Harel, IEEE Transaction,
    04
  • Métamodèle règles OCL langage naturel
  • Objectif spécialiser le métamodèle et renforcer
    le niveau contrainte

23
Application à UML métamodèle
  • Métamodèle proposé

24
Application à UML métamodèle
25
Contraintes OCL
  • Adaptation des contraintes de Barbier et al, 03
  • Exemple
  • context VerticalComponentRelationship inv
    ExclusionLocale
  • self.partMember.compinstance-gtforAll(p
    p.whole.size lt 1)

26
Plan de lexposé
  • Introduction au développement à base de
    composants et à la composition
  • Définition dun modèle de composition
  • Etude de lapplication de la relation Tout-Partie
    pour la composition conceptuelle
  • Modèle de composition statique
  • Modèle de composition comportementale
  • Outillage une plateforme de composition
  • Conclusion et perspectives

27
Composition comportementale (1)
  • Déduire le comportement du composé en fonction
    des comportements de ses sous-composants
  • Description des comportements par utilisation des
    Statecharts
  • Lien entre les comportements du composé et des
    composants implicite

28
Composition comportementale (2)
  • Utilisation de la méthode de Pazzi Pazzi 00
  • Composition hiérarchique explicite de Statecharts
    sans modification des états des sous-composants

Composant Gestion O/F
ouverture ltpresser, RCgt
Verrouillé
Ouverture
fermeture ltlever, VCgt
fermé lt CRgt
ouvert ltCVgt
Déverrouillé
Fermeture
Rouge
Composant Lumière
Eteint
presser
RC
CR
VC
Pressé
Vert
lever
Clignotant
Composant Bouton
CV
29
Composition comportementale (2)
  • Utilisation de la méthode de Pazzi Pazzi 00
  • Composition hiérarchique explicite de Statecharts
    sans modification des états des sous-composants

Composant Gestion O/F
ouverture ltpresser, RCgt
Verrouillé
Ouverture
fermeture ltlever, VCgt
fermé lt CRgt
ouvert ltCVgt
Déverrouillé
Fermeture
Rouge
Composant Lumière
Eteint
presser
RC
CR
VC
Pressé
Vert
lever
Clignotant
Composant Bouton
CV
30
Composition comportementale (2)
  • Utilisation de la méthode de Pazzi Pazzi 00
  • Composition hiérarchique explicite de Statecharts
    sans modification des états des sous-composants

Composant Gestion O/F
ouverture ltpresser, RCgt
Verrouillé
Ouverture
fermeture ltlever, VCgt
fermé lt CRgt
ouvert ltCVgt
Déverrouillé
Fermeture
Rouge
Composant Lumière
Eteint
presser
RC
CR
VC
Pressé
Vert
lever
Clignotant
Composant Bouton
CV
31
Composition comportementale (2)
  • Utilisation de la méthode de Pazzi Pazzi 00
  • Composition hiérarchique explicite de Statecharts
    sans modification des états des sous-composants

Composant Gestion O/F
ouverture ltpresser, RCgt
Verrouillé
Ouverture
fermeture ltlever, VCgt
fermé lt CRgt
ouvert ltCVgt
Déverrouillé
Fermeture
Rouge
Composant Lumière
Eteint
presser
RC
CR
VC
Pressé
Vert
lever
Clignotant
Composant Bouton
CV
32
Bilan du modèle de composition
  • Application de la relation Tout-Partie à la
    composition de composants
  • Identification des propriétés de composition
  • Définition de quatre sous-types de relation de
    composition
  • Modèle de composition statique
  • Modification du métamodèle UML
  • Adaptation des contraintes OCL
  • Modèle de composition comportemental
  • Identification dune méthode permettant la
    description du comportement du composé en
    fonction de celui des sous-composants

33
Plan de lexposé
  • Introduction au développement à base de
    composants et à la composition
  • Définition dun modèle de composition
  • Outillage une plateforme de composition
  • Définition dun profil UML (niveau conceptuel)
  • Définition dun environnement de composition
    (niveau composition logicielle)
  • Utilisation dune librairie de test (niveau
    vérification)
  • Conclusion et Perspectives

34
Outillage niveau validation
Modèle de composition
Architecture Dynamique
Vérification
Cycle De vie
Conception
Assemblage / déploiement
Architecture Dynamique
Application du modèle
35
Le profil UML Whole Part Composition Profile
(WPCP)
  • Spécialisation du métamodèle UML
  • Mécanismes dextension
  • Stéréotypes
  • Valeurs marquées
  • Contraintes
  • Objecteering
  • Développé par Softeam
  • Basé sur UML 1.4
  • Propose le module Profile Builder
  • Langage J

36
Objectif
  • Mise en uvre concrète du modèle au niveau
    conception
  • Détection de la non validité des modèles (dun
    point de vue conception)
  • Validation des propriétés de composition
  • Validation de lapproche

37
Principe
  • Diagrammes basés sur les diagrammes de classe
  • Diagramme de Type de Composant (DTC)
  • Diagramme dInstance de Composant (DIC)
  • Exemples
  • Code J basé sur les règles OCL du modèle de
    composition (checkers)

38
Principe dutilisation
Concepteur
39
Outillage niveau validation
Modèle de composition
Architecture Dynamique
Vérification
Cycle De vie
Conception
Assemblage / déploiement
Architecture Dynamique
Architecture Dynamique
Application du modèle
40
Environnement de composition
  • Contraindre la composition de composants
  • A lexécution
  • Selon les propriétés de composition
  • Objectifs
  • Développement
  • Vérification au plus tôt de la faisabilité du
    modèle
  • Détection derreurs ou doublis de modélisation
  • Sélection de composants réutilisables
  • Minimum deffort pour cette phase
  • Administration sur déploiement
  • À distance
  • Dynamique

41
Java Management eXtensions (JMX)
  • Extension de la plate-forme Java
  • Introspection, portabilité,
  • Manipulation de composants à distance (MBean)
  • Définition de relations (associations) entre les
    composants

42
Whole Part Composition Environment (WPCE) une
extension pour la composition
  • Extension de JMX co-réalisée durant le DEA de
    Fabien Romeo
  • Extension du service de relation permettant la
    définition des relations de composition
  • Maintien et contrôle de la cohérence des
    relations vis-à-vis des propriétés de composition

43
Principe dutilisation
44
Spécification des propriétés
COFFEE-MACHINE DrinkMaker public interface
CM_DM_RelationMBean extends GlobalUnsharing,
LifetimeDependency COFFEE-MACHINE
Coiner public interface CM_C_RelationMBean
extends GlobalShareability, LifetimeDependency

45
Exemple de la non partageabilité
La propriété de non partageabilité a été
spécifiée entre DrinkMaker et CoffeeMachine
2ième composant CoffeeMachine
Relation initiale
46
Exemple de la non partageabilité (2)
Spécification dynamique dun lien entre le 2ième
composant CoffeeMachine et le composant DrinkMaker
47
Exemple de la non partageabilité (3)
Détection de la violation de la propriété de non
partageabilité
48
Outillage niveau validation
Modèle de composition
Architecture Dynamique
Comportement
Vérification
Cycle De vie
Conception
Assemblage / déploiement
Architecture Dynamique
Architecture Dynamique
Comportement
Application du modèle
49
Thèse financée par Component
  • Projet IST-1999-20162 (5th Framework)
  • Consortium de 12 partenaires dont Engineering
    (It.), IESE (All.), IVF (S), Labein (Esp.),
    Philips (Angl.), SI (Angl.), LIUPPA (France)
  • Définition de la technologie BIT (Built-In Test)
  • Implémentation de fonctionnalités de tests
    intégrés dans des composants logiciels
  • Terminé au printemps 2003

50
Validation comportementale utilisation de la
technologie BIT
  • Validation du comportement externe du composé
  • Validation du comportement interne du composé
  • Basé sur des outils de tests intégrés déployables
    (ou non)
  • Contrats classiques
  • Contrats basés états

51
Principe des composants BIT
52
Architecture le la librairie BIT/J
53
Application à notre approche
54
Plan de lexposé
  • Introduction au développement à base de
    composants et à la composition
  • Définition dun modèle de composition
  • Outillage une plateforme de composition
  • Conclusion et Perspectives

55
Conclusion
  • Améliorer la composition logicielle en la prenant
    mieux en compte au niveau conceptuel
  • Définition dun modèle de composition
  • Etude de la relation Tout-Partie pour les
    composants
  • Définition du modèle de composition statique
  • Définition de 4 sous-types de relation de
    composition
  • Basé sur des propriétés de composition
  • Identification dun modèle de composition
    comportemental
  • Outillage
  • Couverture du cycle de vie dune application
    basée composants (modélisation, déploiement et
    vérification)

56
Bilan
  • Composition traitée sur un seul nud de
    déploiement
  • Prise en considération partielle dUML 2.0
  • Lien entre le modèle comportemental et les
    propriétés de composition
  • Travaux entrant dans la dynamique du tout
    modèle
  • Extension du pouvoir dexpression dUML
  • Amélioration de la sémantique dUML
  • Outillage opérationnel

57
Perspectives
  • Applications à plusieurs nuds de déploiement
  • Vérification des contraintes de composition
  • Vers une vérification décentralisée
  • Utilisation de niveaux de vérification
  • Agents de contrôle
  • Vers lingénierie des modèles
  • Définition dun modèle spécifique à
    lenvironnement de composition
  • Génération automatique des composants,
    compositions et tests

58
Merci de votre attention
  • Vos questions
  • Démonstration possible

59
ANNEXES
60
Cycle de vie dune application
Analyse des besoins
Analyse des besoins
Déploiement
Conception
Remplacement
Maintenance
61
Du CBD à la CBSE
  • CBD développement dapplications à base de
    composants (par composition de composants)
  • Réutilisation de composants physiques
  • Modularité des applications
  • Niveau implémentation et assemblage
  • Approche artisanale
  • CBSE ingénierie logicielle basée composants
  • Méthodes et outils pour le CBD
  • Couverture de tout le cycle de vie
  • Tout niveau
  • Approche industrielle

62
Intégration Vs Composition
63
La composition
  • Composition un concept pris en compte
  • Au niveau implémentation
  • Syntaxiquement
  • On parle de composition logicielle

public class CoffeeMachine implements
Coiner _coiner _coiner.setCoin()
64
Incohérence entre agrégation et composition (1)
  • Aggregate class a class that represents the
    whole in an aggregation (whole-part)
    relationship. See aggregation.
  • Aggregation A special form of association that
    specifies a whole-part relationship between the
    aggregate (whole) and the component part. See
    composition.
  • Composition A form of aggregation which requires
    that a part instance be included in at most one
    composite at a time, and that the composite
    object is responsible for a creation and a
    destruction of the parts. Composition may be
    recursive. Synonym composite aggregation.
  • Terme whole part non défini

65
Incohérence entre agrégation et composition (2)
  • Composition définie comme un sous-type de
    lagrégation.
  • Pertinent ssi agrégation spécialise association
    et composition spécialise aggrégation.
  • UML 2.0
  • precise semantics of shared aggregation varies
    by application area and modeler

66
Métamodélisation
  • Modèle Vs Métamodèle
  • Les 4 niveaux du Meta Object Facility (MOF)

67
Différences entre Objets et Composants
68
Propriétés écartées
  • Nature binaire (par définition)
  • Propriétés émergentes et résultantes
    (heuristiques de modélisation)
  • Transitivité (redondance avec la partageabilité
    et lencapsulation) dun point de vue service
  • Configurationalité (non intéressante pour la
    composition verticale)

69
Propriétés émergente et résultante
  • Emergente caractéristique intrinsèque du
    composé
  • Résultante caractéristique du composé dont la
    valeur dépend des sous-composants
  • Exemple
  • CALCULATEUR Centrale de mesure
  • Emergente Fréquence de calcul
  • Résultante Calcul de laccélération

70
Asymétrie au niveau des instances
  • Irréflectivité et antisymétrie

71
Propriétés retenues
72
Relations entre les propriétés
  • Encapsulation et partageabilité
  • Encapsulation gt non partageabilité globale
    dépendance de cycle de vie de type inclusion (le
    tout est au moins créé (détruit) en même temps
    que la partie (après la partie)
  • Exclusion globale et locale gt encapsulation
  • Séparabilité et mutabilité
  • Dépendance de cycles de vie

73
Différents sous-types de WPR (1)
Tout-Partie  binaire   asymétrie au niveau des
instances   antisymétrie au niveau des
composants   propriété émergente   propriété
résultante 
74
Composition comportementale (1)
75
Composition comportementale (2)
76
Composition comportementale (3)
77
Architecture JMX
78
Propriété de dépendance existentielle (1)
Composant CoffeeMachine. Il est composé des sous
composants Coiner et DrinkMaker. Une propriété
dexclusion globale a été spécifié sur la
relation CoffeeMachine-Coiner. Cela implique une
non partageabilité et une dépendance existentielle
79
Propriété de dépendance existentielle (2)
Suppression du composant Coiner.
80
Propriété de dépendance existentielle (3)
composant Coiner effectivement supprimé.
81
Propriété de dépendance existentielle (4)
Tous les composants ont été supprimés
82
DTC de la machine à café
83
DIC de la machine à café
84
Contract Testing versus QoS Testing
85
Description du comportement
  • protected void init_behavior() throws
    Statechart_exception
  • _Ready new BIT_state("Ready")
  • _NoDrinkSelected new BIT_state("NoDrinkSelec
    ted") _NoMoneyGiven new
    BIT_state("NoMoneyGiven")
  • _BIT_coffeeMachine new BIT_state_monitor((((
    _Preparation .xor(_ReadyToPrepare)).x
    or(_Ready)).xor(_PreparingDrink))
  • .xor(_GivingDrink),"BIT_coffeeMachine
    ")
  • _Ready.inputState()

86
Test sur transition
  • public java.lang.String cancel() throws
    Statechart_exception
  • java.lang.String result super.cancel()
  • _BIT_coffeeMachine.fires(_Preparation,
    _Ready)
  • _BIT_coffeeMachine.fires(_ReadyToPrepare,
    _Ready)
  • _BIT_coffeeMachine.fires(_NoDrinkSelected,
    _Ready)
  • _BIT_coffeeMachine.fires(_NoMoneyGiven,
    _Ready)
  • _BIT_coffeeMachine.used_up()
  • return result

87
Demo BIT_Stack
_Empty new BIT_state("Empty") _Only_one new
BIT_state("Only one") _More_than_one new
BIT_state("More than one") _Not_empty
(BIT_state) (_Only_one.xor(_More_than_one)).name("
Not empty") _BIT_stack new BIT_state_monitor(_
Empty.xor(_Not_empty),"BIT stack") _Empty.inputSt
ate()
public java.lang.Object push(java.lang.Object o1)
throws Statechart_exception
java.lang.Object result _stack.push(o1)
/ state transitions here \_BIT\_stack.fires(from
State, toState) / _BIT_stack.fires(_Empty
, _Only_one) _BIT_stack.fires(_Only_one,
_More_than_one) _BIT_stack.fires(_More_tha
n_one, _More_than_one) _BIT_stack.used_up(
) return result
88
Vérification des contraintes de composition
89
Vers lingénierie des modèles
  • Prise en compte de lenvironnement WPCE au niveau
    modèle
  • Définir un modèle spécifique pour WPCE
  • Définir un outil de transformation du modèle WPCE
    vers le code
  • Automatisation du passage du modèle de
    composition indépendant vers le modèle WPCE
  • Définir un outil de transformation entre WPCP et
    le modèle WPCE
  • Application du principe de lenvironnement WPCE à
    un modèle de composants (Fractal)
  • Etudier comment appliquer le modèle de
    composition à Fractal
  • Développer un outil de transformation entre WPCP
    et Fractal
Write a Comment
User Comments (0)
About PowerShow.com