<!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>РОЗШИРЕННЯ UML СПЕЦИФІКАЦІЇ ДЛЯ МОДЕЛЮВАННЯ СЕМАНТИЧНИХ ОБ'ЄКТІВ</article-title>
      </title-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>211</fpage>
      <lpage>220</lpage>
      <abstract>
        <p>В статті запропоновано відображення діаграми класів UML до дескриптивної логіки діалекту SHOIQ. Запропоновано розширення нотацій UML, шляхом використання стереотипів, для максимального наближення семантичних конструкцій. Вказано на причини та проблеми що виникають при такому відображенні. Ключові слова: UML, Дескриптивна логіка, semantic web, валідація діаграм класів UML. В статье предложено отображения диаграммы классов UML в дескриптивную логику диалекта SHOIQ. Предложено расширение нотаций UML путем использования стереотипов, для максимального приближения семантических конструкций. Указано на причины и проблемы, которые возникают при таком отражении. Ключевые слова: UML, дескриптивная логика, semantic web, валидация диаграмм классов UML. In the article, propose mapping from UML class diagrams to SHOIQ. descriptive logic. Made approach through extension the UML notations by using stereotypes as close to semantic structures. Specified on the causes and problems that arise in such mapping.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Огляд досліджень з проблематики верифікації UML
характерні помилки. Ще одним підходом до верифікації діаграми класів є метод шаблонів, який
запропонований в
        <xref ref-type="bibr" rid="ref14">(Sturm, Balaban and Maraee, 2010)</xref>
        . Поняття шаблону, в даному підході, відрізняється
від добре відомого і зрозумілого поняття шаблону проектування. У роботі було запропоновано декілька
шаблонів помилок для виявлення протиріч в моделі. В роботі
        <xref ref-type="bibr" rid="ref16">(Thalheim, 1993)</xref>
        розглянуто підхід на
основі побудови ідентифікаційного графа. Суть даного методу полягає в побудові ідентифікаційного графа,
що представляє собою орієнтований граф. Вузлами даного графа є класи, а також асоціативні зв’язки між
ними, а дуги пов’язують асоціації з тими класами, між якими на діаграмі класів і вказані відповідні
асоціативні зв’язки.
Представлення інформації про домен засобами OWL та UML
      </p>
      <p>
        Мови OWL та UML були розроблені для різних цілей. OWL призначена для подання знань про
інформаційну складову предметної області, UML розроблено перш за все для підтримки розробки
програмного забезпечення. Хоча мови різні, але основна їх ціль є формальне представлення знань. В ранніх
роботах (Cali et al., 202),
        <xref ref-type="bibr" rid="ref6">(Cranefield and Purvis, 1999)</xref>
        ,
        <xref ref-type="bibr" rid="ref4">(Brockmans et al., 2004)</xref>
        було висвітлено, яким чином
можливо визначати онтологію засобами UML. В UML є кілька вбудованих засобів для формалізації
семантики. Наприклад, Object Constraint Language (OCL) є декларативною мовою описання правил, що
використовуються в UML, яка, на відміну від UML, має лінійну нотацію, а не графічну. На жаль так само, як
і в UML в OCL, відсутня формальна модель семантики, теоретична модель та формальний доказ теорем. І
тому, в UML не може бути механізмів для автоматизації міркувань.
      </p>
      <p>
        Водночас, консорціум Object Management Group розробив метамодель визначення онтології (Ontology
Definition Metamodel – ODM), що визначає набір мета-моделей UML
        <xref ref-type="bibr" rid="ref11">(Object Management Group, 2009)</xref>
        і
профілів для представлення UML в RDF, і OWL. У UML профілі в специфікації ODM адаптують нотації UML,
щоб надати форму візуального представлення для RDF і OWL.
      </p>
      <p>
        В роботах
        <xref ref-type="bibr" rid="ref13">(Simmonds, 2003)</xref>
        ,
        <xref ref-type="bibr" rid="ref15 ref2 ref7">(Daniela, Diego and Giuseppe, 2005)</xref>
        були здійснені спроби щодо
трансформування діаграми класів UML до дескриптивної логіки, проте в цих роботах не знайшла місце повнота
відображення.
      </p>
      <p>Представлення знань та інформації про розробку програмного забезпечення, як правило, мають різні
цілі при записі інформації. Робляться відповідні, але різні припущення щодо інтерпретації мовних висловів,
чи заяв. Безліч припущень впливають на семантичну відповідність між мовними конструкторами і їх
нотаціями. Якщо в OWL такі невідповідності можуть бути усунені, а вирази більш однозначні, то в UML
вони більш різноманітні. UML дозволяє різні інтерпретації конструкцій мови в залежності від точки зору.
Є певні суттєві відмінності між UML та OWL:</p>
      <p>• в діаграмі класів UML ми працюємо з припущенням про закритість світу. Тобто всі твердження, що
не були явно вказані, є хибними. Натомість OWL використовує припущення відритого світу. Припущення ж
про відкритість світу, в цьому випадку, припускає, що деяке твердження є ні істинним, ні хибним;
• UML має поняття профілів, що дозволяють розширювати мета-моделі елементів UML. Водночас
OWL немає відповідної конструкції. У більшості випадків профілі UML використовуються для визначення
стереотипів, щоб розширити класи. Представлення цих стереотипів може бути відображено до OWL через
створення ряду нових класів та узагальнення тверджень. Однак більша частина профілю UML доволі
специфічна і вимагає відповідні правила перетворення, адаптовані для певного профілю;
• абстрактні класи UML не можуть бути перетворені в OWL. Якщо клас визначається як
абстрактний в UML, то це означає що екземпляри цього класу (об’єкти) не можуть бути створені. В OWL не
закладено функцію, що вказувала б на те, що клас не повинен містити екземплярів. Одним із підходів до
збереження семантики абстрактного класу є використання DisjointUnion. Це буде гарантувати, що будь-який
екземпляр, який належить до підкласу, також відноситься до абстрактного суперкласу. Тим не менш, це не
забороняє створювати екземпляри абстрактного суперкласу;</p>
      <p>• в UML видимість елементів моделі може бути зменшена шляхом маркування їх як public, private,
і т. д. Також можна оголосити елементи UML моделі, які доступні тільки для читання. В OWL відсутній
механізм управління, щоб обмежити доступ до елементів моделі. OWL онтології також не можуть містити
будь-яких операцій;</p>
      <p>• в OWL можливо визначати властивості об’єкту на рівні онтології. І такі властивості не
обов’язково повинні бути прив’язані до класу. Водночас, UML пропонує два способи прив’язки атрибутів.
Через атрибут класу та через асоціації. Як випливає з назви, в першому випадку, атрибут класу відноситься
до класу. Асоціації визначені на рівні пакету діаграми класів. Тим неменше, такі асоціації повинні мати на
полюсах класи як типи. Тому UML асоціації не повністю підходять для представлення загальних
властивостей об’єкту.</p>
      <p>При моделюванні тверджень про об’єкти реального світу обидві мови використовують відповідні
конструктори (наприклад, класи і об’єктів). OWL та UML виділяють відмінність між термінологічними
(інтенсіональними) і екстенсіональними (твердженнями) знаннями.
Судження про UML діаграму класів використовуючи SHOIQ</p>
      <p>
        В наслідок концептуальних розбіжностей між UML та OWL, не можливо побудувати однозначне
відображення. В деяких роботах
        <xref ref-type="bibr" rid="ref15 ref2">(Berardia, Calvanese and De Giacomo, 2005)</xref>
        є спроби розширити OWL до
відповідного діалекту, що відповідав би UML. Ми в своєму підході намагаємося розшити UML через додаткові
нотації та стереотипи, щоб збільшити повноту відображення. І це дозволить проектувати формальні
специфікації у вигляді діаграми класів через онтології OWL. Ми робимо відображення основних конструкцій
UML до дескриптивної логіки та відповідних конструкцій OWL. В UML клас A представляється за допомогою
атомного концепту A (табл. 1).
      </p>
      <p>Таблиця 1</p>
      <p>UML</p>
      <p>Дескриптивна логіка
A
D ⊑C
D≡C
D ⊑¬C
C ⊓D
UML</p>
      <p>Дескриптивна логіка
D ⊑C ⊔E</p>
      <p>Надалі, для розвинення відображення, ми будемо використовувати механізми розширення. Механізми
розширення – це вбудовані в мову способи розширити можливості мови. В UML включено багато методів так,
щоб мова виявилася придатною в різних контекстах і предметних областях. Механізми розширення дозволяють
визначати нові елементи моделі на основі існуючих.</p>
      <p>Рис. 1. Ієрархія класів
Кожна генералізація в специфікації UML 2 має дві основні властивості: це покриття, що може бути
повним (complete) або неповним (incomplete); та властивість перетину, яка може бути з перетином
(overlapping) або без перетину (disjoint).</p>
      <p>Повнота означає, що кожен екземпляр, більш загального класу, повинен належати принаймні до одного
із специфікованих класів.</p>
      <p>Перетин визначає, чи можуть специфіковані класи мати спільні екземпляри, тобто у випадку наявності
хоча б одного спільного екземпляру говорять про генералізацію з перетином.</p>
      <p>В UML 2.x кожна генералізація є неповною. Відмінність між UML 2.x та UML 2.5 полягає у відсутності
та наявності перетину відповідно. Тому, якщо ми хочемо досягнути відсутності перетину, то обмеження класів
C1 …. Cn, що не перетинаються, може бути змодельоване як Ci⊑¬ Cj, де 1≤i&lt;j≤n. Водночас як повнота
узагальнення може бути виражена як C ⊑ C1 ⊔…. ⊔ Cn (табл. 2).</p>
      <p>Дескриптивна логіка
Абстрактний синтаксис OWL
Таблиця 2</p>
      <p>D</p>
      <p>UML
E</p>
      <p>C
C
R: C
∀R .C
C ⊑∀R .C
owl:unionOf
owl:complementOf(C)
owl:allValuesFrom
C subClassOf Restriction on
allValuesFrom
Мультиплікативне відношення [i..j] для owl:restriction(R maxCardinality(n))
ролі R класу формалізуються наступним owl:restriction(R minCardinality(n))
чином C⊑(≥iR.D)⊓(≤jR.D) Коли j рівно
*, то ми відкидаємо другий конюкт.
Коли мультиплікативне відношення має
вигляд [0...*], тоді опускають ціле
твердження.
Коли мультиплікативне відношення має
вигляд [1...1], то твердження матиме
наступний вигляд C⊑∃R.⏉⊓(≤1R).
{existential restriction }</p>
      <p>R: C
∃R .C
owl:restriction(R
someValuesFrom(C))</p>
      <p>R [1..n]</p>
      <p>A
Направлена асоціація</p>
      <p>R
0..n</p>
      <p>B
UML
Дескриптивна логіка
Розглянемо більш детально деякі конструкції. Для досягнення більшої повноти відображення ми
вводимо додаткові нотації в UML (табл. 3).</p>
      <p>Таблиця 3
Нотація
R: D
R: D
Назва нотації
Заперечення існування класу
Доповнення
Опис нотації
Нотація означає, що даний
клас в предметній області, яка
моделюється, існувати не
може.
Нотація позначає існування
властивості певного типу.</p>
      <p>A
Залежність.
Доповнення класу
Означає, що клас А
властивість R типу D.</p>
      <p>має
Асоціації з асоціативним класом</p>
      <p>Подібно до того, як об’єкти класу можуть бути записані за допомогою атрибутів, асоціативне
відношення також може мати атрибути. UML дозволяє представляти інформацію такого характеру за
допомогою класів асоціацій. Клас асоціації – це асоціація, яка одночасно є класом. Подібно зв’язкам
асоціації, екземпляри класу асоціації мають індивідуальність, пов’язаної з тими об’єктами, між якими вони
проводяться. Подібно звичайним класам, класи асоціацій можуть мати атрибути та операції, і брати участь в
асоціаціях.</p>
      <p>Для представлення мультиплікативного відношення A з асоціативним класом (рис. 2.), необхідно
використати якісне обмеження кардинальності ролі (qualified number restrictions).</p>
      <p>C1
+r1
min1..max1
+r2</p>
      <p>C2
min2..max2</p>
      <p>A
Рис. 2. Асоціації з асоціативним класом
Кожен екземпляр класу C1 асоційований з екземплярами класу C2 , через асоціативний клас A . При
цьому клас A може мати певні атрибути.</p>
      <p>Відношення через асоціативний клас може мати n-арність на полюсах. В такому випадку, ми отримуємо
відношення:
,
class Domain Model</p>
      <p>A</p>
      <p>R
Асоціації в UML
Кожні бінарні асоціації (чи агрегації) між класами C1 і C2 мають вигляд (рис. 5).</p>
      <p>Рис. 5. Бінарна асоціація
Такі асоціації можуть бути трансформовані до твердження дескриптивної логіки через використання
атомарної ролі A разом з твердженням включення:
Мультиплікативність асоціативного відношення A формалізується наступними твердженнями:
Кожний екземпляр концепту C1 зв’язаний через атомну роль A з, принаймні, min1 і не більше max1
екземплярами концепту C2:</p>
      <p>C1⊑(≥min1A)⊓(≤max1A).</p>
      <p>Кожний екземпляр концепту C2 зв’язаний через атомну роль
екземплярами концепту C1.
з, принаймні, min2 і не більше max2
.</p>
      <p>Слід відмітити, що агрегація в UML – це особливий вид бінарної асоціації без асоціативного класу.</p>
      <p>
        В роботі розглянуто проблематику верифікації діаграм класів UML за допомогою відображення до OWL.
В даному підході також передбачена можливість зворотного відображення. Ця методика надає можливість
верифікувати діаграму класів UML через механізми судження, що суттєво розвинуті в дескриптивній логіці.
Представлене відображення не є однозначним, в наслідок того, що UML була з самого початку націлена на
визначення формальних специфікації для розробки ПЗ з властивістю гнучкості та простотою нотацій. Так
гнучкість та неоднозначність призвела до наслідків важкості автоматизованого аналізу діаграми класів UML.
Зокрема, асоціація в UML описує набір кортежів, чиї значення відносяться до типу екземплярів. Іншими
словами, асоціація специфікує семантичні відношення, які можуть виникнути між екземплярами певних типів.
За замовчуванням, асоціація є ненаправленою, проте при нотаціях може бути використаний
        <xref ref-type="bibr" rid="ref12">(OMG, 2010)</xref>
        символ %, який просто визначає напрямок читання і допомагає інтерпретувати асоціацію. І окремо виділяються
направлені асоціації, в яких чітко вказується напрямок відношень між класами. Такі слабкі формальні
відмінності не дозволяють побудувати однозначне та повне відображення.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Alotaibi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2010</year>
          ) '
          <article-title>The 4th Saudi International Conference', Semantic Web Technologies for Digital Libraries: From Libraries to Social Semantic Digital Libraries (SSDL), Over Semantic Digital Libraries (SDL)</article-title>
          ., Manchester.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Berardia</surname>
          </string-name>
          , ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2005</year>
          )
          <article-title>'Reasoning on UML class diagrams'</article-title>
          ,
          <source>Artificial Intelligence</source>
          , Vol.
          <volume>168</volume>
          , N 1-2, P.
          <fpage>70</fpage>
          -
          <lpage>118</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>2009</year>
          )
          <article-title>Linked Data</article-title>
          , [Online], Available: HYPERLINK "http://www.w3.org/DesignIssues/LinkedData.html" http://www.w3.org/DesignIssues/LinkedData.html
          <source>[Jul</source>
          <year>2015</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Brockmans</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eberhart</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and Löffler, (
          <year>2004</year>
          ) '
          <article-title>Visual modeling of owl dl ontologies using uml'</article-title>
          ,
          <source>in The Semantic Web - ISWC 2004</source>
          , Springer.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cali</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <volume>202</volume>
          )
          <article-title>'A Formal Framework for Reasoning on UML Class Diagrams'</article-title>
          ,
          <source>in Foundations of Intelligent Systems</source>
          , Springer Berlin / Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cranefield</surname>
          </string-name>
          , and Purvis, (
          <year>1999</year>
          ) '
          <article-title>Uml as an ontology modelling language'</article-title>
          ,
          <source>in In Proceedings of the Workshop on Intelligent Information Integration, 16th International Joint Conference on Artificial Intelligence (IJCAI-99.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Daniela</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , Diego,
          <string-name>
            <given-names>C.</given-names>
            and
            <surname>Giuseppe</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          (
          <year>2005</year>
          )
          <article-title>'Reasoning on UML class diagrams'</article-title>
          ,
          <source>Artificial Intelligence</source>
          , Vol.
          <volume>168</volume>
          , N 1-2.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Dereferencing</surname>
            <given-names>HTTP</given-names>
          </string-name>
          URIs (
          <year>2007</year>
          ), Oct, [Online], Available: HYPERLINK "http://www.w3.org/2001/tag/doc/httpRange-14/
          <fpage>2007</fpage>
          -05- 31/HttpRange-14" http://www.w3.org/2001/tag/doc/httpRange-14/
          <fpage>2007</fpage>
          -05-31/HttpRange-14 .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Fielding</surname>
            ,
            <given-names>R.T.</given-names>
          </string-name>
          (
          <year>2005</year>
          ) [httpRange-14] Resolved, Jan, [Online], Available: HYPERLINK "http://lists.w3.org/Archives/Public/wwwtag/2005Jun/0039.html" http://lists.w3.org/Archives/Public/www-tag/2005Jun/0039.html .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Linked Data</surname>
          </string-name>
          (
          <year>2015</year>
          ), Jul, [Online], Available: HYPERLINK "http://www.w3.org/standards/semanticweb/data" http://www.w3.org/standards/semanticweb/data .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Object Management Group (
          <year>2009</year>
          )
          <article-title>Documents associated with Ontology Definition Metamodel (ODM) Version 1</article-title>
          .0, May, [Online], Available: HYPERLINK "http://www.omg.org/spec/ODM/1.0/" http://www.omg.org/spec/ODM/1.0/ [Jul 2015].
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>OMG</surname>
          </string-name>
          (
          <year>2010</year>
          )
          <article-title>'OMG Unified Modeling LanguageTM (OMG UML)</article-title>
          , Superstructure' Object Management Group, Available: http://www.omg.org/spec/UML/2.3/Superstructure.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Simmonds</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>2003</year>
          )
          <article-title>Consistency Maintenance of UML Models with Description Logics</article-title>
          , Brussel.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balaban</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Maraee</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2010</year>
          )
          <article-title>'Management of Correctness Problems in UML Class Diagrams Towards a Pattern-Based Approach'</article-title>
          ,
          <source>International Journal of Information System Modeling and Design</source>
          , Vol.
          <volume>1</volume>
          ,
          <string-name>
            <surname>N 4</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          24-
          <fpage>47</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Sure</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Studer</surname>
          </string-name>
          , (
          <year>2005</year>
          )
          <article-title>'Semantic Web technologies for digital libraries'</article-title>
          ,
          <source>Library Management</source>
          , Vol.
          <volume>4</volume>
          /5,
          <string-name>
            <surname>N 26</surname>
          </string-name>
          , P.
          <fpage>190</fpage>
          -
          <lpage>195</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Thalheim</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          (
          <year>1993</year>
          )
          <article-title>'Foundations of entity-relationship modeling'</article-title>
          ,
          <source>Annals of Mathematics and Artificial Intelligence</source>
          , Vol.
          <volume>7</volume>
          , N 1-
          <issue>4</issue>
          , Available:
          <volume>10</volume>
          .1007/BF01556354.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Volovich</surname>
            <given-names>М</given-names>
          </string-name>
          .Е. and
          <string-name>
            <surname>Deryugina</surname>
            <given-names>O.A.</given-names>
          </string-name>
          (
          <year>2015</year>
          )
          <article-title>'Verification of UML software systems '</article-title>
          ,
          <source>Cloud of Science</source>
          , Vol.
          <volume>2</volume>
          ,
          <string-name>
            <surname>N 1</surname>
          </string-name>
          , Available:
          <fpage>2409</fpage>
          -
          <lpage>031Х</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Makgregor</surname>
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sayks</surname>
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2002</year>
          )
          <string-name>
            <given-names>Testing</given-names>
            <surname>Object-Oriented</surname>
          </string-name>
          <string-name>
            <surname>Software</surname>
          </string-name>
          ,
          <source>ТID "DS".</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>http://orcid.org/0000-0002-9955-7882.</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>