Annexe VI. Fondements théoriques sur le prototypage
Chapitre 4. Concepts UML supports des concepts SIG et des entités référencées
concepts SIG et des entités référencées -
Concepts SIG implémentés dans le Profil
UML-SIG - Incidence sur les langages SIG
et pictogrammique
Avertissement : Les concepts UML adoptés pour représenter les entités référencées et leurs propriétés de
spatialité et de temporalité ont une incidence sur les langages SIG et pictogrammique formalisés au Chapitre 7, incidence qui est représentée sur le Métamodèle SIG décrit lui aussi au Chapitre 7. Il est donc recommandé de s’imprégner des concepts majeurs du Chapitre 7.
Le précédent paragraphe a présenté les idées novatrices qui vont permettre d’atteindre les trois objectifs élémentaire visés que sont la réalisation d’un outil d’aide à la conception de Systèmes d’Information Géographique, la mise en œuvre de cet outil dans un processus de développement permettant le prototypage rapide en séance d’analyse et la capitalisation de connaissances au sein de cet outil (cf. Introduction-IV).
Ces idées ont conduit à définir la méthode Continuous Integration Unified Process et à celle de l’artefact Software Development Process Model. Or pour appliquer la méthode Continuous Integration Unified Process, il faut implémenter l’artefact Software Development Process Model. Nous avons fait le choix d’utiliser un atelier de génie logiciel car le niveau de métaprogrammation permet de vérifier plus rapidement les idées novatrices.
Fin 1999, la Direction Scientifique du Cemagref a retenu l’atelier de génie logiciel Objecteering de la société Softeam comme outil de modélisation et de développement des applications informatiques et des systèmes d'information. C’est un logiciel sous licence propriétaire dont le code n’est pas libre. Pour éviter cet inconvénient, les concepteurs d’Objecteering ont implémenté un mécanisme d’extension du métamodèle du langage UML appelé
Profil
qui permet d’enrichir le métamodèle des concepts d’un domaine particulier sans en modifier le métamodèle (Atkinson et al., 2000). Ce mécanisme deProfil
est décrit dans les spécifications du langage UML (OMG, 2003a, 2005, 2006) et par de nombreux auteurs (Blanc, 2001 ; Blanc et al., 2002 ; Crégut et al., 2005 ; Riccobene et al., 2004 ; Softeam, 2003a) dont la liste exhaustive serait difficile à établir. L’extension du métamodèle est effectuée principalement grâce aux concepts UML deStéréotype
, deValeur
marquée
(cf. paragraphes III.7.1 et III.7.2 de l’Annexe I) et deContraintes
.Étendre un métamodèle avec de nouveaux concepts est une chose. Exploiter les informations que constituent ces nouveaux concepts en est une autre. Pour cela, il faut pouvoir implémenter de nouvelles fonctionnalités dans
l’atelier de génie logiciel. Objecteering dispose d’un langage de métaprogrammation, appelé J (Softeam, 2003a), qui permet de faire de l’introspection du modèle, de vérifier l’état d’un concept, de créer des interfaces, etc. Toutes ces nouvelles fonctionnalités sont attachées au profil.
Soucieux de doter l’établissement d’un outil de modélisation qui puisse être déployé dans différentes équipes, nous avons fait le choix d’implémenter l’artefact Software Development Process Model dans l’atelier de génie logiciel Objecteering.
Toutes les fonctionnalités de création de l’artefact Software Development Process Model et de ses sous- modèles ont été implémentées dans un profil appelé Profil MDA. Les transformations de gestion des concepts sont aussi réifiées au sein du profil.
Par ailleurs, la réalisation d’un outil d’aide à la conception de Systèmes d’Information Géographique étant l’un des objectifs élémentaire fixés, nous avons fait le choix de doter cet outil des langages SIG et pictogrammique (cf. Chapitre 1-V et Chapitre 7). Ces langages ont été étendus aux concepts de spatialité floue et de temporalité floue (Chapitre 8) car aucun des formalismes de conception de Systèmes d’Information Géographique n’implémente cette typologie de concepts très utiles pour décrire les concepts thématiques du domaine d’intervention privilégié des scientifiques du Cemagref : l’agriculture et l’environnement.
Ces deux langages ont été implémentés dans un profil indépendant du précédent que nous avons appelé Profil UML-SIG.
Pour réaliser le Profil UML-SIG, il faut choisir dans une première étape le concept UML qui va servir de support aux entités référencées et dans une seconde étape celui qui sera utilisé comme support des propriétés spatiales et temporelles des entités référencées.
Bien que très intéressant car il permet souvent d’étendre rapidement et à moindre coût les capacités et les fonctionnalités d’un atelier de génie logiciel, le mécanisme de profil, lorsque l’atelier utilisé est sous licence propriétaire, présente l’inconvénient d’imposer le comportement des concepts UML choisis.
Le concept UML choisi comme support de la spatialité et de la temporalité nous a imposé des contraintes d’implémentation (cf. II) qui ont nécessité de définir des règles de construction des noms internes des concepts SIG composites (cf. III).
Ces contraintes sont à l’origine d’une implémentation limitée des langages SIG et pictogrammique dans le Profil UML-SIG (cf. IV).
Sommaire détaillé
I Concepts UML supports des entités référencées dans le Profil UML-SIG ... 80
I.1 Concept UML support de la propriété thématique des entités référencées ... 80 I.2 Concept UML support de spatialité et de temporalité ... 80 I.3 En résumé ... 81II Contraintes imposées par l’atelier de génie logiciel ... 81
II.1 Unicité de stéréotypage ... 81 II.2 Unicité de position du pictogramme... 81 II.3 Conséquences sur les langages SIG et pictogrammique... 82III Règle de construction des noms des concepts SIG composites de bi-spatialité... 82
IV Langage SIG du Profil UML-SIG : Différences avec Perceptory ... 83
V Langage pictogrammique du Profil UML-SIG : Différences avec Perceptory ... 85
V.1 Spatialité et temporalité conjointe... 85 V.2 Spatio-temporalité ... 85 V.3 Cardinalité... 86VI Conclusion ... 87
I
CONCEPTS UML SUPPORTS DES ENTITES REFERENCEES DANS LE PROFIL
UML-SIG
Les Entités référencées sont des concepts thématiques qui possèdent des propriétés de spatialité et de temporalité (cf. définition 3). Pour les modéliser en langage UML, il a été nécessaire de mobiliser deux concepts UML : un premier pour représenter le concept thématique annoté par le second qui confère le statut d’entité référencée au premier.
En langage UML, une entité référencée est donc représentée par un couple de deux concepts, concepts dont nous allons approfondir l’étude dans les deux paragraphes suivants.
I.1Concept UML support de la propriété thématique des entités référencées
Les Entités référencées sont des concepts qui ont des propriétés et, en particulier, celles de spatialité et de temporalité mais elles ont aussi des comportements. En modélisation, les propriétés sont des spécifications statiques alors les comportements relèvent des spécifications dynamiques. Pour modéliser cette double typologie, le concept UML le plus approprié est sans aucun doute le concept de
Classe
(cf. Annexe I-III.1) puisque les concepts UML d’Attribut
et d’Opération
lui sont attachés. Le premier permet de représenter les spécifications statiques et le second les spécifications dynamiques.Tout naturellement, le concept de Classe a donc été retenu comme concept UML support de la propriété thématique des Entités référencées.
Ce choix est identique à celui de Perceptory qui est aussi fondé sur le langage UML. Il est équivalent d’une part, à celui MADS puisque le concept
Object
de MADS est homologue à celui deClasse
en UML (Parent et al., 2006 ; Parent et al., 1997a) et, d’autre part, à celui de STER puisque le conceptEntity Set
est le pendant dans le formalisme Entité/Relation du concept deClasse
en UML (Tryfona et al., 1998a, 1998b ; Tryfona et al., 1999).Toutefois, ces trois formalismes utilisent deux autres concepts comme support des entités référencées. Le premier est celui d’
Attribut
43 et le second est la relation reliant deux concepts qui, en langage UML estgénéralement instanciée par le concept d’
Association
53 (Parent et al., 2006 ; Parent et al., 1997a ; Tryfona et al.,1998a, 1998b ; Tryfona et al., 1999).
Dans la phase de faisabilité actuelle du Profil UML-SIG, les concepts d’Attribut et de d’Association n’ont pas été retenus. Nous avons préféré concentrer l’effort d’implémentation au seul concept de Classe et de différer la réflexion et l’implémentation en Attribut et en Association à une étape ultérieure.
Il faut signaler toutefois que la dualité Attribut/Association (cf. Annexe IV) peut, dans certains cas, être une solution d’autant plus que la transformation d’un attribut en association et inversement a été automatisée. Il faut aussi rappeler que, dans un modèle, une association peut être convertie, dans certaines conditions en
Classe
Association
et qu’il est alors possible d’annoter la classe association avec les concepts SIG.I.2Concept UML support de spatialité et de temporalité
Comme indiqué au paragraphe III.7.1 de l’Annexe I, le concept de
Stéréotype
est l’élément de modélisation de prédilection pour véhiculer une information capitale ou exprimer une propriété majeure d’un concept. En outre, le langage UML prévoit la possibilité d’associer à chaque stéréotype un pictogramme44 (OMG, 1999, 2001a, 2003a, 2005, 2006).Les caractéristiques du concept de
Stéréotype
répondent à nos deux principales préoccupations qui sont d’une part, d’ajouter aux entités référencées les propriétés majeures que sont la spatialité et la temporalité et, d’autre part, d’exprimer ces propriétés via un langage pictogrammique.Le concept de
Stéréotype a donc été adopté pour exprimer la spatialité et la temporalité des Entités
référencées en langage UML.
43 Le choix d’implémenter les entités référencées sous forme d’attribut dans Perceptory peut, dans certains contextes être en désaccord avec
les recommandations de Craig Larman (Larman, 2002a) qui préconise la représentation sous forme d’Association lorsque le concept typant l’attribut est de nature complexe. En particulier, l’annotation des attributs avec des concepts SIG composites ne respecte pas la préconisation de Craig Larman.
I.3En résumé
Lors d’une modélisation en langage UML, une entité référencée est représentée par une Classe annotée d’un Stéréotype de spatialité et/ou de temporalité.
Le choix du concept de
Stéréotype
n’est pas sans conséquence. Le paragraphe suivant présente les contraintes induites par le concept deStéréotype
et les adaptations imposées au langage pictogrammique implémenté dans le Profil UML-SIG.II
CONTRAINTES IMPOSEES PAR L’ATELIER DE GENIE LOGICIEL
II.1Unicité de stéréotypage
Le diagramme de la figure 43 présente un extrait du métamodèle de l’atelier de génie logiciel Objecteering. Il montre les méta-attributs des métaclasses
ModelElement
etStéréotype
ainsi que les relations entre ces deux métaclasses (Softeam, 2003a).Le concept de
Stéréotype
possède deux méta-attributs et en hérite un troisième de la métaclasseModelElement
. Le premier,BaseClass
, spécifie le nom de l’élément de modélisation porteur du stéréotype. Ayant fait le choix de représenter les Entités référencées par le concept UML deClasse
(cf. I.1), le méta-attributBaseClass
aura toujours pour valeur la chaîne de caractères « Class ». Le deuxième,Icon
, stocke le chemin du fichier image associé au stéréotype. Enfin, le troisième,Name
, porte le nom du concept thématique ajouté au métamodèle. Stereotype BaseClass: string Icon: string ModelElement Name: string Extension 0..* 0..1 Extension ExtendedElement Stereotype BaseClass: string Icon: string Stereotype BaseClass: string Icon: string ModelElement Name: string ModelElement Name: string ModelElement Name: string Extension 0..* 0..1 Extension ExtendedElementFigure 40Extrait du métamodèle d’Objecteering.
D’après la figure 43, tout élément de modélisation peut avoir au maximum
un et un seul stéréotype
puisque la multiplicité du méta-rôle de la méta-association Extension est 0..1.Cette multiplicité date de la version 1.3 du langage UML (OMG, 1999). Depuis la version 1.4 d’UML, la multiplicité est de 0..* (OMG, 2001a) et permet le multi-stéréotypage d’un élément de modélisation.
II.2Unicité de position du pictogramme
Dans l’atelier de génie logiciel Objecteering, les stéréotypes renseignant les classes sont affichés, sous forme textuelle, au-dessus du nom de la classe ou, sous forme pictogrammique, dans le coin supérieur à droite (cf. Annexe I-III.7.1).
La position du stéréotype est gérée en interne par l’atelier de génie logiciel. De plus, elle est imposée puisque l’atelier de génie logiciel n’offre aucune fonctionnalité pour repositionner le pictogramme.
II.3Conséquences sur les langages SIG et pictogrammique
L’unicité de stéréotypage et l’unicité de position du pictogramme ont eu trois conséquences importantes sur les langages SIG et pictogrammique :
La première est toujours liée à l’unicité de stéréotypage en relation avec le méta-attributName
. Il a été nécessaire de définir une règle de gestion des noms des stéréotypes composites de bi-spatialité. Cette règle est présentée au paragraphe III. La deuxième est induite par l’unicité de stéréotypage. Elle a imposé de réaliser pour chaque stéréotype une image représentant les propriétés de spatialité et de temporalité portées par le nom du stéréotype. Au vu du nombre de combinaisons possibles, nous avons préféré limiter la capacité d’expression du langage pictogrammique du Profil UML-SIG. Les concepts SIG finalement implémentés dans le profil sont listés au paragraphe IV. La troisième résulte de l’unicité de position du pictogramme. Elle a conduit à modifier ou à déroger à certaines conventions du langage pictogrammique définies par l’équipe d’Yvan Bédard (cf. Chapitre 7). Cela s’est traduit par une redéfinition partielle du langage pictogrammique. Les différences entre les deux langages sont présentées au paragraphe V.III
REGLE DE CONSTRUCTION DES NOMS DES CONCEPTS SIG COMPOSITES DE
BI-SPATIALITE
45Au paragraphe II.1, nous avons vu que
Name
est le seul méta-attribut disponible pour introduire les concepts SIG dans le Profil UML-SIG.Dans la mesure où le nom du concept SIG est simple, créer un stéréotype portant ce nom ne pose aucune difficulté. Par contre, en absence de multi-stéréotypage le seul moyen d’ajouter les concepts composites de bi- spatialité est de mettre en place sous forme de règle un mécanisme de concaténation entre les deux noms des stéréotypes composites de bi-spatialité permettant d’avoir un nom unique.
La règle de construction retenue est d’intercaler entre les deux noms un symbolisme rappelant la loi de composition. Par exemple, le nom d’un stéréotype de spatialité multiple résulte de la concaténation des deux noms des spatialités primitives séparés par l’opérateur
« && »
équivalent à l’opérateur mathématique⊗⊗⊗⊗
dans plusieurs langages de programmation.De fait, l’unicité de stéréotypage a conduit à implémenter dans le Profil UML-SIG sous forme de stéréotype le Langage SIG de la figure 98 incluant les noms des singletons composites de bi-spatialité.
Le Tableau 7 fournit, pour chaque type de spatialité composite, la correspondance entre la formulation mathématique et l’opérateur de concaténation des noms ainsi qu’un exemple d’application de la règle :
Type de
Spatialité
Loi de composition
46
Règle de construction
Exemple
47Spatialité
Multiple
1 p2 S ps
s
s
⊗⊗⊗⊗====
⊗⊗⊗⊗
S1&&
S2Agglomération
<< Point&&Polygone
Spatialité
Alternative
1 p2 S ps
s
s
⊕⊕⊕⊕====
⊕⊕⊕⊕
S1||
S2Bâtiment
<<Point||Polygone
45 Les concepts composites de bi-temporalité n’ont pas été implémentés dans le Profil UML-SIG (cf. paragraphe suivant) 46
Cf. les définitions 33, 35, 37 et 38.
Spatialité et
Temporalité
Conjointe
p ST pt
s
st
⊗⊗⊗⊗====
⊗⊗⊗⊗
S&&
TBâtiment
<<<<Polygone&&Période
Spatio-
Temporalité
p S p tt
s
s
<<<<<<<<====
<<<<<<<<
T T>>
SMoissonneuse
<<<< Instant>>Point
Tableau 5Règle de construction des noms des stéréotypes composites de bi-spatialité.
IV
LANGAGE SIG DU PROFIL UML-SIG :DIFFERENCES AVEC PERCEPTORY
Les concepts de spatialité et de temporalité nécessaires à la conception de Systèmes d’Information Géographique ont fait l’objet de nombreux travaux au cours de ces dernières années de la part de chercheurs, d’organismes de recherche, d’instances de normalisation, etc. (cf. Chapitre 1 et paragraphe I du Chapitre 7). Les concepts SIG primitifs de spatialité,
Point
,Ligne
etPolygone
, et de temporalité,Instant
etPériode
, sont communs à tous les formalismes, méthodes et outils de modélisation utilisés pour le développement de systèmes d’information et d’applications informatiques du domaine de l’Information Géographique.Ces concepts SIG primitifs auxquels nous avons ajouté le concept
Volume
48 ont tous été adoptés et implémentés dans le Profil UML-SIG.Dans un contexte de multi-stéréotypage et de maîtrise de la position du pictogramme, il aurait été possible de réaliser les concepts SIG composites et les pictogrammes associés à partir des concepts SIG primitifs. C’est l’implémentation réalisée dans Perceptory.
Dans le contexte d’unicité de stéréotypage et d’unicité de position, l’implémentation des stéréotypes primitifs ne pose aucun problème mais celle des stéréotypes composites devient rapidement une gageure. En effet, le nombre de combinaisons de noms et d’images à créer devient rapidement prohibitif en fonction du nombre de lois de composition adoptées.
Dans la phase de faisabilité actuelle, nous avons préféré limiter l’implémentation des concepts SIG composites aux quatre lois de composition : la loi d’addition spatiale
S
⊗
⊗⊗
⊗
, la loi de substitution de spatialité S⊕
⊕
⊕
⊕
, la loi d’addition de spatialité et de temporalité ST⊗
⊗⊗
⊗
et la loi d’affectation de temporalité à une spatialité TS
<<
<<
<<
<<
. Les concepts SIG dérivés n’ont pas été retenus pour la même raison ainsi que les concepts de spatialité et temporalité particulières. Enfin, la cardinalité des concepts SIG est prise en compte mais la convention pictogrammique associée n’a pas pu être respectée (cf. V.3).Tous ces choix sont résumés en figure 44. Elle montre en gris les concepts SIG et les lois de composition qui n’ont pas été implémentés dans le Profil UML-SIG.
Malgré ces simplifications, l’application de la règle de construction des noms de stéréotype composite de bi- spatialité (cf. III) aux 6 concepts SIG primitifs et leurs homologues flous (cf. Chapitre 8) combinés aux quatre lois de composition ci-dessus s’est traduite par la création de 176 stéréotypes et le double de fichiers images49.
Ces choix de simplification ont été adoptés en connaissance de cause car le verrou technologique imposé par l’unicité de stéréotypage sera levé avec la mise sur le marché d’une version de l’atelier de génie logiciel implémentant le langage UML 2.0. Le multi-stéréotype50 devrait alors permettre de doter le Profil UML-SIG des mêmes capacités d’expression pictogrammique que l’atelier de génie logiciel Perceptory.
48 Voir les raisons en partie Avertissements.
49 Chaque stéréotype gère 3 pictogrammes de tailles différentes. Ils sont utilisés par l’atelier de génie logiciel suivant le contexte graphique.
Dans le profil UML-SIG, il a été possible de réduire le nombre pictogrammes à 2.
Class 0..1 Cardinalité Exacte Cardinalité Optionnelle Cardinalité Intervalle
Cardinalité Concept SIG
0..1 Concept SIG Composite Concept SIG Primitif Concept de Spatialité/Temporalité Concept de Spatialité et Temporalité Conjointe Concept de Spatio-Temporalité 1 1 2 2 2 Concept de Spatialité Primitive Concept de Spatialité Alternative Concept de Spatialité Multiple Concept de Spatialité Complexe Concept de Spatialité Composite Concept de Spatialité Compliquée Concept de Spatialité Multiforme Concept de Spatialité Inconnue
Polygone Ligne Point
Volume
Polygone Dérivé Ligne Dérivée Point Dérivé Volume Dérivé Concept de Spatialité Période Instant Période Dérivée Instant Dérivé 1 1 2 2 2 Concept de Temporalité Primitive Concept de Temporalité Alternative Concept de Temporalité Multiple Concept de Temporalité Complexe Concept de Temporalité Composite Concept de Temporalité Compliquée Concept de Temporalité Multiforme Concept de Temporalité Inconnue Concept de Temporalité Class Class 0..1 Cardinalité Exacte Cardinalité Optionnelle Cardinalité Intervalle
Cardinalité Concept SIG
0..1 Concept SIG Composite Concept SIG Primitif Concept de Spatialité/Temporalité Concept de Spatialité et Temporalité Conjointe Concept de Spatio-Temporalité 1 1 2 2 2 Concept de Spatialité Primitive Concept de Spatialité Alternative Concept de Spatialité Multiple Concept de Spatialité Complexe Concept de Spatialité Composite Concept de Spatialité Compliquée Concept de Spatialité Multiforme Concept de Spatialité Inconnue
Polygone Ligne Point
Volume
Polygone Dérivé Ligne Dérivée Point Dérivé Volume Dérivé Concept de Spatialité Période Instant Période Dérivée Instant Dérivé 1 1 2 2 2 Concept de Temporalité Primitive Concept de Temporalité Alternative Concept de Temporalité Multiple Concept de Temporalité Complexe Concept de Temporalité Composite Concept de Temporalité Compliquée Concept de Temporalité Multiforme Concept de Temporalité Inconnue Concept de Temporalité 0..1 Cardinalité Exacte Cardinalité Optionnelle Cardinalité Intervalle Cardinalité 0..1 Cardinalité Exacte Cardinalité Optionnelle Cardinalité Intervalle Cardinalité Cardinalité Exacte Cardinalité Optionnelle Cardinalité Intervalle Cardinalité Exacte Cardinalité Exacte