• Aucun résultat trouvé

Concepts UML supports des concepts SIG et des entités référencées

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 de

Profil

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 de

Stéréotype

, de

Valeur

marquée

(cf. paragraphes III.7.1 et III.7.2 de l’Annexe I) et de

Contraintes

.

É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é ... 81

II 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... 82

III 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é... 86

VI 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 de

Classe

en UML (Parent et al., 2006 ; Parent et al., 1997a) et, d’autre part, à celui de STER puisque le concept

Entity Set

est le pendant dans le formalisme Entité/Relation du concept de

Classe

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 est

gé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 de

Stéréotype

et les adaptations imposées au langage pictogrammique implémenté dans le Profil UML-SIG.

II

CONTRAINTES IMPOSEES PAR LATELIER 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

et

Sté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étaclasse

ModelElement

. 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 de

Classe

(cf. I.1), le méta-attribut

BaseClass

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 ExtendedElement

Figure 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-attribut

Name

. 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

45

Au 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

47

Spatialité

Multiple

1 p2 S p

s

s

s

⊗⊗⊗⊗

====

⊗⊗⊗⊗

S1

&&

S2

Agglomération

<<    

Point&&Polygone

Spatialité

Alternative

1 p2 S p

s

s

s

⊕⊕⊕⊕

====

⊕⊕⊕⊕

S1

||

S2

Bâ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 p

t

s

st

⊗⊗⊗⊗

====

⊗⊗⊗⊗

S

&&

T

Bâtiment

<<<<

Polygone&&Période

Spatio-

Temporalité

p S p t

t

s

s

<<<<<<<<

====

<<<<<<<<

T T

>>

S

Moissonneuse

<<<<   

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

et

Polygone

, et de temporalité,

Instant

et

Pé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é T

S

<<

<<

<<

<<

. 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