<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Approche pour la génération des Diagrammes UML à partir de l'Univers de Discours et l'ontologie de domaine</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Khadir Bekki</string-name>
          <email>Bekki_kh@Yahoo.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ghalem Belalem</string-name>
          <email>Ghalem1dz@Yahoo.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Département Informatique, Faculté des Sciences et Sciences de l'Ingénieur, Université de Tiaret</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Département Informatique, Faculté des Sciences, Université d'Oran (Es-Sénia) BP 1524, El M'Naouer</institution>
          ,
          <addr-line>Oran, Algérie</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Mots clés : CSDP, NIAM, Système d'information</institution>
          ,
          <addr-line>UML, ORM, Ontologie</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Résumé. Aujourd'hui, le langage de modélisation unifié (UML) a été largement accepté par l'industrie et s'est établi comme le langage commun pour l'analyse et la conception en génie logiciel orienté objet. Néanmoins, il souffre de manque d'outils et de syntaxe qui lui permettent de raffiner davantage la sémantique de données à partir de l'univers de discours. Ce raffinement est maîtrisé dans la méthode Niam (Nijssen Information Analysis Methodology), qui se base sur la modélisation des systèmes d'informations à partir des exemples simples du domaine en utilisant une procedure appelée CSDP (Conceptual Schema and relational database Design Procedure). Afin de bénéficier de la puissance de cette procédure pour l'élaboration de diagrammes UML sémantiquement plus expressifs, on propose dans cet article, une adaptation de CSDP à la notation UML. L'utilisation des ontologies dans le développement des systèmes d'informations peut servir divers aspects. Elle permet d'optimiser l`analyse conceptuelle, de minimiser l'intervention de l'expert de domaine, d'enrichir la conception, d'éviter l'ambiguïté dans la spécification et de soutenir l'automatisation du processus de vérification de la fiabilité des systèmes. Notre approche est consolidée par l'utilisation de l'ontologie de domaine, afin de générer des diagrammes UML sémantiquement riches.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        La capture des informations pose un problème dû essentiellement à
l'hétérogénéité des acteurs qui vont créer le système. Il fallait donc proposer une
méthodologie qui permette une communicabilité importante et des facilités d’utilisation telles
que toutes les populations d’intervenants puissent se retrouver face à des mêmes
modèles dans un langage universel. Le seul moyen que tous les hommes aient en
commun c’est le langage naturel. Toute phrase peut se ramener à la forme
sujetverbe-complement. Cette forme peut être facilement formulée par des prédicats
binaires. Pour cela, Nijssen [
        <xref ref-type="bibr" rid="ref13 ref3">3,13</xref>
        ] a mis au point une méthode appelée Niam pour la
construction de schémas conceptuels de base de données en utilisant le modèle relationnel
binaire. Son principe est d'exprimer ce que l'on veut à l`aide de phrases simples
(indécomposables) sans perte d'informations. Cette méthode a prouvé une puissance
sémantique dans la capture des données nécessaires à partir du domaine de l'U°D
(Univers de Discours). L'un des facteurs de sa puissance est la possession d'une procédure
nommé CSDP permettant de passer des rapports de sortie et/ou formulaires d'entrée
en un schéma conceptuel [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Ce travail a pour objectif de proposer une démarche
nommée UDDPO (Uml Diagrams Design Procedure based Ontology) similaire à celle
de la procédure CSDP de Niam pour obtenir des modèles orientés objets d'UML
(diagramme de classes et diagramme d'objets) [
        <xref ref-type="bibr" rid="ref1 ref11 ref14 ref16 ref2">1,2,11,14,16</xref>
        ] à partir d'une partie de
l'U°D (tableaux, rapports,…), tout en bénéficiant de la puissance de cette procédure
dans le raffinement des modèles de structures d'UML.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 Présentation de la CSDP</title>
    </sec>
    <sec id="sec-3">
      <title>Design Procedure based</title>
      <p>
        La démarche proposée est inspirée de la procédure CSDP et basée sur un ensemble de
règles proposées dans les travaux de Halpin [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ][
        <xref ref-type="bibr" rid="ref5">5</xref>
        ][
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ][
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] et enrichie par l'utilisation
de l'ontologie de domaine.
      </p>
      <sec id="sec-3-1">
        <title>3.1 Des exemples aux concepts élémentaires</title>
        <p>Les Uses cases de la notation UML ont pour objectifs de modéliser un processus,
capter les différentes spécifications. D'une façon analogue à la CSDP, on commence
par les exemples familiers de l'univers de discours. Ces Data Uses cases peuvent être
souvent augmentés par des informations de différents types (tables, formes,
graphiques, diagrammes). Donc, cette étape consiste à la verbalisation de ces
exemples en phrases simples (idées élémentaires).
Employé avec le nom ‘Jones’ travaille dans le département de code ‘D1’ ;
Employé avec le nom ‘Jones’ a une situation familiale de code ‘M’;
Employé avec le nom ‘Fegan’ est un superviseur de l’employé avec le nom ‘Jones’
Employé avec le nom ‘Edwards’ occupe la fonction 'acheteur'.</p>
        <p>Employé avec le nom ‘Giles’ occupe la fonction 'vendeur'.</p>
        <p>Employé avec le nom ‘Jones’occupe la fonction 'Chef de serv. mouvements produits'.
Employé avec le nom ‘Fegan’ occupe la fonction 'Chef de département commercial'
Le mariage de l'employé avec le nom 'Giles' était en ‘1975’.</p>
        <p>Le superviseur avec le nom ‘Jones’ a le numéro de téléphone ‘3715821’
Le superviseur avec le nom ‘Jones’ a un nombre d'enfants égal à ‘2’
Chaque superviseur supervise au maximum deux employés.
ii) Vérification de qualité sur les idées élémentaires
La vérification consiste à se poser les questions suivantes :</p>
        <p>Situation N° Tel
familiale
(Sit fam)
M</p>
        <p>3715821
C
M
3783437</p>
        <p>Année
Mariage
1964
Est-ce que les relations sont bien identifiées ? Est-ce que les relations peuvent être
divisées en idées plus petites sans perte d'informations ?</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Premier brouillon élémentaire des diagrammes de classes et d’objets et de cas d'utilisation</title>
        <p>
          Cette étape consiste à dessiner un diagramme de classes à partir des relations
élémentaires exprimées. Tout d'abord, on présente un diagramme d'occurrences à partir des
relations élémentaires (idée élémentaire) au sens de Niam [
          <xref ref-type="bibr" rid="ref12 ref13 ref15">12,13,15</xref>
          ], on aura le
diagramme d’occurrences suivant:
        </p>
        <p>E m p l o y é
D é p a r t e m e n t .</p>
        <p>A v e c n o m
A v e c D e p t #
J o n eEsd w a Grdisl e s</p>
        <p>F e g a n
N o m E m p l o y é
D 1</p>
        <p>D 2</p>
        <p>D e p t #
C h e f D p t AC cohme t e u r</p>
        <p>V e n d e u r</p>
        <p>C h e f s e r v M v t</p>
        <p>F o n c t i o n
On reconnaît trois types d'objets. les entités sont les objets simples dans l'U°D. Les
étiquettes sont les objets lexicaux qui sont utilisées pur se référer aux entités. Dans
certains cas, on considère les objets et leurs relations comme des objets et on les
appellera des objets composés.</p>
        <p>F o n c tio n</p>
        <p>O c c u p é e p a r o c c u p e</p>
        <p>
          Fig. 2. Diagramme de schéma conceptuel correspondent en Niam
Pour représenter les diagrammes de classes et d'objets, on s'est basé sur un ensemble
de règles proposées dans [
          <xref ref-type="bibr" rid="ref7 ref8">7,8</xref>
          ]:
- Les classes utilisées pour illustrer les types d'entités (NO Lexical Object Type);
- Les objets pour illustrer les entités;
- Les associations pour illustrer les types d'idées;
- Les liens pour illustrer les idées;
- Les rôles en UML pour illustrer les rôles de point de vue Niam;
- Les attributs pour illustrer les types d'étiquettes (Lexical Object Type) en Niam;
Concernant le premier diagramme d'utilisation, on transforme les associations en cas
d'utilisation et les objets en acteurs.
        </p>
        <p>On commence par présenter un diagramme d’objets pour les idées exprimées :</p>
        <p>Vendeur:Fonction
Chef serv Mvt:Fonction</p>
        <p>Acheteur:Fonction
Chef dpt Com:Fonction</p>
        <p>Giles:Employé
Superviseur</p>
        <p>Jones:Employé
Superviseur</p>
        <p>Edwards:Employé</p>
        <p>Superviseur
Fig. 3. Diagramme d’objets d’UML</p>
        <p>Fegan:Employé</p>
        <p>D1:Dept
D2:Dept</p>
        <p>Le diagramme de classes déduit à partir du diagramme d’objets est représenté par
la figure suivante :</p>
        <p>Employé
Nom</p>
        <p>Sitfam</p>
      </sec>
      <sec id="sec-3-3">
        <title>Arrangement des diagrammes et identification des attributs dérivés</title>
        <p>Ayant dessiné notre premier brouillon du diagramme du schéma conceptuel et
accompli une vérification de population. Cette étape consiste à éliminer les associations
en surplus ou les rôles communs et identifier n'importe quelles attributs dérivés. Dans
cette étape, les questions pertinentes que nous nous posons, peuvent être résumées
ainsi :
1. Est ce qu'un objet peut être instance de deux classes? Si oui combiner les classes
en une seule.
2. Est ce que des objets de classes différentes peuvent être comparées d'une façon
significative? Si oui combiner les classes en une seule.
3. Est ce que toutes les instances de deux classes différentes peuvent jouer le même
rôle? Si oui combiner les classes en une seule et si nécessaire ajouter une nouvelle
classe aux deux pour préserver la distinction originale.
4. Est ce qu'un attribut est dérivable à partir d'autres attributs ? Si c'est le cas,
marquer le début de l'attribut dérivé par un slach "/" (selon la documentation d'Uml)
ou le transformer en une opération qui encapsule le calcul de l'attribut.
5. Est-ce qu'il y a des cas d'utilisation ou acteurs en surplus? Si oui les supprimer.
6. Est ce que des cas d'utilisation différents peuvent être comparées d'une façon
significative? Si oui combiner les cas d'utilisation en un seul.</p>
        <p>En vérifiant notre brouillon de schéma conceptuel, on trouve que la valeur de
Allocation enfants peut être dérivée de la valeur de Nombre d’enfants par la règle
suivante : Allocation enfants=500*nombre enfants, alors on applique la règle 4 sur le
schéma conceptuel de Superviseur marié, on obtient :</p>
        <p>Superviseur M arié
N bre enfants
/A llocation enfants ()</p>
        <p>
          Quant au cas d'utilisation, on constate que les deux cas d'utilisation travail et
occupation peuvent être combinés en un seul par exemple tache. Les acteurs
département et fonction sont des acteurs en surplus, on les supprime.
Dans cette étape, on ajoute les contraintes de multiplicité dans le diagramme de classe
obtenu, à partir des règles de passage présentées dans [
          <xref ref-type="bibr" rid="ref8 ref9">8,9</xref>
          ] (voir Fig. 6) et de la
population de départ.
        </p>
        <p>a
a
b
b
1 :N
Pour la population des classes dans les associations, on applique la multiplicité sur les
associations, et pour la population des attributs, on applique la multiplicité sur les
attributs. Quant aux contraintes sur la population qu’on ne peut pas exprimer à l’aide
de contraintes dans Uml, on utilise les notes textuelles.</p>
        <p>A
(Anr)
xz/st</p>
        <p>B
(Bnr)</p>
        <p>A
Anr{P}
xz_B[ ?..1] :bnr</p>
        <p>B
Bnr{p}
st_A[?..*]: anr
chaque élément de st_A référencie au
maximum un seul B
Cette étape vérifie que les relations ont un ordre exact. Si nous sommes plus précis
dans les étapes précédentes, alors cette étape n’est pas exigée.</p>
        <p>On vérifie l’ordre d’une association (type idée au sens Niam) de telle sorte qu’elle ne
soit ni trop longue, ni trop courte par rapport à ce qu’elle doit être. Trois démarches
sont possibles:
1. Utiliser le bon sens ou la connaissance antécédente de l’U°D pour décider si
l’information sera perdue par une division d’association.
2. Utiliser les règles de division de la petite clé.
3. Fournir une table d’idée significative pour l’association, diviser ceci par
projection et ensuite re-combiner par jointure naturelle. Si de nouvelles instances
apparaissent alors l’association est indivisible.
4. Pour les cas d'utilisation, on substitue les cas d'utilisation génériques par des cas
d'utilisation spécifiques.</p>
        <p>Dans notre exemple, on substitue le cas d'utilisation "tache" par les activités
spécifiques pour chaque fonction.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Adjonction des contraintes de multiplicité, d’agrégation, de généralisation et de fréquence et les liens d'extension et d'utilisation.</title>
        <p>Elles spécifient une restriction sur les valeurs possibles des instances d’un type
d’entité données.</p>
        <p>i) Les rôles impératifs et optionnels
Dans la notation UML, il n’existe pas une syntaxe pour exprimer qu’un rôle est
impératif. Alors, on exprime ça par une contrainte textuelle ajoutée comme note.</p>
        <p>ii) L’agrégation
Une agrégation représente une association non symétrique dans laquelle une des
extrémités joue un rôle prédominant par rapport à l’autre extrémité. La contribution de
l’expert de l’U°D est importante pour déterminer les relations d’agrégations entre les
classes. La composition est un cas particulier de l’agrégation. Elle implique une
contrainte sur la valeur de la multiplicité du coté de l’agrégat. : elle ne peut prendre
que les valeurs 0 ou 1.</p>
        <p>
          La composition et les attributs sont sémantiquement équivalents. La notation par
composition s’emploie dans un diagramme de classes lorsqu’un attribut participe à
d’autres relations dans le modèle [
          <xref ref-type="bibr" rid="ref11 ref14 ref2">2,11,14</xref>
          ]. A partir de cette définition, on peut noter
que, si un attribut participe dans une relation dans le modèle et que sa participation
est validée par une population du domaine, alors il devient une classe composite.
        </p>
        <p>
          iii) La généralisation
Pour identifier les relations de généralisation entre les différentes classes, on utilise
soit :
- Notre intuition et l’assistance de l’expert de l’U°D,
- Une technique connue par l’analyse de la matrice de sous typage [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Supposons
qu’on a une entité A et qu’on veut lui appliquer le sous typage, on commence par
diviser A en groupes où chaque membre d’un groupe a exactement le même rôle
enregistré. Les détails enregistrés pour chaque membre de A forment
l’enregistrement du modèle. Plusieurs groupes doivent avoir des modèles
différents. Ayant partitionné A en groupes sur des modèles de base, nous les affichons
à l’aide d’une matrice Partitions/Détails.
Fig. 12. Diagramme de classes d’UML
        </p>
      </sec>
      <sec id="sec-3-5">
        <title>3.7 Alignement avec l’ontologie de domaine.</title>
        <p>Pour enrichir la sémantique de la conception obtenue, minimiser l’intervention de
l’expert de domaine, nous utilisons l’ontologie de domaine.</p>
        <p>
          L’identification des relations de l’univers de discours à travers de l’ontologie de
domaine se base sur la similarité des classes de modèle et les concepts (ou classes) de
l’ontologie. Ainsi, une classe de modèle est similaire à une classe de l’ontologie [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ],
si :
- Les deux entités (classe et concept) possèdent le même nom.
- Les deux entités (classe et concept) possèdent les mêmes attributs.
        </p>
        <p>- Ils ont en commun un certain nombre d’attributs.</p>
        <p>Notons ici que l’enrichissement du schéma conceptuel par les concepts de l’ontologie
est relatif à l’intervention du concepteur validant les résultats.</p>
        <p>
          Dans notre exemple, nous utilisons une ontologie de domaine d’une organisation qui
décrit le domaine d’une personne et ses intérêts [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
        <p>Les classes et les propriétés de cette ontologie sont :</p>
        <p>Personne</p>
        <p>Employé
Organisation Membre de (Personne, Groupe social)
Repos Travaille a (Employé, Organisation)
Assurer (Employé, Fonction).</p>
        <p>Avec l’utilisation de l’ontologie du domaine, la description de la classe employé est
plus détaillée et le diagramme est enrichi avec une nouvelle classe ‘groupe social’ et
une nouvelle association ‘est membre de’.</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.8 Contraintes lexicales et qualifications</title>
        <p>Dans cette étape on spécifie les contraintes lexicales sur les attributs, sur la base de la
population de domaine ou on utilise l’avis de l’expert de l’U°D.</p>
        <p>Dans notre exemple, l’attribut nom de la classe Employé, par exemple, est une chaîne
de taille de 20 caractères. Alors, on ajoute le type chaîne à coté de cet attribut.
Les restrictions sur les associations (clés) peuvent être spécifiées par des
qualifications.</p>
      </sec>
      <sec id="sec-3-7">
        <title>3.9 Contraintes supplémentaires</title>
        <p>Les contraintes d’égalité, d’exclusion et de sous ensemble peuvent être appliquées sur
les associations. La syntaxe d’UML permet de représenter les contraintes ou-exclusif,
disjoint, incomplet, complet, …, sur les associations.
Cette étape consiste à vérifier que le schéma conceptuel est consistant avec les
exemples originaux , qu’ il n’est pas redondant et qu’il est complet. On distingue deux
étapes :- On vérifie si les contraintes exprimées sont validées par la population
initiale, sinon on effectue des modifications nécessaires.
- On élimine la redondance des classes, des attributs et associations.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Conclusion</title>
      <p>Pour élaborer des diagrammes UML sémantiquement riche et de qualité meilleure,
nous avons proposée dans cet article une approche hybride (ascendante et
descendante) faisant intervenir des sources sémantiques : de bas niveau d’abstraction (i.e.
des exemples d’un système existant : tables, états…) et de haut niveau d’abstraction
(i.e. l’ontologie de domaine).</p>
      <p>La capture de la sémantique dans notre démarche s’est matérialisée par plusieurs
façons, à savoir :La reprise de l’existant par des exemples significatifs de l’univers
de discours, les connaissances de l’expert de domaine, l’utilisation d’un langage
pseudo naturel pour assurer une meilleure communication entre les intervenants
(l’expert, l’utilisateur et le système),utilisation de l’ontologie de domaine.
L’usage des ontologies dans le processus de spécification des systèmes d’information
est une discipline récente. Il permet de faciliter le processus d’identification des
besoins du système et de comprendre les liens sémantiques de ses composants et de
réduire considérablement le temps nécessaire pour l’analyse conceptuelle.
Le processus de notre démarche appelée UDDPO (UML Diagram Design Procedure
based on Ontology) se déroule en dix étapes successives, il commence par la
verbalisation des exemples de l’univers de discours et se termine par la génération du
schéma conceptuel en UML.</p>
      <p>L’approche actuelle permet d'élaborer les digrammes de classes, d'objets et de cas
d'utilisation UML. Elle pourrait être étendue pour élaborer les autres diagrammes en
utilisant les ontologies de tâches ou d’autres techniques.</p>
      <p>Cette proposition pourrait être adaptée à la re-ingénierie des ontologies et la
reingénierie des applications web en des applications orientées services web en
exploitant l'ontologie de tache OWL-S.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Andre</surname>
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Vailly</surname>
            <given-names>A.</given-names>
          </string-name>
          «
          <article-title>Spécification des logiciels : Deux exemples de pratiques récentes (Z et UML) »</article-title>
          , Ellipses,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Booch G. Rumbaugh J. Jacobson</surname>
            <given-names>I.</given-names>
          </string-name>
          «
          <article-title>The Unified Modeling Language User Guide»</article-title>
          ,
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          , Reading MA, USA,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Habrias</surname>
            <given-names>H.</given-names>
          </string-name>
          «
          <article-title>Le modèle relationnel binaire : Méthode IA (NIAM)»</article-title>
          , Eyrolles,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Halpin</surname>
            <given-names>T. A.</given-names>
          </string-name>
          «
          <article-title>Object Role Modeling (ORM/NIAM) », Handbook on Architectures of Information Systems</article-title>
          , P. Bernus,
          <string-name>
            <given-names>K.</given-names>
            <surname>Mertins</surname>
          </string-name>
          &amp; G. Schmidt eds, Springer-Verlag, Berlin, pp.
          <fpage>81</fpage>
          -
          <lpage>101</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Halpin</surname>
            <given-names>T. A.</given-names>
          </string-name>
          «
          <article-title>Object Role Modeling: an overview</article-title>
          »,
          <year>1998</year>
          , available online at http://www.orm.net/overview.html.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Halpin</surname>
            <given-names>T. A.</given-names>
          </string-name>
          «
          <article-title>UML data models from an ORM perspective: Parts 1-10»</article-title>
          , Journal of Conceptual Modeling, InConcept,
          <string-name>
            <surname>Minneapolis</surname>
            <given-names>USA</given-names>
          </string-name>
          ,
          <year>1998</year>
          , available online from: www.orm.net/uml_orm.html.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.A.</given-names>
          </string-name>
          <string-name>
            <surname>Bloesch</surname>
            ,
            <given-names>A.C.</given-names>
          </string-name>
          <year>1998</year>
          , '
          <article-title>A comparison of UML and ORM for data modeling'</article-title>
          ,
          <source>Proc. EMMSAD'98: 3rd IFIP WG8.1 Int. Workshop on Evaluation of Modeling Methods in Systems Analysis and Design</source>
          , Pisa, Italy (June).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Halpin</surname>
            <given-names>T. A.</given-names>
          </string-name>
          «
          <article-title>Data modeling in UML and ORM revisited»</article-title>
          ,
          <source>Proc. EMMSAD'99: 4th IFIP WG8.1 Int. Workshop on Evaluation of Modeling Methods in Systems Analysis and Design</source>
          , Heidelberg, Germany (June),
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.A.</given-names>
          </string-name>
          «
          <article-title>Integrating fact-oriented modeling with object-oriented modeling»</article-title>
          , Information Modeling in the New Millenium, eds
          <string-name>
            <given-names>M.</given-names>
            <surname>Rossi</surname>
          </string-name>
          &amp;
          <string-name>
            <surname>K. Siau</surname>
          </string-name>
          , Idea Group Publishing Company, Hershey, USA,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.A.</given-names>
          </string-name>
          «
          <article-title>Augmenting UML with Fact-orientation»</article-title>
          , In workshop proceedings: UML:
          <article-title>a critical evaluation and suggested future</article-title>
          , HICCS-34 conference, Maui,
          <year>January 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Booch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Rumbaugh</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          «
          <source>The Unified Software Development Process»</source>
          ,
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          , Reading MA, USA,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Leung C. M. R.</surname>
          </string-name>
          ,
          <string-name>
            <surname>Nijssen</surname>
            <given-names>G. M. «</given-names>
          </string-name>
          <article-title>Relational database design using the NIAM conceptual schema»</article-title>
          ,
          <source>Information Systems</source>
          , Volume
          <volume>13</volume>
          ,
          <string-name>
            <surname>Number</surname>
            <given-names>2</given-names>
          </string-name>
          ,
          <fpage>219</fpage>
          -
          <lpage>227</lpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Mitilian G. Rampnoux R. «</surname>
          </string-name>
          <article-title>Informatique: Méthoded d'Analyse pour la Gestion et l'Informatique»</article-title>
          , Ellipses,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Muller</surname>
            <given-names>P. A.</given-names>
          </string-name>
          «
          <article-title>Modélisation objet avec UML », Edition 2</article-title>
          ,
          <string-name>
            <surname>Eyrolles</surname>
          </string-name>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Nijssen G. M. Halpin T</surname>
          </string-name>
          . A. «
          <article-title>Conceptual schema and relational database Design Procedure: a fact oriented approach»</article-title>
          , Prentice Hall,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Rumbaugh J. Jacobson</surname>
            <given-names>I. Booch G.</given-names>
          </string-name>
          «
          <article-title>The Unified Modeling Language Reference Manual»</article-title>
          ,
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          , Reading MA, USA,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Heflin</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Personal</surname>
            <given-names>ontology</given-names>
          </string-name>
          ,
          <source>Univ. of Maryland</source>
          ,
          <year>2001</year>
          . http://www.cs.umd.edu/projects/plus/DAML/onts/personal1.0
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>