devant l Université de Lille 1

Documents pareils
REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Ingénierie des Modèles. Méta-modélisation

Analyse,, Conception des Systèmes Informatiques

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Générer du code à partir d une description de haut niveau

Cedric Dumoulin (C) The Java EE 7 Tutorial

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants

Synergies entre Artisan Studio et outils PLM

Modélisation de Lignes de Produits en UML *

Patrons de Conception (Design Patterns)

RAPID Prenez le contrôle sur vos données

Fédération : une architecture logicielle pour la construction d applications dirigée par les modèles

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

Jérémy Dubus. Une démarche orientée modèle pour le déploiement de systèmes en environnements

Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6

Génie logiciel (Un aperçu)

INGÉNIERIE DIRIGÉE PAR LES MODÈLES ET COMPOSANTS SENSIBLES AU CONTEXTE

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

DES SYSTÈMES D INFORMATION

MDA (Model Driven Architecture) principes et états de l art.

UML est-il soluble dans les méthodes agiles?

Retour d expériences avec UML

IFT2255 : Génie logiciel

Cours en ligne Développement Java pour le web

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.

An Ontology-Based Approach for Closed-Loop Product Lifecycle Management

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Développement d un interpréteur OCL pour une machine virtuelle UML.

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

Architectures Ouvertes pour l Adaptation des Logiciels

Chapitre I : le langage UML et le processus unifié

Plan. Department of Informatics

OpenCCM : une infrastructure à composants pour le déploiement d'applications à base de composants CORBA

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Rational Unified Process

devant l université de Rennes 1

THÈSE. Présentée à. en habilitation conjointe avec l Université de Rennes 1. En vue de l obtention du grade de. DOCTEUR de l ENST Bretagne.

Introduction du test dans la modélisation par aspects

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Qualité de la conception de tests logiciels : plate-forme de conception et processus de test

Editing and managing Systems engineering processes at Snecma

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

L approche Model-Driven Architecture, crédible pour développer un progiciel de

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

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

Once the installation is complete, you can delete the temporary Zip files..

Stage Ingénieur en développement logiciel/modélisation 3D

Introduction au Génie Logiciel

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

Projet de développement

Université de Bangui. Modélisons en UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Application Form/ Formulaire de demande

RTDS G3. Emmanuel Gaudin

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

Notice Technique / Technical Manual

Solutions industrielles pour l ingénierie des systèmes complexes

Ingénierie et gestion des connaissances

Conception, architecture et urbanisation des systèmes d information

Un environnement de déploiement automatique pour les applications à base de composants

FOUNDATIONS OF SYSTEMS AND PROPERTIES: METHODOLOGICAL SUPPORT FOR MODELING PROPERTIES OF SOFTWARE-INTENSIVE SYSTEMS

Provide supervision and mentorship, on an ongoing basis, to staff and student interns.

Suzy Hélène Germaine TEMATE NGAFFO

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

Billettique sans contact et traçabilité des déplacements :

ANGULAR JS AVEC GDE GOOGLE

Les BRMS Business Rules Management System. Groupe GENITECH

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs

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

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Judge Group: P Title: Quel est meilleur: le compost ou le fertilisant chimique? Student(s): Emma O'Shea Grade: 6

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Le Processus Unifié. Une Démarche Orientée Modèle. IUP NTIE - Master 1 - Jérémie Guiochet - 4/11/09

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

Le Guide Pratique des Processus Métiers

Gestionnaire contextualisé de sécurité pour des «Process 2.0»

Must Today s Risk Be Tomorrow s Disaster? The Use of Knowledge in Disaster Risk Reduction

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

RÉSUMÉ DE THÈSE. L implantation des systèmes d'information (SI) organisationnels demeure une tâche difficile

PEINTAMELEC Ingénierie

Visual Paradigm Contraintes inter-associations

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

How to Login to Career Page

Description de la formation

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Module Title: French 4

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

THESE. DOCTORAT EN SCIENCES APPLIQUEES Spécialité : Informatique

Bourses d excellence pour les masters orientés vers la recherche

Prototype de canal caché dans le DNS

Intégration de produits mécatroniques au sein d un système PLM

Gestion des prestations Volontaire

Présentation par François Keller Fondateur et président de l Institut suisse de brainworking et M. Enga Luye, CEO Belair Biotech

Transcription:

N o d ordre: 3816 THÈSE Présentée devant devant l Université de Lille 1 pour obtenir le grade de : Docteur de l Université de Lille 1 Mention Informatique par Alexis Muller Équipe d accueil : Goal École Doctorale : Sciences pour l Ingénieur Composante universitaire : LIFL Titre de la thèse : Construction de systèmes par application de modèles paramétrés soutenue le 26 juin 2006 devant la commission d examen Président : Pr. Sophie Tison Rapporteurs : Pr. Marie-Pierre Gervais M. Antoine Beugnard Examinateurs : M. Philippe Lahire M. Bernard Carré Directeur : Pr. Jean-Marc Geib

Remerciements Je tiens à remercier tous ceux qui, directement ou indirectement, m ont aidé dans l aboutissement de ce travail. Je remercie Sophie Tison pour m avoir fait l honneur d accepter de présider mon jury. Merci également à Marie-Pierre Gervais et à Antoine Beugnard d avoir accepté de rapporter cette thèse et à Philippe Lahire d avoir accepté de faire partie de mon jury. Je les remercie de l intérêt qu ils ont témoigné à l égard de mon travail. Merci à Jean-Marc Geib de m avoir accueilli dans son équipe et de l honneur qu il me fait d être mon directeur de thèse. Un immense merci à Olivier Caron, Bernard Carré et Gilles Vanwormhoudt pour tout ce qu ils m ont appris du métier de chercheur, pour leur soutien, leurs encouragements, ainsi que pour leurs nombreuses et attentives relectures. J espère avoir acquis un peu de leur honnêteté et rigueur scientifique. Je tiens également à les remercier sur un plan plus personnel de la confiance qu ils m ont témoigné et du temps qu ils m ont accordé. Merci également à ceux avec qui j ai eu l occasion de partager un bureau, Olivier Caron, Jean-François Roos, Emmanuel Renaux, Raphaël Marvie, ce fut toujours avec plaisir et dans une très bonne ambiance. Je tiens également à remercier toutes les personnes avec qui j ai eu l occasion de travailler et d apprendre, notamment les membres du projet RNTL ACCORD. Merci à Olivier Barais. Je peux à mon tour lui témoigner mon amitié et le remercier pour nos discussions et collaborations, enrichissantes autant sur le plan personnel que professionnel. Merci aussi à tous les membres de l équipe 1 pour nos discussions, scientifiques ou non, qui ont fait des pauses café un moment toujours agréable. Mention spéciale à Nicolas Pessemier pour nos discussions cinéphiles ;) Je tiens également à remercier mes collègues de l IUT pour leur accueil et Philippe Mathieu pour m avoir enseigné et fait apprécier, il y a maintenant quelques années, la programmation orientée objet. Merci enfin à ma famille pour leurs encouragements et spécialement à ma femme Angélique pour sa patience et son soutien. 1 Que je n ose citer par peur d oublier quelqu un.

Table des matières Table des matières 1 I Introduction 5 1 Problématique 7 1.1 Axes de complexité des systèmes...................... 7 1.2 Structuration et réutilisation........................ 8 1.3 Vers l ingénierie des modèles......................... 10 2 Contribution 13 II Etat de l art 17 3 Approches de structuration et de réutilisation de modèles 19 3.1 Approches pour la structuration de modèles................ 20 3.1.1 CROME................................ 20 3.1.2 Catalysis : Composition de modèles et de spécifications..... 21 3.1.3 Subject-Oriented Design (SOD)................... 23 3.2 Approches pour la réutilisation de modèles................ 24 3.2.1 Catalysis : frameworks de modèle et paquetages templates.... 24 3.2.2 Theme................................. 26 3.2.3 Aspect Oriented Modeling...................... 27 3.3 Discussion................................... 29 3.3.1 Artefacts manipulables........................ 30 3.3.2 Généricité............................... 30 3.3.3 Composition des éléments génériques entre eux.......... 30 3.3.4 Ordre des compositions....................... 31 3.3.5 Vérification de la composition.................... 31 3.3.6 Granularité des paramètres..................... 31 3.4 Bilan...................................... 32 1

2 Table des matières 4 Etat des standards 37 4.1 Articulations entre les méta-modèles MOF et UML............ 37 4.2 Relations entre les modèles......................... 40 4.3 Templates UML2............................... 46 4.4 Résumé.................................... 50 III Proposition 53 5 Réutilisation d aspects fonctionnels 57 5.1 Aspects fonctionnels............................. 57 5.2 Réutilisation................................. 60 6 Construction de systèmes par application de modèles paramétrés 63 6.1 Modèle paramètre.............................. 64 6.2 Application de modèles paramétrés..................... 66 6.2.1 Application d un composant de modèle à une base........ 68 6.2.2 Application d un composant de modèle à un autre........ 69 6.2.3 Chaînes d applications........................ 70 6.2.4 Construction de systèmes...................... 71 7 Un opérateur d application de modèles paramétrés 75 7.1 Définitions................................... 75 7.2 Propriétés................................... 76 8 Expressions du modèle résultant 81 8.1 Fusion..................................... 81 8.2 Préservation de la structuration....................... 83 8.2.1 Traçabilité des composants de modèle............... 83 8.2.2 Vues.................................. 85 IV Méta-modèles 87 9 Méta-modélisation des composants vue 91 9.1 Méta-modèle................................. 91 9.2 Contraintes.................................. 94 9.3 Profil UML.................................. 96 10 Méta-modélisation des composants de modèles 99 10.1 Formulation à l aide de templates...................... 99 10.1.1 Méta-modélisation.......................... 101 10.2 Utilisation de modèles paramétrés..................... 103 10.2.1 La relation Apply........................... 104 10.2.1.1 Formulation des applications............... 104

Table des matières 3 10.2.1.2 Méta-modèle........................ 105 10.2.2 La relation Bind........................... 108 V Mises en œuvre 117 11 Patrons de conception 123 11.1 Patron de représentation éclatée...................... 124 11.1.1 Représentation éclatée des entités.................. 124 11.1.2 Vues et associations partagées.................... 125 11.2 Introduction du patron adaptateur..................... 127 11.3 Gestion des fragments de vues........................ 131 11.4 Extension du patron pour le support d applications uniformes de vues. 133 12 Transformations paramétrées 137 12.1 Approche par annotations.......................... 137 12.2 Flexibilité de mise en œuvre d un assemblage............... 139 13 Réalisations 143 13.1 EJB...................................... 143 13.1.1 Architecture et implémentation du framework........... 144 13.1.2 Exemple................................ 145 13.2 Fractal..................................... 146 13.2.1 Mise en œuvre au sein de la plate-forme Fractal.......... 147 13.2.2 Extension de l ADL......................... 151 13.3 CORBA.................................... 153 13.3.1 Interfaces abstraites issues des patrons............... 153 13.3.2 Application à notre exemple..................... 155 13.4 Un atelier de composition de modèles................... 156 13.4.1 Fonctionnalités............................ 156 13.4.2 Réalisation.............................. 156 VI Conclusion et perspectives 161 A Extraits du méta-modèle UML2 171 B Descripteur XML Fractal-Vues 179 C Exemple complet IDL 181 Bibliographie 202 Table des figures 203

4 Table des matières

202 Bibliographie [Wil91] Alan Cameron Wills. Formal Methods applied to Object-Oriented Programming. PhD thesis, University of Manchester, Manchester, 1991. [Wil96] [WK03] [WKC + 01] Alan Wills. Frameworks and component-based development. In Proceedings of International Conference on Object Oriented Information Systems (OOIS 96), pages 413 431, 1996. Jos Warmer and Anneke Kleppe. The Object Constraint Language Second Edition, Getting Your Models Ready for MDA. Addison-Wesley, 2003. I. Wilkie, A. King, M. Clarke, C. Weaver,, and C. Rastrick. UML ASL Reference Guide. Kennedy Carter, 2001. [WPD91] S. Wartik and R. Prieto-Dfaz. Criteria for comparing domain analysis approaches. Fourth Annual Workshop on Software Reuse, November 1991.

Table des figures 1.1 Dimensions de structuration d un système [DSo01]............ 8 1.2 Hiérarchie de méta-modélisation à quatre niveaux [UML05a]....... 11 3.1 Location de voitures - Approche objet................... 20 3.2 Location de voitures - Structuration par fonctions............ 21 3.3 Jonction de paquetages Catalysis [DW99]................. 22 3.4 Composition de sujets [Sio01]........................ 24 3.5 Framework d allocation de ressources [DW99]............... 25 3.6 Utilisation du framework d allocation de ressources [DW99]....... 26 3.7 Theme d une fonctionnalité de log [BC04]................. 27 3.8 Utilisation du Theme de log [BC04]..................... 27 3.9 Exemple de composition [SGS + 04]..................... 28 4.1 L InfrastructureLibrary de l OMG [UML05a]............... 38 4.2 Le paquetage commun Core [UML05a]................... 38 4.3 Le contenu du paquetage Core [UML05a]................. 39 4.4 Le cœur du langage UML 2 [UML05b]................... 40 4.5 Le méta-modèle MOF [MOF03]....................... 41 4.6 Liens entre infrastructure, UML2 et MOF2................ 42 4.7 Hiérarchie des relations de UML2 et du MOF2.............. 43 4.8 Exemple de paquetage merge [UML05b].................. 44 4.9 Résultat du paquetage merge [UML05b].................. 44 4.10 Résultat du paquetage define........................ 45 4.11 Package extension [CEK02]......................... 45 4.12 Résultat du Package extension [CEK02].................. 46 4.13 Classe template................................ 47 4.14 Paquetage template............................. 47 4.15 Le méta-modèle des templates........................ 48 4.16 Le méta-modèle du passage de paramètres................. 49 4.17 Diagramme d instance du paquetage Observation............. 50 5.1 Approche par vues.............................. 59 5.2 Composants vue................................ 60 5.3 Reconnexion à une autre base........................ 61 203

204 Table des figures 6.1 Composant de gestion des ressources.................... 65 6.2 Composant de recherche........................... 65 6.3 Composant d allocation de ressources.................... 66 6.4 Composant de calcul............................. 66 6.5 Système de base de locations de véhicules................. 67 6.6 Système de base d une bibliothèque..................... 67 6.7 Application de gestion des stocks au système de location de véhicules.. 68 6.8 Système de base avec les fonctions de gestion des véhicules....... 69 6.9 Application de gestion des stocks au système de bibliothèque...... 70 6.10 Application d un composant de modèle à un autre............ 71 6.11 Chaîne d applications de Comptage à Allocation à Base......... 73 6.12 Modèle d assemblage du système de location de véhicules........ 74 7.1 Une alternative à l application de GestionRecherche........... 78 8.1 Gestion de stock et recherche de véhicules................. 82 8.2 Fusion des différentes fonctionnalités.................... 83 8.3 Représentation éclatée à l aide de composants vue............ 84 8.4 Représentation éclatée à l aide de traces.................. 85 8.5 Représentation à l aide de vues....................... 86 9.1 Le méta-modèle de composants vue par extension du méta-modèle UML2 92 9.2 Utilisation de composants vue........................ 93 10.1 Composant de gestion des ressources.................... 100 10.2 Template de gestion des ressources..................... 100 10.3 Template ne correspondant pas à un composant.............. 101 10.4 Composant de modèle invalide....................... 101 10.5 Méta-modèle des composants de modèle.................. 102 10.6 Rapport entre les relations bind et apply.................. 103 10.7 Application de Gestionnaire au système de location de véhicules.... 104 10.8 Méta-modèle des composants de modèles et de la relation apply..... 106 10.9 Le méta-modèle des templates [UML05b].................. 109 10.10Le méta-modèle du passage de paramètres [UML05b]........... 110 10.11Erreur de déplacement d un attribut................... 111 10.12Erreur sur la signature d une opération................... 112 10.13Erreur de déplacement d une association................ 113 10.14Méta-modèle Classe-Propriété-Association................. 113 10.15Erreur de déplacement d une association paramètre.......... 114 10.16Erreur de non respect de l arité....................... 114 10.17Chaînes de production............................ 119 11.1 Patron de représentation éclatée...................... 124 11.2 Gestion des vues associations........................ 126 11.3 Fonctions de recherche des clients et des véhicules............ 126

Table des figures 205 11.4 Utilisation du patron de représentation éclatée pour la mise en œuvre de deux applications du composant Recherche (RechercheVehicule et RechercheClient)................................. 127 11.5 Le patron adaptateur [GHJ + 95]....................... 128 11.6 Introduction du patron Adaptateur..................... 128 11.7 Délégation du fragment de vue........................ 129 11.8 Parcours d une vue association par adaptateur............... 130 11.9 Le patron composite [GHJ + 95]........................ 131 11.10Application du patron composite pour la gestion d une vue........ 132 11.11Adaptation de l entité de gestion de vue RechercheManager à la base.. 132 11.12Attachement d une vue............................ 133 11.13Adaptation du patron pour une application uniforme des vues...... 134 11.14Connexion d un fragment de vue à une autre................ 134 12.1 Les approches MDA de transformation de modèles [MM03]........ 138 12.2 Architecture unifiée de modèles pour la transformation PIM-PSM.... 139 12.3 Modèle intermédiaire de choix sur les vues................. 140 12.4 Modèle résultant............................... 140 12.5 Modèle intermédiaire de choix sur les entités................ 141 12.6 Modèle résultant de nos choix........................ 142 13.1 Extension du framework EJB........................ 144 13.2 Utilisation du framework EJB étendu.................... 145 13.3 Distribution dans différents conteneurs................... 146 13.4 Représentation éclatée sur la plate-forme Fractal.............. 147 13.5 Interfaces de contrôle pour la gestion des vues............... 148 13.6 Exemple d une architecture de base..................... 149 13.7 Exemple d attachement d une vue Recherche sur un système d agence de location.................................. 150 13.8 Exemple d attachement d une vue location sur un système d agence de location.................................... 151 13.9 Descripteur XML partiel de l application de la figure 13.7........ 152 13.10Définition et utilisation du framework de représentation éclatée sur la plate-forme CORBA.............................. 154 13.11Atelier de conception de composants de modèles............. 157 13.12Menu contextuel d un composant de modèle................ 158 13.13Architecture de notre outil.......................... 158 A.1 The Root diagram of the Kernel package.................. 171 A.2 The Namespaces diagram of the Kernel package.............. 172 A.3 The Multiplicities diagram of the Kernel package............. 173 A.4 The Classifiers diagram of the Kernel package............... 174 A.5 The Features diagram of the Kernel package................ 175 A.6 The Classes diagram of the Kernel package................ 176

206 Table des figures A.7 The Packages diagram of the Kernel package............... 177 B.1 AgenceDescripteur.xml............................ 180 C.1 Modèle d assemblage d un système de location de véhicules....... 182 C.2 Modèle résultat du système de location de véhicules........... 183 C.3 Entities.idl.................................. 185 C.4 AgenceBase.idl................................ 186 C.5 Recherche.idl................................. 188 C.6 Gestionnaire.idl................................ 189 C.7 Allocation.idl................................. 190 C.8 Comptage.idl................................. 191 C.9 Adaptators.idl................................ 193

Résumé L ingénierie logicielle vise à se rationaliser toujours plus et commence à atteindre des niveaux de productivité proches d autres domaines, mécanique ou électronique par exemple. Notre approche vise la spécification de composants métiers réutilisables et composables dans des contextes (domaines) applicatifs différents. Nous proposons d en faire des composants de modèles génériques paramétrés eux-mêmes par des modèles requis et fournissant un modèle enrichi. On dépasse ainsi la notion de contrat d assemblage de composants souvent réduite à une interface de services unitaires. La conception d un système revient alors à assembler de tels composants par les modèles. Nous proposons pour cela un opérateur d application de modèles paramétrés. Celui-ci permet de spécifier des assemblages à partir d un ensemble de composants de modèles. Nous étudions des propriétés d ordre permettant de garantir la cohérence des alternatives de composition. Ceci conduit à des règles et contraintes au niveau des modèles, afin d assurer la cohérence de systèmes ainsi construits. Nous formulons une méta-modèlisation de l approche par extension du méta-modèle UML2 et un ensemble de contraintes. Nous proposons également différentes stratégies de mise en œuvre, sous la forme de patron de conception, permettant de préserver, jusqu à l exploitation, les qualités de structuration et de généricité obtenues au niveau modèle. Des projections ont été expérimentées sur différentes plates-formes à composants. Abstract Software engineering aims at being rationalized always more and tends to reach levels of productivity and reuse that come near to other fields such as mechanics or electronics. Our approach aims to specifying business components reusable in different contexts. Our idea is to introduce the notion of model components parametrized by a required model and that produce an augmented model. Then the modeling phase can be seen as the assembly of such components by connecting provided models to required ones. Note that component ports (specified by a model) can be more sophisticated than simple interfaces of objects or software components. To support such processes, we introduce an operator (apply) to express the application of parametrized models. This operator allows to specify how to obtain a model from an existing one by the application and composition of generic ones. Alternative composition sequences of parametrized models can be elaborated to build the same system model. We formalize our approach by extending the UML2 meta-model. We propose some design patterns to preserve structuration and genericity down to exploitation phase. These patterns have been experimented in different technological platforms.