Méta-modélisation et Référentiels d’Entreprise 27/03/2017 Méta-modélisation et Référentiels d’Entreprise Mariano Belaunde, France Telecom - CNET
PLAN 1) Principes de la méta-modélisation 27/03/2017 PLAN 1) Principes de la méta-modélisation 2) L’Outillage Univers@lis pour la méta-modélisation 3) Construction de Référentiels d’Entreprise
Principes de la méta-modélisation (1) 27/03/2017 Principes de la méta-modélisation (1) Wfmc L ’architecture à quatre niveaux (standard OMG MOF)
Principes de la méta-modélisation (2) 27/03/2017 Principes de la méta-modélisation (2) M3 classe, relation, héritage, attribut ... Langage universel pour décrire des concepts M2 activité, acteur, ressource, séquencement ... Mon modèle générique de processus M1 analyse/conception/dev, source C, chef de projet... Mon processus de développement
Principes de la méta-modélisation (3) 27/03/2017 Principes de la méta-modélisation (3) Analyse Conception Developpement Analyste Analyse:Activité Conception: Activité Analyste:Acteur Activité Acteur réaliséPar 1 Ressource produit consomme suivant M1 M2 Mon processus de développement
Principes de la méta-modélisation (4) 27/03/2017 Principes de la méta-modélisation (4) Classe Association Attribut Rôle type hérite Activité Acteur réaliséPar 1 Ressource produit consomme suivantt Mon modèle générique de processus M3 : Rôle Activité:Classe réaliséPar:Association : Rôle M2 Acteur: Classe
Principes d’Implantation 27/03/2017 Principes d’Implantation Mapping direct vers des langages de programmation objet (classes, héritage, relations, instanciation). Uniformisation des API (génération automatique et règles génériques) Uniformisation de la représentation textuelle pour l ’externalisation des instances.
Positionnement des standards 27/03/2017 Positionnement des standards OMG MOF (Méta Object Facility) standard de méta-modélisation OMG UML notation graphique pour la modélisation OCL (Object Constraint language) Pour mieux approcher la sémantique d’un modèle. XML Publication des contenus sur le WEB, format d’échange (XMI)
La norme OCL Context Person inv: self.wife->notEmpty implies 27/03/2017 La norme OCL Context Person inv: self.wife->notEmpty implies self.wife.sex = #female
Univers@lis: Un référentiel d’instances générique 27/03/2017 Univers@lis: Un référentiel d’instances générique http://universalis.elibel.tm.fr/ MOF Mon méta-modèle de processus (proc) UML Mon modèle de Banque (banque) Base MOF Base UML Base proc Base banque mof proc uml banque Mon processus de développement - Support opérationnel d’un modèle objet (par la production automatique de la hiérarchie de classes associée). - Stockage persistant des instances d ’un modèle (enregistrement dans un espace hiérarchique)
Univers@lis: Architecture 27/03/2017 Univers@lis: Architecture BOOT proc.spec 3 uml.spec Boot API mof.spec genApi xxx/boot APIs Bases d’instances proc reflect uranus proc venus mof moon uml any import/export uml 1 mof 4 XMI tool AGL UML 5 6 2
Univers@lis: Génération des API 27/03/2017 Univers@lis: Génération des API Activity String getName() void setName() Actor getPerformer() void setPerformer() void unsetPerformer() Enumeration getOutputs() void addOutput(Ressource) void removeOutput(Ressource) void removeOutputs() Activity Actor performer 1 Ressource output input next n n <<implements>> ActivityImpl
Univers@lis: Représentations textuelles Génériques 27/03/2017 Univers@lis: Représentations textuelles Génériques Analyse Conception Développement Analyste Activity Actor performer 1 Ressource output input next n Défini par XMI <Activity xmi.id=analyse> <name>Analyse</name> <performer> <Actor xmi.idref=analyste\> </performer> <next> <Activity xmi.idref=conception\> </next> …. </Activity> Activity analyse { name=« Analyse »; performer: ref Actor analyste; next: ref Activity conception; …. } JMI
Univers@lis: Représentations textuelles Génériques (2) 27/03/2017 Univers@lis: Représentations textuelles Génériques (2) Aend Attribute Activity Actor performer 1 Ressource output input next n Défini par connection type Class Association supertype <Association xmi.id=performer> <connection> <Aend > <type> <Class xmi.idref=actor> </type> </Aend> <Class xmi.idref=activity> XMI JMI Association performer { connection: Aend src{ type: ref Class actor; } AEnd dest { type: ref Class activity; ...
Univer@lis:Propriétés 27/03/2017 Univer@lis:Propriétés Encapsulation Enregistrement Flexibilité Session open() close() loadObject() registerObjectAs() createContext() flush() ... Model containment versus OID containment Attribute Default Values Proxy Management Restricted Navigability Naming Hierarchy - contexts - root objects - sub-objects Explicit Registration File System, Data bases,...
Construction de Référentiels d’Entreprise 27/03/2017 Construction de Référentiels d’Entreprise Référentiel d'objets métiers Référentiel de spécifications de gestion de réseau Référentiel de composants logiciels Référentiel de processus intranet
Construction de Référentiels d’Entreprise (2) 27/03/2017 Construction de Référentiels d’Entreprise (2) Référentiel d'Eléments de Service Référentiel de spécifications de gestion de réseau Elément de Service Service Interface n Policy n Action Role 1 Référentiel d'objets métier Processus Rôle performer 1 Ressource output input next n Référentiel de composants logiciels Composant Composite n Configuration
Construction de Référentiels d’Entreprise (3) 27/03/2017 Construction de Référentiels d’Entreprise (3) Référentiel d'objets métier Vers l’automatisation: - Règles de transformation - Modélisation de la structure du référentiel processus rôles ressources pr/pr pr/rôles pr/ress ress/pr ress/rôles Reformatage des données XML Externalisation Base d’instances
Construction de Référentiels d’Entreprise (4) 27/03/2017 Construction de Référentiels d’Entreprise (4) Référentiel d'objets métiers Référentiel de spécifications de gestion de réseau XML + méta-modélisation Référentiel de composants logiciels Référentiel de processus logiciels Partage de l’information via les référentiels
Conclusion Les techniques de méta-modélisation peuvent aider: 27/03/2017 Conclusion Les techniques de méta-modélisation peuvent aider: A mieux maîtriser la cohérence de des données de l’entreprise. Fournit un cadre permettant d ’homogénéiser la représentation de l ’information. La standardisation (MOF, UML, XML) progresse mais reste incomplète.