Теги, используемые в диаграмме последовательности в файле emx (UML2) - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть файл emx, который содержит диаграммы последовательности и класса. Диаграммы являются результатом отслеживания выполнения приложения J2EE.

Чтобы помочь вам правильно ориентироваться, я пытаюсь преобразовать диаграмму последовательности в граф вызовов (методов). Я так старался найти документацию, которая объясняет все теги в диаграмме последовательности (посмотрите пример кода emx / xmi ниже), но я не смог.

Я пытаюсь понять различные теги и то, что они представляют на диаграмме последовательности. Например <packagedElement xsi:type="uml:Class">, <ownedOperation>, <packagedElement xsi:type="uml:ReceiveOperationEvent"> ...

Любая помощь приветствуется.

Пример файла emx:

    <?xml version="1.0" encoding="ASCII"?>
    <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/200`enter code here`1/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" name="maintrace_main">
      <packagedElement xsi:type="uml:Collaboration" name="Collaboration">
        <ownedBehavior xsi:type="uml:Interaction" name="Interaction">

          <lifeline represents="//Collaboration/@ownedAttribute.0" coveredBy="//Collaboration/Interaction/doGetstart3 //Collaboration/Interaction/doGetend4 //Collaboration/Interaction/doGet5 //Collaboration/Interaction/printlnstart8 //Collaboration/Interaction/printlnreturnEnd14 
            <fragment xsi:type="uml:MessageOccurrenceSpecification" name="doStartTagend568" covered="//Collaboration/Interaction/@lifeline.8" event="//doStartTag565" message="//Collaboration/Interaction/doStartTag.6"/>
          ....
        </ownedBehavior>
        <ownedAttribute type="//test.MainClass"/>
        <ownedAttribute type="//test.Etudiant"/>
      </packagedElement>
      <packagedElement xsi:type="uml:Class" name="test.MainClass" clientDependency="//@packagedElement.29">
        <ownedOperation name="main">
          <ownedParameter name="arg1" type="//java.lang.String%5B%5D"/>
        </ownedOperation>
      </packagedElement>
    <packagedElement xsi:type="uml:SendOperationEvent" name="println139" operation="//com.sun.j2ee.blueprints.util.tracer.Debug/println"/> 
  <packagedElement xsi:type="uml:ReceiveOperationEvent" name="println143" operation="//com.sun.j2ee.blueprints.util.tracer.Debug/println"/>
  <packagedElement xsi:type="uml:SendOperationEvent" name="println144" operation="//com.sun.j2ee.blueprints.util.tracer.Debug/println"/>
  <packagedElement xsi:type="uml:ReceiveOperationEvent" name="processRequest147"/>
  <packagedElement xsi:type="uml:SendOperationEvent" name="processRequest148"/>
  <packagedElement xsi:type="uml:ReceiveOperationEvent" name="doEnd151" operation="//com.sun.j2ee.blueprints.petstore.control.web.handlers.CartHandler/doEnd"/>
  <packagedElement xsi:type="uml:SendOperationEvent" name="doEnd152" operation="//com.sun.j2ee.blueprints.petstore.control.web.handlers.CartHandler/doEnd"/>
  <packagedElement xsi:type="uml:ReceiveOperationEvent" name="doEnd156" operation="//com.sun.j2ee.blueprints.petstore.control.web.handlers.CartHandler/doEnd"/>
  <packagedElement xsi:type="uml:SendOperationEvent" name="doEnd157" operation="//com.sun.j2ee.blueprints.petstore.control.web.handlers.CartHandler/doEnd"/>
  <packagedElement xsi:type="uml:ReceiveOperationEvent" name="processRequest160" operation="//com.sun.j2ee.blueprints.petstore.control.web.RequestProcessor/processRequest"/>
  <packagedElement xsi:type="uml:SendOperationEvent" name="processRequest161" operation="//com.sun.j2ee.blueprints.petstore.control.web.RequestProcessor/processRequest"/>
  <packagedElement xsi:type="uml:Class" name="com.sun.j2ee.blueprints.petstore.control.web.ScreenFlowManager" clientDependency="//@packagedElement.7007 //@packagedElement.7008 //@packagedElement.7009 //@packagedElement.7010 //@packagedElement.7011">
    <ownedOperation name="getNextScreen">
      <ownedParameter name="arg1" type="//javax.servlet.http.HttpServletRequest"/>
    </ownedOperation>
    <ownedOperation name="getURLMapping">
      <ownedParameter name="arg1" type="//java.lang.String"/>
      <ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.URLMapping" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getTemplate">
      <ownedParameter name="arg1" type="//java.util.Locale"/>
      <ownedParameter type="//java.lang.String" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getScreens">
      <ownedParameter name="arg1" type="//java.util.Locale"/>
      <ownedParameter type="//java.util.HashMap" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getParameter">
      <ownedParameter name="arg1" type="//java.lang.String"/>
      <ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
      <ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getScreens">
      <ownedParameter name="arg1" type="//java.util.Locale"/>
      <ownedParameter type="//java.util.HashMap" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getParameter">
      <ownedParameter name="arg1" type="//java.lang.String"/>
      <ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
      <ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getScreens">
      <ownedParameter name="arg1" type="//java.util.Locale"/>
      <ownedParameter type="//java.util.HashMap" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getParameter">
      <ownedParameter name="arg1" type="//java.lang.String"/>
      <ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
      <ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getScreens">
      <ownedParameter name="arg1" type="//java.util.Locale"/>
      <ownedParameter type="//java.util.HashMap" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getParameter">
      <ownedParameter name="arg1" type="//java.lang.String"/>
      <ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
      <ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getScreens">
      <ownedParameter name="arg1" type="//java.util.Locale"/>
      <ownedParameter type="//java.util.HashMap" direction="return"/>
    </ownedOperation>
    <ownedOperation name="getParameter">
      <ownedParameter name="arg1" type="//java.lang.String"/>
      <ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
      <ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
    </ownedOperation>
    </uml:Model>

1 Ответ

0 голосов
/ 10 апреля 2019

У меня есть файл emx, который содержит диаграммы последовательности и классов.

нет, отображаемый файл содержит не определения диаграмм, а классы и определения совместной работы.Диаграмма - это рисунок , представляющий часть модели, и обмен диаграммами UML сильно отличается.

Для получения более подробной информации обратитесь к документации UML ., но легко догадаться

  • a <packagedElement xsi:type="uml:Class" ...> ... </packagedElement> определяет класс
  • a <ownedOperation name="getURLMapping"> ... </ownedOperation> определяет операцию getURLMapping (здесь класса ScreenFlowManager )
  • <ownedParameter name="arg1" type="//java.lang.String"/> указывает на первый параметр операции getURLMapping с именем arg1 и является строкой Java
  • и т. д.

Определение Collaboration более сложное, и вы его много урезали, но его можно увидеть спасательный круг и некоторые обменявшиеся сообщения.

...