Exemples de schémas conceptuels dynamiques et statiques

Le formalisme de spécification formelle Express-G

La totalité des informations du modèle IFC figure dans des schémas conceptuels reliés les uns aux autres (24 dans la révision 2). Ils sont difficiles à lire parce que justement toutes les entités y figurent, exprimées avec le détail requis pour les informaticiens.

En tant qu'utilisateur des IFC, vous n'êtes pas obligés de savoir lire ces schémas.

Mais si votre objectif professionnel est de devenir expert des outils informatiques en architecture, ingénierie ou construction, ce qui vous oblige à dialoguer avec par exemple des développeurs d'interfaces IFC, cette compétence est indispensable, nous l'avons souligné tout au long de ce cours.

Les auteurs du modèle (BuildingSmart) ont privilégié le langage de description de base de données normalisé ISO EXPRESS[1]. Il était donc naturel qu'ils choisissent un formalisme de spécification graphique en relation avec ce langage. C'est EXPRESS-G[2], qui autorise l'usage d'outils logiciels de traduction de diagrammes directement en instructions de langage.

Ce qui ne fait pas votre affaire, car ce choix vous oblige, cher lecteur, à apprendre une méthode de spécification de plus !

Mais ce sera continuellement le cas durant toute votre vie professionnelle ! Autant vous habituer tout de suite à circuler d'une méthode à l'autre. Ce qui n'est pas bien difficile, car les concepts fondamentaux sont toujours les mêmes. Et puis, possédant déjà les méthodes NIAM[3] et UML[4], ce sera pour vous un jeu d'enfants !

Nous donnons ci-après la syntaxe graphique d'EXPRESS-G[2], avec quelques commentaires.

Pour plus de détails, vous pouvez consulter les documents normalisés ISO de STEP : l'annexe D du volume 11.

Concept et syntaxe Express-G

Commentaires

Entité (entity-name)

Nom de l'entité.

Classe[5] d'objets dans UML[4].

Concept[6] dans NIAM[3].

L'entité peut être un attribut[7].

Type défini ( new-defined-data-type)

Nom du type défini.

Type d'entité très utilisé dans les IFC.

Correspond au type défini de l'arborescence en annexe, qui est une.

Spécialisation de la classe décrite, et dont le nom est normalisé par les IFC ou les utilisateurs.

Type de données construit :

SELECT et ENUMERATION

Type de données construit.

Donne des indications sur la manière dont on construit ces données par sélection ou énumération à partir d'une classe.

Pour les informaticiens.

Type de données simple

Par exemple :

Type de donnée pour les informaticiens.

Indication sur le type de données pour les informaticiens (type entier, réel, chaîne de caractère).

Relations

On distingue dans l'ordre d'importance :

les relations d'héritage

les relations entre entité

les relations de type attribut.

On retrouve les mêmes concepts dans NIAM et UML, avec des nuances.

Héritage simple

Héritage simple.

Le sens de la relation est donné par le petit cercle placé contre le rectangle de l'entité sous-type.

Le trait de la relation est épais

Héritage avec contrainte d'exclusion

Héritage avec contrainte d'exclusion.

Pour exprimer que l'on doive choisir un seul des deux descendants à la fois, (contraintes d'exclusion dans NIAM[3]), on marque le chiffre un sur l'arborescence comme dans NIAM[3] et UML[4], l'héritage multiple n'est pas formalisé.

Relation simple

Relation simple.

Dans le cas général, c'est un trait mince entre les deux entités.

Sans autre indication, il n'y a pas de de sens privilégié dans la relation.

Exemple : relation entre un objet et un attribut[7].

Pas de nom à cette relation.

Trait en pointillé si attribut[7] optionnel.

Relation à sens prioritaire

Relation à sens prioritaire.

C'est la majorité des cas.

On précise toujours le nom de la relation dans le sens prioritaire, qui s'identifie ainsi à l'un des deux rôles[8] dans NIAM[3].

Relation qualifiée dans les 2 sens

Relation qualifiée dans les 2 sens.

On précise en plus le nom de la relation dans le sens inverse au sens prioritaire.

Ainsi l'information est équivalente aux deux rôles[8] de NIAM[3] ou UML[4].

Mettre le nom sous le trait, précédé du sigle (INV).

Contraintes de cardinalité

Contraintes de cardinalité.

Par défaut, au moins 1, donc plusieurs.

C'est différent de NIAM[3] (0 autorisé).

En général, après le nom de la relation, on place entre parenthèse les cardinalités minimales et maximales, précédées d'une lettre dont le sens est réservé aux informaticiens : tableau, liste ...

? signifie que le "Max" n'est pas défini.

Contrainte autres que cardinalités

Contraintes autres que cardinalité.

Quand une entité fait l'objet d'une règle dans une relation, on inscrit un astérisque précède le nom de l'entité objet ou attribut.

D'autres nuances peuvent être exprimées pour le type des attributs. Nous n'entrerons pas dans le détail d'Express-G.

  1. EXPRESS : Langage formel normalisé, pour décrire la structure de bases de données orientées objets. EXPRESS est un outil de STEP. Le C.S.T.B. a développé un traducteur de schémas NIAM, qui produit des instructions EXPRESS.

  2. EXPRESS-G : Formalisme graphique pour décrire une structure de base de données, comme pour NIAM. L'avantage d'EXPRESS-G sur NIAM est qu'il constitue un outil de STEP, qui permet immédiatement d'obtenir une traduction de la base de données, en langage EXPRESS. Inconvénient : il est moins pédagogique que NIAM. EXPRESS-G est donc réservé aux informaticiens.

  3. NIAM : Nijssen Information Analysias Method. Méthode de spécification formelle de données, utilisable dans n'importe quel domaine pour décrire sans ambiguïté une organisation de concepts, d'objets, y compris les relations et attributs associés. Cette méthode est normalisée (STEP et ISO en 1983).

  4. UML : Unified Modeling Language : méthode de spécification formelle résultat d'une synthèse entre les trois méthodes OMT, Booch et OOSE.

  5. Classe

    Dans un LOO, et dans les IFC, une classe regroupe des objets de même type, possédant des propriétés et un comportement semblable.

  6. concept

    Dans un modèle conceptuel, c'est une classe (unique) d'objets pertinente pour décrire le système d'information et son organisation sémantique.

  7. attribut

    Champs — ou données — décrivant la structure interne d'un objet, dans le contexte de la programmation orientée objet.

  8. rôle

    En spécification formelle, et surtout dans NIAM, un rôle formalise l'expression d'une relation orientée entre deux concepts.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)